最近的项目使用了一些技术,分享出来,希望和大家有一些讨论和切磋。
项目管理:
使用的是 Teambition
,整体感觉凑合,
但问题也有,
- 比如产品经理的文档无法在 teambition 上很舒服的书写,只能通过上传文件来分享,效率太低,最后只能使用印象笔记来分享,结果印象笔记分享被封了,真是坑。
版本管理:
使用 Git
,搭配 GitLab
,Gitlab
使用起来真的超出预期,版本管理,代码 Review 等等都非常好用,Github
有的功能 GitLab
应该都有吧。
项目后端使用语言:PHP
PHP 是世界上最好的语言,哈哈哈哈哈哈。
PHP 现在依然是最受人鄙视的语言,但是你们确定了解 PHP 5.4, PHP 5.5, PHP 5.6吗?我承认 PHP 5.2之前真的是有太多的糟粕,但是 PHP 现在的稳定版本 5.5已经吸收了很多优秀的思想,焕然一新。Composer
(Packagist)、Laravel
、HHVM
都是 PHP 的希望,用 PHP 依然可以写出优秀的代码。
而且,PHP 的程序员很多啊,创业公司比较好招人。嘿嘿
项目PHP包管理:Composer
在本地服务器搭建 Composer Satis
来存放自己的私有的包,尽可能将所有公有的包也缓存到本地的服务器,这样子 composer update
会节省很多时间,秒更新,酸爽。
项目前端:
使用 bower
进行前端包管理。
使用 webpack
实现前端模块化机制,就是类似 require.js
做的事情,简单实用。
使用 gulp.js
来实现前端自动化,比如 less
编译,js 文件 uglify,文件连接,文件监听等等,使用下来感觉比 grunt.js
要好用几倍,gulp.js
能做的事情太多了,而且插件很丰富。
缓存:Redis
主要用来存储 session
和一些高频率读取的值,整体来说没有使用太复杂的数据结构。
之前使用 Redis
来做队列,后来使用了 Rabbitmq
就感觉省心了不少。
消息:Rabbitmq
主要用到的业务比如:发送短信,发送邮件,一些段时间内大量操作但响应要求不是那么及时的都可以使用队列来做。
日志:
使用 PHP 的一个 monolog
库,使用文本记录 + MongoDB
两种方式记录日志,查日志的时候,你会发现 MongoDB
比文本方便太多,因为你可以用任何语言来分析 MongoDB
数据库,但是文本文件的话就比较局限。
监控程序:supervisor
很好用,可以满足进程监控。
定时执行:crontab
感觉整体够用,一些定时需要执行的任务都使用 crontab,简单稳定。
本文链接: http://lijinma.com/blog/2015/01/07/web-technologies-i-am-using-recently/