- 博客(1118)
- 资源 (4)
- 收藏
- 关注

原创 ❤️❤️固高运动控制卡的相关知识点
承接使用QT(C++)编程的各类固高运动控制项目,有意者可私聊。# GTS运动控制器-二维位置比较输出扩展功能指令 6 GT_2DCompareSetPrm指令原型 short GT_2DCompareSetPrm(short chn,T2DComparePrm *pPrm); 指令说明 设置二维位置比较输出参数。 指令类型 立即指令,调用后立即生效。 ...
2019-08-07 14:14:35
22540
18
原创 C++ poco库两种不同的包
We offer two different packages, the Basic Edition and the Complete Edition.The Basic Edition (poco-1.14.1.tar.gz or poco-1.14.1.zip) only contains the Foundation, JSON, XML, Util and Net libraries, but does not require any external dependencies.The Comple
2025-04-09 11:31:04
224
原创 在 Go 语言中生成单元测试报告
如果你正在使用CI/CD管道(如GitHub Actions, GitLab CI等),可以通过上述方法生成测试报告,并根据需要上传这些报告或将其作为构建步骤的一部分。请记住,良好的单元测试实践对于维护高质量的代码库至关重要。利用Go提供的工具,你可以有效地监控代码的质量和稳定性。这个命令会执行当前目录及其子目录下的所有测试,并输出结果到控制台。:首先,确保你的项目已经编写了测试文件(通常以。:为了得到更详细的覆盖率信息,可以使用。:如果你想了解测试的覆盖率,可以添加。文件即可查看详细的覆盖率报告。
2025-03-19 20:07:07
362
原创 react useCallback
是 React 提供的一个 Hook,用于缓存函数引用。它可以确保在组件的多次渲染中,只有当依赖项发生变化时,才会重新创建函数。这在一些特定场景下非常有用,比如在传递函数给子组件时,避免不必要的重新渲染。
2024-12-25 09:56:05
759
原创 mapStateToProps
它是一个函数,用于将 Redux store 中的状态映射到 React 组件的 props 上。通过这个函数,你可以选择组件需要订阅的 state 部分,并在 Redux store 更新时自动更新组件的 props。的函数(也可以是其他名称),该函数接收整个 Redux store 的 state 作为其第一个参数。:在这个函数内部,你选择组件所需的部分状态,并返回一个对象。这个对象的键将成为组件的 props。需要注意的是,随着 React 和 Redux 的发展,现在推荐使用。
2024-12-22 17:58:03
376
原创 CommonJS 和 ES modules
CommonJS 和 ES modules (ESM) 是两种不同的模块系统,它们用于组织 JavaScript 代码,并允许不同文件之间共享代码。
2024-10-17 13:31:21
1436
原创 echo “Hello, UDP!“ | nc -u -w1 192.168.1.100 1234 里面有换行符
,这可能会导致你的UDP数据包包含额外的字符。如果你想确保发送的数据不包含换行符,可以使用。这样就可以确保只发送了文本 “Hello, UDP!” 而没有其他字符。命令,因为它允许你更精确地控制输出的内容。命令时,默认情况下会包含一个换行符(下面是修改后的命令,使用。
2024-08-21 10:55:48
1070
1
原创 Ubuntu24.04 下破解StarUML 6.2.2版本
1. 安装 npm 工具 asar2. 打开安装目录,找到app.asarapp.asar文件是Electron加密打包时的中间产物,electron 调用resources文件夹下的app.asar, 从而实现不用解压缩而高效直接读取文件内容安装目录:/opt/StarUML/resources输入以下命令进入目录:/opt/StarUML/resources/app/src/engine修改license-manager.js。
2024-08-02 09:44:29
1488
2
原创 [C++] 匿名命名空间
匿名命名空间是C++中的一种特性,它允许你在不指定名称的情况下声明一个命名空间。这种命名空间主要用于局部作用域,例如在一个源文件的顶层,来限制符号的作用范围,从而避免全局命名空间中的命名冲突。匿名命名空间中的所有声明都自动成为该源文件的局部命名空间的一部分。这意味着,即使没有显式使用命名空间前缀,也无法从其他源文件访问匿名命名空间内的成员。因此,匿名命名空间非常适合用来隐藏那些仅限于当前源文件使用的函数、变量和类型。
2024-07-16 09:14:30
494
原创 Ubuntu pip install报错error: externally-managed-environment
【代码】Ubuntu pip install报错error: externally-managed-environment。
2024-07-15 21:16:00
300
原创 修复 Ubuntu 24.04 Dock 丢失应用程序图标
启动“运行 COMmand”对话框。当对话框打开时,输入。首先,您需要启动应用程序窗口。并按 Enter 键。
2024-07-09 20:32:49
1490
原创 [C++ POCO] Poco::ThreadPool
线程池有一个最大容量,如果容量耗尽,则在请求新线程时抛出异常:Poco::NoThreadAvailableException。POCO中线程池类是Poco::ThreadPool,头文件:#include “Poco/ThreadPool.h”;当线程池中的线程空闲一定时间时,会被自动收集;也可以通过调用collect()来强制收集。POCO提供了一个默认的ThreadPool实例,初始容量为16个线程。线程池容量可以动态增加:void addCapacity(int n)
2024-07-05 09:13:20
282
原创 CMake 3.19:预设
可以以 JSON 的方式添加预设,用户将获得预设的默认值。find_package 支持版本范围,特殊的查找模块,比如:FindPython,有对版本范围的自定义支持。新 OPTIMIZE_DEPENDENCIES 属性和 CMAKE_* 变量可智能地删除静态库和对象库的依赖项。大量新 file 选项,如临时下载和 ARCHIVE_CREATE 的 COMPRESSION_LEVEL。PCH 支持 PCH_INSTANTIATE_TEMPLATES 属性和 CMAKE_* 变量。
2024-06-28 09:02:29
429
原创 储能高压箱预充电阻以及预充电路
电源转换器的浪涌电流可能比稳态电流高很多倍。储能高压箱预充电阻的作用原理是为了限制储能箱在预充电阶段的充电电流,避免电流过大瞬间产生电弧或过电流,从而保护电池和电力系统的安全运行。当开启储能系统时,电池的电压开始上升,此时电阻器的高电阻特性会限制电流的流动,从而减缓电压的上升速度。在高压系统中,典型的框图可能由两个带有单独预充电接触器的大电流接触器和一个与负载并联的直流母线电容器(例如,牵引逆变器)组成。综上所述,储能高压箱预充电阻通过限制电流的流动,从而控制电压的上升速度,保护电池和电力系统的安全运行。
2024-06-26 17:43:35
1053
原创 WPS for Linux 无法使用fcitx中文输入法
分别对应wps word、excel、powerpoint,修改每个文件,加入如下代码并保存。只能输入英文,按下Shift尝试切换输入法没有反应。
2024-06-16 11:22:28
852
原创 ThinkBook 16 2024 Ubuntu 触控板问题解决
sudo insmod goodix-gt7868q.kosudo cp local-overrides.quirks /etc/libinput/local-overrides.quirkssudo systemctl restart gdm
2024-06-12 10:05:50
2614
8
原创 Poco 使用 use关键字时的注意事项
use关键字主要用于绑定变量到SQL语句中的占位符,它期望的是一个具体的变量或者可读取其值的对象。如果你尝试直接将一个计算表达式(比如加法、减法或其他更复杂的表达式)放在use后面,编译器将会报错,因为它期望的是一个左值引用,而不是一个临时的右值结果。在这个例子中,我们首先计算了someValue + anotherValue的结果,并将这个结果存储在了calculatedValue变量中。解决这个问题的一个常见方法是先计算表达式的值,然后将结果存储在一个变量中,再将该变量绑定到SQL语句中。
2024-06-11 17:14:49
460
原创 Found multiple lockfiles
当你遇到“发现多个锁定文件”的提示时,通常意味着你的项目中存在多于一个用来管理依赖关系的文件,而你正在使用的工具(比如npm、yarn、pip或其他包管理器)不确定应该使用哪一个。锁定文件,比如npm中的package-lock.json、Yarn中的yarn.lock,或是Python的pip中的requirements.lock,是用来确保在不同环境中安装的依赖版本与项目中指定的完全一致。移除不需要的锁定文件:删除package-lock.json文件(或者其他非Yarn的锁定文件)。
2024-05-07 19:11:45
907
原创 linux 下 /usr/local的作用
该目录用于存放用户自行编译安装的软件或者第三方应用程序,区别于操作系统发行版自带的默认软件。这样做有助于保持系统自带软件的完整性和可维护性,同时允许用户自由安装和管理自己的软件版本。的设计意在提供一个清晰、独立且易于管理的空间,用于存放那些并非操作系统默认提供的应用程序,从而促进系统维护和升级过程的平滑进行。是为非系统级(即非操作系统自带)软件保留的,以减少系统升级时的潜在冲突。目录扮演着特定的角色,它是为用户自安装的软件提供一个标准位置。下的内容,从而保护了用户安装的软件配置和数据。
2024-05-07 17:00:04
1667
原创 cmake --system-information | grep CMAKE_CXX_FLAGS
【代码】cmake --system-information | grep CMAKE_CXX_FLAGS。
2024-05-03 12:22:23
231
原创 在C++中,将结构体的所有成员初始化为0
进行初始化是推荐的做法,因为它既简洁又符合现代C++的最佳实践。对于需要深度初始化(如指针成员初始化为 nullptr 或复杂对象的初始化),则应考虑使用构造函数。如果没有显式定义构造函数,编译器会生成一个默认构造函数,该构造函数将所有成员值初始化。对于POD(Plain Old Data)类型,这意味着它们会被初始化为0。尽管这是C语言中的方法,但在C++中同样适用,尤其是处理包含内置类型的大结构体或数组时。直接在定义结构体变量时,使用初始化列表将所有成员初始化为0。
2024-04-30 15:59:28
2124
原创 [前端] Bearer令牌
Bearer令牌的安全性依赖于令牌的保密性和传输的安全性。因为任何拥有令牌的人都能访问资源,所以必须确保在传输过程中使用HTTPS来防止中间人攻击,并且存储时也要妥善保管,避免令牌泄露。此外,由于Bearer令牌的这一特点,相比其他类型如MAC(Message Authentication Code) tokens,它在安全性上要求更高的保护措施。服务器接收到请求后,会验证令牌的有效性(比如检查令牌是否过期、是否被撤销等),然后决定是否允许访问请求的资源。在HTTP请求中,Bearer令牌通常放在。
2024-04-28 09:04:13
683
原创 设备树中dtb和dtbo的区别
DTBO通常用于模块化硬件配置或者针对特定子系统的动态配置更改,比如在某些嵌入式系统中加载额外的硬件模块时,可以加载相应的DTBO来更新设备树配置。DTB (Device Tree Blob): 这是在启动阶段用来传递给Linux内核的硬件描述信息的二进制文件,包含了系统中的所有硬件设备信息。它是由Device Tree Source (DTS) 文件编译生成的。简而言之,DTB是完整的系统设备树,而DTBO则是对DTB的一种补充或覆盖,常用于实现更灵活的设备配置管理。
2024-04-23 17:31:00
1131
原创 [wine]用wine安装的软件,启动程序放在哪里了
在Linux系统中使用Wine安装Windows程序后,软件的实际文件通常会被存储在用户的家目录下的一个隐藏的。)和其他关联文件会被组织在一个模拟的Windows文件系统结构中,其中“C:\”驱动器对应的路径是。目录下生成相应的.desktop启动器文件,这样你可以在应用程序菜单中找到并启动这些程序。此外,为了方便用户在Linux桌面环境中启动Wine安装的程序,Wine通常会在。若要在命令行下启动已用Wine安装的程序,可以直接使用。具体来说,软件的可执行文件(例如,如果你安装了一个名为。
2024-04-18 10:15:24
3124
原创 [C++ 多线程并发] std::async
std::async是更高层次上的异步操作,使我们不用关注线程创建内部细节,就能方便的获取异步执行状态和结果,还可以指定线程创建策略,应该用std::async替代线程的创建,让它成为我们做异步操作的首选。
2024-04-17 20:53:15
876
原创 [C++ POCO] 信号量
在这个示例中,我们创建了一个Semaphore对象,并将初始值设置为1,表示只允许一个线程同时访问共享资源。然后我们创建了三个线程来访问共享资源,每个线程调用。Poco库中的信号量(Semaphore)是一种用于线程同步的工具,允许控制对共享资源的访问。它基本上是一个计数器,可以限制同时访问共享资源的线程数量。这样就确保了在任意时刻只有一个线程能够访问共享资源,从而避免了竞态条件和数据不一致的问题。来等待信号量可用,然后在临界区内访问共享资源,最后调用。在函数中,线程首先调用。
2024-04-16 19:12:48
316
原创 Ubuntu 查看电池信息
通过读取这些文件的内容,用户空间的程序可以实时获取电池的工作状态,进而进行电源管理、续航时间估算、节能策略调整等相关操作。在多电池系统中,如果有多个电池,那么除了 BAT0 外,还可能存在 BAT1、BAT2 等对应不同电池的目录。目录下有一个对应的子目录,这里的 “BAT1” 就代表了系统中第二个电池设备(编号从0开始,BAT0通常是第一个电池)。是Linux系统中表示电池设备的一个系统接口路径。在Linux内核中,每个电池设备通常都会在。
2024-04-11 11:30:33
1102
转载 Linux 时间同步systemd-timesyncd介绍
如果是虚拟机环境,应该把与主机时间同步功能关闭后在启用systemd-timesyncd,否则可能会有问题,systemd-timesyncd只能作为客户端,不能作为NTP服务器,要成为NTP服务器,可以安装chrony、ntpd,或者open-ntp。一个空格分隔的NTP服务器列表,用作备用NTP服务器。systemd-timesyncd.service active: yes ##NTP时间同步是否开启,yes表示是,systemd-timesyncd服务为活动也就是开启了NTP时间同步。
2024-04-08 10:11:05
3686
2
原创 CMake中的build type
CMake中的build type指的是构建项目时所采用的构建方式或模式。这些build type代表了不同的编译和优化选项,以满足不同的需求。变量来指定所采用的build type。:这种build type结合了Release和Debug的特性,旨在提供一种较好的优化效果同时保留调试信息,以便在需要时进行调试。:MinSizeRel build type旨在最小化可执行文件的大小,通常会启用一些针对代码大小的优化。这样,在执行CMake构建时,将会使用Release build type进行构建。
2024-03-26 15:56:31
1358
listen-on-ipv4-and-ipv6-interfaces.py
2018-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人