2017-06-16

[Git] 如何寫好一個commit

目前使用Git 一段時間,這邊做個筆記關於如何寫好一個commit這件事

1. 第一個字大寫
(X)   add something to somewhere
(O)   Add something to somewhere

2. 不加句點
(X)   Add something to somewhere.
(O)   Add something to some where

3. 描述修了什麼樣的Bug,非描述怎麼修Bug
(X) To change B way from A  on XXX_function to avoid getting crash
(O) Fix XXX_function to avoid getting crash

4. commit除了改了什麼以外,也要加個理由
(X) Use pthread instead of semaphore
(O) Use pthread instead of semaphore for <reason what>

PS. Bug怎麼修可下以下指令去查看
git log -p <commit-id>

Change log
2017/06/16 First Adding
2017/08/20 Add number 4th item


2017-06-15

[TLPI] L24_Process

Q1. fork() 成功回傳值是什麼? 失敗回傳值是什麼? 有什麼可能原因會讓它失敗?

[TLPI] L5_IO

Update:2017/06/18

1. 每個process都有自己一組檔案描述符組,如下:
pipeFIFOsokcetterminaldevicenormal file


Q1. 什麼是檔案偏移量?

  • 簡單講就是執行下一個read()或write()的位置。


Q2. 什麼是開啟檔案狀態旗標?

  1.  就是在open()呼叫的flags參數。例如像是: O_RDONLY, O_WRONLY, O_RDWR,其他種類可以參照: https://linux.die.net/man/3/open
  2.  可透過fcntl去get or set,已經透過open()呼叫的flags參數,目前不清楚使用理由。


Q3. mkstemp用途是什麼? 為什麼需要這個? 有什麼特別注意的地方嗎?

Q4. fcntl用途是什麼? 有什麼常用的flag?

Q5. 什麼是O_APPEND flag? 用途是什麼? 有什麼常用的flag? 為什麼需要這個?
example:
flags &= O_APPEND?
flags |= O_APPEND?