摘要:
作为一个软件开发工程师,相信大家经常会遇到设备上的程序有bug需要修改,但是因为程序年代太久远或源码分支太多,已经没办法知道设备上的程序是在哪一个提交里编译出来的,这时候查问题是非常困难的。如果没法确定设备上程序对应的代码分支,我们能做的就是给设备升级到最新版本,如果新旧版本和设备之间是兼容的那还好 阅读全文
摘要:
1.问题现象: (1)设备接入BBC(集中管理平台,会占用很大的虚拟内存空间)用top查看到系统free还有100多MB,此时启动golang程序会出现 out of memory. (2)设备不接入BBC,用top查看到系统free还有100多MB,此时启动golang程序成功(启动后的golan 阅读全文
摘要:
1. 什么是ABtest 简单来说,就是就是在产品正式全面迭代之前,为同一个目标制定不少于两个的方案,将用户分流至对应方案内,在保证每组用户特征相同的前提下,根据用户的真实数据反馈,帮助产品决策。 2. ABtest解决了什么问题 对一个产品设计,已经能难直观判断是否真的是“优化”,这个改变,可能是 阅读全文
摘要:
[chatgpt] gRPC 是一个高性能、开源、通用的 RPC 框架,支持多种编程语言。在进行自动化测试时,可以使用 gRPC 提供的测试工具和库来方便地进行测试。 以下是一个使用 golang 编写的 gRPC 自动化测试示例,包括服务端和客户端代码: 服务端代码: package main i 阅读全文
摘要:
泛型 Generics: 引入了对使用参数化类型的泛型代码的新支持, 达到了算法可复用的目的。 两数求和,泛型函数的使用 假设我们要计算两个数的和,函数可以这样子写 func Add(a int, b int) int { return a + b } 上面的函数很简单,但是它只能计算int类型的和 阅读全文
摘要:
golang是可以实现继承的,但是这种继承并不是严格意义上的继承,golang并不支持继承特性,因而也没有单继承,多继承,重写方法等复杂概念。 下面通过一些例子来讲解golang的继承 组合继承 (1)匿名继承 type People struct{} func (p *People) ShowA( 阅读全文
摘要:
golang 解压带密码的zip包,同时支持指定文件头偏移量加载zip包。下面首先给出完整的代码,后面再对代码实现过程的思考和原理做详细解释。 package main import ( "archive/zip" "bytes" "compress/flate" "fmt" "hash/crc32 阅读全文
摘要:
HTTP代理存在两种形式: 第一种是 RFC 7230 - HTTP/1.1: Message Syntax and Routing(即修订后的 RFC 2616,HTTP/1.1 协议的第一部分)描述的普通代理。这种代理扮演的是「中间人」角色,对于连接到它的客户端来说,它是服务端;对于要连接的服务 阅读全文
摘要:
安全编译: NX(堆栈不可执行): -z noexecstack SP(栈保护):-fstack-protector-all 或 -fstack-protector-strong BIND_NOW(立即绑定):-Wl,z,now 或 LD_BIND_NOW=1 RELRO(只读重定位):-Wl,-z 阅读全文
摘要:
需求:golang生成秘钥对,秘钥有密码 package main import ( "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/pem" "fmt" "os" ) func generateRSAKey(pripath, pubpath, 阅读全文
摘要:
一、select简介 1.Go的select语句是一种仅能用于channl发送和接收消息的专用语句,此语句运行期间是阻塞的;当select中没有case语句的时候,会阻塞当前groutine。 2.select是Golang在语言层面提供的I/O多路复用的机制,其专门用来检测多个channel是否准 阅读全文
摘要:
准备: 准备一个U盘 下载centos镜像 下载uiso9_cn,用于把 镜像写入U盘 开始: 启动PC机,按F12进入BIOS(各个牌子的电脑进入BIOS可能不一样),然后点击USB,后续的安装跟正常的安装系统一样这里就不重复说了,网上教程很多。 接下来说一下怎么连接WIFI,首先是用ip add 阅读全文