李迟2022年2月知识总结(代码片段)

李迟 李迟     2022-11-28     420

关键词:

本文为 2022 年 2 月知识总结。

研发编码

Golang

Linux

linux 系统可用 nc 命令来模拟 Socket 服务端和客户端。已在工作中应用到。

在后台执行valgrind时,可用nohup valgrind xxx ./a.out &命令,即使断开终端也不会停止,如要停止,使用kill -2停止valgrind即可,即发送Ctrl+c信号,注意不能用kill -9,否则不会生成检测结果。

某目录需读取某目录的若干版本的动态库目录,并遍历保存,因目录带有日期,需保持先后顺序,这样,就能依照用户选用的日期来确定动态库版本。linux 系统遍历目录使用函数readdir实现。但发现在不同机器上运行的结果不同,较早日期的目录排在较后日期的后面,导致程序算法失效,出现逻辑错误。调试发现,readdir遍历的结果并不是预想那样按排序,有时倒序,有时顺序。为避免不确定性,还得手动排序。说来奇怪,这个机制的若干服务已经运行了2年多,但似乎一直能正常工作,至于何原因,暂不清楚。

编码其它

前端

权限控制:

菜单:不该显示的不显示,包括菜单和按钮,不让有心人猜测有什么功能。比如用户列表可增删改查,普通用户只需要查即可。通过浏览器改按钮为可用,再请求?

浏览器直接输入URL:无权限不能访问。

一些无权限的请求,前端可过滤则过滤。但后台也需要判断。

注:无权限和不存在是2种情况,是否要区分提示?

其它研究

工作记录

10月份解决了一次内在泄漏问题,但本月月底又出现了,但用内在监控脚本测试,并未发现问题,当前尝试用valgrind 观察情况,因临近放假,没有实质性分析。

年后上班,运维同事反馈,某一机子的一个程序每天凌晨2点准时段错误重启。经查为一 socket 服务器接收到非法指令而不判断指针导致的。已有文章记录。

本月做的事及计划

李迟2022年12月工作生活总结(代码片段)

本文为2022年12月工作生活总结。研发编码Go一个Golang的编译脚本mybuild.sh:#!/bin/bashVersion="v0.0.1"VER=""if[$#=1];thenVER=$1Version=""$VERelseecho"notsetversion,using 查看详情

李迟2022年12月工作生活总结(代码片段)

本文为2022年12月工作生活总结。研发编码Go一个Golang的编译脚本mybuild.sh:#!/bin/bashVersion="v0.0.1"VER=""if[$#=1];thenVER=$1Version=""$VERelseecho"notsetversion,using 查看详情

李迟2021年9月知识总结(代码片段)

本文为2021年9月知识总结。研发编码C/C++无。golang跟时间转换有关的几个片段:exTime:="20210901"mytime,_:=time.Parse("20060102",exTime)fmt.Println(mytime.UTC().Unix(),mytime.Local().Unix())//用本地 查看详情

李迟2021年12月知识总结(代码片段)

本文为2021年12月知识总结。研发编码测试发现,不同语言对浮点数的存储和处理不太相同,比如1.5,有的语言存储的可能是1.49999999999,有的可能是1.500000001。这样四舍五入时就会有变化,前者可能变成1,... 查看详情

李迟2021年7月知识总结(代码片段)

本文为2021年7月知识总结。编码总结C/C++读取文件,在得到一行字符串中查找中文:intreadIFile2Map(constchar*filename) stringstr;ifstreamifs1(filename);if(!ifs1.is_open())printf("open%sfailed\\n",filename);r 查看详情

李迟2022年11月工作生活总结(代码片段)

本文为2022年11月工作生活总结。研发编码Go研究了一些结构体、json相关的东西,感觉挺方便的,有空单独写出来。Docker使用alphine构建的一个应用服务镜像,其中有一解压zip文件功能sh./config/extract.sh./data/website/Archive:/tm... 查看详情

李迟2022年11月工作生活总结(代码片段)

本文为2022年11月工作生活总结。研发编码Go研究了一些结构体、json相关的东西,感觉挺方便的,有空单独写出来。Docker使用alphine构建的一个应用服务镜像,其中有一解压zip文件功能sh./config/extract.sh./data/website/Archive:/tm... 查看详情

李迟2022年10月工作生活总结(代码片段)

本文为2022年10月工作生活总结。研发编码Go判断interface是否为空判断interface类型是否为空,不能直接使用==nil来判断(用之无效),需先用reflect.ValueOf判断为指针类型,再使用IsNil函数判断,如下:... 查看详情

李迟2022年10月工作生活总结(代码片段)

本文为2022年10月工作生活总结。研发编码Go判断interface是否为空判断interface类型是否为空,不能直接使用==nil来判断(用之无效),需先用reflect.ValueOf判断为指针类型,再使用IsNil函数判断,如下:... 查看详情

李迟2021年10月知识总结(代码片段)

本文为2021年10月知识总结。研发编码C/C++无。golang写了数字签名、数字信封的测试示例,了解了RSA、AES加解密,知道AES的密钥长度必须大于16字节。Docker无。Linux监控指定进程的内存使用情况shell脚本memonitor.sh:#!... 查看详情

李迟2022年6月工作生活总结(代码片段)

本文为2022年6月工作生活总结。研发编码前端需求:某输入框自动补全,带有中文名称,但后端只处理数字,需解析出数字并序列化。如将梧州岑溪001改为001,但页面依然显示前者。解析函数如下:functionde... 查看详情

李迟2022年6月工作生活总结(代码片段)

本文为2022年6月工作生活总结。研发编码前端需求:某输入框自动补全,带有中文名称,但后端只处理数字,需解析出数字并序列化。如将梧州岑溪001改为001,但页面依然显示前者。解析函数如下:functionde... 查看详情

李迟2022年6月工作生活总结(代码片段)

本文为2022年6月工作生活总结。研发编码前端需求:某输入框自动补全,带有中文名称,但后端只处理数字,需解析出数字并序列化。如将梧州岑溪001改为001,但页面依然显示前者。解析函数如下:functionde... 查看详情

李迟2022年9月工作生活总结(代码片段)

本文为2022年9月工作生活总结。研发编码Java调试时发现在Java函数体代码中途使用return返回,其后的代码会报错,提示:java:无法访问的语句不知何故。只好用if(1==0)...这样的形式来达到目的。Go协程及同步相关Go... 查看详情

李迟2022年9月工作生活总结(代码片段)

本文为2022年9月工作生活总结。研发编码Java调试时发现在Java函数体代码中途使用return返回,其后的代码会报错,提示:java:无法访问的语句不知何故。只好用if(1==0)...这样的形式来达到目的。Go协程及同步相关Go... 查看详情

李迟2022年9月工作生活总结(代码片段)

本文为2022年9月工作生活总结。研发编码Java调试时发现在Java函数体代码中途使用return返回,其后的代码会报错,提示:java:无法访问的语句不知何故。只好用if(1==0)...这样的形式来达到目的。Go协程及同步相关Go... 查看详情

李迟2022年8月工作生活总结(代码片段)

本文为2022年8月工作生活总结。研发编码Java接手了一个Java工程事务(注:不是接手工程),在其中添加一个模块。不知为何领导会找到我,或者是没有负责项目的原故,作为十分珍惜工作的人,不敢拒... 查看详情

李迟2021年8月知识总结(代码片段)

本文为2021年8月知识总结。编码总结C/C++产生随机数示例二则。产生给出范围,并指定数量的随机数。即给定数组(实为向量),其内可预先定义有数值,也可以为空,产生随机数时,需保留原定... 查看详情