重复性管理--从泛值到泛型以及泛函(上)--泛型是什么及为什么

为什么用泛型以及它到底解决了什么问题? 文中用大量例子介绍了重复性管理的一些具体做法, 重点分析了泛型范式在解决重复性问题上的应用.

在之前, 我们谈论了 计算机科学是什么, 我们知道了计算机科学重点在于复杂性的管理, 然后在 复杂性管理与重复性管理 里我们又谈到了复杂性一个重要来源, 也就是重复性. 软件开发的一个重要主题就是要管理重复性, 或者简单说, 减少重复.

你也许听过所谓的 DRY 原则: Don’t Repeat Yourself. 别重复(你自己)!

之前的一些都是侧重于理论方面, 现在来看一些具体地例子.

继续阅读

从技术文档写作的一个细节问题说起

技术文档经常会碰到中英文混合的问题, 那么在中英文混合时有什么注意事项吗? 恐怕很多人从来没有思考过这个问题. 我之前也从未考虑过这个问题, 直到有一次我参与了英文技术文档的翻译与校对, 才意识到了一些问题.

具体说是两次, 由 oschina 所组织的, 一次是校对, 一次是翻译, 都参与了一部分, 不过已经记不得是哪次意识到这个问题了.

一个经常被忽视的问题就是, 英文单词与中文字词之间实际上是要有空格的.

一个正确的示例: 中文中夹着 english 的情况.

一个错误的示例: 中文中夹着english的情况.

看到区别了吗? 前者是有空格的, 后者则没有.

如果你看一些正规专业出版社出品的一些技术图书, 比如人民邮电出版社的 O’Reilly 系列, 你翻开看看, 你会发现正文中有中英文混合的情况下都是有空格的.

有人可能会说, 好像也没多大区别呀, 中文和英文之间本来就有足够的区分度, 何必去加那些空格呢? 有人说不定还更喜欢那种紧凑的风格.

就我个人而言, 我觉得确实有空格的看上去更舒服一些, 之前一直没有意识到这个问题, 但还是能隐隐感觉到某些书的排版就是比其它一些要好, 尽管当时说不出为什么, 现在想想, 可能就是这些细节上的差异所导致的.

其实不单单是英文与中文间有空格, 认真观察下, 你会发现很多数字与中文间也是有空格的, 种种细节上的差异最终导致了观感上的差距.

也难怪人们会说: 功夫在细节上. 当一个人不放过任何的细节时, 才算是把用户体验真正放到了心上.

当然, 个人偏好有时像"甜豆腐脑与咸豆腐脑"之争, 是争论不清的. 抛开个人偏好不谈, 这其实还涉及到一个规范的问题.

既然出版社都这么处理, 所以这也许早已经形成了一个规范, 可能是行业中约定俗成的, 甚至也可能是国家层面的指导规范. 那么, 对于我们这些后来者来说, 其实个人偏好已经不重要了, 重要的是遵循共同的规范.

特别是在一个团队中时, 过于强调个人偏好反而是有害的, 因为会导致整体风格的混乱与不统一.

Mysql 的示例数据库 Sakila 介绍

介绍了 mysql 的示例数据库 sakila, 包括安装, 下载, 导入, 以及业务和结构的简要介绍.

在自学或者在一些个人项目上实践一些新特性时, 经常需要有数据库的配合, 但通常, 公司的数据库是不能拿来私用的, 这时如果有一些示例数据库就好办多了.

虽然也可以自行构建一个数据库并插入数据, 但通常是一件较为麻烦的事, 特别是准备那些有意义的数据.

Sakila 示例数据库简介

Sakila 是 mysql 中的一个示例数据库(sample database), 提供了一个标准的方案, 可用于自学, 写书, 教程, 文章以及示例等等.

此示例数据库还展示了 mysql 的一些最新特性, 比如视图(Views), 存储过程(Stored Procedures), 触发器(Triggers)等.

继续阅读

以前一直觉得所谓的“冥想(Meditation)”像是一种玄学的东西,但后来看到了李笑来老师在他的知笔墨网站上的介绍“坐享其成”,发现是个有科学根据的东西。

冥想训练能够使你的大脑皮层表面积加大,能使你的灰质变厚,它也能增强人们的免疫系统,它还能让人们摆脱抑郁症……

具体的方式可以参考上面的链接里的介绍。

这里需要注意的是,冥想不是我们想象的那样坐在那儿发呆;也不是打盹;也不是身体不动,脑子里胡思乱想。

冥想过程中需要一直保持高度的注意力在我们的呼吸上,只想着呼吸这一件事,不能分神想任何其它的东西,如果走神了,要立刻把我们的注意力重新聚焦到我们的呼吸上。