来到北京一年零半个月,工作则整整一年了。
去年6月11号正式加入现在的公司,到今天刚好一年。这一年,我没感觉到有多么巨大的收获,可能是目前的工作对我来说基本没什么挑战,也可能是因为毕业前就已经工作了两年,早就从学校进入到了工作状态的缘故。
刚进公司时学会了抓包拼数据,模仿浏览器给web服务器发数据,学会了做网页游戏方面的外挂;工作前几个月用MFC开发了两个半成品的软件;后来公司需要,转入苹果产品的开发一直到现在。全新的语言,全新的操作系统,全新的开发环境,但是也很快的就适应了。第一款产品就是magsina微博杂志,负责微博页面排版算法的C++实现(刚入门,object-c还不能应用自如)、封面页和栏目页的开发,主要是界面,偶尔也会涉及sqlite数据库和http方面的数据交互。由于这款产品是其他组的产品,我们组只是帮忙,所以不久我们撤出,开发我们组的产品么么聊(模仿Kik)。我负责界面,负责数据库一个人,网络交互一个人。开发也不是很顺利,界面的切换千调整万调整,总算是总结出了一套解决方案(分享一下:必须有一个类负责界面切换,接口注明目标界面、传递的数据;界面更新时,接口注明更新类型、传递的数据,界面类再根据更新类型选择性的处理),以后再开发苹果移动设备的多界面产品,自然顺手的很,游刃而有余也...
2011年新年后,不知道具体什么原因,公司暂时不再进行么么聊产品的后续开发,转而开发新的产品推信11(推信的域名已经被注册了),模仿viber,软件架构则模仿UITableView的UITableViewDataSource和UITableViewDelegate。数据库和网络只是在原么么聊的基本上修改,所以我负责对话列表视图和对话视图,联系人视图和设置由其他同事负责。最复杂的算聊天视图了,文本消息气泡跟么么聊差不多,但要加图片消息气泡;删除消息不再像么么聊那样一条一条的删除,而是可以批量删除。图片有上传的问题,照相和选择照片的问题,先上传然后才能把图片url当消息发给联系人,当然要处理上传失败的问题,有点复杂。后来又加表头按钮,用于添加到通讯录和添加以推信11联系人;模仿whatsapp增加音频消息、GPS消息、分享联系人消息的功能,聊天视图可真热闹。由于发来的聊天消息可能带联系人手机号,所以通讯录中存在该手机号就要显示对应的姓名。原先的处理是拿手机号到通讯录里查,结果速度太差,改用自己对手机号进行管理。但联系人视图中对通讯录中的联系人进行推信11用户标识时并没有这么处理,所以速度还有影响。由于NS或UI类型的变量没有用alloc和release自行申请并释放,而是用对应类型的静态方法获得对象,所以软件比较占内存,经常有内存不足导致的软件死机提交上来。目前只能这样了,得重新设计才能解决问题。
当然,作为开发人员,对产品的设计也有看法。比如,推信11产品雏形模仿viber,viber的功能模仿完了,改而模仿whatsapp的功能。功能实现的界面风格明显不同,但也照搬的拼凑在一起。
除了公司,我也要有我自己的生活。去年用MFC做过WebQQ1.0版的客户端,模仿浏览器处理的数据,现在WebQQ已经到3.0了,1.0的协议不能用了,3.0用的是json格式,相对简单些。今年准备学ACE做个控制台的WebQQ客户端,写过一些简单的代码了。后来发现应该先学会做网站,这个更急,所以现在正在学习做网站,难度挺大,网站风格及UI设计就是最大的障碍,慢慢来吧。
想想目前的软件水平,真的很差,只会用语言开发些没什么技术难度的东西,研究生学的高科技,一点用不上。值得一提的就是对人工智能的搜索策略很熟,不谦虚一点说就是精通(^_^),但还有机器学习、模式识别、机器推理之类,基本是0,一点都没用上。
迷茫中...