过去几个月项目使用的技术分享

我先发布在我的博客上:http://www.lijinma.com/blog/2015/01/07/web...

最近的项目使用了一些技术,分享出来,希望和大家有一些讨论和切磋。

项目管理:

使用的是 Teambition,整体感觉凑合,

但问题也有,

  1. 比如产品经理的文档无法在 teambition 上很舒服的书写,只能通过上传文件来分享,效率太低,最后只能使用印象笔记来分享,结果印象笔记分享被封了,真是坑。

版本管理:

使用 Git,搭配 GitLabGitlab 使用起来真的超出预期,版本管理,代码 Review 等等都非常好用,Github 有的功能 GitLab 应该都有吧。

项目后端使用语言:PHP

PHP 是世界上最好的语言,哈哈哈哈哈哈。

PHP 现在依然是最受人鄙视的语言,但是你们确定了解 PHP 5.4, PHP 5.5, PHP 5.6吗?我承认 PHP 5.2之前真的是有太多的糟粕,但是 PHP 现在的稳定版本 5.5已经吸收了很多优秀的思想,焕然一新。Composer(Packagist)、LaravelHHVM 都是 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,简单稳定。

希望可以和大家交流,我们没有使用 Laravel,使用了一个轻量的 Slim

写文字大部分时候是因为我希望能帮助到你,小部分时候是想做总结或做记录。我的微信是 lijinma,希望和你交朋友。 以下是我的公众账号,会分享我的学习和成长。
本帖已被设为精华帖!
lijinma
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 1

糟粕的不是PHP是开发者,我见过太多的PHP人一点上进心也没有,代码可以用就行

7个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!