工程师最重要的能力

手机响了,是一个实施工程师打过来的,说现场的数据采集不上来,问怎么解决。我问软件的版本,仪器的型号,操作系统的信息,具体的问题描述。我告诉他可能是什么原因,给了一个解决办法,让他尝试一下。他试了一下后,说还是不行,又问怎么办,于是我又给他一个办法,他又去尝试了,反馈回来说还是不行,又问我怎么办。我然后我又给他提供方案,继续解决……终于解决了。

这种场景不是一次两次了,也不是一个人两个人用这样的方式解决问题了。实际上,问题并不复杂,有些甚至很简单,简单到只需要把重启一下软件就可解决的地步。但是,很多人依然不知道怎样解决问题。类似的情况还包括开发人员在编程遇到bug的时候,无[……]

Read more

如何构建物联网数据处理平台(三)

数据从传输子系统流转过来,需要进行存储了。本文主要构建的是存储子系统。
存储子系统是将数据缓存和持久化存储的系统,为上层的应用系统提供数据支撑。存储子系统说起来也很简单,就是”存个数据”,况且数据库也都是现成的,实际上也并非如此简单。一个好的存储子系统至少要满足以下几点:1、兼容性好;2、拓展性强;3、开放性友好。
1、兼容性好,指的是需要支持多种数据库,包括常见的关系型数据库,如Oracle、MySql、SQL Server;还包括NoSql数据库,如MongoDB、Redis;根据项目需要,还要包括一些商业的实时数据库,如国外的PI、国内的Space。做到这一[……]

Read more

加班要让领导看到

偌大一层办公楼,只有我一个人。我在加班。有人跟我说:“加班要让领导看到”。这句话不禁让我想写点东西。
我想问一下“加班为什么要让领导看到?你到底在为谁工作?”。在以前的博客中,我写过对于加班的看法。绝大多数的加班是无意义的,是安排不合理导致的。加班造成了工作效率的下降,效果并不明显。但有时来突然的任务,比如客户计划有变,提前招标,你标书还没准备好,那么类似这样的情况,只能加班了。这无可厚非。但是加班,不一定要让领导看到。如果领导是个不明智的领导,只看表面现象,那么,加班让领导看到还是挺有用的,这适合善于表现,有一定心思的人来做这种事情。这样的领导有,这样的员工也大有人在。我不认为这样的领导配[……]

Read more

如何构建物联网数据平台(二)

通过上一篇构建物联网平台的介绍,我们知道物联网平台离不开数据,没有数据支撑,它无异于空中楼阁。其实,它也离不开数据的”流动”,没有如水般进行数据的输送,数据无法到达它应拥有的舞台,数据这块金子,可能就不会”发光”。因此,构建物联网平台必须有这么一个角色,它专门负责将采集的数据”流动”到指定的目的地,我们可称之为”传输子系统”。

传输子系统是一个”幕后工作者”,即它大多数作为一个后台服务程序,没有界面,默默无闻又任劳任怨,但它的作用却不可小觑。传输子系统说起来也很简单,就是”传个数据”,但实际想构建一个稳定可靠的传输子系统,你可能需要一两年的时间,还不一定做好😓。网络不好,[……]

Read more

如何构建物联网数据处理平台(一)

在日新月异的技术发展下,越来越多的技术涌现在人们的眼前:云计算、物联网、大数据、虚拟现实、增强现实……每一种技术都有它的适用场景,充分理解了技术在业务上体现的辅助手段和方法,才能尽可能的发挥出技术的应用价值。业界对物联网技术没有统一的定义,但各派系/机构对物联网的应用价值有着惊人的一致性,物联网实现万物互联互通,拥有广泛的应用前景。
中国石油集团在十二五期间规划了两个物联网项目,初期建设已完毕,实现了井场各类仪器设备的数据采集、后方存储和综合应用,达到了一定的预期效果。在长达五年的建设周期中,作为工程技术物联网建设的承担者,我们积累了不少经验和教训。今天对如何构建物联网实时数据处理平台做一点[……]

Read more

C++错误集锦

1、Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
expression
很诡异的出现了这个问题。最要命的是使用VS F5调试和Crtl + F5直接运行,确不出现这个错误。只有在生成好的目标路径下双击exe时,才出现这个错误。
一时不知道如何解决。因为无法调试(在调试状态下是正常的),所以不好定位问题所在。最后只能通过printf打日志,注释代码,慢慢试着查找问题。最后定位到qt读写xml的一个函数上。但是这个函数看着又没有任何问题,让人头疼不已。
最后,才发现是库的问题。使用的库不一致导致的。这个exe因为是QT5.6版本开发的,而目标路径下的exe[……]

Read more

VS2015编译kafka

步骤:
1、安装“NuGet”, 下载NuGet.Tools.vsix,安装即可。
2、下载 Win32OpenSSL-1_1_0,安装即可。
因为最开始不是下载Win32OpenSSL-1_1_0直接进行的安装,是编译的openssl,导致走了不少弯路。现将弯路历程记录如下:

由于编译openssl使用的是 “libeay32.lib 和ssleay32.lib”而不是“libeay32MT.lib ssleay32MT.lib”
需要将 配置属性->C/C++->代码生成中的运行库 设置为“多线程 DLL (/MD)”

遇到问题及解决办法:
1、错误 LNK2019 无[……]

Read more

关于项目管理培训

十天前,我参加了公司组织的项目管理培训,现在还是有些感想的。这已经是第16期的项目经理培训了,去年的时候,领导给我报名,我因为家里有事,没有参加;这次还是被报名了。其实我挺反感公司的这项策略,要想带项目,必须通过公司自己组织的项目经理培训考试,外边自己考的PMP或者IPMP,公司不认。因为我已经过了PMP,自认为对项目管理有了一个相对系统的学习,所以始终对公司的这项规定感到困惑。这次之所以参加,是因为我现在想系统的复习一下项目管理的知识了,加上正好挂了一个项目经理的名字,也算是对领导的一个交代,总不能辜负领导的一片好心吧。至于公司的政策,我还是一百个不理解。
这次给我们培训的老师,是[……]

Read more

开发与实施

项目就要上线验收了,从14年下半年起,项目的重心也由开发转变为实施。项目组有几个实施人员,又招了几个外包人员,一块组成了实施队伍。开发的工作计划,也全是围绕着实施工作开展。如果你认为到了实施阶段,开发人员的工作量变少了,不忙了,那你就大错特错了。开发进入了持续完善和改进的状态。确切的说,开发人员的工作安排,没有以前在开发阶段那样集中和可预见了,变得琐碎和无序,甚至给人的感觉是无所事事了。开发人员可能一直在忙,在解决bug,在完善系统,在提升性能,但你的周报就不好写了,你不是已经都做完了吗?怎么还这么多问题?测试不是都通过了吗?那还在改什么?(也许我应该再考虑一下“开发与测试”这个话题)。[……]

Read more

2014年个人总结

2014年总的来说,对我是比较平淡的一年。总结的内容可以归结为几个方面来说,生活、工作、学习、健康等。

生活方面,最大的收获莫过于陪着小航成长了,到现在为止,小航正好一岁半了,从一直让人抱着,到现在在家里随意奔跑,不禁让人感慨时间过得真快。在这一年里,小航明显长大了,也懂得事了,只是还不太会说。在小航的日常生活中,其实我做得并不好,上半年基本上一直在加班,等我下班回到家,他已经睡了,都没有交流的机会,以至于出差几天回到家,对我都有些陌生。下半年开始还算好一些,起码能正常下班回家了,每天能陪他玩一会儿,促进点感情。在儿子的培养过程中,还是老婆和老妈最费心,从儿子对三个人的亲近程度上都能看出[……]

Read more