当前位置: 首页 > news >正文

Altshuller矛盾矩阵查询:基于python和streamlit

基于python和streamlit实现的Altshuller矛盾矩阵查询

import streamlit as st
import json# 加载数据
@st.cache_resource
def load_data():with open('parameter.json', encoding='utf-8') as f:parameters = json.load(f)with open('way.json', encoding='utf-8') as f:contradictions = json.load(f)with open('function.json', encoding='utf-8') as f:functions = json.load(f)return parameters, contradictions, functions# 自定义CSS样式
def inject_css():st.markdown("""<style>.card {background: #fff;border-radius: 10px;box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .2);padding: 12px;margin: 10px 0;}.title {font-size: 16px;color: #000000;border-bottom: 1px solid #e8eaec;padding-bottom: 8px;margin-bottom: 8px;}.content {font-size: 14px;color: #515a6e;}</style>""", unsafe_allow_html=True)def main():st.set_page_config(page_title="矛盾矩阵查询", layout="wide")inject_css()st.title("Altshuller矛盾矩阵查询")# 加载数据parameters, contradictions, functions = load_data()# 创建下拉选择框col1, col2 = st.columns(2)with col1:better_options = {p["key"]: f'{p["key"]}.{p["parameter"]}' for p in parameters}better_param = st.selectbox("改善参数",options=[""] + list(better_options.keys()),format_func=lambda x: "选择改善参数" if x == "" else better_options.get(x, x))with col2:worsen_options = {p["key"]: f'{p["key"]}.{p["parameter"]}' for p in parameters}worsen_param = st.selectbox("恶化参数",options=[""] + list(worsen_options.keys()),format_func=lambda x: "选择恶化参数" if x == "" else worsen_options.get(x, x))# 查询按钮if st.button("查询"):if not better_param or not worsen_param:st.warning("请选择改善参数和恶化参数")return# 查找矛盾contradiction = next((c for c in contradictions if c["worsen"] == worsen_param and c["better"] == better_param),None)if not contradiction:st.error("没有找到对应的矛盾信息")returnway = contradiction["way"]# 处理不同情况if way == "+":st.warning("产生的矛盾是物理矛盾")elif way == "-":st.info("没有找到合适的发明原理来解决问题,当然只是表示研究的局限,并不代表不能够应用发明原理。")elif way == "":st.info("没有找到发明原理。")else:# 显示发明原理function_keys = way.split(",")results = []for key in function_keys:func = next((f for f in functions if f["key"] == key), None)if func:html = f"""<div class="card"><div class="title">{func['key']}.{func['way']}原理</div><div class="content"><p>内容:{func['describe']}</p><p>例子:{func['examples']}</p></div></div>"""results.append(html)if results:st.markdown("".join(results), unsafe_allow_html=True)else:st.info("未找到对应的发明原理详细信息")if __name__ == "__main__":main()
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="Expires" content="0"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Cache-control" content="no-cache,must-revalidate"><meta http-equiv="Cache" content="no-cache"><title>矛盾矩阵查询</title>
</head>
<style>.card {background: #fff;border-radius: 10px;box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .2);padding-bottom: 12px;margin-top: 16px;}#searchForm {padding-top: 16px;background: #fff;border-radius: 10px;box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .2);padding-bottom: 12px;margin-top: 16px;padding-left: 16px;padding-right: 16px;}.header {text-align: center;font-size: 20px;}select {display: inline-block;right: 0;margin-top: 2px;width: 100%;height: 30px;border-radius: 5px;}button {border: none;outline: none;display: inline-block;margin-top: 16px;width: 100%;border-radius: 5px;box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .2);height: 30px;background: #1890ff;color: #fff;}.card>p {padding-left: 16px;padding-right: 16px;color: #515a6e;font-size: 12px;}.title {border-bottom: 1px solid #e8eaec;padding: 14px 16px;line-height: 1;color: #000000;font-size: 15px;}.result {width: 95vw;margin: 2vw auto;}.result>div {margin-top: 2vw;}body {height: 100%;margin: 2vw;padding: 0;background-color: #f0f2f5;font-size: 15px;}
</style><body><div class="header">Altshuller矛盾矩阵查询</div><form id="searchForm"><label for="betterParam">改善参数:</label><select id="betterParam"><option value="">选择改善参数</option></select><br><label for="worsenParam">恶化参数:</label><select id="worsenParam"><option value="">选择恶化参数</option></select><br><button type="submit">查询</button></form><div id="result"></div><script>// 获取参数数据fetch('parameter.json').then(response => response.json()).then(parameters => {// 动态生成恶化参数选项const worsenParamSelect = document.getElementById('worsenParam');parameters.forEach(param => {const option = document.createElement('option');option.value = param.key;option.textContent = param.key + "." + param.parameter;worsenParamSelect.appendChild(option);});});// 获取发明原理数据fetch('parameter.json').then(response => response.json()).then(parameters => {// 动态生成改善参数选项const betterParamSelect = document.getElementById('betterParam');parameters.forEach(param => {const option = document.createElement('option');option.value = param.key;option.textContent = param.key + "." + param.parameter;betterParamSelect.appendChild(option);});});// 处理查询请求document.getElementById('searchForm').addEventListener('submit', function (e) {e.preventDefault(); // 阻止表单提交const worsenParamKey = document.getElementById('worsenParam').value;const betterParamKey = document.getElementById('betterParam').value;// 发起查询请求或执行其他操作console.log(worsenParamKey);console.log(betterParamKey);// 示例查询handleSearchRequest(worsenParamKey, betterParamKey);});// 查询请求处理函数function handleSearchRequest(worsenParamKey, betterParamKey) {return fetch('way.json').then(response => response.json()).then(contradictions => {return fetch('function.json').then(response => response.json()).then(functions => {const contradiction = contradictions.find(c => c.worsen === worsenParamKey && c.better === betterParamKey);if (contradiction) {console.log(contradiction.way)if (contradiction.way == "+") {alert("产生的矛盾是物理矛盾");return;}if (contradiction.way == "-") {alert("没有找到合适的发明原理来解决问题,当然只是表示研究的局限,并不代表不能够应用发明原理。");return;}if (contradiction.way == "") {alert("没有找到发明原理。");return;}const functionKeys = contradiction.way.split(",");let result = "";functionKeys.forEach(functionKey => {const func = functions.find(f => f.key === functionKey);if (func) {result += `<div class="card"><div class="title">${func.key + '.' + func.way + '原理'}</div><p>内容:${func.describe}</p><p>例子:${func.examples}</p></div>`;}});document.getElementById('result').innerHTML = result;return;} else {alert("未选择");return;}});});}</script></body></html>

相关文章:

Altshuller矛盾矩阵查询:基于python和streamlit

基于python和streamlit实现的Altshuller矛盾矩阵查询 import streamlit as st import json# 加载数据 st.cache_resource def load_data():with open(parameter.json, encodingutf-8) as f:parameters json.load(f)with open(way.json, encodingutf-8) as f:contradictions …...

FreeRTOS的空闲任务

在 FreeRTOS 中&#xff0c;空闲任务&#xff08;Idle Task&#xff09; 是操作系统自动创建的一个特殊任务&#xff0c;其作用和管理方式如下&#xff1a; 1. 空闲任务创建 FreeRTOS 内核自动创建&#xff1a;当调用 vTaskStartScheduler() 启动调度器时&#xff0c;内核会自…...

【代码模板】如何用FILE操作符打开文件?fopen、fclose

#include "stdio.h" #include "unistd.h"int main(int argc, char *argv[]) {FILE *fp fopen("1.log", "wb");if (!fp) {perror("Failed open 1.log");return -1;}fclose(fp); }关于权限部分参考兄弟篇【代码模板】C语言中…...

[特殊字符] Pandas 常用操作对比:Python 运算符 vs Pandas 函数

在 Pandas 中&#xff0c;许多操作可以直接使用 Python 的比较运算符&#xff08;如 、!、>、< 等&#xff09;&#xff0c;而不需要调用 Pandas 的专门函数&#xff08;如 eq()、ne()、gt() 等&#xff09;。这些运算符在 Pandas 中已经被重载&#xff0c;代码更简洁。以…...

I.MX6ULL开发板与linux互传文件的方法--NFS,SCP,mount

1、内存卡或者U盘 方法比较简单&#xff0c;首先在linux系统中找到u盘对应的文件夹&#xff0c;随后使用cp指令将文件拷贝进u盘。 随后将u盘插入开发板中&#xff0c;找到u盘对应的设备文件。一般u盘对应的设备文件在/dev下&#xff0c;以sda开头&#xff0c;可以使用命令列出所…...

图解AUTOSAR_SWS_FlashEEPROMEmulation

AUTOSAR Flash EEPROM Emulation (FEE) 详解 基于AUTOSAR规范的Flash EEPROM Emulation模块分析 目录 1. 概述2. 架构设计 2.1 模块位置与接口2.2 内部状态管理2.3 配置结构3. API接口 3.1 接口功能分类3.2 错误管理4. 操作流程 4.1 写入操作序列5. 总结1. 概述 Flash EEPROM …...

Unity:Simple Follow Camera(简单相机跟随)

为什么需要Simple Follow Camera&#xff1f; 在游戏开发中&#xff0c;相机&#xff08;Camera&#xff09;是玩家的“眼睛”。它的作用是决定玩家看到游戏世界的哪一部分。很多游戏需要相机自动跟随玩家角色&#xff0c;让玩家始终可以看到角色及其周围的环境&#xff0c;而…...

[项目总结] 在线OJ刷题系统项目总结与分析(二): 技术应用(上)

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…...

针对Ansible执行脚本时报错“可执行文件格式错误”,以下是详细的解决步骤和示例

针对Ansible执行脚本时报错“可执行文件格式错误”&#xff0c;以下是详细的解决步骤和示例&#xff1a; 目录 一、错误原因分析二、解决方案1. 检查并添加可执行权限2. 修复Shebang行3. 转换文件格式&#xff08;Windows → Unix&#xff09;4. 检查脚本内容兼容性5. 显式指定…...

从 Dense LLM 到 MoE LLM:以 DeepSeek MoE 为例讲解 MoE 的基本原理

写在前面 大多数 LLM 均采用 Dense(密集) 架构。这意味着,在处理每一个输入 Token 时,模型所有的参数都会被激活和计算。想象一下,为了回答一个简单的问题,你需要阅读整部大英百科全书的每一个字——这显然效率低下。 为了突破 Dense 模型的瓶颈,一种名为 Mixture of …...

未来已来:探索AI驱动的HMI设计新方向

在科技浪潮的持续冲击下&#xff0c;人工智能&#xff08;AI&#xff09;正以势不可挡的姿态重塑各个领域的格局&#xff0c;其中人机交互&#xff08;HMI&#xff0c;Human - Machine Interaction&#xff09;设计领域深受其影响&#xff0c;正经历着深刻的变革。AI 技术的融入…...

5天速成ai agent智能体camel-ai之第1天:camel-ai安装和智能体交流消息讲解(附源码,零基础可学习运行)

嗨&#xff0c;朋友们&#xff01;&#x1f44b; 是不是感觉AI浪潮铺天盖地&#xff0c;身边的人都在谈论AI Agent、大模型&#xff0c;而你看着那些密密麻麻的代码&#xff0c;感觉像在读天书&#xff1f;&#x1f92f; 别焦虑&#xff01;你不是一个人。很多人都想抓住AI的风…...

Unity UGUI使用手册

概述 UGUI(Unity Graphical User Interface) :Unity 图像用户界面 在游戏开发中&#xff0c;我们经常需要搭建一些图形用户界面。Unity内置的UGUI可以帮助开发者可视化地拼接界面&#xff0c;提高开发效率。UGUI提供不同样式的UI组件&#xff0c;并且封装了对应功能的API&am…...

(二)输入输出处理——打造智能对话的灵魂

上一篇&#xff1a;&#xff08;一&#xff09;从零开始&#xff1a;用 LangChain 和 ZhipuAI 搭建简单对话 在上一篇文章中&#xff0c;我们成功搭建了一个基于 LangChain 和 ZhipuAI 的智能对话系统的基础环境。今天&#xff0c;我们将深入探讨输入输出处理的细节&#xff0…...

beego文件上传

1file.go 2html代码 3路由设置 beego.Router("/file/Upload", &controllers.FileUploadController{}, "post:Upload") 注意 1&#xff0c;得新建个upload文件夹 2&#xff0c;路由设置严格区分大小写。 biiego文件下载上传代码 github 觉得不错Star下...

代码随想录回溯算法01(递归)

回溯法也可以叫做回溯搜索法&#xff0c;它是一种搜索的方式。 回溯是递归的副产品&#xff0c;只要有递归就会有回溯。 所以以下讲解中&#xff0c;回溯函数也就是递归函数&#xff0c;指的都是一个函数。 组合问题&#xff1a;N个数里面按一定规则找出k个数的集合切割问题&am…...

分治-归并排序-逆序对问题

目录 1.升序&#xff08;以右边的合并组为基准&#xff09; 2.降序&#xff08;以左边的合并组为基准&#xff09; 3.逆对序--固定下标 1.升序&#xff08;以右边的合并组为基准&#xff09; 找出左边有多少个数比我(nums[right])大 应该在每一次合并之前&#xff0c;进行…...

mysql-getshell的几种方法

mysql_getshell的几种方法 mysql_getshell 一、mysql的–os-shell 利用原理 –os-shell就是使用udf提权获取WebShell。也是通过into oufile向服务器写入两个文件&#xff0c;一个可以直接执行系统命令&#xff0c;一个进行上传文件。此为sqlmap的一个命令&#xff0c;利用这…...

初阶数据结构--树

1. 树的概念与结构 树是⼀种⾮线性的数据结构&#xff0c;它是由 n&#xff08;n>0&#xff09; 个有限结点组成⼀个具有层次关系的集合。把它叫做 树是因为它看起来像⼀棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;⽽叶朝下的。 有⼀个特殊的结点&#xff0c;称…...

搭建redis主从同步实现读写分离(原理剖析)

搭建redis主从同步实现读写分离(原理剖析) 文章目录 搭建redis主从同步实现读写分离(原理剖析)前言一、搭建主从同步二、同步原理 前言 为什么要学习redis主从同步&#xff0c;实现读写分析。因为单机的redis虽然是基于内存&#xff0c;单机并发已经能支撑很高。但是随着业务量…...

Python3 学习笔记

Python3 简介 | 菜鸟教程 一 Python3 简介 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性&#xff0c;相比其他语言经常使用英文关键字&#xff0c;其他语言的一些标点符号&#xff0c;它具有比其他语言更有特色…...

kmpmanacher

KMP 理论 KMP算法的核心是构建一个部分匹配表&#xff0c;也称为前缀表。这个表记录了模式串中每个位置之前的最长公共前缀和后缀的长度。例如&#xff0c;对于模式串"ababaca"&#xff0c;其部分匹配表如下&#xff1a; 位置0123456字符ababaca最长公共前后缀长度…...

ts基础知识总结

TypeScript&#xff08;简称TS&#xff09;是JavaScript&#xff08;简称JS&#xff09;的一个超集&#xff0c;它在JS的基础上增加了静态类型检查、类、模块等特性。 TypeScript 与 JavaScript 的不同及好处 不同点 类型系统 JavaScript 是一种弱类型语言&#xff0c;这意味…...

操作系统内存管理

为什么要有虚拟内存 单片机的CPU直接操作内存的物理地址&#xff0c;这就导致在内存中同时运行两个程序是不可能的&#xff0c;有可能会出现第一个程序在2000的位置写入新的值将会擦掉第二个程序存放在相同位置上的内容。 出现这个问题的根本原因是两个程序引用了绝对物理地址。…...

M芯片,能运行普通应用程序的原架构虚拟机

在我们使用搭载了Apple芯片的Mac时,很多时候会用到windows虚拟机来使用windows应用程序 但是Apple芯片是ARM架构,如果运行原价构的虚拟机,很多64位的普通应用程序就无法运行,如果使用UTM来安装64位的跨架构虚拟机,就会非常卡慢 但实际上使用一种特殊的系统镜像,就可以使用ARM…...

多功能指示牌的主要功能有哪些?

哇哦&#xff01;咱们的多功能指示牌可有着超多超厉害的主要功能哦&#xff0c;简直就是生活中的超级小助手&#xff0c;涵盖了方方面面呢&#xff01; 指示导向功能 道路指引&#xff1a;不管是在繁华热闹的城市道路&#xff0c;还是车水马龙的高速公路&#xff0c;亦或是风…...

Superset 问题

和nginx结合使用&#xff0c;如果不是配置到根路径&#xff0c;会比较麻烦&#xff0c;我试了很多种方法&#xff0c;也就 这个 靠谱点&#xff0c;不过&#xff0c;我最后还是选择的部署在根路径&#xff0c;先探索一番再说默认不能选择mysql数据库&#xff0c;需要安装mysql客…...

安装gpu版本的dgl

1.先去网址&#xff0c;找到对应版本的dgl,然后下载到本地。 dgl-whl下载地址 我的是python 3.8 &#xff0c;cuda 11.6. windows 2.在虚拟环境里 输入 pip install E:\dgl-1.0.2cu116-cp38-cp38-win_amd64.whl &#xff08;因为我下载到E盘里了&#xff09; 这样GPU版本的d…...

vue watch和 watchEffect

在 Vue 3 中&#xff0c;watch 和 watchEffect 是两个用于响应式地监听数据变化并执行副作用的 API。它们在功能上有一些相似之处&#xff0c;但用途和行为有所不同。以下是对 watch 和 watchEffect 的详细对比和解释&#xff1a; 1. watch watch 是一个更通用的 API&#xf…...

JavaScript基础--03-变量的数据类型:基本数据类型和引用数据类型

JavaScript基础--03-变量的数据类型&#xff1a;基本数据类型和引用数据类型 前言变量的数据类型为什么需要数据类型JS中一共有六种数据类型 一个经典的例子栈内存和堆内存 前言 我们接着上一篇文章 JavaScript基础–02-变量 来讲。 下一篇文章 JavaScript基础–04-基本数据类…...

WindowsPE文件格式入门05.PE加载器LoadPE

https://bpsend.net/thread-316-1-1.html LoadPE - pe 加载器 壳的前身 如果想访问一个程序运行起来的内存,一种方法就是跨进程读写内存,但是跨进程读写内存需要来回调用api,不如直接访问地址来得方便,那么如果我们需要直接访问地址,该怎么做呢?.需要把dll注进程,注进去的代码…...

【Redis】通用命令

使用者通过redis-cli客户端和redis服务器交互&#xff0c;涉及到很多的redis命令&#xff0c;redis的命令非常多&#xff0c;我们需要多练习常用的命令&#xff0c;以及学会使用redis的文档。 一、get和set命令&#xff08;最核心的命令&#xff09; Redis中最核心的两个命令&…...

Android学习总结之service篇

引言 在 Android 开发里&#xff0c;Service 与 IntentService 是非常关键的组件&#xff0c;它们能够让应用在后台开展长时间运行的操作。不过&#xff0c;很多开发者仅仅停留在使用这两个组件的层面&#xff0c;对其内部的源码实现了解甚少。本文将深入剖析 Service 和 Inte…...

基于CATIA产品结构树智能排序的二次开发技术解析——深度定制BOM层级管理系统的Pycatia实践

引言 在航空制造与汽车装配领域&#xff0c;CATIA产品结构树&#xff08;Product Tree&#xff09;的规范性直接影响MBOM管理效率。传统手动排序存在两大痛点&#xff1a; ​多级编号混乱&#xff1a;混合零件号&#xff08;PartNumber&#xff09;与实例名&#xff08;Insta…...

机器人轨迹跟踪控制——CLF-CBF-QP

本次使用MATLAB复现CLF-CBF-QP算法,以实现机器人轨迹跟踪同时保证安全性能 模型 使用自行车模型来进行模拟机器人的移动动态,具体的模型推导参考车辆运动学模型-自行车模型 采用偏差变量 p ~ = p − p r e f u ~ = u − u r e f \tilde{p} = p - p_{ref} \\ \tilde{u} = …...

道路裂缝数据集CrackForest-156-labelme

来源于开源的数据集 https://github.com/cuilimeng/CrackForest-dataset 进行整理修改而成。 文章目录 1. 介绍2. 数据文件3. 应用场景4. 相关工具5. 下载地址 1. 介绍 在现代城市管理中&#xff0c;道路状况的监测与维护是确保交通安全和城市基础设施健康的重要环节。 CrackF…...

数据定义语言

一、DDL的核心功能 DDL用于定义和管理数据库对象的结构,包括数据库、表、索引、视图等,主要操作包括创建、修改、删除。其核心命令包括: CREATE:创建对象(数据库、表、索引等) ALTER:修改对象结构(如添加/删除列) DROP:删除对象 TRUNCATE:清空表数据(保留结构) RE…...

爬楼梯问题-动态规划

一、题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 1&#xff1a; 输入&#xff1a;n 2 输出&#xff1a;2 解释&#xff1a;有两种方法可以爬到楼顶。 方法1. 1 阶 1 阶 方法2. 2 阶…...

MySQL篇(四)事务相关知识详解

MySQL篇(四&#xff09;事务相关知识详解 MySQL篇(四&#xff09;事务相关知识详解一、事务的特性&#xff08;ACID&#xff09;原子性&#xff08;Atomicity&#xff09;一致性&#xff08;Consistency&#xff09;隔离性&#xff08;Isolation&#xff09;持久性&#xff08;…...

C++第14届蓝桥杯b组学习笔记

1. 日期统计 小蓝现在有一个长度为 100100 的数组&#xff0c;数组中的每个元素的值都在 00 到 99 的范围之内。数组中的元素从左至右如下所示&#xff1a; 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2 7 0 5 8 8 5 7 0 9 9 1 9 4 4…...

4.5蓝桥杯|高塔登顶方案(5025)

作者语录&#xff1a; 1、 从不会做到会做的过程&#xff0c;从不理解到不理解的过程&#xff0c;从一个不会做这道题的人的角度出发看这个问题&#xff0c;好命苦嗷嗷嗷&#xff01; 2、只有我受煎熬吗&#xff0c;偶买噶&#xff0c;&#xff0c;&#xff0c; 目录 研究步骤…...

[MySQL初阶]MySQL(9)事务机制

标题&#xff1a;[MySQL初阶]MySQL&#xff08;9&#xff09;事物机制 水墨不写bug 文章目录 一、认识事务1、多线程访问数据库出现的问题2、对CURD的限制是通过事务机制实现的3、事务的四个属性4、哪些引擎支持事务 二、事务的提交与autocommit设置三、事务的隔离性和隔离级别…...

3535 数组分割

3535 数组分割 ⭐️难度&#xff1a;困难 &#x1f31f;考点&#xff1a;2023、省赛、动态规划 &#x1f4d6; &#x1f4da; import java.util.*;public class Main {static int MOD 1000000007;static int N 1005;public static void main(String[] args) {Scanner sc …...

线程池的工作原理

固定线程池&#xff1a;线程池中的线程数是固定的&#xff0c;线程池创建时就已经设定了固定的线程数量。在任务提交时&#xff0c;线程池会将任务分配给空闲的线程执行。如果所有线程都在执行任务&#xff0c;新的任务会被放到任务队列中&#xff0c;直到有线程空闲出来。 线…...

论文导读 | SOSP23 | Gemini:大模型 内存CheckPoint 快速故障恢复

本期分享的是一篇SOSP 2023论文&#xff1a; Gemini: Fast Failure Recovery in Distributed Training with In-Memory Checkpoints Zhuang Wang (Rice University), Zhen Jia (Amazon Web Services, Inc.), Shuai Zheng (Amazon Web Services), Zhen Zhang (Amazon Web Servic…...

windows 常用命令总结

工作中用到的 Linux 总结&#xff08;持续更新中...&#xff09;_linux工作经验-CSDN博客 PS&#xff1a; 推荐使用 powershell 而不是 cmd&#xff0c;因为PowerShell 是一个更先进和功能更强大的工具&#xff08; powershell 有命令记忆功能&#xff0c;比较方便&#xff09…...

【Linux】进程间通信、匿名管道、进程池

一.什么是通信 进程间通信(Inter-Process Communication&#xff0c;IPC),是指在操作系统中&#xff0c;不同进程之间进行数据交换和同步的机制。由于每个进程通常拥有独立的内存空间&#xff0c;进程间无法直接访问对方的内存&#xff0c;因此需要通过特定的机制来实现通信和…...

【Block总结】PlainUSR的局部注意力,即插即用|ACCV2024

论文信息 标题: PlainUSR: Chasing Faster ConvNet for Efficient Super-Resolution作者: Yan Wang, Yusen Li, Gang Wang, Xiaoguang Liu发表时间: 2024年会议/期刊: 亚洲计算机视觉会议&#xff08;ACCV 2024&#xff09;研究背景: 超分辨率&#xff08;Super-Resolution, S…...

35信号和槽_信号槽小结

Qt 信号槽 1.信号槽是啥~~ 尤其是和 Linux 中的信号进行了对比&#xff08;三要素&#xff09; 1) 信号源 2) 信号的类型 3)信号的处理方式 2.信号槽 使用 connect 3.如何查阅文档. 一个控件&#xff0c;内置了哪些信号&#xff0c;信号都是何时触发 一…...

现代复古电影海报品牌徽标设计衬线英文字体安装包 Thick – Retro Vintage Cinematic Font

Thick 是一种大胆的复古字体&#xff0c;专为有影响力的标题和怀旧的视觉效果而设计。其厚实的字体、复古魅力和电影风格使其成为电影海报、产品标签、活动品牌和编辑设计的理想选择。无论您是在引导电影的黄金时代&#xff0c;还是在现代布局中注入复古活力&#xff0c;Thick …...