Monthly Archives: January 2018

Spring core

spring is a alternative of EJB (enterprise java beans), with lighter & leaner programming models

a spring bean refers to a spring application component; refer to any POJO (plain old java obj)

*Spring simplifies java development*

non-invasive: Spring never force you to use Spring-specific classes/interfaces, thus you can transplant spring projects to non-spring platform.

dependency injection: class A depends on B, B depends on C, if we define C inside B & B inside A, then when we want to change C, we’ll have to change corresponding B, A; To avoid this, we create separate spring bean for A, B, C, and use spring application context to create A/B/C objects and wire them together, thus, A is created without knowing detailed implementation of B & C.

AOP (Aspect Oriented Programming): suppose in a system, class A object first call A’s method, and will trigger class B call B’s method. If we write & call B’s method inside A bean, then B has to be injected into A, and A must maintain B all the time. To avoid this, we turn B into a aspect in Spring application context, and define B’s method to be called after A’s method is called, but not inject B into A.

AOP – declare B as an aspect: use Spring’s <aop:config> to declare B as an aspect, and first declare B as a bean, then refer to that bean in <aop:aspect> . Since B’s method will be triggered after A’s method is called, so inside B’s aspect, define A’s method as pointcut, and refer B’s method to that pointcut. Thus, B’s method applied to A without A needing to call on it inside A.

Spring template: eliminate boilerplate code. If you want to query an employee by his id in a Java JDBC API, besides the core query algorithm, JDBC requires that you must write create a connection, create a statement, and catch SQL exceptions…etc. But Spring provides template for such JDBC requirements, and let you focus only on the core query algorithm.

*spring container*

spring container: it creates objects, inject DI into them, and wire them together, configures them, and mange their lifecycle from begin to end.

two-kind container implementation: bean factory & application context.

an application context: create it by loading application context from XML/Java config file, from filesystem/classpath. (what is classpath? see: https://stackoverflow.com/questions/2396493/what-is-a-classpath)

application context retrieve beans: use the context’s getBean() method.

bean’s lifecycle: see 1.2.2

*Spring Landscape*

JAR file: a JAR (java archive) file is a package file format used to aggregate many java class files and associate metadata and resources (image, sound, etc.) into one file for distribution.

spring lib folder: 20 distinct modules, with 3 JAR files for each one (the binary class library, the source JAR file, and a javadoc JAR file). 20 JAR files can be arranged into 6 categories of functionality – Figure 1.7.

*3 spring wiring mechanisms*

**automatic wiring**

component scanning: originally, in spring configuration file, we should define class A, B as beans and wire them together inside a configuration class; now we annotate the config class with @ComponentScan, and annotate A, B with @Component, then @ComponentScan will  by default scan the config class’s package and any subpackages underneath, look for classes that are annotated with @Component (A, B), and create beans for them in spring.

name a component-scanned bean: all beans in spring config file are given an ID. If class A is annotated with only @Component, then it is implicitly given an ID by lowercasing the first letter of the class name; you can also self-define the ID and annotate class A with @Component(“xxx”) or @Named(“xxx”) since @Named is alternative to @Component in most cases.

set base packages for component scanning: if the config class is annotated with @ComponentScan, spring will by default take the config class’s package as the base package and scan for components; if @ComponentScan(basePackageClasses={K.class, M.class}), spring will take whatever packages that class K&M are in as base packages.

autowiring: if class A is annotated with @Autowired/@Inject, then when spring creates A bean, it will automatically satisfy bean A’s dependencies by finding other beans in the application context that are a match to bean A’s needs.

@Autowired: it can be used in any methods in class A. if no matching beans found for a DI, spring will throw an exception as the application context is created; if multiple matching beans found for a DI, spring will throw an exception indicating ambiguity with auto-wiring.

*spring层次图*

structs: early time web mvc framework.

dao: is an object that provides an abstract interface to some type of database or other persistence mechanism. By mapping application calls to the persistence layer (hibernate), the DAO provides some specific data operations without exposing details of the database.

hibernate: It provides a framework for mapping an object-oriented domain model to a relational database, it can replace SQL to retrieving data from database.

 

个人网站设计

整体采用mvc pattern

前端:javascript,html,css

后端:Spring framework provide extensions to build web app on Java EE

准备:Spring,maven/gradle

Spring:runtime,使得每一个class可以找到它所依赖的那个class

maven/gradle:Compile time, 编译器javac将.java编译成.class,编译过程中要将.java中所涉及到的library的文件存储路径都找到,所以提前将所有这样的dependency存储到一个编译文件中。

2018/01/23: 了解spring core – simplify Java Dev – noninvasie & DI

2018/01/24:  spring core – simplify java dev & spring container

2018/01/27:  spring core – wiring beans

2018/02/05: spring on the web

2018/02/19: spring boot, back end

 

JavaScript – w3schools

HTML to define the content of web pages. CSS to specify the layout of web pages. JavaScript to program the behavior of web pages.

HTML NO display tag: <!DOCTYPE HTML>, <html>,<head>, <title>

HTML begin to display at <body>.

HTML content: <x>contents-to-show</x>

p: <p id=’wj’>this is a paragraph.</p>

button: <button type=’x’ onclick=”xx”>this is a button</button>

change HTML contents/source of image/style, hide/show HTML elements — get content/image by id, change its content/source image/style: document.getElementById(“xxx”).innerHTML/src/style/style.display=xxx

JS code must be inserted between <script> and </script> tags.

JS code can be in NO-display <head> or display <body> tag.

JS external file xxx.js: separate html & js, faster loading page:

html call js like this <script src=”xxx.js”></script>

External js scripts cannot contain <script> tags.

JS functions:

syntax: function fname(x,x,x) {code}

invoke: click-button/called from other JS code/self-invoke

return: return result to fname

return then display: JS don’t take care of display, after JS return res to fname, JS call document.getElementById(‘xx’).innerHTML=res   to display the res.

JS display:

1.innerHTML

2.document.write(xx) : used only in testing

3.window.alert(xx): a pop out alert window display xx

4.console.log(): used in debug

JS keywords can NOT be used as variable name:

var, break, continue, function, for, do-while…

JS one variable can be assigned with different data types:

you can do: var x = 5; x = “cwj”;

undefined – value=undefined then type=undefined

null – value=null but type=object

JS array – var arr = [x,y,z]; use arr[0] to access

JS object – var ob = {name:x, email:y}; use ob[“name”] or ob.name to access property

JS object method – person.fullName() to access:

 

var person = {
firstName: “John”,
lastName : “Doe”,
id : 5566,
fullName : function() {
return this.firstName + ” ” + this.lastName;
}
};

我滴个妈看不下去了。。

金融的逻辑(序言)

不得不说每次看金融类的书都会睡着,就是没有历史,科幻等人文类的书籍能够吸引我,可能是因为故事不多,知识点太多了,而我是一个爱听故事的人。网上对此书褒贬不一,我觉得有争论的书也是值得一看的,毕竟让我直接看经典的曼昆经济学原理我肯定会长睡不醒。

序言大体描述了金融学在传统农业社会和现代法治社会的不同表现形式,强调了金融是使人类社会持续下去的必需品,它的出现是必然的,并且是存在于人类社会的各个时段各种形态当中的。

现代法治社会下的金融是跨时间跨空间的价值交换,存在的核心基础是信用和交易安全。栗子:小明手中有20亿订单却苦于没有2亿的启动资金作为创业资本;外地很多机构或个人有空闲资金放在银行赚取着微薄的利息,却找不到风险相对能接受但回报很好的投资机会。如果整个社会都是类似情况经济发展就会受阻,于是投资银行家小红利用她平时在创业者和投资方建立的信任把小明和投资方牵线搭桥,实现双赢。所以小红建立的信任是基础,而交易安全需要通过金融的法律法规来确保,也就是由具体的金融合同实现的。小明的订单能否按时完成,实际利润是否能够收回,这些都是不确定的未来因素,所以类似小明这样的交易都涉及今天和未来不同时间空间之间的价值交换,就是投资者用今天的钱换取小明未来可能的收益,但是这样的收益是不确定,充满随机性的,所以,任何金融交易合同的细节条款都需要转换成不同的未来随机事件,投资银行家小红需要分析清楚在事件出现时双方的得失,并且一目了然的写到条款里让双方达成共识,合同签妥后这次的金融交易也就有了法律的安全保障。(所以小红学好概率论,学会为随机变量做定价模型很重要)

和现代法治社会的金融非人格化方式不同,传统农业社会金融是以人格化的隐形方式实现。人不能完全依靠自己生存,比如可能去年有收成今年就没有了,那就木有饭吃活不下去了;还有生病需要照顾,老了失去行动能力也需要赡养等等,于是为了生存为了生命的延续必须依靠他人的帮助,也就需要跟其他人进行跨时间空间的价值交换。农业社会的交易范围是在家庭家族这些血缘体系内的,养子防老,子女是人格化了的养老保险品;礼尚往来,就是用人情交易礼品。所以传统农业社会强调孝道等级,就是因为你的出生是不能挑选的,也是一辈子不能改变的,这种稳定和不可选择性,对于传统社会来说是最有利于建立并维护诚信的基础,所以儒家孝道是一种基于血缘的跨时间空间的人际利益交换,由此产生的“三纲五常”,“名分等级”秩序则是对其的“法律”支持。这种秩序的支持也是对孝道下的人际利益交换的安全保障,于是传统社会子女不敢不孝。不禁让人想到《万历十五年》,明朝中国就是以礼仪孝道为国之根基,这样的交易方式抑制人性,无法发挥人的创造性,没有制定出脱离人格的铁规则,所以经济发展不出来也是合情合理的。

作者还讲述了美国独立初期的“欠债”史,美国独立初期欠债甚多,各种形式的欠债导致金融市场的混乱,后来成功问法国借到钱后,财务大臣就承诺政府会还债并且统一成了三种债券,用来替代之前所有杂七杂八的借条,从此美国金融市场规范,人民有了信心,政府就有了财政来源。所以美国是尝到“透支未来的钱”的甜头的国家,这个国家一开始就是靠借钱生存下去的。作者觉得这样的形式使得国家不得不通过发行债券和收税筹款,而公民也因为自己交很多的税就必须关注自己的权利监督政府的行为,所以这样借债的国家更民主,而像传统中国国库充足就会更专制,我觉得有一定的道理。

序言已经看的很艰难了,希望能坚持下去吧。

 

万历十五年(第二章节)

这一章节通过介绍一个与张居正为人处事截然不同的新任首辅申时行,娓娓道来了明朝以首辅为代表背后的整个文官集团的利益纷争对明朝政治产生的影响,另一方面也叙述了以伦理道德为统治准则下文官集团如此表现的必然性。

新任首辅申时行,年轻时因为才华而不是谄媚而为张老师举荐重用。官运很好,张老师下台后,居于他之前的三位更有资历的候选人不是重病就是病死,时世造就了他。人品不坏,张老师被拉下神坛后对张老师的评价实事求是,没有为了自己的前途而对张落井下石,被万历和同僚都看在眼里。冷眼旁观了张老师变故后,看清了要在当时的环境取得自身政治安稳,并且能够充分发挥各路资源实现自己辅助君王大兴明朝的梦想,就必须充分把握住表面人民公仆群体实则政治决策力量的文官们。多年的政治经验使得他清楚的知道文官们外在的仁义公正和内心深处的私欲的矛盾性,而他一直在试图平衡这种公私,均衡各个文官小集团之间的力量,并且适时的避免或调节万历与文官之间的矛盾。他为人宽厚,以和为贵,这样的性格也和后天的练就有关。

申先生是一个清醒冷静的人,他看破但不说破。笔者揣测他作为经筵的主办者,应该最为了解这种流于形式耗时耗力耗财的无意义的活动,但是操心最多的他却坚持劝诫万历经常参加这样形式主义的活动,以及皇帝和百官都讨厌的早朝,也是申时行觉得应该一直坚持下去的。他在意的倒不是仪式感本身,他明白,整个社会以天理道德治国,礼仪准则为国之根基,而这样仪式感满满的活动是展现统治阶级正统,高贵,被上天选中的人的最好的时刻。这样的活动常常搞,这样庄严的形式常常在民间流传,人民也就会觉得这是真理,自然会心甘情愿臣服,试想如果长时间没有这样的活动给你灌输这样的思想,民众会疑惑,继而反思,如果自我意识觉醒了那就可怕了。振臂高呼拥护的人,羡慕并且追随高贵庄严形势的人,这些人都是没有自我的,而失去自我的人,最好控制。申先生明白这一点,或者在我看来,他即明白也自己相信这一点。

张老师和申先生的不同也是让人很留意的。张老师的梦想是更深层次的富国强民,他也深谙文官的利益和私欲,他清楚的知道明朝自上而下都是没有铁规制度,依靠人伦道德的治理方法,这样的方法确实是有很大的随意性,很大的问题的。所以他一直在利用自己的权力致力于改变文官机构的作风,想让他们处理事情更注重调理制度,而不是道义。于是损害了太多文官们的利益。比如纳税,张老师在位时责令各府各县按照规定把税款全部交足,可是当时环境下各个地方不同,收成不同,粮田会不停发生变化在那个年代数据更新也完全跟不上,地主会想方设法偷税漏税,再加上各级官员都会把税收的一部分纳为己用,一层一层下来,真正能够收到的不可能达到张的标准,而他这样的铁规,对各级官员和顶端的京官都造成了利益损害,也带来了巨大的压力,而且这样严厉的制度下,官员们为了确保自身的利益可能只会加重官员对民众的剥削。以前,一直以来大家都心照不宣地按照各自的规矩办事,每个人都获益,没有人有意见。可突然来了一个人,各种改革,使所有人都倒霉,每个人都损失,偏偏这个人又能呼风唤雨,谁不恨他,文官对张老师的憎恨合情合理。张老师的本意是好的,但是不切实际,在那个被人伦道德的儒家思想一直统治的时代,变革必须是润物细无声的,如果非要提高效率而推进改革,只会搞得人心不稳,压力山大。我想,张老师可能清楚世事无常,自己官龄有限,希望在有限的时间内利用自己的权力达到自己的政治梦想,以至于最后明明知道自己四面楚歌却还是不忘初心,坚守变革到底,也是令人敬佩的。不过矛盾的是,他对人对己却是双重标准,一方面以铁腕强制官员秉公廉洁,另一方面自己却也敛权奢华,这样的两面性让他无法不贻人口实。就让我想到一个著名的黑人导演拍了一个很棒的电影讲述了被性侵女性的无奈,不甘,并通过电影提出了呼吁,但是他自己却曾在一个派对上性侵了一个白人女孩,于是他的电影就遭到了很多人的诟病。类似的心态不知道如何理解和评价,只觉得唏嘘。

和张老师不同,申先生只希望实现最基本的国泰平安,并且由始至终都在维护一种动态的平衡和表面的和谐,他从不损害他人利益,宁可自己受到一些诽谤,他深刻的明白张老师失败的原因,所以他绝对不让自己在文官中孤立无援,而稳定文官的最好办法就是满足他们的利益需要。但是过于的和事佬可能被视为软弱和左右逢源,并且,文官暗地的利益纷争从来不会因为他的宽容大度而结束,如果想整你,就是一套的深思熟虑的方案,先从一件小事开始,比如一句经书的解释,一个考题的不当,参劾一个不知名官员的家庭琐事等等,利用这些小事可以引发公众关注和文官参与,假以时日使小事积累成大事,细枝末节的局部问题转化为整个道德问题。并且为了保证方案的万无一失和层层推进,开始出场交锋的人物总是先是无名小卒,直到时机成熟才有大将出马。这样布置周详的攻击自然也落到了申先生身上,毕竟首辅的位置人人觊觎。诽谤者先是通过一件陈年旧事参劾牺牲申先生提拔的一个相对小卒顺而将申牵扯进入,接着仍然是利用张老师图谋不轨的万年老梗刺激万历的神经从而引发事端。幸而看透自己下属的万历经过一番思考看懂了了事情背后的真正利益走向,申先生才得以脱险。这样的政治手段,整人方法,不是见微知著,而是人心叵测,真是套路满满,城府极深。不过,我们聪明的万历还是自己悟出了一个道理:任何事情看似一团迷雾,但是如果事情顺着发展你看到了谁是真正的受益者,就能明白所有的动机,就能让自己看清。

说到万历,通过笔者的描述,我觉得他是一个单纯的人,也有点可爱。他经过张老师的事情心灰意冷,再加上看着文官之间勾心斗角,又目睹了了申先生被人诽谤的事情,觉得这些官员群臣都是表面宣扬一套,暗地里又是一套,甚至有点阴谋论的觉得某些官员表演正直,实则讪君卖直,比如有些官员不惜触怒皇帝哪怕自身性命难保也要直言进谏,万历觉得这些人不过是为了流芳百世而故意诋毁自己,向世人卖弄他们的正直(其实也未必如此)。总之万历到后期即使再尊敬申先生,也不愿意参加早朝和经筵了,一拖再拖,并且找了很多神奇的理由,还经过了精心编撰,比如这条不能临朝的谕旨:其原因乃是心中火气过旺,服用凉药,凉药压火抵于足部,发生奇痒,因之搔破皮肤,行走不便。万历已经不愿意和这些他认为虚伪的群臣相处了,就采取冷处理的方法。他连流于表面的形式都不愿意去做了, 可见他对周围人真的很失望,对他所理解的矛盾的人性很失望。真是君孤独,臣也孤独。

1587年,万历的长时间不作为和冷漠,必然让自认为兢兢业业的官员很失望,而这种失望会在文官间蔓延。文官作为政治核心,如果核心不稳,那么社会的安稳就很有问题了。申先生竭尽全力维持的表面和平,也没有办法阻挡一国之主的长期不作为带来的人心涣散,即便他执政很久也备受重用,但是那样的环境,很难施展宏图。这被笔者誉为无关紧要却又至关重要的一年,又会有什么对明朝产生深远影响的变故呢?期待。

研究生考试 (01/13/2018)

国内研究生考试,我们一群人在边说话讨论边等候。我想了想自己除了英语,其他物理数学好像都不会,突然有点方。这个时候看到了一个马里兰的研究生同学,我就冲过去揪着他的衣服把他摇来摇去说:你都去微软工作了干嘛还来和我们抢研究生名额?他很冷漠的:我是来比赛拳击的。我恍然大悟。接着看到大家纷纷往外走,看来是要开始考试了,顺着人流走出一扇小门来到一个大厅,虽然是室内但是墙上都是放的那种3D全息影像,墙上闪烁着灿烂的星空,我似乎还认出了北斗七星,画面是流动的,每一颗星星都很璀璨。广播里解释道这样与时俱进运用高科技会给考生营造出置身于浩瀚宇宙的感觉,考试就会发挥的更好,我觉得好惊喜好酷炫啊突然就忘了自己什么也不会的事实。距离真正的考场还有一段距离,大家都挤上了一个拖拉车准备出发。突然看到了大黄狗在我旁边,说他也要考试,然后他就拿出一张他小时候和其他小朋友一起玩的照片让我猜哪个是他。

 

无人机和动物园 (01/09/2018)

我们来到了一座山上的小亭子里,里面已经呆着一个男生了,我们坐了一会儿,那男生拿出遥控指挥无人机飞了出去并在亭子周围盘旋,驼不甘示弱拿出自己的无人机和他比拼,比拼的过程中把他飞机的一个零件弄坏了,不知怎么的零件被我咬在嘴里,我很不好意思要帮他修,驼说没事不贵不肯我帮他修。然后我们突然来到了另一座山的山脚,我正在想怎么上去突然看到驼在往山上跳,但是他却没有走正常的楼道阶梯,而是在阶梯旁边的扶手上跳跃。到了山顶我们看到了一个动物园,但是动物很奇怪,有黑乎乎一大坨软软躺在地上的不知名动物,还有脸很大的兔子,一直跳啊跳的还冲着我们挤眉弄眼。边上还有美人鱼,但是却不在水里养着而是关在铁笼子里,长的也和刚刚的兔子很像,并且在卖弄风情。有一个很像刺猬的小动物突然间跳出来把我吓坏了,于是我逃跑它跟着,直到我纵身一跃做自由落体运动没想到它也在我旁边自由落体,吓得我大叫,驼在一旁淡定的降落还嘲笑我。

 

军舰和战争(01/04/2018)

我们8个朋友在军舰上,军舰周围都是雪。大家轮流准备食材,食材是去打劫得到的。美朝和好,金三胖投降,然而美国翻脸开始整朝鲜,三胖部下纷纷被杀。美国官员在军港视察,遇袭,火光冲天。我们从电视里看到了这一幕,突然感到世界这么乱,我们却很安逸。

 

烧卖

在中餐馆吃饭,点了一笼味道很好吃的烧卖,但是没有吃完,就打包带走了,出门发现车坏了,于是就穿着烧卖在大街上奔跑,觉得黏黏的不会掉,感觉很好。

 

花房姑娘(01/02/2018)

回到教室的时候发现里面摆满了各种各样的花, 有干花也有鲜花,还有一些绿植盆栽,教室透明的玻璃上也布满了花花草草,虽然记不得是些什么了。 我的座位旁是一盆大的满天星,簇拥的花朵正好悬挂在我的脑袋上方。座位旁边是一些小盆栽。讲台上老师正在急切的寻找着印泥,因为他用的已经干掉了,是那种个银色带着亮片的印泥,老师正在当橡皮泥一样捏着那块印泥向众人演示,我却急乎乎的给他找了两盒印章。

读书,给以有趣的灵魂吧

新年的愿望,希望灵魂更有趣些。不过在那之前,首先要充实。

看短视频是空虚的,看书却能让人清醒又充实。《三体》带给我的震撼记忆犹新,从此所有看过的科幻大片在我眼里都显得空洞了,三体对人性的刻画,对技术超前却又有根据的想象和脑洞,让我觉得烧脑又刺激,这是一部让我欲罢不能的科幻,沉浸在这个世界里的自己是惊喜的,奇妙的。

读书首先是摄入,但是我觉得输出最重要。所以读过了不要让它过了,先写下来,哪怕是粗浅的想法,但是经过写了下来又会在这个过程中有了些许理解;然后讲述给别人,这样一个过程又加深了理解。之后,可以读第二遍,甚至更多遍,只要你想。

没有输出的阅读可能没有太多意义,读完之后当下的那种思考最值得记录,不然等上个厕所吃个饭就忘记了。新年的愿望就是多读书,多思考,多输出。

期望深刻一点,有趣一点。

万历十五年(第一章节)

笔者想要描绘明朝重要的一年1587年。前两章讲述了两个性格截然不同却前后身居内阁大学士的人物以及与之牵扯的人和事,想要从微小事件中表达对明朝政治 “用四书五经的伦理道德治国,而非严格规章制度的法律治国” 的看法。

第一章的张居正是一个以两袖清风一切以国家利益为重而自居的人。明朝在作者看来是一个过于重视礼节经学的政权,因而从开国以来文渊阁的文官们就是政权的中坚力量,而武将的声音是鲜有人听的。张居正拥有天然的优势 – 万历皇帝从小的老师,可以说是到死都被万历尊敬甚至言听计从的人。由于万历的年幼即位,张居正一直对万历的全方位学习操心不已,安排了很多的学习计划,给他讲四书五经,忠孝仁义等等被当时政权信奉的东西(其实就是操控民众思想的东西)。万历每天都被安排的满满的,不比准备高考轻松,唯一的自由时间也不敢懈怠,因为那是复习的时间,并且第二天就会被要求背诵。这段作者写的很有意思:如果准备充分,背书如银瓶泄水,张先生就会颂扬天子的圣明,但如果背的结结巴巴或者读出别字,张先生也立即会拿出严师的身份加以质问,使他无地自容。

张老师总是能够大义灭亲提出对国家建设有用的建议,铁面无私,前期的确是鞠躬尽瘁,为国尽力,使得万历对他言听计从。我想,一个5岁小孩一直和张老师朝夕相处,看他言传身教,听他谈古论今,自身的价值观必然会被张老师所刻意塑造,也会对其产生精神上的依赖,才导致了之后张老师理应丁忧(父母去世卸职回家守丧三年的制度)却被万历不肯放行,从而导致群臣对张老师的各种误解,也为日后的各种悲剧埋下伏笔。

很少有受皇帝如此尊敬宠爱的人还能一直保持清醒的头脑,张居正在中后期也利用自己的权力敛财,并且排挤所有对他不利的官员,在重要的位置上安插的全是自己人,使得那个时候的实权几乎由他一人掌控,引发众怒在所难免,然而他太会塑造自己的形象,导致万历一直维护他至死。然而,死后却发生了重大的转折,再也没有人干预群臣的众怒,于是所有由张老师引发的冤案悲剧得以洗刷,所有人站在道德制高点谴责张老师,把他曾经的贡献完全忽略,把他贬得体无完肤,甚至加了不少莫须有的罪名,最致命的一条 – 图谋皇位。万历的心路历程是由一开始的不信,到看到证据的难过,念及旧情的不舍,和一再被铁证冲击的心灰意冷,到最后处理张老师的冷酷无情。读来让人唏嘘,这样一个对他来说即是老师,又如父亲的人,在自己面前如此清廉有道德的人,却有数不清的如此下作见不得人的事情,万历觉得自己的世界是崩溃的。第一次对人生产生了怀疑,张老师亲手给他建立的人生的道德标准,却用行动毁掉了它。这个事情导致了万历之后对大臣们的心灰意冷和漠不关心,滋生了君臣矛盾,并对今后朝局的不稳定有决定性的作用。

当然,皇家的冷漠无情也和他们的痛心一样深刻,万历没收了所有张老师资产,废了他的所有儿子并且流放,总之张老师死后他的家人很惨,他自己也早被刻画成了一个遗臭万年的人,他所有曾经的鞠躬尽瘁也不会再被提起。所以说,皇恩浩荡,不过如是,尽管万历痛心,也一样无情。但是,万历还是公允的,针对张老师“图谋皇位”的奏章,他回顾自己与张居正的朝夕相处,从未觉得他有任何谋逆之心,所以在最后万历也从没有给张居正加上这一条罪行,在我看来,他是清醒冷酷又痛心。之后又有一个小插曲,在处理了张老师很久之后万历还会问张老师被没收充公的房子是怎么处理的,是卖了还是租了,如果租了租给谁了?可见万历对他的挂念,这些矛盾的情绪夹杂在一起,因其复杂,才真实有趣。

作者还对明朝当时的繁文缛节进行了详细的描述,比较经典的就是早朝和经筵,全部都是流于形式,效率底下到了极致。大家很熟悉的早朝,需要皇帝大臣都很早起床,从正门进入皇宫,有乐队和象队,还要根据身份地位的不同依次跪拜。。等等,大部分的时间都不是讨论国家要事。经筵也是流于形式的给皇帝上课的一种,细节 – 引导皇帝开始讲课的赞礼官们(绘声绘色的赞礼欢呼),给摊开讲义的左右各一个展书官(还要站的对称,用一块铜尺把讲义压平),讲课的讲官又是另一个人(还要把对皇帝的劝诫通过由古及今的方式暗藏在讲话中),开始正式讲课之前需要磕头,并且展书官退后,讲官上前等等走位要到位。原文对这一细节描述的很有滋味,让人真的有 “一本正经在搞笑” 的感觉,最后笔者指出其实大家期待的只是 “讲经” 之后的 “筵席”而已。这种效率的底下各朝各代都有很多,但笔者显然认为明朝这样的现象由其严重,导致了最后明朝的悲剧。

第一章的信息量很大,涉及人物也很多,对一些细节的描述很详尽,历史人物也是有血有肉,读的时候脑子里面就在演着一部电视剧,画面感很强。第一章第一遍,理解还很浅显,读历史和读科幻有着不一样却又有点相似的乐趣,我很喜欢。