李迟2021年11月知识总结

Posted 李迟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了李迟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;
begin
  localfilepath:=gstrAppPath + filename;
  try
      AssignFile(filev, localfilepath);
      ReWrite(filev);
      writeln(filev, str);
      CloseFile(filev);
  finally
  end;
end;

// 追加形式
function MyAppendFile(filename, str: string):boolean;
var 
  filev: TextFile;
  localfilepath,ss: string;
begin
  localfilepath:=gstrAppPath + filename;
  try
    if FileExists(localfilepath) then
    begin
        AssignFile(filev, localfilepath);
        append(filev);
        writeln(filev, str);
        CloseFile(filev);
    end
    else
    begin
      AssignFile(filev, localfilepath);
      ReWrite(filev);
      writeln(filev, str);
      CloseFile(filev);
    end;
  finally
  end;
end;

读取 ini 文件:

    var
    foo: 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年9月知识总结

李迟2021年9月知识总结

李迟2021年7月知识总结

李迟2021年6月知识总结

李迟2021年10月知识总结

李迟2021年10月知识总结