git submodules
當(dāng)你在一個(gè)項(xiàng)目中需要使用其他 repository 時(shí),你可以將其源碼復(fù)制到本地集成厅须,但是這樣后續(xù)該代碼更新的時(shí)候就很難保持更新拷恨。一個(gè)更好的方法是使用 submodule某饰。方便集成,同時(shí)保持一定的獨(dú)立性湖笨,且易于更新。
http://www.reibang.com/p/9000cd49822c
git remote
使用 git 的時(shí)候蹦骑,經(jīng)常會(huì)使用依照教程使用一些關(guān)鍵詞慈省,比如remote, origin, master,久而久之 成為習(xí)慣眠菇,但是不知道什么意思边败。
$git remote
origin
"remotes":repositories whose branches you track.
http://gitimmersion.com/lab_39.html
簡(jiǎn)單概括, orign 是其中一個(gè)遠(yuǎn)程倉庫(remotes)的名字捎废,一般默認(rèn)的約定俗成的遠(yuǎn)程服務(wù)器都會(huì)成為 origin笑窜,一般指 的就是 github 或者自建 git 服務(wù)器的 repo。
git remote add origin https://github.com/aaron0769/test.git
git push -u origin master
第一句指定遠(yuǎn)程分支 origin 指向什么地址登疗。這里不一定要遠(yuǎn)程地址排截,也可以是一個(gè)本地的 git 目錄。第二句指上傳 master 分支到 origin 這個(gè) remote辐益,只要第一次指定即可匾寝。
對(duì)git初學(xué)者來說,容易被不同命令之間操作的對(duì)象以及位置搞混荷腊,提供一個(gè)這樣的圖供參考。
來源
https://patrickzahnd.ch/uploads/git-transport-v1.png
shellcheck
https://www.shellcheck.net/
finds bugs in your shell scripts.
“shell 腳本猛于虎”急凰,shell 腳本引發(fā)過故障已經(jīng)不用多舉例子了女仰,但日常工作中有時(shí)用 shell 又能帶來非常大的便利,又不得不用抡锈。shellcheck 是一個(gè)用于檢查 shell 腳本中潛在問題和風(fēng)險(xiǎn)的工具疾忍,一定程度上避免可能出現(xiàn)的shell腳本的bug。
? cat test.sh
my_home=`ls ~/tmp/tmp/`
rm ~/tmp/tmp/$my_home
? shellcheck test.sh
In test.sh line 1:
my_home=`ls ~/tmp/tmp/`
^-- SC2148: Tips depend on target shell and yours is unknown. Add a shebang.
^-- SC2006: Use $(..) instead of legacy `..`.
In test.sh line 2:
rm ~/tmp/tmp/$my_home
^-- SC2086: Double quote to prevent globbing and word splitting.
Restful API 對(duì)于長時(shí)間任務(wù)的處理方法
Restful API 已經(jīng)成為了大部分 HTTP API 的通用標(biāo)準(zhǔn)床三,用于處理資源的表示比較簡(jiǎn)單快捷一罩。但 HTTP 本身是無狀態(tài)的協(xié)議,對(duì)于需要較長時(shí)間執(zhí)行的任務(wù)來說天然不適合處理撇簿。因此 Restfulapi 對(duì)于這類需要長時(shí)間執(zhí)行的任務(wù)會(huì)通過異步的方式進(jìn)行調(diào)用聂渊。在響應(yīng)中,返回狀態(tài)碼202(accepted)和一個(gè)任務(wù) id四瘫,用于請(qǐng)求方后續(xù)的查詢汉嗽,也可以包含其他信息例如預(yù)估時(shí)間等。
https://www.oreilly.com/library/view/restful-web-services/9780596809140/ch01s10.html
apple Shortcuts
有哪些實(shí)用有趣的 iOS 12 捷徑(Shortcuts)分享找蜜? - 知乎
https://www.zhihu.com/question/295095411
iTerm 綁鍵小改動(dòng)大方便
iTerm 是每天工作的主要界面饼暑,常常在不同的 tab 和 pane 之間切換。有時(shí)候也會(huì)在同一個(gè)窗口中用 vim 分割成不同的窗口,因此又多了一層切換弓叛。
我的方案是這樣的:
cmd(Mac 下)用來可控制 iTerm 窗口的切換彰居,ctrl 用來控制 vim 或者 shell 里面的窗口切換。然后通過修改 iTerm 默認(rèn)鍵撰筷,實(shí)現(xiàn)快速的跳轉(zhuǎn)陈惰,以下是我的綁定設(shè)定逞敷,你可以參考:
iTerm -> Preference -> Keys -> ‘+’新增綁定:
cmd + h/l 左右跳轉(zhuǎn)不同的 tab
cmd + j/k 跳轉(zhuǎn)同一個(gè) tab 下的不同 pane(面板)
bash 下(默認(rèn))的快捷鍵:
ctrl + a/e 跳轉(zhuǎn)一行的最前或最后
ctrl + f/b 同一行的字符前后移動(dòng)
ctrl + p/n 上下行跳轉(zhuǎn)
vim 中著恩,我也修改了綁定鍵實(shí)現(xiàn)方便的跳轉(zhuǎn)
"split navigations
nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K>
nnoremap <C-L> <C-W><C-L>
nnoremap <C-H> <C-W><C-H>
nnoremap <C-W> <C-W><C-W>