201907-03 Redis的各项功能解决了哪些问题? HOT 本篇着重从抽象层面来解释下redis的各项功能以及其存在的目的,而没有关心其具体的细节是什么。从而可以聚焦于其解决的问题,依据抽象层面的概念可以使得我们在特定的场景下选择更合适的方案,而非局限于其技术细节。 继续阅读 >
201907-03 PHPer善用接口与Trait HOT 接口是两个php对象的契约。其目的不是让一个对象依赖另一个对象的身份,而是依赖另一个对象的能力。接口把我们的代码和依赖解耦,而且允许我们的代码依赖任何实现了预期接口的第三方代码。我们不关心第三方代码如何实现接口,只去关心他有没有去实现接口。 继续阅读 >
201907-03 猜猜看!一个 TCP 连接能发多少个 HTTP 请求? HOT 一道经典的面试题是从 URL 在浏览器被被输入到页面展现的过程中发生了什么,大多数回答都是说请求响应之后 DOM 怎么被构建,被绘制出来。但是你有没有想过,收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式、什么顺序、建立了多少连接、使用什么协议被下载下来的呢? 继续阅读 >
201907-02 8 种常被忽视的 SQL 错误用法 HOT 数据库编译器产生执行计划,决定着SQL的实际执行方式。但是编译器只是尽力服务,所有数据库的编译器都不是尽善尽美的。 上述提到的多数场景,在其它数据库中也存在性能问题。了解数据库编译器的特性,才能避规其短处,写出高性能的SQL语句。 程序员在设计数据模型以及编写SQL语句时,要把算法的思想或意识带进来。 编写复杂SQL语句要养成使用 WITH 语句的习惯。简洁且思路清晰的SQL语句也能减小数据库的负担 。 继续阅读 >
201907-02 用Redis实现用户积分排行榜 HOT 排行榜功能是一个很普遍的需求。使用 Redis 中有序集合的特性来实现排行榜是又好又快的选择。 一般排行榜都是有实效性的,比如“用户积分榜”。如果没有实效性一直按照总榜来排,可能榜首总是几个老用户,对于新用户来说,那真是太令人沮丧了。 继续阅读 >
201907-02 协程与Swoole的原理,相关应用以及适用场景等 HOT 协程(Coroutine)也叫用户态线程,其通过协作而不是抢占来进行切换。相对于进程或者线程,协程所有的操作都可以在用户态完成,创建和切换的消耗更低。协程是进程的补充,或者是互补关系。 继续阅读 >
201907-02 Nginx代理与反向代理、负载均衡实 通过 Nginx 提供的反向代理和负载均衡功能,可以合理的完成业务的分配,提高网站的处理能力;同时利用缓存功能,还可以将不需要实时更新的动态页面输出结果,转化为静态网页形成缓存,从而提高网站的响应速度。 继续阅读 >
201907-01 PHP控制反转(IOC)和依赖注入(DI) HOT IOC(inversion of control)控制反转模式;控制反转是将组件间的依赖关系从程序内部提到外部来管理; DI(dependency injection)依赖注入模式;依赖注入是指将组件的依赖通过外部以参数或其他形式注入; 两个说法本质上是一个意思。 继续阅读 >
201907-01 平时在PHP编码时有没有注意到这些问题 HOT 编出一手好代码,这个是需要你在平时开发中日积月累的,平时如果你有注意到以下的那些代码的编码,那么祝贺你,你在技能提升这方面已经垫下了一些基础,编写出一手好代码,说白了就是你特么注意到性能这块的问题,代码的优化是也是性能优化的一部分。接下来来看看你平时需要注意到编码。也希望你能养成好习惯! 继续阅读 >
201907-01 php - tcp 粘包/拆包实例 HOT 日常工作中经常遇到的tcp 场景可能是短连接单个消息的模式,客户端发送一条消息后便关闭连接,服务端循环读取到EOF 即可得到一条完整的消息。但如果是短连接多个消息或长链接模式 下,就可能会发生粘包,客户端不关闭服务端无法通过EOL 确定消息读取完毕的问题。这就需要定义协议和拆包。 继续阅读 >
201906-29 PHP 的 self 关键字 HOT PHP群里有人询问 self 关键字的用法,答案是比较明显的:静态成员函数内不能用this 调用非成员函数,但可以用self 调用静态成员函数/变量/常量;其他成员函数可以用self 调用静态成员函数以及非静态成员函数。随着讨论的深入,发现self 并没有那么简单。 继续阅读 >
201906-29 每个 PHPer 都应当掌握的注释标记 HOT 注释标签在代码注释中的作用非常大,但是可能很多同学在平常开发中会忽略这些标签的作用,所以我这边特地整理一些常用的注释标记,通过图文展现形式,希望能帮助你能更好理解每个注释标签的作用. 继续阅读 >
201906-28 Git 自救指南:这些坑你都跳得出吗? HOT Git 虽然因其分布式管理方式,不完全依赖网络,良好的分支策略,容易部署等优点,已经成为最受欢迎的源代码管理方式。但是一分耕耘一分收获,如果想更好地掌握 git,需要付出大量的学习成本。即使在各种 GUI 的加持下,也不得不说 git 真的很难,在 V2EX 上也常有如何正确使用 git 的讨论,同时在 Stackoverflow 上超过 10w+ 的 git 相关问题也证明了 git 的复杂性。 继续阅读 >
201906-28 数据库索引是什么?新华字典来帮你! HOT 学过服务器端开发的朋友一定知道,程序没有数据库索引也可以运行。但是所有学习数据库的资料、教程,一定会有大量的篇幅在介绍数据库索引,各种后端开发工作的面试也一定绕不开索引,甚至可以说数据库索引是从后端初级开发跨越到高级开发的屠龙宝刀,那么索引到底在服务端程序中起着怎样的作用呢? 继续阅读 >
201906-27 linux 启动流程分析 HOT 因为在BIOS阶段,计算机的行为基本上被写死了,程序员可以做的事情并不多;但是,一旦进入操作系统,程序员几乎可以定制所有方面。所以,这个部分与程序员的关系更密切。 我主要关心的是Linux操作系统,它是目前服务器端的主流操作系统。下面的内容针对的是Debian发行版,因为我对其他发行版不够熟悉。 继续阅读 >
201906-27 38个小技巧告诉你如何快速学习MySQL数据库 HOT 无论是运维、开发、测试,还是架构师,数据库技术是一个必备加薪神器,那么,一直说学习数据库、学MySQL,到底是要学习它的哪些东西呢?此文为你揭晓,你值得一看!看过别忘记点赞+转发支持哦。 继续阅读 >
201906-26 深度剖析|数据库生产常用架构方案 HOT 不管是主备+分库分表还是主从+读写分离+分库分表,都要考虑具体的业务场景。某8到家发展四年,绝大部分的数据库架构还是采用方案一和方案一+分库分表,只有极少部分用方案三+读写分离+分库分表。另外,阿里云提供的数据库云服务也都是主备方案,要想主从+读写分离需要二次架构。 继续阅读 >
201906-26 短小强大的8个Linux命令,分分钟帮你提高工作效率! HOT fc 命令用途:编辑最近的一条命令并自动执行该命令 适用场景:执行了一条很长的命令,然而命令敲错执行失败,需要修正后再次执行。 继续阅读 >
201906-25 PHP 性能监控:Tideways、xhprof 和 xhgui 打造 PHP 非侵入式监控平台 HOT 安装之前确保已经正确安装了以下软件 PHP Nginx Mongodb 继续阅读 >
201906-25 PHP实现微信小程序人脸识别刷脸登录功能 首先我们先确认我们的百度云人脸库里已经上传了我们的个人信息照片。 然后我们在后台写刷脸登陆的接口login我们要把拍照获取的照片存储到服务器。 继续阅读 >
201906-25 如何写出让同事无法维护的代码? HOT 容易输入的变量名。比如:Fred,asdf 单字母的变量名。比如:a,b,c, x,y,z(如果不够用,可以考虑a1,a2,a3,a4,….) 有创意地拼写错误。比如:SetPintleOpening, SetPintalClosing。这样可以让人很难搜索代码。 继续阅读 >
201906-25 精心整理了一套MySQL 常用命令 HOT 进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可。此时的提示符是:mysql> 退出MySQL:quit或exi 继续阅读 >