人們經常會問我日常生活中的一些東西:我如何組織時間?我使用哪些工具?我使用哪個編輯器,編輯器設置成什麼顏色?在這篇文章中,我將會一一解答這些問題。
我的一天
我是全職在家中的辦公室編寫Laravel的。一般情況下,我早上8點進入辦公室,做的第一件事就是恢復Forge、Envoyer和Spark用戶的支持郵件。在Mac上,我用的是系統自帶的郵件客戶端,而在iOS上,我用的是Outlook。通常我早上要回復15封左右的郵件。我喜歡在做其他事情之前先處理完收件箱中的郵件。在一天中的其他時候,我也會不時的查看郵件,處理未讀郵件。
在處理完郵件之後,我會查看Laravel GitHub repo上的pull request。一般上午9點的時候,我就處理完了所有郵件和pull request。我會使用Mohamed幫助我處理GitHub pull request。
在merge或是關閉了新的pull request之後,我就要開始做項目了。以前我的項目就是Laravel,最近我主要在做Horizon,這是一個新的Laravel package。
晚上5點我結束工作,吃晚餐,陪陪家人。大約晚上9:30我會再插手一次郵件,並且進行回復。這大約會花費我10-15分鐘。
開發所用的機器/辦公室
我的主力開發機器是一台5k iMac,4Ghz處理器和16GB記憶體。我在iMac的兩邊各接了一個24寸4k顯示器,外接顯示器的壁紙為深灰色,當我不使用它們的時候,它們就像是處於關閉狀態。這樣做能夠讓我將注意力專注在主顯示器上。
我使用的是Steelcase Leap椅子、Swell水瓶、一個Fidget Cube。辦公室內的照明系統用的是Philips Hue。
開發工具
代碼編輯器
我的主力編輯器是Sublime Text 3,使用的是Soda主題和Inspired GitHub配色。我使用的字體是Operator Mono。在檢查PHP語法的時候,我用的是SublimeLinter。
我的Sublime Text看上去是這樣的:
{
"added_words":
[
"Laravel"
],
"caret_style": "phase",
"color_scheme": "Packages/User/SublimeLinter/One Dark (SL).tmTheme",
"ensure_newline_at_eof_on_save": true,
"findreplace_small": true,
"font_face": "OperatorMono-Book",
"font_size": 15,
"highlight_line": false,
"hot_exit": false,
"ignored_packages":
[
"SublimeLinter-jshint",
"Vintage"
],
"line_numbers": true,
"line_padding_bottom": 9,
"line_padding_top": 9,
"phpunit-sublime-terminal": "iTerm",
"remember_open_files": false,
"show_definitions": false,
"show_panel_on_build": false,
"tab_size": 4,
"tabs_small": false,
"theme": "Soda Dark.sublime-theme",
"translate_tabs_to_spaces": true,
"trim_trailing_white_space_on_save": true,
"word_wrap": false
}
在開發的時候,我的Sublime字型大小一般為10號。
終端
我用的是iTerm2和Oh My Zsh,配色為Arthur,和Sublime一樣,終端字體我用的也是Operator Mono。
資料庫
當我需要使用MySQL資料庫的時候,我會使用Sequel Pro預期進行交互。讓我驚訝的是,它居然是個免費工具,這樣高質量的工具,就算讓我花上幾百美元我也願意。我還會使用Medis與Redis進行交互。
SaaS服務
在Forge和Envoyer項目上,我使用了多個服務:
- DigitalOcean 用在伺服器上
- Linode 用在其他伺服器上
- Cloudflare 用在DNS和SSL上
- Ottomatik 用在資料庫備份上
- AWS 用在存儲與隊列上
- Pusher 用在即時事件上
- Authy 用在雙重驗證上
生產力
在管理任務上,我主要使用 Bear、Wunderlist、和Trello。我將長表單記錄保存在Bear上,我用它來代替Apple Notes。我使用Wunderlist記錄所有個人代辦列表和副項目列表。我使用Trello記錄所有與Laravel相關的東西,例如即將添加的新功能或是需要記錄的重大變更。
我還寫了一個Laravel的程序,它會通過發送通知的方式提醒我做各種事情,比如倒垃圾、換空氣凈化器濾芯、報稅等。這個程序使用了Laravel的命令安排功能,通過Telegram的API在Telegram上發送通知。
音樂
我一整天都會使用Spotify聽音樂,我喜歡的歌單有:Night Rider、 Lush + Atmospheric和RetroWave / Outrun。
這就是為什麼我可以在家工作一整天的原因。