最新文章
领域建模中的七种坏味道信息 软件设计
英文原文:The Seven Information Smells of Domain Modelling 领域建模(Domain modelling )作为一项强大的技术,常备于很多IT专业人士的工具箱之中。令人遗憾的是,在过去的几年间,因为领域建模的几个问题导致人们对其大失所望,尤其是在敏...
揭示记忆力的真相 科学
英文原文:How Memory Works: 10 Things Most People Get Wrong 人们常说一个人是他所有记忆的总和。你的经历决定了你是怎样的人。 尽管如此,人们对于记忆的了解往往并不是很多,这就是为什么有许多人会说他们的“记性很差”。这部分是因为我们所做的类比——...
使用云和虚拟化技术实现持续交付 软件工程
[注:原文发布于2011年12月23日] 背景 现如今,单元测试、自动化验收测试、持续集成等技术手段已被很多项目团队所采用,它们可以在软件开发活动中很大程度的保证开发软件的正确性,即是否满足了新的需求并且没有破坏已有的需求。但是如果软件无法顺利的部署到生产环境上,就不能带来任何商业价值。 ...
做正确的事情,等着被开除 创业
英文原文:Do the right thing, Wait to getfired 我偶然在《Team Geek: A Software Developers Guide to Working Well with Others》这本书里看到了这句有思想的话,让我产生了共鸣。这句话源自谷歌工程师...
Stack的三种含义 编程基础
学习编程的时候,经常会看到stack这个词,它的中文名字叫做"栈"。 理解这个概念,对于理解程序的运行至关重要。容易混淆的是,这个词其实有三种含义,适用于不同的场合,必须加以区分。 含义一:数据结构 stack的第一种含义是一组数据的存放方式,特点为LIFO,即后进先出(Last in, ...
如何写一篇好的技术博客 程序人生
在工作过程中,发现对很多东西都一知半解,不是很透彻,到头来很容易模糊。如果有一篇好的技术博客予以总结,一来即使忘记了,回过头来再看,仍然能够从自己的思路中恢复;二来总结一下,还会发现一些潜在问题;三来,有利于大家交流技术。很多大公司都有自己的内部技术博客平台,写好自己的技术博客,对一个技术人员...
数字证书及CA的扫盲介绍 编程基础
★ 先说一个通俗的例子 考虑到证书体系的相关知识比较枯燥、晦涩。俺先拿一个通俗的例子来说事儿。 ◇ 普通的介绍信 想必大伙儿都听说过介绍信的例子吧?假设 A 公司的张三先生要到 B 公司去拜访,但是 B 公司的所有人都不认识他,他咋办捏?常用的办法是带公司开的一张介绍信,在信中说:兹有张三...
领域驱动设计和实践 软件设计
引言 软件系统面向对象的设计思想可谓历史悠久,20世纪70年代的Smalltalk可以说是面向对象语言的经典,直到今天我们依然将这门语言视为面向对象语言的基础。随着编程语言和技术的发展,各种语言特性层出不穷,面向对象是大部分语言的一个基本特性,像C++、Java、C#这样的静态语言,Ruby、...
编码风格不是编码规范 程序人生
英文原文:The conventions we follow 我并不认为程序员是一个情绪特别丰富的群体。但有一些事情却能很容易刺激程序员的神经,那就是代码格式和布局(formatting and layout of code)。如果看到一个函数的括弧在同一行上没有闭合,我的眼睛会喷血。如果看到...
对于现代开发来说,Javascript就是一种垃圾语言 Web前端
英文原文:For modern development Javascript indeed is a s̶h̶i̶t̶ dissapointing language 我很抱歉,但 Crockford 就是坚持这么写的(I’m sorry, but the Crockford argument...
教你一眼认出英语单词的意思 其他分类
请大家想一想,英语是谁发明的?英国人呗!英国人认不认识汉语?不认识!那么英国人在学英语单词的时候需不需要记住单词的汉语意思?不需要,英国人的英语课本里根本就没有汉字,何谈记住单词的汉语意思?那么既然英国人学英语不需要记住(甚至根本就见不到)单词的汉语意思,那么中国人学英语为什么要去记住单词的汉语...
数学之美 编程基础
数学是美丽的,哪里有数哪里就有美。 数学的定义是研究数量关系和空间形式的一门科学。但有句名言说:数学比科学大得多,因为它是科学的语言。数学不仅用来写科学,而且可用来写人生。所以说数学是一切学科的基础,是核心学科,就像人们知识金字塔的底部垫基石,所以数学被誉为科学的皇后。 数学分基础和应用两部...
理解本真的REST架构风格 软件设计
引子 在移动互联网、云计算迅猛发展的今天,作为一名Web开发者,如果您还没听说过“REST”这个buzzword,显然已经落伍了。夸张点说,甚至“出了门都不好意思跟别人打招呼”。尽管如此,对于REST这个泊来品的理解,大多数人(包括一些资深的架构师)仍然停留在“盲人摸象”的阶段。常常听到各种各...
工程师的生活 程序人生
我忽然很好奇,想知道其他软件工程师的生活是什么样的?人永远都没有活在别人心中的形象那么绚烂,生活中总有无数烂事烦事需要处理,但是每个人都有自己享受生活的方式。逛了逛各式技术博客和论坛,我发现大家似乎都太严肃了,太谦逊了,太学术了。做软件本来是一件很有意思的事情,但是这些帖子和文章无非就包括这么几...
淘宝应对"双11"的技术架构分析 软件设计
双“11”最热门的话题是TB,最近正好和阿里的一个朋友聊淘宝的技术架构,发现很多有意思的地方,分享一下他们的解析资料: 淘宝海量数据产品技术架构 数据产品的一个最大特点是数据的非实时写入,正因为如此,我们可以认为,在一定的时间段内,整个系统的数据是只读的。这为我们设计缓存奠定了非常重要的基础...
一次优秀的代码提交应该包含什么? 编程基础
英文原文:What's in a Good Commit? 译者:@neevek 首先我们来听一个令人恶心的例子。 你看到问题 F00-123被解决了。这是关于一个你自己很熟悉的子系统的 Bug,所以直觉告诉你造成这个 Bug 最可能的原因。为了证实你的怀疑,你决定看看这个 bug 是怎么被...
到底怎么样才叫看书 程序人生
目录: 一、引入 二、经历了就能理解 三、读书要分级 四、只读经典 五、别吝惜你动笔的那点时间 六、再提笔记 七、大学课程之授课方法 八、我是怎么泡图书馆的 一、引入 看到这个题目的时候你可能会感到有点好笑:“这还用问,看书就是把书看了一遍呗..” 没错,我们从小到大就是这样...
最精彩的英语学习经验总结:俺的英语之路 其他分类
各位为英语而郁闷的兄弟姐妹们: 自从考完GRE和TOEFL以后,心有所感,本想写点心得,但是因为太懒没写成。今日风雨如晦,心中又有所感,于是一舒笔墨,写下我学英语的方法。俺知道有很多兄弟姐妹们和曾经的我一样因为英语而郁闷,小小心得,也算造福后人,为自己积累一点功德~~ 方法之前,先说说俺学英...
可以从CSS框架中借鉴到什么 Web前端
现在很多人会使用 CSS框架进行快速建站。 那 CSS框架是什么呢,它通常是一些 CSS文件的集合,这些文件包括基本布局、表单样式、网格、简单组件、以及样式重置。使用 CSS框架大大降低工作成本进行快速建站。 当然对于一些大型的项目,可能会很难照搬某些框架直接使用的,因为直接使用会带来一些限...
云计算环境下的应用架构设计 互联网
作者从云计算环境下应用的特点出发,分析了在云计算环境下应用程序开发设计的一些新变化。根据这些特点,本文提出一个“自我感知应用”(Self-Sensing Application)的新概念,接着以Windows Azure平台为例阐述如何实现自我感知应用。 多年来应用程序开发者和架构师们都在努力...