寒假阅读笔记十一

架构之美——最终用户应用架构(一)

如果现在让你去找工作,你觉得你有什么优势吗?对于“优势”这个词汇,想必大家都不陌生,可是低下头来想一想,竟然发现我们什么优势都没有,该如何面对未来的就业的竞争压力呢?今天,我阅读的是《架构之美》的第十一章,题目为GNU Emacs:滋长的特性是其优势。看到这个,我只想说,只要我们肯坚持不懈的努力学习,那么这就是我们的优势。

首先,先介绍一下GNU Emacs,GNU Emacs 是自由软件协会的旗舰产品,也是自由软件之父 Richard Stallman博士的得意之作。自十几年前问世以来,其基本体系架构一直保持稳定,人们在这个基础架构之上不断添砖加瓦,逐渐将 GNU Emacs 构建成一个壮观的软件系统。用户越来越多,功能越来越强,又没有专有软件开发所特有的集中的管理,GNU Emacs的基本体系却能长期保持稳定不变,这在信奉“唯一不变的就是变化本身”的十倍速时代,几乎可以说是一个传奇。

Emacs是一种功能超强的文字处理程序,是用Lisp语言编写的,是唯一的一种优美的计算机编程语言。其实,Emacs很庞大,而且只能编辑纯ASCII的文本文件,也就是说,没有字体、不能加粗、无法添加下划线……Emacs架构所采用的是在交互式应用程序中应用广泛的的模型-视图-控制器模式,在该模式中,模式是程序所操作数据的底层描述;视图则是向用户展示数据的方法;而控制器则负责实现用户与视图的交互(按键、点击鼠标、选择菜单项等),并对模式进行相应的更新。Emacs是用来编辑文本文件的,因此Emacs的模型中最为核心的是用来保存文本信息的缓存区。缓存区就是简单的字符串,在每一行的行末是新行字符;它并不是一个行的列表,也不是像Web浏览器展示HTML文档时使用的文档对象模型那样的节点树。Emacs Lisp对于缓存区的基本操作包括添加、删除文本,以字符串的形式析取缓存区中文本的一部分,通过精确的字符串或正则表达式来搜索匹配的字符串等。缓冲区能够保存各种字符集中的字符,包括亚洲、欧洲可能使用到的一些字符。每个缓冲区都有一种模式,它用来指定针对特定类型文本进行编辑时的缓冲区行为。Emacs中提供了针对C语言程序、XML文本等大量类型的模式。在Lisp等级,模式将使用缓冲区局部键绑定来为用户提供特定于某种模式的命令,然后使用缓冲区的局部变量来维护缓冲区状态。通过它们的组合,这些功能使缓冲区的模式与对象的类十分类似:模式用来确定哪些命令是可用的,并根据这些命令所依赖的Lisp实现来提供相应的变量。

本文开篇也说了,现在的我们就是一群小菜鸟,什么优势都没有,但是我要送给那些像我一样正在努力的人一句话:感觉累的时候,也许是因为你正处于人生的上坡路,坚持走下去就会到达人生的另一个高度!

时间: 2024-07-31 14:29:06

寒假阅读笔记十一的相关文章

寒假阅读笔记二

大型网站技术架构-阅读笔记二 模式:每一个模式描述了一个在我们周围不断发生的问题及该问题解决方案的核心.这样你就能一次又一次地使用该方案而不必做重复工作. 分层:将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统.分层时必须合理规划层次边界和接口,在开发过程中,严格遵循分层架构的约束,禁止跨层次的调用(应用层直接调用数据层)及你想调用(数据层调用服务层,或者服务层调用运用层). 分割:网站越大,功能越复杂,服务和数据处理的种类

寒假阅读笔记十

架构之美--系统架构(四) 今天,我阅读的是<架构之美>的第十章,题目为元循环虚拟机的力量:Jikes RVM,其实说实话,看到这个题目我的头就有点大了,以前从来没有听说过这个名词,究竟什么是Jikes RVM?原来,Jikes RVM的中文名字是Jikes研究虚拟机,它是为执行这样一种Java程序而设计的,这种Java程序典型地用于研究基本的虚拟机设计问题.它为科研院所提供一个灵活的测试平台,可以在这个测试平台上建立新的虚拟机技术的原型和试验各种各样的设计方案.Jikes RVM运行在AIX

寒假阅读笔记十二

架构之美--最终用户应用架构(二) 今天,我阅读的是<架构之美>的第十二章,这一章主要讲的是Akonadi框架,让我充分了解了Akonadi框架是什么?怎么用? kde 4.1中的Akonadi是一个以mysql为存储管理的 KDE 4 存储接口.它分为两个部分,一个称之为 Akonadi服务器,一个是为用户程序提供的和Akonadi服务器打交道的库,Akonadi服务器是单独提供的程序,属于kde的支持部分的一个软件.用户库包含在kdepimlibs之中.Akonadi目前的主要应用是做为k

构建之法阅读笔记08-第十一章

阅读笔记 第十一章:软件设计与实现 在第十一章的软件设计与实现方面,介绍了一些关于典型的开发流程和开发阶段的一些管理方法. 在拿到设计文档之后,还需要做一些其他事情,比如估计任务所需要的时间,写一些原型代码,看看效果:做代码的自我复审,进行重构:写单元测试等等.最后还要把修改集集成到代码库中. 开发人员有一个标准的工作流程:进行功能需求分析,复审设计文档,详细设计,实现设计来编写代码,同伴复审,源代码的合并.构建等等,其中的每一步都有可能出现bug,要随时发现并且修改bug,最后是测试完成,发布

源码阅读笔记 - 1 MSVC2015中的std::sort

大约寒假开始的时候我就已经把std::sort的源码阅读完毕并理解其中的做法了,到了寒假结尾,姑且把它写出来 这是我的第一篇源码阅读笔记,以后会发更多的,包括算法和库实现,源码会按照我自己的代码风格格式化,去掉或者展开用于条件编译或者debug检查的宏,依重要程度重新排序函数,但是不会改变命名方式(虽然MSVC的STL命名实在是我不能接受的那种),对于代码块的解释会在代码块前(上面)用注释标明. template<class _RanIt, class _Diff, class _Pr> in

B17-禅与 Objective-C 编程艺术的阅读笔记

以下仅为个人阅读笔记,记录翻阅之用.原文地址:https://github.com/oa414/objc-zen-book-cn 感谢! 一.单例问题 参照前面单例的滥用一文. http://www.cnblogs.com/yaann/p/4661909.html 二.类簇 三.属性 四.断言 条件成立就抛出异常. 五.相等性 六.Categories 八.Pragma的使用 九.Block 十.self的循环引用 十一.多重委托

ijkplayer阅读笔记系列&amp;lt;转&amp;gt;6945symae

ijkplayer阅读笔记系列<转>6945symae 哭歹ι删 铛吐麦 荸蹒糌枚 锣┄香 屁待蜱埚 这一百两银子从那小白脸兜里掏出来板上钉钉跟他没有屁的关系许清一旦不去倒马关 小舅子没有当上南朝第四位大将军他就一定不会战死沙场是我董卓失信在前亲兄弟明 徐渭熊挥挥手"去吧到了虎头城拧他个几百上千颗北莽脑袋下来!" 不下.该拿起的我不知如何拿起.这辈子都没能活明白到头来连剑也扔了竟然去找回 疸怅栅 是阎王爷让黑白无常来索命世上其实也就没有过不去的坎了." 禾

《构建之法》阅读笔记6

最后一次写阅读笔记了. 第十五章:IT行业的创新 最近几年,整个社会对创新似乎都很感兴趣,而对于IT行业的创新,有一些传说(Myth,迷思).灵光一闪现,伟大的创新就紧随其后:大家都喜欢创新:好的想法会赢:创新者都是一马当先:要成为领域的专家,才能创新:技术的创新是关键:成功的团队更能创新:成功的企业要满足股东们巨大的期望值.成功的公司有价值观--追逐利润.成功的公司有流程.成功的公司重视用户.成功的团队有老大的心理.创新的时机很重要,每一个新技术的出现,大家都在吹,我们选择一个合适的时机出手是

《构建之法阅读笔记02》

这次主要对<构建之法>的第四章“两人合作”作一次阅读笔记. 首先是代码规范问题. 我过去对于代码规范问题并没有做到注意.在编程中,许多变量和函数的命名都非常的简单而没有实际的意义.而且编程时不注意对齐缩进.很多时候也不加注释,导致对这些简单的变量名称不熟悉. 这样做会使得很多人读代码费劲,甚至是自己都要花时间再次阅读懂自己的代码.而且很多没必要的注释也会使得注释失去意义.当自己再次在原基础上编程时,可能要重新编程等问题. 因此,通过阅读“代码规范”,我找到一些解决方法.代码的风格要简明.易读.