2014下半年

来源:互联网 发布:js中sleep 编辑:程序博客网 时间:2024/06/02 08:04
现在的工作是2014年4月末开始的,程序员,国企性质,工作不累,工资也不高!

回想当初再次找工作的日子,真是各种心塞啊! 裸辞真是压力山大啊,三月中辞去了维持了3个月的工作。
然后是各大招聘网站更新简历,抱着金三银四的想法,觉得怎样都能在魔都找到一份合适的工作,然而理想
很丰满,现实实在太骨感!专业不硬,经验不多,工作实在难找! 几次笔试、面试也就勉强应对,到头来
offer 也没有几个!
找工作的日子是孤独的、煎熬的,最后实在是受不了了,选择了当前的公司,接受了一份软件工程师(码农)

的工作!


上班当天就分配了工作任务,这是我第一份正式的工作内容:将EXCEL文件内容按照已定算法转换成二进制文件,
要求使用C++。OH, my god! C++处理EXCEL没接触过啊(咱也就是写过点C++图像处理的代码),已定算法是
啥算法啊! OK,先网上查下,嗯, VC环境下处理EXCEL不难,打开类导向,选择EXCEL.exe,添加相关处理的类,
再封装个EXCEL处理类(其中涉及到的OLE和COM的概念就不懂了)。算法部分呢,有前辈写的Ruby(OH,又一个
新鲜玩意,不懂,先了解下),按照Ruby的算法结构,写C++代码,怎么看这工作也不像是开发,倒像是翻译工作
(没法子,生成的二进制文件要在个大型安全系统上使用,其中涉及到的概念、算法,都不了解,这也是一个学习的
好机会)。
Any way, work is just work, 开始写吧!
加班加点,写了近一个月,终于写出了与之前Ruby运行结果相同的二进制文件,一股喜悦之情油然而生啊!
当然,由于码代码不熟练、算法认识不清,也走了不少弯路,在某前辈的指导下还是完成了阶段性的任务,真心感谢之!
接下来的工作就是要和另一位BACK-TO-BACK开发的同事进行结果的对比,对算法进行了一定的修改!在我们两个的结果

完全相同的情况下,发布代码(要做静态检查parasoft)!整个项目周期持续了约两个半月!


对第一个工作项目的总结

通过对这个项目的完成过程,加深对面向对象编程的了解,其中遇到了诸多问题,如链接问题、内存泄露(VLD检测)的问题,通过网络查询和咨询同事都一一解决了,接触了新的编程语言Ruby,了解了单例的设计方式和实现方法,加深了对static关键字的使用和其功能的理解,加深了对vector 和map 类的使用,加深了对template、 继承和多态的理解,对项目设计的概念和算法有了一定的了解(现在还没有完全弄明白)! 总的来说,获益良多,深感一只脚迈入了程序员的门槛!


接下来是第二个项目:某系统辅助监测软件维护软件开发

先说说项目背景:用于监测某大型的安全性能要求高的系统内部的状态和通信数据(鸡肋啊), 提供给现场维护人员一种安全方便快捷的产看系统的方法,

项目可以分为上位机版本和嵌入式(linux)版本,C语言环境,主要功能包括:

1)接受大型系统内部各子系统间通信数据以及可能出现的错误报警等,存储(数据库+文本)
2)数据分析,并发送至某外部系统
3)基于系统维护的需要,开发远程访问程序(服务器+网页)

某大型系统与检测维护软件间采用Internet链接,UDP传输方式,公司内部定义传输协议;涉及到的技术点包括:SOCKET编程、

数据库操作、文件读写、多线程编程(线程同步处理)、定时器使用等。

首先说说SOCKET编程,这个在编程技术上并不是很难, create socket, bind ip and port then send and receive data(select 非阻塞处理);

数据库, windows下使用MYSQL,linux(arm-i386)下使用sqlite(轻量级,适用于嵌入式系统);主要涉及的操作包括数据库建立/删除、表建立/删除、表的查询/更新等操作,整体来说这些功能在对应的开源库的辅助下是比较好实现的,难点重点在于数据需要记录三个月左右的时间,数据量大,涉及到了数据类型多,管理困难;

文件读写,循环记录三个月的数据,数据量庞大,需要处理突发状况,如误删除等;

远程访问,涉及到服务器的选择和CGI的实现,经过调研,windows上采用Apache+php,linux 上采用goahead+c+shell模式; 网页的使用HTML+JAVASCRIPT+AJAX+JSON组合。

其中,咱主要负责了文件读写、网页开发以及linux下的相关处理!


0 0
原创粉丝点击