Android羣英傳神兵利器讀書筆記——第一章:程序員小窩——搭建高效的開發環境


 

  • 1.1 搭建高效的開發環境之操做系統
  • 1.2 搭建開發環境之高效配置
    • 基本環境配置
    • 基本開發工具
  • 1.3 搭建程序員的博客平臺
    • 開發者爲何要寫做
    • 寫做平臺
    • 第三方博客平臺
    • 自建博客平臺
    • 開發論壇
  • 1.4 Geek PPT Persentation
    • impress.js
    • Strut
    • reveal.js
    • Slides
  • 1.5 開發文檔
    • Markdown
    • 項目文檔生成器

做者力薦用MacBook開發,由於其優勢:css

  • 優美的外觀顏值
  • 集Windows的易用性與Linux的高可開發性於一體
  • 使用Unix系統,它是Linux系統的始祖
  • 大量開源軟件和開發工具能夠很是容易地用來M開發Mac版
  • 不用擔憂Windows下的各類電腦病毒和木馬、也不用清理磁盤碎片、甚至不用安裝各類驅動程序
  • 因爲Mac與Android內核都是Unxi\Linux架構,不須要任何驅動程序就可使用
  • 系統安全性很是高

Mac快捷鍵一覽表:
https://support.apple.com/zh-cn/HT201236html

窗口操做前端

  • Command+~:切換同一應用的窗口
  • Command+tab:切換不一樣應用的窗口
  • Command+W:關閉該應用的其中一個窗口
  • Command+Q:關閉該應用
  • Command+N:快速建立應用新窗口

截圖node

  • Command+Shift+4:自由截圖
  • Command+Shift+4+空格鍵:截取當前窗口

編輯git

  • Command+Left\Right:關標快速移到行首或者行尾
  • Option+Left\Right:按單詞進行關標移動
  • Command+Up\Down:在一頁的頁首和頁尾快速切換
  • Command+Delete:快速刪除一行

Fn鍵程序員

  • 經過在」系統偏好設置-鍵盤」中選中」將F一、F2等鍵用做標準功能鍵」
  • 這樣修改的一個緣由就是在不少IDE、編輯器中,Fn鍵都是一些快捷鍵

Trackpad觸控板github

  • 手勢進行縮放、旋轉;頁面、工做區直接進行切換;顯示桌面和多任務調度
  • 經過在」系統偏好設置-觸控板」中設置
  • Win10也改進了觸控板,增長了相似Mac的手勢功能

Dock數據庫

  • Dock設置爲」自動顯示和隱藏」,讓桌面更簡潔
  • Win10也有相似Mac的自動隱藏功能


Homebrew:Mac下的包管理工具(http://brew.sh/index.html)編程

Homebrew的安裝:只須要在終端輸入安全

經過Homebrew安裝Node.js,會自動配置好環境變量:


Homebrew鏡像

  • 因爲國外的軟件,在國內下載會比較慢
  • 鏡像地址:http://ban.ninja/


Homebrew Cask:是Homebrew的孿生兄弟

它們的優勢都是能夠直接在終端快速完成App的下載和安裝,並配置好各類環境變量

Homebrew和Homebrew Cask的區別:

  • Homebrew 是直接下載源碼解壓,而後執行https://blog.csdn.net/qq_30379689/article/details/configure指令和make install指令,統一安裝在/usr/local/bin/目錄下
  • Homebrew Cask下載已經編譯好的應用包(.dmg或者.pkg文件),解壓後放到統一的目錄——/opt/homebrew-cask/Caskroom

安裝Homebrew Cask:

經過Homebrew Cask能夠得到各類開發軟件:

  • brew cask install evernote
  • brew cask install skype
  • brew cask install mou
  • brew cask install virtualbox
  • brew cask install iterm2
  • ……

經過Homebrew Cask能夠搜索咱們須要的App:

若是Homebrew Cask沒有收錄你想下載的App,那麼你能夠直接在其項目中提交pull request

另外,還能夠查看App的相關信息:

或者經過uninstall指令卸載App:

甚至你能夠新建一個Shell腳本,輸入全部你想要安裝的App,從而建立一個一鍵自動安裝全部App的腳本


iTerm2終端工具:iTerm2纔是Mac下最好用的終端工具

安裝iTerm2:

  • 相比Mac原生的終端工具,iTerm2提供了更多的功能,例如強大的快捷鍵支持、指令歷史記錄(Command+Shift+H)、自動補全提示(Command+;)強大的搜索功能和粘貼複製功能,等等
  • iTerm2提供了對整個終端工具的全面配置權限,你能夠爲所欲爲地設置iTerm2的各類顏色、透明度,打造一個徹底適合你本身開發風格的終端工具
  • http://iterm2colorschemes.com/這個網站收集了大量的配色文件,根據本身的喜愛,下載相應的xxx.itermcolors文件,雙擊進行安裝,完成配置
  • 設置iTerm2的配色也很是簡單,只須要打開preferences,選擇profiles-color標籤便可導入主題顏色


Zsh與oh-my-zsh

  • 什麼是Shell?從語義上講,Shell是個殼,就是包裹內核的殼,用戶是不能直接與內核通訊的,可是內核提供了一個可以與你通訊的對象,這個對象就是Shell
  • Zsh就是幫助用戶使用Shell的工具

顯示目前系統中存在的全部Shell:

  • 因爲Zsh配置難度很大,因此通常用戶很難使用,幸好有個叫RobbyRussell的程序員開發出了一個項目——oh-my-zsh,簡化Zsh的配置,也保留了強大的功能

因爲Mac系統自帶了Zsh,切換到Zsh須要使用下面指令:

切完成後就能夠直接在oh-my-zsh的官網尋找須要的功能答案,不須要百度和Google,官網首頁就有http://ohmyz.sh/

  • 安裝oh-my-zsh

安裝後,打開配置文件——.zshrc,進行配置

  • 設置環境變量,例如Android SDK的環境變量:
  • 經過alias別名設置別名,能夠簡化複雜的命令

這樣配置後,能夠在終端輸入cls就能執行clear所執行的清屏命令

這樣配置後,能夠在終端輸入test.html等html文件,便可自動用Sublime打開該文件

另外還有不少別名,如git等操做,能夠看官網介紹https://github.com/robbyrussell/oh-my-zsh/wiki/Plugin:git

  • 設置主題:oh-my-zsh的主題設置是它的另外一個很是強大的功能,在~/oh-my-zsh/themes目錄下,保存了各類主題的配置文件,讀者能夠根據本身的喜愛,設置不一樣的主題

官網https://github.com/robbyrussell/oh-my-zsh/wiki/Themes,要修改主題也很簡單,只須要修改配置文件中的ZSH_THEME參數便可

  • 插件:在~/.oh-my-zsh/plugins目錄下,保存了各類插件,幾乎你想要的功能,在官網都有https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins,只需在配置文件中找到plugins參數,並在後面的括號中增長相應的插件名便可

Zsh有不少強大的功能,在終端進入一個目錄時,通常要使用cd指令,但在Zsh中直接輸入目錄名便可,並且輸入d指令,能夠查看歷史跳轉過的路徑,選擇前面的數字,便可再次跳轉


終端使用技巧

  • 快速定位:經過Alt+鼠標點擊能夠將光標快速定位到鼠標點擊的地方,另外,經過Control+A和Control+E快捷鍵,快速將光標移動到開頭和結尾處
  • 搜索指令:使用Control+R能夠搜索輸入的歷史指令。系統會進行模糊匹配,找到匹配的歷史指令
  • Find:該指令的基本使用格式find[paht][options][experssion],例如在當前目錄下查」.txt」結尾文件,指令爲
  • Grep:這個指令後面會講解到,用於過濾篩選結果的

Alfred2搜索利器

在Mac系統中,系統給咱們提供了一個強大的搜索工具——Spotlight

  • 點擊菜單欄上的那個小放大鏡便可啓動
  • Spotlight能作的,Alfred2都能作,Spotlight不能作的,Alfred2也能作,Alfred2不能作的,你能夠編程讓它作
  • 可使用Homebrew安裝Alfred2
  • 一般狀況下,Alfred2用來替代Spotlight功能的,所以通常將Alfred2的快捷鍵設置爲Option+Space
  • 打開Alfred2的Preferences界面,選擇Features選項卡,如圖

在Features選項卡下,Alfred2列舉了它的一些基本功能,例如全文件檢索,如圖

經過直接輸入open、find、in、tags關鍵字,直接啓動打開、尋找並打開文件目錄、在文件中檢索、經過tag檢索等功能,例如直接輸入指令

  • 直接回車就能夠打開這個文件,find直接打開文件所在目錄、in能夠直接搜索文件的內容、tags能夠根據tag來進行檢索
  • 不光是本機,Alfred2一樣能夠在Web上進行搜索,如圖

Alfred2中能夠自定義一些搜索,點擊右下角」Add Custom Search」按鈕,在Search URL中輸入http://s.taobao.com/search?q={query},如圖

這樣設置後就能夠在Alfred2中輸入tao關鍵字就能夠直接調用淘寶搜索了,如圖

相似地,你能夠徹底定義自動的搜索入口,只需將相應的搜索URL中的搜索內容換成{query}便可

Alfred2還提供了強大的系統功能支持,如圖

常見的鎖屏只須要輸入lock便可鎖屏

  • 相關的Log out、睡眠、清空垃圾箱、關機、退出程序等系統操做,均可以經過Alfred2

Alfred2提供了強大的Workflows功能(須要購買Alfred2的powerpack),經過點擊Preferences界面的Workflows選項卡,能夠打開Workflows,因爲我的沒有購買這裏就不展現了

  • 在Workflows中,能夠自定義各類高級的功能入口,豐富到幾乎均可以經過Alfred2來實現,這裏添加一個簡單的Workflows——Top Workflows,安裝了這個Workflow2以後,調出Alfred2,直接輸入top

  • 這時列表中會自動顯示目前的進程狀態,相似直接在終端中執行的top指令,選中相應的進程,或者輸入kill就能夠直接結束掉這個進程,整個進程都不須要打開終端

  • 這只是個很是簡單的,還有更多的Workflows請看官網:http://alfredworkflow.com/

  • Alfred2安裝Workflows,官網:https://github.com/zenorocha/alfred-workflows

  • 這些Workflows網站上,收集了數以萬計的Workflows,例如直接搜索快遞單號信息、列出今日知乎精華帖、檢索新聞、天氣信息等等,甚至還能夠在Alfred2直接發送微博,Facebook、或者進制轉換等功能

在Windows系統中雖然沒有Alfred2,可是有一個很強的搜索利器——Everything,大部分能夠替代Alfred2的搜索功能


Sublime Text

  • SublimeText的安裝和配置能夠看我另外一篇博客,其內容大同小異:SublimeText3和插件的安裝
  • 使用Homebrew安裝Sublime,若是是手動安裝則須要手動配置環境變量
  • Multi Cursor Editor:按住Command+點擊要編輯的地方可增長光標,從而進行多行同時編輯,按住Option+按住鼠標拖動,便可實現縱向多光標編輯
  • Goto anything:Command+P能夠打開該指令,經過該指令能夠查找打開的全部文件,當打開文件爲代碼時,在Goto anything中輸入@符號,能夠查看代碼大綱結構

Bartender

Bartender做用很是簡單,幫你管理Mac的菜單欄,其地址爲:https://www.macbartender.com/


反編譯工具

  • Jadx:項目主頁https://github.com/skylot/jadx
  • 經過以下進行下載和編譯

若是已經配置好了gradle的環境變量,那麼直接執行build指令便可,等Jadx編譯完畢,進入其build/jadx/bin/目錄,執行如下操做:

執行完畢後,在bin目錄下就會生成out目錄,裏面就是反編譯出的文件

這個反編譯工具優點在於能夠一次性完成資源和代碼的反編譯,同時GUI界面支持強大的搜索能力


其餘經常使用工具

Git:分佈式版本管理工具

Java:使用Homebrew安裝能自動配置好環境變量

Android Studio:安卓開發IDE

Parallels Desktop:Mac中虛擬機
1Password:Mac下的密碼管理軟件
Tree:查看文檔的目錄結構

強化Finder:經常使用的Finder強化工具,主要有Pathfinder和XtraFinder兩種


在筆者看來,開發者在剛開始寫做的時候,建議選擇第三方平臺,一來能夠只關心寫做的內容,培養好的寫做習慣,二來能夠利用它們龐大的用戶羣,快速提升本身的技術影響力(前提是要有高質量的文章)


自建博客平臺

  • WordPress是一種使用PHP開發的博客平臺,用戶能夠在支持PHP和MySQL數據庫的服務器上架設博客平臺
  • Jekyll、Octopress:Jekyll和Octopress一樣出自於Ruby,它們的共同特色是能夠經過命令行快速生成靜態網頁,再利用Github Pages這個純自然的託管平臺,幾乎幾分鐘就能搭建好本身的博客
    • Jekyll和Octopress的官網分別是:http://jekyll.bootcss.com/和http://octopress.org/
  • Ghost:前面兩種都是基於Ruby的,Ghost則是基於Node.js的,Ghost自己就具備發佈文章的功能,相似於輕量級的WordPress,其官網:https://ghost.org/中文官網:http://www.ghostchina.com/
    • 經過Ghost的後臺發佈系統,用戶能夠很方便地發佈文檔,Ghost後臺編輯一樣適用於Markdown等格式
  • Hexo:好戲在後頭,對於Hexo搭建博客,能夠看個人我的博客:Mac下使用Hexo搭建我的博客

Gitbook

除了博客這種平臺之外,開發者還能夠經過Gitbook建立本身的文集,Gitbook正是這樣一個分常好的本地、在線文庫製做工具,網址:https://www.gitbook.com/
Gitbook安裝使用很是簡單,在官網上下載相應的Gitbook editor或者使用在線版本便可


開發者論壇

NodeBB:基於Node.js的論壇系統,網址https://community.nodebb.org/
筆者已經在公司搭建了本身的開發者論壇,地址以下:http://bbs.inside.hujiang.com/


一般狀況下,Microsoft的PPT是作Presentation的首選工具,一樣,Mac下也有一款幾乎一樣功能的工具——Keynote,它與PPT功能基本相似,並且兼容PPT格式


impress.js

impress.js(https://impress.github.io/impress.js/#/bored)是一個專門用於建立Presentation的JavaScript庫
生成後的頁面徹底可使用鍵盤方向鍵來進行控制,在它的官網上,做者給出了impress.js的詳細信息,https://github.com/impress/impress.js
若是不熟悉前端的朋友能夠直接把Demo拿過去修改,也能夠很酷炫,Demo地址https://github.com/impress/impress.js/wiki/Examples-and-demos


Strut

Strut(http://strut.io)其實是基於impress.js開發的一款編輯器,它給本來沒有編輯器支持的impress.js提供了可視化的編輯界面,大大下降了impress.js使用難度


reveal.js

與impress.js相似,reveal.js是一個基於Html5和JavaScript的Presentation展現框架,其官網:https://github.com/hakimel/reveal.js
顯示效果與impress.js基本一致,但reveal.js更貼心的是,他製做了本身的在線編輯器,地址: http://slides.com/


Slides

Slides(http://slides.com/)相似於一款在線的PPT製做工具


Markdown是一種標記性語言,經過使用簡單的語法來實現統一的文字格式,出來的格式很整齊,若是不懂MarkDown的語法,網上有不少資料可供學習


MarkDown編輯器

推薦經常使用的編輯器有如下幾種:

  • 做業部落:在線MarkDown編輯器,包括Web在線版和PC版,同時還能在多端同步
  • CSDN博客:在線 MarkDown編輯器
  • Macdown:Mac編輯器,基於Mou這個經典的Markdown工具改進而來
  • Typora:這款Markdown編輯器與前面全部的編輯器最大的區別就是他沒有文本預覽界面

大部分的Markdown編輯器都提供了相似富文本編輯器的工具欄

若是用戶忘記了某些格式的標識符,能夠經過工具欄進行找到對應格式的標識符,Markdown提供了簡潔、高效的文檔標記語法,被普遍運用於各類開源項目的README文檔、說明文檔等,趙雯同時Markdown語法還兼容HTML語法


項目文檔生成器

幫助開發者展現項目文檔的工具:MkDocs,該工具的項目地址爲http://www.mkdocs.org/ 該工具生成的界面,左邊是項目的文檔結構,右邊則是對應的文檔說明,簡潔明瞭,一目瞭然 經過這個工具能夠清晰地展示項目文檔,這個項目僅僅是經過Markdown文件就能夠生成,同時還能夠設置不一樣的主題和風格,適用於開發者進行文檔管理 相似的工具還有Raneto Docs(http://raneto.com),這些工具基本上都是一個原理,Markdown的優點可見一斑。

相關文章
相關標籤/搜索