摘要: HTTP代理存在两种形式: 第一种是 RFC 7230 - HTTP/1.1: Message Syntax and Routing(即修订后的 RFC 2616,HTTP/1.1 协议的第一部分)描述的普通代理。这种代理扮演的是「中间人」角色,对于连接到它的客户端来说,它是服务端;对于要连接的服务 阅读全文
posted @ 2021-05-06 20:00 cs_wu 阅读(867) 评论(0) 推荐(0) 编辑
摘要: 作为一个软件开发工程师,相信大家经常会遇到设备上的程序有bug需要修改,但是因为程序年代太久远或源码分支太多,已经没办法知道设备上的程序是在哪一个提交里编译出来的,这时候查问题是非常困难的。如果没法确定设备上程序对应的代码分支,我们能做的就是给设备升级到最新版本,如果新旧版本和设备之间是兼容的那还好 阅读全文
posted @ 2020-08-04 21:29 cs_wu 阅读(1479) 评论(0) 推荐(0) 编辑
摘要: 问题现象: (1) 设备接入BBC(集中管理平台,会占用很大的虚拟内存空间)用top查看到系统free还有100多MB,此时启动golang程序会出现 out of memory. (2) 设备不接入BBC,用top查看到系统free还有100多MB,此时启动golang程序成功(启动后的golan 阅读全文
posted @ 2020-03-21 21:56 cs_wu 阅读(1736) 评论(0) 推荐(0) 编辑
摘要: 1.什么是共享内存? 共享内存就是允许两个或多个进程共享一定的存储区。就如同 malloc() 函数向不同进程返回了指向同一个物理内存区域的指针。当一个进程改变了这块地址中的内容的时候,其它进程都会察觉到这个更改。因为数据不需要在客户机和服务器端之间复制,数据直接写到内存,不用若干次数据拷贝,所以这 阅读全文
posted @ 2018-10-06 22:36 cs_wu 阅读(47701) 评论(4) 推荐(10) 编辑
摘要: 泛型 Generics: 引入了对使用参数化类型的泛型代码的新支持, 达到了算法可复用的目的。 两数求和,泛型函数的使用 假设我们要计算两个数的和,函数可以这样子写 func Add(a int, b int) int { return a + b } 上面的函数很简单,但是它只能计算int类型的和 阅读全文
posted @ 2022-10-10 20:13 cs_wu 阅读(25) 评论(0) 推荐(0) 编辑
摘要: golang是可以实现继承的,但是这种继承并不是严格意义上的继承,golang并不支持继承特性,因而也没有单继承,多继承,重写方法等复杂概念。 下面通过一些例子来讲解golang的继承 组合继承 (1)匿名继承 type People struct{} func (p *People) ShowA( 阅读全文
posted @ 2021-07-22 23:58 cs_wu 阅读(1588) 评论(0) 推荐(0) 编辑
摘要: golang 解压带密码的zip包,同时支持指定文件头偏移量加载zip包。下面首先给出完整的代码,后面再对代码实现过程的思考和原理做详细解释。 package main import ( "archive/zip" "bytes" "compress/flate" "fmt" "hash/crc32 阅读全文
posted @ 2021-07-19 23:39 cs_wu 阅读(1999) 评论(0) 推荐(0) 编辑
摘要: HTTP代理存在两种形式: 第一种是 RFC 7230 - HTTP/1.1: Message Syntax and Routing(即修订后的 RFC 2616,HTTP/1.1 协议的第一部分)描述的普通代理。这种代理扮演的是「中间人」角色,对于连接到它的客户端来说,它是服务端;对于要连接的服务 阅读全文
posted @ 2021-05-06 20:00 cs_wu 阅读(867) 评论(0) 推荐(0) 编辑
摘要: 安全编译: NX(堆栈不可执行): -z noexecstack SP(栈保护):-fstack-protector-all 或 -fstack-protector-strong BIND_NOW(立即绑定):-Wl,z,now 或 LD_BIND_NOW=1 RELRO(只读重定位):-Wl,-z 阅读全文
posted @ 2021-02-06 17:54 cs_wu 阅读(856) 评论(0) 推荐(0) 编辑
摘要: 需求:golang生成秘钥对,秘钥有密码 package main import ( "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/pem" "fmt" "os" ) func generateRSAKey(pripath, pubpath, 阅读全文
posted @ 2021-02-06 17:39 cs_wu 阅读(1127) 评论(0) 推荐(0) 编辑
摘要: 一、select简介 1.Go的select语句是一种仅能用于channl发送和接收消息的专用语句,此语句运行期间是阻塞的;当select中没有case语句的时候,会阻塞当前groutine。 2.select是Golang在语言层面提供的I/O多路复用的机制,其专门用来检测多个channel是否准 阅读全文
posted @ 2020-11-01 18:52 cs_wu 阅读(3462) 评论(0) 推荐(0) 编辑
摘要: 准备: 准备一个U盘 下载centos镜像 下载uiso9_cn,用于把 镜像写入U盘 开始: 启动PC机,按F12进入BIOS(各个牌子的电脑进入BIOS可能不一样),然后点击USB,后续的安装跟正常的安装系统一样这里就不重复说了,网上教程很多。 接下来说一下怎么连接WIFI,首先是用ip add 阅读全文
posted @ 2020-10-03 16:36 cs_wu 阅读(714) 评论(0) 推荐(0) 编辑
摘要: demo示例: aplugin.go package main func Add(x, y int) int { return x + y } func Subtract(x, y int) int { return x - y } 创建插件aplugin.so : go build -buildm 阅读全文
posted @ 2020-09-10 20:22 cs_wu 阅读(1608) 评论(0) 推荐(0) 编辑
摘要: 作为一个软件开发工程师,相信大家经常会遇到设备上的程序有bug需要修改,但是因为程序年代太久远或源码分支太多,已经没办法知道设备上的程序是在哪一个提交里编译出来的,这时候查问题是非常困难的。如果没法确定设备上程序对应的代码分支,我们能做的就是给设备升级到最新版本,如果新旧版本和设备之间是兼容的那还好 阅读全文
posted @ 2020-08-04 21:29 cs_wu 阅读(1479) 评论(0) 推荐(0) 编辑