疫情期间我完成了『PHP非侵入式监控平台』的重构与开源,请点击这里获取项目。 计算机中有一门经典的课程叫『操作系统』,里面花很少的篇幅讲了『锁』,锁是在执行多线程时用于强行限制资源访问的同步机制,即用于在并发控制中保证对互斥要求的满足。虽然字不多,但事大,特别是在人人都要懂高并发的今天,『锁』变成了 ...
阅读全文 »

最近听了一位架构师的分享,感触很多,听完他的分享之后让人醍醐灌顶,回家都一直在思考他分享的内容。很多道理大家都懂,但是实践的时候并不容易,需要不断的试错和总结才能彻底顿悟、成长。当然,如果过程中有高人点拨一二,也能少走很多弯路。 下面分享最近所学所想,因为没有上下文,所以很多内容不一定好理解,我尽量 ...
阅读全文 »

说到软件工程很多人都会想到瀑布模型、敏捷开发、领域驱动。虽然这些名词大家耳熟能详,但如果你去听大牛们的讲座或者查阅相关资料会发现每个人陈述的都不大一样。这让听的人很迷惑,为什么大家讲的不一样但是又都很有道理? 软件工程这门学科发展不过几十年,很多概念还在不断演化,定义也比较模糊。在项目中使用这些方法 ...
阅读全文 »

Composer是PHP的依赖管理工具,诞生的时间比较晚,在PHP5.3才正式发布。发布之后不温不火,支持的包也少,一度被认为是下一个pecl(比较失败的工具)。最近几年结合PSR(PHP Standards Recommendation)慢慢的被大家接受,虽然PHP程序员让人觉得天马行空,但对规范 ...
阅读全文 »

又有一周没更新了,也没人催更,决定主动更新一篇。 这段时间国家开始推行『区块链』,央行也即将发行数字货币DCEP(Digital Currency Electronic Payment)。这个数字货币对支付宝和微信支付不会有太大的影响,他们两家加起来那点份额对央行来说就是毛毛雨,不过云闪付可能会退位 ...
阅读全文 »

异常处理又称为错误处理,用来解决程序运行时出现的意外或异常情况。异常处理一般有两种模型,终止模型和恢复模型。 『终止模型』指在程序运行时只要异常被抛出就已无法挽回,程序将终止运行。『恢复模型』指程序运行出错之后能提供修正的方法,让程序继续执行。任何编程语言都是基于这两种模型处理异常。 恢复模型可以理 ...
阅读全文 »

无论是做PHP开发还是做JAVA开发甚至前端开发,只要是开发,面试的时候都必考数据库。为什么前端也要考数据库?因为数据库课程是计算机的基础课程,同样的基础课程还有操作系统,数据结构。只要写代码就永远跳不出这三门基础课。 面试官和面试者都知道要考数据库,都会去刷题,数据库的知识点其实很少,一天就能刷完 ...
阅读全文 »

最近正好有一些时间用来帮大厂挖掘漏洞,也就有了今天的话题。为什么会想到去帮互联网公司挖掘漏洞呢?一是想为互联网的美好明天贡献微薄之力,二是保证持续学习的心态,三是挣点零花钱。 我写博客有6年多了,至今只写过一篇关于漏洞挖掘的文章(点击文章末尾的阅读原文可查看),因为做白帽子必须要低调,闷声挖洞发大财 ...
阅读全文 »

在真实的业务场景中生成唯一数是很常用的功能,也是面试必考题。最近面试一个PHP开发岗位,无意中聊到这个话题,然后顺着话题一直拓展。今天说下在面试中,面试官问这个问题想得到怎样的答案。 每种编程语言都提供了唯一数生成函数,但是都有条件限制,先看看网上都有哪些生成唯一数的方法。 一. 散列+时间+随机值 ...
阅读全文 »

很早以前在电脑上插入U盘还需要重启系统,那时候大家都很能忍。后来有了热插拔技术才解决这个难题,这种技术让电子设备可以在不影响操作系统和程序正常运行的情况下重新加载硬件,后来软件上也开始使用这种技术,我们称之为热更新(reload)。 restart很好理解,就是重启,比如重启手机,重启电脑。重启会让 ...
阅读全文 »