怎么打日志

logger

需要解决的问题:

  • 业务日志打太乱,没有位置和格式约束
  • 什么情况打日志,如何避免滥用,提高日志作用

打日志最佳实践

Dropwizard 列出的打日志原则:

Be human readable.

Be machine parsable.

Be easy for sleepy ops folks to figure out why things are pear-shaped at 3:30AM using standard UNIXy tools like tail and grep.

eg.:

TRACE [2010-04-06 06:42:35,271] com.example ...
more ...

Redis 集群扩容

几乎每一个网站都需要用户登录状态系统,其中核心是存储 Session 的用户登录状态存储系统。 主流的实现之一是使用 Redis 存储用户登录信息,Redis 特点是功能简单、无依赖、 存储结构丰富、有持久化功能。 我大堆糖的 Session 存储系统也正是基于 Redis。

可是 Redis 也存在一些问题,比如 Redis 自身没有 Sharding 功能,Replication 也是在逐步完善完善过程中 (2.4 支持 Replication,2.8 加入 Replication partial resynchronization 功能)。 纵观当下流行的 DB 系统,哪个不是自带这两个特性,这两个分布式特性应该成为新出产的 DB 系统的标配。 而且作者还经常发布延期,放烟雾弹,不知道 Redis 自带 Sharding ...

more ...

带理想的执行者 - 柳比歇夫的一生

作为战斗民族的俄罗斯民族,不但能在热带风暴级的灿鸿中进行正常起降, 历来也盛产各种奇葩人物。 最近我有看到一本描述一个科学家的如何生活的书,叫「奇特的一生」。 让人拍案称奇。

201507/liu_bi_xie_fu.jpg

主人公是一位名叫柳比歇夫的科学家,想必他在「回首往事时候没有因为虚度年华而悔恨」, 因为他将自己的一生都精确的奉献到分类学、地蚤研究上面。 他的工作投入,不是单纯激情洋溢投入,而是精确到分钟级别的投入, 是奉献完整一生的投入。

除了学术上面的成功,他的时间记录法也很牛逼,甚至让苏联科学院进行研究。怎么描述他的牛逼呢?如果他生活在今天,大致会这样写:

今天我 19:00 - 19:25 看了新闻联播,感受到社会各阶级在党的领导下面获得令人振奋的成绩

19:25 休息了一会,避过无聊的天气预报时间

19:30 - 20:30 学习了「XXX 的讲话精神研究」

附加工作:20:35 - 20:40 小解,顺便刷了一会朋友圈作为今天的娱乐放松,评论了隔壁老王老婆的出行照片

看到没有,他精确的记录了自己的时间使用记录 ...

more ...

2015 沪港 Hackathon

我想参加黑客马拉松很久了,去年就观战过 2014 沪港黑客马拉松。 但苦于需要连续两天时间,一直没有下定决心参加。

上周末本来安排了两天的团队会议,后来临时取消, 给了我充足的时间。于是我在 27 号周五下午,报名参加了 27 号晚上开始的 2015 沪港 Hackathon。

5D3_0001.jpg

more ...

读《遇见未知的自己》

「遇到未知的自己」这本书讲的是如何来认识自己,理解自己的情绪,和自己内心沟通。

遇到未知的自己

豆瓣链接 / Kindle 版本购买链接

下面我写的倒不是什么读后感,而是我自己去解决自己焦虑和压力的一个探寻过程,希望对你有帮助。

不完美

最近一年来,我生活和工作状态持续处于亚健康状态。表现出来的状况是:工作上对产出的成绩不满意, 对自己不够自信,追寻的目标(创业)变得模糊和不可量化;生活受到影响,开始陷入到哪里去的困惑。 很久没有兴奋的迎着早晨第一缕阳光蹦着下楼梯,人变得焦虑和烦躁。

这种压抑,让我回忆起小时候周日晚上动画片的结尾曲,昏黄、萧瑟,似乎一切都走向终结。 哈,好在我不是那么消极的人,我热爱生活,期望创造价值,渴望别人的认同, 我不愿意自己长期陷入这种低潮。

我做了一些尝试和挣扎:给自己添加束缚(变成一个“工作日素食者”),计划自己工作和生活(践行 GTD), 意识到自己情绪抖动并尝试控制自己的情绪。 针对能力上面不足,我也去阅读了彼得德鲁克的系列丛书,柯维的「高效能人士的七个习惯」。 这些措施的确帮助了我,我觉得自己比以前更强大。 但是始终没有彻底解决我的问题,无法治愈我内心的恐惧和压抑 ...

more ...

2014 惑

上周刚做完了自己的 2014 工作 Review,其中最大的挑战就是工作职能的变化: 由一个开发工程师变成一个团队的 Leader。

3 月份开始带领功能线小组,11 月份带性能线小组,将近一年的时间, 业绩结果只能用四个字来描述

不尽人意

more ...

《项目管理修炼之道》笔记

项目管理修炼之道

随着团队规模的变大,成员之间合作的模式逐渐由单打独斗变成协作开发。 这时候会遇到很多意想不到的问题,项目管理的重要性也就显现出来了。 项目管理修炼之道 是一本讲技术类项目管理方法和实践的书。 从业者可以从这本书获得了有益的指导。 我在 Kindle 上面翻了好几遍,感觉受益匪浅,就把读书笔记拿出来供大家参考。

内容

核心内容是项目管理的生命周期和每个阶段的交付物:

  • 项目章程
  • 日程规划
  • 开发(控制节奏)
  • 结束项目,项目回顾

其他内容:

  • 如何和投资者沟通
  • 管理会议
  • 控制项目节奏
more ...

加班那点事儿

前段时间,一个好基友告诉我,他换了份工作,去了一家用户数据表现堪称吓人的创业公司去了。其中有一个细节引起了我的注意:他们在实行 996 的上班制度。即 9 点钟上班,9 点钟下班,一周工作 6 天。

同样实行这种制度的还有阿里的来往团队。当年(其实就是去年)在抢占移动端 IM 入口时候,马云都使用了红包政策,来往的工程师在高压之下,也实行 996 了制度。 我问过阿里的朋友,他们表示,整体加班情况的确比较多。我追问了一下加班效率,证实了我的一个猜想,有些个人是晚上加班没事干,尤其有些测试工程师,白天没活干,晚上活多,还经常等到 9 点之后才有事情。这个现象也许不是普遍的,但的确存在。

我自己是反感加班的,曾经面到一个开发工程师,表示工作三年来,加班时常为 0h。当时有点被这种表述惊讶了一下,然后我认为他是在标榜自己工作效率高。 这种表述也反映出他作为工程师,认为加班是一个负面的表现 ...

more ...

痛、快、活

上个月回家,在亲戚家里和侄子聊天,他刚从大学毕业,在家人的帮助下面找了算是对口的工作,对工作之后的状态有一些茫然,看不到前途和未来,我问了一个问题:

你平时是怎么面对困难和挑战的?

犹豫了一会儿,他告诉我:「大部分时间都是逃避掉困难」。

这个问题反而让我自己开始思考:面对困难的时候,为什么更倾向于逃避,而不是挑战和面对?

困难和逃避

想要一点点对这个问题抽丝剥茧,要做的第一步就是,来定义「困难」和「挑战」。这两个词都意味着,面临的事情可能超出处理者当前的能力范畴。比如让一个游泳初学者去横渡长江,让一个厨师学徒工去做满汉全席,让一个幼儿去思索人生的意义,或者让一个工程师去管理一个技术团队。

逃避可以让当事人避免处理不擅长的事情,不会面临各种碰壁,不会带来灾难,不会给自己带来痛苦,不会在结果不优秀时候受到嘲笑和讥讽。 另外,从技术和实施的角度看,面临不了解或不擅长的领域和事情,也会有无从下手的困苦。

「好人不长寿,王八活千年」这句谚语也标榜着这种逃避态度。枪打出头鸟,所以只要保持自己低调和保守,不接受挑战,即可以安安稳稳了么?

野心和痛苦

我发现,在进行任务管理时候,给予的任务往往会高于执行者的当前能力一点点。原因有二。

第一 ...

more ...

在 Raspberry Pi 上使用 AirPlay

早在去年时候,我就发现有个叫做 Raspberry Pi 的玩意, 已经忘了是从那里得知这个东西。这个卡片大小的电路板是可以运行 Debian 的主机,提供了一个发挥自己想象的平台。13 年 南京极客行动 时候,Michael 好像还拿了一个板子参加比赛。

RaspberryPi.jpg

我对这个东西充满了兴趣,仅售 $39 的主机,小巧的机身, 可以充分发挥自己的想象力:离线下载,动作片播放器,家庭分享中心, 给侄子学习编程~想到这些可以发挥自己的创造力, 就迫不及待的要去采购并去尝试。

不过我还是理智的压抑住自己的情感,手头老是有更重要的事情要去做,实在不能再给自己多找一个精力分散的方向。 于是,我这么一压抑,就压抑了一年。

后来在 InnoSpae 看到 SegmentFault 的姜尚用 Arduino 写了一个播放超级玛丽音乐的程序,又让我重新燃烧起使用硬件创造一些小玩意的热情。

4f42dcf03f067e12fe5c156e2af1373b.image.538x354.jpg

碰巧的是,现在有一个非常适合的场景需要这样的工具:前段时间,团队在优化发布流程,也就是将工程师写好的代码发布到正式环境的过程。其中有一个重要环节是需要需求方对提出的功能进行验证。而需求方往往验证的不及时,就需要一个方法来通知需求方 ...

more ...