- 博客(103)
- 资源 (7)
- 收藏
- 关注
原创 C/C++学习笔记
一,acm基础算法https://github.com/GhostHallyz/ACM二,串口通信https://github.com/GhostHallyz/Cpp-Project/tree/master/Serial%20communication三,加密算法https://github.com/GhostHallyz/Cpp-Project/tree/master/Cry...
2019-03-06 14:42:29 228
原创 go 使用gorm查询数据失败,sql: Scan error on column index 1, name “created_at“: unsupported Scan, storing driv
sql: Scan error on column index 1, name "created_at": unsupported Scan, storing driver.Value type []uint8 into type *time.Time
2024-03-26 21:45:21 676
原创 https-1 SSL、TLS简介
SSL(Secure Sockets Layer)是传输层的套接字安全协议,数据加密身份认证完整性保护HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议,是HTTP的升级版,主要针对HTTP的三大缺点:安全性是最大的短板,报文内容大部分都是明文,没有加密机制,如果被截获就完全没有秘密可言;缺少身份验证,你不知道和你会话的是google还是社会我谷哥, 会到中间人攻击或是钓鱼网站的欺骗;缺少完整性校验手段,无法证明报文在传输过程中
2022-06-06 22:04:05 1393
原创 c++继承、重载、覆盖、隐藏
1. 继承:即父类实现的函数,在子类中即可调用。2. 重载:相同作用内,如一个类中,函数名相同,但函数形参不同。3. 覆盖:子类和父类中函数名相同,形参相同,基类中有virtual关键字,平常用的最多virtual实现的功能即是覆盖。4. 隐藏:子类和父类的函数名相同,形参不同,无论基类中有无virtual关键字,此时父类中的函数被隐藏;子类和父类的函数名相同,形参相同,父类中无virtual关键字(有关键字即为覆盖,此处可看出覆盖和隐藏的区别)继承继承是基础,有了继承才牵扯出覆盖和隐藏,覆
2022-06-06 22:03:04 540
原创 sftp 常用命令
sftp常用命令help 查看sftp支持哪些命令ls 查看当前目录下文件cd 指定目录lcd 更改和/或打印本地工作目录pwd 查看当前目录lpwd 打印本地工作目录get xxx.txt 下载xxx文件put xxx.txt 上传xxx文件quit / bye / exit 退出sftpsftp xxx.xxx.xxx.xxx 登录root用户SCPscp -i C:\Users\Administrator.ssh\weicheng.zeng weicheng.zeng@1
2022-06-06 22:01:20 1680
原创 tcpflow-网络抓包工具
sudo tcpflow -cp -i any port 18001-c:将数据流打印到控制台,不要存储到文件中。-p:非杂乱模式-i:指定网络接口port:指定监听的端口号host:指定监听的域名或iphttps://github.com/simsong/tcpflowusage: tcpflow [-aBcCDhJpsvVZ] [-b max_bytes] [-d debug_level] [-[eE] scanner] [-f max_fds] [-F[ctTXMkm
2022-05-26 20:47:26 1191
原创 asan c/c++内存检测
一、ASAN 简介ASAN(AddressSanitizer 的缩写)是一款面向C/C++语言的内存错误问题检查工具,可以检测如下内存问题:使用已释放内存(野指针)堆内存越界(读写)栈内存越界(读写)全局变量越界(读写)函数返回局部变量内存泄漏ASAN工具主要由两部分组成:运行时库运行时库(libasan.so.x)会接管 malloc 和 free 函数。malloc执行完后,已分配内存的前后(称为“红区”)会被标记为“中毒”状态,而释放的内存则会被隔离起来(暂时不会分配出去)且也
2022-05-24 14:48:13 1598
原创 gcc 版本管理工具 scl
1 安装 scldevtoolset对应gcc的版本devtoolset-3对应gcc4.x.x版本devtoolset-4对应gcc5.x.x版本devtoolset-6对应gcc6.x.x版本devtoolset-7对应gcc7.x.x版本devtoolset-8对应gcc8.x.x版本devtoolset-9对应gcc9.x.x版本devtoolset-10对应gcc10.x.x版本# centos install scl$ yum install centos-release-
2022-05-24 14:46:40 831
原创 wrk 压测工具
wrk 压测工具安装git clone https://github.com/wg/wrk.git cd wrk make 常用参数类型Usage: wrk <options> <url> Options: -c, --connections <N> Connections to keep open -d, --duration <T> Duration of test, e.g. 2s, 2m, 2h
2022-05-24 14:45:34 342
原创 Linux下动态库(so)的搜索路径
程序编译时,通过-Wl, -rpath参数指定的路径;环境变量LD_LIBRARY_PATH指定的路径/etc/ld.so.conf或/etc/ld.so.conf.d/目录下任何一个文件中指定的路径/lib路径/usr/lib路径加入动态链接库的路径su - root echo "/usr/local/lib" >> /etc/ld.so.confecho "/usr/local/lib64" >> /etc/ld.so.conf ldconfig -v.
2022-05-24 12:46:15 2180
原创 go运行时状态信息
go运行时状态信息内存runtime.ReadMemStats(&ms) 获取内存分配信息,可以定时收集,发送给时序数据库做监控统计gc 数据ReadGCStats 获取最近的GC统计信息,可以定时收集,发送给时序数据库做监控统计协程数runtime.NumGoroutine 获取当前协程数,可以定时收集,发送给时序数据库做监控统计panic 堆栈信息日志查询pporf实现 flag.StringVar(&cpuprofile, "cpuprofile", ""
2022-05-24 12:44:17 1120
原创 vscode远程调试
vscode 远程调试1.设置代理地址go env -w GOPROXY=https://goproxy.cn,direct2.被调试机设置环境变量 sudo vim /etc/profile##编辑文本首行加入如下:export GOPATH=/root/goexport PATH=${PATH}:${GOPATH}/bin##wq保存退出sudo source /etc/profile远程调试机 dlv 开启监听dlv attach $1 --headless --api-
2022-05-24 12:43:26 336
原创 git 常用命令整理
1.Git 常用命令速查表[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w0qgiTuf-1653367255291)(image\Git-command.png)]Git常用操作命令收集:1) 远程仓库相关命令检出仓库: $ git clone git://github.com/jquery/jquery.git查看远程仓库:$ git remote -v添加远程仓库:$ git remote add [name] [url]删除远程仓库:$ git re
2022-05-24 12:42:08 250
原创 TCP 传输控制协议(Transmission Control protocol)
TCP 段结构 (TCP segment structure)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-41l4KLeO-1653367207345)(.\image\TCP_segment_header.png)]源端口 Source port (16 bits)发送方端口信息目标端口 Destination port (16 bits)接收方端口信息序列号 Sequence number (32 bits)具有双重作用:如果 SYN 标志设置为 (1
2022-05-24 12:40:35 1055
原创 TCP快速连接(tfo,TCP fastopen)
TCP Fastopen 简介首先,回顾下tcp三次握手tcp fastopen 握手流程:TFO 首次建联会发送空cookie,完成首次建联后,内核网络会保存该cookie,用于后续建联使用。如下图:当客户端断开连接,下一次请求同一个服务端的时候,会带上之前存储的Cookie和要发送的数据,在SYN的路径上一起发送给服务端,如下图:TFO 系统开关配置#3的意思是开启TFO客户端和服务器端#1表示开启客户端,2表示开启服务器端echo 3 > /proc/sys/net/ip
2022-05-24 12:37:46 1000
原创 nginx 返回状态码详解
nginx 返回状态码详解200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 201 (已创建) 请求成功并且服务器创建了新的资源。 202 (已接受) 服务器已接受请求,但尚未处理。 203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。 204 (无内容) 服务器成功处理了请求,但没有返回任何内容。 205 (重置内容) 服务器成功处理了请求,但没有返回任何内容。206 (部分内容) 服务器成功处理了部分 GET 请求。 300
2022-05-23 15:32:38 3399
原创 ngx_lua模块
ngx_lua模块ngx_lua模块的原理:1、每个worker(工作进程)创建一个Lua VM,worker内所有协程共享VM;2、将Nginx I/O原语封装后注入 Lua VM,允许Lua代码直接访问;3、每个外部请求都由一个Lua协程处理,协程之间数据隔离;4、Lua代码调用I/O操作等异步接口时,会挂起当前协程(并保护上下文数据),而不阻塞worker;5、I/O等异步操作完成时还原相关协程上下文数据,并继续运行;可以在nginx配置文件中加上目录:nginx.conf中server
2022-05-23 15:31:53 1537
原创 nginx referer模块
nginx referer模块配置说明| Syntax: | **valid_referers** none | blocked | server_names | *string* ...; || :------- | ------------------------------------------------------------ || Default: | — ||
2022-05-23 15:29:07 3293
原创 nginx.conf
nginx.confNginx为配置一个完整的静态Web服务器提供了非常多的功能,下面会把这些配置项分为以下8类进行详述:虚拟主机与请求的分发、文件路径的定义、内存及磁盘资源的分配、网络连接的设置、MIME类型的设置、对客户端请求的限制、文件操作的优化、对客户端请求的特殊处理。这种划分只是为了帮助大家从功能上理解这些配置项。配置模块描述main全局设置其指令将影响其他所有部分的设置server服务器虚拟主机设置其指令主要用于指定虚拟机域名、IP、端口其指令继承于main
2022-05-23 15:28:21 142
原创 nginx 编译准备
nginxyum install -y gcc g++yum install -y pcre pcre-develyum install -y zlib zlib-develyum install -y openssl openssl-devel
2022-05-23 15:28:03 115
原创 nginx 模块说明
nginx 模块说明模块描述ngx_http_core_modulenginx核心基础模块ngx_http_access_module该模块提供了一个简单的基于主机的访问控制。允许/拒绝基于ip地址ngx_http_addition_module作为一个输出过滤器,支持不完全缓冲,分部分响应请求ngx_http_api_modulengx_http_auth_basic_module该模块提供了一个简单的基于主机的访问控制。允许/拒绝基于ip地址
2022-05-23 15:26:06 545
原创 openssl s_server & s_client 相关命令参数
openssl s_server & s_client 和相关命令参数示例:更新动态链接库名字列表sudo ldconfigopenssl s_server -accept 443 -key server.pem -cert server.pem -debug -msgopenssl s_client -connect 127.0.0.1:443 -debug -msgln -s /usr/local/ssl3/lib/libssl.so.3 /usr/lib64/libssl.
2022-05-23 15:24:41 1462
原创 openssl config配置编译选项
openssl config 配置编译选项全局选项第一类是全局性选项:--openssldir=OPENSSLDIR安装目录,默认是 /usr/local/ssl 。--prefix=PREFIX设置 lib include bin 目录的前缀,默认为 OPENSSLDIR 目录。--install_prefix=DESTDIR设置安装时以此目录作为"根"目录,通常用于打包,默认为空。zlibzlib-dynamicno-zlib使用静态的zlib压缩库、使用动态的zlib压缩库、
2022-05-23 15:22:14 2824
原创 windows terminal ssh连接
windows terminal ssh连接1.在windows端生成rsa公私钥进入目录 ~/.sshcd ~/.ssh使用 ssh-keygen 命令在 git-bash (或者Windows控制台,win10可在 设置->应用->应用和功能->可选功能->添加功能 安装OpenSSH客户端和服务端后使用)生成rsa公钥 id_rsa.pub 和私钥 id_rsa默认rsa文件名为id_rsa,也可以自己设置,然后输入密码,确认密码(支持空密码)ssh-keygen
2022-05-23 15:20:34 2946 1
原创 wsl 镜像迁移
wsl 镜像迁移1、打开CMD,查看所有WSL$ wsl -l --all -v NAME STATE VERSION Ubuntu-20.04 Stopped 2* centos Running 22、导出WSL$ wsl --export Ubuntu-20.04 d:\ubuntu20.04.tar3、注销待迁移WSL$ wsl --u
2022-05-23 15:17:19 2348
转载 自建docker仓库
一、简介在 Docker 中,当我们执行 docker pull xxx 的时候 ,它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库。在工作中,我们不可能把企业项目push到公有仓库进行管理。所以为了更好的管理镜像,Docker不仅提供了一个中央仓库,同时也允许我们搭建本地私有仓库。这一篇介绍registry、harbor两种私有仓库搭建。二、registry 的搭建1. 搭建Docker 官方提供了一个搭建私有仓库的镜像 re
2022-05-10 20:43:09 2685
原创 Dockerfile-docker 打包
Docker Dockerfile什么是 Dockerfile?Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。Dockerfile 指令1、FROM 和 RUN 指令的作用FROM:定制的镜像都是基于 FROM 的镜像,这里的 nginx 就是定制需要的基础镜像。后续的操作都是基于 nginx。类型镜像操作系统基础镜像busyboxAlpineCentOSUbuntuDebian编程语言基础镜像Java基础镜像Py
2022-05-10 20:32:18 1547
原创 Linux socket个数查询
Linux中查看当前的socket状态:IPV4:[root@centos ~]# cat /proc/net/sockstatsockets: used 96TCP: inuse 3 orphan 0 tw 0 alloc 3 mem 1UDP: inuse 2 mem 0UDPLITE: inuse 0RAW: inuse 0FRAG: inuse 0 memory 0注:sockets: used:已使用的所有协议套接字总量TCP: inuse:正在使用(正在侦听)的
2021-08-25 09:52:35 3439
原创 【C/C++学习笔记】C++11 新特性之内存对齐
举个例子介绍下内存对齐,又#include <iostream>struct A{ int a; short b; char c; double d;};struct B{ int a; char b; short c; double d;};struct C{ char a; int b; double c; short d;};int main(){ prin
2021-06-12 22:55:59 1834 2
原创 kill、killall、pkill命令区别
1.用kill来杀死某一个进程pid是进程号,可以用 ps 命令查出kill pid // 默认参数下,kill 发送SIGTERM(15)信号给进程,告诉进程,你需要被关闭,请自行停止运行并退出kill -Signal pidsignal是发送给进程的信号一般常用的kill信号有 1 表示从终端上发出的结束信号 2 表示从键盘上发出的终端信号(即Ctrl+c) 3 表示从键盘上发出的退出信号(即Ctrl+\)
2021-06-12 17:26:57 1300
转载 创建windows系统托盘应用程序
#include <windows.h>#define IDR_PAUSE 12#define IDR_START 13LPCTSTR szAppClassName = TEXT("服务程序");LPCTSTR szAppWindowName = TEXT("服务程序");HMENU hmenu;//菜单句柄LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ .
2021-06-12 17:06:25 590
转载 windows中使用icacls命令还原文件夹的权限设置
icacls命令简介Icacls 是一种命令行工具,它显示或修改指定文件上的随机访问控制列表 (DACL),并将存储的 DACL 应用于指定目录中的文件。Icacls.exe 替换了 Cacls.exe 工具用于查看和编辑 DACL。ICACLS 是 Windows Server 2003 SP2 中 CACLS 工具的升级版本,可用于从恢复控制台重设文件中的帐户控制列表 (ACL) 以及备份 ACL。与 CACLS 不同的是,ICACLS 可以正确地传送对继承的 ACL 的更改和创建。有关 ICACL
2021-06-12 16:50:12 4039
转载 通过libcurl实现https访问服务器
libcurl支持http、https、ftp、gopher、telnet、dict、file和ldap协议。libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。本文通过一个示例Demo介绍通过libcurl实现https访问服务器。对libcurl 库的封装类示例如下,————————————————版权声明:本文为CSDN博主「法哥2012」的...
2021-06-12 16:45:36 3321
转载 libcurl 基础介绍
一、LibCurl基本编程框架libcurl是一个跨平台的网络协议库,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,cookies,和用户认证。想要知道更多关于libcurl的介绍,可以到官网http://curl.haxx.se/上去了解,在这里不再详述。win32版的libcurl下载地址:http://.
2021-06-12 16:38:53 2185
MFCDemo.zip
2020-09-03
winServer.zip
2019-12-18
LibDemo.zip
2019-07-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人