人们经常会问我日常生活中的一些东西:我如何组织时间?我使用哪些工具?我使用哪个编辑器,编辑器设置成什么颜色?在这篇文章中,我将会一一解答这些问题。
我的一天
我是全职在家中的办公室编写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。
这就是为什么我可以在家工作一整天的原因。