- 博客(384)
- 资源 (60)
- 收藏
- 关注
原创 rust去掉release版本中的debug_info
cargo build --release的时候,生成的release的二进制程序跟debug的程序一样大。于是就搜了一下,在 Cargo.toml中添加一个配置就可以将二进制程序瘦身。可以看到瘦身后只有355K,之前可以有13MB的。就尝试了一下,找了一个web server 的小demo。file看了一下有debug_info。本地目录下hello.html。具体代码见下,在编译时发现。rust听说非常的牛逼。
2024-01-30 18:08:04 681
原创 sha256比特币原版c++代码
sha256是一个计算hash 的过程,比特币的算法核心就是计算sha256。模拟比特币挖矿时的hash计算过程。
2024-01-04 10:38:11 522
原创 程序员的三大美德
Perl 语言的发明人 Larry Wall 一个经典叙述:优秀程序员应该有三大美德:懒惰、急躁和傲慢(Laziness, Impatience and hubris)。有人甚至为此专门打造了一个三大美德的网站,阐释这个初看起来匪夷所思的说法。
2023-12-28 20:31:11 425
原创 密码学上的Hash函数都有哪些?
除了我们常用的md5,sha1, sha2这些hash函数,还有哪些hash函数呢?如何在网页中计算文本的hash值?
2023-12-26 16:54:39 64
原创 swig生成的python代码如何制作package?
openbbf.so 我们用swig生成后编译好的.so, swig生成的默认就是这个名称。当然还可以用下面的命令生成 .tar.gz,也是可以用pip install的。当然,如果你直接把当前目录复制给别人,让他运行下面的命令自行安装也是可以的。我们写了一个非常棒的python脚本,然后也想分享给其他人使用呢,怎么搞?openbbf.py, 我们用swig生成的python封装代码。我们用别人写的库的时候pip install 就行了,爽的一比。setup.py怎么写呢?然后在这个目录中执行。
2023-12-20 10:17:33 73
原创 如何查看Linux中glibc的Version
但前提是你要找到它。因为它并不在PATH所包含的目录下。你没有看错,libc.so是一个可执行程序。
2023-12-15 11:30:01 134
原创 version `GLIBC_2.29‘ not found 的原因和怎么解决问题
程序上经常有在这台Linux上编译,然后放到另一个Linux上运行的情况。如果Linux版本差别不大或都是ubuntu或centos系列还好。如果不是一个系列很容易出现GLIBC 找不到的情况。尤其是ubuntu上编译,然后放到centos系列。因为centos为了追求所谓的稳定,基本用的都是N年前的东西,生怕用新的东西把它给搞的不安全了。
2023-12-15 11:18:56 5940
原创 用curl或wget下载文件
curl -O是一个常用的 curl 命令,它用于将远程文件下载到当前工作目录,并使用该文件的原始名称保存到本地。其中-O参数是大写字母 O,表示从 URL 中提取文件名并使用该文件名保存到本地。使用-o参数可以将下载的文件保存到本地,其中-o参数后指定要保存的文件名,是文件的下载地址。大写字母 O,表示从 URL 中提取文件名并使用该文件名保存到本地。这会将文件的内容直接输出到终端,可以使用等符号将其导出到文件中。curl可以直接使用代理或用环境变量。
2023-12-15 10:04:16 299
原创 phpMyAdmin的常见安装位置
nginx的日志显示有人一直在尝试访问phpMyAdmin的setup.php,用了各种位置。还有另一个IP 8.130.126.73,也在不停的扫描。情报显示此IP位于杭州,阿里云上的服务器。其实我只有一个nginx,别的什么也没有。同样是阿里云,不过是北京的。
2023-12-14 17:07:55 135
原创 mysqlsh导入json,最终还得靠navicat导入json
所以还要对文本处理一下,每一行末尾添加一个逗号,然后最前面添加"{" ,最后面添加 "}"导入的一行json是作为一个object存在数据库中,与我们设想的不一样。这可是官方的例子,我觉得官方对这个问题的理解跟我们是有出入的。工作需要将一个巨大的10G的json导入mysql数据库。但是navicat支持的json是完美格式的json。看到mysql官方有对json导入的支持。但是我们的json是按行分割的 json。正好navicat有导入json的功能。navicat不识别,会觉得是错的。
2023-12-11 15:31:20 268
原创 用swig封装c++代码给python使用
我们在这两个文件里面定义了一个类Apple,给它添加了两个成员函数Setcolor和GetColor,是不是非常合理,一般的C++都是这么写的。但是由于我们的代码写的太好了,python用户也想用,我们需要将c++代码封装一下给python用户使用。让我们看看我们优秀的代码是怎么给python程序员带来震撼的。ctype,pybind11,但这里我们还是使用swig。文件总共3804行,我们只看比较核心的部分,函数的实现。我们来看一下swig给我们生成的中间文件都有什么内容。可以说,速度是非常的快。
2023-12-04 17:14:51 158
原创 navicat premium 历史版本下载地址
前缀:http:/download.navicat.com/download/navicat。·版本:三位数,前两位是大版本,后一位是小版本,如163代表16.3版本。如果14天到期了,在csdn.net上找一下,有脚本,可以再续14天。·位数:x86代表32位,x64代表64位,一般下载64位即可。·类型:premium代表豪华版,其他如mysql等。这里下载的可都是完全正版的。可以试用14天的版本。链接的格式 : 前缀+版本+类型+语言+位数。·语言:cs代表简体中文,en代表英文。
2023-12-04 11:19:27 1205
原创 wc -l 统计的是行数?大错特错
POSIX 标准里面定义一行用的就是 一段文字以newline结尾,如果不按这个标准来就不认为这是一行文本。-l 的意思是统计 '\n'的数量,上面的例子file中没有换行符,自然统计出来的结果是0。wc可以Unix系的基础工具呀,这统计的行数不正确属于重大bug呀!会用Linux的人都知道用wc -l 可以统计文本文件的行数。在windows系统中newline 是'\r\n'那么大名鼎鼎的wc -l不能用了?事出反常必有妖,这个锅并不是wc的。那么,怎么才能统计出正确的行数呢?
2023-11-28 17:03:33 179
原创 Linux文件随机抽取N行并取json的某个字段
1) jq是一个'出色'的命令行'针对-->JSON处理器',提供了用于查询、操作和使用JSON文件的大量功能,而且作为一个'命令行工具',可'配合UNIX管道'使用,'单行脚本'处理JSON。2) Redhat、'Centos'系:sudo yum install jq -->'7' 或 sudo dnf install jq -->'8'2) jq可以对json数据进行'分片'、'过滤'、'映射'、'转换';4) jq是用'C编写','没有'运行时依赖,所以几乎可以运行在'任何系统'上。
2023-11-28 11:58:20 223
原创 linux如何在一个超大的文件前面插入1行数据
但是往文件头部插入数据是很慢的,需要将整个文件读写一遍。往文件尾部插入数据是非常快速的。没有快速的解决办法。
2023-11-28 10:58:09 115
原创 如何用SWIG封装c++接口给java使用?
SWIG(Simplified Wrapper and Interface Generator)是一个将C/C++接口转换为其他语言接口的工具,从而可以讲C/C++的库集成到其他语言的系统中。目前SWIG已经可以支持Python, Java, C#,Ruby,PHP,R语言等十多种语言。3.用gcc/g++编译生成的接口代码, 以及对应语言的代码。1.编写swig的interface文件,指明接口的内容。这个Demo将cpp的代码接口转化为JAVA的代码接口。demoJNI.java , JNI的接口。
2023-11-24 19:06:38 565
原创 C语言如何封装CPP代码的接口
C++不是兼容C语言的吗?是的,如果你只是自己开发程序,只用一种语言的话,就没有必要进行封装。如果你开发的是一个C++的.so库,你希望将这个库提供给其他语言使用的话,就涉及到不同语言的相互调用,大家都知道C语言的库是最容易与其他语言交互的。比如mysql是用C++编写的,但还会提供C语言的调用接口(.h头文件),但是这个头文件与C++所用的头文件是不一样的,因为C语言处理不 了Class这些东西。这个文章我们只讲如何在C语言中调用C++代码。
2023-11-24 11:52:56 137
原创 wget 对整站内容进行爬取
加上 --accept-regex 参数后,你可以根据正则来过滤你需要的 uri。加上 -nv 或 --no-verbose 参数后,输出的内容会变得更加简洁;
2023-11-21 17:45:08 179
原创 OpenTDF 客户端cpp版本SDK的编译和使用
opentdf提供了python的客户端SDK,通过pip install 进行安装。opentdf的SDK是用c++开发的,之后封装成了各种语言,包括C,python,java,c#,golang。是SDK封装成各种语言的一个很好的示例。有空也可以详细讲讲。
2023-11-21 11:51:49 201
原创 gcc生成.so共享库中函数的可见性__attribute__((visibility(“hidden“)))
大家都知道windows里面生成.dll和调用dll的时候,需要在函数前加这样的声明__declspec(dllexport)__declspec(dllimport)作用是编译器在生成.dll的时候,将此函数导出到对应的 .lib中,如果不加 dllexport,函数不导出,则无法在另 一个地方进行导入。Linux gcc下面的默认操作是所有的函数都进行导出。
2023-11-10 14:32:10 208
原创 一个JNI的Demo,linux上下载就可以用
最近用到了Java,需要用Java调用c++做的.so,搜了一下,有一个demo,但是这个demo有严重的问题。加载.so的时候不好好地用 System.loadLibrary("hello");他用System.load("hello");这个函数需要使用全路径。真他么的。害人不浅。这里我就做个demo,直接拿去用,就可以知道整个流程了。如果不想太清楚也不要紧,用就行了。谴责一个这个出来害人的博主。
2023-10-26 11:41:55 115
原创 如果用gzip压缩和解压缩文件 or 文件夹
9 最高压缩比, -1最低 -9最高,如果不写-9默认是-6。有时需要用gzip压缩文件,但是搜索了一下没一个讲的清楚的。gzip最大的问题是会删除原文件,所以需要加-k。Sorry, gzip没有这个功能。-k 保留原文件,不加原文件就没了。压缩: 会生成 file.gz。-k 保留file.gz。
2023-10-10 10:29:20 262
原创 airflow工作流引擎的使用
如果分开运行 airflow schedule和webserver也可以,不过有点麻烦。airflow会在~/airflow目录下创建一系列的文件。默认的配置文件是~/airflow/airflow.cfg。运行airflow,只需要这一个命令即可。
2023-10-09 12:12:28 369
原创 github的CodeSpace如何对外提供TCP 端口服务?
github提供了codespace,一个IDE环境,可以远程以WEB的形式,运行VS code进行开发。如果我们希望在这个环境中进行一些网络调试任务,需要外面的TCP连接进来的话,可以采用反向代理的方法进行。反向代理就是类似于FRP这一类工具,把内网中的服务映射到VPS的端口上,使得外面可以访问内网的服务。他会给你提供一个虚拟机,4核16G内存,还是很香的,比普通的VPS性能好多了。下面的命令其实是借助VPS,将codespace中的服务映射出来。第一个:8080指的是 VPS上的端口号。
2023-08-19 21:35:19 879
原创 gzip 和 gunzip的区别
usr/bin/gunzip的内容: 打印了一下help的内容,然后直接调用gzip去了。gzip 和gunzip的区别是什么呢?现用操作系统是ubuntu 20.04。
2023-07-26 16:15:04 195
原创 OpenTDF可信数据格式加密引擎概述
virtru公司基于opentdf开发挺多产品的,都是数据安全类产品。能把opentdf开源,已经非常不容易了。opentdf的代码看起来还是比较整齐和成熟的。不过star非常少。可能是关心安全的人太少了?
2023-07-21 18:05:14 186
原创 ubuntu 20.04上安装更新的nodejs
官方提供了对应的脚本, 下面的setup_19.x 如果你需要v18,就把19改成18.ubuntu20上默认用apt install 安装的nodejs版本是 v10.几。还有一种方法是使用node version manger, nvm。
2023-07-18 11:45:50 2658
原创 使用Bert,ERNIE,进行中文文本分类
GitHub - 649453932/Bert-Chinese-Text-Classification-Pytorch: 使用Bert,ERNIE,进行中文文本分类。gayhub上有一个项目,用Bert和ERNIE进行中文文本分类的,基于pytorch运行的挺好,但是在使用过程中有几个修改的地方。3.代码在运行时会报几个Warning,大概是pytorch升级了,旧的函数被弃用,不影响运行。1. 运行时报错没有THUCNews/saved_dict这个位置,新建个文件夹就行了。但可以如此修改以消除警告。
2023-07-03 17:50:03 762
原创 深度学习的技术原理
信息技术是人类历史上的第三次工业革命, 计算机、 互联网、智能家居等技术的普及极大地方便了人们的日常生活。通过编程的方式,人类可以将提前设计好的交互逻辑重复且快速地执行, 从而将人类从简单枯燥的重复劳动任务中解脱出来。但是对于需要较高智能的任务,如人脸识别, 聊天机器人, 自动驾驶等任务, 很难设计明确的逻辑规则, 传统的编程方式显得力不从心,而人工智能技术是有望解决此问题的关键技术。随着深度学习算法的崛起,人工智能在部分任务上取得了类人甚至超人的水平。
2023-07-03 17:43:01 187
原创 用pytorch进行BERT文本分类
对于我们在上面看到的句子分类示例,我们只关注第一个位置的输出(将特殊的 [CLS] token 传递到该位置)。就像Transformer的普通编码器一样,BERT 将一系列单词作为输入,这些单词不断向上流动。sport(体育),business(商业),politics(政治),tech(科技),entertainment(娱乐)。有4个400多MB的文件,pytorch的模型对应的是436MB的那个文件。最后一步测试的时候,测试的准确率还是比较高的。可以用下面的代码查看model里面的模型。
2023-06-27 17:38:14 3204
原创 Prosys OPC UA Monitor 一个基于OPC UA的HMI监控软件
连接来自领先供应商的众多 OPC UA 服务器,包括 ABB、Advantech、Aveva、B&R、Baker Hughes、Beckhoff、Belden、Bosch、Emerson、Endress+Hauser、Fanuc、Festo、GE、Harting、Hitachi、Honeywell、Kepware、Lenze、Matrikon 、三菱、美国国家仪器、欧姆龙、倍加福、菲尼克斯电气、罗克韦尔、施耐德、西门子、图尔克、魏德米勒和横河电机。使用快速且易于使用的网格系统设计您自己的用户界面。
2023-06-09 09:40:26 487
原创 Prosys OPC UA Modbus Server,一个modbus转opcua的服务器软件
如果您回答是,相应的服务应用程序将启动,并且它也会在系统启动时自动启动。或者,您可以在不使用“--config”参数的情况下运行应用程序,或者(最好)使用操作系统的服务管理器在服务器模式下启动和停止应用程序。如果您回答是,相应的服务应用程序将启动,并且它也会在系统启动时自动启动。请注意,在标准安装中,应用程序需要管理员权限,因此您必须使用“sudo”运行它。如果没有 GUI,安装程序也可以工作,但请注意,在这种情况下,您不能使用应用程序的配置 UI 模式,必须在另一台机器上进行配置。其他发行版可能有效。
2023-06-05 16:53:38 635
原创 Prosys OPC UA Simulation Server 的下载和安装
【代码】Prosys OPC UA Simulation Server 的下载和安装。
2023-06-01 10:22:09 1109
原创 linux nohup命令如何使用?
英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到文件中。
2023-05-29 17:52:35 845
java 调用C++ 的Demo,可以直接使用
2023-10-26
prosys-opc-ua-monitor-windows-x64-1.6.0-40.exe
2023-06-09
prosys-opc-ua-modbus-server-windows-x64-1.4.22-31.exe
2023-06-05
prosys-opc-ua-simulation-server-windows-x64-5.4.6-148.exe
2023-06-01
Prosys-OPC-UA-Simulation-Server-UserManual.pdf
2023-06-01
prosys-opc-ua-simulation-server-linux-aarch64-5.4.6-148.zip
2023-06-01
prosys-opc-ua-simulation-server-linux-x64-5.4.6-148.zip
2023-06-01
prosys-opc-ua-simulation-server-mac-x64-5.4.6-148.dmg
2023-06-01
prosys-opc-ua-simulation-server-mac-aarch64-5.4.6-148.dmg
2023-06-01
Power-Keys-x64.exe 解放 Windows 和 macOS 使用效率的快捷键软件
2023-05-24
WX模拟关闭微信公众号.exe
2023-05-24
关闭Win10安全中心.zip
2023-05-24
MouseInc(不只是鼠标手势).rar
2023-05-24
Optimizer是一款便携式实用的系统优化清理工具 支持垃圾清理、注册表修复、启动项管理,关闭windows系统中不需要的功能
2023-05-24
Edge Blocker屏蔽Windows 10和windows 11内置Edge浏览器的小工具
2023-05-24
prosys-opc-ua-simulation-server-windows-x64-5.4.2-129.exe
2023-01-10
支持qbu的TSN交换机传输IEEE 802.3br格式数据包传输过程抓包
2023-01-09
opcua TSN pub/sub的 demo
2022-09-07
Win32OpenSSL-1_1_1o.exe
2022-05-24
Win64OpenSSL-1_1_1o.exe openssl开发包
2022-05-24
uamodeler-bin-win32-x86-vs2008sp1-1.6.5-472.zip
2022-05-11
prosys-opc-ua-simulation-server-windows-x64-5.2.0-390
2022-05-11
wiztree_4_08_portable.zip
2022-04-28
2022年中国工业软件研究报告
2022-04-28
YeeCaption2.0.0.05.exe
2022-04-27
录音啦V8.6.3旗舰版.zip
2022-04-27
批量修改视频MD5值工具
2022-04-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人