owenzhang的博客

owenzhang的博客

学习笔记和思考感悟

loading
PM总结(1)

在[去年带项目]之后又带了一个项目,开始以为有了一定经验一切都能搞定了,不过发现又上了一课。还是有很多需要提高的,遇到了新的问题,而且还应该有要以后遇到的,先总结下现阶段,为以后做些积累。

关于健康
在《工作一年感悟》中就说过,最终的要是健康。只有身体是最终的本钱,在身体面前,别的都可以放一放。 如果发现身体有问题了,再急的工作都可以放到一边,看的很重的事情也马上就可以放到脑后,很多觉得有时间的事情也变成了立即去办。 要保护好身体,保持健康。 上班每天都在家和办公室之间来回,基本上一座就是一天,没有什么运动。前几天看过一篇文章《坐的越久,死的越快》也是有道理了。要多运动,能走动就多走动下。有的人说,我忙啊,哪有时间。其实运动花不了我们多少时间,办公室坐一小时打杯水,走一下,不算什么,周末爬个山,打个篮球,看起来是多花了点时间,实际对是节省时间。不生病能生多少时间和金钱啊,另外运动的过...
警惕:函数被定义或声明前被调用

如果一个函数在被定义或声明前被调用,那么返回类型就默认为整型!有时会产生预想不到的结果,而且很难发现错误。

在编译C程序时要加如-Wall选项,不要放过一个warning,调用的函数要引用相应的头文件,在头文件中有函数声明。

最好是加上-Werror选项,要保持代码没warning。

C语言使用inline函数

在C语言中定义inline函数,如果有多个文件包含并在一起用gcc编译会出现重复定义的错误,但是使用g++则不会。先上代码展示问题。

《深入理解计算机系统》读书笔记0

为什么要读这本书?

《深入理解计算机系统》英文名《computer system: A programmer’s perspective》。从程序员的角度来理解计算机系统。为程序员描述计算机系统的实现细节。可以对程序的整体,在计算机系统内部运行的细节都熟悉。可以开发出高效,健壮的程序,并且可以更快地排除程序错误,调整性能。以上这些对于一名程序员来说诱惑是很大的,如果只专注于应用程序的实现,而不熟悉运行在下面的系统知识,不是一个完美的programmer。

读取文件的几个函数
http://man.chinaunix.net/develop/c&c++/linux_c/default.htm 使用场景:一个文件,一行一个号码,读取并对号码进行操作。 在c语言里,可以使用fscanf,或fgets、getline配合strtoul进行操作。 int fscanf(FILE * stream ,const char *format,….); fscanf()会自参数stream的文件流中读取字符串,再根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结构存于对应的参数内。 调用的时候如果有非数字出现,会使程序卡住...
换一种思路,路更开阔
  以前处理的协议都是二进制的协议,会有根据字段的值不同填写不同的结构的情况。后来要做一个网页模拟打包工具,按某位的值填写好麻烦,要不停地判断填写的值然后给出各种选择。后来研究了一下protobuf协议,还想要是以后用pb这种情况怎么处理。突然发现,原来pb就不用这么处理了,因为在pb中什么字段都是用tlv方式存储的,你要添加那就写进去,如果不添加就空着。其实以前的网页也可以简单的实现,就是把所有字段都暴露给填写者,最后根据他选择填的字段再组包,虽然不优雅,也算十个取巧的方式。    以前也一直局限于单进程模型,后来接触到RPC,觉得这东西怎么能做成异步的呢?后来才发现,原来可以用多线程...
程序员杂想

以前看过一篇关于程序员为什么很少受到尊重的一篇文章,大意是程序员之前不会互相尊重,总认为别的程序员不好。像从前一个同事说过,程序员之间就像文人,互相不看中。但我觉得程序员和其他职业也没有什么差别,类似发生的事情在厨师、医生……职业都会遇见。还是和具体的人有关,要转变观念,寻求一种职业的追求和素养,程序员之间才能合作愉快,创造出更大的价值。

时间管理
如何提升定时能力:1.练习判断时间。看自己到底判断的如何。2.利用琐碎时间做事。一来节省时间,而来防止拖延找借口。3.预防意外,提前发现风险。4.委派任务。尽可能让别人帮你做你不必要做的事。5.懂的事件的取舍。不要用自己一直忙来拖延时间!!!6.享受自由的时间。
avatar
owenzhang
一个热爱学习和生活的程序员大叔