坚信科学,分享技术

>>>尝试更加利于阅读的2014版科学院,以后都在新版上写。

Category Archives: 资料文档

这里有原创翻译的经典文献资料,以及各种技术文档。

创业启示录

创业公司之痛 某某公司上市,A君扯旗创业,由A君朋友OR亲戚投资人投资,拉走某某公司原团队人马十几号人。 第一个月,山盟海誓。有某资源,可做某大事。大家走起。git、svn、php、java、rabbitmq、tomcat、nginx、iOS、android,一人分多角,身兼数职。轰轰烈烈,搞起。 第三个月,产品咋还不出来,出钱的原传统行业投资人略恼。 第六个月,同上。 第九个月,继续同上。 第十二个月,出产品了,四不像。投资人痛哭。打算主控方向。 第十五个月,投资人的不转弯方向继续着,人员补充和流失在双向进行,怨声载道、团队骂、投资人骂、没效果! 第N个月,A君提出,是不是我们方向不对,换个方向吧? 。。。 A君多年之后,打来电话,已然转到其他地方,原队伍解散。思考得一句话:大公司出来的,不能一个公司的人在一起,一定要掺点别的味道才有机会。 创业公司到中型公司转型之痛 B君的公司已经上百人了,业务还行,不属于最好,也不属于最差,不过能够养活这几百号人了,业内也对公司看好。 B君这些年走得很稳健,不然活不到现在。 特点是研发线上不可或缺、不乱加人。 兄弟们都是土生土长的土包子,要么是一毕业就来了这里,没见过外面的市面,要么是二三线小公司混过来的,也没见过啥大系统。 hadoop+hive,一个兄弟搞定,统计各业务线兄弟自己来,所有人学一学都会hql语法。 mysql dba,两个兄弟搞定,一个带一个。人均几百个实例。哼哼,平时还要帮着研发审核sql。 deploy、ops,两三个兄弟搞定,也是一个带一个,有专门做工具,有经常半夜起来,或者是打电话叫人,或者是跑机房上机器。

Continue reading

Posted in 资料文档 | Tagged | Leave a comment

庆某会召开,发2012总结

开场致辞 2012年,全年情绪稳定,采取了各种手段遏制了技术水平过快下降势头,共计发出80篇左右博客。 http://www.54chen.com/2012 十大感动我自己内容 1.rose框架使用入门手册连载,详细记载了新手入门java开发框架的过程,用时大概2个月http://www.54chen.com/rose.html 2.cloud foundry代码阅读手记, 记录了所有的ruby学习、cf代码学习、服务器虚拟化文案warden细节,用时大概2个月 http://www.54chen.com/tag/cloud-foundry 3.riak早期代码阅读手记,记录了对分布式存储riak的代码解析过程,相当稳定的一个dynamo产品!http://www.54chen.com/tag/riak 4.好用的搜索文案senseidb使用手记,现在他的作者之一已经来到了小米,而且小米更多员工也成为其项目开发人员。http://www.54chen.com/tag/senseidb 5.linkedin的kafka使用手记,用sensei时学习的好东西,可以用来做日志收集、分发,比scribe的好处在于,它的集群和可配置。http://www.54chen.com/architecture/linkedin-kafka-usage.html 6.用上了git和gitlab。http://www.54chen.com/tag/git 7.学用新语言GO。http://www.54chen.com/document/go-lang-install.html 8.学用新语言r

Continue reading

Posted in 资料文档 | Tagged | Leave a comment

谈谈创业公司的技术选型--朴素的技术观

创业公司的定义 把服务器数量在千台以内(如果存在服务端),或者业务没有爆发过或者是长时间没有爆发过的公司,叫做创业公司。 朴素技术观的定义 有很多看上去很美好的技术,背后都有很多对应的很残酷的事实,在一个创业公司许多选择给你,你可以使用当前最炫的技术,也可以使用团队最擅长的技术。朴素世界观,是指所有选择使用团队最擅长技术的一种观念。 语言 语言之争是最没品了,这里不争哪种语言好哪种语言坏。 这里有一个办法来选择语言:所有团队成员的简历中,出现最多的一种语言为标准。 例外情况:团队成员中有一位大拿,是某门语言的泰斗,不说在国际上,在国内也要有领头羊的成绩。印象中在创业中大量使用GO语言的许式伟大侠是例外中最典型的一个,不过看看人家的成绩,已经把GO摸的一清二楚了。 反例:太多。 以下条件满足可开启反例模式: 1.至少一人完全理解整个语言的语法 2.至少一人完全理解语言精髓 3.至少一人完全掌握此语言常见debug工具 4.至少一人在一个规模较小应用成功使用 存储 这里主要讲服务器的存储。 如何选择:mysql+memcached至少在twitter、renren.com、taobao、qq、sina、baidu......等公司大量使用,如果你团队成员一个都不是来自这些公司,那大胆地用吧,用死也用不出什么毛病来。当然了,十分需要在业务爆发时找到一位可靠的mysql dba,这里要提一下人人网的创始员工DBA刘启荣大侠,引用一句前老板的话:×××无出启荣之右也。 反例:此处省去创业团队名字,有史可考。当年KV十分火爆,某兄弟对cassandra十分感冒,于是在整个系统初期设计时

Continue reading

Posted in 资料文档 | Tagged | Leave a comment

移动互联网必备:各平台自助渠道打包手段公开

移动互联网做app是个酷毙的事情,同等产品条件下比拼的是渠道。怎么样让渠道人员(非技术)快捷地拿到想到的标识有相关渠道信息的包,是个关键的问题。 因为平台不一样,打包手法也不尽相同,下面总结下54chen在工作过程中遇到的问题和解决的办法: 1.android android下无法将一个apk包修改字节流之后apk还重新生效,因为android加key的过程会使这一过程变得无效。 采取的办法:用ant或者maven在对java代码进行build时传入渠道信息。 简单地说:当你有一个xxx渠道的包需要打的时候,后台要做的事情就是 ant -Dchannel=xxx 或者 mvn -U clean package -Dchannel=xxx 2.iphone iphone的正式渠道很少,先说越狱过的: 一个ipa包就是一个标准的zip包,只要在包里放一个channel.txt,保存渠道信息。 简单地说:当你有一个xxx渠道包需要打的时候,后台要做的事情就是打开这个ipa,修改channel.txt的内容为xxx,重新按zip压缩为ipa。 没有越狱过的iphone(占多数): 安装渠道只有一个,那就是appstore。但是推广渠道可能是多个,用户点击后到达appstore,再从appstore下载。这个过程中,ipa包没有办法携带渠道信息,希望apple公司改进。有人用一次跳转记录用户ip,但是不能准确反馈这个渠道的安装量。 3.塞班 sis/sisx的签名比较弱,签好的包,可以在包末尾写入一些字节达到携带渠道信息。 简单地说:当你有一个xxx渠道包需要打的时候,后台要做的事情

Continue reading

Posted in 资料文档 | Tagged | 1 Comment

人肉解析riak_admin join

riak_admin只是一个bash脚本,当riak_admin join被执行时,都是在执行riak_kv_console join。 大概过程分析 riak_kv_console:join => %%入口 riak:Join(Node) => %% 真正执行 riak_core:join(Node) => %%去到riak_core riak_core_gossip:legacy_gossip() => %%通知检查是否是 legacy gossip, riak_core:standard_join(Node,Ring,false) => %%非rejoin 非legacy riak_core_gossip:send_ring(Node, node()) => %% 进入gossip模块发起ring请求 gen_server:cast({?MODULE, FromNode}, {send_ring_to, ToNode}) => %%广而告之 riak_core_gossip:handle_cast({send_ring_to, Node}, State) => %%收到 gen_server:cast({?MODULE, …

Continue reading

Posted in 资料文档 | Tagged | Leave a comment

go语言安装手记

安装 机器环境 centos 5.5 64位机器 有两种编译器,官方的文档是基于Go编译器和工具(6g 8g),另一个是gccgo(后台是gcc)。 工具和编译的对照表: amd64 (a.k.a. x86-64); 6g,6l,6c,6a 386 (a.k.a. x86 or x86-32); 8g,8l,8c,8a arm (a.k.a. ARM); 5g,5l,5c,5a 这是一个坑:Mercurial(hg工具)需要安装,并且要1.7版本以上的。(实际上给个下载的tar包不是可以降低门槛嘛,应该是还在开发状态为了方便使用hg直接升级环境)。折腾这个的人应该不在少数。 hg clone -u release https://go.googlecode.com/hg/ go cd go/src ./all.bash 最后会停在一段时间: --- cd ../test 然后提示: 0 known bugs; …

Continue reading

Posted in 资料文档 | Tagged | 2 Comments

Riak Core说明

什么是riak_core? riak_core是一个单独的OTP应用,提供了所有必须的服务,以完成一个现代化的、表现良好的分布式应用。riak_core开始于Riak的一部分。当代码在建立各种分布式应用普遍有用时,我们决定重构并且分离出来核心部分,使其便于使用。 分布式系统是复杂的,riak_core可以满足这些大量复杂的需求。在深入代码之前,我将分离这些需求为明显的分类,且给出每项的概况。 注:如果你是急性子,想跳过后面的直接读代码,你可以通过hg或者git检出riak_core的代码。 节点存活 & 节点关系 riak_core_node_watcher是负责反馈riak_core_cluster内部节点状态的进程。它使用net_kernel有效地监控了许多节点。riak_core_node_watcher也有能力将一个节点按程序预定踢出cluster。当一个主节点必须临时断电而又不想完全停服的情况,这十分有用。 riak_core_node_watcher还提供了在cluster内广播和定向服务的API。当节点提供了专门的服务,比如CUDA计算节点,这个服务被cluster中的其他的节点所使用,这些API很有用。 riak_core_node_watch_events配合riak_core_node_watcher产生以活跃节点为基础的events,比如说加入或者离开cluster等等。当事人可以注册callback方法,当events被触发时会被调到。 分区 & 分布式工作 riak_core在每个节点上使用了master/worker配置,以

Continue reading

Posted in 资料文档 | Tagged , | Leave a comment

riak 1.0.2安装手记

准备三台机器: r1 r2 r3 准备erlang环境: Erlang >= R14B03 yum install gcc glibc-devel make ncurses-devel openssl-devel $ wget http://erlang.org/download/otp_src_R14B03.tar.gz $ tar zxvf otp_src_R14B03.tar.gz $ cd otp_src_R14B03 $ ./configure && make && sudo make install git环境(看上去是非必须的): yum -y install git 下载地址: http://downloads.basho.com.s3-website-us-east-1.amazonaws.com/riak/CURRENT/riak-1.0.2.tar.gz …

Continue reading

Posted in 资料文档 | Tagged | Leave a comment

velocity2011讲师经验总结及velocity2011的ppt下载

总结: 1)会场有点小,比较热 2)讲的东西为了照顾更多人,比较片面,如果有想听深入的同学,可以参加我们哥学社的吃喝会。 3)会上遇到了douban强宁大侠、安全宝的冯大侠、还有一位来自清华的主任、以及各位一线的朋友恕不能一一列出,深感荣幸。 互联网创业服务器运维工具集 View more presentations from zhen chen.

Continue reading

Posted in 资料文档 | Tagged | 3 Comments

小米科技2012校园招聘行程更新[确定部分场地]

东北 大连理工 西部校区 10/24-25 18:00-22:00 西部校区综合教学2号楼B401 吉林大学 南区 10/26-27 18:00-21:30 李四光楼109教室 哈工大 本部 10/28-29 18:30-22:00 正心楼21室 合肥 中国科学技术大学 西校区 10/31-01 18:30-20:30 西区学生活动中心学术报告厅 广州 华南理工 南校区 11/01--02 19:00-21:30 南校区 A4204室 中山大学 东校区 11/02--03 18:00-21:30 公共教学楼 上海 复旦大学 张江校区 11/02--03 18:30-21:00 张江行政楼106报告厅 …

Continue reading

Posted in 资料文档 | Tagged , | 1 Comment
Page 1 of 3123