201906-24 逼格高又实用的 Linux 命令,开发可以多掌握一些 HOT 在平时的使用中,我认为xargs这个命令还是较为重要和方便的。我们可以通过使用这个命令,将命令输出的结果作为参数传递给另一个命令。 继续阅读 >
201906-24 以MySQL为例,详解数据库索引原理及深度优化 HOT 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。 继续阅读 >
201906-24 PHP7带来了哪些重大的变革 HOT PHP7进一步方便开发者处理, 让开发者对程序的掌控能力更强. 因为在默认情况下, Error会直接导致程序中断, 而PHP7则提供捕获并且处理的能力, 让程序继续执行下去, 为程序员提供更灵活的选择。 继续阅读 >
201906-22 2019 年 PHP 开发者调查报告(JetBrains版) HOT 多数 PHP 开发者不使用任何工具来分析或衡量性能。而做这些工作的一般使用 Xdebug Profiler 或非专用的工具 HTTP 负荷测定工具。只有不到 10% 的 PHP 开发者使用其他 PHP 专用工具(如 Blackfire.io、APM 解决方案和 XHProf)。 继续阅读 >
201906-22 Laravel 核心技术:基于 JWT 实现 Laravel API 认证 HOT jwt单词代表的意思就是JSON Web Token。 我们在做api请求的时候,通常要使用token,来验证是否这个请求能不能访问。 一旦用户登录,后续每个请求都将包含JWT,允许用户访问该令牌允许的路由、服务和资源。单点登录是现在广泛使用的JWT的一个特性,因为它的开销很小,并且可以轻松地跨域使用。 继续阅读 >
201906-22 10分钟了解Docker,运维和开发视角有什么不同? HOT 在运维部分,我们下载了Docker镜像,启动容器并且登录到容器内部执行相应的命令,最后停止容器并删除。 在开发部分,我们完成了简单应用的容器化过程:从GitHub拉取应用源代码,并且通过Dockerfile中的指令,将应用代码构建到镜像之中。接着运行了该容器化应用。 继续阅读 >
201906-22 PHP生成器的创建和使用(1) HOT 生成器是功能多样性和简洁性之间的折中方案,生成器只是向前进的迭代器,这意味着不能使用生成器在数据集中执行后退、快进或查找操作,只能让生成器计算并产出下一个值。迭代大型数据集或数列时最适合使用生成器,因为这样占用的系统内存最少。生成器也能完成迭代器能完成的简单任务,而且使用的代码更少。 总而言之,生成器并没有为PHP添加新功能,不过使用生成器大大简化了某些任务。 继续阅读 >
201906-21 浏览器缓存的这些知识点你都清楚吗? HOT 浏览器在加载资源时,先根据这个资源的一些http header判断它是否命中强缓存,强缓存如果命中,浏览器直接从自己的缓存中读取资源,不会发请求到服务器。比如某个css文件,如果浏览器在加载它所在的网页时,这个css文件的缓存配置命中了强缓存,浏览器就直接从缓存中加载这个css,连请求都不会发送到网页所在服务器。 继续阅读 >
201906-21 PHP多任务,并发并行,多线程,协程等知识点理解 HOT 在讲协程之前,先谈谈多进程、多线程、并行和并发。 对于单核处理器,多进程实现多任务的原理是让操作系统给一个任务每次分配一定的 CPU 时间片,然后中断、让下一个任务执行一定的时间片接着再中断并继续执行下一个,如此反复。 由于切换执行任务的速度非常快,给外部用户的感受就是多个任务的执行是同时进行的。 继续阅读 >
201906-20 你需要知道的Linux服务器安全策略问题 HOT 常见的服务器攻击类型 1 密码暴力破解攻击 密码暴力破解攻击的目的是破解用户的密码,从而进入服务器获取系统资源或者是进行破坏。 2 拒绝服务攻击 拒绝服务攻击基本原理就是利用合理的服务请求来占用过多的服务资源,从而使网络阻塞或者服务器死机,导致Linux服务器无法为正常用户提供服务。常见的服务攻击有拒绝服务攻击(Dos)和分布式拒绝服务攻击(DDos)。 3 应用程序漏洞攻击 主要是由软件漏洞所引起的,黑客首先利用网络扫描工具扫描目标主机的漏洞,然后根据扫描出的漏洞进行有针对性的实施攻击。 继续阅读 >
201906-20 生产环境:Nginx高可用方案 HOT 高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。如果一个系统能够一直提供服务,那么这个可用性则是百分之百,但是天有不测风云。所以我们只能尽可能的去减少服务的故障。 继续阅读 >
201906-20 微信小程序支付及退款流程详解 HOT 微信小程序支付的主要逻辑集中在后端,前端只需携带支付所需的数据请求后端接口然后根据返回结果做相应成功失败处理即可。我在后端使用的是php,当然在这篇博客里我不打算贴一堆代码来说明支付的具体实现,而主要会侧重于整个支付的流程和一些细节方面的东西。所以使用其他后端语言的朋友有需要也是可以看一下的。很多时候开发的需求和相应问题的解决真的要跳出语言语法层面,去从系统和流程的角度考虑。 继续阅读 >
201906-20 专业解决 MySQL 查询速度慢与性能差! HOT QueriesPerSecond意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 继续阅读 >
201906-19 图解 Docker 架构 HOT 1 用户是使用 Docker Client 与 Docker Daemon 建立通信,并发送请求给后者。 2 Docker Daemon 作为 Docker 架构中的主体部分,首先提供 Docker Server 的功能使其可以接受 Docker Client 的请求。 继续阅读 >
201906-19 关于 MySQL 通用查询和慢查询日志,看这篇就够了! HOT 1、通用查询日志:记录建立的客户端连接和执行的语句。2、慢查询日志:记录所有执行时间超过longquerytime秒的所有查询或者不使用索引的查询一、通用查询日志在学习通用日志查询时,需要知道两个数据库中的常用命令:1)showvariableslike‘%general%’;可以查看,当前的通用日志查询是否开启,如果general_log的值为ON则为开启,为OFF则为关闭(默认情况下是关闭的)。2)showvariableslike‘%log_output%’;... 继续阅读 >
201906-19 大牛是怎么思考设计SQL优化方案的? 在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已。 继续阅读 >
201906-19 Nginx常见故障502等解决方案汇总 HOT 网站的访问量大,而php-cgi的进程数偏少。 针对这种情况的502错误,只需增加php-cgi的进程数。具体就是修改/usr/local/php/etc/php-fpm.conf 文件,将其中的max_children值适当增加。这个数据要依据你的VPS或独立服务器的配置进行设置。一般一个php-cgi进程占20M内存,你可以自己计算下,适量增多。 /usr/local/php/sbin/php-fpm restart 然后重启一下 继续阅读 >
201906-18 提高工作效率的7个 Vim 使用技巧 HOT vim 是个非常高效、非常好用的工具,很多人一旦开始使用 Vim 之后就再也无法自拔。然而, Vim 仍然有其自身缺陷,对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性。 继续阅读 >
201906-18 PHP性能优化利器:生成器 yield理解 HOT 直接讲概念估计你听完还是一头雾水,所以我们先来说说优点,也许能勾起你的兴趣。那么生成器有哪些优点,如下: 生成器会对PHP应用的性能有非常大的影响 PHP代码运行时节省大量的内存 比较适合计算大量的数据 继续阅读 >
201906-18 【底层原理】进程与线程的一个简单解释 HOT 进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。 继续阅读 >
201906-17 Yii2框架启动流程解读 HOT Yii2虽然是一个以简单著称的框架,但它的启动流程却有点复杂.想要用好这个框架,启动流程必须烂熟于心.尤其当你开发Yii2的扩展(Extension)时,或者将自己已有的扩展运用到Yii2开发的项目中时,你可能会通过composer安装,然后在应用中通过各种手段参与框架的整个流程,这时,了解整个框架的启动流程就很重要. 继续阅读 >
201906-17 PHP实现用户注册、验证邮箱激活功能示例 HOT 注册邮箱激活流程 1、用户注册 2、插入用户数据,此时帐号未激活状态。 3、将用户名密码或其他标识字符加密构造成激活识别码(你也可以叫激活码)。 4、将构造好的激活识别码组成URL发送到用户提交的邮箱。 5、用户登录邮箱并点击URL,进行激活。 6、验证激活识别码,如果正确则激活帐号。 继续阅读 >