Yin Haomin's Blog

Program to change the world

怎么当好一个CTO

一个CTO能否带好团队,能否带出来成绩,其关键在于选择。选择的人是否合适,能否胜任工作,选择是一个长期,而且双向的过程。根本原因在于个人的素质,个人修养,包括CTO的个人能力,发展历程,背后的资源,CTO个人的脾气性格和胸怀。 对于一个CTO的要求,我最近有如下的几点思考: 1.CTO的个人修养 CTO是否是一个追求技术成长的人,是否是一个对产品敏锐的人,是否是一个简单可依赖,虚怀若谷的人,...

How to keep sober-minded

For a long time, when I work hard and sleep less at night, and at the time when getting up next morning, it feels so damn tired, lassitude and sleepy. It is vital for me, as an engineer and manager...

关于Jprotobuf-rpc-socket的讨论

开个Post一起讨论百度的Jprotobuf-rpc-socket 背景说明 考虑多内部系统交互的稳定性,我们一般使用RPC框架进行交互,我在百度开发使用过Baidu Jprotobuf-rpc-socket,这里是User guide。 百度的框架虽然开源了,但是市面上用的太少了,导致资料经验贴和教程等等都太少了,期望自此开始积累Jprotobuf-rpc-socket的使用经验和教程资...

一年之际在于春

2017年过去了,在2017盼望2018,2017却如同急驶向远方的火车一样,轰轰隆隆的过去了。 一年之际在于春,总结一下过往做事情的经验,应用到未来的做事情思路中。幸福是干出来的。 状态总结 工作上竭力搞事情,从0到1搭建系统,再到努力优化,提升系统能力,今年的收益还是比较令人满意的。 博客挖了很多坑,都没有填上。 年龄越来越大,还是没有实现个人的富裕和生活的小康。 今...

我维护的Java的基础知识网站上线

工作越久,发现一些基础知识不能含糊,有些东西会用但是不知为何会这样。想走的更远就必须要有更深入的思考和缜密的态度。 因此,新建了一个github page用于记录平时思考和总结的基础知识。 网站的地址是: http://digbase.yinhaomin.com/ 愿一起成长。 2017年初,夜。

How to design a youtube

How to design a youtube?

How to design an IM

In this blog, I want to explore how to design an IM, for designing and developing a IM system has always been my expectation, thus I have studied some IM system design and tried to design it. Here ...

Talk about singleton

今天来总结下单例模式,Effectice Java书中推荐使用Enum实现单例。然而,我们在实际工作中,依然不习惯,为了将不好的习惯扭过来,我实现了一个使用Enum的单例,并在下面讨论一下,单例的其他实现方式。 单例的Enum实现 我们要实现拿到本机的IP地址。在Enum中我们的代码是这样的: public enum LocalIPAddress { INSTANCE; ...

How to analyze the java memory when wired problems occor?

本位我们讨论下当异常发生的时候,我们怎么分析内存的相关信息。 讨论的内容适用于如下的场景: 程序莫名的Hang,而log中没有相关的日志说明。 程序中出现了OOM 线下测试就避免OOM的问题 相关的排查方法 程序Hang住 除了查看日志以外,还可以查看Java的堆栈 1 jps -lvm或者ps -ef 可以显示出程序,对应的进程号等 jps -lvm ps -...

How to asynchronously call different tasks and drive them by thread

How to asynchronously call different tasks and drive them by thread