程序員如何優雅地使用 macOS?


謝邀。(嚴肅臉
(逼格是不是蹭蹭蹭連升了好幾個檔次?
1. 最好不要拿 Macbook 裝 windows,即使必須要用 windows 的話能不裝 xp 么?即使必須使用 xp 的話能麻煩升級一下 IE 么?
(以下均指使用 OS X)

2. 不要裝 360

3. 不要裝殺毒軟體

4. 不要裝磁碟整理

5. 自帶的 Safari 很好用,Chrome for mac 也很棒。忘掉 IE 和什麼三狗瀏覽器吧

6. 合上蓋就可以走,不需要經常關機…
@慕楚雲 提醒「就是這樣我的朋友壞了個pro13的機械盤然后土豪地換了SSD么....」
修正一下:如果你用的是 ssd 那麼沒什麼問題,如果是機械硬碟的話還是等呼吸燈好了再走吧…= =

7. 日曆的定時啟動功能相當好用,夜深人靜都睡著的時候下載小電影什麼的…如下圖:

經@朱文律 Wesley 提醒發現,提醒裡面可選的「信息」並不是指自動發 iMessage,而是蹦出來一個日曆提醒…= =

親們,這個休眠或者關機的時候真的不能自動運行啊……………………

8. 如果你是程序員最好學會使用 Alfred,如果你只是普通用戶那也應該學會用 Spotlight. Alfred 有各種好用的 workflow 強烈推薦!具體請看:zenorocha/alfred-workflows · GitHub
我最近最喜歡的是這個 workflow,不用再跑到 terminal 裡面找 pid 了…

關於 alfred workflow 也可以看 藉助 Alfred 2.0 的 Workflows 功能可以做哪些好玩的事情? 這裡

9. 觸摸板可以設置成觸摸板輕敲替代按下的…

10. Bartender 可以把菜單欄中不太常用的給設置到二級菜單里,看圖:

上面這個是平時的狀態

這個是點開以後的狀態,一些不常用的都丟到這裡
好吧其實那個 Mem,CPU,上下行,溫度,都是用 iStat Menu 2 看的…

11. Dash + alfred 很好用,程序員必備

這是純 Dash,加上了 alfred 以後就變成了下面這樣:

12. Moom 可以很方便地調整窗口,一目了然:

13. Boom 可以增大音量和增強音效,如圖:

14. Popclip 把 iOS 上面很方便的功能帶回到了 Mac OS X 上面來,我不太喜歡這個東西,因為舉得快捷鍵已經很方便了,具體效果請看官網:PopClip for Mac 各種插件請見:PopClip Extensions

15. 如果你內存夠大並且沒有用 ssd 的話,那麼可以考慮用 Tmpdisk 把一部分內存划出來當成緩存來用。512M 就足夠了。

16. 老闆來圍觀你工作但是你的 SNS / IM 蹦個不停?乖,別怕!打開通知中心,往下劃一下可以看到這個!

以下是 @華承韜 提到的改良版本,最近一直在用,確實很爽- -

其實不用那麼麻煩……
按住 Option 按鍵,並單擊右上角的「通知中心」圖標。圖標變灰之後就不用怕老闆啦。
再重複一遍上述操作可還原。
這招要比「打開通知中心,往下劃一下」快多了。。

17. control + shift + eject(右上角倒三角)可以鎖屏,什麼?還嫌麻煩?沒關係!觸發角來幫助你!

從此以後離開電腦的時候優雅地甩一下滑鼠~蹬蹬蹬蹬,電腦就鎖上了!再也不怕有人偷看你的小黃片兒了!(觸發角在「桌面與屏幕保護程序」-「屏幕保護程序」)

18. Mission Control 可以用滑鼠多出來的按鍵來觸發的~

19. 勾上這個「互聯網共享」就可以把乙太網介面的網路共享成 Wi-Fi 了……

類似的,「遠程登錄」是 ssh 連接,「屏幕共享」是 vnc……程序員都懂的……

20. iTunes 智能播放列表很好用的…

這樣可以把我最喜歡的並且不太大的歌曲(iPhone 16G 的所以…太大的可能是 FLAC/APE 等等)挑出來…
感謝 @李浩博 提醒,可以使用這個更方便的功能= =

剛才隨便測試了一下(碼率沒關注,就試試效果),之前 220M 的 mp3 勾選了這個以後再傳到 iPhone 里大概是 160M 左右…

21. 什麼?你居然還不知道在 OS X 中空格鍵可以預覽 幾乎所有的 東西?

22. 關注 Mac Apps 的可以關注一下 @hzlzh 的這個 list:hzlzh/Best-App · GitHub(都是收費 apps 但是質量非常高)

23. 我剛知道的,切換這裡的「位置」就可以不用老是調網路設置了……(公司可能有固定 ip 什麼的

注意經@柯英 提醒發現,這個需要先在「網路偏好設置」頂部設置好才會出現……

24. 對於程序員來說熟練掌握快捷鍵是很有必要的,下圖可以自定義快捷鍵,就比如我就把 launchpad 綁定到了 F1 上(因為外接顯示器的話好像還真沒什麼辦法打開 launchpad?)mission control 是 F9

注意:這裡的 F1 是需要按著 fn 鍵的

25. 選中一個文件按 enter 可以直接改名的…
cmd + up 是回到上一層文件夾
cmd + down 如果是文件夾就進入文件夾,如果是文件就打開(比如說 .avi 就會自動調用播放器)

26. 如果你嘗試改過後綴名就會發現貌似直接改沒效果,你需要右鍵,顯示簡介

然後在這裡改好像才有用…不知道有沒有人有更方便的辦法?
感謝@曾銘 提醒,在 Finder 的偏好設置中有相關設置。
不過…您的「編輯」為什麼是 -1…

27. 有的時候可能你需要改變默認的打開方式,比如說前一段我這裡 MPlayerX 掛了,我就換了 VLC,但是我還需要把默認的播放軟體改掉。繼續看上面 26 的圖,下面的打開方式可以改掉…再也不用擔心看不了小電影了~

28. 看到 @劉帥 推薦 zsh,那我就推薦個主題配合 git 一起用。
編輯 ~/.zshrc 把這一行改成:ZSH_THEME="juanghurtado"
效果如圖:

29. 我是個懶人…所以…請看我的 git alias…用慣了以後去伺服器配東西(沒有 alias)就各種不適應= =

好吧,其實我也不明白當初為什麼要把 branch 起名叫 develop 而不是 dev…30. 感謝 @李嘉鵬 補充:

查看多個文件佔用的容量 ctrl + command + i

把多個文件歸類到一個文件夾中:選中你想要的文件 按control+command+n

快速關機 正常左上角蘋果-關機會出來個對話框 按住option再點關機就不會出現了 其實按住option很多菜單會發生些小變化,自己探索吧~

調整聲音的時候,系統會發出「嘟嘟」的聲音,按住shift鍵就沒了

同時按shift+option, 可以4分1格調節(這個同樣適用鍵盤背光和屏幕亮度)


用好系統自帶的應用。macOS 有很多被忽略但其實非常好用的自帶應用,比如:

  • 系統日曆:可以定時幫你開啟某一個應用
  • 終端:輕鬆開啟系統的隱藏功能
  • Automator:提高效率的自動化隱藏神器

這幾個自帶應用在 macOS 上來說可以說是,普通人用能打開提高效率的大門,程序員用可以發現折騰的樂趣。

那就從淺到深舉幾百個栗子來說說為什麼好用吧

用系統日曆定時打開應用

有時我們希望定時啟動啟動一下任務,比如下載、備份這些無人值守也能進行的工作。其實,只需簡單設置一番系統日曆,兩步就能製作一個定時啟動的任務。

在日曆中添加一個日程,作為任務啟動條件。比如我想讓下載工具在每天凌晨自動啟動,就設定凌晨一點的時間,重複設為「每天」。結束時間不用設置,因為只有任務開始時間有觸發作用。你可以修改時間與重複選項,讓它在特定時候啟動。

展開任務詳情,將提醒改為「自定」,依次填入打開文件、你想啟動的應用,時間選擇日程發生時。保存好這條日程,然後就等著任務自己啟動吧。

最普遍的一個需求應該就是下載大文件,我們可以安排下載工具定時工作。如果你使用 P2P 下載器,害怕下載完後持續上傳資料,可以看看該應用是否有「下載後自動關機」之類的選項。

終端

Mac 中有一個圖標是「黑色的窗口」名為「終端 Terminal」的應用,對著窗口噼里啪啦的打下一行代碼,然後電腦便自動給你執行相應的任務。

配置 Launchpad

在大家安裝好應用去 Launchpad 里尋找的時候,時常會發現原生的配置讓 Launchpad 看的稍許擁擠,但是在系統偏好設置里我們是無法修改的。為了讓我們的 Launchpad 識別度更高並且更加美觀,可以通過終端對排列方式進行修改,複製以下代碼至終端即可:

defaults write com.apple.dock springboard-columns -int 8; defaults write com.apple.dock springboard-rows -int 7; defaults write com.apple.dock ResetLaunchPad -bool TRUE; killall Dock

命令中有兩個數字 8 和 7,它們分別代表的是布局中的列數和行數,如果想更清除的了解該段命令,可以參考《通過終端命令改變 Launchpad 中應用圖標的大小》。

除了可以對 Launchpad 的布局進行更改,還可以根據自己的喜好對北背景的模糊程度進行更改,複製以下代碼至終端即可:

defaults write com.apple.dock springboard-blur-radius -int 100; killall Dock

命令中有一個數字 100,它代表的背景模糊的程度,你可以在 0 ~ 255 的範圍內選擇。

修改截圖屬性

Mac 上自帶的截圖非常的還用,可以區域、窗口、延時截圖。但是截圖會默認保存在你的桌面上,時間一長,你的桌面就會被五花八門的截圖堆滿。對此,我們可以新建一個文件夾專門來存放截圖,新建一個 screenshots 的文件夾在桌面或者任意一個你希望它待在的地方,將下述代碼複製進終端即可:

defaults write com.apple.screencapture location ~/Desktop/screenshots; killall SystemUIServer

~ 之後填寫你相應的文件夾路徑即可,如果不清楚路徑的寫法,可以打開該文件夾右鍵點擊任何一個文件「顯示簡介」,複製「位置」之後的內容即可,也可以直接將文件夾拖拽至終端以此顯示路徑。

除此之外,你也可以使用以下命令修改截圖保存的類型,例如你想保存 JPG 格式的截圖:

efaults write com.apple.screencapture type jpg killall SystemUIServe

顯示隱藏文件夾

在 Windows 上隱藏文件夾大家應該都是老手了,轉到 Mac 後,卻發現隱藏文件夾和自己想像有那麼一些不一樣。為了更好的把大家的「小秘密」藏到內心最深處的地方,也可以使用兩段命令來完成操作。跟前文一樣,我們需要獲取文件夾的路徑,然後在終端中輸入以下代碼:

chflags hidden ~/Desktop/Hidden

你也可以使用 nohidden 重新讓該文件夾顯示。如果你要顯示全部文件,推薦大家直接使用快捷鍵「Shift + Command + .」即可顯示全部隱藏文件。

除此之外,如果你覺得自己桌面太亂了,但是這會又有人來看你的電腦,你可以使用一段命令行將桌面的文件全部隱藏起來,讓桌面回歸清爽,文件也依舊可以通過 Finder 中的桌面中找到:

defaults write com.apple.finder CreateDesktop -bool false; killall Finder

如果想重新看到桌面的圖標,將 false 替換為 true 輸入終端即可。

Dock 欄屬性修改

Mac 中為了獲得更大的可視空間,在不使用 Dock 時我們可以隱藏它。若要查看隱藏的 Dock,可以將指針移到 Dock 所在屏幕的邊緣。但是這個顯示速度存在了一定的延遲,為了加速這個過程,我們可以使用一段命令行,讓你的隱藏 Dock 彈出的時候更加的順滑流暢:

defaults write com.apple.Dock autohide-delay -float 0 killall Dock

使用後的效果,可以說是非常明顯了,再也不會有在「擠牙膏」的感覺。

如果在你的使用下,Dock 欄上擺滿了各類 App,卻發現這不是自己想要的結果。你可以通過終端來重置你的 Dock 欄,讓它回到最開始的狀態:

defaults delete com.apple.dock; killall Dock

讓屏幕亮的更久

Mac 在運行一段時間後,會自動進入睡眠。如果大家不想 Mac 那麼快的進入書面,可以採用一些第三方軟體來達到此目的。其實與其下載一個軟體佔用 Mac 上精貴的儲存,不如使用一段命令行就可以解決這些問題了。下方命令行中的 3600 單位是秒,即你希望多長時間內你的 Mac 不會進入睡眠:

caffeinate -t 3600

應用安裝與更新

MAS 的連接情況大家也很清楚,時常會因為情緒不穩定導致你無法獲得最完美的下載體驗,況且還有很多應用並不在商店上架,或是非商店版本有更多的功能。原來的時候,我們需要查找一個又一個的官網,然後下載安裝,其實這麼多繁瑣操作,在終端里可以更快的完成。你只需要輸入:

brew cask install App

將 App 替換為你需要安裝的軟體的名字即可。但是使用前,需要你在電腦中安裝 Homebrew Cask ,具體可以參考《再談 Homebrew Cask 在 macOS 上安裝應用的輕鬆感》。大多數通過 Cask 安裝的軟體都自帶更新選項,如果沒有該選項,用戶依舊可以通過終端進行更新,在終端中輸入brew tap buo/cask-upgrade,然後再輸入下段命令即可更新全部應用:

brew cu

如果你希望安裝 MAS 上的應用,也可以繞過原生的商店應用,直接採用終端進行安裝。你可以先通過剛才安裝的 Homebrew 安裝一個我們需要的 mas ,即在終端輸入:

brew install mas

然後,可以在終端中搜索需要的軟體,或者直接輸入關鍵欄位加上應用的識別碼進行安裝:

mas install AppID

更多玩法:

  • 終端上的 Mac App Store「mas」讓應用的安裝與更新無比輕鬆
  • 用終端命令定製你的 OS X 通知中心:Today Scripts 體驗詳解
  • 通過終端命令改變 Launchpad 中應用圖標的大小
  • 通過終端命令調整 Dock 欄的隱藏速度

Automator:提高效率的自動化隱藏神器

iOS 上大名鼎鼎的 Workflow 在少數派是深入人心,許多大神研究了很多高階的玩法,利用 Workflow 提高了不少的效率。

如果你想玩轉 Workflow 可以看看派君的這個回答:App Store 有哪些冷門但逆天的 app?

在 macOS 上同樣有一個可以媲美 Workflow 的神器,叫 Automator,它的圖標是這樣的:

你也可以叫它「扛炮」

當然 Automator 本身的自由度是非常大的,自帶的流程裡面就有非常多的選項讓你選擇,你可以發揮你的腦洞做出更多事情,派君也舉一兩個栗子給你看看好了。

打開 Automator ,我們新建一個文稿,然後點擊工作流程,然後我們就來到了 Automator 的主界面。

我們可以把界面分成三塊,左側的部分叫做資源庫。Apple 已經貼心的在這裡給我們準備了很多的動作。有系統級別的動作,也有相應 App 的一些動作。稍後我們編輯工作流程的時候,這些動作我們可以直接拖到右側用,就像iOS 上的 Workflow 一樣。右側灰色的地方是動作編輯區,是我們製作動作流程的地方。那麼編輯區下方就是流程運行的日誌了,如果我們的工作流程有什麼出錯,就會在這裡顯示。

Automator 能做什麼?

從PDF文件中提取文本

我們在 Automator 中新建一個文稿,選擇應用程序,然後在左側的資源庫里搜索 PDF ,然後將 提取 PDF 文本拖入到右側的編輯區。然後我們可以選擇輸出的設置,例如是純文本或者多信息文本,是否添加頁眉或者頁腳。如果希望根據 PDF 文稿內容詢問操作,可以在動作框下面的選項處選擇「工作流程運行時顯示此操作」。選擇後,每次提取文本時,系統都會詢問此次提取的相關設置要求。最後以應用程序格式,保存這個工作流。

將一個 PDF 文檔拖到這個程序上,就可以運行這個工作流程。如果在設置時選擇了「工作流程運行時顯示此操作」,Automator 就會彈出一個對話框讓我們選擇;否則就會按照設定好的要求自動輸出。

從輸出的質量上看,效果還是很不錯的。

更多玩法:

  • Automator 簡單介紹及入門玩法
  • 玩轉 Automator

問題:程序員如何優雅地使用 Mac?


答:


我記得池健強老師寫過

MacTalk-池建強的隨想錄

是我老公推薦給我的一本書,也算是我的Mac啟蒙書。


我的感覺是不能再好了。


關於程序員如何優雅地使用 Mac這個問題,雖然池老師已經有很好的講解了。

但是我這個炫夫狂魔還是要和大家分享一下我老公這個程序員使用Mac的一些心得。原文地址在這兒!

專訪我的RootHero和他的利器

老公總是在我需要的時候第一時間出現,給我幫助,最近看一個公號叫做利器,我想我老公也有很多的工作利器呀,拿出來和大家分享一下。和大家多交流一下呢。


Harry Zhu| Python開發者

Python的路,一條通向碼農,一條通向礦工

R+Python+JS是我的QWE技能

全棧工程師技能樹


介紹一下你自己和所作的工作:

我是一枚自然生長的Python程序員,曾經的Excel玩家,夢想是成為一枚數據科學家,業餘愛好是金融。最近的一個創業項目是一款圖片社交App。我的日常就是為App構建後端。


你都在使用哪些硬體:

MacBook Pro 13 是賺錢必備的,提供了一個嚴肅的開發環境;

DELL顯示器提升了效率,減少切屏次數;

另外持有iTouch和小米note作為消遣


軟體呢:

效率之王:Afred小帽子:通過前人的配置,替代掉了 有道詞典、發音工具、開關機、快速搜索、地圖、Spotlight等應用。

主力編輯器:Atom因為高顏值、強大的插件和預覽功能 取代了之前的sublime、Bracket、Pycharm和Mou等。

輔助編輯器:iPython、Rstudio、MacVim、Xcode

文檔查詢:Dash 相當於一本開發者字典。

SSH登陸:Zoc (ssh登陸免密碼,區別於ssh證書登陸。),butterfly(直接將terminal構建在網頁中,方便任意設備應急登陸伺服器處理bug)

資料庫管理:Sequel Pro(MySQL)比較簡潔 而且免費

思維導圖:Xmind

團隊協作:Teamviewer(屏幕共享)、Skype(語音通話)、Trello(任務分配)、QQ(普通協作)、http://Coding.net(代碼管理)

爬蟲:http://import.io(超越scrapy的傻瓜式爬蟲,可結合http://infogr.am做信息圖)

圖片處理:Photoshop

FTP登陸:Cyberduck代替了之前的FileZilla

類似360工具:CleanMyMac

Word類需求:基本用markdown解決,word應急。apidoc寫api文檔、sphinx寫普通文檔、knitr生成網頁、slidify生成PPT、pandoc轉換文檔格式

Excel類需求:Mac下用Google Sheet偶爾將就用一下excel,切換到Win下必用Excel。

PPT類需求:Mac下用Keynote 作圖,切換到Win下用Powerpoint

輔助Git管理:GitHub Desktop、SourceTree、GitUp(http://Coding.net/GitLab)

科學上網:之前是某徑,現在是某擺(都停止了註冊服務)

個人wordpress站點管理:wordpress + MAMP + 各種wordpress插件

Chrome插件:FE助手、GitHub助手、二維碼生成器、vimium、批量圖片下載器、懸停滑鼠顯示大圖、chronos下載器

下載:百度雲盤、迅雷、新浪微盤

郵件收發:MailBOX

PDF修改: Abodbe Acrobat

學術研究:LaTex、Lyx、Zotero

輔助終端:iTerm、TotalTerminal、butterfly

模擬Win:XtraFinder

播客:安卓設備上基本不用,蘋果設備上用Podcast,主要收聽CNN Student News,Nightly News,Daily News,IT公論等

金融軟體:MT4

簡單自動化辦公:Automator,配合shell和apple script腳本。

高級自動化辦公:Jenkins、Git、Docker

語音識別:Mac用自帶,移動設備用Google Now

語音處理:Audition

在線教育:YouTube為主,TreeHouse、極客學院、可汗學院、慕課、麥子、好奇貓、實驗樓等為輔

簡單筆記需求:現在用蘋果設備自帶的Note,偶爾用Keep

複雜筆記需求:曾經用Win的OneNote和Excel,後來用Evernote,現在基本用Git

運行Win需求:VirtualBox,以備不時只需。也用來體驗linux、Chrome OS

常見軟體管理:Brew和caskbrew

密碼管理:Keychain Access


你最理想的工作環境

最重要的是人。能和一群聰明的人一起努力工作,作息規律,熱愛運動,擁有夢想,勇於探索,有極客精神


你平時獲得工作靈感的方式有哪些

看新聞、和家人一起做飯、旅遊、購物、看電影


推薦一件生活中的利器給大家

老婆。我很幸運有一個好老婆,我很愛她,她在生活和工作上都給到我極大的支持。


老公的文章還有代碼的傳送門

harryprince (HarryZhu) · GitHub

Harry Zhu 的 FinanceR專欄:FinanceR - SegmentFault

本文參與了「利器社群計劃」,發現更多創造者和他們的工具:利器社群計劃


最後放一張我和老公的合影,是不是會多些贊呢~

嘻嘻


windows! linux! mac! 用起來都可以非常優雅的....

我們的宗旨是提高效率, 揮手提早下班, 老實回家寫代碼!

終端配置 (iTerm2 + zsh + oh-my-zsh + tmux) 和一些好用的小插件

  • oh-my-zsh theme: 自帶主題已經很多了, 想折騰的, 可以自己定製一套主題
  • wting/autojump: 終端中一鍵直達目錄, 命令行中切換目錄是最常用的操作, 只要正常 cd 過目錄, 下次只要記住目錄名字, 就可以直接進去, 支持模糊匹配, 用過一次, 無法離開
  • zsh-users/zsh-autosuggestions: 終端歷史操作記錄自動補全
  • vim-mode: 喜歡 vim 鍵位的可以配合oh-my-zsh開啟 vim mode, 當然終端中默認使用的是emacs
  • jeffkaufman/icdiff: diff 的 升級美化版, 高亮文件差異對比工具
  • jakubroztocil/httpie: curl 的升級美化版,高亮效果和返回結果格式化效果
  • ack: 更強大的文件內容檢索, grep 的升級版本
  • Taskwarrior: 這個是裝逼的, 終端 todo list
  • dbcli/mycli: 這個是裝逼的, 終端操作資料庫的時候, 自動提示
  • guarinogabriel/Mac-CLI: 這個是 mac 終端工具一個集合包, 暫時還沒用過

生產力工具&, 介紹幾個常用的插件

  • 有道翻譯: 翻譯結果回車可到剪貼板
  • 音量控制: 直接輸入音量大小, 控制音量
  • terminal finder: terminal 的目錄在 finder 中打開, finder 當前目錄在 terminal 中打開
  • source tree: 直接進入到指定
  • show desktop: 隱藏所有窗口, 顯示桌面
  • jetBrains: 直接進入到 idea 指定項目的編輯窗口
  • Search tabs in Safari and Chrome: 搜索到 chrome 或者 safari 中 tab
  • 等等

窗口大小設置&<SizeUp&>, 特別是多屏幕之間窗口移動, 再也不用滑鼠拖動了

覺得這幾個軟體可以提高我們使用的流暢度, 便捷度高,

能用快捷鍵盡量不要用觸摸板, 能用觸摸板盡量不要用滑鼠,

來回移動右手, 真的好累!!!!


介紹幾枚集優雅與實用於一身的小玩意兒。
多圖,流量黨快快退散。


2015.7.10 更新 Safari 強制播放 HTML5 視頻
=========

一、Safari 強制 HTML5 視頻替換 Flash

萬惡的 Flash 可謂是電池殺手,在沒有連接電源的情況下使用 Flash 播放視屏,續航時間將會大大降低。而 Flash 並不是必須的,很多網站都為移動設備提供了 HTML5 版本的視頻,如果能夠切換到 HTML5 模式,豈不是皆大歡喜?
很多同學可能會問,這和程序員有什麼關係?沒有用 Safari 做過網頁調試的同學可能不知道,Safari 中也包含豐富的開發者工具。為了防止普通用戶接觸到很少會使用到的開發者工具,Safari 用心地把它們藏了起來,下面的小方法能夠馬上讓它們重見天日:
打開偏好設置,把「高級」選項卡的最下方「在菜單欄顯示開發菜單」左邊的小勾勾上即可:

頂欄出現了「開發」菜單:

嗯,現在終於和程序員扯上關係了,可是說好的 HTML5 模式播放視頻呢?別著急,答案就隱藏在上方的菜單中。
如果網站只為移動設備提供 HTML5 模式的視頻,那麼只要我的瀏覽器偽裝成移動設備,不就可以得到僅包含 HTML5 視頻的網頁呢么?想讓 Safari 實施間諜行動很簡單,滑鼠指針移動到上方菜單中的「用戶代理」,顯示下圖所示菜單:

快來選擇一個偽裝對象把,「Safari iOS 8.1 --- iPhone」、「Safari iOS 8.1 --- iPad」、「Safari iOS 8.1 --- iPod Touch」均可~

下面是實測效果:

此時功耗將大幅降低,相比使用 Flash 至少能一倍的使用時間~


二、Flashlight

說到 Mac 上必備的軟體,很多人都會提到 Alfred 這款神器。這款售價 £17 摺合 RMB 157.93 元的軟體真的物有所值嗎?不見得。沒錯,Alfred 超強的 workflow 無人能敵,但我們真正每天使用的功能,可能只有它所能提供的 10% 還不到。

其實自帶的 Spotlight 反而更能滿足用戶的需求,Spotlight 不僅可以迅速打開應用,檢索文件,還能檢索文件內容和注釋,可以完成簡單的計算和匯率換算功能,還能查找系統自帶的詞典。系統級別的應用,提供最無縫最優雅的用戶體驗。這些即使是 Alfred 這樣強大的應用也望塵莫及。

  • 匯率換算

有個細節,在中文輸入法狀態搜索,能同時檢索英文和中文。

可惜的是,Spotlight 並沒有提供 Alfred 中炫酷的插件功能,追求 Geek 精神的程序員怎麼能止步於此呢?
這時候何不嘗試一下 Flashlight 呢?它擴展了系統自帶的 Spotlight,為 Spotlight 帶來了不亞於 Alfred 的 Workflow。

  • Google 搜索

  • 快速取色器和顏色代碼顯示

    (輸入 pick)

  • 隨機取圖

  • 快速備忘錄

  • 天氣

  • ip 查詢

  • wolfram 搜索

  • 知乎日報

最重要的是,該軟體目前完全免費~

下載地址:
[0] Flashlight
[1] nate-parrott/Flashlight · GitHub

三、Today Scripts
Spotlight 也許並勾不起你 Geek 的靈魂,但下面這款軟體就不得不承認是極客范兒了~
沒錯,就是 Today Scripts,簡單來講,這是一款能在通知欄運行腳本程序的軟體。

通過它你可以:

  • 顯示本計算機的信息

  • 顯示目前 CPU 或內存佔用最高的幾個應用

  • 每次打開一條名人名言

摘錄一段用於顯示 CPU 佔用率的代碼:

ps xro %cpu=,comm= | while read cpu comm; ((i++&<5)); do int=$cpu int="${int%%.*}" if (($int &>= 50)); then color=$"e[31m";
elif (($int &>= 25)); then color=$"e[33m";
else color=$"e[32m";
fi;

echo "$color$cpu% $(basename "$comm")"$"e[0m""";
done

官方的 Wiki 里提供了更多的腳本:
https://github.com/SamRothCA/Today-Scripts/wiki#

你也可以自己寫一些腳本,來做更加 Geek 酷炫的事情。

下載地址:
https://github.com/SamRothCA/Today-Scripts/releases

四、iTerm 2 Oh My Zsh
iTerm 2 相比自帶的 Terminal 應用,有太多優點了。例如,可以設置主題,支持畫面分割,各種使用的快捷鍵,以及快速喚出。配合 Oh My Zsh 使用,簡直優雅到爆!

Oh My Zsh 可以方便的配置炫酷的主題,實用的插件,難以置信的酸爽。注意,下面是經過一定配置之後的 iTerm 界面,j 可以跳轉到最近的目錄,能夠顯示 git 分支,正確命令綠色高亮,錯誤的命令紅色高亮。

快速喚出:

半透明的終端從天而降,有質感,有逼格!

下載地址:
[0] iTerm2 - Mac OS Terminal Replacement
[1] http://ohmyz.sh

評論區問到字體的問題:
oh-my-zsh 的主題是 agnoster 嗎?? 我發現使用之後那個箭頭效果顯示不出來,字體也裝了,還是不對。。。首先安裝 Powerline,然後把 iTerm 2 的設置里的 Profile 中的 Text 選項卡中里的 Regular Font 和 Non-ASCII Font 的字體都設置成 Powerline 的字體。

關於 Poweline 這裡采自官方的介紹:
Powerline is a statusline plugin for vim, and provides statuslines and prompts for several other applications, including zsh, bash, tmux, IPython, Awesome and Qtile.

[0] Powerline — Powerline beta documentation
[1] powerline/fonts · GitHub

另外,我用的字體是 14pt Meslo LG S DZ Regular for Powerline

五、 Desktoppr (Windows 用戶也不要錯過哦~)
優雅的電腦怎能沒有優雅的壁紙?然而 Retina 屏幕的 mac 想找到一款令人神清目爽的壁紙可不是那麼容易,很多壁紙網站不是比例不對 (很多都是 16 : 9)就是解析度不夠。強迫症怎麼能忍!!!

大家注意到上文演示 iTerm 時我的桌面壁紙么?古典氣息牆紙與蘋果簡潔高雅的界面以及秀麗俊朗的硬體三位一體,優雅到極致。它就是來之下面要介紹的壁紙網站:Desktoppr - All Wallpapers。

滑鼠隨便一指,就是一張解析度高達 6000 * 4800 的壁紙。

順帶一提,壁紙的下載是需要 Dropbox 的,因此可能需要 FQ。

附贈一張極客范兒的壁紙,各種終端命令的 CheatSheet,當然也是在 Desktoppr 上下載的:

六、Vimari
不得不說,Mac 上最好用的瀏覽器還是 Safari,省電流暢、平滑縮放加上 iCloud 書籤同步、以及鑰匙串等功能,使它擁有非凡的體驗,唯一的缺點是插件數量不足。
用過 Chrome 的童鞋可能知道它有一款十分炫酷的插件,叫 Vimium 它可以通過鍵盤來操縱瀏覽器。Vimari 和 Vimium 的功能幾乎一樣,不過是用於 Safari 的。

下載地址:
https://github.com/guyht/vimari

七、Unclutter
評論區 @龔一峰 提到
Alfred 剪切板歷史功能也是必備神器.
沒錯,剪切板歷史是一個很實用的功能,下面要介紹的圖標巨丑無比的 Unclutter 便具備這項功能。

它有三個主要功能:1、剪切板歷史收藏,剪切板的圖片也會顯示出來。2、跨軟體文件暫存區,類似 Dropshelf 的功能。3、備忘錄,可以記錄每天的計劃等。

它平常躲在頂部的狀態欄,想喚出它只需從頂欄下滑觸摸板或滑鼠中鍵,或者移動文件到頂欄。
如圖所示,中間便是文件暫存區,是設計師神器哦~。我喜歡截圖完之後,拖進去,等到要用的時候,只需要在頂欄一划,再拖到編輯區即可,非常方便實用~

剪切板區域點擊麵包圖標,即可查看歷史,點擊左邊的星星還能收藏哦~

下載地址:
Unclutter App

八、實用小技巧
1)錄屏
想向別人展示你寫的優雅地小玩意兒怎麼玩兒,卻焦頭爛額講不清楚?
這時候有個一個錄屏工具,便可能解決這些問題!

它叫 QuickTime Player。
什麼!!!這不是視頻播放軟體么。
對,我們都小看它了,它不僅能夠錄製屏幕,還能錄製聲音和利用前置攝像頭的錄製視屏。

注意,QuickTime Player導出的是視屏格式。如果我想錄製成 gif 呢?
那就要用到下面這款叫做 licecap 的軟體了:

至於用法,還是交給讀者自行摸索吧~ Windows 也可用哦~

下載地址:
Cockos Incorporated

2) 截圖
還在用 QQ 帶的截圖工具?其實系統自帶的截圖工具也很實用,就是缺少圈點勾畫的工具。
詳見:OS X 系統自帶的截圖快捷鍵有哪些? - 陳浩的回答
需要注意的是,截圖是 option 是維持比例,空格是選取窗口(截圖邊框有很漂亮的陰影), control 是保存截圖在剪切板。

3)格式轉換
有時候需要把 png 等格式的圖片轉成 jpg 的格式,於是有同學就去到處找格式轉換軟體了。
其實在 Mac 中直接更改圖片的擴展名,即可自動轉成相應地格式~試試吧


更多與 Mac 和 iOS 相關的玩意兒,請關注我 @Happlex的其他回答:
Mac 和 iPhone 搭配有哪些妙用? - Happlex 的回答
iOS 設計的神細節有哪些? - Happlex 的回答

:]


非常感謝各位前輩的回答,真的是眼前一亮,學習了不少啊!我也來補充一些。大家都是程序員,那麼就應該追求工作效率,不得不說,Mac確實是提高工作效率的神器。該回答結構如下:

  • 基礎篇 - 優雅必備的基本功
  • 工具篇 - 一大波提高生產力的工具推薦
  • 高級篇 - 自定義.bash_profile,寫shell script,效率再上一層樓

基礎篇

1. 盲打

是的,你沒看錯,就是盲打!我身邊有工作了許多年的程序員不會盲打,看著他們打字,我都想替他們打...(逃...)既然大家都是程序員,那麼毫無疑問,我們鍵盤敲得最對。如果不會盲打,你就得經常看鍵盤,比起盲打是不是浪費了一些移動脖子、找按鍵的時間。如果你還不會盲打,那麼趕緊開始練吧,我在大一剛入學時,堅持了一個月的盲打練習,後來再也不需要找按鍵了(f1-12例外)。推薦兩款軟體練習:

(1) 金山打字通

如果你的Mac裝了Windows,或者Windows虛擬機,那麼十分推薦用金山打字通來練習,我當時就是用這個軟體來練習的。

(2) Typing Club

這個軟體是網頁版,我體驗了一下,也挺不錯的,循序漸進帶你練打字。不過Typing Club是全英文的,但是作為程序員,這點英文應該不是難事。

2. 精通快捷鍵

Mac OS提供的系統級別的快捷鍵還是要十分熟練的,這些幾乎在任何應用中都有效,所以務必掌握。符號說明: ? - command,? - control,? - shift,? - option,? - delete。常用的快捷鍵列舉如下:

  • ? + c, v, x, z, a: 複製、粘貼、剪切、撤銷、全選
  • ? + b, u, i: 變粗體、加下劃線、變斜體
  • ?? + f: 進入全屏模式
  • ? + n, t: 新建窗口、新建Tab
  • ? + w, h, q: 關閉窗口、隱藏程序、退出程序
  • ? + ←, →: 跳轉至行首部、跳轉至行尾
  • ? + ?: 刪除至行首
  • ? + ←, →: 左跳一個單詞、右跳一個單詞
  • ? + ?: 刪除一個單詞
  • ?(按住) + tab: 切換程序
  • ? + o, ↑, ↓: (Finder中使用)打開文件、上級目錄、下級目錄
  • ?? g: (Finder中使用)前往路徑
  • 滑鼠雙擊: 選中單詞
  • 滑鼠雙擊後拖動: 選中連續單詞(特別好用,你會愛上它:))
  • 滑鼠三擊: 選中一行
  • 滑鼠三擊後拖動: 選中連續多行

3. 掌握觸摸板

我其實滑鼠用的比較多,因為滑鼠比觸摸板要快得多。儘管如此,我還是經常用到觸摸板,比如顯示所有全屏程序、顯示Launchpad。有時候出門帶上Mac,不方便帶滑鼠,那麼觸摸板就更派上用場了。所以觸摸板的一些快捷方式還是有必要掌握的:

上圖加紅框的快捷操作,是我平時用的比較多的,它們分別是:

  • 雙指單擊: 顯示菜單(就是滑鼠右擊)
  • 單指單擊: 選擇(就是滑鼠左擊,注意這一項默認沒有開啟)
  • 雙指拖動: 滾動
  • 四指左右拖動: 切換全屏程序(新版的Mac好像默認是三指拖動)
  • 四指收縮: 顯示Launchpad(方便找程序,下文會介紹更方便的找程序的方法)

4. 使用全屏程序

這個實在是太好用了,這也是我不喜歡用Windows和Linux的一個重要原因。全屏程序就是將一個程序全屏化,就像打遊戲一樣,你看不見任何其他程序甚至頂部狀態欄和底部菜單欄,我覺得全屏程序的最大優點在於它可以讓用戶專註於一個程序。比如我做開發的時候,那麼眼前除了全屏化的IntelliJ,沒有任何別的程序干擾,我可以專註的寫代碼。另外,全屏程序可以程序間的切換變得容易,打開全屏程序列表,然後選中就可以了,或者使用觸摸板手勢左右切換全屏程序。使用快捷鍵(?? + f)就可以快速進入全屏程序,你也可以點擊窗口左上角的綠色按鈕進入。再全屏模式使用快捷鍵或者點綠色按鈕就可以退出全屏模式。

工具篇

1. Homebrew

這個大家一定不陌生,這幾乎是Mac上安裝命令行程序最好的工具,類似於Ubuntu上的apt-get或CentOS上的yum。雖然大家對它很熟悉,不過小編還是把它放在了回答裡面,要是你還沒裝的,趕緊點擊鏈接下載安裝吧。

2. iTerm2 + oh-my-zsh

iTerm比Mac自帶的Terminal要好用,因為iTerm支持子窗口、自動補全、Shell Integration等許多好用的功能,詳細的功能列表可以來這裡查看: Features - iTerm2 - macOS Terminal Replacement。zsh比bash要好用,具備更強的提示功能,提供共享歷史記錄,oh-my-zsh是對zsh的一個個性化定製,提供了更多強大的功能和好看的主題。

3. Vim

這可能是史上最好用的命令行文本編輯器了,推薦大家在命令行下編輯文件比如修改配置時,使用Vim來處理。此外,Vim不光可以用在命令行下編輯文版,Vim也有Mac的桌面版MacVim,可以直接編輯窗口中的文件。而且,許多IDE也以插件的形式整合了Vim,比如IntelliJ、AppCode、Eclipse、Android Studio等,小編在做Java開發和iOS開發的時候,已經無法離開Vim...說到IDE,其實Vim也是一款不折不扣的IDE,而且在所有IDE中排名第四,有圖有真相(17年6月的統計數據,鏈接: TOP IDE Top Integrated Development Environment index):

最後考考大家下面這一串Vim指令做了什麼操作(?是esc鍵),Vim高手請忽略:

?qa$r!?jq9@a

4. Shuttle

Shuttle可以說是一款快捷操作管理軟體,我們可以把一些經常的登錄伺服器命令添加到Shuttle裡面,以後只要在Shuttle裡面選擇那一項,那麼Shuttle就會幫我們在終端裡面運行定義好的命令,完成預期操作。凡是可以在命令行下寫出來的命令,我們都可以放在Shuttle裡面,因為Shuttle就是在我們選擇某一項的時候,打開終端或者在已有終端中,運行我們定義的命令。

5. Go2Shell

這是一款十分小巧的Finder插件,在Finder中,我們只要點擊Go2Shell按鈕,Go2Shell就會幫我們在命令行中打開當前目錄。

6. SourceTree

一款免費的版本控制軟體,不喜歡用命令行或者Shell Script的可以用這款軟體。這款軟體提供了幾乎所有Git的操作,配合軟體提供的快捷鍵,可以方便、高效的完成對Git倉庫的管理。還有一款朋友推薦的版本控制軟體叫Tower,據說是最好用的版本控制軟體,就是有點貴(79美金),我試用了一下感覺還不錯,可能我用慣了SourceTree,所以對Tower沒什麼感覺。

7. Paste (9.9 USD)

可能是最好用的複製粘貼軟體,Paste會記錄我們比較久的複製記錄,不像默認的剪切板只有一條記錄,另外Paste提供了對複製記錄的管理,比如我們可以新建Tab然後把一些常用的操作(比如連接Redis、Redis授權)保存下來,用到的時候直接調出Paste窗口然後選擇粘貼就好。

8. Postman

免費而強大的HTTP調試工具,不管是做前端、後端還是移動端,只要是要跟API打交道,都要用一款HTTP調試工具來檢測API,那麼這款軟體就非常適合。Postman還支持API分組、宏定義、API參數注釋、API分組分享等許多實用的功能,都是開發過程中經常用到的。

9. Alfred

Alfred的口號就是高效,我用它來做的最多的就是搜索,在任何地方用快捷鍵調出Alfred搜索欄,然後輸入搜索內容就可以搜索,搜索既可以是App、文件,也可以直接選擇在Google中搜索。這款軟體可以免費使用,不過許多功能都要付費才能用,它所提供的所有功能在首頁裡面都有介紹,大家可以點連接去首頁看看。

10. Reminder

為什麼這個App沒鏈接呢,因為它就是Mac自帶的備忘錄。如果你跟我一樣...健忘...那麼這個Reminder就太有用了,把要做的事情寫在Reminder裡面並且設置提醒時間,那麼到時候就會收到提醒通知。更強大的To-Do List軟體推薦Todoist,這款App提供了更加完善的To-Do List功能,可以設置複雜的提醒邏輯(比如每月最後一天提醒)。對我來說,Reminder足夠了,雖然Todoist我也裝了,不過用的並不多。

11. Sequel Pro

一款資料庫客戶端軟體,雖然沒有Navicat那麼強大,但這款軟體開源、免費,一般的資料庫操作如建庫建表、備份這款軟體都支持,所以基本可以在開發中拿來作為資料庫客戶端。

12. Reveal

這款App針對iOS開發者。我當初知道有這款軟體開發的時候,整個人都不好了...因為以前浪費了那麼多調界面的時間,如果早點用這款App,不知道節省了多少時間。這個App可以顯示當前頁面所有UI控制項的屬性、層級關係,幫助我們直觀的發現UI中的問題。運行起來如下圖所示:

高級篇

在高級篇裡面,小編主要介紹如何通過自定義shell和寫shell script來進一步提高工作效率。我們在工作過程中,經常會遇到一些十分重複的工作,比如cd到某一個項目目錄、在工程劃分比較細的項目里經常要對每個工程進行git pull,凡是這些重複的、有規律可循的工作,我們都可以通過自定義shell或者寫shell script來簡化工作流程,提高效率

1. 自定義shell

這裡所說的自定義shell其實就是個性化配置.bash_profile(或者.bashrc甚至自己寫的一些rc(run commands)文件)。我比較習慣寫一個獨立的rc文件,然後在.bash_profile裡面source它。我把所有跟公司相關的個性化配置全部寫在.cws_rc裡面,並且放在與公司相關的文件夾根目錄,然後在~/.bash_profile中source那個.cws_rc。

下面貼出.cws_rc代碼和.bash_profile的部分代碼:

.cws_rc

# Cloud Wings run commands.
# Author: Shengsheng
# Date: 22/05/17

#=============================
# Environment
#=============================

export CWS_HOME="/path/to/cws-home"
export CWS_WORKSPACE="${CWS_HOME}/Workspace"
export CWS_RC="${CWS_HOME}/.cwsrc"

#=============================
# Common
#=============================

colorBlack="` tput setaf 0; tput bold`"
colorRed="` tput setaf 1; tput bold`"
colorGreen="` tput setaf 2; tput bold`"
colorYellow="` tput setaf 3; tput bold`"
colorBlue="` tput setaf 4; tput bold`"
colorMagenta="` tput setaf 5; tput bold`"
colorCyan="` tput setaf 6; tput bold`"
colorWhite="` tput setaf 7; tput bold`"
colorUnderline="`tput sgr 0 1`"
#colorOff="` tput sgr0`"
colorOff="` echo -ne "^[[mx0f"`"

#=============================
# Rc
#=============================

# print run commands info for cws
function cwsRcInfo() {
echo "CWS_HOME: ${CWS_HOME}"
echo "CWS_WORKSPACE: ${CWS_WORKSPACE}"
echo "CWS_RC: ${CWS_RC}"
}

alias cws_rc_info="cwsRcInfo"
alias cws_rc_edit="vim ${CWS_RC}"

#=============================
# Cd
#=============================

alias cws_cd="cd ${CWS_WORKSPACE}"
alias cws_cd_oss="cd ${CWS_WORKSPACE}/OSS"
alias cws_cd_sdk="cd ${CWS_WORKSPACE}/SDK"
alias cws_cd_res="cd ${CWS_HOME}/Resource"

#=============================
# Server
#=============================
alias cws_server_dev_node1="ssh cws@192.168.1.2"
alias cws_server_beta_node1="ssh cws@192.168.1.3"
alias cws_server_mgt_node1="ssh cws@192.168.1.4"
alias cws_server_mgt_node2="ssh cws@192.168.1.5"
alias cws_server_prod_node1="ssh cws@192.168.1.6"
alias cws_server_prod_node2="ssh cws@192.168.1.7"
alias cws_server_prod_node3="ssh cws@192.168.1.9"

#=============================
# Software
#=============================

alias cws_redis_dev="redis-cli -h 192.168.1.2 -a 123456"

#=============================
# Util
#=============================

# open verification code image url in chrome
function openVerificationUrl() {
imageUrl=$1
# copy image url to clipboard
#echo -n "${imageUrl}" | pbcopy
# open in chrome
open /Applications/Google Chrome.app "${imageUrl}"
echo "${imageUrl}"
}
alias cws_util_verification_url="openVerificationUrl "

.bash_profile

# cws run commands
CWS_RC="/path/to/cws-home/.cwsrc"
if [ -f "${CWS_RC}" ]; then
. ${CWS_RC}
fi

以上的自定義shell是我在工作中真正用的,只是改了一些路徑和伺服器地址,因為不方便在知乎裡面貼出來。可以看出,我在.cws_rc中寫了大量的alias,用於給命令取別名,比如我運行cws_server_dev_node1,那麼實際就會執行ssh 192.168.1.2,這個比起你直接輸入ssh命令要好記多了。而且寫在.cws_rc裡面的命令,都支持shell自帶的命令補全,我們只要記得命令規則長啥樣,就算忘了命令,也能通過shell來補全。在.cws_rc中我另外還寫了一些函數,方便做一些邏輯上的處理。

不難發現,通過自定義shell,我們可以大量簡化一些常用的命令行操作,這對運維人員和後端開發人員尤其有用,當然做Web開發或者移動開發也可以從自定義shell中受益。

2. Shell Script

關於shell script,我單獨寫了一篇文章: Shell Script - 提高工作效率的必備神器,詳細介紹了如何用shell script來提高工作效率以及怎麼學習shell script。我只把文章的目錄搬過來:

  • 引言
  • Shell Script簡介
  • Shell Script實際應用
  • 如何學習Shell Script
  • 結語

關於shell script我就不再說什麼了,如果感興趣的話,點擊鏈接看我的文章就好。

結語

該回答主要從三個方面解答了該問題,首先是基本功,基本功打好了就是挑武器,也就是那些工具,最後是更深一層次的自定義shell和寫shell script。希望該回答可以幫到題主以及任何希望優雅使用Mac的程序員。我也在不停的嘗試新的軟體、學習新的技能來不斷提高工作效率,這篇回答將會一直更新下去,我會跟大家一起努力,創造高效的Mac工作環境。

點贊+關注,是對答主最棒的支持~φ(≧ω≦*)?


==============好吧,正經的分割線==============
MacOS 自帶的英文讀音:

  1. 進入Terminal, 輸入say 「任何你想讀音的單詞,句子,段落」。比如:say Hello World
  2. 優雅的方式,10.9的配置方式:

保存之後,就可以在任意程序中選擇英文單詞/句子/段落,按下上圖設定的快捷鍵(Option+Esc),enjoy it。


作為一個工具控!工具控啊!

那我不得不說下各種我愛的軟體了:

一。首先作為程序員,如果你不知道 Sublime Text ,那麼請接收我深深的同情

看我的這個小圖標,是不是好看啊~~哈哈哈 我是連難看的圖標都不會放過的人。
想換圖標的花,只需要右鍵-&>顯示包-&>contents-&>resources,吧原來圖標的Sublime.icns替換掉就哦了。

2.如果你在用10.9 一下的OS ,如果你沒有用

那麼在你剪切粘貼複製粘貼的時候你有沒有感受到蛋痛。你的finder可以多標籤么!!

3.如果你用iTerm2 和zsh ,卻沒有配上這個oh-my-zsh 的裝逼主題,那麼還是差了點火候啊!
字體打包特殊字元,完成這種風格,可算是要折騰的啊

4.如果你做網頁設計,想找一個爽一點的取色軟體,找來找去都找不到順手的時候,請試一下

5.如果你的觸摸板上下滾動是使用的自然方式,意思是雙手向上的時候頁面向上,那麼在使用滑鼠滾輪的時候,感受到那麼的彆扭的時候,請使用這個神器

6.android 開發,如果你還在用那個慢到死的模擬器,珍愛生命,珍惜時間,請用

分分鐘就開機了啊!秒殺自帶模擬器不知道多少次啊好么!!

7.如果你英語不好,自帶的詞典就非常好! 自己裝上詞典包,以後就省了各種詞典了,
瀏覽器中右鍵,直接選擇在詞典中查找,就哦了有木有,效果爽不爽!

8.居然忘了Markdown編輯器,我只用


==update 2013-11-28T13:01:19+08:00==
已經做了一個周的iOS開發了,覺得iOS開發其樂無窮啊。
看到這麼多人關注這個問題,還有點小激動呢(醒醒吧!又不是給你點贊!!)。其實我最初是想把重點放在「程序員」和「Mac」上,不過看見有很多知友從方方面面分享了Mac的使用經驗,也受益匪淺。作為提問者,我還是想從程序員的角度補充分享一點經驗。

  • 使用Homebrew — MacPorts driving you to drink? Try Homebrew!

這個絕對是程序員居家旅行必備的神器了,功能上跟apt-get差不多。

  • 註冊一個美區賬號

很多App在大陸是不發售的(比如下面這款應用),因此你需要去註冊一個美區的Apple ID。

  • 使用Microsoft Remote Desktop

這個應用貌似不在大陸的商店中銷售。這個應用特別適用這種情況:公司給配了一個台機,上面裝了個Windows,然後你又想把台機的顯示器分給Mac做雙屏,偶爾用到Windows的時候還得把顯示器還給台機,接來接去可麻煩(好吧,不要問我為什麼不再去向公司申請一個顯示器),這個時候這款神器就有用了,你可以遠程桌面到你的台機!

==end==使用rMBP快半年了,現在來回答自己提的問題(那些在Mac上裝Win的就無視吧)。
聲明:本人是程序員一枚,平時常用語言為Java、Python、Shell,會做一些Android開發以及腳本開發,喜歡折騰,見到優雅的可以稱之為藝術品的應用就像見到了親爹一樣。
私以為,Mac的優點在於它的內在美:GUI和Unix命令行的完美融合,觸控板和巧克力鍵盤帶來的良好的用戶體驗。至於其他諸如外觀、續航等就不說了。
我覺得程序員要優雅的使用rMBP可以充分做到以下幾點:

  • 充分利用Mac的命令行(終端)

這是每個程序猿,不管做的是哪方面的技術都應該掌握的。一些基本的命令,會讓你的工作效率提升很多。Mac自帶的Shell是bash,建議換成zsh(Mac已經自帶zsh,省去了安裝的步驟,要做的只是切換一下,而且zsh兼容bash,使用起來無壓力,其他優點不再贅述,自行Google),配合github上oh-my-zsh的插件,使用起來真心方便;此外,推薦使用自帶終端的代替應用:iTerm2,也是個小神器了~網上這方面的教程很多。舉個例子,比如要查看根目錄一個隱藏文件夾的大小,用GUI怎麼辦?是不是要各種設置一番?用終端,一個命令就解決了:

iTerm2 + zsh,是我的標配了~

  • 使用Airdrop跟同事傳文件

AirDrop是Mac自帶的很棒的局域Wi-Fi無線傳送技術,如果同事都用Mac,那麼你們互傳文件時盡量用Airdrop吧,UI很贊不說,速度也很快,不要再用QQ等IM的發送文件了。

  • 安裝ohdarling/GoAgentX · GitHub GoAgentX

FQ應該是程序員必備的技能了吧~Mac下有一款很好用的圖形化FQ工具,如題所示,這裡是如何配置:如何在 Mac OS X 平台設置 GoAgent?

  • 主動去發掘一些應用

沒事可以去逛逛V2EX等一些論壇,找到那些能提升你工作效率、生活品味的應用,多多把玩,才能讓Mac物盡其用。像Sublime Text、Mou、OmniGraffle、EverNote、AppCleaner等等都不用說了吧~

  • last but not least:不要裝Windows

這個只是個人的品味和建議了,我個人覺得裝了Windows的Mac就特別不純粹,可能是之前也一直再用Ubuntu,對Win沒什麼好感。實在不行了,安個虛擬機吧。

暫時想到這麼多,一點個人的經驗分享,還望海涵。

(題主不小心露臉,我是想曬一下哪個Github的貼紙~)

(故意製造一個寫代碼的場景,其實當時是在聊天好么~~)


首先你得學會優雅地「截圖」.


現在的程序員比較偏愛mac,除了蘋果自身的高顏質和高質量外,很大程度上還是因為 mac 的系統要比 windows 好用。當然前提是能找到和自己工作相對應的軟體,像 plsql、powerdesigner 這樣的軟體目前還是沒有較好的替代方案。我日常的開發工作主要是 java 和 web 兩個方向。java 用於開發協議和微服務,涉及到 tomcat、nginx、各種依賴服務,如:redis、memcached、mongodb、rmq、zookeeper等。web 方向涉及到 webpack、vue、fis3、extjs、d3js 等技術。結合我自己的習慣,給大家介紹一些使用經驗,主要目的:保持電腦環境的純凈和提升工作效率。

我電腦目前的磁碟使用情況

如果你也希望自己的電腦一直都操持純凈,不想哪天被提示沒有存儲空間或者莫名其妙的發現沒裝幾個軟體,磁碟的佔用率卻已經很高,即使卸載軟體也起不了多少用,可以花幾分鐘時間了解下以下的內容,應該能有所收穫。
PS:我的電腦硬碟分 os 和 data 兩個區,下文中提到的 homebrew,docker,maven,node 都屬於資源管理類型的軟體,通常會佔用較大的存儲空間,比如docker的鏡像存儲目錄,maven的本地庫。因此建議全部採用軟鏈的方式,將這些資源統一存儲到data分區中,以控制os分區的佔用空間。

1、使用time machine 蘋果自帶的備份工具備份電腦

time machine 完成首次備份

time machine是蘋果自帶的備份工具,可以隨時備份和還原到指定的時刻,像我這樣愛折騰又有潔癖(僅針對電子產品^-^)的人,對軟體安裝後的垃圾問題向來零容忍,所以通常我會在裝好系統的時候立刻備份一次,然後開始安裝主要的工作環境,完成後再備份一次。如果中途出了任何問題立刻恢復重來。這兩次備份做好後以後就關閉time machine 不再備份了,我可不想因為備份磁碟不足將這兩個重要的成果給自動刪除了。今後工作過程中產生的資料、代碼將統一交給git存儲,這是一個良好的工作習慣。

2、使用homebrew 管理你的軟體

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

homebrew 安裝提示

homebrew 的安裝過程非常簡單,網上也有很多的教程可供參考,圖中的提示可以複製鏈接到網頁,在 github 上生成一個 token 並按上面的提示寫入到環境變數中就可以開始使用了。一句話總結:能用 homebrew 安裝的軟體一概用它安裝。
brew search [TEXT|/REGEX/] 搜索線上的軟體
brew install FORMULA... 安裝軟體
brew update 更新 homebrew 自己
brew upgrade [FORMULA...] 更新軟體
brew uninstall FORMULA... 刪除軟體
brew list [FORMULA...] 查看本機安裝的軟體

3、使用 iterm2 替換蘋果默認的終端

iterm2 配置好後的效果

iterm2 是很多人都推薦的工具,可以水平或者縱向分割窗口,配合 zsh、 oh-my-zsh、 solarized 配色、Powerline 字體、coreutils 就可以達到上圖中的炫酷效果。另外任何你之前使用過的命令還可以通過上下鍵翻出來,你也可以先輸入幾個開始的字母后再按上下鍵查找,大大的提高了工作效率。它的配置過程稍複雜一些,也可以參考我git上的文章 https://github.com/lenxeon/notes/tree/master/ 配置。另外做為一個伺服器開發者,一定要多掌握一些常用 shell 命令,像 grep awk tail seed curl find 這些命令能夠幫助我們快速地分析日誌,做起事來事半功倍。

4、使用docker 搭建各種服務環境zk、資料庫、rmq等

註冊個國內的鏡像加速

設置使用國內鏡像加速

kitematic 管理器

docker-compose服務編排

docker是近年來非常熱門的技術,容器化,彈性雲計算這些耳熟能詳的詞語都跟他有關。使用 docker-compose 來編排應用,可以真正做到一鍵安裝,大大的降低了目標客戶安裝軟體的難度。目前對我來說最大的好處是實現了母機環境的純凈管理。有了 docker 所有的配置嘗試、變數修改、軟體安裝全部都在容器內進行,這些修改都將隨著容器的刪除而徹底刪除,再也不用擔心母機的軟體越裝越多,硬碟佔用越來越大,軟體刪除後的頑固垃圾無法真正徹底的清理乾淨,環境變數雜亂、衝突等問題了。 它主要的功能有:
將應用程序攜帶型部署成單一對象,而不是進程沙箱;
以應用程序為中心,而不是以機器/伺服器為中心;
支持容器自動化構建;
內置版本控制功能;
可重複使用的組件;
共享容器的公共註冊中心;
藉助已發布的API,建立日益龐大的工具生態系統。我們理想的應用方式是:在docker的基礎上結合 gitlab,jenkins 和我們魚骨軟體的 im 服務構建一套持續集成的開發管理模式。當成員提交代碼到 git 後,git 會通知到 jenkins 觸發相應的自動化測試,測試完成後會將測試報告發布給魚骨的訂閱群組,如果遇到測試不通過的情況則由相關的開發者查明原因、修正並重新提交代碼。這樣可以極大程度的保證代碼的質量,減少測試人員的重複勞動,提升工作效率

PS 因為docker默認的鏡像庫在國外,導致拉取鏡像的時候速度超慢,因此我們需要註冊一個國內的鏡像庫。

5、使用Dash管理你的文檔

dash 提供了大量的文檔供下載

使用dash查找vue的api

dash 是mac上最好最全的文檔管理工具,本身提供了大量的文檔供下載,幾乎各類語言的各個版本都可以在這裡找到相應的文檔,而且使用起來也非常簡單方便。

6、使用Xmind管理你的思路

用戶服務相關的部分功能

我們在做服務開發的時候,經常需要思考這麼幾個問題:如何拆分服務,目前已經提供了哪些服務,還有哪些可以完善的服務。腦圖工具可以很好的幫助我解決這些問題,腦圖節點就代表著如何拆分,已經提供服務的用已完成標記,認為有問題可以改善的服務可以用感嘆號標記,還未做的服務用未啟動標記。腦圖工具有很多可選,像業內知名的有 xmind, mindmanager 。隨著雲概念的火熱,現在也有很多的在線腦圖工具可選擇,包括我們的魚骨軟體也都有提供在線腦圖這樣的功能。

7、使用 IntelliJ IDEA 開發 java

idea 的開發界面

idea 配色後的的開發界面

提到idea不得不說說jetbrains這家公司,真心的很佩服他們。idea、 webStorm、 phpStorm 每一款編輯器都倍受好評。我使用idea大概 5 年了,除了頭兩年還有用 eclipse 外一直在用它,究竟好在哪裡真有點說不上來,但用過以後你心裡就是會覺得它好,有點像蘋果的產品,愛在不言中。
PS: http://color-themes.com/ 這裡有很多的配色方案,下載後導入即可

8、sublime text / atom web開發的神器

sublime text 的開發界面

atom 的開發界面

兩個非常有名的文本編輯器,從性能上講 sublime 更強,載入一個較大的文件就看出來。atom畢竟是用JS編寫的產品,所以這點也說的過去了。之所以兩個都裝是因為我經常切換項目做一些參考,而且兩個產品還是有一些不同的特點,小文件編寫我更常用 atom。另外單就 web 開發而言還是盡量拋棄那些比較笨重的開發工具吧,比如當年的dreamware。用這兩個編輯器能幫助你快速掌握前端那些標籤,樣式,函數,一點也不比用 dreamware 慢,如果說還有比它更適合前端開發的編輯器那估計就只能是 webstorm 了。

9、使用jenv/nvm 管理java和node的多版本環境

jenv 切換不同版本的jdk演示

在開發的過程中,偶爾會遇到需要使用不同版本的 jdk,nodejs 的場景。這兩個命令可以方便的幫助我們實現不同版本的切換功能,想用哪個版本就用哪個版本,再也不用手忙腳亂的去修改環境配置了。

10、使用 tower 管理你的 git 項目

新版的tower支持很多種賬戶類型

項目代碼管理界面

tower 提供了git 的 GUI 管理界面,極大的降低了 git 的入門難度。是 git 入門者、命令恐懼者的福音。

11、使用 omnigraffle 畫圖

omnigraffle 畫的應用場景示意圖

omnigraffle 畫的系統部署示意圖

又是一家需要膜拜的軟體公司,每一款產品都很出名 omnigraffle 、omniplan、 OmniOutliner、omnifocus。我喜歡用它的 omnigraffle 畫圖工具。軟體本身並不大,提供一些基礎的矢量素材供使用,同時也可以自己從網上下載素材導入使用。

12、使用 魚骨軟體 來管理團隊日常工作

任務的協作界面

早上的工作提醒,重要的協作通知

部門群中的日常溝通

這是我們自己開發的辦公協作軟體: http://www.yugusoft.com/p/ ,主要的功能包括:項目管理,任務,文檔,同事圈,IM。目前我們內部的管理工作已經全在這個軟體中進行。每周一在公司的周會中定義下本周的開發計劃,再回到部門中召開一個十分鐘左右的站立會議,給部門成員傳達本周的工作重點,會後拆解成相應的任務落實到具體的負責人進行開發,任務需求相關的原型圖和設計稿由產品和設計的同事以附件的方式提交到任務中。中途有疑問的地方可以在評論或者Im中進行溝通,如果溝通不順暢則會組織一個小範圍的面對面討論,達成一致意見後再次將新的共識更新到任務評論或附件中。

13、結語

除了上面這些軟體外還有一些其它的軟體,像:chrome,navicat,gitbook 等等就不再一一截圖展示了。以上這些已經滿足了我日常的使用需求,而且涉及到軟體安裝,環境搭建的問題已都有了較好的解決辦法,主要還是歸功於 homebrew 和 docker 兩款軟體。如果您喜歡這篇文章請幫我點個贊~~。

============================

看到大家爭論分區問題,我覺得要堅持分區,這是一種對待系統和數據的態度。實際上所謂的空間利用率這點我覺得是占不住腳的,比如最小128G的硬碟並不會因為分兩個區就少放東西了,實際上本身我們也放不滿整個硬碟,比如60G的系統,60G的數據,我們會有60G的數據需要放么,感覺是不太可能的,除非是資料收集者,比如電影、視頻之類的。所以我的數據盤裡一般只有代碼,文檔,圖片,而它們一般也就在10-30G左右。分了區會在find的設備里有一個入口,結構也更清晰。而且這個和windws其實是一樣的,為啥windows裡面我們會分成:系統,遊戲,娛樂等等,到了mac上分區就不行了呢?

============================

最近開了個公眾號:「程序員自我修鍊之道」,歡迎大家關注~~

http://weixin.qq.com/r/fTh4YOfE-LqDraMD921v (二維碼自動識別)


最近開始重拾老本行了,又開始看代碼相關的書,還是想有點時間可以自己搞點東西。


不談炫技和效率,我談談讓程序員們真正的「優雅起來」的基本功——英語。


對於時刻需要和國際接軌的程序員們來說,英語的重要性是毋庸置疑的,特別是那些有志於在碼農界闖出一番新天地的潛力股們。


為啥?


就從新技術的學習來看,只有英語好,才能在第一時間閱讀國外最新的技術開發指南,才能讓技術跟上世界的潮流。這不是大空話,你且想想國內出版社引進的國外技術作品,要不就是晚了1-2年,要不就是趕進度翻譯粗製濫造,看得內心十萬頭草泥馬奔騰。


在碼農界,有一句名言:

世界上最遙遠的距離,是我在讀翻譯版的《JSP高效編程》,你在看原版的《AngularJS in Action》……

知道英語的重要性是一回事,學好就是另一回事了。

按照一萬小時天才定律,程序員們要真正把英語學到能看、會寫、能說的程度,一定不是一個速成的過程。


有位尊敬的碼農前輩曾經寫過一篇專門指導程序員學習英語的文章老碼農教你學英語(1),本人照方抓藥,收益匪淺。


——————(以下是辛勞的搬運工)———————


1萬個小時學好英語這個數據的估算方法是:閱讀5000小時、聽2000小時、 寫2000小時、 說1000小時,下面具體說明:

1. 大量閱讀是提高英語水平的基礎、核心、重中之重,要在大量閱讀的基礎上再開始練習聽力和寫作。

為什麼這麼說?最有效的學習方式就是模仿,而聽說讀寫四個要素里只有聽和讀有模仿條件。
那為什麼不是先多聽呢?有兩個原因。一是口語比較隨意,俚語方言比較多,在表達上不如書面內容嚴謹;二是聽一次沒能理解的內容不容易查找和重複。所以大量的閱讀是提高英語水平的關鍵性基礎性的工作。


怎麼閱讀呢?我推薦一種暴力方法,不管你基礎如何,先找一兩本和技術相關的白話書,而且是你最感興趣的領域,比如經典的《The Mythical Man-Month》(人月神話) 和《Joel on Software》(大神Joel談軟體開發)原版書,這樣讀起來好歹不那麼苦悶,有助於你堅持下來。畢竟在這個起步階段,堅持是第一位的。不然給你找本《advanced econometrics》試試,據說95%的碼農讀了三天之後都瘋了。

就算是你感興趣的書,也保不齊一開始讀起來覺得很費勁。也許有的人翻開第一頁一看,媽呀,一半單詞不認識!這咋辦?沒事,像我前面說的,有把握蒙的就蒙,沒把握的就查,查過的可以把中文意思寫在單詞旁邊,能寫英文理解更好,懶得寫也沒關係,總之原則就是把全部內容看懂吃透就行。

還有,句子太長裡邊有好多that….. which….. who….什麼的從句?那也沒關係,別人理解不了,可咱是碼農啊,懂得嵌套結構的原理,不就是遞歸嘛!甭管他連了多少個,從最後面的那個往前一個一個處理,把從句用彩筆一個一個標出來,最後看清楚嵌套關係以後,句子也就容易看懂了。實際上,我覺得英語最妙的地方就在這裡,它能在一個句子里用一個無限延展的樹形結構來描述一個概念,直到把它定義得非常嚴謹無歧義為止。中文做不到這一點,必須拆成好多個句子才能做到通順,但理解起來就困難多了。

在這個階段一定不要求快,一天吭哧吭哧地只看了半頁都沒關係,也很正常,但一定要確保準確理解。在此我想特別提醒的是,如果你一開始不適應,一定要堅持下來。其實學習英語過程中最難的不是聽說讀寫,而是英語思維。漢語是講朦朧美的,所謂「道可道,非常道」,越深刻的東西往往越是「只可意會,不可言傳」,文人寫文章喜歡下結論而很少論證,結論的經驗性主觀性較大,例如「肉食者鄙,未能遠謀」;而歐美文章則大多務求精確嚴謹,定義精確,論證充分,避免邏輯上的漏洞,下結論則往往比較謹慎,一般都是客觀數據,盡量避免主觀看法,例如「根據衛星雲圖,明天的降水概率為70%」。我年輕的時候買過《孫子兵法》和克勞塞維茨的《戰爭論》一起看,兩者的風格差別真是涇渭分明。

此外對於人文方面也有很大差別。老外經過文藝復興,對於人文關懷有了很好的基礎,更強調個人自由和權利,所謂」風能進,雨能進,國王不能進」;我們從歷史文化傳承的角度看則是集體大於個人,更強調個人適應環境。再比如老外對於弱勢群體的歧視嘲笑是非常忌諱的,但中國人往往習慣了小品里瘸子瞎子胖子出場摔一大跟頭這樣的笑料。

所以,這些思維上的差異才是學英語的最大障礙,而大量閱讀有助於理解和養成這種思維習慣。特別是邏輯上的嚴密性和表達的客觀性方面,由於文化傳統和教師本身的原因,在中國現在的教育環境很難訓練出來。但是通過大量閱讀英語材料,就可以達到很好的洗腦效果,實為居家旅行、和平演變必備良藥(水表在門口,最近沒網購,誰喊我都不開門)。

讀完兩三本白話書就算是熱好身了,下面可以開始讀一些更枯燥的東西,主要是專業教課書。如果上大學的時候學的《數據結構》、《離散數學》、《操作系統》這些都還給老師了,正好拿英文版的複習一下。找你專業相關的基礎課原版教材,5本左右,開搞。照著前面的要求,一樣細細地看,不求快但求精,練習題也好好做一部分,不然你怎麼知道自己確實理解透了?

等你看完這幾本,閱讀基本上就算入門了,可以開始練習寫作和聽力,具體做法後面再細說。


與此同時,要開始看一些行業里最新的技術文檔。這些可能還沒出書,也可能有一些免費的pdf,不管怎樣,也找5本左右來看,什麼MongoDB,Neo4j,Node.js,AngularJS之類的,細細地看,邊看邊做個系統練手,因為這些新技術文檔還比較少,社區里的東西也不多,所以免不了要去StackOverflow問,或者去GitHub找些例子來看,別偷懶,這些都是很好的學習方式。


等你把這幾本書也啃下來以後,按A4紙算,你的閱讀量肯定會達到7000頁以上,在SO, GitHub, Google上查看過的英文資料也不會少於3000頁,閱讀總量肯定超過1萬頁了。現在恭喜你,你的閱讀能力肯定沒問題了。如果我沒猜錯的話,你這時候碰到翻譯版的書都懶得瞟一眼,更別說花錢買和花時間讀了。

另外,閱讀能力達到這個水平以後,寫作也基本有個基礎了。所謂「熟讀唐詩三百首,不會作詩也會吟」,看多了以後你會發現英語寫作也有一些套路,和中文是一個道理,經過大量的閱讀,很多句式其實已經在你的腦子裡了,只要在寫作過程中經常練習這些句式,自然就熟能生巧了。

2. 寫作要創造環境,每天都要寫1000字以上。


在互聯網時代,這一點也不難。最簡單直接的辦法就是註冊一個StackOverflow賬號,起初是去問問題,把你搞不定的代碼貼上去,會有大牛們幫你搞定,順帶著閱讀也練了;等你技術水平漲了以後,想想這麼多人幫了你你才成了大牛,總不能只進不出吧,有餘力了就應該報復社會,所以就經常去StackOverflow找一些你拿手的主題,幫其他菜鳥們解答一些問題,這樣也就練了寫作了,一舉兩得多好!


等你在SO上混出了點名堂,有點江湖地位的時候,就會有人來找你,比如幫忙干點活啊諮詢點問題啊之類的,自然郵件聯繫就少不了了,這都是練習寫作的機會,就算你不想幫他幹活,也可以和他扯一扯。


另外,弄個翻牆軟體比如goagent,註冊個Google Plus賬號,上去看看熱點文章,寫點自己的體會之類的。實在閑得無聊也可以找Linus之類的大牛混,他每發一貼你就上去評論一番或者請教一下,先混個臉熟嘛!順帶也練習了寫作。時間長了,說不定大牛還喜歡上你了,沒準隨便給你個肉身翻牆的機會,這就是意外之喜了。


總之,寫作是大量閱讀之後水到渠成的產物,不過要注意一點,寫出來的每個句子甚至每個單詞都要務求精準地道,不知道的不要瞎寫,要麼改換自己熟悉的寫法,要麼查清楚了再寫。要是養成隨意亂寫的習慣,寫出來的句子都是中國人能看懂,外國人都看不懂,那前面的努力就付諸東流了。

3. 聽力要在閱讀能力達到一定水平後再開始練習,和前面說的閱讀給寫作打基礎的關係相似,練聽力的同時其實就在為口語打基礎。


我首先要說的是,千萬不要跟著美劇什麼的練聽力,你又不是打算偷渡去紐約皇后區賣毒品跟黑人大哥混,就算你聽一耳朵就能熟練分辨出說WTF are you doing的是義大利人、愛爾蘭人還是黑人,又有啥用呢?咱們做碼農的一定不要忘了自己的本分,得跟著碼農的大哥混才對,所以練習聽力一定要多找IT圈的大牛的訪談來聽。


最經典的自然是天妒英才英年早逝的喬幫主,多聽聽他的訪談你就知道他的成功絕非偶然。像這樣一位邏輯嚴密,思維活躍,表達能力強,善於調動聽眾情緒,還很有幽默感,而且做事又非常有韌性的人,實在是百年難遇的天才人物。


比爾蓋茨的訪談就差多了,他的表達能力真的是不敢恭維,有時候東拉西扯的聽不明白重點,依稀有點韓喬生老師的風韻。政客系列也不推薦,像奧巴馬的講演聽起來總有一種似曾相識的趕腳,細細一想,這不就是美國版的傳銷講座嘛!


所以,多聽喬大神的訪談絕對是沒錯的。為啥是訪談呢?因為都是對話,形式上和咱們的需求匹配,咱們工作中需要的英語對話就是類似於訪談式的,你想想是不是?而且他的訪談聊的都是咱們挨踢的事兒,背景知識都比較熟悉,你專心聽他的表達和邏輯就好了。你要是不服,俺給你弄個生物系教授講分子生物學課程的錄音讓你聽,你聽完還能找得到北嗎?


這些訪談在網上都有,到iTunes里的podcast里大把大把的,不過別找帶字幕的聽,千萬!


現在材料有了,怎麼聽呢?我先告訴你,每個訪談都要聽100遍以上,頭20遍就是稀里糊塗地聽,能聽懂多少聽懂多少,聽不懂的先蒙。但我敢保證,第20遍肯定比第1遍聽懂的東西要多多了。到了20遍還在蒙的,基本你聽到第100遍也還是在蒙,所以再蒙下去就沒意義了,這時候找到文字版好好看一遍,就看一遍,然後收起來,再聽20遍,這時候有些原來靠蒙的就聽出來了,聽完20遍再看一次,再聽,如此反覆,100遍之後基本應該都不用蒙了,然後再聽下一個。聽過100遍的,以後也要經常複習,反覆聽,再背幾遍,很多句型就會自動進到你的腦子裡,給你的口語打下一個很好的基礎。


IT界的訪談每個大概都在1-2小時之間,就算1.5小時吧。一個聽100遍就是150小時,精聽10個就是1500小時。10個就夠了,不用追求數量,關鍵是重複。當然平時還要有一些泛聽,比如英文廣播、看CNN新聞什麼的,越多越好,這些就不求全聽懂,聽懂多少是多少,一遍就過去,權當是個消遣。


在這之後,再故意去找一些錄音不是那麼清晰的訪談來聽,比如喬大神96年回到Apple時,在當年的WWDC上的訪談。這個訪談很有意思,因為他一回來就砍掉了好多正在做的產品,有很多利益受損的聽眾對他不服不忿的,帶諷刺挖苦甚至攻擊性的問題也不少,可喬大神應對自如,瀟洒極了。這個訪談大概是因為年代久遠,雜音比較多,音質也不太好,但仔細聽也能聽出來。很好,就是它了!就照著這個標準找那麼三、四個略模糊的訪談,比如通過電話進行的一些訪談,再如法炮製,按100遍的方法聽它500小時,這樣聽力基本也就過關了。


有人大概心裡會嘀咕:故意找這種模糊的錄音聽有什麼意義呢?這主要是讓你適應不那麼理想環境下的聽力,比如在喧鬧的餐廳里對話,或者是老外通過skype對你進行電話面試,而你只能聽清專業錄音設備錄下來的訪談,那咋行?所以也需要在前面理想條件下1500小時聽力練習完成的基礎上,訓練一下惡劣條件下的聽力。

4. 練習口語是最麻煩的,因為說的條件最難創造,這必須得有個大活人認真地跟你聊才行啊!

練習英語口語不外乎這麼幾個途徑:交外國朋友,進外國公司,或者花錢雇外國人跟你聊。各人工作、經濟情況不同,這就自己選擇吧。練口語一定要找英語是母語的人士練習,這樣才能事半功倍。


另外,有機會就多去美國英國澳大利亞加拿大什麼的地方轉轉,現場體驗一下自己的學習成果。不過我這裡講的主要是碼農工作相關的東西,基本沒涉及到生活類的英語,比如去麥當勞買個milk shake什麼的,這些主要靠現場體驗現場學習,但有了前面陽春白雪的碼農高端上流社會英語作為基礎,這些下里巴人的生活英語上手很快,對你肯定不在話下。
————————(搬運完畢的分界線)——————————


再補充一點我從「笨拙」變「優雅」的小TIP——用好電腦翻譯工具:

前輩的10000小時天才定律我是深以為然的,但是,英語沒學好的時候活還是得乾的,還是要吭哧吭哧硬著頭皮讀文檔,還是得時不時冒充技術大牛去國外論壇里翻翻。英語不夠的時候,工具來湊。

個人用過三款MAC版翻譯工具(加原生版是四款),目前覺得用得還不錯的是有道詞典,給了我一種不是原生勝似原生的體驗。

推薦一下最實用的幾個功能:


1、快捷窗口查單詞:就是完全不需要打開應用,點擊頂部的圖標就能直接查單詞。我曾經無聊的時候測算過這種查詞方式和傳統的打開應用查詞方式的效率差別,發現對查詞效率的提高在30%以上。

2、屏幕取詞:還是不用打開應用,只要在頂部的圖標里選定劃詞、取詞就行。這在翻牆看帖和閱讀英語文檔的時候再實用不過了,不認識的詞就隨手一划就能翻譯,還能一鍵保存到單詞本,方便時不時拿出來複習。

還必須贊一個的是單詞本是多平台同步的,意思就是我MAC上查完並保存的詞,我在路上掏出手機就能隨時複習。

第一步:選定取詞、劃詞

第二步:隨時隨地查閱/保存不認識的辭彙

剛才翻了一下我這一個月的歷史查詞記錄,累計的查詢辭彙已經有600多個了(對於歷史查詢的記錄功能我要點一萬個贊),其中300個加了單詞本,可見這一個月我的閱讀量和辭彙學習量是達標的。


距離10000小時還有9850小時,繼續努力!


都沒人提到手勢神器Jitouch嗎,這個插件可以讓你的觸摸板升級為神器,一隻手的兩三個手指就可以完美打開關閉切換瀏覽器里的不同標籤,配合Chrome 兼職就是上網瀏覽的極致體驗喲,右手操作電腦,左手還可以干點別的喲~嘻嘻哈哈。

這裡再介紹一下,Chorme下還應該安裝「印象筆記·悅讀」插件,可以把宂亂無章夾雜各種評論和廣告的頁面轉換成精美易讀的大字體,背景清爽整潔,還能自動另存為Pdf,學習的好幫手喲~

當然你可以說自帶的safari瀏覽器就有這個閱讀功能啦,但是個人不喜safari,一是整個設計是擬mac的鋁製金屬感,收藏夾里每個網頁都無自己的logo顯示,感覺單調枯燥乏。。最關鍵的是標籤之間切換的遲滯感好難受喲~

ps:針對mac下是否安裝windows以及安裝了windows是否是一件很低級齷齪的事,我是這個看法:
1.首先跟性別無關,不要覺得你是女孩子就有理由用不了mac OS,而用OS就是男生(geek)的事。女孩子不要把自己的智商想成是2歲的baby。
2.其次就是看具體的使用了,如果兩個環境下,有相同的軟體使用環境,比如說純粹的office辦公,上網瀏覽,視聽娛樂等,這些不但mac有,而且個人認為用戶體驗至少做得不比windows差。所以這些基本的功能大可使用mac的。當然我說的這些有點太小看mac了,難道全世界人們買mac只是用來干這些簡單的事情嗎?
不是的,mac有高端大氣的keynote,iMovie,Aperture,FinalCut Pro等神器了(我不是做攝影平面的,所以其他的神器我就不太知道啦)。像我拿keynote做的彙報高端大氣有沒有,拿iMovie簡單做個產品開箱什麼的,相比windows下的什麼xxxx簡直弱爆了有沒有。
所以說,還是具體依照你的職業來判斷,是否「合適and適合」來使用mac。
比如你是攝影or平面or動畫等專業,那麼你應該慶幸這個世界上有比PC好用的軟體or硬體(就是OS和Mac啦),Mac顯示器的色彩是出類拔萃的,OS下眾多高精簡的軟體也使你看到了不少大製作的電影動畫。


我個人是干建築設計的,這個行業不得不涉及到各種繪圖製作軟體。不得不說,就做常用的AutoCAD來說,這個國際通用的二維繪圖軟體有很多本地化的插件(例如天正,理正工具箱等),所以這個軟體的運行環境95%以上都是在PC下的。同樣,Autodesk公司下的大多數二維三維的軟體,都是以PC下為主的,包括現在流行的Revit等等。而三維建模軟體也同理,Sketchup和Rhino,這兩個建築師最常用的建模工具,也是在PC環境下有著眾多的第三方插件以及可以熟練操作。所以說建築師或者相關從業人員如果單純為了優雅裝b的在Mac下使用不成熟的相關軟體,那就是事倍功半了。
當然,Adobe系列的軟體,一直在OS下做的很好啊,配合SSD硬碟,Photoshop和AI也可以秒開秒存哦。

程序員以及IT行業我就不知道有多少軟體的兼容性好了,總結來說就是看你具體幹什麼。


如果你喜歡chrome 那麼vimium不來一發?


打字的時候把小拇指翹起來。

本來要上圖的,怕大家會吐,還是自行想像吧。


1.電腦是拿來用的,無論是否優雅,滿足需求才是王道;

裝Windows沒什麼不好,否則為什麼Apple提供 Boot Camp 這麼便捷的裝windows呢。

2.mac 下 QQ 不能群語音;

3.mac 下修改Gif 不好用;

4.mac 下 Office 不如Office2013 好用;(不要和我提Pages,功能上的差那麼多);
(已入手office365 )

--------下面說下怎麼優雅使用Mac---------

1. jitouch: 這是神器,從此你可以拋棄滑鼠了,順便吐槽 magic mouse 的難用(主要指握姿);

2.不用關機,只需要合上蓋子就好(SSD硬碟的)。 windows 和 mac 均可;

3.Magsafe 電源適配器 連接 可以正反面接;

4.Mac下有自帶截圖快捷鍵:

全屏截圖:Command-Shift-3
使用快捷鍵後會馬上截取當前的全屏

指定區域截圖:Command-Shift-4
使用快捷鍵後會出來一個帶有座標的瞄準器,用滑鼠的拖放可以選擇需要截圖的區域。

5.多桌面:Mac下面多桌面非常好用,三指滑動切換;


首先我得感謝幾位同事將我拉入Mac的深坑,引導我發現新世界;
也得感謝題主的提問和各位答主的分享,指引我在新世界前行;
最後,這個答案可能也很少人看了,權當寫給自己,做為一份總結。

//文藝模式解除,開啟裝逼模式

1.把系統語言設為英文~~~~~~(你不裝逼能死啊)。之後可能你會發現安裝的軟體也變英文了,這時你可能會想,老子真是腦子被驢踢了,居然相信那個逗逼的話。

2.使用五筆,不要用拼音...........做為一個程序員,怎麼可以接受拼音那令人抓狂的重碼率?(這好像是強迫症的臨床表現)

3.可以使用鼠須管輸入法,隨便說說,我也不會用。

//裝逼失敗,降低輸出功率,繼續開啟

一.日常操作

1.使用Alfred打開所有應用,當然還有許多功能,其它答主的回答已經很完善了。
我後面會介紹Manico,能用Manico打開的就不要用Alfred了;
補充幾個,Alfred可以彈出外接硬碟,可能大家都知道,可是我本來不知道;
還可以關機、睡眠、重啟、鎖定。

2.隱藏Dock,這玩意真的有用?

Automatically hide and show the Dock


3.
激發Dock,當然Dock有時候還是要有的

Move focus to the Dock

可以將隱藏的dock顯示,再按一下消失,而且顯示的時候可以用方向鍵控制

4.切換程序
切換程序的基本姿式有這麼幾種
1.
??,?+,??,??,??,??,??,哎喲,我去,過頭了,???,OK,還沒累死。
2.
??,滑鼠點,喂喂,我是鍵盤黨我所說的滑鼠包括觸摸板,小紅點,軌跡球,不要扣字眼
3.上面說的Dock裡面,按方向鍵
4.我的姿式:(也可以打開大部分程序)
?Q=QQ
?F=firefox
?V=MacVim
?M=Moom(這個我用的是Moom自己設的快捷鍵)
?S=sublime text3(我沒這貨,只是打個比方)
............................
一下隱藏
理論上可以綁定五六十個快捷鍵,實際中十多個就夠了,畢竟常用程序不會太多
使用Manico可以實現,當然其它軟體也可以

5.使用Moom
,誰用誰知道

6.禁用?M
這貨有什麼用?最小化就不會??出來,難道是為了防老闆?(老闆會用mac嗎.......
使用?H
我忘了怎麼禁用了,不過我把?M改成了Show Help Meun,可以方便把焦點移動到工具欄,算是對Windows下Alt鍵的一個模仿。

7. 善用Move focus to next window
打開了四個MacVim/Finder怎麼切換?

  • 四指上劃,選中想要的
  • 四指下劃,選中想要的
  • .............................好累

簡直.........原來以前都是白辛苦了。
做為一個前端,此功能對瀏覽器調試非常有幫助,不細說了

8. 說到瀏覽器,請給瀏覽器安裝以下插件(firefox為例)

  • adblock plus
  • element hiding helper for adbock plus
  • 反視頻廣告(這個比較雜)

不要跟我提廣告費維持網站運營好嗎?整天搞一些色情、暴力、腦殘、格調極低的廣告,我還得忍著噁心看?
下面是幾個比較高端的插件
,可以前端會比較容易上手

  • stylish
  • greasemokey
  • vimperator(神器,可惜對firefox支持越來越差,可能下一個版本就不能用了,傷心)

9. terminal相關

  • 使用iTerm2
  • 使用zsh
  • 給zsh激活z插件
  • 使用iTerm2打開能打開的所有東西

比如說,你把小黃片藏在極隱秘的地方,每次用finder打開都得搞很多路徑,這時候就可以這樣

z little-yellow-moive &&
open little-yellow-moive-1.avi &

Ok,可以欣賞了。

10.裝個Dash吧,要不然不好意思說自己是mac下的程序員。

11.英文有壓力可以裝個EuDic,當然,用自帶的,或者Alfred工作流也是可以的。

12.買個上google的軟體,一年一百多,回報可能是上千。

13.打開兩個QQ
iTerm2下

cd /Appalications;open -n QQ.app

蠻有意思的

14.使用vim、MacVim做為主要編輯器

15.寫markdown

16.使用1Password

17.用seil把caps lock鍵改成control
這應該是一種流行的做法,我沒這樣做,因為使用外接(機械)鍵盤的話,control很好按到,我把caps lock別做它用了。

18.Keyboard Maestro
個人認為算是神器,大家都會想寫腳本執行來某些操作,但是對於不會寫腳本的人來說,太難了。
這個東西讓你能通過拖拽寫腳本,新手福音啊。
譬如看小黃片也不用打開iTerm2了,寫個腳本,設個觸發器就好了。
老是小黃片也不好,我電腦里只有這東西,大家不要誤會

二.硬體方面
1.使用外接鍵盤及腕托


2.使用外接滑鼠

Magic Trackpad很好,可是我已經有軌跡球了

3.使用外接顯示器(我好無聊啊)

4.用一本書把顯示器踮高(如果花錢買支架當然也可以)

天吶,誰把我的JavaScript高級程序設計踮到下面去了?
好像是我自己~~~~~~

5.用一個架子把mac踮高(書也可以)

6.Mac給iPhone充電特別快,這算不算?
------------------------------------------------------------------------------------------------
先這樣吧,回頭看有沒有補充的


首先,你需要裝上 oh-my-zsh 這樣開新 session 或者按下 tab 或者一些其他時候你可以乘著空閑去取一杯咖啡

然後可以多試試 cpp 然後在編譯期間可以取一杯咖啡

最後,多使用 emacs,不僅僅因為其咖啡協議,而且在 Emacs MAke computer slow 期間可以取一杯咖啡
(因為 elisp 是 阻塞的,所以在 emacs 卡的時候你也只能最多取一杯咖啡,除非你後台啟動另外一個 emacs 然後不停地煮咖啡)

最後,買個靜音腳踏板(逃)


在github上建立了一個項目:

https://github.com/pubyun/macdev

Mac for Developer v0.1

將本人在使用Mac作為開發工具的過程中的一些體會做個記錄和整理,方便以後 自己和團隊的參考,提高效率。如果本文對其他開發人員也有所幫助,歡迎您給 給出反饋或者提出改進意見


本文假設您是一個開發工程師,並且是一個Mac的新手。這些步驟在OS X Mavericks 下測試通過。


歡迎大家一起改進這個項目,請Fork、Star或在Issues中提交 :)

您也可以關注我的新浪微博,以獲取最新消息。

  • OS X的安裝
  • OS X的備份和恢復
  • 基本設置
  • python開發環境的設置
  • ruby開發環境的設置 - 整理中...
  • java開發環境的設置 - 整理中...
  • 推薦軟體
  • 配置文件 - 整理中 ...
  • 常用快捷鍵 - 整理中 ...
  • 參考文檔

拿走不謝,一個是 mac developer setup, 一個是各種 mac 軟體合集,非常全面

nicolashery/mac-dev-setup

jaywcjlove/awesome-mac


推薦閱讀:

如何優雅的吃山核桃?
如何優雅地把羽毛球拍帶到學校?
男生如何優雅地問女生胸部多大?
如何優雅地讀博?
我們在中國平時喝的抹茶真的是抹茶嗎?

TAG:Mac | macOS | 程序員 | 如何優雅地X |