处理一定规模的数据,尤其是文本数据,是常见的任务需求。比如,检查日志文件、读取配置文件、处理指令的输出等等。这些任务中,都可以将待处理的文本数据整体看做一个数据流,需要对数据流进行各种操作处理。为方便操作,比较常见的方法是,以行为单位,对整个文本数据流进行切割,然后,再针对每一行中的文本,逐行进行各种操作。这也成为了许多文本流处理工具的基础。阅读全文

每种可供阅读的语言文字的设计,都是“形”和“意”双重设计的有机组合。文字包含若干个基本字符,字符的各种组合,实现了语言所表达的逻辑含义。进行阅读时,本质的任务是通过识别语言中字符的组合,理解其背后所代表的含义。这是语言“意”的设计问题。与此同时,语言“形”的设计问题,即字符的呈现形式,也就是“书法”,无疑也会对阅读体验产生重要影响,而这也是字体排印学 (typography) 的重要内容。阅读全文

Linux 的开放性给用户提供了极大的定制化空间,这种开放性渗透到 Linux 生态的方方面面,无论其作为服务器领域的应用,还是其作为桌面系统的应用,都受益于这种极度自由的开放性,概莫能外。利用各种主题和界面资源,几乎可以打造出所有期望的桌面。可以说,对于 Linux 桌面,只有想不到,没有做不到。阅读全文