阿里最近开源了新项目,叫 ApsaraCache,号称对 redis
做了一些优化,但开源分步骤(明显是你们没开发完吧)逐渐放出。这也进一步体现了大公司技术栈的混乱,相信在阿里内部这种类 redis
的玩艺儿绝对也不少。不过不扯这个。在 ApsaraCache 开源一期的优化中,主要有两个功能点:
1. 在 redis 4.0 的基础上增加了 memcached 协议的支持
2. 对短连接的情况进行了优化
把 ApsaraCache 的代码 down 下来用
最近想起来之前写的一个比较有意思的程序,简单说一说吧~
某互联网黑产需求
之前在帮某“互联网黑产大佬”干苦力的时候有这么一个需求,如果读者玩过某个集换式卡牌手机游戏的话应该知道卡牌的概念。手游卡牌的黑产生意实际上是通过 http
接口去刷别人的初始卡牌组合(就是看脸抽卡)。在刷卡的过程中可能会刷出一些价值比较高的初始号从而拿来挂在什么地方赚钱,这个初始号里相当于预先就存在了一些稀有的卡片,而省去了非洲人百抽不出
SSR 的窘境。而用户的购买过程则是需要提供其心仪的卡片,在已有的卡组里查询符合自己搜索条件的对应卡片。
啊,那换成微博的共同关注?
看不懂上面这段没有关系,我们把这个场景稍微修改,最近微博因为小鲜肉的恋爱爆料挂得比较惨,我们以微博的一个场景来举例:
用户 A 关注了 N 个人,把这些被 A 关注的用户 id
时间还是像流水一样就这么流过去了。
十年前的九月十二日,我们站在北航的图书馆门前,怀着对未来的憧憬进入了离家几百或者几千公里以外的大学。远离亲人和家乡,踏上了陌生的土地和教室。环顾四周,再也没有熟悉的同学和旧友。惆怅么?惆怅。悲伤么?不好说。
浪漫的散漫的童年时代就在拿到录取通知书的时候划上句号了。可是下一段青春好像怎么都找不到可以落笔的开头。新的班级和新的同学,虽说这样的场面还是在两次升学过程中经历过,这一次在他乡多多少少让人百感交集。
把人送到宿舍,别过依依不舍的父母。新的生活就这么开始了。然后就是想着漫长的大学时代。那个时候北京的房价还没有到五位数,房租还是以百计。年轻人们在狭窄的宿舍里开朗地讨论着未来和梦想----哦,梦想这算东西说归说,听到同宿舍的同学们说自己对软件和互联网没什么兴趣,是被调剂过来的。还是有些许的失望,但在他乡,即使同僚不上进,那依然是你可以依靠的为数不多的同僚。
紧跟着便是悠长的大学时代,哦,
之前在 golang 群里有人问过为什么程序会莫名其妙的 hang 死然后不再响应任何请求。单核 cpu 打满。
这个特征和我们公司的某个系统曾经遇到的情况很相似,内部经过了很长时间的定位分析总结,期间还各种阅读 golang 的 runtime 和 gc
代码,最终才定位到是业务里出现了类型下面这样的代码:
package main
import "time"
func main() {
var ch = make(chan int, 100)
go func() {
for
最近在部门内组织了一场撕逼大会,几个 golang 组坐在一起聊一聊未来的应用应该怎么写。感觉收获颇丰。
在企业内部做开发的时候,实际上 99%
的程序员都不太在意代码的质量问题。这个比例我没有任何夸大,从上一家公司出来(倒闭)来到滴滴,又转过一次部门。经手了很多系统,个个也都是国内顶级公司(BAT)来的程序员们,但是代码写出来个顶个的垃圾。不管是维护还是阅读,都非常得痛苦。
一年多以来我一直在思考原因,刚开始的时候想法很极端,认为这些程序员就是基础不过关。但是在和很多人沟通的过程中发现,实际上大部分人都还比较聪明,并且务实而理智,分得清优劣,而不像是我刚来的时候想像的那个样子。
那为什么最终的结果却是写出了无数的垃圾代码呢?又经过了一段时间的思考,我大概总结出以下一些原因:
1.