ltask :用于 lua 的多任务库

  • Post author:
  • Post category:IT
  • Post comments:0评论

写这个东西的起源是,前段时间我们的平台组面试了一个同学,他最近一个作品叫做luajit.io。面试完了后,他专门找我聊了几个小时他的这个项目。他的核心想法是基于 luajit 做一个 web server ,和ngx_lua类似,但撇开 nginx 。当时他给我抱怨了许多 luajit 的问题,但是基于性能考虑又不想放弃 luajit 而转用 lua 。 我当时的建议是,不要把 lua/luajit 作为嵌入语言而自己写 host 程序,而是想办法做成供 lua 使用的库。这样发展的余地要大很多…

继续阅读ltask :用于 lua 的多任务库

励志成功学:以恐吓始 以榜样终

  • Post author:
  • Post category:IT
  • Post comments:0评论

一 颇有些人问过我这样一个问题:你为什么不创业?(或者换个问法,你为什么不去一家互联网公司?) 这样一个问题的默认假设是:我现在这般四处扯淡、不务正业的生活显然过于浪费。 钛媒体一个作者,还就这个问题和我理论了好几回。 但我依然不想做什么事业。 年纪大了,折腾不动了,而且,年龄大意味着抗风险能力差,摔了一跤就爬不起来了。 我现在这种吃着皇粮有资格犯贪污罪的国家工作人员,我觉着挺好。 人生一世,草木一秋,到底图个啥子呢? 二 我略微年轻一点的时候,也干过成天励志的事。 我记得那是2002年,那时候…

继续阅读励志成功学:以恐吓始 以榜样终

基于 skynet 的 MMO 服务器设计

  • Post author:
  • Post category:IT
  • Post comments:0评论

最近,我们的合作方 陌陌 带了他们的一个 CP 到我们公司咨询一下 skynet 做 mmo 游戏项目中遇到的一些问题。因为他们即将上线一款 MMO ,在压力测试环节暴露了许多问题。虽然经过我们的分析,有很多问题出在他们的压力测试程序本身编写的 bug ,但同时也暴露出服务器的设计问题。 核心问题是,他们在实现 mmo 服务器时,虽然使用了 skynet 框架,但却把所有的业务逻辑都放在了同一个 lua 服务中,也就是一切都运行在一个 lua states 里。这样,几乎就没能利用上 skyne…

继续阅读基于 skynet 的 MMO 服务器设计

微信红包金额分配的算法

  • Post author:
  • Post category:IT
  • Post comments:0评论

虽然春节已经过去一段时间,但不少微信群里面依旧乐此不疲的在玩发红包活动,用户自发的将最初的一个春节拜年的场景功能慢慢演化成一个长尾功能。 用户在微信中抢红包时分成抢包和拆包两个操作。抢包决定红包是否还有剩余金额,但如果行动不够迅速,在拆包阶段可能红包已经被其他用户抢走的情况。 红包的金额是在什么时候算? 据某架构群腾讯财付通专家反馈,红包的金额是拆的时候实时计算,而不是预先分配,实时计算基于内存,不需要额外存储空间,并且实时计算效率也很高。每次拆红包时,系统取0.01到剩余平均值*2之间作为红包…

继续阅读微信红包金额分配的算法

Gopher China 大会

  • Post author:
  • Post category:IT
  • Post comments:0评论

前两天去上海参加Gopher China 2015 大会,见到很多久闻大名的大神和朋友,感觉很好。而且看到许多的企业,尤其是大企业都已经开始成规模的使用 golang,说明 golang 本身的设计和性能,已经受到了大家的认可。当然其实有很多的话题,不局限在 golang 了。 Go 语言核心 最重量级的话题,就是雨痕的 《Go 1.4 Runtime》。主要说了 Go 的内存分配器、垃圾回收器和goroutine调度器三块内容。我之前阅读过他的《Go 语言笔记》,非常不错。很详细的阐述了 Go…

继续阅读Gopher China 大会

[转]5个编程谬论

  • Post author:
  • Post category:IT
  • Post comments:0评论

1.代码很重要 我在很多地方工作过,发现成功之中隐藏着这样一种普遍现象:早期的代码看上去像是一群程序猿喝醉之后写的。这听上去似乎有悖常理,那是因为你得竭尽全力让企业成长,所以就没有时间去追求软件的完美。从另一方面讲,失败的企业,却会花很多很多时间来修正其代码库。 打个比方:如果你是一个寿司师傅。作为你工作的一部分,你收集了一套绝版的刀具。你花时间花精力来完成收藏,它们提升了你作为一名厨师的竞争力。 但无论你每天用多少时间去打磨你的道具,你就不是一个铁匠。你的工作依然是做寿司。你虽然拥有了世界上最…

继续阅读[转]5个编程谬论

马佳佳,你那个演讲可不能叫TED

  • Post author:
  • Post category:IT
  • Post comments:0评论

互联网上,几乎每天都有新的热点产生,这两天是尼泊尔地震、汪国真逝世,还有马佳佳的『TED 演讲』。 本来一个80后猥琐大叔和一个90后青春少女没有什么交集,但在朋友圈看到《马佳佳Ted 演讲之<绝望的大学生>》这样的文章在刷屏,还是略感惊讶——TED演讲,那可不一般啊。 马佳佳文章截图 所以,我忍住对 Ted 这样的拼写吐槽的冲动,一番搜索之下,终于在优酷找到了一小段演讲的视频,不禁大跌眼镜——因为无论是视频标题,还是演讲台背景, TEDx 的标志都清晰可见,而 TEDx 和 TED…

继续阅读马佳佳,你那个演讲可不能叫TED

两周读一本书计划 Vol.2

  • Post author:
  • Post category:IT
  • Post comments:0评论

两周前,我发起了『两周读一本书』计划,因为『买书如山倒,看书如抽丝』,Kindle 买了两三个,纸质书买了一大堆,但真正读完的书,却是屈指可数,看不进去,甚至一度怀疑自己是否丧失了静下心来长篇阅读的能力。 《知识的边界》中,也有讲到这种现象: 互联网就是一堆未经把门的谣言、流言和谎言的集合。它把我们的注意力切割成碎片,终结了那些长线的深入的思考。我们的孩子,再也不读书了。他们当然更不读报纸了。人人都能在网络上找到一个大扩声器,发出和受过良好教育及训练的人一样高扬的声音,哪怕他的观点再愚不可及。 …

继续阅读两周读一本书计划 Vol.2

出品人眼里的一次QCon技术大会

  • Post author:
  • Post category:IT
  • Post comments:0评论

上千人的技术大会非常壮观,这次QCon北京全球软件开发大会的参会人数有可能达到了历史新高。考虑到北京国际会议中心会场的容载能力不足,对于参会人员来说,在这次大会中选择听一些热门内容的演讲注定是一次艰苦的历程。演讲开始前如果刚好从别的分会场跑过来,就很有可能堵在门口进不去;坚守一个分会场不转场的同学保留住了席位,但几百人挤在一个会场持续几个小时,感觉离烤肉的距离已差不远。 本次Tim继续担当了可扩展高可用专题分会场的出品人,可扩展是指软件架构中项目及产品在快速成长的阶段具备很好的扩展及应对能力。而…

继续阅读出品人眼里的一次QCon技术大会

sproto rpc 的用法

  • Post author:
  • Post category:IT
  • Post comments:0评论

sproto是我自己设计, 用在我们新项目中取代过去用到的 google protocol buffers 的东西。 为什么不用 protobuf ? 这个问题我有足够的发言权。在 lua 语言为主的项目中,sproto 更合适。google 官方并没有给 protobuf 加入 lua 支持。现在在网上流传的 protobuf lua 方案,被人用的最多的两种,一个是pbc的 lua binding ,另一个是protoc-gen-lua。前者是我在开发维护,并使用了多年;后者是在我过去的项目…

继续阅读sproto rpc 的用法

读写模型整理笔记

  • Post author:
  • Post category:IT
  • Post comments:0评论

读模型 1、主键读 最常见的读模型,说是主键,其实也包括其它索引键,或者联合主键。 常见实现:hash,时间复杂度可以接近O(1);B树或变种:时间复杂度接近O(log(n))。 关于B树和变种: B树(B-树):本质上是二叉查找树的升级版,变成了平衡的N叉查找树,这个N的范围根据磁盘一次读取的块大小来调整,这样复杂度log n的底数就从2变成一个更大的数,减少了树的高度。除此以外,还有一些额外的优化,比如为了插入和删除的性能考虑,通常准备一些预留的空间,只要在当前块或者邻近块中找到空间写入,就…

继续阅读读写模型整理笔记

低调、强势、或精打细算,从投资人画像解读投资风格

  • Post author:
  • Post category:IT
  • Post comments:0评论

投资就是投人。你在PE/VC圈问投资人,他们大抵都会这么给你说这一条。 这句话当然有一定的道理。一家公司的早期,特别是在“天使轮”、“A”、“A+”的时候,还面临很多不确定的因素。投资人要来投资,除了商业模式,行业前景外,基本都是冲着人去的。很多投资人栽跟头,也都是栽倒了人上。 反之,我们看投资机构,也可以通过投资人的性格和做事方式,来读出这家PE的投资风格,甚至是会不会投你。   务实低调派,软银中国薛村禾  软银中国在国内特别低调。理工技术男出身的薛村禾是这家创投机构的执行主管合伙…

继续阅读低调、强势、或精打细算,从投资人画像解读投资风格

对于微博、蚂蚁金服和阿里巴巴,“城市服务”可能是一个好机会

  • Post author:
  • Post category:IT
  • Post comments:0评论

  阿里巴巴和新浪微博在尝试把城市服务打造成“互联网+”的一个样板。 4月22日,蚂蚁金服、微博联合阿里巴巴共同发布了“互联网+”城市服务战略,试图合力打造一个开放、动态、协同的“社会化城市服务体系”,为各地政府提供“智慧城市”的一站式解决方案,满足市民需求、提高政府的治理能力。政府可以通过接入“城市服务平台”打造手机上的“市民之家”。 什么是智慧城市?国家行政学院电子政务委员会副主任汪玉凯教授在发布会上介绍了“智慧城市”的愿景。他提出,“智慧城市”的基础必然是借助现代信息技术来提升城…

继续阅读对于微博、蚂蚁金服和阿里巴巴,“城市服务”可能是一个好机会

[erlang]开源mgee—2010年写的arpg服务端demo

  • Post author:
  • Post category:IT
  • Post comments:0评论

mgee是2010年写的一个erlang arpg游戏服务端demo,代码可能已经被传播的到处都是,索性就放在github上,免得大家找起来麻烦。地址:https://github.com/qingliangcn/mgee 代码未作美化或者修改,仅仅作为一个记录,代码质量不做任何保证 部分文件可能会涉及到开源版权问题,请自行处理[当年无知,改了开源文件的版权内容] 其他八卦见这里:为什么一些网页游戏喜欢用Erlang做服务端? 本demo离商业化差距太大(当年是边学边写),如直接使用,本人概不负…

继续阅读[erlang]开源mgee—2010年写的arpg服务端demo