自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

常高伟的专栏

关注软件开发和技术中人的因素

原创 rtmp官方协议详解

标准规范学习:rtmp消息结构,包括几个部分:时戳:4  byte,单位毫秒。超过最大值后会翻转。长度:消息负载的长度。类型ID:Type Id 一部分ID范围用于rtmp的控制信令。还有一部分可以供上层使用,rtmp只是透传。这样可以方便的在rtmp上进行扩展。消息流ID:Message Stream ID,用于区分不同流的消息。两个ID的区别:Message stream:传输消息的逻辑通道。

2016-04-26 10:00:19 22679 3

原创 FLV文件格式官方规范详解

——如果要学习一个新的知识点,官方手册可能是最快的途径。查看网上其他人的总结也许入门更快,但是要准确,深入,完整,还是要看官方手册。以下内容来自对官方文档Video File Format SpecificationVersion 10的分析总结。过程中借助ffmpeg实际转换了一个flv文件用例研究。一个FLV文件,每种类型的tag都属于一个流,也就是一个flv文件最多只有一个音频流,一个视频流

2016-04-25 16:41:27 25821

原创 这两天对OKR简单总结

根据两天的学习对OKR进行一个总结。1、OKR的本质是目标管理。公司制定公司的战略目标,需要全体员工都能够聚焦到这个目标上来并且形成最大的合力。公司制定公司层面的OKR,然后员工根据公司的目标,设定能够为公司带来最大impact的目标。目标必须有挑战。OKR是让员工在工作中始终能够专注于最终目标的工具。OKR是对象目标,而不是指令。指令在流水线下运行良好,但是在创造性工作中无能为力。这也是KPI为

2016-02-19 17:46:14 13113

原创 万恶的KPI、新兴的OKR及让人纠结的程序员考核

最近两天在研究研发部门如何进行绩效管理(其实一直都在思考,关注,实践,总感觉无从下手,也想求助咨询公司,无奈囊中羞涩)。查了两天的资料,主要的方向是KPI,OKR,谷歌等互联网公司的考核方法。这里做个简单的整理与总结,记录一些自己思考的结论。1、KPI万恶论说KPI毁了索尼都是扯淡,很多大公司如BAT都在用KPI,发展有目共睹,虽然网上曝出各种弊端,但是没有KPI可能更差。企业的生老病死也是自然规

2016-02-18 21:18:12 17570 1

原创 管理点滴(一)

平时自己工作中想到就马上记录下来的东西,没有详细展开。管理者的目标是提高整体的效率,而非自己解决问题 “当我编码的时候,是对公司贡献最小的时候。” 研发负责人更重要的任务是提升研发整体的资源利用率。打造一个高效的研发团队。 即时启动新的项目,明确项目目标,提升人力资源使用率,加强技术评审。管理者的安全感: 作为一个管理者或者领袖,一定要有一颗大心脏,要有坚定的发自内心的安全感。这一点很重要,

2016-01-25 20:15:44 2411 3

原创 为什么要读书,有没有替代方法

从我的理解上谈一下为什么要读书,以及读书的替代品。读书的好处与本质:好处很明显,增长知识和阅历,锻炼人的思想,提升专业技能。为什么读书有这些好处,这就涉及到读书的本质:读书本质上是跨越时间和空间的局限和作者进行思想交流的过程。有一句话说的很好:我们无法增加生命的长度,但是可以增加生命的宽度。而读书则是增加生命宽度成本非常低的一种方式。读小说可以让我们体验主人公的人生经历;读哲学可以锻炼人的思想;读

2015-04-07 21:13:05 3038 2

原创 《跨界》学习笔记

跨界 笔记1.未来设备之间的连接将会改变现有的模式和生态。出现大量机会。2.在互联网向传统行业渗透的过程中,传统行业未必没有机会。他们需要升级,利用互联网进行升级,变成传统行业2.0。互联网将会消失,因为一切都是互联网。3.在线教育,千亿市值。价格不是决定因素,质量至关重要。传统公司掌握核心资源,但是如果不迅速转变行业地位堪忧。4.互联网金融,p2p前景不错。5.3D打印精密制造还不可以。6.随着

2015-03-05 22:02:50 3219 1

原创 选拨管理者的一个必要条件

作为一名合格的管理者,必须易于激励易于激发热情,能够用正能量消灭负能量,并将热情和正能量传递给你的下属。作为一名优秀的管理者或领袖,他自身必须是自我激励,自我实现的。推动其努力前进的是其内在的动力,努力去实现自我价值,而不是来自于外部的激励或动力。除此之外,还要善于去激励你的下属,优秀的管理者自己必须是发动机,要能够为为你的下属提供动力,自身不需要外界动力。我们都必须成为一名合格的管理者,努力成为

2015-03-05 21:52:32 2660

原创 团队管理的简单总结:少即是多,体力透支,负能量管理,自我进化团队,沟通

今天读了三篇关于管理的文章,做了些简单的总结。读《腾讯资深产品经理:团队管理的心得》1)考核同时看最终业绩与个人提升。不同阶段有不同比重。——还要在实践中思考。2)在新员工培训上,目前还是统一培训投入大,到项目组内部是,缺少一个很好的计划与跟踪。真正的做事情是提升最快的方式。在这一方面要建立一个计划、跟踪考核机制才对。3)作为leader,要提升自己的能力。严于律己,宽以待人。4)团队的流程建设,

2015-02-08 22:34:48 3560 2

原创 我的2015计划,目标

很久没有做年度的计划了。 最近心态变化很大,生活方式也改变了很多。 以后要做个文艺青年,内心很丰富,充实。突然感觉有几年没有在记忆中留下什么难忘的体验。人生就是一次关于体验的旅行,希望自己的旅程足够精彩。 所以,2015,有个计划。

2015-02-06 23:17:24 3133 3

原创 关于研发核心团队建设的一些思考

核心团队是什么?举一个简单的比喻,就如果把公司比作一棵大树,核心团队就是大树的枝干。寒冬来袭,树叶尽落,只要枝干还在,春天来的时候还会发芽。核心团队是公司发展壮大和东山再起的核心力量。核心团队建设的根本目的是为了留住人才,用好人才,特别是优秀人才。有篇文章写得很好:“很多企业经常犯的错误是业绩越差,越不给加工资,工资不涨,优秀的员工肯定要走,剩下的都是比较差的。即使做的再差,也要加工资,不过可以减

2015-01-27 22:22:45 7153

原创 初级管理者向高级管理者进阶的注意事项

微信中读了一篇不错的文章:反思|为什么你当不了高管?一文看懂高级经理人与普通管理者的差异。总结如下:总结:1、对待下属态度:不是很同意,这可能是针对职业经理人的。有很多创业者比如任正非其实态度并不好的,但是无法阻止他们成为卓越领导。这个问题要看每个人的实际情况。有一点倒是很重要的,就是员工做错了,没有完成任务的时候要能够管理自己的负面情绪,不要让自己变成负能量的中心和扩散源。2、工作追求:关于海底

2015-01-06 21:27:27 3624

原创 2014年底和之前同时讨论研发绩效考核的总结

几点总结:1、他从目前公司的考核来看,也存在很大一部分的主观因素,也就是,完全使用量化是不大可以的,特别是针对个人的时候。针对整个产品或大的部门量化指标还是可以的。要结合主观。2、考核会有导向作用,要防止一种情况出现:“不做事就不犯错”。要同时平衡工作量和工作质量。以我们目前的阶段,要鼓励拓展,这个要在指标中体现出来。3、项目很大的时候,不要一个计划做到头,要划分为多个阶段,每个阶段输出一个可视的

2015-01-03 22:35:46 2865

原创 UNIX环境高级编程笔记——高级IO,进程间通信,套接字,高级进程间通信

14 高级IO非阻塞IO:这里我要抽时间看看AIO的使用。记录锁:运行一个进程修改一个文件的一部分的时候,禁止其进程修改统一区域。流在用户经常和设备驱动程序间提供了一个全双工通道。readv和writev:散布读和聚集写。散布读:将文件中的数据一次读到多个缓冲区中;聚集写:将多个缓冲区的数据一次写到文件中。好处是完成统一的操作,可以使用更少的系统调用。readn和writen向管道,fifo,终端

2014-03-15 20:54:46 3426

原创 go学习笔记

go学习笔记初始go异常处理的defer是个不错的特性,虽然说有人反驳说其中的java代码不够合理,但是这种方式确实对c是一个巨大的进步。工程编译根据方便,没有Makefile文件,只要一个go命令即可。但是必须要设置GOPATH路径,这一步能省掉就更好了。顺序编程变量:支持:int,字符串,数组,数组切片,结构体,指针,字典,函数指针。iota:在每次const是初始化为0,每出现一次会自增1。

2014-03-15 20:50:33 5936

原创 DSL:领域特定语言学习笔记 一

第一部分:叙述DSL编程:有人将DSL编程称之为声明式编程。DSL是在模型之上建立的一种更加灵活的对 模型化的理解和使用方式。语义模型是DSL的核心。内部DSL:用通用语言的语法表示DSL,需要安装某种风格使用这种语言。外部DSL:在主程序设计语言之外,用一种单独的语言表示领域专有语言。可以是定制语法,或者遵循另外一种语法,如XML。DSL定义:针对某一领域,具有受限表达性的一种计算机程序设计语言

2014-03-15 20:45:58 47675 1

原创 SIP自动化测试工具测试脚本 DSL语法

一直有构建一个基于DSL的SIP自动化测试工具的想法。正好最近在学习DSL,顺便考虑了一下测试脚本的语法:creat userA set tel = 1002creat userB set tel = 2001userA send invite to userB set sdp_ip = 10.20.1.126, media = g711auserB recv invite from userA

2014-03-15 20:44:27 5961 1

原创 用python协程设计语音通信类后端程序

开发中的一些总结,有些乱。主要描述,如果使用Python协程,该如何设计tsapi程序。为最终的调度设计积累一部分的经验,并且,最终形成一个框架,在这个框架上,可以方便的新增新的功能,让其他的员工不再对Python协程望而生畏。1、整个框架主要的部分是call模块,主要负责呼叫流程的控制。它把对asapi的调用全部集中到一个模块中,可以实现对模块的封装,便于以后的替换。2、call模块和上层模块的

2014-03-15 20:35:11 4366

原创 timerfd使用总结

timerfd是Linux为用户程序提供的一个定时器接口。这个接口基于文件描述符,通过文件描述符的可读事件进行超时通知,所以能够被用于select/poll的应用场景。timerfd是linux内核2.6.25版本中加入的借口。timerfd、eventfd、signalfd配合epoll使用,可以构造出一个零轮询的程序,但程序没有处理的事件时,程序是被阻塞的。这样的话在某些移动设备上程序更省电。

2014-03-15 20:27:16 23119 3

原创 临时记录些东西

Vitamio——http://www.vitamio.org/mediacodec是支持视频硬解码的。

2014-01-04 19:52:33 1652

原创 研发管理:与员工一对一交流的执行与反思

一对一交流的想法来源两篇文章:《与员工一对一交流:企业经营必行之道》,《你知道我今天为什么来公司上班吗?》。重要性这里不再赘述。认为不重要的可以使用这样的逻辑思考:1、  你是否想让你的直接领导找你沟通,并且说出你的真实想法?2、  想怎么样被管理,就怎么样管理别人。 按照这两篇文章的思路,我进行了一次员工的面谈,这里总结一下其中的经验。 具体操作首先,这次面谈是由我一个人来完成的,面谈的对象包括

2013-04-26 09:03:17 4953 10

原创 研发管理:关于产品质量的一些思考

前注:本文中针对的我们公司研发的一些问题的思考,以及我给出的一些解决方案。如果你有更好的方案,希望能够介绍给我。1、  现状:在新产品开发和维护过程中,经常会遇到产品质量的问题。一种情况是在新产品开发时遗留的bug,还有一种情况是维护过程中引入的新的bug。2、  原因:这个现状的原因有两个方面。一是资深研发人员的流失,这是客观方面的原因,这里不再多说(留住人才有很多的影响因素,很多不是我能够掌控

2013-03-31 21:59:29 9603 12

原创 APUE学习笔记——线程控制

线程属性使用的是结构体ptread_attr_t,它对应用程序是不透明的,这样可以增强程序的可移植性。 可以使用ptread_attr_init进行初始化,使用ptread_attr_destroy进行反初始化(类似于释放操作)。两者必须配对出现。 如果要修改ptread_attr_t,必须调用相应的函数。 如果不关心线程的终止状态,可以将线程设置成分离状态(PTREAD_CRETE_DETACH

2013-03-02 21:46:26 2512

原创 APUE学习笔记——线程

采用多线程模式可以采用同步编程,而非异步编程,可以简化编程;多个进程间可以很方便的共享数据; 可以通过pthread_self获得自身的线程ID。线程ID只在进程内部唯一。 新创建线程不能保证那个线程先运行,新县城可以访问进程的地址空间,继承线程的浮点环境和信号屏蔽字。 如果任意一个线程调用:exit,_Exit,_exit,进程都会终止。 线程终止方式:1)从启动函数中返回,返回值就是线程的退出

2013-03-02 21:43:32 2970

原创 APUE学习笔记——信号

信号可以自己扩展。 信号产生:1)用户操作:ctl+c;2)硬件异常:除0,内存越界等;3)进程调用kill函数可以将信号发送到另一个进程。4)用户使用kill命令。5)某软件条件产生。 信号处理: 忽略,但是SIGKILL和SIGSTOP不可以忽略,他们向超级用户提供了进程终止或停止的可靠方法。硬件产生异常也不可以忽略。使用SIG_IGN忽略。 捕捉信号,为信号注册一个函数。SIGKILL

2013-03-02 21:42:17 2322

原创 《技术领导者》学习笔记1——定义,模型,解决问题方式

前记:这两天看楚汉传奇,到目前为止得出几个观点:一个是时势造英雄,实践出人才。在我之前的一个博客中有体现(http://blog.csdn.net/chgaowei/article/details/6041734)。二是一个领导人,必须要敢于担当,敢于承担责任。三是团队中不一定都是顶级人才,但要互补。刘邦旁边为何那么多的人才汇集?并非是什么优秀的人才都会和优秀的人才在一起,而是他们在一起经过同样的

2013-03-02 21:38:38 2649

原创 C语言中结构体的初始化

《代码大全》建议在变量定义的时候进行初始化,但是很多人,特别是新人对结构体或者结构体数组定义是一般不会初始化,或者不知道怎么初始化。1、初始化typedef struct _TEST_T {        int i;        char c[10];}TEST_T;TEST_T gst  = {1, “12345”};//可以初始化,设置i为1,s为一个字符串.TEST_T gst  = {

2013-03-02 21:23:12 87239 5

原创 读马云专访的几点笔记与心得

读马云专访的几点心得,原文:http://tech.sina.com.cn/i/2013-01-06/17027951221.shtml几点心得:1、上世纪是管理人,本世纪是自我管理。软件开发中也很早就有自组织的观念。 2、老人做新事,新人做老事。 软件研发中的人员搭配可以参考一下。3、新人的成长,一定要给他们机会去实践,去犯错才能成长。——实践是人才成长的一个重要因素,只是让人郁闷的是我们种的庄

2013-03-02 21:13:31 3799 1

原创 python开发总结六——c程序员python之路

前言学习使用python已经一年,自从看了python简明教程后就开始使用python编码,并且在两个项目中尝试使用了。在使用的过程中遇到问题就查资料,边学边写,并且把自己学到的东西总结下来,不知不觉已经有三十多页。虽然到目前为止还没有完整的看过一本全面python文档,但我认为这种方式可能更适合用来学习新的语言。之前发表过一些,这次各个部分均有更新,并且新增了python性能相关总结。电子版下载

2012-09-21 22:58:55 8007 2

原创 如何查看进程的实际的内存占用

top命令可以查看进程内存的使用,但是不够详细。还有一些命令可以进行更加详细的查看。[root@localhost ~]# cat /proc/5606/statusName:   switch4State:  S (sleeping)Tgid:   5606Pid:    5606PPid:   1TracerPid:      0Uid:    0       0       0

2012-09-20 21:30:21 15480

原创 最近项目总结

好吧,我这个人平时想的有点多。下面是一个项目管理的总结。1、要把所有人的积极性调动起来,而不是自己一个的积极主动2、要善于借助人的力量,而不是凭借一己之力完成。项目leader不要写大量的代码,可能会影响项目的推动。3、把各个模块分给不同的人去设计,去思考细节,而不是事无巨细都自己来完成。4、思考一下为什么设计方案变化总是很多。5、分配任务的时候,是不是没有指定任务的完成时间,让他们自己去安排任务

2012-09-20 21:29:29 2553 1

原创 APUE学习笔记——进程控制

1. getpid可以获取进程id。getppid可以获取进程调用进程的id。 2. fork函数:一次调用,两次返回:返回0是在子进程中。返回其他值在父进程中。如果大于0为子进程id;否则失败。 3. 子进程获得了父进程的数据空间(DATA,BSS),堆,栈的副本。进程之间共享正文段。 4. 目前的实现一般不进行全部复制,而实现的是写时复制:及经常只读共享部分,一个进程去更改一块内存是,为这块内

2012-09-20 21:27:20 1825

原创 杭州ADC技术嘉年华两日总结-SOA,去C

前言:这篇文章写作过程断断续续持续了两个月,终于写完了,最近事情有些多。这次技术会议的主办方虽然是阿里巴巴,但是还有很多其他的互联网企业,比如百度,新浪,腾讯,盛大,360,小米。会议共有两天,主要面向互联网技术,参与者也大多是互联网公司从业者。人还比较多,讨论也比较活跃。我主要参与的是aDev(应用架构和后端技术),这里简单总结一下:1、SOA的落地。记得Infoq上一篇文章曾说过:大意是,当一

2012-09-18 22:07:55 6955 6

原创 c初学者练习程序需求

所有程序基于linux平台。1、文件夹和目录拷贝工具制作一个工具,可以拷贝文件和目录。可以通过命令:cp filesrc filedst,将源文件filesrc复制为filedst。2、训练文件操作和字符串处理。文件读写以及字符串处理在c中应用很多。特别是字符串的拷贝,链接,查找等等。训练的题目是配置文件的读写:有一个配置文件:test.ini,格式及内容如下:#表示后面的内容是注释db_ip =

2012-07-16 21:37:07 2480 1

原创 服务框架初步想法

不知道这样好不好,在做一个事情的时候,总是想上一下网,看一下技术。而看到一个技术点,总会不自觉的研究一下,搜索一下相关的内容。这样对工作效率会有影响的。后面要注意啊。刚才看服务框架。把底层的组件、功能服务化,对业务层提供统一的开发接口(将异构的开发接口统一为服务)。这样做的好处:1、避免重复开发。将很多公共的东西,抽象构造为服务。2、对应用系统,降低开发复杂度。一起要连接很多提供服务的实体,现在,

2012-07-03 11:36:28 2125

原创 python perl脚本经过cvs提交后无法直接执行解决

python perl脚本经过cvs提交后无法直接执行python perl脚本经过cvs提交后无法直接执行原因是windows下换行和linux下换行时不一样的。而Eclipse在提交的时候,设置的又是ASCII格式。解决的方法是:1、设置Eclipse工程属性,换行类型为Unix2、设置Eclipse的cvs属性:把脚本的类型设置为二进制,而不是ASCII。如果已经是无法执行了,可以通过下面的

2012-07-03 11:34:43 1741

原创 实际测试下文件IO,有一个感性认识

环境(戴尔服务器):cpu:4核3.1GHZ; 内存:4G 1.        写文件速度测试结果(测试时间:10S)环境:死循环进行写文件,随着循环轮询每个文件,每次循环把内容写入轮到的这个文件条件(轮询写文件的个数)结果(文件大小总和:单位G)11.5021.441001.395001.3510001.3120001.2430001.2050001.15上面是单线程模式。后面又尝试了一下多线程

2012-07-03 11:28:29 2003

原创 近期一些思考,想法

1、基于消息的架构。关注一下GPB,erlang的ROITMQ,thrift。用它做一个业务平台。2、自动化测试框架。利用在Python协程方面的积累,做一个面向SIP的,端到端的自动化测试框架。3、引入一套强制代码review工具,比如reviewbar。4、内存数据库,看是否可以使用,来实现热备。5、用Python来写CGI。6、为公司写一个web网站,功能包括:任务管理,日报,周报,微博,博

2012-07-03 11:24:54 1637

原创 APUE学习笔记——进程环境

在main中调用exit(1)和reutrn 1是等价的。内核启动一个进程的唯一的方法是调用exec,用户程序终止进程的唯一方法是显示或者隐式的调用_exit或者_EXIT。每个进程都会有一个进程表。进程表是一个全局的指针:environ。extern char **environ可以查看这个环境表。另外,可以通过getenv和putenv来获取修改环境表。写个程序试一下。linux的段:linu

2012-07-03 11:23:28 2508

原创 python协程及应用(一):简介

前言:我一直在关注如何让开发变得更容易,效率更高,更不易出错。之前做过类似的努力,结合SOA和工作流引擎做的一个流程编辑:http://blog.csdn.net/chgaowei/article/category/597366。它有它自身的缺陷:脚本和程序之间的耦合太大,脚本限制太多。后来接触并且学习Python,它简洁而强大,应该是解决这类问题的一个思路。那天看到Python自带的生成器yie

2012-06-21 07:53:11 6952

提示
确定要删除当前文章?
取消 删除