作者归档:salmonl

关于salmonl

成长,长成自己的样子。微博@动机在北京,欢迎来玩~

C语言与MySQL交互

一直有一个遗憾,没有用C语言操作过数据库。

最近趁着对C语言的一点兴趣,重新熟悉起来,不是从基础语法开始,而是直接用操作数据库开始。

MySQL提供了很多编程语言与自身通信的API,其中就有C语言的API,利用这些API就能及其便利的操作MySQL。C API的数据类型及函数可以参考:这里
继续阅读

进程和线程一(什么是进程和线程)

前言:要理解进程和线程,必须先搞清楚内存管理,建议先阅读本站文章《Linux内存管理笔记

首先,我们要问,什么是进程?(这里我们讨论的概念都是基于面向线程设计的操作系统)

什么是进程

在说明这个问题之前,我们先想象一个场景:周末在家开着电脑(MacBook),用浏览器(Chrome)访问网易云音乐,选了一首歌播放着。我们把唱歌这个任务交给了浏览器,浏览器正在做着这个任务。
继续阅读

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下的安装流程。
继续阅读