CentOS编译安装Redis及扩展

本安装方法支持CentOS6.x和7.x
使用到的软件:
Redis 3.x, 4.x, 5.x:redis-5.0.3
tcl8.6.6:http://prdownloads.sourceforge.net/tcl/tcl8.6.6-src.tar.gz
php redis 扩展: https://github.com/nicolasff/phpredis
EasyRedisAdmin(redis管理工具):
https://github.com/pkuoliver/EasyRedisAdmin

一、安装redis

首先安装tcl

tcl安装成功之后安装redis,可以根据需要选择redis的版本进行安装, 继续阅读全文

小小感悟

无论科技,社会文明到什么程度,弱肉强食法则永远存在。因为该法则是合理的,强大的力量才能让自己的基因延续,完全符合达尔文进化论。换句话说,就是让自己强大。

现在这个社会的戾气很重,大家都憋着。不知道会不会有爆发的一天。

吃亏是福,吃不了小亏,可能会有大损。

适量的金钱能给人快乐,达到一定程度,快乐的获取方法就变了。

“改变不了社会,就改变自己”,自认为是很正确的生存法则。以卵击石总是卵碎。

善待家人朋友。

穷则独善其身,达则兼济天下。独善其身不要有道德压力,但也不能忘记兼济天下。

始终坚持独立思考。不妄言

AES加密,Android, iOS, PHP三平台兼容互通

项目中遇到需要对某些敏感数据进行加密的需求,并且需要兼容Android,iOS,PHP三个平台,也就是说,各个平台上加密相同的数据,加密结果是一样,每个平台加密的密文,其他平台都能解密出正确的原文。

期初,看起来是一个很简单的需求,有强大的互联网嘛,Google下,什么都有,在经历了数次无果的尝试之后,才发现,这个问题并不是很简单,主要的原因是,每个平台实现的加解密算法都有一丝丝不同,要么是这个平台的密文,在另外一个平台不能正确解密;要么就是某两个平台的数据互通兼容了,第三个平台又不支持了;在经历了无数次的查阅资料,搜索stackoverflow后,终于搞定了这个问题,先上代码下载地址:

https://github.com/pkuoliver/EasyAES

先来了解下AES加密算法,来自维基百科

高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。

AES加密算法,有不同的实现方式,比如按照秘钥位数,分为128位,192位,256位;按照工作方式,有CBC,ECB,CFB,OFB等四种(详细内容可以查看这里);除此之外,为了数据对齐,还有不同的Padding填充方式,比如NoPadding,PKCS5Padding,PKCS7Padding,ISO10126Padding等填充方式。因此这样排列组合一下,各个平台的加解密不兼容就不奇怪了。

本文实现的是128位的CBC模式PKCS5Padding方式填充的AES算法,废话不多说,上代码: 继续阅读全文

中国巨头互联网音乐公司总监谈产品设计

原标题:程序员漫谈产品设计

我是做技术的,对互联网产品一窍不通,更谈不上产品感觉,但这么多年和产品的配合,通过自己的观察,也没忍住对产品来一番纸上谈兵,产品经理不要指望能从中学到什么,因为会发现很多正确的废话,我无非是提供了一个程序员的观察视角而已。

假设产品为x,网络用户为u,产品的目标就是设计x,使得f(x,u)取得最大值,f可能是取日活,也可能是付费收入。x实际是无限维的,可能包括界面颜色,提示信息,免费下载数量,简化起见,可以以一维来思考这个问题。

产品的任务抽象之后,我们发现,所有的互联网产品(甚至任何产品),都可以抽象为一个寻找f(x,u)的最大值问题。问题的关键是我们不知道这个函数是什么形状,否则我们能够直接找到最大值,比如x:颜色为红色,允许免费下载6首,此时得到最大的f(x,u),比如日活100万。由于不知道这个函数的形状,找到这个函数的最大值便是困难的,无数的产品经理为此苦苦探索,所有产品的方法论都围绕这个核心问题。以下几种方法是常见的: 继续阅读全文

微软感受 – 王垠

原文:http://www.yinwang.org/blog-cn/2016/09/10/microsoft2

在微软两个月了,也可以说一说自己的感受了。

先说说好的地方吧。在微软,我终于可以不用碰 Go 语言,REST API 之类的垃圾。C# 确实是一个挺不错的语言,虽然我发现一两个需要改进的地方。在微软,我没有遇到过特别自大的人。有些人心里也许还是很自我,但不像 Google 之类公司的人,有那么张扬的表现。微软不提供免费的午餐,而是要求员工付出少许的费用(6块钱以下),这提高了食物的质量,而且避免了浪费。在微软的饭桌上,人们谈论的不是某些牛人有多厉害,要怎么发财,而是谈论生活,音乐,电影,食物…… 这些都是我很欣赏的地方,每一个成熟的公司都应该拥有这样的特征。

继续阅读全文

一个程序员眼中的价值(转载)

看了鸟哥(php社区唯一一位亚洲核心开发者)的一篇博文,很赞同其中的观点,转载如下:

前天看了TimYang的<一个技术从业人员眼中的2014> , 有些观点我很是赞同, 于是我也有了想写点什么的冲动…

在2015年的第二天, 我终于好像有了一些跳跃的想法, 可以说给大家听听. 也许不够体系, 不够完整, 但或许能得到一些共鸣.

我先给我大家讲讲我的故事, 我在2007年的时候去了雅虎实习. 当时应聘实习的时候, 我记得我和面试官应该表达过, 我不在乎赚多钱(实习生工资), 只是希望学习.

后来, 2008年的时候要毕业了, 因为在雅虎的氛围等让我觉得非常好, 我几乎没有看什么其他机会就签了雅虎中国, 当时的工资是7000一个月..

就这样相安无事的过了2个月, 突然第三个月要补交社保什么的, 一个月的工资发到手只有不到1000多块(也许我记得不是很精确, 不过只记得很少).. 继续阅读全文

本博又一次“起死回生”

从本博第一次开放到现在,已经死了三四次了。

主机从香港搬到美国,又从美国到国内的一个“黑机”,接着又辗转到新浪在香港的SAE,到忘记续费所有的数据被无情的删除,到现在的阿里云,6年过去了。庆幸的是,现在,它,重生了!!!

这六年里,域名从redfox66.com到diducoder.com,博客程序从blogengine.net到wordpress,服务器系统从windows server到centos,好像一直在逃难,庆幸的是,现在,它,重生了!!! 继续阅读全文

海量数据处理专题(九)——外排序

【引言】

在数据结构的课程上,我们学习了不少的排序算法,冒泡,堆,快排,归并等。但是这些排序方法有着共同的特点,那就是所有的操作都是在内存中完成的,算法过程中不需要IO,这就使得这样的算法总体上速度比较快,但是也随之出现了一个问题:当需要排序的数据量异常的大的时候,以上的算法就显得力不从心了。这时候,你需要一种另外的排序算法,它的名字叫“外排序”。

通常的,设备的内存读取速度要比外存读取速度快得多(RAM的访问速度大约是磁盘的25万倍),但是内存的容量却要比外存小很多,当所有的数据不能在内存中完全放下的时候,就需要使用到外排序。这是外排序的一个显著特征。 继续阅读全文

CSDN-中文IT社区-600万.rar-CSDN杯程序员最爱的mm评选

CSDN这次丢人丢大了,蒋涛同学现在估计正焦头烂额。
事件始末:

昨天有人将CSDN的2009年4月份以前的用户名和密码发布到了ed2k:网络上了,CSDN-中文IT社区-600万.rar。由于CSDN是采用明文存储,导致600万用户密码集体泄露。

这里有第三方查询密码是否泄露的网站:http://0bad.com/csdn.php 如果您的密码也在泄露之列,请尽快修改,以及其他网站的密码。

该事件出现以后,各路神仙大显身手:

据说现在推上在举行CSDN杯我最喜爱的CSDN密码活动,我觉得与其评选人们最喜爱的密码,还不如评选密码里面最受喜爱的人。那么谁得到的爱最多呢,我统计了一下包含ilove***的密码,其中被爱得死去活来的前100位如下: 继续阅读全文

组合数学之把妹要诀

王络丹住址问题公交卡丢失问题之后又一有意思的讨论。

离散数学课(CSCI 2110)上,讲到一个有趣的问题。

假设有五个男生,五个女生,每个人都在自己心中对五个异性有一定的preference排序,比如:

以上的排序表解读为:男生1最中意女生C,次中意女生B,次次中意女生E。。。。 以此类推。。。。 继续阅读全文