美文网首页
一周学习精选(2018-09-23)

一周学习精选(2018-09-23)

作者: Aaaaaaaron | 来源:发表于2018-09-23 18:51 被阅读0次

    git submodules

    当你在一个项目中需要使用其他 repository 时,你可以将其源码复制到本地集成,但是这样后续该代码更新的时候就很难保持更新。一个更好的方法是使用 submodule。方便集成,同时保持一定的独立性,且易于更新。

    https://www.jianshu.com/p/9000cd49822c

    git remote

    使用 git 的时候,经常会使用依照教程使用一些关键词,比如remote, origin, master,久而久之 成为习惯,但是不知道什么意思。

    $git remote
    origin
    

    "remotes":repositories whose branches you track.

    http://gitimmersion.com/lab_39.html
    简单概括, orign 是其中一个远程仓库(remotes)的名字,一般默认的约定俗成的远程服务器都会成为 origin,一般指 的就是 github 或者自建 git 服务器的 repo。

    git remote add origin https://github.com/aaron0769/test.git
    git push -u origin master
    

    第一句指定远程分支 origin 指向什么地址。这里不一定要远程地址,也可以是一个本地的 git 目录。第二句指上传 master 分支到 origin 这个 remote,只要第一次指定即可。

    参考
    https://stackoverflow.com/questions/5617211/what-is-git-remote-add-and-git-push-origin-master/5617350

    对git初学者来说,容易被不同命令之间操作的对象以及位置搞混,提供一个这样的图供参考。

    git-transport-v1.png

    来源
    https://patrickzahnd.ch/uploads/git-transport-v1.png

    shellcheck

    https://www.shellcheck.net/
    finds bugs in your shell scripts.
    “shell 脚本猛于虎”,shell 脚本引发过故障已经不用多举例子了,但日常工作中有时用 shell 又能带来非常大的便利,又不得不用。shellcheck 是一个用于检查 shell 脚本中潜在问题和风险的工具,一定程度上避免可能出现的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 对于长时间任务的处理方法

    Restful API 已经成为了大部分 HTTP API 的通用标准,用于处理资源的表示比较简单快捷。但 HTTP 本身是无状态的协议,对于需要较长时间执行的任务来说天然不适合处理。因此 Restfulapi 对于这类需要长时间执行的任务会通过异步的方式进行调用。在响应中,返回状态码202(accepted)和一个任务 id,用于请求方后续的查询,也可以包含其他信息例如预估时间等。

    https://www.oreilly.com/library/view/restful-web-services/9780596809140/ch01s10.html

    apple Shortcuts

    有哪些实用有趣的 iOS 12 捷径(Shortcuts)分享? - 知乎
    https://www.zhihu.com/question/295095411

    iTerm 绑键小改动大方便

    iTerm 是每天工作的主要界面,常常在不同的 tab 和 pane 之间切换。有时候也会在同一个窗口中用 vim 分割成不同的窗口,因此又多了一层切换。

    我的方案是这样的:
    cmd(Mac 下)用来可控制 iTerm 窗口的切换,ctrl 用来控制 vim 或者 shell 里面的窗口切换。然后通过修改 iTerm 默认键,实现快速的跳转,以下是我的绑定设定,你可以参考:

    iTerm -> Preference -> Keys -> ‘+’新增绑定:
    cmd + h/l 左右跳转不同的 tab
    cmd + j/k 跳转同一个 tab 下的不同 pane(面板)

    bash 下(默认)的快捷键:
    ctrl + a/e 跳转一行的最前或最后
    ctrl + f/b 同一行的字符前后移动
    ctrl + p/n 上下行跳转

    vim 中,我也修改了绑定键实现方便的跳转

    "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>
    

    相关文章

      网友评论

          本文标题:一周学习精选(2018-09-23)

          本文链接:https://www.haomeiwen.com/subject/vajqoftx.html