201905月技术笔记

缘起

  • 有相关问题,仍是得当天就整理下,总月末再整理总有点扯。当天有点忙的话,最迟次日早上来整理好
  • 从20190508晚上整理开始。

Week 19

20190506

  • 在不应浪费时间的地方瞎折腾,定位代码知道是for(){while()}里while()没走到,一直在看for()里的值,也看到了,还怀疑有地方给改掉了,**没想到是while()里的sql语句没取到值。
  • 感受任何地方均可以加|管道符啊env | HOME

20190507

  • 一、在makeall install时报错 “/usr/bin/ld: cannot find -lgtest”linux

    • 第一反应是搜答案,是lib目录下没这个文件,好比usr/lib。
    • 但后面实践来看,有多是makefile中的问题,好比-L$PATH -lgmock,有多是$PATH没有取获得值。
    • 解决方案:我后面这样的报错是,makefile里变量没取到值,给写成环境上的固定路径了。

20190508

  • 一、make是成功的,但最后提示 “make: 警告:检测到时钟错误。您的建立多是不完整的。” (make: warning: Clock skew detected. Your build may be incomplete.)sql

    • 缘由:上传到linux时,win上的时间与linux不一致
    • 解决方案touch一下上传的文件,再从新编译一下。
  • 二、make install时有时报错了但找错的提示行数不太容易,须要把屏幕输出的内容打印到txt文本里。shell

    • 解决方案 make install >a.txt 2>&1
  • 三、我通常是用chmod +x file,看了一下人家shell里写的是chmod u+x数据库

    • 区别是:一个只是对当前用户给执行权限。

20190509

  • 一、类型输出不对,会core。现场碰到个问题,我就直接加日志了,无论啥类型用的是都是[%s],现场报了一个core,因而整理一下类型输出
  • 二、因而想到以前也遇到到size_t类型时,我用的是[%d],静态检查时报错了。安全

    • 解决方案:bool类型[%d],longlong类型[%lld],size_t类型用[%zu]

20190510

  • 一、gtest里也能够到源文件上下断点的,这样便于check一下流程里的输出值为啥与期待输出值不同,能够单步。服务器

    • 最开始自已有点蒙,只想着b 测试代码里断点,死活挂不上,问了一下大佬有两种方式,一种直接b 源代码,还有一种set args --gtest_filter=文件名.函数名

20190511

  • 环境搭好,代码也OK,但有几个指望输出不同,周六就远程在家跑一下,遇到几个问题,记录一下。oracle

    • 用winscp传文件时,提示4的错误 。居然是服务器端空间满了
    • 在vi编辑时出现了假死状况,可能我在操做时误输了ctrl+s输入ctrl+q能通出假死,能继续保存了。
    • 想看一下保存到本地的刷屏日志的大小,仍是用M单位看了爽。ls -l --block-size=M,以前用df -m查看的空间。

19周总结

  • 一、把gtest环境搞起来了,看起来很简单的几行命令,涉及到不一样环境,要不断调makefile。
  • 二、远程支持了人家问题(至少2个),也暴露了自已解决问题不够快。

Week20

20190515

  • 一、编译器提示“error: multiple types in one declaration”,类或结构体没有加分号

20周总结

  • 本周没有太多可列的问题(主要是工做量不饱满)。

Week21

20190521

  • 一、有发心想看看安全,从过后实践看,也就搜集了下资料,内容根本没怎么看,今年仍是要把C++撸完。

20190522

  • 一、现场过来问seq取不到的问题svn

    • 自已主观觉得是自已知道的那个地方,折腾半天,才发现现场配置的地方不支持这个功能。
    • 仍是要确认现场作了些啥,以及他想问啥

20190524

  • 一、其实算代码规范的问题,正常从网上找个例子,人家只会写memccpy(),以为运行出结果就OK,看咱们的规范和CodeReview被指出来的问题,彻底就是没真正了解这个函数啊函数

    • 题外话:malloc()以前要有强转,本质是因为返回值的类型是void*

21周总结

  • 一、本周有发心开始从新看《C++Primer》,同时发现电脑里还有全书的视频,但最早开始看的居然是《C和指针》,自已也开始在NAS上搞了个svn,往里提交学习代码,否则总无法check学了啥。
  • 运行结果OK的代码,并不必定就是好代码,仍是要自已真的读懂每一行才行

Week22

20190527

  • 一、数据库函数确实掌握得很差,NUMber(16,5)是啥都不清楚。长度16,精度5

20190528

  • 一、现场传来一份core文件学习

    • 先跟现场确认一下作了啥操做,引发的core。数据迁移
    • file看一下哪一个进程引发的,自已gdb 进程名 core,再bt下,没有上下文,基本上没找到有用的消息。
    • 让现场的操做一下,发了个截图回来,是OCITransRollback()调用处引发的,这是操做数据库的API,跟现场解释一下,就这么着吧,毕竟我无力解决。能够留着之后跟oracle提

20190530

  • 一、代码规范中,认识到自已一个知识盲区,对于任何没有初始化的代码,我都没有看到出来。(必定要初始化)。

20190531

  • 一、现场给了个截图“Login incorrect. invalid login name or password!”,确认说是用户名、密码是对的,我看了下代码处,以为多是是否是FTP服务器的IP地址配得不对

    • 先确认一下现场是否是新机器,若是是新机器多是环境的配置问题。
    • 要来了一份详细的日志,在这个错以前,其实有个“Error:500”的错,同时以前有了220和331的返回码,说明以前是登陆成功的。
    • 让现场尝试了一下“ftp 服务器地址”,而后putget是否是报错,没有问题。
    • “500 OOPS: cannot change directory”,网上说的改配置都是扯的,首先确认下后面的目录在服务器上是否存在
  • 二、另外一台机器上报530,这个严重些,是一次都没有登陆上过。

    • 未解决呢,目前现场也没联系,可能他自已在试吧,这个好像还真是配置的问题呢。
  • 参考资料

22周总结

履历

  • 20190513整理掉了19W遇到的一些问题。
  • 20190531下午整理的22W的问题,剩下的临时来了个任务没写。
  • 20190601补充完20和21W。
相关文章
相关标签/搜索