逝水流年

This is a blog to record my life, my work, my feeling …

记录我的新工作(六)

今天感觉head好胀啊,感觉知识真的能把脑袋给撑破了。

从早上7点40坐上公交车开始,就在车上看书,把第四章给看完了。通过这章的理解,终于的IOS的delegete模式弄清楚了,其实委托模式真的很简单,而且在Ios中随处可见,是用的最多的设计模式之一。故明其意也就是说是委托给其他对象来执行操作。可以简单的理解为回调函数。

UI层和SC层之间的调用流程也熟悉了下,但是对静态库中对UI的回调的实现还不太理解,需要详细研究下。

对CALayer的实现有了感性的理解,知道了它的实现方式和代码中如何实现地图的Layer。

妈的,CSDN真烂,写了一堆的东西,竟然自动给我删除没了,XXXXX的。没心情了。

记录我的新工作(五)

早上将墨卡托投影又看了一遍,NND,搞了一些公式就行了,还理解个屁啊。有数学家呢。

花了半天的时间,把View都过了一遍,费了好大的劲,结果其实这些不重要。55555

快下班时找R给我讲讲map部分代码,还有文档可以看,晕了竟然不知道。不过看完也没太多的帮助,只是了解了下流程和大致层次划分,具体的实现没有设计文档。都得靠看代码了。555,悲催啊。好多内容需要学习,挑战啊!继续努力啊!

记录我的新工作(四)

今天还算比较顺利,采用新线路上班,在起始站坐车,终于有座位了。哈哈,外面还有早餐卖,真开心,不用饿肚子上班了。

早上找了leader问了几个问题,leader忙完后给我解决了。哈哈,id搞定,架构分析搞定。原来外企的设计也就那么回事,后续文档也没有跟上。哎还得靠自己看代码啊。

最重要的学会build code,了解了2个Unix脚本。sh命令,执行shell,chmod命令,更改文件权限等。终于可以编译了,由于编译器还不是最新的,25个error,嘿嘿,也能大概解决了。编译终于过去了,不过还是出现了link的错误。下班是R过来问了下我现在的进度,给我简单的交代了两句,还得等具体设备来了后才能运行。我还得先view code啊。今天又掌握了2个概念,layer和墨托卡坐标。晚上学习下。明天rain讲解的时候得把问题都问一遍,抓住机会。哈哈

最后开会讨论了下年会的节目,嘿嘿没有那么大的压力,感觉大家还都基本比较喜欢做了,也没有那么多限制了。嘿嘿。

记录我的新工作(三)

昨天太忙了,忘了更新。昨天基本快要绝望了,晚上跟以前的同事ZJT聊天,同事的鼓励又给了我信心!嘿嘿。

今早还是堵车,路上堵了将近1.5个小时,9点10分才到公司。还算来的早的,嘻嘻。

同样早上第一件事是做计划,今天计划分为3部分:

1、将visio tool viewer 2007弄好,可以看系统架构。

2、将产品手册再全部看一遍,熟悉产品功能,特定术语等。

3、将代码浏览一遍,大致了解下程序工作原理,然后针对具体问题进行分析。

完成情况:

1、10点之前安装了个补丁就搞定了,终于可以看到全部的架构了。哈哈 里面的各层次还是比较清晰的,对每层的功能也有明确的划分。让我在整体上有了些认识。

2、一直看到下午3点30才大概全部看完一遍,这次是通读,对每个术语都详细了解了下,特别是缩略语。终于对产品有了感性的认识了,如果有实际操作就更好了。

3、代码问了下老B,知道看那块了。而且还把各个部分跟产品对应上了,总算不是没头绪了。对里面的各个层次还不是特别清晰,库的调用和UI的显示都不熟悉,弄了半天也没有能正确运行,估计是没有Device,但是老B说可以的。

把问题整理了下,明天早上准备问问leader。

明天计划:

1、讯问leader产品架构和代码运行等一些问题。

2、将代码运行起来,并且对UI要熟悉起来。

3、运用P4Win,熟悉下代码check in 和 check out等流程。

加油吧~~~!!!!!!

记录我的新工作(二)

2011.12.15  晴 大风

今天总体来说还是非常不错的。早上在麦大叔哪里吃了早餐,发现一条新的路线,竟然还能提前10分钟到公司,哈哈,不错的开始。

上午给自己订了下计划,将oc前7章再看一遍,对一些细节在VM中验证,花费了数个小时终于在下午3:30分时完成了学习,并且将疑问都已经解决,顺带还学习了很多XCode的使用。R也在快下班时指导了我重点,我有加了将近一个小时的班,将重点内容全部看完,收获颇大。还学习了新的版本管理工具P4V,这个东东感觉跟SVN基本一样,还好有SVN的经验,至少在理解方面没有啥问题。

再有就是今天连接了打印机,搞清了请假流程。原来还有带薪假一天办理手续的,还挺人性的。哈哈。通过老J,将MSN的人都导全了,部门人也认全了,嘿嘿,虽然还不都认识,但是名字至少是记住了。下班前老大发了一封email,对项目的总结,竟然没有怎么通过金山就看明白了,哈哈,这两天的培养已经有一定感觉啦,这个事情最让我激动了。

还有就是竟然还有熟人,只能无限感慨这个世界真是太小了。

下班就剩我和老J了,老J跟我介绍了下部门人员情况,还解答了几个我的问题。很好的一天!周末好好好整理下,下周就有自己的MAC和测试IPHONE喽!

记录我的新工作(一)

今天 第一天入职,兴奋的同时也有点点担忧。7点起床,路上遭遇堵车,打了个的还差点迟到,幸好公司上班时间比较灵活,其他人还没有到,我还等了10几分钟。

IT带我到我的新工位,空空如野啊,就一台孤零零的电脑摆在那。桌子好脏好脏,搽了两张纸都没搽干净。老大给我介绍了下部门成员,10几个人,人数最少的部门,估计都是

精英。哈哈(我把自己也列为精英了!)

工作机开机,NND,竟然是全英文系统,软件都是英文,NB。我头都大了。IT给我配置了EMAIL后就不再管我了,我只好按照文档自己搞了,搞了个MSN,还不行,最后还是IT给搞定的。里面只有老大一个人,截止到下班才3个人。5555

根据老大的任务和安排的导师R和J两个,我开始了我的工作。R借给我两本书让我学习,又给我搞了个VM先凑合用,新机器过两天才能弄来。我只好按照老大的task list开始学习。

我把任务中的内容先大致浏览了一遍,时间比较充裕,全部完成需要20几天,但是内容也不少,比较英文有限,进度肯定不如看中文的快。需要把任务分类整理下。我把任务先简单分解为两大类:一:学习类,自己可以完成,有资料的。二、需要帮助类,需要同事帮忙指导的。第一天先把自己可以完成的做个任务,去掉已经学习的部分,剩余就不多了,可以尽快搞定。行动!

语言基础已经基本过一遍,这个就过了,可以放到休息时间看。规范类的内容可以看,C++编码规范,OBJC编码规范,code review process,startguide等等,看的头都大了。期间又办理了一些简单的手续。到下班了还差一个规范没看完。做了记录,简单整理下今天内容。也已经19点了,部门成员都已经走了,收拾东西果断走人。嘿嘿。遇到HR,还说我第一天就加班,(^__^) 嘻嘻……

加油!明天更好!

C++11中值得关注的几大变化

C++11中值得关注的几大变化

  • Lambda表达式

  • 自动类型推断和decltype

  • 统一初始化语法

  • Deleted和Defaulted函数

  • nullptr

  • 委托构造函数

  • 右值引用

C++11标准库

C++于2003年以库技术报告1(TR1)的形式经历了重大改版,TR1包括新的容器类(unordered_set,unordered_map,unordered_multiset和unordered_multimap)和多个支撑正则表达式、元组和函数对象封装器等的新库。随着C++11标准获得通过,TR1和自它首次发布以来新增的库被正式纳入标准的C++标准,下面是C++11标准库的一些特性:

线程库

站在程序员的角度来看,C++11最重要的新功能毫无疑问是并行操作,C++11拥有一个代表执行线程的线程类,在并行环境中用于同步,async()函数模板启动并行任务,为线程独特的数据声明thread_local存储类型。如果你想找C++11线程库的快速教程,请阅读Anthony William的“C++0x中更简单的多线程”。

新的智能指针类

C++98只定义了一个智能指针类auto_ptr,它现在已经被废弃了,C++11引入了新的智能指针类shared_ptr和最近添加的unique_ptr,两者都兼容其它标准库组件,因此你可以在标准容器内安全保存这些智能指针,并使用标准算法操作它们。

新的算法

C++11标准库定义了新的算法模仿all_of(),any_of()和none_of()操作,下面列出适用于ispositive()到(first, first+n)范围,且使用all_of(), any_of() and none_of() 检查范围的属性的谓词:

1
2
3
4
5
6
7
8
#include <algorithm>
//C++11 code
//are all of the elements positive?
all_of(first, first+n, ispositive()); //false
//is there at least one positive element?
any_of(first, first+n, ispositive());//true
// are none of the elements positive?
none_of(first, first+n, ispositive()); //false

一种新型copy_n算法也可用了,使用copy_n()函数,复制一个包含5个元素的数组到另一个数组的代码如下:

1
2
3
4
5
#include
int source[5]={0,12,34,50,80};
int target[5];
//copy 5 elements from source to target
copy_n(source,5,target);

算法iota()创建了一个值顺序递增的范围,好像分配一个初始值给*first,然后使用前缀++使值递增,在下面的代码中,iota()分配连续值{10,11,12,13,14}给数组arr,并将{‘a’,’b’,’c’}分配给char数组c。

1
2
3
4
5
#include <numeric>
int a[5]={0};
char c[3]={0};
iota(a, a+5, 10); //changes a to {10,11,12,13,14}
iota(c, c+3, 'a'); //{'a','b','c'}

转:我是程序员——笨鸟飞呀飞(27),跟我的感受竟然一模一样!

我打算辞职了,我打算重新找个工作,我下了非常大的勇气。我所在的公司不差,我所在的公司文化也不差,我和部门里的每个同事都有不错的感情,可是我想辞职了。

辞职,是每个程序员都会面临的一个选择,我也是,只是这个抉择好难,我和这里的每一位兄弟姐妹的情很深。我不能不承认,我是个特重感情的人,我怕因为我的辞职离去,远离了我的好兄弟好姐妹们,我曾为此而彻夜不眠过。但我还是决定辞职了。

有时候,人是很矛盾的,甚至有点贱。我想辞职的理由很简单,这里的工作太闲了,我已经近一个月没有编程了,闲得我发慌,我们做的是自己的产品,当产品做完的时候,就是销售,我们只是负责做维护,甚至维护都是有售后服务部去做,到领导认为可以再做一个新的产品,或者是客户对我们的产品有新的需求的时候,我们再继续做。我是个闲不住的人,一闲我就思变,我在这里呆了近5年了,已经不再可能有更高的长进了,我不想就这么庸散下去,因此,我决定辞职。

从搜狗浏览器看“创新”

国内最年轻的搜狗浏览器,个人用的非常舒适,它的华丽的皮肤,贴切的用户体验,非常复合国人的使用习惯,可以说在用户体验上已经领先了竞争对手。提出的高速双内核概念,听起来创新的非常诱人。但是它的内核还是应用Webkit和IE双内核,并不是它的核心技术,也不是它的创新。这可能就叫做跟随创新吧。毕竟也是创新,而且这种创新风险比自己再开发一套内核更小,开发周期更短,产品更专注。这点值得我们去学习,作为程序员要创新很重要,但是并不是任何东西都要自己去写,去完成。很多现成的东西复用起来对产品更有利。

关于迭代开发

目前所在的公司所在的部门做项目,总是人手不够,总是延期,总是有各种各样的风险和问题。也考虑过采用CMMI项目管理,效果不加,也想尝试迭代开发方式,但是因为产品经理那方一直的想法就是要一个又大又全的产品,迭代方式一直没有真正的实行。真的很可惜,这又变成了人与人之间的博弈了。

迅速迭代

1、将核心快速完成,快速上线试用。

2、准备非核心需求的后续计划,迅速迭代。

3、充分关注用户和环境变化,迅速改进。

按照快速迭代的方式,将需求区分出核心需求和非核心需求,并制定好详细的里程碑和计划,然后按照这个计划实施,我想项目管理方面应该更好把握。开发人员不用每次都面对大量的需求变更,新的需求可以加入下个迭代版本,并重新制定迭代计划,这样研发的效率会有大幅度的提高。

但是面对目前的绩效考核方式,这样实施公司基本不会同意。要想改变这种状态还得从制度上改变这种情况。让研发提供效率,产出更多更优秀的产品,而不是频繁的改BUG,陷入没完没了的维护上面。