月度归档:2018年08月

PHP高手成长之路

旅游我们要看攻略,打王者我们也需要看攻略,程序开发也离不开攻略。

下面整理了一些16年至17年收藏在备忘录的心法,时不时的就会看一看,希望对你也有帮助。

一个高级PHP工程师所应该具备的【#20160725】

初次接触PHP,就为他的美所折服,于是一发不可收拾。

很多面试,很多人员能力要求都有“PHP高级工程师的字眼”,如果您真心喜欢PHP,并且您刚起步,那么我简单说说一个PHP高级工程师所应该具备的,希望给初级或已经达到中级的PHP工程师一些帮助。
继续阅读

一致哈希PHP实现及应用(一致哈希学习笔记二)

一致哈希算法介绍参考文章《一致哈希算法理解(一致哈希学习笔记一)》

回顾一致哈希算法步骤:
0、将每一个服务器节点按照ip或者server_name, 通过hash函数(eg: crc32)得到对应的一组hash整数值,这里称做hash_servers,并对得到的整数值按由小到大进行排序。
1、将key也通过上面同一个hash函数计算得到对应hash整数值, 这里称为hash_key。

2、遍历hash_servers,用hash_key与hash_servers中的数逐个比较,当hash_key最后小于hash_servers中的那个数存在时,这个数对应的节点就是这个key所存储的节点,否则存在第一个节点。

一致哈希算法PHP的一种实现
继续阅读

一致哈希算法理解(一致哈希学习笔记一)

发现维基百科上只有”一致哈希“这个概念,不知道”一致性哈希”是从哪来的,查看介绍一致性哈希的文章也都说”一致性哈希”是MIT的David Karger及合作者在1997年的学术论文《Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web》(论文要付费阅读和下载😓)上提出了的,由此可以推理”一致性哈希”和”一致哈希”是同一个算法。这里按照维基百科的说法称为一致哈希。

一致哈希算法要解决的问题

一致哈希是一种算法,特殊的哈希算法。特殊在什么地方,是为了解决什么问题呢?
继续阅读

投票类应用防刷总结


(图片来之维基百科:日本投票箱

这里说的投票是网络投票,有句话说网络投票比的就是刷票,可见防刷票一直都是一个难题。虽然不能完全防止,但是我们是可以增加一些逻辑限制。

接触到一些投票性质的场景,比如微博投票投票产品、知乎投票、投票活动、抽奖活动、加油、应援、明星打榜等。
继续阅读

CentOS7系统下Nginx网站支持HTTPS笔记

很早之前就看到了耗子叔的这篇文章《如何免费的让网站启用HTTPS》,今天参考后把站点升级到了HTTPS, 基于以下两个原因,还是决定做一个笔记:

原因一:耗子的文章操作系统是Ubuntu 14.04, 这里是CentOS7;
原因二:按照网页 https://certbot.eff.org上CentOS7的安装教程执行,遇到了一些问题。

支持HTTPS免费解决方案Let’s Encrypt请查看耗子的文章,说的很清楚了,这里只是记录了CentOS7下的安装流程。
继续阅读

Nginx1.14.0与PHP7.2.8通信基本配置二(Socket方式)

这篇文章是基于前篇文章《Nginx1.14.0与PHP7.2.8通信基本配置一(TCP端口方式)》的基础上改造支持通过Unix domain socket方式实现Nginx和PHP互通。

一、修改PHP-FPM配置
0、新建socket文件(一般放在内存盘中,即目录/dev/shm/,是在内存中,而不是在磁盘上,读写效率会很高,文件名随意,后缀为.sock)

touch /dev/shm/php-fpm.sock

继续阅读

Nginx1.14.0与PHP7.2.8通信基本配置一(TCP端口方式)

按照前两篇文章编译安装了Nginx和PHP,这里介绍配置Nginx和PHP, 实现两者互通。

一、配置PHP
0、清理php-fpm.conf中的注释, 只保留最后一行(本身有php-fpm.conf.default文件,不要担心备份)

tail -n 1 /usr/local/php/etc/php-fpm.conf
# 显示内容 include=/usr/local/php/etc/php-fpm.d/*.conf
echo 'include=/usr/local/php/etc/php-fpm.d/*.conf' > /usr/local/php/etc/php-fpm.conf

继续阅读