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。
相關文章
相關標籤/搜索