10项对于软件工程师的重要知识之分析观点

来源:互联网 发布:ubuntu 不显示标题栏 编辑:程序博客网 时间:2024/04/30 00:43
 10. 关系数据库 (Relational Databases)
Oracle和SQLserver在市场和言论上打来打去,都还是关系型的数据库,我想这个对于软件行业的从业人员来说都是必然学习的知识。
9. 安全 (Security)
安全永远都是一个相对概念,对于一个完整的软件系统来说,安全的构建在设计之初就需完善,并在整个软件生命周期中不断改进,从软件系统的全局看,没有安全任何功能都可能失去意义。
8. 云计算 (Cloud Computing)
从现在对这个概念的认知,把云计算推向互联网,我认为这个概念倡导者一定很有野心,并且很有可能会成为历史舞台上一大罪人。云计算真正的市场单元应该是一个大的机构,或者集团企业,可以发挥集中和分布计算的效率和优势,但如果放在互联网,问题可能比Windows还多……例如存储安全,传输问题,应用无法满足个性化的问题,当然还有形成垄断的局面……现在推广云计算面向互联网的公司其实都是在策划如何让他们疯狂赚钱的心态。
7. 并发 (Concurrency)
如何让程序并行处理这就是并发,概念简单,实现复杂。这个问题还是留该研究领域的专家们吧。
6. 缓存(Caching)
如果你知道数据库直接存取的代价非常高,并且你在冯诺依曼的体系下,我想你一定会想利用好内存,当然,缓存的代价就是在应用中最常用的内容才可以放入缓存。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
先到这里,后面再写
5. 散列法(Hashing)
4. 算法的复杂性 (Algorithmic Complexity)
3. 分层 (Layering)
2. 惯例与模板 (Conventions and Templates)
1. 界面(Interfaces