- 博客(107)
- 资源 (1)
- 收藏
- 关注
原创 Visual Studio 2019 C# 自动生成Protobuf
Visual Studio VS2019 C#项目 自动生成Protobuf。
2024-08-28 09:33:24 346
原创 boost::asio使用strand严格顺序调用事件处理程序
如果我们在单线程中将handler加入strand, 或者多线程将handler加入strand采用同步机制,可以保证按handler加入的顺序执行。如果我们尝试从不同的线程中将handler加入strand,strand无法保证handler的执行顺序。strand提供串行执行, 能够保证线程安全, 同时被post或dispatch的方法, 不会被并发的执行.
2024-06-20 14:10:26 398
原创 c# mysql 加锁解锁
然后使用LOCK TABLES语句对mytable进行写操作锁定,这将阻止其他事务对该表进行写操作。在完成了需要执行的业务逻辑之后,使用UNLOCK TABLES解锁表,并提交事务。在C#中操作MySQL实现加锁和解锁,通常是通过执行特定的SQL语句来完成。MySQL支持表级锁定和行级锁定。请注意,行级锁定通常是通过在SELECT语句中使用FOR UPDATE子句来实现的,这通常在事务中进行处理。务必确保在使用事务和锁定的时候遵循最佳实践,例如尽可能减少锁定的时间和范围,以避免阻塞其他数据库操作。
2024-05-21 17:31:17 377
转载 Windows远程桌面传输文件
在Windows 10中使用远程桌面时,如果需要将文件从远程桌面传文件到本地计算机或从Windows远程桌面传输文件到远程计算机,这是很常见的。现在,您已经知道Windows 10远程桌面怎么传文件到远程桌面。在Win10上使用远程桌面传输文件需要连接网络才能工作,因此如果您的计算机未正确连接到Internet,您将无法使用此功能。步骤4. 单击选择“驱动器”旁边的“+”,然后选择您需要传输的文件的位置。现在您已经连接成功,您可以访问远程计算机上的文件资源管理点击“其他”,然后您可以看到您共享的文件。
2024-03-15 10:59:02 795
原创 C++带重连功能的websocket client
【代码】使用WebSocket++/websocketpp的带重连功能的websocket client。
2023-06-20 09:34:45 948
原创 boost posix_time时区问题
boost::posix_time::microsec_clock::universal_time()获取格林威治时间。使用boost::posix_time::microsec_clock::local_time()获取本地时间。boost::aiso::timer的expries_at()返回的格林威治时间。有时候获取到格林威治时间时间,想输出为本地时间,
2023-04-14 14:36:53 328
原创 TC限速实践
确认好默认队列,因为一旦限速规则和默认队列重复,现在的机器都是远程登录的,如果限速过大,将直接导致你无法再进行远程操作,只能重启机器了……链接:https://www.jianshu.com/p/4477c68c9ec4。看完了这些,起初我只是想针对某个ip进行一下限速,这个过程中有几个小坑。商业转载请联系作者获得授权,非商业转载请注明出处。那么我要针对一个ip限速,可以执行下面这个脚本。tc暂时只能在实体机上执行。tc命令需要root来执行。
2023-03-10 13:47:47 483
原创 MySQL Connector/C++使用过程中的问题
Linux环境下,使用mysql connector cpp的时候,链接的时候报错:类似于上面这种,总之是libmysqlcppconn.so使用的libssl与现在开发环境其他库(如boost,rbmq等)使用的libssl版本不一样。
2023-03-09 17:37:52 1042
原创 ulimit设置coredump文件大小
在linux系统中,如果coredump文件大小设为0,即使程序发生了core dump(segment fault)也没有core文件产生。
2022-11-15 18:21:25 1935
原创 Mysql中的Events事件,以及使用时的时区问题
Mysql支持定时任务,即Events时间,类似于Linux中的crontab例如创建一个event, 每天12点执行一个任务要想使Events失效,还需要开启事件调度器除此之外,如果Events使用了STARTS或ENDS,还需要注意时区的如上例中的12点:如果时区不对,可能会出现你想每天在北京时间12点触发事件,实际却是美国时间12点触发的。时区的查询和设置如下:以上使用的方式设置参数需要客户端重连mysql服务,并且在mysql服务重启后失效,要想在mysql服务重启后永久生效需要修改mysql
2022-06-14 21:58:38 1439
原创 linux raw socket 原始套接字
TCP socket,UDP socket只能处理传输层数据,而原始套接字raw socket绕过传输层直接获取网络链路层的数据包。我们平时用的tcpdump, libpcap都是基于raw socket实现的。一般使用方法如下: // raw socket int rawsock = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_IP)); if (rawsock < 0) { perror("SOCK_RAW err
2022-05-12 16:32:09 440
原创 使用boost asio raw socket创建第2层/ ethernet套接字(在C ++中)
// #include <boost/asio/detail/config.hpp>// #include <boost/asio/detail/socket_types.hpp>// #include <boost/asio/basic_raw_socket.hpp>// #include <boost/asio/ip/basic_endpoint.hpp>// #include <boost/asio/ip/basic_resolver.hp
2022-05-11 22:06:46 445
原创 Linux使用occi访问Oracle数据库
何为occi?occi 是Oracle C++ Call Interface的缩写,官网为:https://docs.oracle.com/en/database/oracle/oracle-database/18/adobj/oracle-c-cpp-call-interface-odci.html安装occi下载地址:https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.ht..
2022-04-13 15:14:31 1828
原创 Linux使用Poco库访问数据库
安装Poco库https://github.com/pocoproject/poco/https://docs.pocoproject.org/current/注意依赖库,如openssl 等依赖库提前安装访问MySQL需要mysqlclienthttps://blog.csdn.net/wanghualin033/article/details/108709474访问Oracle Poco::Data::ODBC::Connector::registerConnector();.
2022-04-13 14:59:42 2054
原创 只有同时打开tcpdump,libpcap应用程序才能抓到所有的包
只有同时打开tcpdump,libpcap应用程序才能抓到所有的包,否则流量很小,怎么解决?答案:打开网卡混杂模式
2022-02-23 14:38:59 1621
原创 linux下使用libpcap库
Libpcap是一个开源C库,它提供了一个API,用于直接从Unix衍生操作系统的数据链路层捕获数据包。它被流行的数据包捕获应用程序(如tcpdump和snort)使用,使它们能够在几乎任何风格的Unix上运行。下面是一个基于libpcap的简单数据包嗅探器应用程序的示例, 该示例通过libpcap库接收数据链路层frame数据包,重组为TCP数据流,或UDP数据包,带有TCP重传、乱序缓存等功能。
2022-01-28 21:17:04 569
原创 windows cmd 快速编辑模式
Windows 控制台程序正常运行时,如果鼠标点击后,有时候会出现程序阻塞或程序卡死的情况。这是因为console的快速编辑模式被打开,鼠标点击后进入选择状态。解决办法1:修改console属性,取消勾选"快速编辑模式",系统重启后可能失效解决办法2:修改windows系统 cmd 快速编辑模式执行setNoEdit.bat@echo offreg add HKEY_CURRENT_USER\Console /v QuickEdit /t REG_DWORD /d 00000000 /f解
2022-01-26 09:49:44 5270 1
原创 root用户安装的库文件其他用户没法使用
问题来源:root用户安装的库文件,其他用户没法使用问题原因:root用户创建的文件默认权限为-rw-------,即700,是由于系统umask设置为了077解决办法:1.chmod修改文件/目录权限,只能暂时解决问题:# chmod +755 -R /usr/local/include/2.系统umask的设置为022# vim /etc/profile# By default, we want umask to get set. This sets it for login shel
2022-01-14 17:32:26 2176
原创 rabbitmq guest用户不能远程登录
使用rabbitmq远程登陆管理端口15672时候报错User can only log in via localhost查找原因说这是因为rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问解决办法有两个:1.新增除了guest以外的user;2.取消限制对于第2种办法,大致为修改配置文件,然后重启rabbitmq。不同版本配置文件有些差异:网上有的说是修改[rabbitmq安装目录]\ebin\rabbit.app的“loopback_user",
2022-01-14 17:18:37 4105
原创 tcpdump 编写边打印
sudo tcpdump -i enp2s0 -U -w - | tee test.pcap | tcpdump -nnvv -r -https://serverfault.com/questions/960405/how-can-i-see-packets-while-capturing-with-tcpdumphttps://stackoverflow.com/questions/25603831/how-can-i-have-tcpdump-write-to-file-and-standard-o
2021-11-12 11:30:14 6510
原创 c# 连接MySQL 提示SSL Connection error
c# 连接MySQL 提示SSL Connection errorMysql.Connection调用Open()时报错,try catch得到如下错误信息:2021-10-18 14:40:23,388 [1] ERROR *** - SSL Connection error.2021-10-18 14:40:23,390 [1] ERROR *** - at MySql.Data.Common.Ssl.StartSSL(Stream& baseStream, Encoding enc
2021-10-18 14:53:58 1595
原创 从pcap文件中读数据并组播
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <arpa/inet.h>#include <netinet/in.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/socket.h>#include <
2021-09-03 09:49:22 344
原创 一个简单量化策略回测
实现一个简单的指数定投策略,写一个回测脚本验证一下。策略定投创业板指数(场内ETF,或场外指数基金)一般的定投每期固定金额,而这里采取更激进的方法,每期定投金额随指数降低而增加,即越跌越投(策略详见脚本)获取指数历史行情如何获取历史行情数据? 由于我们是按月定投,只需要获取按月K线图即可。有付费软件和网站当然可以获取历史行情数据,但作为一个打游戏从来不充钱的人,本着能不花钱就不花钱的原则,在网上努力找到了免费的资源。在浏览器输入https://q.stock.sohu.com/hisHq?c
2021-08-30 13:06:23 9172
原创 CAS C++实现无锁栈
cppreferenc上实现了一个无锁栈,只实现了push, 这里补充完整:#include <atomic>#include <iostream>using namespace std;template<typename T>struct Node{ T data; Node* next; Node(const T& data_) : data(data_) {}};template<typename T>
2021-08-24 10:28:16 524 2
原创 vscode remote-ssh 模式离线配置
VS Code Client(on Windows) + vscode-server (on Linux)参考:https://www.jianshu.com/p/58c673a82ef9在离线下载、解压、重命名extension文件夹后,在对应目录下新建一个文件名为"0"的文件touch ~/.vscode-server/bin/${commit_id}/0注意,如果输出中有错误:需要离线安装cpp-tools ,需要从官网https://github.com/microsoft/vscode
2021-07-12 15:37:30 422
原创 sed+awk+Rscript
cat ... | sed "s,.*latency:\([0-9]*\) num:\([0-9]\).*,\1 \2,g" | awk '{tm=$1; num=$2; tmSum=tmSum+tm; if(num>0) {print tmSum/num; tmSum=0;} }' | Rscript -e 'marr=as.numeric (readLines ("stdin")) ; summary(marr); cat("length:"); length(marr); cat("var-
2021-04-02 17:41:12 101
原创 局部作用域内的类不能有必须在类外初始化的成员变量
以前讲过类的静态成员变量初始化问题: 非static, static constexpr, static const int/enum 类型的成员变量可以在类内初始化, 其他必须在类外初始化。另外再提一个累的静态成员变量的限制: 局部作用域内的类不能有必须在类外初始化的成员变量。int main(){ struct S { int x; static int y; bool f; }; int S::y = 0; //类外初始化
2021-03-08 20:51:43 123
原创 聚合类的列表初始化
https://stackoverflow.com/questions/18184096/c11-struct-initialization-compilation-errorhttps://stackoverflow.com/questions/8162994/why-arent-static-data-members-allowed-in-local-classes
2021-03-08 20:30:18 284
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人