随笔分类 - 软工模式
项目管理,软件工程,设计模式
摘要:前不久我发了一篇《八一八招聘的那些事儿》讲了我自己作为求职者对招聘的一些看法。那个时候我还在求职,对求职的结果还是挺满意的,五家公司面试,放弃了其中三家的offer(包括盛大云计算,东航信息部以及一小美资公司),拒了一家的二面(因为我已经做好决定了),最后选择了以前工作过的老东家-上海科泰。虽然科泰给的 offer 待遇不是所有 offer 中最高的,但我还是选择回归,主要是基于两点:对做的事情感兴趣能有担当,人好打交道团队氛围自由融洽(像我离开了又回来了)。
回来之后,就开始忙着招人的事情,可是招人的成功率远不像我求职时成功率那么高,大概只有20%的成功率。我想待招聘的事情告一段落之后,或许可以整理一篇《八一八求职的那些事儿》来讲讲从招聘方角度来看求职的一些想法。暂且列举一些目前碰到的常见求职问题:不了解招聘岗位要求,没有职业规划,工作多年却大部分时间在做维护(大公司病,局限于现有成熟框架内某个模块里的修修补补,而对框架以及其他模块却不甚了解),没有求知欲。或许是因为简历大都是从招聘网站上过来的,导致求职人员技术水平参差不齐,因此就有借博客宝地招人的想法。
先来说说我们在
阅读全文
摘要:敏捷火了很长一段时间了,但是一直没有机会实践,现在开始组队实践了,哈哈,先好好研习下规则~~
什么是 scrum
Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发周期包括若干个小的跌代周期,每个小的的跌代周期称为一个 Sprint,每个 Sprint 的建议长度2到4周。在 Scrum 中,使用产品 Backlog 来管理产品或项目的需求,产品 backlog 是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。Scrum 的开发团队总是先开发的是对客户具有较高价值的需求。在每个 Sprint 中,Scrum 开发团队从产品Backlog中挑选最有价值的需求进行开发。Sprint 中挑选的需求经过 Sprint 计划会议上的分析、讨论和估算得到一个 Sprint 的任务列表,我们称它为 Sprint backlog。在每个迭代结束时,Scrum 团队将交付潜在可交付的产品增量。
阅读全文
摘要:双重锁:http://www.cs.wustl.edu/~schmidt/PDF/DC-Locking.pdfACCU上的讨论:http://accu.org/index.php/journals/1328http://accu.org/index.php/journals/1306ACE与Boost中singleton的不同实现:http://www.cppblog.com/Fox/archive/2009/09/22/96898.html
阅读全文
摘要:长久以来,C++一直突出于优秀的技巧和典范。老有名气的一个就是James Coplien在1995年提出的奇异递归模板模式(CRTP)。自那以后,CRTP便开始流行并在多个库中使用,尤其是Boost。例如,你可以在Boost.Iterator,Boost.Python或者Boost.Serialization库中看到他们。
在这篇文章中,我假设读者已经熟悉了CRTP。如果你想温习一下的话,我推荐你去阅读《C++模板编程》的第17章。在www.informit.com上,你可以找到该章节的免费版本。
如果你抱着OO的观点去看CRTP的话,你会发现,他和OO框架的有着共同的特点,都是基类调用虚函数,
真正的实现在派生类中。下面是一个最简单的OO框架实现代码:
阅读全文
摘要:终于肯完了《Head First design patterns》,顺便把用Google笔记本所做的笔记贴出来记录下~~
OO基础 :抽象, 封装,多型,继承
OO原则:
1,封装变化
2,多用组合,少用继承
3,针对接口编程,不针对实现编程
4,为交互对象之间的松耦合设计而努力
5,为扩展开放,对修改关闭
6,依赖倒置原则(Dependency Inversion Principle)
7,最少知识原则(Least Knowledge),只和你的密友谈话。
8,好莱坞原则:别调用我们,我们会调用你。
9,单一责任原则:一个类应该只有以一个引起变化的原因。
阅读全文