天天看點

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

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

目錄

  • 1.1 搭建高效的開發環境之作業系統
  • 1.2 搭建開發環境之高效配置
    • 基本環境配置
    • 基本開發工具
  • 1.3 搭建程式員的部落格平台
    • 開發者為什麼要寫作
    • 寫作平台
    • 第三方部落格平台
    • 自建部落格平台
    • 開發論壇
  • 1.4 Geek PPT Persentation
    • impress.js
    • Strut
    • reveal.js
    • Slides
  • 1.5 開發文檔
    • Markdown
    • 項目文檔生成器

1.1 搭建高效的開發環境之作業系統

作者力薦用MacBook開發,因為其優點:
  • 優美的外觀顔值
  • 集Windows的易用性與Linux的高可開發性于一體
  • 使用Unix系統,它是Linux系統的始祖
  • 大量開源軟體和開發工具可以非常容易地用來M開發Mac版
  • 不用擔心Windows下的各種電腦病毒和木馬、也不用清理磁盤碎片、甚至不用安裝各種驅動程式
  • 由于Mac與Android核心都是Unxi\Linux架構,不需要任何驅動程式就可以使用
  • 系統安全性非常高

Mac快捷鍵一覽表:

https://support.apple.com/zh-cn/HT201236

視窗操作
  • Command+~:切換同一應用的視窗
  • Command+tab:切換不同應用的視窗
  • Command+W:關閉該應用的其中一個視窗
  • Command+Q:關閉該應用
  • Command+N:快速建立應用新視窗
截圖
  • Command+Shift+4:自由截圖
  • Command+Shift+4+空格鍵:截取目前視窗
編輯
  • Command+Left\Right:關标快速移到行首或者行尾
  • Option+Left\Right:按單詞進行關标移動
  • Command+Up\Down:在一頁的頁首和頁尾快速切換
  • Command+Delete:快速删除一行

1.2 搭建開發環境之高效配置

Fn鍵
  • 通過在”系統偏好設定-鍵盤”中選中”将F1、F2等鍵用作标準功能鍵”
  • 這樣修改的一個原因就是在很多IDE、編輯器中,Fn鍵都是一些快捷鍵
Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境
Trackpad觸控闆
  • 手勢進行縮放、旋轉;頁面、工作區直接進行切換;顯示桌面和多任務排程
  • 通過在”系統偏好設定-觸控闆”中設定
  • Win10也改進了觸控闆,增加了類似Mac的手勢功能
Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境
Dock
  • Dock設定為”自動顯示和隐藏”,讓桌面更簡潔
  • Win10也有類似Mac的自動隐藏功能
Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境

基本開發工具

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

Homebrew的安裝:隻需要在終端輸入
通過Homebrew安裝Node.js,會自動配置好環境變量:
brew install node
           

Homebrew鏡像

  • 由于國外的軟體,在國内下載下傳會比較慢
  • 鏡像位址:http://ban.ninja/
Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境

Homebrew Cask:是Homebrew的孿生兄弟

它們的優點都是可以直接在終端快速完成App的下載下傳和安裝,并配置好各種環境變量

Homebrew和Homebrew Cask的差別:

  • Homebrew 是直接下載下傳源碼解壓,然後執行./configure指令和make install指令,統一安裝在/usr/local/bin/目錄下
  • Homebrew Cask下載下傳已經編譯好的應用包(.dmg或者.pkg檔案),解壓後放到統一的目錄——/opt/homebrew-cask/Caskroom
安裝Homebrew Cask:
brew install caskroom/cask/brew-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:
brew cask search android
           

如果Homebrew Cask沒有收錄你想下載下傳的App,那麼你可以直接在其項目中送出pull request

另外,還可以檢視App的相關資訊:

brew-cask info node
           
或者通過uninstall指令解除安裝App:
brew cask uninstall node
           
甚至你可以建立一個Shell腳本,輸入所有你想要安裝的App,進而建立一個一鍵自動安裝所有App的腳本

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

Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境
安裝iTerm2:
brew cask install iterm2
           
  • 相比Mac原生的終端工具,iTerm2提供了更多的功能,例如強大的快捷鍵支援、指令曆史記錄(Command+Shift+H)、自動補全提示(Command+;)強大的搜尋功能和粘貼複制功能,等等
  • iTerm2提供了對整個終端工具的全面配置權限,你可以随心所欲地設定iTerm2的各種顔色、透明度,打造一個完全适合你自己開發風格的終端工具
  • http://iterm2colorschemes.com/這個網站收集了大量的配色檔案,根據自己的喜好,下載下傳相應的xxx.itermcolors檔案,輕按兩下進行安裝,完成配置
  • 設定iTerm2的配色也非常簡單,隻需要打開preferences,選擇profiles-color标簽即可導入主題顔色
Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境

Zsh與oh-my-zsh

  • 什麼是Shell?從語義上講,Shell是個殼,就是包裹核心的殼,使用者是不能直接與核心通信的,但是核心提供了一個能夠與你通信的對象,這個對象就是Shell
  • Zsh就是幫助使用者使用Shell的工具
顯示目前系統中存在的所有Shell:
cat /etc/shells
           
Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境
  • 由于Zsh配置難度很大,是以一般使用者很難使用,幸虧有個叫RobbyRussell的程式員開發出了一個項目——oh-my-zsh,簡化Zsh的配置,也保留了強大的功能
由于Mac系統自帶了Zsh,切換到Zsh需要使用下面指令:
chsh -s /bin/zsh
           
切完成後就可以直接在oh-my-zsh的官網尋找需要的功能答案,不需要百度和Google,官網首頁就有http://ohmyz.sh/
  • 安裝oh-my-zsh
安裝後,打開配置檔案——.zshrc,進行配置
~ open.zshrc
           
  • 設定環境變量,例如Android SDK的環境變量:
export PATH=${PATH}:/Users/xuyisheng/Library/Android/sdk/platform-tools
export PATH=${PATH}:/Users/xuyisheng/Library/Android/sdk/tools
           
  • 通過alias别名設定别名,可以簡化複雜的指令
這樣配置後,可以在終端輸入cls就能執行clear所執行的清屏指令
alias -s html=subl
           

這樣配置後,可以在終端輸入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
Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境
  • 點選菜單欄上的那個小放大鏡即可啟動
  • Spotlight能做的,Alfred2都能做,Spotlight不能做的,Alfred2也能做,Alfred2不能做的,你可以程式設計讓它做
  • 可以使用Homebrew安裝Alfred2
  • 通常情況下,Alfred2用來替代Spotlight功能的,是以一般将Alfred2的快捷鍵設定為Option+Space
  • 打開Alfred2的Preferences界面,選擇Features頁籤,如圖
Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境
在Features頁籤下,Alfred2列舉了它的一些基本功能,例如全檔案檢索,如圖
Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境
通過直接輸入open、find、in、tags關鍵字,直接啟動打開、尋找并打開檔案目錄、在檔案中檢索、通過tag檢索等功能,例如直接輸入指令
Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境
  • 直接回車就可以打開這個檔案,find直接打開檔案所在目錄、in可以直接搜尋檔案的内容、tags可以根據tag來進行檢索
  • 不光是本機,Alfred2同樣可以在Web上進行搜尋,如圖
Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境
Alfred2中可以自定義一些搜尋,點選右下角”Add Custom Search”按鈕,在Search URL中輸入http://s.taobao.com/search?q={query},如圖
Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境
這樣設定後就可以在Alfred2中輸入tao關鍵字就可以直接調用淘寶搜尋了,如圖
Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境

類似地,你可以完全定義自動的搜尋入口,隻需将相應的搜尋URL中的搜尋内容換成{query}即可

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

Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境
常見的鎖屏隻需要輸入lock即可鎖屏
Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境
  • 相關的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/
Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境

反編譯工具

  • Jadx:項目首頁https://github.com/skylot/jadx
  • 通過如下進行下載下傳和編譯
git clone https://github.com/skylot/jadx.git
//編譯
gradle build
           
如果已經配置好了gradle的環境變量,那麼直接執行build指令即可,等Jadx編譯完畢,進入其build/jadx/bin/目錄,執行以下操作:

執行完畢後,在bin目錄下就會生成out目錄,裡面就是反編譯出的檔案

這個反編譯工具優勢在于可以一次性完成資源和代碼的反編譯,同時GUI界面支援強大的搜尋能力

其他常用工具

Git:分布式版本管理工具
brew cask install git
           
Java:使用Homebrew安裝能自動配置好環境變量
brew cask install java
           
Android Studio:安卓開發IDE
brew cask install android-studio
           

Parallels Desktop:Mac中虛拟機

1Password:Mac下的密碼管理軟體

Tree:檢視文檔的目錄結構

brew install tree
           
強化Finder:常用的Finder強化工具,主要有Pathfinder和XtraFinder兩種

1.3 搭建程式員的部落格平台

在筆者看來,開發者在剛開始寫作的時候,建議選擇第三方平台,一來可以隻關心寫作的内容,培養好的寫作習慣,二來可以利用它們龐大的使用者群,快速提高自己的技術影響力(前提是要有高品質的文章)

自建部落格平台

  • 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/

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

1.4 Geek PPT Presentation

通常情況下,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制作工具

1.5 開發文檔

Markdown是一種标記性語言,通過使用簡單的文法來實作統一的文字格式,出來的格式很整齊,如果不懂MarkDown的文法,網上有很多資料可供學習

MarkDown編輯器

推薦常用的編輯器有以下幾種:
  • 作業部落:線上MarkDown編輯器,包括Web線上版和PC版,同時還能在多端同步
  • CSDN部落格:線上 MarkDown編輯器
  • Macdown:Mac編輯器,基于Mou這個經典的Markdown工具改進而來
  • Typora:這款Markdown編輯器與前面所有的編輯器最大的差別就是他沒有文本預覽界面
大部分的Markdown編輯器都提供了類似富文本編輯器的工具欄
Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境Android群英傳神兵利器讀書筆記——第一章:程式員小窩——搭建高效的開發環境
如果使用者忘記了某些格式的辨別符,可以通過工具欄進行找到對應格式的辨別符,Markdown提供了簡潔、高效的文檔标記文法,被廣泛運用于各種開源項目的README文檔、說明文檔等,同時Markdown文法還相容HTML文法

項目文檔生成器

幫助開發者展示項目文檔的工具:MkDocs,該工具的項目位址為http://www.mkdocs.org/

該工具生成的界面,左邊是項目的文檔結構,右邊則是對應的文檔說明,簡潔明了,一目了然

通過這個工具可以清晰地展現項目文檔,這個項目僅僅是通過Markdown檔案就可以生成,同時還可以設定不同的主題和風格,适用于開發者進行文檔管理

類似的工具還有Raneto Docs(http://raneto.com),這些工具基本上都是一個原理,Markdown的優勢可見一斑。