记忆中的草吧(一):我喜欢798,讨厌草场地
kafka:一个分布式消息系统
1.背景
最近因为工作需要,调研了追求高吞吐的轻量级消息系统Kafka,打算替换掉线上运行的ActiveMQ,主要是因为明年的预算日流量有十亿,而ActiveMQ的分布式实现的很奇怪,所以希望找一个适合分布式的消息系统。
以下是内容是调研过程中总结的一些知识和经验,欢迎拍砖。
2.基础知识
2.1.什么是消息队列
首先,我们来看看什么是消息队列,维基百科里的解释翻译过来如下:
队列提供了一种异步通信协议,这意味着消息的发送者和接收者不需要同时与消息保持联系,发送者发送的消息会存储在队列中,直到接收者拿到它。
一般我们把消息的发送者称为生产者,消息的接收者称为消费者;[……]
【翻译】编程:思考?编码?思考!编码!
应@程序员的那些事的邀请,翻译了这篇文章;原本以为翻译是件很简单的事,但实际做起来还是有难度的,很多地方读来读去都感觉不通顺,有机会再改改;不过这是我第一次翻译,感谢@程序员的那些事的邀请,朋友们凑合着看吧~
原文地址(欢迎指正):http://architects.dzone.com/articles/programming-thinking-or-typing
如果你思虑不周,你也许会认为编程只是一行一行的把计算机语言敲进电脑里。
Ward Cunningham 在《The Pragmatic Programmer》中的前沿提到
软件开发包含很多需要深入思考的内容,诸如设计、解决[……]
【收藏】关于贫穷和拖延的天才发现
【分享理由】昨晚同学的微信分享,很独特却又如此真实的观点,在此分享给大家,期待穆来纳森的新书《稀缺:为什么拥有太少后果会很严重?》。
关于贫穷和拖延的天才发现
转自财新网公众微信
当你特别穷或特别没时间的时候,你的智力和判断力都会全面下降,导致进一步失败
美国一个跨学科团队今年完成了一项对资源稀缺状况下人的思维方式的研究,结论是:穷人和过于忙碌的人有一个共同思维特质,即注意力被稀缺资源过分占据,引起认知和判断力的全面下降。这项研究是心理学、行为经济学和政策研究学者协作的典范。
研究的主导者是哈佛大学终身教授穆来纳森(Sendhil Mullainathan)——他29岁时就因出色[……]
我所理解的敏捷
我觉得敏捷是一种工作方式,一种适用小而精团队的工作方式,好比特种兵,敢死队,《士兵突击》里的老A,人数不多、流程特殊、战斗力奇强。因此,敏捷对个人的要求极高,但绝大多数的人并不满足相应的要求,毕竟正规军永远多于特种兵,但是敏捷的一些方法、流程、思维方式依然可以引入到互联网企业里,毕竟,面对不断变换的互联网环境,小而精的团队团队拥有最好的适应力,而敏捷的文化正与之匹配;虽然不大可能打造一只由许多特种部队组成的特种军,但正规军的升级也能极大地提升我方的战斗力。
以下内容我是自己长期从开发和ScrumMaster角色参与敏捷,总结出的一些心得;由于这是我做分享时所用的提纲,所以对于各点没有详细的描[……]
我的读书原则
我是个读书很晚的人,小时候不好好读书,上了大学才学会阅读的本领。但我真的庆幸自己还年轻,能有一双眼睛,两只手,并且生在图书如此廉价的中国大陆,我喜欢读书,也读了相对多的书,在读的过程中,遇到过很多问题,在不断的阅读中总结了一些原则,在此分享给大家:
1、不可一日不读书
读书是一种态度,一种习惯,不可三天打渔,两天晒网;有人说,读万卷书不如行万里路,行万里路不如阅人无数,可是朋友们,不可一日不读书。
2、独立而连续的读书时间
读书和看新闻、文章不同,不要期待每天利用碎片时间读完一本书,不要期待在公交车、地铁上读完一本书,即使读完,效率也极其低下。要想办法,给自己一块[……]
《创新者的窘境》读书笔记
很喜欢这本书,感觉这是我目前为止读过的最棒的商业书籍,感谢作者带来这么精彩的思考。
与其他描述企业失败的书籍不同,这本书所研究的企业不是那些管理不善或技术不足的一般企业,而是那些以管理完善、技术卓越、认真倾听消费者声音闻名的著名企业。
但他们仍然在面对某些市场和技术变化时,错失机遇,从而丧失领先地位,甚至一蹶不振。
这些企业为什么会失败?为了解答这个问题,作者构建了一个失败理论框架,它基于三个发现,以价值网为核心思想,并以企业向下流动障碍的观点解释了一个曾经的破坏性创新者是如何陷入的窘境;之后作者详细介绍了破坏性创新的五大原则,并对每种原则给出了建议的解决方案。
以下是按观点划分的小段[……]
【收藏】Paul Graham:百年语言
【分享理由】在我看来,Paul Graham是一个典型的工匠,也只有工匠才会跳出编程这项工作去思考一些更加本质的问题。我为什么要学这门语言?找工作?项目中用到?可它本身是用来干什么的呢?为什么这么设计?它能实现我想做的任务吗?在各种论坛里总能找着争论哪种语言好坏的帖子,通常都不会有结果,因为大多数语言在一定的时间、空间背景下都有它存在的道理。很喜欢文中的一句话:低效的软件不是拙劣的,真正拙劣的是使程序员做不必要的工作的语言。
百年语言
Paul Graham 2003年4月
(本文出自2003年Python大会上的一篇主题讲话)
译者:Sander
很难预测人们的生活在一百年后会是什么样子[……]
程序员的四种类型
不是每一个写代码的都是程序员。这里,我把程序员定义为以编程为生的人。我认为世界上存在四类程序员:科学家、码农、专家和工匠。下面我一一介绍自己的观点。
科学家,与其说他们是程序员,不如说他们是数学家。他们发明了各种理论、算法和术语,教科书上那冗长的证明和计算也出自他们之手,其他的程序员都或多或少受益于他们的成果。有时,他们的一篇论文能改变整个业界的思维方式,但他们通常不会也不喜欢把那惊世骇俗的理论商业化。相比之下,他们更喜欢沉浸在科学的象牙塔里,自得其乐,好不快活。他们是程序员中最不经常写程序的人,甚至有一些大师一辈子都没写过程序,你也许认为这违反了我们开头对程序员的定义,可谁说编程[……]