PHP必知必会

MQ(消息队列)

消息队列主要用于以下场景:

1. 上传图片,用户需要迅速反馈,把上传图片的后续操作交给consumer

2. A用户对B用户发消息

3. 日志记录,APP发生的任何警告错误日志都要被记录到日志数据库中

4. 浏览量统计,比如,一个item被用户点赞,评论,收藏了,那么需要重新计算此item的评分,这时需要一个异步执行统计操作

5. 用户新添加了一篇文章,需要加入到搜索索引中

软件包:

1. enqueue-bundle

url: https://packagist.org/packages/enqueue/enqueue-bundle

2. amqp

PHP的扩展,消息队列这个扩展必装

 

OO Design(面向对象设计)

必须符合S.O.L.I.D原则

Entity Design (数据实体设计) 

 前提是符合设计三范式

System Design(软件系统设计)

比如给定一个购物网站,怎么设计一个基本的,可扩展的,高性能的软件系统?

测试

一个庞大的软件离不开一系列的单元测试,功能测试,集成测试。测试在后期可以大大提高软件的开发效率,比如,增加一个新功能,怎么迅速判断它是否对以前的功能有影响?

如果写了测试,只需要一行命令搞定这个工作,否则,需要人工一个一个验证以前的逻辑。所以,极力推荐大项目一定要写测试。

 

持续集成

怎么构建一个高效,安全的发布系统?

比如,当一个新功能开发完毕,并且跑完测试后,需要上线,如果上线后出现了问题需要回滚代码,怎么实现一键回滚呢。

 

接口设计(API)

现在的项目不像以前只有一个 web sites,而是包括了手机,平板,和其他可以运行浏览器的设备。那么就需要设计一套灵活性高,有版本控制,结构清晰,利于维护的API。

那么怎么设计?

目前的方案:

1. RESTful

缓存设计

编程界的两大难题之一缓存(另一个难题是命名问题)。怎么设计缓存系统?

转载于:https://www.cnblogs.com/ranwuer/p/9130437.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值