金三银四,刷一波新鲜出炉的面试题~

2021-04-14
阅读 1 分钟
1.9k
去年因为疫情原因公司欠薪,被迫在4,5月开始找工作,顺手写了一本《phper面试2020》。至今一共卖了500本+,也算是无心插柳柳成荫。今年站在一个更高的视角,整理了《phper面试2021》,一方面能对基础知识有一个常读常新的认识,一方面有一个极端情况有能力走出舒适区的底气。

新的一年,回顾我写的《PHPer面试2020》

2021-01-27
阅读 1 分钟
3.1k
hi!新的一年来了,回顾2020年我在看云写的几本书,也算有很好成绩。超出我预期的用户量付费阅读了《web开发者知识体系》和《PHPer面试-2020》。其中不少读者是来自思否,我在思否也注册2,3年了,很感谢这个平台。下图是付费用户的pvuv数据:

2020年,得与失,汗水和泪水

2021-01-20
阅读 2 分钟
3.7k
北漂的第五年,开年的时候感觉和以往没什么不同,除夕夜还是在云南旅游过的。白天去玉龙雪山玩,有些高原反应加上冻着了有点发烧,晕晕乎乎的被带到高速收费口边上的蓝色抗灾帐篷做检查,没想到,【新冠病毒】竟成了2020年影响千千万万个家庭的主导因素。
封面图

答面试官问:如何防超卖,有几种实现方式

2020-09-09
阅读 2 分钟
2.2k
悲观并发控制(又名“悲观锁”,Pessimistic Concurrency Control,缩写“PCC”)是一种并发控制的方法。它可以阻止一个事务以影响其他用户的方式来修改数据。如果一个事务执行的操作读某行数据应用了锁,那只有当这个事务把锁释放,其他事务才能够执行与该锁冲突的操作。悲观并发控制主要用于数据争用激烈的环境,以及发生...

答面试官问:如何设计短url服务

2020-09-09
阅读 3 分钟
4.8k
短url, 顾名思义,就是将长网址缩短到一个很短的网址,用户访问这个短网址可以重定向到原本的长网址(还原)。这样可以达到易于记忆、转换的目的,还有隐藏链接参数,利于短信推广的作用,常用于有字数限制的短信、微博、二维码等场景。

发布一个自己的composer包

2020-05-20
阅读 6 分钟
2.2k
Composer 的好处 模块化,降低代码重用成本 统一的第三方代码组织方式 更科学的版本更新 内容 我的demo,实现的是一个类似tp3的路由功能。文家目录和代码如下: {代码...} 然后执行初始化命令: {代码...} 此处进入终端命令行交互: {代码...} 重要的几个填写项: Package name(重要):包名,一般是公司名+"/"+包名 比...

软件架构, 软件框架,设计模式的区别

2020-04-27
阅读 1 分钟
5.1k
软件的架构是系统的一个草图、阐述了各个组件之间的通讯、划分层次、一旦系统开始详细设计、架构蓝图就很难甚至无法更改、是由软件架构师从无到有设计出来的。比如说,多台机器负载均衡,用户访问多个不同业务的前端项目,前端项目通过HTTP接口访问服务器前端项目,服务器前端项目通过接口访问服务器后端项目,服务器后...

《和面试官抬杠系列》单机等于没有高可用么

2020-04-23
阅读 3 分钟
2.3k
高可用,指系统的可用程度。没有100%的可用性。打个夸张的比方说,你的web服务部署的所有机房都停电了,那么系统就不能再提供服务。一般我们只需要做到4个9就已经很不错了,如下图:

帮助phper理解RPC是怎么回事儿

2020-04-16
阅读 5 分钟
2.5k
目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。远程调用的应用场景极其广泛,实现的方式也各式各样。

记一次 MySQL 数据库单表恢复事故处理

2020-02-06
阅读 3 分钟
2.5k
昨晚 10 点,运营同事在社区发文章,提示创建失败,查看接口项目的日志,是 detail 字段的类型为 text,可能是不够,需要加长,我选择了 mediumtext 类型。

若白驹之过隙忽然而已

2019-12-26
阅读 2 分钟
1.9k
说起来,得再往前倒两个月,18年11月,公司线上一个活动,微信分享邀请注册出现严重bug,导致分享行为走不通,邀请排行榜也不准,对运营销售的影响比较大,公司里人们都有点看低开发。

nginx实现灰度发布

2019-10-29
阅读 1 分钟
5.2k
同时把两个不同版本的代码拉成两个项目,根据ip来判断用户可以去哪个项目,灰度发布的项目目录指向高版本的项目,其他ip的所有用户仍然访问相对的低版本的项目。

elastic学习笔记

2018-09-20
阅读 6 分钟
3.2k
要点 不同工具之间版本匹配很重要由点及面,先实践起来再学细节的原理和使用 技术栈 {代码...} 辅助 {代码...} 介绍 laravel是一款现代化的php框架es是搜索引擎es-head是管理查看使用es的图形界面工具scout是laravel一款优秀的组件 安装流程 laravel laravel安装器安装: {代码...} 配置env文件: {代码...} 这时php art...

常见的企业管理系统

2018-08-27
阅读 3 分钟
15.5k
清单 ERP进销存管理系统 OA协同办公管理系统 CRM客户关系管理系统 HRM人力资源管理系统 EAM资产管理系统 绩效管理系统 成本管理系统 设备管理系统 质量管理系统 ERP进销存管理系统 简介 所谓ERP(Enterprise Resource Planning)企业资源规划,顾名思义,也就是将企业内部各个部门,包括财务、会计、生产、物料管理、品...

单例模式的理解【php】

2018-08-27
阅读 5 分钟
2.7k
单例模式(Singleton Pattern):顾名思义,就是只有一个实例。作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

【工具】git笔记(四)

2017-07-07
阅读 1 分钟
1.6k
在团队中我们免不了要进行协作开发,小到功能,大到模块,在处理合并代码,处理冲突,控制权限和保存有效历史版本的业务中,我们需要一种行之有效的Git工作流程。

【工具】git笔记(二)

2017-07-06
阅读 2 分钟
1.6k
1.开发之前要记得先拉取origin/master的最新版本,这样写的东西不会和origin/master产生冲突。 2.有时候推到自己的远程分支上,推不上去,可能真的是网速太慢的问题。3.当在服务器上调试完了之后,不需要服务器上的修改,遥测小的时候,一条命令还原它:

【工具】git笔记(一)

2017-07-06
阅读 1 分钟
1.8k
介绍 git是一款代码版本控制软件,目前已被广泛的使用。因此优雅的使用git已经成了开发者的必备技能。区别于SVN,git的特点是去中心化。 命令 日志 {代码...} 状态 {代码...} 增加文件到缓存区 {代码...} 提交更新 {代码...} 从仓库拉代码并合并 {代码...} 向仓库master分支推代码 {代码...} 忽略不想提交的文件 {代码.....

【工具】lnmp一键脚本

2017-06-28
阅读 1 分钟
2.1k
在vagrant虚拟ubuntu环境,懒得配开发环境了,选择了这个lnmp一键脚本,很方便。 官网 [链接] 配置站点 在192.168.33.10的虚拟机中, {代码...} 添加站点,没有https不需要加ssl, {代码...} 重启nginx服务 在mac本地修改host文件,加上DNS域名指向ubuntu的ip。

【进阶】深入redis,然后正确使用它

2017-06-19
阅读 2 分钟
3.7k
redis缓存类型 1. 缓存覆盖 当你的mysql数据库挂掉了或者你手动关闭了connect,你的网站绝大多数网页页面仍然能刷出来。 2. 激活缓存 查询的时候,发现缓存没有了(失效了),那么这次就从mysql中查询,再写入redis缓存.下次来的时候,就走缓存,不走数据库。 3. 热点缓存 哈希值目前存在,但有效期只剩下1分钟了(生命周期共10分...