本人是 laravel 框架的布道者&开发者,用 Laravel 开发了大大小小 20 多个项目,在此想分享一下我眼中一个合格的 Laravel 工程师所需具备的能力。
我眼中的 Laravel
Laravel 框架最值得传播的两个价值就是 提高开发者的速度 和 开发者的幸福感。用 Laravel 开发,让人觉得自己是钢琴大师,你敲击键盘输出的不是代码,而是乐章。
借用我朋友 Summer 的一句话:
作为工匠,我更愿意把我有限的生命用在作品上,而不是对工具的无止境的学习上。
我眼中的工程师
生命在于创造,真正的工程师应乐于创造让人愉悦的事物,重视美感,重视交付物,而 Laravel 赋予了工程师真正的创造力。只有不断创作具有美感的产品,才是一名合格的工程师。
那么真正的工程师应该具备哪些能力?下面是我的观点。
一、快速理解业务能力
业务是制作框架的基础,一名合格的 Laravel 全栈工程师需要能站在业务甚至是运营的程度上看问题,这样做架构才能有的放矢。
二、项目部署能力
项目部署能力又分以下几点:
- 购买域名能力:学会购买域名、做域名解析即可。
- 部署服务器能力
a. 学会根据项目的体量购买性价比最低的服务器,如制作一个官网项目只需要购买 1 核 1 G 按流量计费的主机即可
b. 学会部署开发环境,在这里可以参考此篇文章进行自动化部署。
c. 会部署 SSL 证书,可参考 Let's Encrypt - 代码部署能力
a. 会将代码托管到 Git 平台,并设置好部署公钥
b. 会部署好开发环境以及生产环境
c. 会用 Envoy 进行简单的代码上线操作
三、项目架构能力
项目架构能力包含以下几点:
- 依赖包架构能力,以下是几个必装的 composer 扩展包
a. 图片处理 Intervention/image
b. 将数据导出成 Seed 文件
c. 页面调试工具栏 barryvdh/laravel-debugbar
d. 客户端 User Agent 解析工具 jenssegers/agent
e. 代码生成器 summerblue/generator
f. Log 日志查看工具 rap2hpoutre/laravel-log-viewer
g. 数据备份工具 spatie/laravel-backup
h. 判断导航是否显示激活状态 - 开发流程架构能力。即能选择合适项目的 git flow 协作模式。
四、前端架构能力
前端架构能力包括以下几个方面:
- 基础配色能力,可参考以下几个网站
a. colorhunt
b. colourco.de
c. 网页设计常用配色表 - 基础选图能力,可点击参考此知乎问题:中文免费图片素材下载网站
- 基础框架学习能力,基本要掌握以下几个前端框架
a. bootstrap
b. Vue.js
只有重视前端,重视自己产品用户体验的程序员才是好的工程师。
五、上线运维能力
上线运维只要关注好以下几个问题即可
- 报警监控:一旦后端代码出问题,能第一时间知道。可安装 sentry.io 结合 Slack 或者 Bearychat 做到实时提醒
- 全日志监控:用户所有的提交、访问信息都能获取到,一般用来配合报警监控定位问题。可使用阿里云的日志服务或者 ELK 解决。
- 心跳监控:查看服务器是否宕机,一旦宕机会报警,可使用阿里云的云监控解决此问题
掌握以上几个能力,剩下的工作,就只有创造艺术了。
唯有创造,方能成就自我。