看了年初写的总结,主要还是在于环境的搭建,底层的支撑。所做的事,大部分是从无到有的过程。这次继续参与项目,基本上是在搞业务层的东西。当然,除了研发外,还在做项目管理方面的工作。

由于精力分散了,不能花很多心思专门深究一项技术。很多时候,在写代码时被各种事干扰。
1、利用FFMPEG将h.264转成AVI封装格式的视频文件,然后传输到FTP服务器上。虽然网上文章很多,但都不符合项目应用。因为转换后的视频不能存放到磁盘上。FFMPEG支持FTP协议,但官网上说使用FTP协议会有问题。本质上还是FTP服务器对seek的不同表示的问题。无奈只好将转换的视频放到内存中再进行传输。从开始搞到最终解决,耗时2周多吧,中间还杂着部门一些任务。
2、FTP模块。这个模块是我大约4年前写,但经过多人之手,有些代码已经无从追踪根源了。这次有个不严谨造成的Bug。别人修改后,把我的超时时间单位由秒改为毫秒,但注释没改,同时删除了原有的send和receive函数的超时机制。后来我参考自己写的代码加进去,但没有留意到时间单位。后期测试发现设备开启FTP后有概率卡死,就是因为超时时间单位引发的,原本是5000毫秒变成了5000秒。另外新学到的是实现FTP的主动模式。原有代码只有被动模式,但项目需求方硬要加上主动模式,于是也学习了一下,做了些笔记。不过,实践发现,在传输时,还是被动模式相对好一些。
3、汉字编码问题。关于汉字编码,几年前就有接触,但工作上似乎不太需要,就没再研究了。只是在做汉字叠加时,研究过freetype,了解过unicode。这次又遇到了。sqlite数据库使用UTF8编码,而之前一直使用GB2312,查询数字和英文无问题,但当查询汉字时,就发现精准度不高。为了解决问题,使用UTF8,而由此带来的兼容性问题,又花费了很多时间实现。以后再遇到涉及汉字的东西,就要打起十二分精神。不过编码问题不是我解决的。我遇到的问题是传输带中英文字符到FTP服务器保存为TXT文件时会出现乱码,这还是无意中发现的,最后使用UTF8编码解决。测试验证后发现M$系统中的notepad都会有这问题。当保存的TXT有liantong、lanlu这类拼音的汉字时,会有乱码。不要问为什么会发现,谁叫我遇到“蓝鲁”的车牌呢。
4、除了上面的,就没有学到新技术了。由于人手问题,工程里很多模块都粗略过了一遍,当然不很熟悉,但至少,人家反映有问题,我也能大概知道是哪里有问题。无论怎样,也算对公司的架构有了解了。而在项目过程中,还遇到了一些已有工程架构代码的隐藏的bug。在验证、解决过程,也锻炼了我的能力。在业务架构诞生之时,我还在写外设接口,和业务程序无缘,后来慢慢发展,我还在写外设接口。如今主刀的人,要么走了,要么在做其它事。还好,最后能找到原因并解决。
5、再要说一点的就是,感谢粘人的各位同事,有问题第一时间问我。我也迫于面子和压力,要迅速做出反应,或是当面回复,或是自己看代码或百度后回复。这锻炼了我的分析问题能力。当问题发现时,第一时间要确定环境、条件,比如是在什么系统出现的,做了什么步骤后出现的,有概率出现还是必现,有无日志。其次,要初步定位涉及到的模块,因为不确定问题出在哪里,各方面都有可能,比如上位机、网络传输、设备端业务层、设备底层驱动、设备硬件问题,等等。定位后,再进一步排查、调试,直到问题解决。当然,有些问题最后的结果可能会让人吃一惊,因为可能是一些小疏忽造成的。但往往要花费大量时间排查,如果记录了,积累了,就成为属于自己的经验了。

对于项目管理,我做得很差。还是人手问题,我的主业是研发,其次才是项目管理。为此没少挨有关方面的抨击。如果要说学习到的东西,就是各种开会、各种扯皮都提高我的应变能力和找借口能力。另外我验证了公司流程制度的权威性(宁可花时间也要按流程走,但时间又怪到项目经理头上),也验证了某些部门在公司地位的不可挑战性(只要某些部门验收不合格,就无法结项)。

说归说,事实上无论怎样,我还是从中学到不少东西,感谢公司的这次机会。

李迟 2015.9.3晚

我参与的一个项目的继续总结:技术篇相关推荐

  1. 我参与的一个项目总结

    最近参与的一个项目阶段性结束了,从去年9月到今年2月,进行了整整5个月.下面是我的总结. 一. 1.比较完整地参与到项目中来,进行了需求分析.概要设计.编码实现.测试等环节,对软件工程的科学性有了更进 ...

  2. 我参与的一个项目的继续总结:牢骚篇

    李迟按: 今年2月份我对自己参与的项目进行了个人总结,但这个项目陆续地进行,直到现在的8月份.9月份.出于习惯,继续写总结. 这是一篇牢骚文章,作为步入中年的人,似乎不应该如此.但我觉得自己还年经,有 ...

  3. 我参与的一个项目的继续总结:经验篇

    李迟按: 我看了很多关于项目管理的文章,但发现文章说的和我实际上做的,出入很大.后来和同样做项目经理的同事讨论,发现一个秘密:我们只是临时工,临时兼职项目经理.对于项目经理的权力,权利,均是官方套话. ...

  4. 我参与的一个x86平台项目的经历

    今年是第一次完整参与一个项目的方方面面--当然,是站在开发人员的角度的,至于市场需求收集,采购元件生产,新品发布,销售拿钱,就不可能有我的份了.以前参与项目,都是只负责一点点东西,而且中后期完全处于边 ...

  5. 一个项目在启动前都应该明确哪些事

    前言 广告系统在之前很长一段时间都是依赖用户主动行为进行查询透出以达到效果. 但随着用户和模式的成熟,主动模式几乎达到了业务瓶颈,这就需要采用更智能的方式,比如推荐,去引导和促进用户发生转化,提升效果 ...

  6. 好的开始是成功的一半 -- 怎么做好一个项目的启动...

    俗话说号的开始是成功的一半,管理一个项目也同样是这样,很多的时候,项目运行中的遇到的问题往往就是在填项目启动时所埋的坑.一个好的项目启动能极大的提高项目成功的概率,避免项目过程中很多的风险.这里我简单 ...

  7. 一个项目中能提出哪些数据库优化_如何有效进行项目集管理?

    随着企业的扩张,业务往来日益增多,企业同时开展多个项目是不可避免的,如何有效进行多项目管理,是许多企业急需解决的问题. 这一趋势导致多项目管理角色的兴起.它与项目高效和谐地配合,为企业的快速发展提供了 ...

  8. 如何在github上fork一个项目来贡献代码以及同步原作者的修改

    如何在github上fork一个项目来贡献代码以及同步原作者的修改 作为一个IT人,通过github进行学习是最快的成长手段.我们可以浏览别人的优秀代码.但只看不动手还是成长得很慢,因此为别人贡献代码 ...

  9. 怎样学会科学的调研并启动一个项目

    文章首发于微信公众号<有三AI> [深度学习图像项目实战-从入门到上线1]怎样学会科学的调研并启动一个项目 00 导读 每一个项目的第一步就是立项,立项需要进行充分的调研才能确定是否值得启 ...

最新文章

  1. 10张图带你深入理解Docker容器和镜像--云平台技术栈07
  2. 优秀博士生与普通博士生差距能有多大?
  3. Eclipse SVN冲突详细解决方案
  4. Java三大特性之封装
  5. matlab中的square函数
  6. C++ POD与结构体声明
  7. 7-2 页面置换算法--LRU (50 分)
  8. 一加WarpTen技术今日发布:全新旗舰一加7将搭载
  9. python装饰器 property_介绍Python的@property装饰器的用法
  10. opencv-api approxPolyDP
  11. Oracle注入点信息基本检测
  12. Web的Cookies,Session,Application
  13. [UPF]理解UPF功率域和域边界
  14. 前台请求报:ERR_EMPTY_RESPONSE错误
  15. cas和saml_结合使用SAML安全令牌和Microsoft Web Services增强功能
  16. iterator的用法
  17. 基于html+css的内容旋转
  18. live.com与live.cn邮箱收不到QQ绑定激活信的解决方法
  19. linux停止编译进程,linux – 如何继续编译?
  20. 为什么xp系统访问不了服务器,XP系统不能访问局域网其他电脑

热门文章

  1. mediarecorder 录制的文件无法拖动进度条_如何下载网络ts视频文件
  2. 中国最让人脸红的节目:爆火14年的湿身诱惑,为何还没被叫停?
  3. 中汽中心软件测评中心与紫光国微达成芯片认证合作
  4. 苹果第三代iPhone SE或将于12月份开始投产 明年春季发布
  5. 微信圈子将于12月28日停止运营,网友:不是微信朋友圈?
  6. 1年狂赚500亿!中国最土豪的省,究竟是如何称霸全球的?
  7. 高德再回应导航错误致景区严重拥堵 这次复盘了事件原因
  8. 号称骁龙865压轴旗舰!如今降价600依然卖不动...
  9. 外媒称三星已对苹果折叠屏订单进行采样
  10. 沃尔沃主动召回40万台车,只因一个罕见的问题