現階段的一些疑問

Linux OS:

  1. 問題: 所有的Apps/Plug-in,都是在command line呼叫後,才開始啟動功能性嗎? 還是一直是背景在等候執行? 如果是後者的情形,是否會因此而造成"功能越多,性能越用越慢"的情形?

Shell script:

  1. PATH的原理,像是VBiard所寫的:
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH1
問題點: 是何以得來? The PATH =/ directory, and the export mechanism 

Git:

  1. 如果同時有User A 與 B,以及一個Main Repository (由管理者維護),目前工作進程來到版本1,而 A 與 B 同時進行整個Main Repository 的 clone,如下圖:

    User A 在 local commit 2.a 版本後,push 回 main repository (可看見所做的變更為: 刪減了檔案c),此時 Usr B 仍在進行自己local 端的 2.b 版本,接著,B做了一些local commit 更新後,希望能從 main repository 做版本更新,如下:

    User B 在 local commit 2.b 版本增加了檔案 d,但想在 3.b 版本做一個 main repository 跟進,所以欲進行一次 pull,而這次 pull 版本 2 造成本地端的檔案庫不再有檔案 c, d。

    問題點: 這時 User B本地端的檔案庫仍然會存留著檔案 c, d以供回溯嗎?

    2017/7/17 找到的答案:
        如果User A先行 push 到 main,由於main在版本 1 之後沒有別的更動,這次的push稱之為 fast forward,可以"無痛"更新,這時候如果 User B要再 2.b 直接push 上Main branch 就會被 deny,因為與clone的版本 1比較已有改動。
        這時候我們可以做的事情就是進行merge, 多出的部分就會直接加入新的一個version 中,而如果version 2 與 3.b 有所差異的"重疊部分" (如: file a, b) 系統便會詢問是否手動更新,在此之後便可以merge 成一個新的版本 3 back to Main branch。

    reference: 猴子Git

Work Rand():

  1. The art of 'Asking questions', it's about timing, subject, object, way of imp.
  2. At the meeting, Paul said that he thinks that the really great engineer most of the time isn't Indian (as most of the ppl think they're good at IT and programming) , instead, are the 'white ppl'. But I don't quite understand what makes a good engineer? Is it the intelligence or the way of doing things or the way of learning new tech or the mindset or it's a systemic scope of argument.  

留言