知名 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 参数文件如下:

{
    "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 ,和内置的 “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. 【Nutch2.2.1基础教程之1】nutch相关异常 分类: H3_NUTCH 2014-08-08 21:46 1549人阅读 评论(2) 收藏

    1.在任务一开始运行,注入Url时即出现以下错误. InjectorJob: Injecting urlDir: urls InjectorJob: Using class org.apache.go ...

  2. linux中竖线'|',双竖线‘||’,&和&&的意思

    对于初学者来说这几个意思可能只知道其中几个的意思,下面我们来看一下. 1.竖线'|' ,在linux中是作为管道符的,将'|'前面命令的输出作为'|'后面的输入.举个例子 [18066609@root ...

  3. [Compose] 10. Capture Side Effects in a Task

    We examine the data structure Task, see some constructors, familiar methods, and finally how it capt ...

  4. [React] Normalize Events with Reacts Synthetic Event System

    Event handlers are passed an instance of SyntheticEvent in React. In this video we'll take a look at ...

  5. Android View框架的measure机制

    概述 Android中View框架的工作机制中,主要有三个过程: 1.View树的測量(measure)Android View框架的measure机制 2.View树的布局(layout) Andr ...

  6. iOS中js与objective-c的简单交互

    1.首先是objective-c调用js中的代码,可以用UIWebview中的一个方法 stringByEvaluatingJavaScriptFromString:后面接的是js中的方法名.这个函数 ...

  7. webrtc 它android与PC互通

    折腾了一个多星期,今天终将PC和android音频,视频全部打通. 到现在,android与android,pC与PC,android与PC之间已经解决了互通,的音频和视频是能够. 前段时间开了PC与 ...

  8. MVVM初步搭建应用

    MVVM模式:利用 prism Microsoft.Practices.Prism.dllWPF Interaction框架简介 添加Interactions库的引用.主要添加如下两个DLL: Mic ...

  9. Quartz 入门详解 专题

    Cron-Expressions are used to configure instances of CronTrigger. Cron-Expressions are strings that a ...

  10. Android Studio 使用教程(二十五)之运行Android Studio工程

    一.Android虚拟设备入口 上期我们使用了Android Studio创建了HeloWorld工程,要想运行该工程,首先需要一个Android虚拟设备来模拟Android程序的运行. 重新打开An ...