Press "Enter" to skip to content

CocoaChina六年了,记我的这六年——六年汇总

CocoaChina六年了,我的六年呢。

2008年:

1、六年前,也就是08年年初,我在做什么呢,捣鼓AI。07年后半年学了《人工智能》有讲到什么产生式、谓词,只学到点理论,后面机器学习连理论都没入门,到是搜索策略理论不敢说精通吧,但至少代码实现了书上例子的八数码,后来帮网友用五种搜索策略实现了一下八数码,MFC实现的,http://download.csdn.net/detail/yjh4866/419788,http://download.csdn.net/detail/yjh4866/3362709。大学时写了好多俄罗斯方块,可是AI版的还没写过呢。一是不知道AI到底怎么实现,只是大概想到是把当前方块按四种角度分别从不同位置落到底;二是内存空间没管理好内存泄漏导致的一些奇怪的计算结果。代码写了好久终于能让电脑自己玩了,尽管玩的很差劲,至少剩下的工作就是改进评分机制就好了。http://download.csdn.net/detail/yjh4866/419824,http://download.csdn.net/detail/yjh4866/1232933。后来又实现了AI版的五子棋,记得让同学玩出好多评分机制不足导致的脑残走法。http://download.csdn.net/detail/yjh4866/1138536。

2、后来又学计算机图形学,终于明白很多SDK都提供画直线算法,为什么还要学直线生成算法了。也学会了直接用代码实现三维变换显示立方体及隐藏面,线性代数原来是用在这里的。

3、对《神经网络》比较有印象,代码上只是用感知机简单实现了个数字识别,什么海明网之类的只是学了点理论(现在已经忘光光了)。

4、暑假学C#,当然是写俄罗斯方块练习了(初学者就写俄罗斯方块吧,别瞅着简单,看你是否眼高手低的时候到了)。C#封装自定义控件比MFC要简单几万倍,后来封装了个俄罗斯方块的控件,弄个双人对战的要容易很多很多很多。

5、后半年进入导师公司BI项目组。做Silverlight,从WPF学起,Blend做渐变太容易了(跟MFC比),只做了一个月。

6、Lucene。十月份偶然的机会接手基于Lucene的搜索引擎。起初是基于网站的搜索引擎,有点像百度了。从起始地址抓取网页,然后取出文本用Lucene建索引并自动机识别出所有网址,拿着这些网址继续抓取网页取出文本建索引并识别出网址……,这就是网络蜘蛛。后来基于本地数据库做搜索引擎,SQL数据库,16核CPU服务器1亿多行的数据起初跑了个周末还没跑够10%,改进到14个小时左右跑完。

7、JS。用JS写了个俄罗斯方块。弄明白哪些代码是服务器执行,哪些是浏览器执行。http://download.csdn.net/detail/yjh4866/1138497

2009年:

1、用C#做类似于QQ的聊天软件,体会到三层架构的思想。网络层一定要单独做,网络层和界面层之间要插一层业务层,不要全揉在一起。自己做的太难看了,只好照着QQ2008抄了。分析了QQ2008年皮肤包,计划直接识别他的皮肤包,发现皮肤包里居然有脚本,不会写脚本解析器,只好修改皮肤包再识别了。http://download.csdn.net/detail/yjh4866/1366967。后来帮同学做了个唱歌比赛的评分系统,自然有客户端、服务器,http://download.csdn.net/detail/yjh4866/1637088。

2、用C#写了几个QQ游戏外挂,连连看,火拼俄罗斯之类。

3、图像处理。人像采集系统,连上相机,客户端从相机终端读数据然后分析处理。刚开始没看出另个库中包含人脸识别功能,所以自己又去学了图像处理各种算法,什么边缘检测之类,这个也是OCR及机器视觉的基础。JPG格式实在是没看懂,快速傅里叶变换什么的,只是把bmp文件格式看懂了。买了几本书,看明白了OCR的原理,这一点在12年用上了,自己简单实现了验证码识别并帮人约车(*_*,对不会外挂约车的是不是太不公平)。实现了人像采集系统的皮肤包功能、语言包功能,一套皮肤有好多图片,万一用户不小心把皮肤包中的图片删了怎么办?于是把皮肤包下的所有配置文件、图片文件打包成一个文件,用的时候解压出来,再后来直接解压到内存里使用,而且在一定程度上也保护了美工的工作啊,哈哈。后来分析腾讯个软件发现他就是这么做的。

2010年:

1、毕业论文。《基于密度的聚类算法研究》,主要是处理密度不均匀时的聚类。需要先用灰度阈值分割理论对密度进行划分,再用距离分段聚类,用代码简单实现了吧,没有过多的对聚类速度进行优化。灰度阈值分割理论,就是图像处理上的内容。

2、相册客户端。模仿Google的Picass做自己的相册,当时腾讯也有自己的相册QQ影像,做的没Picass漂亮,但体验上差不了太多,比QQ影像好多了,关于这点在搜狐面试时被人家笑话了,你M,好像我在骗你似的,你他M见过QQ影像那死样吗?从此再也没仰视过这些大公司,尽管我不曾进去过。之前设计过的皮肤包在这里又用上了。

3、WebQQ。当时WebQQ1.0刚出来,也学会抓包了,于是用MFC写了个基于WebQQ的客户端,还专门在博客上对WebQQ协议进行了解析。不过现在已经没用了,WebQQ早就升级了,当时的协议已经没用了。

4、公司网页游戏外挂。由于要挂多个帐户,还没太弄明白Cookie,于是频繁登录操作下线,一晚上登录下线一千多次,第二天被网站部同事发现了。后来做约车外挂才用保存Cookie的方式多帐号登录。

5、模仿FlipBoard、Kik的两个App。就此进入iOS开发。

2011年:

1、模仿Viber,推信11。我们总结了目前在使用的一套架构方案,ViewController像UITableViewController一样配上DataSource协议和delegate协议,都有一个UIEngine实现,这样就切断各VC之间的联系了,也切断各VC与数据库、网络层的联系。我们三个人一起开发,界面一个人,数据库一个人,网络一个人,而不是按界面分工自己处理自己的数据缓存和网络交互(我不赞成这样分工)。

2、版本大升级,神聊,加入群聊。IOS做了差不多一年才算是入门吧,有了自己的一套架构,而不是简单的MVC。

2012年:

1、驾校约车外挂。抓包分析接口比较简单,无非是模仿浏览器发数据而已;难点的就是后来必须进行验证码识别了,写了个简单的验证码识别算法。

2、整体软件。之前只负责界面部分,学了下数据库,网络层放弃ASIHTTPRequest改用自己基于NSURLConnection封装的HTTPConnection。

2013年:

1、继续App应用开发。

2、SDK开发。之前以为单例用在静态库开发上再好不过了,做SDK开发后就不这么看了。SDK开发跟应用开发差不多,单例只能作为特殊的类对待,不能让他穿插于各模块之间,滥用单例就是在破坏软件的封装性。

3、Unity3D。Unity3D基础版免费了,于是学习一下做了个简单的游戏。购买NGUI并学习。

2014年未来一年:

1、继续Unity3D简单游戏开发,没有合适的模型,只能拼凑游戏了。

2、学习Cocos2D-x,Box2D。

唉,总结了一下,前三年技术进步很快,后三年就在IOS应用开发上原地踏步,没像很多“高手”一像深入IOS,也没像少数高手一样深入一门高科技。

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注