李迟2021年11月知识总结
本文为 2021 年 11 月知识总结。
研发编码
C / C++
无。
golang
保留小数点后2位,假定在原数值基础上上浮10%(即1.1倍),但不进位。
// 使用Sprintf有些情况会导致四舍五入
newrate1, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", item*1.1), 64)// 先扩大100位,取整数,再还原成小数,这样不会进位
newrate2 := math.Floor(item*(1+0.10)*100) / 100.0
某天因工作需求将golang写的小工具程序发给某局对接人员,被360检查出木马,作为厅级的下属单位反馈的任何事都不敢马虎。上网查了一下,有较多类似的案例,同样是 golang 写的程序,同样报HEUR/QVM.Malware.Gen
。首先用一个最简单的helloworld
检测,未报错,而该程序就是读取txt文件的数据,再计算,输出结果,不涉及加密、数据库连接、web服务等,实在不知如何被搞。凭着大学看的某安全杂志的知识,想到了加壳脱壳,于是找到 upx 工具,将压缩率调到9,程序体积从 4.5MB下降到 1.5MB,再检查,此时未发现木马,估计是程序的某些库或某些调试信息符合了特征,用 upx 压缩之后就正常了。
Delphi
写文件示例:
// 覆盖式写,不存在会创建
function MyWriteFile(filename, str: string):boolean;
var filev: TextFile;localfilepath,ss: string;
beginlocalfilepath:=gstrAppPath + filename;tryAssignFile(filev, localfilepath);ReWrite(filev);writeln(filev, str);CloseFile(filev);finallyend;
end;// 追加形式
function MyAppendFile(filename, str: string):boolean;
var filev: TextFile;localfilepath,ss: string;
beginlocalfilepath:=gstrAppPath + filename;tryif FileExists(localfilepath) thenbeginAssignFile(filev, localfilepath);append(filev);writeln(filev, str);CloseFile(filev);endelsebeginAssignFile(filev, localfilepath);ReWrite(filev);writeln(filev, str);CloseFile(filev);end;finallyend;
end;
读取 ini 文件:
varfoo: String;sectionName: TStrings;myinifile: TIniFile;sectionName := TStringList.Create;myinifile:=Tinifile.Create(gstrAppPath + 'roadtype.ini');foo := myinifile.ReadString('foosection', 'thecode', '');myinifile.ReadSection('foosection', sectionName);
注意 TStrings 类型需要先创建才能使用。
编码其它
谨慎编码
似乎逃不过年龄的牢笼,年纪大了,思维力也跟着下降,生活上也免不了因为忘记一些事受到抱怨。对于编码,越来越发觉要写容易识别、理解的代码——性能倒是其次的了。
其它研究
excel中标记重复项:开始菜单栏->条件格式->突出显示单元格规则->重复项,可标记出来。
数字前补充0:设置单元格格式->数字->自定义->在类型中选0,如数字共6位,不足前补0,则填6个0。
工作记录
无
本月做的事及计划
参加今年的系统架构师考试,考场座位为30人,实到13人,所有人均坚持三场考试。选择题有很多未见过的,论文写了2600字,设计模式未考,整体感觉不太好,但还是希望能通过。
继去年传统,考试结束后去献血,带大锤实际感受热血,顺便得了一把伞。
坚持在某平台日更发文,除存量文章外,还额外新写了若干篇文章。
较粗略了解了蒙氏教育法,因教具太贵,结合家庭实际情况(主要是可用之物)对大锤和大妞进行适当的训练。
李迟 2021.11.30 周二
李迟2021年11月知识总结相关推荐
- 李迟2021年12月知识总结
本文为 2021 年 12 月知识总结. 研发编码 测试发现,不同语言对浮点数的存储和处理不太相同,比如1.5,有的语言存储的可能是1.49999999999,有的可能是1.500000001.这样四 ...
- 李迟2021年10月知识总结
本文为 2021 年 10 月知识总结. 研发编码 C / C++ 无. golang 写了数字签名.数字信封的测试示例,了解了 RSA .AES 加解密,知道 AES 的密钥长度必须大于16字节. ...
- 李迟2021年8月知识总结
本文为 2021 年 8 月知识总结. 编码总结 C / C++ 产生随机数示例二则. 产生给出范围,并指定数量的随机数.即给定数组(实为向量),其内可预先定义有数值,也可以为空,产生随机数时,需保留 ...
- 李迟2021年9月知识总结
本文为 2021 年 9 月知识总结. 研发编码 C / C++ 无. golang 跟时间转换有关的几个片段: exTime := "20210901"mytime, _ := ...
- 李迟2021年7月知识总结
本文为 2021 年 7 月知识总结. 编码总结 C / C++ 读取文件,在得到一行字符串中查找中文: int readIFile2Map(const char* filename) {string ...
- 李迟2021年6月知识总结
本文为 2021 年 6 月知识总结. 编码总结 C / C++ 使用sscanf检查不确定的输入参数: char name[8] = {0};int type = 0;int threadnum = ...
- 李迟2021年4月知识总结
前言: 上一篇类似的文章,是2011年的3月份,看了下当时写的内容,除了代码外,还有其它思考,但后面越来越少了,年纪大了,想的东西少,也没什么好写了,现在重拾起来,觉得十分有必要,可以将每个月的实践. ...
- 李迟2022年1月知识总结
本文为 2022 年 1 月知识总结. 研发编码 Golang golang中中文字符长度为3,如下示例中,判断某字段中文开头是否为"广西"二字,如是则舍去,只保留后面的字符串,如 ...
- 李迟2022年2月知识总结
本文为 2022 年 2 月知识总结. 研发编码 Golang Linux linux 系统可用 nc 命令来模拟 Socket 服务端和客户端.已在工作中应用到. 在后台执行valgrind时,可用 ...
最新文章
- c++十六进制加法_C++中输出十六进制形式的字符串
- android studio文件风格,Android Studio构建风格 – 如何拥有不同风格的相同源文件
- 【dp】noip2000提高组 乘积最大
- Linux系统命令三剑客之 awk
- SQL基础【十八、事物】(sql事物慎用,还是写业务逻辑代码好一些,入伙涉及到更换数据啥的很麻烦!)
- 服务端增加WCF服务全局异常处理机制
- ubuntu apt-get update 失败解决
- python3 selenium ie 拒绝连接报错_python Selenium权限错误:[WinError 5]访问被拒绝
- Atitit 提升扩展性bpmn艾提拉总结 工作流 目录 1.1. 尽管BPMN 1.1全面地处理了过程建模符号,但它实质上缺少解决交换格式(用于图交换)的问题	1 1.2. BPMN 2.0中使
- AppScan 的安装+激活以及+漏扫dvwa,生成安全报告
- 网络防火墙开发二三事
- 恶劣天气 3D 目标检测数据集收集
- 全国第三届SLAM技术会议记录
- Sequence Model-week1编程题2(Character level language model-Dinosaurus land)
- TRUNCATE,DORP,DELETE
- vagrant给vmbox创建虚拟机及docker安装mysql和redis
- BroadcastReceiver插件化
- 如何制作打首板的量化策略
- 程序员如何管理自己的财富
- 《使用第三方库来显示jpeg图片》