知名 PHP Web 开发框架 Laravel 之父 Taylor Otwell 发文描述了自己的日常工作状态:全职做 Laravel ,朝八晚五,使用 Sublime Text 3 写代码,终端使用 iTerm2 和 Oh My Zsh 。大致内容如下:

经常有人问我这样一些问题:如何管理时间、使用哪些工具、喜欢什么编辑器和配色方案?所以,在这篇文章中,我将尝试回答这些问题。

日常

我在自己的家庭办公室全职从事 Laravel 相关工作。通常,我上午 8:00 到办公室,第一件事是回答前一天晚上收到的所有 Forge、Envoyer 和 Spark 客户邮件。我在 iOS 上使用 Outlook,在 Mac 上使用 Apple Mail 。通常会有大约 15 封电子邮件需要回答。我喜欢清空我的收件箱,然后再继续做其他事情。我会定期刷新我的邮箱,以保持即时清空。

收件箱清空后,我会去查看 Laravel GitHub 存储库中的所有未完成的请求。我试图在整个 Laravel 组织中保持不超过 10-12 的 PR 数目。通常,我处理邮件和 PR 的工作会持续到上午 9 点,Mohamed 会帮我审查和分类 Github 的 issues 和 PR。

当我合并或者关闭了前一夜的所有新 PR 之后,我便准备开始一些自己想做的项目。通常,都是跟 Laravel 相关的。最近,我主要在为 Horizon 工作,这是一个新的 Laravel 包,我会在 Laracon US 会上详细讲解。(编者注:此文发布于今年5月)

下午5点我会结束工作,吃晚饭和陪伴家人。晚上 9:30 左右,我通常会重新刷新我的邮箱,以清除下午5点后发过来的邮件。这通常只需要10-15分钟,以帮助我减少早上的邮件负担。

开发环境/办公室

我的主要开发机器是一台 4Ghz 处理器、16GB 内存的 5K iMac。 我在 iMac 的每边都外置了一台 24” 4K 显示器,我将它们的背景设置为深灰色,使得它们在我不使用时看起来似乎是关闭着的。这将保持所有的像素显示都很显眼。

我有一把 Steelcase Leap 的椅子,一个 Swell 保温杯,和一个 Fidget Cube。办公室的屋顶有一个飞利浦 Hue 照明。

开发工具

编辑器

我主要使用的文本编辑器是 Sublime Text 3 。主要使用 Soda 主题和 Inspired GitHub 配色方案。使用 Operator Mono 作为主编码字体。使用 SublimeLinter 在 Sublime 中检查 PHP 语法。

我的整个 Sublime Text 参数文件如下:

  1. {
  2.     "added_words":
  3.     [
  4.         "Laravel"
  5.     ],
  6.     "caret_style": "phase",
  7.     "color_scheme": "Packages/User/SublimeLinter/One Dark (SL).tmTheme",
  8.     "ensure_newline_at_eof_on_save": true,
  9.     "findreplace_small": true,
  10.     "font_face": "OperatorMono-Book",
  11.     "font_size": 15,
  12.     "highlight_line": false,
  13.     "hot_exit": false,
  14.     "ignored_packages":
  15.     [
  16.         "SublimeLinter-jshint",
  17.         "Vintage"
  18.     ],
  19.     "line_numbers": true,
  20.     "line_padding_bottom": 9,
  21.     "line_padding_top": 9,
  22.     "phpunit-sublime-terminal": "iTerm",
  23.     "remember_open_files": false,
  24.     "show_definitions": false,
  25.     "show_panel_on_build": false,
  26.     "tab_size": 4,
  27.     "tabs_small": false,
  28.     "theme": "Soda Dark.sublime-theme",
  29.     "translate_tabs_to_spaces": true,
  30.     "trim_trailing_white_space_on_save": true,
  31.     "word_wrap": false
  32. }

在开发时,我通常会将实际的 Sublime 字体大小保持在 10 左右。

终端

我使用 iTerm2 和 Oh My Zsh ,和内置的 “robbyrussell” 提示符风格。使用 Arthur 配色方案,并在 iTerm2 中增加行间距,使行与行之间有呼吸空间。和 Sublime 一样,我使用 Operator Mono 作为终端字体。

数据库

我使用 Sequel Pro 与任何需要处理的MySQL数据库进行交互。令人惊讶的是,它还是免费的。我很乐意为此付出数百美元。我使用 Medis 与 Redis 交互。

SaaS 服务

我使用多个不同的服务,来运行 Forge 和 Envoyer:

生产力

我主要使用 BearWunderlist 和 Trello 保持事务的组织化。我在 Bear 中有非常多的笔记,把它作为 Apple Notes 的替代品。使用 Wunderlist 作为个人清单和所有边缘项目的任务清单。使用 Trello 跟踪 Laravel 相关的任务,例如即将到来的功能,或需要编写文档的重大变化。

我还创建了一个小的 Laravel 应用,向我发送 Telegram 提醒,例如:倒垃圾、更换房屋空气过滤器、每月报税,等等。这个应用使用 Laravel 的调度功能,利用 Guzzle 通过 Telegram 的 API 发送消息。

音乐

我整天都使用 Spotify 听歌。我最喜欢的播放列表有:Night RiderLush + Atmospheric 和 RetroWave / Outrun 。

>>>【评论有礼】7月10日-31日在下方评论资讯,即有机会获得 9 活跃积分和开源中国实物周边。活动详情

相关链接

https://www.oschina.net/news/86775/how-taylor-otwell-work

aravel 之父 Taylor Otwell :我是如何工作的的更多相关文章

  1. qt新进程工作目录的设置(工作目录确实是被子进程继承的,但也可以设置)

    经过试验,qt启动一个新的进程时,这个进程的工作目录是继承父进程的,无论是通过start还是startDetached来启动. 其实对于linux系统,qt底层应该也是调用fork.exec之类的函数 ...

  2. vue子组件如何向父组件传值

    子组件: <template> <div class="app"> <input @click="sendMsg" type=&q ...

  3. 使用-MM生成include指令和依赖生成(make include directive and dependency generation with -MM)

    I want a build rule to be triggered by an include directive if the target of the include is out of d ...

  4. git workflow常用命令

    git init git status git add readme.txt git add --all         Adds all new or modified files git comm ...

  5. 利用 Composer 一步一步构建自己的 PHP 框架(四)——使用 ORM

    本教程示例代码见 https://github.com/johnlui/My-First-Framework-based-on-Composer 回顾 经过前三篇文章 基础准备 . 构建路由 和 设计 ...

  6. 关于《Swift开发指南》背后的那些事

    时间轴(倒叙)2014年8月底在图灵出版社的大力支持下,全球第一本全面.系统.科学的,包含本人多年经验的呕心沥血之作<Swift开发指南>(配有同步视频课程和同步练习)全线重磅推出2014 ...

  7. 为什么Laravel是最成功的PHP框架?

    Laravel 是一个有着美好前景的年轻框架,它的社区充满着活力,相关的文档和教程完整而清晰,并为快速.安全地开发现代应用程序提供了必要的功能.在近几年对PHP 框架流行度的统计中,Laravel始终 ...

  8. [转]laravel 4之视图及Responses

    http://dingjiannan.com/2013/laravel-responses/   laravel 4之视图及Responses 16 Aug 2013 Laravel的Response ...

  9. PHP多进程学习(一)__来初步了解一下PHP多进程及简单demo

    php是一门单进程弱类型的语言,PHP处理多并发主要是依赖服务器或PHP-FPM的多进程及它们进程的复用,多进程的作用优点大家可以去网上了解,PHP实现多进程在实际项目中意义也是不容小觑的.比如:日常 ...

随机推荐

  1. 批量杀死MySQL连接的几种方法

    法一: 通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令.   mysql> select ...

  2. tipc

    TIPC SOCKET实现分析 http://ju.outofmemory.cn/entry/158241

  3. 【84.62%】【codeforces 552A】Vanya and Table

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  4. VC++ 訪问数据库实例具体解释图解

    一 ADO 方式訪问 Access 新建一个对话框project,加入控件,如图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2 ...

  5. web项目中配置多个数据源

    web项目中配置多个数据源 spring + mybatis 多数据源配置有两种解决方案 1.配置多个不同的数据源,使用一个sessionFactory,在业务逻辑使用的时候自动切换到不同的数据源,  ...

  6. 【t019】window(线段树做法)

    Time Limit: 2 second Memory Limit: 256 MB [问题描述] 给你一个长度为N 的数组,一个长为K的滑动的窗体从最左移至最右端,你只能见到窗口的K个数,每次窗体向右 ...

  7. tomcat7,8 centos7 配置apr极好教程

    转自:http://blog.csdn.net/remote_roamer/article/details/51719891 第一次我自己是用的yum安装apr, apr-utils, tomcat- ...

  8. [Android]Fragment自定义动画、动画监听以及兼容性包使用

    Fragment是Android在API 11之后加入的一个组件,对提高Android开发中的布局合理性和布局效率都有很大作用,尤其是在Android平板等大屏幕设备的开发中,Fragment的引入能 ...

  9. WIN10+QT5.9+VS2015编译RedisDesktopManager

    原文:WIN10+QT5.9+VS2015编译RedisDesktopManager 官方源码编译安装说明地址:http://docs.redisdesktop.com/en/latest/insta ...

  10. Servlet接口的实现类,路径配置映射,ServletConfig对象,ServletContext对象及web工程中文件的读取

    一,Servlet接口实现类:sun公司为Servlet接口定义了两个默认的实现类,分别为:GenericServlet和HttpServlet. HttpServlet:指能够处理HTTP请求的se ...