diff --git a/2020/08/22/hello-world/index.html b/2020/08/22/hello-world/index.html new file mode 100644 index 000000000..caf1cf081 --- /dev/null +++ b/2020/08/22/hello-world/index.html @@ -0,0 +1,85 @@ +Hello World | 叶子的花园 + + + + + + + + + + +

Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

+

Quick Start

Create a new post

$ hexo new "My New Post"
+ +

More info: Writing

+

Run server

$ hexo server
+ +

More info: Server

+

Generate static files

$ hexo generate
+ +

More info: Generating

+

Deploy to remote sites

$ hexo deploy
+ +

More info: Deployment

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2020/08/23/test/index.html b/2020/08/23/test/index.html new file mode 100644 index 000000000..5b142f707 --- /dev/null +++ b/2020/08/23/test/index.html @@ -0,0 +1,220 @@ +Test | 叶子的花园 + + + + + + + + + + + + + +

Test

balabala

+ + +

labalaba

+
+

一个404的网址:https://mskclover.com/404.html/

+

样式摘录

+ +
+

Primary

+
+
+ +
+ +
+

Success

+
+
+ +
+ +
+

Warning

+
+
+ +
+ +
+

Danger

+
+
+ +
+ +
+

Info

+
+
+ +
+ +
+

Gray

+
+
+ +
+ +
+

Yellow

+
+
+ +
+使用方式 + +
<div class="primary">
+
+> Primary
+
+</div>
+
+<div class="success">
+
+> Success
+
+</div>
+
+<div class="warning">
+
+> Warning
+
+</div>
+
+<div class="danger">
+
+> Danger
+
+</div>
+
+<div class="info">
+
+> Info
+
+</div>
+
+<div class="gray">
+
+> Gray
+
+</div>
+
+<div class="yellow">
+
+> Yellow
+
+</div>
+ +
+ +

Details 折叠

<details close>
+<summary>details</summary>
+
+Details
+
+</details>
+ +

文字位置

<p align="center">文字居中</p>
+
+<p align="right">文字居右</p>
+ +

文字居中

+ +

文字居右

+ +

文字加粗

<b>文字加粗</b>
+ +

文字加粗

+

文字的上下标

测试文本上标词

+
测试文本<sup>上标词</sup>
+ +

测试文本下标词

+
测试文本<sub>下标词</sub>
+ +

文字亮色

<label style="color:red">这是一段红色的文字</label>
+ +

+

+

以此类推

+

文字高亮

<p><mark> 元素用于 <mark>高亮</mark> 文本</p>
+ +

<mark> 元素用于 高亮 文本

+ +

隐藏文字

<spam class="heimu">这是一段需要隐藏的文字</spam>
+ +

这是一段需要隐藏的文字

+

图片自定义大小格式

<img src="/images/beginner-of-ns-3-and-openai-gym/cover.jpg" width="450" alt="cover" />
+ +

cover原始图片大小

+cover +
修改后的图片大小
+ +

文字涂黑

██████████████████

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2020/08/24/biuld-my-blog/index.html b/2020/08/24/biuld-my-blog/index.html new file mode 100644 index 000000000..d4392bb01 --- /dev/null +++ b/2020/08/24/biuld-my-blog/index.html @@ -0,0 +1,90 @@ +搭建博客 | 叶子的花园 + + + + + + + + + + + + + +

搭建博客

我的博客.png

+

这几天我按照云游前辈(@YunYouJun)的教程终于搭建了自己的博客,还是蛮有成就感的。虽然我在博客的搭建和运行的过程中,仍是有许多的地方理解不了,但这个博客至少现在“五脏俱全”了。而其他的高级和自定义的功能,在以后的日子里慢慢学习、摸索也不迟。

+

可是,为什么想要搭建一个自己的博客呢?

+ + +

我最开始有这个想法,是在高考结束以后,无意中看到了一篇文章“为什么你应该(从现在开始就)写博客”,虽然文章是写于09年的,里面所说的东西放在今天可能已显得过时了,但它给我留下了一个“想要拥有自己的博客”的念头———虽然这个念头没多久就被我抛在脑后了,惭愧。不过,那颗种子已在心中种下,在遇到合适的契机的时候,自然就会生长发芽,最终开花结果。

+

后来因为疫情的缘故,大家都呆在家里。我在家里也没白闲着,就翻出了好多以前想看却又没机会看的电影,一部部地看。

+

影碟扫光.jpg

+

也是因为一个偶然,我右键点播放器以后,弹出“Dplayer”和“关于作者”几个选项。我就好奇地点第一个,发现是 GitHub 的界面,一看是一个开源项目,便更加的好奇作者是一个什么样的人。于是再返回点击“关于作者”,本以为会到作者的微博什么的,没想到居然跳转到了他的博客(Hi,DIYgod)。当时也被震惊到了,我第一次发现原来博客还可以这样写(和布置界面),这样来向来到这里的人展现作者的生活和风格。我那天几乎看完他所有的博文,不管看得懂还是看不懂。他做的很多小项目也很有意思,比如“女朋友的微博情绪监控”、“野生 DIYgod 捕获指南”和“我藏好了哦”这些我真的好羡慕他,那么有趣,又厉害,又有风格。(对了,我的 RSS 也是他最开始带我了解的)

+

至此,我坚定了想要搭建自己的博客的决心。

+

我上网搜了很多搭建博客的教程,可惜很多都太老了,还有一些又写的好复杂,让人感觉云里雾里的。最开始是打算购买域名,租用服务器,然后使用 WordPress 搭建的,后来发现了云游前辈的《教你如何从零开始搭建一个属于自己的网站》,正好之前 DIYgod 的博客也是依靠 Hexo 搭建的,我对这个框架也有一点点了解,就决定参照这篇教程搭建博客了。终于在学期考试结束的后几天,我把自己的博客搭建好了。中途也遇到过一些困难,不过还是在前辈的帮助下解决了那些问题。

+

这差不多就是我搭建这个博客的原因了,我也在想,如果没有那几次契机,我还会这样热衷于搭建它吗?还是像我的同学所说的“有什么东西在微博知乎上写就好了”那样呢?

+

谁知道呢。至少,我终于拥有了自己的博客。

+

(完)

+

2020年8月26日星期三
于自修室

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2020/09/10/bewilderment-thought-and-a-little-determining/index.html b/2020/09/10/bewilderment-thought-and-a-little-determining/index.html new file mode 100644 index 000000000..8ea1c0ae2 --- /dev/null +++ b/2020/09/10/bewilderment-thought-and-a-little-determining/index.html @@ -0,0 +1,141 @@ +大二前的迷惘,思考,和一点决心 | 叶子的花园 + + + + + + + + + + + + + + + + +

大二前的迷惘,思考,和一点决心

第一次电路实验我的第一次电路实验

+
+

“If you do not make a choice, the choice makes you.”

+
+ + +

背景

引子

最近我一直在想一个问题,我是否应该继续像现在这样学习编程。以前我从来没有想过这种问题,之前就算有这方面的考虑,想的也只是我应该怎么学,应该用多少时间来学。我很少会怀疑自己,但一旦开始怀疑,那我在想通之前,是很难再集中精力,按照之前的状态再继续下去了。我索性就趁着刚刚开学的日子还有点闲暇的时间,给自己放了两天假来好好地想一想问题。

+

我的专业

我就读的专业是信息工程,简单来说就是无线电通信,听说是做天线和信号处理方面的。最开始的时候,也有些新奇和期待,想知道这个专业到底学些什么,也因为开了一些编程方面的课而开心过。一般来说,只有了解慢慢深入以后才会了解这个专业,当时对它也不甚了解,自然也谈不上喜欢不喜欢。不过,在想了快一个月的现在,我发现就算学到后面,也仅仅是学到了某些课程而已,对这个专业依旧知之甚少,可能只有工作了以后才会有更加全面和深刻的了解了吧。

+

我爸希望我能够学一门实实在在的技术,就算以后社会发生了什么大的变革,我也可以凭借这门技术混口饭吃。而且我对CS和EE的兴趣是差不多的,也想过哪个赚钱多就学哪个,现在计算机最热门,赚的最多,所以在高考志愿上它就排在了信息工程的前面,不过最后分数差了些,就来到了这个专业。从某种程度上说,这个专业也是我自己选的。

+

与它初识

写到这里,突然想起来我们的院长在专业导论课上半开玩笑似地问过我们:

+
+

“有谁是自己愿意填报这个专业的?”

+
+

记得大家好像都笑了,因为我们专业一直都流传着这样的一句话:“要不是计算机不要我,谁还会来这里啊?”

+

其实我在志愿被录取以后,也在一些网站和论坛查过这个专业怎么样,学些什么。大家几乎都众口一词的告诉我,这个专业学得泛而不精,因此不仅压力巨大,而且一定要读硕深造才行。更有甚者,直言这个专业开设得就极其失败:开设者的初衷是好的,想把学生培养成一个既精通硬件又精通软件的全才,可惜学得太泛,反而得不偿失。

+

我起初并没有在意这些话,因为我的学校是华南理工大学,不论大家日常如何调侃,她也是广东的名校之一。学校肯定也是想把学生们培养好,不会自砸招牌,加之我们开学之初上过前面有提到的通信导论课———虽然也只有一节,但我还是对这个愿意亲自抽时间引导新生了解专业的院长产生了好感。院长讲课很温和,他曾经也在香港的大学任过教、做过研究,所以理念也不算太过保守,比较合乎我的期待。并且见到的老师都很好,认真又负责,根本不像网上对大学老师的常见看法那样。我每念及此,便对自己的未来充满了信心,认为自己的大学生活一定是充实而圆满的。

+

就像我也有着光明的未来一样。

+

光明的未来“张华考上了北京大学,李萍进了中等技术学校,我在百货公司当售货员:我们都有光明的未来。”

+

困惑

但当自己的了解逐渐深入以后,才发现这个专业好像并不是我想象的那样。我们既学习C++、数据结构和软件工程,又学习电路、模电和数电,还会学习一些专业课如信号与系统。正如那些评论中提到的那样,感觉什么都学一点,可是都学的不深入,让人感觉最后毕业的时候好像什么也不懂。我听过一个学长开玩笑说:

+
+

“咱们这个专业本来算是硬件领域的,现在学校又让我们往软件方面靠。这样一来我们论软件搞不赢计科和软工,论硬件也不如自动化和机械。通信领域的需求又不大,咱们以后也只有去搬砖喽。”

+

其实并不只有通信这一个方向,但它是我们专业最正统的方向=.=

+
+

因此,当我循着学校的课程走下去的时候,我却越来越怀疑我是否走在正确的道路上。

+

迷惘

刚来的时候大家也说,现在5G这么火,学这门专业肯定没错啦。然而,在我逐渐了解之后,才发现5G是过火了,实际生活中也并没有什么用武之地。物联网确实是5G的一个重要方向,但一个从2G时代开始就一直被提起的概念,实在是让人难以相信它对现在的我而言是一个很好的方向。因为即使是到了现在,我依然认为距离它的成熟还有好多年,我可不想成为那些被不成熟的技术所耽误了的人。

+

对于我以后的方向,现在想来,就和很多大三大四的学长学姐一样的迷茫,不知道未来是应该读研还是工作,也拿不准未来从事什么领域的工作……

+

学习和课业

讲到学习方面,老师们对于授课一事的确是比较认真负责的,一些年轻的老师上课时也富有激情。可是,有些老师也真的让我感到两难:上课有激情确实是一件非常好的事,可是讲不清楚知识点的话,一切都是白搭。老师这么认真负责,让我真的不好意思不听课而去自学,更何况我是我们班的学委,也一直坐的是第一排。如果我不听课了,坐到后面去,心里会有点担心老师会不好受。虽然我也知道老师并不在意这个,或许也根本意识不到第一排的某个位置换了一个学生,但我就是心里过不去。所以这让我不得不在老师的课堂之外再继续学习,找其他学校的课件再听一遍,有些累,也感到这时间的花费着实是有些不值得。

+

我从小学开始,在学校就是平平无奇的学生,一直跟着老师走,老师教哪里,我学哪里;上了大学也是这样,几乎没有迟到和早退过,更是没有旷过任何一次课,包括最让人感到虚度光阴的毛概:虽然现在已经不再是闭卷考试了,可老师是一个很好的老太太,我真不忍心鸽她。我也是上了大学才意识到,这里再也不像以前那样,在学习上只需要跟着老师走,其他的都不用管的中学时期了。

+

改变

+

“谁在年轻的时候愿意相信自己是一个普通人呢?”

+
+

我想要变得不平凡,就需要在教学之外去学更多的知识才行:我有一个很仰慕的师兄自学了机器学习,以后想要进入图片识别方向的实验室;另一个师兄的兴趣在硬件领域,他也在课堂之外,自己掌握了计算机视觉,还曾经进入过华南虎的队伍。和我同级的同学里面,有一个朋友也已经在算法和机器学习方面走了很远,另一个同班同学想要做一个全栈工程师,已经自学了前端和后端。在我们之中,好像他们都有着自己的目标和梦想,而为之努力,就只有我一个人在原地茫然无措,看着他们朝着自己的方向与走愈远。

+

于是我看着Twitter上的大佬们,对自己说我也要学软件,我也想和他们一样的厉害。我去找了《Accelerated C++》和《Effective C++》一类的书从头开始,制定了自己的阶段学习目标,却又发现,推上的大佬们都可以写自己的操作系统了,本科毕业以后就有能力进入微软工作,在GitHub上有无数的PR,而他们的年岁和我相差不大,也有比我还要小的,这让人不免有些泄气。

+

不过,这个尚且还不会让我迷茫,毕竟我相信在我的努力下我可以追上他们(真的会吗?我感觉不会,如果你这样就能追上大佬们,那他们还不如找块豆腐撞死算了),至少也是勉强地跟在后面吧。真正让我思考我现在的做法是否合理的,是开学后我悲哀的发现,大二的课程难度上升以后,里我无法同时兼顾学业与以前那个强度的编程学习了。

+

做取舍

所以我必须要做出取舍:要么是放弃那个强度的课外学习,那可能意味着我再也追不上CS和软工他们科班出身的人了,也不会找到太好的工作;要么是减少花在学业上的精力,可是那样我就无法取得一个很高的绩点了,颇有点本末倒置的意味。我本想不管不顾的,就像是只要我看不到,它就不存在一样,等到需要做决定的时候再想这个。可生活完全不给我逃避的机会,第一周上课的时候,模电就让我有点难以理解:老师说我们以后用不到BJT原理到地方,就用不着去了解,所以她把原理就粗略地一笔带过了。可是我学习向来不会死记硬背,一直是习惯于依靠事物的原理去记忆结论和定理,这就让我很是难受,而我在课外去学习它的原理和其他的一些不理解的东西,又会占用原来计划给编程学习的时间,这让我无法回避这个问题了。

+

在自己的专业难度很高、压力极大的情形下,我也很担心像后者那样,不听本专业的课,全靠自学软件,会不会最终两头皆空?不仅自己的专业知识没有学好,而且在软件上投入的这么多精力最终也只学了个七七八八。这种未来的不确定性,在有些时候真的很让人感到恐惧,特别是自己有一个更为稳妥选择的时候。所以学好课内的知识,于我而言,比这个稳妥多了。

+

是,我也知道,高收益往往伴随着高风险,可是这是我人生的重大抉择,优柔寡断的我真的难以做出决定,我也害怕自己以后一事无成,所以往往也倾向于更为稳妥的选择,但这样又失去了本心。

+

思考

有些焦虑

+

“身边人走得越快,你越不能为之着急。”

+
+

这件事想了很久也没有结果,我本来就是一个有点优柔寡断的人,现在遇到了关乎于自己未来的选择的时候,更是难以做出决定。

+

那天晚上我心思烦乱,就没有带书去教室,只带了电脑蹭学校的网,想去查查电信专业以后可以从事什么行业。其实刚开学的时候也查过,记得好像很多行业的专业要求里面都有我们,可是我这次再去认真看看,发现里面的很多要求我都不会,因为我们专业的方向太多范围太广的缘故,术业有专攻,以后也不知道以后我会不会有一个很好的出路。

+

我后来也一直在看我们专业——信息工程以后到底可以做什么。说起来可笑,我在对以后信息工程的职业方向上的了解,居然还不如我对CS和软工了解得多。我看到我们专业其实以后好像真的是做什么都可以,不过那些都需要进一步的学习,我们专业本科教授的所有知识都仅仅是知识理论而已,这是一个基础,非常的庞大,也非常的浅薄。至于更深层次的知识,那得看我以后具体从事哪方面的工,再额外去学习罢了。这样的优点自然是类似通识教育一样,基础的范围极广,因此以后选择的兴趣和工作的范围也很广阔;缺点自然是学得太浅了,而且都是理论化的东西,这就是真的软件水平拼不过别人,硬件也比不过。

+

帮助

我感到心烦意乱,不知所措。记得在那天的晚上我给我妈打了电话,我主要是想问一下,如果我以后放弃学业,转学软件这个想法怎么样,听听她的意见。我把自己的想法大概的给她说了,她那边静了一下——可能是在组织语言,也可能是因为延迟的原因——她还是建议我不要这么做。她对我说:“当你感到困惑的时候,为什么不先把手中的事做好呢?”我好像豁然开朗,之前一直说纠结到底是学什么更好,但从来都没有想过,既然我已经就读了这个专业,它也不算太差,那就没有必要纠结于此了,而且,也没有必要和他们比谁的软件写得更好啊,各自有各自的路,我也可以在这个领域取得和他们一样高的成就呀!

+

学校,她

+

“我可以骂自己的母校一百句,一千句,但是我不允许其他人骂她一句!”

+

——来自我以前的一个老师

+
+

对于我的学校,我并不认为我就读的这所学校不好,虽然日常我也经常嘲讽它是“三流985”,但这并不妨碍我怼说她不好的旁人,此处点名中大的同学(笑):

+

中山大学最大的自信 “我们最大的自信来源于华南理工大学。”
因为今年我们学校国庆一番调课猛如虎,只放了三天,一算才发现加了四天的课,所以我们又把这张图搬出来了。

+

我认为我的学校,华工,她在中国所有大学中间也是很好的了。比如现在(指7、8月份),在大多数学校依旧封校的情形下,虽然我们也有不准擅自出校的要求,但学校也只是睁一只眼闭一只眼,并没有强迫我们留在学校,而而不像其他学校,对教职工和留学生唯唯诺诺,对自己的学生重拳出击(限制学生出校和点外卖,却放任教职工和留学生随意进出,做那表面功夫)。我认为我的学校是很好的,我很骄傲能够成为她的一份子。没错,她也有自己的缺点,也有自己的不足(比如《华南理工大学笑话30则》,但是,这些并不影响我对她的感情,我爱这里的校园(虽然没有保留下来什么古迹),爱这里的老师,爱这里的同学(大部分吧)。总之,我爱她。

+

选择

+

我记得很清楚,我的电路老师跟我们说过一句话::“条条蛇都咬人。”

+

意思是无论你做什么选择,没有一条道轻松的。

+
+

不论我以后能够从事什么职业,做什么工作,现在这样怨天尤人是没有用的,我终究还是要好好的充实自己,踏踏实实地学好手上的东西。软件也好,硬件也罢,它们其实并没有高下之分,只是人们因为自己的短视和趋利,在自己的心目中分出了高下而已。为什么我之前想着非要现在做选择呢?我确定自己对这些领域的了解已经够详尽深刻了吗?答案是显而易见的。所以无论如何,我得先把课内的东西掌握好,然后才可以去涉及其他的领域。

+

其实,某位前辈的话:“先把基础打好,空闲的时候按照兴趣学学软件,大三去假期实习一下什么都明白了”,也让我很受用,所以现在也没有当时那么强的执念了。当然也有可能是因为时间过久了,思绪就渐渐散去了。

+

现在回想起来,当时的那个念头真的有点可怕,如果我真的打算孤注一掷,那几年以后我会是什么样的呢?是成为了一个资深的程序员,还是一事无成呢?我想,多半是后者吧。

+

之前也有一个很要好的同学评价我说“眼高手低”,现在看来果真是如此的。

+

后记

这篇文章我写了很久,最初应该是上个月10号的那个晚上开始的,那两天完成了文章的前半部分,然后因为刚开学的缘故,事情多了起来,很难有一个连续的空闲继续写了,而且我当时也没有想得太清楚,也不知道这篇文章应该怎么继续写下去了。后来就是得闲时断断续续地添加一些小念头,或是删去我后来认为不太合理的地方,没有什么大的改动。直到现在的国庆和中秋假期,我终于花了一个下午和一点晚上的时间将它写完了。

+

本来我还有好多东西也想要继续加进来的,但我担心像是软件开发一样:想做的功能越来越多,导致工程的进度停滞不前,一直都在开发之中,直到最后也没有开发完(此处点名Windows Vista)。而且,我后来写的时候发现,当时那些强烈的感觉在现在几乎已经感觉不到了,我甚至不相信这些字句竟然会是我自己写的…… 拖得越久,我与文章的共鸣可能就会越来越微弱,再也难以表述我的真情实感了。所以我不打算再拖下去了,想着最后再润色一下,就发到博客上去吧,如果有什么不足,后来再修改也不迟。

+

不过,既然我写出了这篇文章,那我多半也算是想通了。为什么说是“算是”呢?因为之前我也以为我想通了,想要写篇文章把这些记录下来的时候,不曾想写着写着发现自己又没能想通。所幸的是我已经说服过了一次自己,做出了这个决定,再说服一次也不难。想通了就写,写了又发现没有想通,文章这样断断续续地写出来了。至于现在想没想通?不知道,但我已经有决心了。

+

10月1日,国庆与中秋,于博学楼。

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2021/01/19/2021-blog-posts-writting-plan/index.html b/2021/01/19/2021-blog-posts-writting-plan/index.html new file mode 100644 index 000000000..28fa77190 --- /dev/null +++ b/2021/01/19/2021-blog-posts-writting-plan/index.html @@ -0,0 +1,95 @@ +2021寒假博文写作计划 | 叶子的花园 + + + + + + + + + + + + + + + +

2021寒假博文写作计划

hit-your-dog-head图源自网络(我知道是鸡汤但他说得好有道理.jpg)

+
+

“你需要的是一个截稿日,以及一个不交稿就能打爆你狗头的人。”

+
+ + +

寒假开始已经有一周多了,这段时间本打算继续看书,写篇博文的。但我还是太懒了,一放假就什么都不想做,在家打打游戏听听歌,连续几天出门和要好的朋友一起玩之后,蓦然发现这居然已经过去这么多天了。而我之前在我的《寒假设想》里写了很多想要做的事,所以我想在接下来的日子里完成它们——至少也要完成大部分吧,写博客当然在其中占了相当大的比重,于是就想着制定一个博文的写作计划。

+

每次制定计划的时候,都会不由得想到胡适先生日记里的那段:

+
+

7月16日

+

胡适之啊胡适之!你怎么能如此堕落!先前订下的学习计划你都忘了吗?
子曰:“吾日三省吾身。”……不能再这样下去了!

+

7月17日

+

打牌

+
+

所以就想着干脆把这个计划挂在博客上,每当自己想鸽的时候都会想到”我的博客上除了我的计划什么都没有“,便会“发奋图强”、”头悬梁 锥刺股“,将博文写完传上来(虽然现在想得这么美好,但想来后来人看我博客的时候没准只见到这个计划孤单的悬在那里,而其他的文章不知所踪了吧。

+

my-words(本来是想在博客上用tag显示的,但一时半会弄不完,就先用截图吧)

+

之前转发过无辄大佬的“每周写一篇博文”的推文,所以我打算就从现在这周开始写,暂定为《电路,数电与模电学习指北》一文吧,说一说我在学完这三门专业基础课以后,个人对此的一点想法。接下来的计划也会在这里更新,欢迎大家感兴趣关注一下啦(想什么呢根本没人看

+

就先到这里吧。

+

2021年1月19日

如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2021/02/15/2020-final-summary/index.html b/2021/02/15/2020-final-summary/index.html new file mode 100644 index 000000000..378988631 --- /dev/null +++ b/2021/02/15/2020-final-summary/index.html @@ -0,0 +1,223 @@ +2020年终总结 | 叶子的花园 + + + + + + + + + + + + + + + + + +

2020年终总结

campus我大一时的校园

+
+

记我这不寻常的一年

+
+ + +

转眼间,又是一年过去了。回想起今年初的时候,我还是一名懵懂的大一新生,在紧张地准备考试。考试结束后,为了能留在广州和队友一起准备,搬去了另外一个校区里学校划定的集中宿舍,买好了年三十回家的火车票,在图书馆里学习数学模型。在那个宿舍里我还认识了一个同专业的同学,他在准备ACM比赛,我们都是早出晚归,相处得还蛮不错的。他比我早几天回家,年关临近,迟钝的我终于听说了有一种疾病在武汉蔓延,那时我以为是一种普通的流行病而已,就忽略了妈妈让我准备口罩的事。后来我妈妈在电话中再次强调了戴口罩的重要性,在我找遍了学校周边所有的药店才买到最后一包口罩的时候,我才意识到这次的疾病恐怕不太寻常。但我真的没有想到,这次的疫情几乎完全打乱了我的大学计划,也改变了我的生活,至今我也不知道这改变到底是好是坏。

+

2020年发生了很多的事情,好多当时认为难忘的事现在已变得模糊不清,好在我一直都写着日志,在六月中旬也写过一篇“2020上半年总结”,算是保留了些当时的痕迹。介于这是我第一次写年终总结,不知从何下手,所以就参考着当时的我在日志中的记述和感想,将其中的大事整理了一番,写下了这篇总结:

+

历程

一月:准备期末考试和美赛
二月:打美赛,开学
三——六月:网课学习,开始上推、冲浪和读书
七月:西藏旅游
八月:开学,返校考试
九月:搬迁至五山,正式行课
十——十二月:平凡的大学生活

+

美赛

我记不得去年大一上的期末考试是什么时候了,回去翻了翻日志和Google Calendar,是1月13号。我当时想着寒假里继续看书,学习Latex、Matlab和Python准备美赛,因为需要留在广州和队友一起准备,加之喜欢在学校的学习环境,所以订了大年三十(1.30)的火车票,打算就回家过个春节,7号便返回广州,和我的两个队友一起继续准备比赛。

+

这听起来很符合一个刚上大学、对什么事情都充满热情与干劲的大一新生的模样。但计划总赶不上变化,在我回家之前,疫情就已经爆发了,23号武汉封城,当时学校这边也人心惶惶。好不容易买到了一包口罩,听父母的建议想要改签车票,早点回家,却没有成功,最后我戴着两层口罩挤了七个小时的火车回家,在家里自我隔离了14天,没有出现不良反应,还是蛮幸运的。

+

由于美赛在家准备,和队友无法见面讨论,许多稀松平常的事情都成为了我们预料之外的难题。我们也尝试通过视频会议等方式克服,但还是比不上在学校里当面合作的成果。所以最后提交了论文以后,我很是遗憾拿不到像我钦佩的师兄一样的M奖…… 现在每当想起美赛,都很是遗憾,不过却不再对没有拿F奖感到遗憾,而是遗憾于玩失去了这段在比赛的那几天和队友同吃同住、不眠不休、共同奋斗的经历。

+

疫情宅家与网课

后来疫情也逐渐严重起来,学校也迟迟没有发布是否开学的正式通知,有关疫情和学校的谣言满天飞,整个人对互联网上的那些虚虚实实、真真假假的事情感到糟心,在家里也看不下去书,索性就颓废看剧,等着开学。

+

临近原定开学日期的时候,看到群里有同学在猜测开学会延后多久,那时的我猜测可能会从二月底延期到三月或者四月,还有人开玩笑“说不定就不开学了”,呵,一语成谶。后来形势也越来越严峻,好些个高中同学都陆陆续续收到了这学期改为网课的消息,没过几天华工也出了正式通知,这学期改为网上行课,后面的安排另行通知。

+

几个月前,我还对一位在香港求学的好友开玩笑说,“真羡慕你们可以在家里蹲啊”,现在好了,我也只能蹲在家里了。不过那时的我们可高兴坏了,纷纷庆祝能够有这一全新的上学体验,希望这学期都能在家里上课,而不是学期过半还要回学校。

+

我自三月以来的网课生活可谓是一张白纸,没有什么可以展开讲讲的,因为每天基本上都是一成不变的生活,每日所见所闻皆只有小区和家里,除了周边有无病例以外,没有什么新鲜事。不过也正是因为在家里的这段时间,我注册了推特,这才了解到原来除了学习、看书看剧和玩游戏以外,还有好多值得做的事情。

+

那段时间翻了好多其他人的博文,读了好多书,看了好多剧和电影。但我一点都不怀念那段时光,因为不像是在上大学,见不到老师和同学,人际交往几乎为零,而且在家里学习,真的效果不好,没有了在学校/图书馆的氛围,加之学校后面通知了期末考试返校以后再考,人就松懈了好多……

+

西藏之行

今年因为疫情的原因,我和朋友取消了寒假的旅游计划,不过在疫情好转以后,我们在7月初去了西藏。

+

早就在书上看到过神秘的藏传佛教和佛塔,还有拉萨的地标布达拉宫,就一直很想去这个充满异域风情的地方看看。我和好友都很喜欢历史、艺术与文化方面,一拍即合,去了西藏的拉萨和林芝——一个是西藏首府,文化中心,当然要去;而另一个我们还商量了很久,因为时间的关系,只能再去一座城市了,我们在纠结到底是去林芝还是日喀则——林芝的海拔较低,而日喀则仍在高原上;两地的自然风景都各有特色,不过林芝的汉人较多,汉族特色也比较浓厚,而日喀则少有汉人,城市比较偏向藏人的生活方式。不过汉人的多少毕竟是相对而言,许多藏人不会居住在城市里,而且在西藏像这种比较大的城市,几乎都已经汉化了。我想去日喀则还有一个原因,是因为那里距离珠峰较近,或许可以从那里出发去亲眼看看珠峰。后来发现日喀则到珠峰单程得4小时,也担心我们有高原反应,便就此作罢,订下去林芝的行程。

+

potala-palace7月在布达拉宫前 她与50元的合照 (^▽^)

+

旅游途中忘记写游记了,所以只剩下些照片和门票,就不多写了。不过,真的推荐大家计划国内旅游的时候考虑下西藏,不是为了“洗涤心灵”什么的,而是去感受一下与汉文化迥异,却又藕断丝连的西域文化(要注意高原反应喔,虽然我们并没有什么感觉)。

+

返校学习

这段时间感觉也没有什么值得说的,可能是因为我的大学生活一如既往的单调吧:一周里无非就是预习,上课,复习,泡图书馆,在实验室看看师兄在做什么,周末睡懒觉,偶尔出去改善下伙食。在学校里也没有女朋友,每次看见路旁的情侣们都很羡慕,在网上吹水的时候豪气干云,在现实里还是怂得不行。草,这样一写好像我的生活真的好苍白啊。

+

苍白?

其实每天都发生了很多的事,不过都是小事,被记在我的日志里就行了,写在年度总结里,既繁琐,也不合适。但真的,真的,我的生活怎么会像上面说的那么无趣!要是那样人早就不正常了吧。虽然我不像是其他人那样去实习,或是建立/维护开源项目,没有做什么大事,但我每天的生活也都在认认真真的过!在学习上花很多的时间,是为了理解老师教授的知识,也为了能拿到一个漂亮的GPA;泡图书馆,是因为那里的网络好可以刷推 是因为我在那里可以看书,不仅仅是专业书,也常看感兴趣的书,比如后面推荐的那本《邓小平时代》;在实验室去和师兄吹水,提前了解后面的学习内容;虽然没有女朋友但我有麦当当啊,每周都会去那里,多快乐的。

+

所以你看,大学生活平凡,但并不苍白。

+

迷茫

之前是写过一篇博文,算是这段时间心理状态的一个投射吧。在高中那时我就知道了,在心乱的时候,最好的排解或许就是不要去刻意的散心或是发泄,将注意力转移开,不去想就好。埋头学习,总会比思来想去什么都不做要好。

+
+

不论我以后能够从事什么职业,做什么工作,现在这样怨天尤人是没有用的,我终究还是要好好的充实自己,踏踏实实地学好手上的东西。软件也好,硬件也罢,它们其实并没有高下之分,只是人们因为自己的短视和趋利,在自己的心目中分出了高下而已。为什么我之前想着非要现在做选择呢?我确定自己对这些领域的了解已经够详尽深刻了吗?答案是显而易见的。所以无论如何,我得先把课内的东西掌握好,然后才可以去涉及其他的领域。

+
+

其他

开学的时候般去了五山校区,也就是华工的老校区,多不错的,终于像是个大学了,之前的那个校区里只有宿舍,食堂和教室,什么都没有,像是读了高四一样。不过我们专业分到的区域很偏,去图书馆走路还得半个小时……不过相比于乘校巴或者小电驴,我倒是更愿意走过去:一来可以锻炼身体,欣赏风景 和漂亮的女孩子 ;再者可以在路上听听音乐或是播客——比如《牛油果烤面包》和《捕蛇者说》,后面会再提到的;三是在路上也能调整状态,驱散身体里对睡眠的渴望,以饱满的精神开始新一天的学习。

+

还有就是运动,在家里宅久了,很少出门,导致走几步路就有些喘,身体还比不上高三那会儿呢——至少那时每天晚上回宿舍之前都会在操场上跑两圈的。所以后来到了学校,一开始也想着一定要每天跑步,结果跑几天以后,又找借口偷懒,把当初的愿景扔在一边了。所以希望新的一年,能够坚持多跑跑步吧。

+

我的生活

这里我想记下今年我看过的书籍、电影,喜欢的音乐,玩过的游戏,或者是见识过的远方什么的。按照年终总结的惯例嘛,我也想要推荐一些我喜欢的给大家。不过我并不只是单纯地罗列出她们,因为我看到@JmPotat0在他2020年的year review中写道:

+
+

根据大家对「年终总结」这种东西的刻板印象,一般写到这里总要列一列各种「我心目中的 Top 10」。我再三尝试过后,选择了放弃。做不出所谓的 Top List 不是因为每一个都很喜欢,或每一个都不喜欢,只是觉得很难量化地给情绪打上各种各样的标签,“最让我xx的十部电影”,“最让我xx的十本书”,很枯燥,也很无聊,没有人设身处地的和你一起体会在观影阅读时的各种共情同理时刻,仅凭一个 List 就想打动别人,说服别人,实在是有些天真。

+
+

所以我在推荐之余,也会一同附上我的一点书评/影评/小游记,让大家根据这些挑选自己感兴趣的。如果你根据我的推荐,读了其中的任何一本书——包括后面的电影、游戏和音乐——并且也很喜欢,那我这里的推荐也有了其价值,当然,我也会很开心的。

+

书籍

今年我还是看了蛮多的书,不过它们大部分都不是专业书籍,而多是小说、传记,哦,还有漫画。

+

专业书

    +
  • 《编码:隐藏在计算机软硬件背后的语言》

    +

    其实应该算作一本半专业性质的科普书,不像教材那么多严肃,但又讲得深入浅出,并且阐明了电路实现的本质:继电器。我后面计划写一篇《电路,数电与模电学习指北》,那时我还会再次推荐这本书的,可能还会写写书评。

    +
  • +
+

小说

    +
  • 《你的名字》(没错,就是宫崎骏导演的电影就是改编自此小说)
  • +
  • 《雪中悍刀行》(网络小说,雪中悍刀行的作品,我很喜欢他笔下的武侠风格,推荐)
  • +
  • 《真名实姓》(科幻小说,讲述了一个黑客被政府知道他的“真名”以后发生的事,美国科幻黄金时代的经典作品)
  • +
  • 《仿生人会梦见电子羊吗》(作者是菲利普·迪克,科幻界鼎鼎有名的作家PKD,《少数派报告》也是他的作品,便不多介绍了,今年看了他的一系列小说,在此仅以这一本为代表)
  • +
  • 《球状闪电》(作者是刘慈欣,其实我只是为了看丁仪(*/ω\*))
  • +
  • 《阿Q正传》(温习了一些鲁迅老爷子的文章,就以这本书为代表吧)
  • +
+

散文

    +
  • 《文化苦旅》

    +

    高中时候,为了使我们的作文言辞更优美,我们的语文老师时常给我们发一些印着好文章的纸,而余秋雨先生的文章时常出现在里面,所以今年便找了他的代表作来看,我的书单里也有他的其他书,希望能有时间慢慢看完吧。

    +
  • +
+

传记

    +
  • 《邓小平时代》(港版)——2020年于我最有价值的非专业书

    +

    曾经为喜欢邓小平,因为他带领中国改革开放,结束了闭关锁国,让中国走向世界,逐渐富强,逐渐现代化;但看完这本书以后,我发现之前对邓小平的“二元”认知是远远不够的,他为中国做出了许多,也牺牲了许多。他解放了思想,引入外资和发展民企,却依旧让国企把握住关键的领域……他是一个矛盾的人,任何用区区几行字就给他盖棺定论,都是极其浅薄的。

    +

    强烈推荐大家阅读,或许在这之后,我们会对当今中国有一个更全面的评价。

    +

    至于这类书,引入大陆时难免会有删改,所以有条件的话,还是阅读英文原版或者港台版最佳。

    +

    dengxiaoping

    +
  • +
  • 《浪潮之巅》

    +

    吴军博士的书里,我不知道这本书是不是最好的,但这本书一定是最畅销的。他从AT&T和IBM的时代开始,讲到硅谷与风投,一直到“下一个Google”,引人入胜的描写科技大公司历史,使人手不释卷。

    +
  • +
+

漫画

    +
  • 《拜见女皇陛下》

    +

    这本漫画14、15年的时候,在有妖气上的人气非常高,作为平台主推漫画与《端脑》、《雏蜂》、《葬魂街》等一系列漫画齐名。这本漫画讲的是上世纪九十年代,通过小学生的视角,发生在(山西?)的一个小城市的“情感经历成长的故事”,强烈推荐阅读。

    +

    作者是ZCloud,这是他的第一本作品,也是最为人熟知的作品,经典“出道即巅峰”,感兴趣的可以在知乎关注他,有时会更新一些漫画科普、日常短篇什么的。

    +
  • +
  • 《勇者传》

    +

    brave-biograghy

    +

    这是我初中时候在周刊《漫画世界》上连载的漫画,由周烈焚剧本,易飘扬作画。当时还小,就是喜欢看这样的热血搞笑(还有一点 治愈 致郁)的冒险漫画。两位作者擅长通过深埋的伏笔、独特(且爆冷)的谐音梗和少年漫画中少有的BE结局讲述了始大陆里故事。

    +

    上面这句话参考了萌娘百科的词条描述,说起来有一点好笑,我喜欢这部漫画这么久,今年翻出来又看了一遍,却在向大家描述这篇漫画的时候,发现难以下笔。要说感觉,颇有点星爷的那种无厘头风格,不过也只是风格类似,区别还是很大的。

    +

    它一直是《漫画世界》的当红漫画,可因为杂志的原因被不幸腰斩。我后来就没有看到这两个作者的作品了,今年在家里把它们重新翻出来的时候心血来潮,去搜了一下,发现两个作者还有新作:《大侦探福尔马林》和《万事万灵》,在腾讯动漫上可以看到,遗憾的是都还没有完结,我以我个人爱好推荐他们的作品吧。

    +
  • +
  • 《至少,像那雪一样》(せめて、あの雪のように)

    +

    知乎上看到的,日本C79上的一个全年龄作品,说多了会剧透,就不多说了,不推荐没有谈过恋爱的去吃狗粮┑( ̄Д  ̄)┍。

    +
  • +
  • 《徒然喜欢你》

    +

    也是一个高中恋爱青春漫画,讲述了高中里学生们的念爱故事🍋🍋🍋,推荐看港台版,个人感觉翻译比大陆的(记得是B站代理?)较好。

    +
  • +
+

电影,电视剧与番剧

今年因为宅在家里的缘故,我看了好多的电影电视剧,下面罗列一些今年喜欢的,因为大家基本上都看过,所以就不多说了:

+
    +
  • 高堡奇人(当时看完了第一季以后,还发推说要写感想什么的,然后不出所料的鸽了)

    +
  • +
  • 某科学的超电磁炮T

    +
  • +
  • 神盾局特工(第2、3季)

    +
  • +
  • 爱,死亡和机器人

    +
  • +
+

B站

除此三种外,我也花了许多时间在B站的视频里,比如LinusTechTip及其子频道和硬件茶谈的电脑知识和内在原理的科普,和其他相关的科技新闻;我喜欢的游戏区UP主老E陆夫人,带给我快乐的同时让我见识到了老游戏是什么模样;也见证了B站第一个千万粉UP的诞生(老番茄);和各位老师的网络课程,比如正月点灯笼非常走心的Matlab教程和郑益慧老师的模电课程,还有罗翔罗老师的普法视频,非常的有意思,甚至他正经讲课的时候也是这样。

+

在此非常感谢各位UP和老师的付出,能让我通过互联网接触到新的世界。其实还有其他的UP我也很喜欢,但在这里就不过多介绍了,我把今年看到的很喜欢的视频放在下面,感兴趣的可以看看:

+
    +
  1. 【老E】星际拓荒(Outer Wilds)系列:

    +

    一个关于宇宙探索的游戏,情节一流,老E的制作我也很喜欢。

    + +
  2. +
  3. 【老E】传说之下(Undertale)系列——2020年我最喜欢的系列

    +

    这个系列虽然是17年的,但之前我看画风,想当然地以为是那种小游戏,哪能和其他画面制作精良的3A**/**独立游戏相比啊?直到一次巧合我看了第一集以后,才发现之前真的是我以貌取人了……人不可貌相,海水不可斗量。这么精细的游戏,新颖的制作理念和优秀的剧情,而且老E制作这个系列投入了相当多的感情,我也是看了这个系列以后,才入坑Undertale的,强烈推荐!

    + +
  4. +
  5. 脏猫DaggyCat_Ding)的SCP科普里我个人最喜欢的一集:

    +

    【SCP基金会】科普:人 类 灯 塔 G O C(feat.张安忆Rainbow)

    +
  6. +
  7. 【叮叮】《万有引力》粤语翻唱

    +

    老二次元了我.jpg,听了这首翻唱我还将《月色真美》加入了“想看的番”列表,我酸了55555。

    +
  8. +
  9. 【官方双语】 4.1特别篇 - 员工痛诉黑心老板为哪般?#linus谈科技

    +

    LTT整活儿达人,我记得去年员工也有整盅老板Linus233。

    +
  10. +
+

播客

    +
  • 牛油果烤面包:养生类科技区播客,话题广泛到能从建造自己的房屋到芯片AI等科技前沿,主持人能文能武,可以看出每期节目的准备都做得很好,剪辑的水平也很高,听着非常大舒服,基本上什么时候都可以听。
  • +
  • 捕蛇者说:这个是laike9mmanjusaka等前辈主持的节目,蛇即为Python,所以这不是古文节目,而是程序员讲技术的节目!不过于我而言有些节目听着比较难懂,所以就……听得很少,常在手机里吃灰(不过每次都在认真听的!)。
  • +
+

最后与展望

这篇年终总结因为我懒(这是我能确定的)和其他的原因鸽了好长的时间,但愿发到博客上的时候,新年还没有过完吧(笑)

+

2020年是注定会被历史记住的一年,在跨年的时候,全世界的人都希望倒霉的2020年赶快过去,希望新的2021年的到来能洗去不幸。但2020年终究只是一个客观的年份而已,怎么能把所有的不幸都归结于它身上呢?或许我们不应埋怨自己在2020年的生活有多么的不幸或多么的糟糕,或许我们应当仔细地想一想,哪些不幸是非人力所及的,而哪些不幸又是来源于自己的呢?如果开年之际没有肆虐的疫情,2020年会变得更好么?

+

我现在算是又有些理解,为什么我们需要写年终总结了。其实,不一定非得只在一年结束的时候写,任何时候的总结,都可以让我们对某段时间做一些梳理,对某些事进行复盘,然后接下来的生活或许能少走一些弯路。而且,总结也能让我们回忆并记述过去,就好像翻从前的照片一样。一个人没有过去,也就没有了未来,因为他的每一天都过得别无二致,这样的他不会随时间变化,永远也不会成长。

+

其实真正的我并不是你们在这篇博文里看到的那样,一是因为人很复杂,外人通过博文了解这个人无异于管中窥豹;二是我写这篇年终总结的时候,当然也会隐藏许多的事,包括我的懒惰,我的错误。这也是没有办法的事,很少有人愿意把伤口再次撕开给他人看,除非那已经是很久以后了。

+

嗯说说这篇年终总结吧,因为这是我第一次写,难免有些手足无措,常常是写着写着思路就断掉,不知道该如何继续下笔了,所以这总结就写得断断续续的。文风可能不太连贯,我最后的时候尝试将它们统一起来,却发现效果反而没有之前的好,遂作罢,就只是调整了一下文句,让行文通畅易读就好啦。

+

在写这篇文章的时候,我参考了好多大佬的年终总结,在结尾时也不例外,发现他们各有特色。但苦于自己墨水不够,左思右想也没想到好的结尾,就借用他人的墨水,为这篇文章做结。

+
+

人的一生两个最大的财富是:你的才华和你的时间。才华越来越多,但是时间越来越少,我们的一生可以说是用时间来换取才华。如果一天天过去了,我们的时间少了,而才华没有增加,那就是虚度了时光。

+

——李开复

+
+

不论好坏,2020都已经成为过去,希望各位在2021都能够心想事成!

+

2021年2月15日,于家中书房
2021年3月14日晚上传

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2021/05/01/electronic-scale-design/index.html b/2021/05/01/electronic-scale-design/index.html new file mode 100644 index 000000000..23303376a --- /dev/null +++ b/2021/05/01/electronic-scale-design/index.html @@ -0,0 +1,494 @@ +电子秤电路 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

电子秤电路

work

+
+

“不要像我一样作死用模电去实现。“—— Todd Zhou

+
+ + +

背景

一直都想写一篇技术向的博文,不过苦于在许多方面了解得不够透彻,写出来的东西也太过浅显,难以给他人提供足够的帮助,所以也就一直没写(更不用说我假期还说要每周写一篇结果鸽了……)。但现在我第一次有机会,用自己学过的知识设计从电源、传感器测量、放大、比较、到输出与显示的每一部分,凭此构建出一个完整的电路。在这期间,我也从最开始的毫无头绪,到初步设计,再到电路的搭建、改进与调试,每一步都是那周在实验室搭电路查资料一点一点地完成。

+

初见杀

我看到课表的第一周基本没课,以为这是学校的一个疏忽,丝毫没注意到其他班是照常行课,开开心心地回到了学校后,打算先把作息调整过来先。可刚回学校就接到了模电实验老师的通知:“这周安排的是模电课程设计,请同学们准时来上课。”然后就看到了老师发给我们的预习资料:设计题目是在周四晚上前设计并搭建一个电子秤,后附有详细要求和可用元件列表。

+

当时我有些懵:虽说上学期确实是学完了模电和数电,但是现在过了一个寒假,鬼知道我两个月过去了还记得些什么。也没有在寒假提前通知,给点时间让我们调整温习,直接开幕雷击。

+

讲真,就算我对学的东西还像刚考完试那样熟悉,那也只是知道放大器电路、滤波电路和比较电路这种小的部分,仅仅是把上述的那些小电路选两个组合起来我都做不到,而大型的电路别说设计,我连见都没见过。现在突然就布置一个课程设计,那对我而言,难度也是蛮大的。

+

所以我就想要取巧:因为单纯从一个放大器开始搭建模拟电路确实比较难,因为是分立元件,各个电气元件的性质有差异,在搭建一个比较大的电路时需要进行分别调整,比较麻烦。而如果能够使用后来科技进步的成果,比如单片机或者其他的专用芯片,用集成电路来搭建会容易得多。

+

我便发消息问老师,结果老师回复我说:

+
+

“模电课设是基础实验,不需要单片机。”

+
+

那就只能头铁去用模电实现了……

+

帮助

之前我也提过,软件与硬件各有优劣,但在发展方面,我是更看好软件的:因为从事软件的人更熟悉网络,因为软件的开源,但最为重要的是,因为社群。有了社群,人们就可以更容易的入门,可以少做很多重复的工作,可以有更好的范例进行参考。

+

这次正是社群帮助了我。无论什么事情,从零到一都是很难的,如果当你对这种事情并不热衷,那更是受罪。而Todd Zhou师兄的设计,让我对这个课程设计有了思路,从而我能以此为参考,做出我自己的电路。

+

所以我非常感谢师兄,他的参考给了我极大的帮助,让我少走了许多的弯路,帮我节省了很多的时间。而这也是我想要写这篇博文的原因,我也希望能在未来,也能给到其他人这样的帮助,那样我就非常满足了。

+

好了,下面来看看我的设计吧:

+

设计

虽说模电课设是有好几个题目的,也许是我的运气不错,我分到的题目和师兄的题目不能说是完全相同,只能说是一模一样:

+

设计题目与要求

设计一个简易电子秤电路,称重范围分为两档:0 ~ 1.999kg,0 ~ 19.99kg。要求:

+
    +
  1. 基本功能
      +
    • (1)当秤盘上有物体时,用数码管显示其重量;(A/D 转换使用 ICL7107 专用集成电路,由实验室提供)
    • +
    • (2)当物体从秤盘上拿走时,物体重量显示 3 秒后自动切断电源;
    • +
    • (3)超称重范围或减称重范围时,两个档位可自动切换量程,(用发光二极管指示量程),且数码管小数点的位置也跟随切换;
    • +
    • (4)设计电路所需的电源。(实际搭建时仍使用稳压直流电源)
    • +
    +
  2. +
  3. 拓展功能(+1 ~ 10 分)
      +
    • (5)两次秤重有累加功能。
    • +
    • (6)称重范围对应的档位编号分别是 1 和 2,用一个数码管显示其档位;
    • +
    • (7)去皮功能(设置 0 参考)
    • +
    • (8)其他功能的添加。
    • +
    +
  4. +
+

(因为我比较愚钝,所以在那周要结束的时候才堪堪调试好基本功能,虽说拓展功能原则上只需设计就好,但我也不想再设计了=.=)

+

设计思路

由题目说明中的第四点可知,重量传感器使用的是差动电桥或与其类似的电路,因此此题与电阻式传感及其处理电路的应用有关。通过查阅资料可知,市面上常见的桥式称重传感器的原理即惠斯通电桥,我们可以以此设计电桥电路。

+

根据题目说明的第(4)点,可知电桥电路的输出小于10mV,所以我们需要放大电路将电桥输出的信号进行放大,于是在电桥后面应当加上运算放大电路。

+

而因为需要两种量程,所以我们需要设计一个可以进行电压比较的电路,然后将比较的结果输出到下一个电路:数据选择电路。数据选择器根据电压比较器输出到结果,将放大电路输出的电压结果选择性地输出到以ICL7107为主的显示电路里面。

+

另一方面,题目要求在显示三秒后切断电源,由于所用的是直流稳压电源,这个对我们现在所学的知识而言,很难在有限的时间里去实现,不过题目说明里只要求我们控制一个发光二极管熄灭即可。所以我以为,应该将运算放大电路的输出结果经过一个比较器和零相比之后,通过一个继电器和一个由555定时器构成的单稳态触发器控制发光二极管的延时和熄灭。

+

原理方框图

方案A

plan_a

+

该电路中,传感器接收信号,将接收的小信号输入放大电路。正如同设计思路中描述的那样,使用多个运算放大器组成的放大电路将电桥输出的信号进行放大。然后一方面通过比较电路、延时电路和继电器电路控制显示的延时及电源的关闭;另一方面,通过带有基准电压电路的第二个比较电路、量程自动切换电路和A/D转换电路等一系列电路,显示电子秤所测得的物体重量。

+

方案B

plan_b

+

本来设计一个方案就让我头痛不已了,还需要至少要有两个方案比较……于是参考师兄“模数转换”的思路,胡诌了另一个方案凑数……这个方案的思路是先进行模数转换,然后再进行运算。

+

在这个电路里面,与上一个电路相同,传感器为差动电桥电路,其中的中间两点引出电压差,再通过放大器和滤波电路滤除高频,得到放大电压。放大器输出的信号一方面进入比较器1,控制电源的开关;另一方面进入A/D转换芯片,转换后输入比较器2,再进行量程切换与显示。

+

不过由于复杂度和成本上,模数转换都不如数模转换,所以我们采用方案A。

+

具体模块分析

重量传感器

由于我们是三流学校的三流专业,所以老师表示不会给大家配备重量传感器,测量信号用与传感器电路相似的电桥产生即可。由查阅资料可知,压阻压力传感器的原理是惠斯通电桥:

+

wheatstone_bridge

+

当受到外界压力时,电桥中的电阻阻值发生变化,使电桥失去平衡。外加电压后,电桥失去平衡时将输出一个与压力对应的微小电压信号,从而实现将压力信号转换为电信号。

+

具体的计算公式可以参见Todd Zhou师兄的博文,这里就不再详述(其实是我懒得写Latex 233)。

+

电桥选用直流电桥,其特点是信号不会受各元件和导线的分布电感及电容的影响,抗干扰能力强,但机械应变输出信号小,需要高增益和高稳定性的放大器进行放大,这就是为什么我的电路中下一个部分便是放大电路。

+

信号放大电路

传感器输出的电压至多不超过10mV,因此我们需要在输出的信号进入比较电路之前,先将传感器输出的小信号转换成比较电路能接受的大信号。

+

amplifier

+

为了保证电路信号的稳定与不失真,尽可能的避免一个运算放大器电路的放大倍数过大的情况。所以,在这个电路中,我使用的是由四运放模拟芯片LM324N中的两个运算放大器分别组成同向比例放大电路,设计的放大倍数理论上约为900倍,足以满足后面比较电路的需求(没有设计更高级的放大电路,因为又不是不能用.jpg)。

+

基准电压电路

由图,根据分压原理,我设计了这个简单的基准电压电路:

+

reference

+

基准电压为500mV,其中Vcc连接电源的+5V,Vout连接比较电路的负端,作为Ref存在。

+

比较电路II

comparison_2

+

放大电路II会将信号与上述的基准电压电路中所构建的基准电压进行比较:若放大电路输入的信号比基准电压大,则向后面连接的四选一选择器输出高电平;若放大电路输入的信号小于基准电压,则输出低电平。

+

量程自动切换与小数点电路

量程自动切换电路会根据比较电路II的输出,从放大电路输入的两种信号中选择一种进行输出。自动切换量程电路受比较器输出信号控制。当被测系统量程由0~1.999kg切换到0~19.99kg值时,要考虑量程和小数点的自动切换。我选择的是数字芯片CD4052,设计的电路图如下:

+

range

+

在比较电路II输出低电平,也就是放大电路的输出电压小于基准电压时,选择端A1A0的状态为00,此时CD4052选择输出原信号;当放大电路输出的电压较大时,比较电路II向量程自动切换电路输出高电平,选择端A1A0的状态为01,此时CD4052会选择输出经过降压处理后的电压信号。

+

选择的具体过程可以查该芯片的选择状态与条件,这里就简单说下即可。

+

比较电路I

comparison_1

+

比较电路I的思路大致上都与比较电路II相仿,只不过这次所设置的参考基准电压为0V,所以在比较器的负端直接连接一个阻值合适的电阻接地即可。而比较器的正端端输入来自放大电路的输出,为了保护电路,在比较器与放大电路连接处放置一保护电阻。最后在比较器的输出端口7接一上拉电阻到+5V电源,其余照旧接正负电源、接地即可。

+

选择器控制电路

如同量程切换电路的思路一样,采用数字芯片CD4052双四选一模拟开关,连接图如下:

+

selector

+

其中,正负电源、接地端均如图所示,A0接比较器I的输出,A1接地。由于我们只需要向后面的延时电路输入一个低电平脉冲,所以将Y接地。当选择符合条件时,选择器控制电路将向延时电路输入一个低电平脉冲,使得后面的555单稳态触发器跳到暂稳态,二极管发光。

+

延时与电源电路

由上面的说明可知,延时电路受比较器输出信号控制。当被测系统重量等于0值时,延时电路通过继电器断开供电电源,即发光二极管熄灭。

+

在这里我选用数字芯片NE555定时器,通过设计单稳态触发器的思路,制作延时电路;其中通过调整R20与C2的值,实现以555定时器为基础的单稳态触发器能够使发光二极管闪亮并延后固定时间熄灭的效果。电路图如下:

+

delay

+

A/D转换与显示电路

在这里使用ICL7107专用集成电路,其电路图如下:

+

display

+

它包含3 1/2位数字A/D转换器,集A/D转换和译码器于一体,可直接驱动共阳极LED数码管。 ICL7107内部设有参考电压、独立模拟开关、逻辑控制、显示驱动、自动调零等功能。其后与四个数码管相接,显示数字。

+

由于这是老师给的现成板子,所以就不再过多介绍,这里比师兄自己设计和仿真容易多了。

+

电源电路

这个没什么特殊之处,书上基本也能找到现成的双电源设计,直接出图:

+

power

+

不过这里相比于书上,多出了两个冗余小电容C10、C11,因为按器件说明书的要求,78/79系列的输入、输出端都应该接个小电容,推荐0.1uF,目的是防自激。按电源滤波的要求,78/79的输入、输出端都应该接大电容,一般是百uF级别。然而,为了提高电源的品质,小电容还是不省为好。输入端的小电容,可以吸收进来的高频脉冲,对提高系统的抗扰能力有所帮助。输出端的小电容,可以作为电源退耦,类似于IC电源上并联0.1uF电容。

+

电源退耦电容往往是安得很多的,这实际是设计冗余——必要的可靠性措施。那么,电源上即使“冗余”了2个小电容,还是有益的。

+

整机电路图:

circuit

+

问题与改进

    +
  1. 继电器会造成分压,故我们正负5V提供的电源无法满足其启动电压,为了不让电路产生较大的改动,在后面设计的时候,我使用数字芯片CD4052双四选一模拟开关替代了继电器,使电路能正常的进行选择。

    +
  2. +
  3. 电桥出现问题,平衡时却依旧输出电压,我认为是电阻损坏,经挨个替换电阻,最终排除了损坏电阻。

    +
  4. +
  5. 555定时器构建的单稳态触发器存在问题,其延时的时间不稳定,经排查,发现是电路中存在元器件引脚误触到情况,在误触到地方粘上绝缘胶布即恢复正常。

    +
  6. +
+

元件清单

直插式模拟IC

+ + + + + + + + + + + + + + + + + +
芯片名称功能个数
LM324N四运放1
LM311比较器2
+

直插式数字IC

+ + + + + + + + + + + + + + + + + + + + + + +
芯片名称功能个数
CD4052双四选一模拟开关2
NE555定时器1
ICL7107双积分型A/D转换器1
+

电阻

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
规格型号个数位号
1k5R26、R27、R28、R29、R30
3k6R5、R6、R8、R9、R14、R19
10k3R13、R16、R18
24k1R21
30k1R20
91k4R7、R10、R12、R15
100k5R1、R2、R3、R4、R22
200k2R11、R17
470k1R24
1M1R25
+

电容

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
规格型号个数位号
100pF1C3
0.01uF1C1
0.047uF1C5
0.1uF1C4
0.22uF1C6
10uF1C2
1041C7
+

其他电子元件

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
规格型号个数位号
数码管4\
发光二极管1D
10k电位器1R23
5V稳压器78052\
整流管IN40014D2、D3、D4、D5
+

性能指标的测量

电路调试完毕,结果正常。

+

测试使用的仪器

数字万用表,直流稳压电源,示波器,波形发生器。

+

IC测试数据

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
位号LM324N(1)LM324N(2)
管脚号411411
理论值+5V-5V+5V-5V
实际值+4.94V-4.98V+4.89V-4.90V
位号LM311(1)LM311(12)
管脚号8484
理论值+5V-5V+5V-5V
实际值+4.97V-4.96V+4.92V-4.93V
+

放大电路测试数据

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
V电桥输出VoutV电桥输出VoutV电桥输出Vout
0.4 mV199.98 mV0.8 mV399.67 mV1.5 mV749.14 mV
0.5 mV249.90 mV0.9 mV499.59 mV2.0 mV998.75 mV
0.6 mV299.82 mV1.0 mV512.54 mV2.5 mV1.248 V
0.7 mV349.75 mV1.1 mV639.29 mV3 mV1.498 V
+

电子秤切换量程点

+ + + + + + + + + + + + +
电桥输出/mV放大电路输出/VICL7107显示
1.30.81.398
+

总结与后记

按照惯例,每一篇文章的最后,作者都会发出感慨,说自己籍由此事又悟出了什么道理云云,升华主题。我想了想,还是也效仿他们,也在此篇的最后讲一点大道理——虽然不是我悟出的,不过在经历这件事以后,对它的感触更深了。

+
+

在现实中哪里会有机会等到自己万事俱备才开始做,大家都是边做边学的,世界一直在变化,你也没有时间等到全部学完了以后再做。

+
+

其实现在再看当时的设计题目,发现除了一些芯片和元件需要上网查相关资料以外,其实这些完全能用已经学过的知识完成,虽然已经忘得差不多了

+

说到底,我们在上面做的一切,都是在努力地将课本的理论与课设的实践相联系。扎实的理论基础可以使我们在设计中才能设计出更简单泛用电路,而动手设计、搭建与调试亦可加深印象与理解,反哺自身的理论知识。所以,考试得到高分与实践优秀也并不冲突。

+

最后,感谢各位理论老师、感谢两位实验老师的悉心教导!

+

参考资料:

(这个课设是3月初开学时候做的,鸽了很久到现在才写完,当时查到资料好些已经找不到了,就象征性地摆几个,师兄的博文中有更详尽的资料参考,可以去那里看看)

+

[1] 电子秤电路

+

[2] 说说稳压电源和集成稳压器件

+

[3] 差动半桥差动全桥

+

[4] 桥路(差动电桥)测量时存在非线性误差的原因?

+

[5] 什么叫电位器?什么叫电阻器?

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2021/05/06/convolution-of-two-rectangular/index.html b/2021/05/06/convolution-of-two-rectangular/index.html new file mode 100644 index 000000000..8685c4442 --- /dev/null +++ b/2021/05/06/convolution-of-two-rectangular/index.html @@ -0,0 +1,190 @@ +两个矩形信号做卷积——不经意的小问题 | 叶子的花园 + + + + + + + + + + + + + + + + + + +

两个矩形信号做卷积——不经意的小问题

dinosaur

+
+

两个相同的矩形信号做卷积 / Convolution of two identical rectangular signals

+
+ + +

背景

晚上做信号与系统习题的时候,遇到了一个卷积计算的问题,发现在我对它的理解出现了一点奇妙的偏差,通过网络费了好些功夫才梳理通。理解以后,就想写一篇博文记录下这一问题,希望能给大家一点帮助,顺便防止我以后又忘记了

+

问题

题目要求的计算过程中,有计算如下两个相同矩形脉冲信号的卷积:

+

rectangular-signals图一,取自参考链接[1]

+

虽然我知道它的结果,是一个如下图所示的三角形脉冲信号——课上与书上都是这么说的:

+

triangular-pulse图二,同样取自参考链接[1]

+

可是由于没有给过程,所以我想不到正确的计算方式是什么,也就无从改错。

+

思路

由上述可知,有两个相同的矩形脉冲信号可表示为:

+
+$$ +\tag{1.1} +f(x) = \begin{cases} + A, &\text{if } ~ {-T_0 \lt t \lt T_0} \\ + 0, &\text{if } ~ {|t| ~ \gt T_0} +\end{cases} +~ = ~ g(t) +$$ +
+ +

而当信号相互卷积时,连续时间下,由卷积积分的公式:

+
+$$ +\tag{1.2} +y(t) = \int_{-\infty}^{+\infty}{x(\tau)}{h(t-\tau)}{\rm d}{\tau} ~ = ~ x(t){\ast}h(t) +$$ +
+ +

两者相卷积时,在图解时可将相应沿$y$轴翻转,然后左移一定的距离直到两个信号不再重叠,再逐渐右移,重叠后逐点计算卷积值。(详细的计算过程默认读者已经了解,如不了解可参见奥本海姆的《信号与系统》第二章)

+

而在此处,由于两个信号相同,所以其卷积可写为$y(t) = x(t){\ast}x(t)$,任选其一作信号的响应$x_2(t)$,故其沿$y$轴反转后保持不变,在左移没有重复区域后再次右移的过程中,与信号$x_1(t)$最早相接触的地方应该是$t = -T_0$的时候,而正确的结果应该是$t = -2T_0$。

+

Obviously,肯定有地方出了问题。

+

纠错

回顾之前做的例题中,其响应一般都是从零点开始的,从来没有从$t \lt 0$的情况;且当两个矩形脉冲信号都是从$t = 0$开始时,我可以计算得到正确的输出,为一个从$t = 0$到$t = 4T_0$类似图二的三角形,所以肯定是因为我对响应处理不当而产生的错误。

+

为此,我翻书想看看有没有相似的例题,无果,随后上万能的Google试试能不能搜到相似情况的解析。中文搜索出来全都是CSDN或者博客园的雷同文章,一点帮助都没有……换了英文关键词后,找到了后面参考栏里的两个网页,看后我知道是哪里出错了:

+

首先由题意,作出方程:

+
+$$ +\tag{2.1} +y(t) = \int_{-\infty}^{+\infty}{x_1(\tau)}{x_2(t-\tau)}{\rm d}{\tau} +$$ +
+ +

由图解法可作出下图:

+handpaint + +

注意:响应$x_2(t)$与输入信号$x_1(t)$相乘积分的结果在$t = t$的时候,而不是$t = t + 1$处,这是关键的一步。之前我的错误就是将其积分之和误放在了$t = t + 1$的地方,导致输出信号开始于$t + 1$而不是$t$。

+

之后便一帆风顺了。究其错误原因:我之所以会那样计算,首先是先入为主,认为之前都是从响应重叠的地方开始,想必这次也应该是这样;其次是对概念的理解较为薄弱:$h(t - \tau)$代表了在$t = \tau$处一个时移后的脉冲信号$\delta(0)$的响应,因此$x_2(t-\tau)$也应该代表在$t = \tau$处一个时移后的脉冲信号$\delta(0)$的响应,其响应在$t$处,而非最右端$t+1$处。

+

图像得到了,至于解析式的结果,我也一并附在这里吧:

+
+$$ +\begin{split} +x_1(t)*x_2(t) &= {\int_{-\infty}^{+\infty}{x_1(\tau)}{x_2(t-\tau)}{\rm d}{\tau}} \\ + &=\begin{cases} + {\int_{-T_0}^{t+T_0}1{\cdot}1{\rm d}{\tau}}, &\text{if } ~ {-2T_0 \lt t \lt 0} \\ + {\int_{t-T_0}^{T_0}1{\cdot}1{\rm d}{\tau}}, &\text{if } ~ {0 \lt t \lt 2T_0} + \end{cases} \\ + &=\begin{cases} + {t+2T_0}, &\text{if } ~ {-2T_0 \lt t \lt 0} \\ + {2T_0-t}, &\text{if } ~ {0 \lt t \lt 2T_0} \\ + {0}, , &\text{if } ~ {|t| \gt 2T_0} + \end{cases} +\end{split}\tag{2.2} +$$ +
+ +

大概就是这样了,如果感觉理解起来有些困难的话,推荐大家看看第二个链接中的YouTube视频,情况不完全相同,不过Adam小哥讲得超棒的!

+

附录

这是我第一次在博文里嵌套公式,这里附上上文所出现公式的代码。这太难打了,要不是为了好看我就手写了……顺手附在这里,以后我有需要(忘记了)翻回来看也方便。

+
# 式1.1
+\tag{1.1}
+f(x) = \begin{cases}
+   A, &\text{if } ~ {-T_0 \lt t \lt T_0} \\
+   0, &\text{if } ~ {|t| ~ \gt T_0}
+\end{cases}
+~ = ~ g(t)
+ +
# 式1.2
+\tag{1.2}
+y(t) = \int_{-\infty}^{+\infty}{x(\tau)}{h(t-\tau)}{\rm d}{\tau} ~ = ~ x(t){\ast}h(t)
+ +
# 式2.1
+\tag{2.1}
+y(t) = \int_{-\infty}^{+\infty}{x_1(\tau)}{x_2(t-\tau)}{\rm d}{\tau}
+ +
# 式2.2
+\begin{split}
+x_1(t)*x_2(t) &= {\int_{-\infty}^{+\infty}{x_1(\tau)}{x_2(t-\tau)}{\rm d}{\tau}} \\
+  &=\begin{cases} 
+  	{\int_{-T_0}^{t+T_0}1{\cdot}1{\rm d}{\tau}}, &\text{if } ~ {-2T_0 \lt t \lt 0} \\
+  	{\int_{t-T_0}^{T_0}1{\cdot}1{\rm d}{\tau}}, &\text{if } ~ {0 \lt t \lt 2T_0}
+  	\end{cases} \\
+  &=\begin{cases}
+  		{t+2T_0}, &\text{if } ~ {-2T_0 \lt t \lt 0} \\
+  		{2T_0-t}, &\text{if } ~ {0 \lt t \lt 2T_0} \\
+  		{0}, , &\text{if } ~ {|t| \gt 2T_0}
+  	\end{cases}
+\end{split}\tag{2.2}
+ +

参考

[1] Example 2.2.2: Convolution of two rectangular pulses

+

[2] Convolution Integral Example 03 - Convolution of Two Triangles

+

[3] Supported Functions - KaTeX

+

[4] 额外依赖库的支持 - 数学公式

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2021/05/11/choices-made-by-others/index.html b/2021/05/11/choices-made-by-others/index.html new file mode 100644 index 000000000..31e95a11b --- /dev/null +++ b/2021/05/11/choices-made-by-others/index.html @@ -0,0 +1,86 @@ +别人为自己做的选择 | 叶子的花园 + + + + + + + + + + + + + + +

别人为自己做的选择

cover

+
+

选择是自由的,但因为必须要选择,所以也是不自由的。

+
+ + +

刚练字的时候,想到遇到很难做选择的事情时,我习惯性地就想让亲人帮忙做决定。一念至此,突然感到这是一种不负责任的表现——当我感到难以做选择的时候,就会去询问别人的“意见”,而后遵循别人的选择。

+

这样做的结果就是:如果最后的这种选择导致了bad ending,那我会将原因归咎于他人,以此逃避了本该我承担的、选择错误的责任——其实在将选择交给别人做的那一刻开始,我就已经在逃避责任了;而若是促成了好的结果,那我将会更加的没有主见,以后在做其他重要的决断的时候,也会倾向于相信别人的意见,而不相信自己的选择——其实这也是不负责任的表现。

+

其实,很多时候我面对一件难以做选择的事情时,借托“我老选择困难症啦”而让他人替自己做决定,想来这只是表面原因而已罢了。我想我真正的目的,其实是为了避免去承担做这个选择的责任——也许我之前从来都没有意识到,或许生物的趋利避害使我这样做?你看,我将原因又推到了其他的因素上,就是不肯承认是我自己的原因,不肯为此负责……

+

sigh……今后慢慢注意吧。

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2021/07/17/OpenMV-learing-note/index.html b/2021/07/17/OpenMV-learing-note/index.html new file mode 100644 index 000000000..b117e551f --- /dev/null +++ b/2021/07/17/OpenMV-learing-note/index.html @@ -0,0 +1,345 @@ +国赛上篇:学习OpenMV的七日 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + +

国赛上篇:学习OpenMV的七日

cover封面图来自加零(@jia0kelvin),欢迎大家在Twitter上关注他!

+ + +

前言

由于 2020 年初疫情,大一的下学期只能居家上课的缘故,我没有参加去年的省赛。所以,如果不算上学院和学校自己举办的那些比赛的话,今年的国赛还是我第一次打电赛。

+

以前我很少有机会能够有这么一段时间,为了一个目标集中地学习某样东西,我也没有做过大型项目的经历。所以这一次,我可得好好地参与一番!

+

从考试完到现在,我们已经准备了快十天。实际上我们从大二的上学期就已经开始准备了,但之前一直都比较懈怠,平日也都在忙其他的东西。真正说得上大家开始同心准备的时候,是从大二下开始的,我们在这个学期确定了飞机的选型,购买相关零件,和搭建好了飞机,并使她完成了遥控飞行。在期末考试结束以后,我们立刻开始继续准备,这一次我们想要先实现受控的自动飞行,于是 OpenMV 就成为了其中的一个很关键的元件。

+

学到现在,我想效仿 果子酱 的这篇文章(2019 电赛 –OpenMV 学习笔记)那样,在学习到一定程度的时候,写一篇文章,以回顾这段时间学习情况,并且还可以停下来思考一下,接下来又应该准备些什么。

+

所以,我就写了这篇,希望能给大家一点帮助。

+

OpenMV简介

OpenMV 是由美国的同名公司 OpenMV, LLC 制造的一个小型、嵌入式、低成本、可拓展的基于 Micro Python 的机器视觉模块,该公司想要其成为“机器视觉世界的 Arduino ” [1] 。简单来说,这就是一个可编程的摄像头 [2] ,或者你可以理解为带摄像头模组的单片机,而且官方还贴心的为你附上了庞大的机器视觉和图像处理的算法库,开箱 10 分钟内就能上手。

+

OpenMV这是我们队买的 OpenMV

+

其实在19年电赛禁用搭载 OpenCV 的树莓派后,简单的图像处理大都只能靠 OpenMV 来做了,当然,不排除有自己造轮子的大佬(

+

重要的是, OpenMV 是少有的开源硬件——不是像匿名 / 无名那样的假开源—— OpenMV 是真正的硬件结构和软件驱动都开源的商业硬件。既然如此,我们有能力有机会自然也想支持一下,虽然官方的卖得超贵,但也比其他仿造的 OpenMV 质量好得多啊!

+

总之,正如官方的描述: OpenMV 适合做 DIY 或者低成本的项目,而不适合做复杂的算法工作 [3]

+

所以,对于经费少的大学生和目标功能简单的项目(相对于成熟工业界)而言,用 OpenMV 来做电赛真是再合适不过了。

+

学习笔记

我们的计划是,首先实现无人机的手动自稳飞行,再实现简单的自动飞行,最后实现可靠的复杂自动飞行——也就是能够完成一道往年的赛题。因此,我们就从 19 年国赛的 B 题开始入手了。

+

前年国赛的 B 题需要 OpenMV 的地方,大概有四个:

+
    +
  • 识别杆 / 线和测距(视无人机方案而定);
  • +
  • 识别黄色条形码标记;
  • +
  • 识别二维码;
  • +
  • 识别地上的红色起飞标记;
  • +
+

这几项其实蛮简单的,基本上都可以用 OpenMV 的内置函数解决,例如识别颜色标记,可以参考其“色块识别”的例程 [4] ;二维码 / 条形码的识别,也可以参照其“QR Code”和“Bar Code”的相关例程 [5]

+

所以, OpenMV 编程多少能算是偏向软件的项目,我有大量的往年源码和例程可以参考。与此相比,我那写 MSP432 的队友才是真的头疼:虽然TI给了很详细的芯片手册和大量例程,但苦于都是英文,并且庞大的内置库函数让人难以下手,而硬件方面又缺少开源的传统,少有往年的源码给我们参考,所以面对这种情况是会感到有些手足无措的。 OpenMV 相比于这个,大量例程让我们能够 10 分钟内上手,可是相当的友好。

+

参考官方的例程和各位前辈、学长的源码和思路,我将学习到的综合起来,照猫画虎地写了一套我自己的实现。虽然仍有一些瑕疵,但在我的测试中多少还是能完成任务了,希望能给大家一些参考。

+

注意:因为一些原因,我的写作顺序是 初始化——识别色块——识别条形码和二维码——识别竖杆——测距——储存照片,不过实际上的逻辑还是文章段落的顺序。

+

初始化

OpenMV 作为带相机模组的单片机,每次启动都需要初始化。我大概摘一部分在这里,思路很简单,看注释就可以了:

+
#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+# By: Misaka_Clover
+
+import sensor, image, time  # 引入OpenMV的三个常用库
+import pyb			# 引入单片机的库
+import math			# 以防万一做数学运算
+from pyb import LED	# 准备LED
+from pyb import UART    # 准备通信
+
+# 定义各颜色的LED
+red_led = LED(1)
+green_led = LED(2)
+blue_led = LED(3)
+
+# 开启串行通信
+# 默认/只能串口3,波特率常用115200或9600
+uart = UART(3, 115200)
+
+# 镜头初始化,具体参见官方文档
+sensor.reset()
+sensor.set_pixformat(sensor.RGB565)
+sensor.set_framesize(sensor.QVGA)
+sensor.skip_frames(10)
+sensor.set_auto_gain(False)
+sensor.set_auto_whitebal(False)
+
+clock = time.clock()
+
+while(True):
+    clock.tick()
+    Light()
+    img = sensor.snapshot()	# 不断地拍照送入Buffer
+
+ +

可以像我这样,自己建立个模版,每次直接调用或者复制过去都行。

+

我的源码在 这里

+

识别竖杆

这个功能在几分钟前我才调试好,趁着队友们在飞机上测试的时候,我才有时间在旁边把博文写完。

+

识别竖杆,实际上就是识别黑色的色块。由于上文提到过,这是我最后写的部分之一,所以色块识别请参见后面,这里我们只需要一起看看更准确地识别竖杆的逻辑思路就好。

+

useful不能想着凑合啊喂

+

根据 B 站这位 UP 的 分享 ,可以看出,在大于 30 cm 的情况下,直接应用官方教程得到的效果非常地不理想。但他们非常的天才,通过“使用被横向裁剪的 VGA 画幅”解决了识别效果不好的问题。 VGA 画幅的影像广,可以探测到更多的区域,但受限于 OpenMV 孱弱的性能,其在这种画幅下的帧率仅有 7 帧左右,远远小于 OpenMV 默认状态下的 42 帧。所以,他们将画幅进行了裁剪,这样不仅能减少干扰,更准确地识别黑杆,而且能够大幅提高帧率至 24 帧左右,一举两得。

+

不过,这些奇技淫巧也主要是为测距服务的,下面就让我们来看看 OpenMV 如何测距吧。

+

测距

测量距离,其实按照常理而言,在不使用超声波或者激光雷达这种直接测距模块的前提下,我们至少需要两个摄像头(双目)才能测量出距离。可我们并没有那么土豪,并且用两个摄像头的话,不仅难以协调二者,并且在工程上冗余,既昂贵也不美观。

+

思路

不过,工程师们是最擅长解决问题的。工程数学告诉我们,即使是 OpenMV 这样的单目摄像头,我们依旧可以通过一个简单比例变换计算出距离。其中的原理是霍夫变换 [7] ,或者,我们可以直接看星瞳科技的教程:如何利用 OpenMV 进行测距 [8]

+

In brief ,“实际长度和摄像头里的像素成反比”,直观一点便是:距离 = 一个常数 / 直径的像素。

+

所以,识别竖杆的核心思想便是:选取一个已知长度 / 宽度的参考,通过现在已知的距离和参考处的像素情况计算出常数 K 。当实际飞行时已知参考处的像素情况,我们便可以通过之前计算好的比例常数 K ,算出现在与参考物之间的距离。

+

根据官方的教程和前辈们的代码,我们可以编写如下程序:

+
# 黑杆测距
+
+K = 1470		# 我们计算出的常数K
+
+black_threshold = (3, 24, -24, -2, -5, 21)	# 我们测量出的黑杆阈值
+
+sensor.reset()
+sensor.set_pixformat(sensor.RGB565)
+sensor.set_framesize(sensor.VGA)	# 设置VGA画幅
+sensor.set_windowing(640, 100)		# 裁剪窗口,以降低负荷,提升帧率
+sensor.skip_frames(time = 500)
+sensor.set_auto_gain(False)
+sensor.set_auto_whitebal(False)
+
+while(code_step == 1):
+    clock.tick()    # 开始计频
+    blue_led.on()	# 指示灯
+
+    img = sensor.snapshot()
+    # 识别黑色色块
+    blobs = img.find_blobs([black_threshold], area_threshold=400, merge=True)
+    for blob in blobs:
+        if len(blobs) > 0:
+            x = blob[0]
+            y = blob[1]
+            width = blob[2]
+            height = blob[3]
+            cx = blob[5]
+            cy = blob[6]
+            img.draw_rectangle([x, y, width, height])   # rect
+            img.draw_cross(cx, cy)
+            
+            # 测距,以不会改变的宽度为参考
+            Lm = width
+            length = K / Lm
+            print("length =", length, "width =", width, "FPS =", clock.fps())
+    # K = 物体放置的距离 * 打印出的物体像素大小
+    # K = 30cm * 47(width) = 1410
+    # K = 30cm * 49(width) = 1470
+ +

好了,下面让我们来看看效果吧。

+

效果

black_distance黑杆测距示例

+

可见,在竖杆识别准确无误的情况下,我在30 cm 处测得的距离非常准确,几乎没有误差,而且帧率 FPS 也很好看。

+

不过,这只是在“实验室条件下”测得的数据。因为我们的飞机目前只能完成自稳,其定高定点尚未调试好,所以还没办法将 OpenMV 搭载在上面,也暂时无法测试这些方案的实际效果。但考虑到这些方案都是前辈们在国赛中使用过的,所以,想来效果应该也不错吧。

+

识别竖杆和测距的源码我就没有单独整理出来了,大家想参考的话,可以来看看我现在的 主函数

+

识别色块

对于色块识别,从现成的色块阈值测量工具,到色块识别丰富的内置函数和其较高准确率,都可以看出 OpenMV 的官方在这方面花费了很多精力优化。

+

整个流程并不难,我简略地说下吧:

+

选择阈值

先将我们需要识别的颜色放在 OpenMV 的下方,并使用 sensor.snapshot() 函数拍照,创建图像对象,并将其送入缓冲区(Buffer)。

+

然后,按照 官方的教程,打开 OpenMV IDE 中内置的“阈值选择工具”(Threshold Editor),再如下图一样,通过滑动滑块将目标颜色选出即可:

+

Threshold_Editor“阈值选择工具”(Threshold Editor)示例图,来自 OpenMV 官方教程

+

选择出阈值以后,我们会得到一个元组,就是上图中的 LAB Threshold ,这个元组表示 (minL, maxL, minA, maxA, minB, maxB) ,代表了颜色空间 / 颜色标准 LAB 的最大值和最小值。(注意:OpenMV 使用的颜色空间并非 RGB !)

+

调用 find_blobs 函数

这个函数的参数有些多:

+
image.find_blobs(thresholds[, invert=False[, roi[, x_stride=2[, y_stride=1[, area_threshold=10[, pixels_threshold=10[, merge=False[, margin=0[, threshold_cb=None[, merge_cb=None]]]]]]]]]])
+ +

看起来相当的复杂,对吧?

+

不过按照前辈的经验,我们只需要使用这些参数就可以了,若我们的阈值名为 green_threshold ,则可写为:

+
red_blobs = img.find_blobs([green_threshold], area_threshold=100, merge=True, roi=(120,0,80,240))
+ +

这行我们将函数的结果赋给 red_blobs 对象,第一个参数 thresholds 是阈值,,它必须是元组列表,你可以在其中送入多个阈值,以识别多种颜色;第二个参数 area_threshold 规定了色块的最小像素,若小于此值,则会被当作噪声过滤掉;第三个参数 mergeTrue 的时候,可以合并所有没有被过滤掉的色块,他们的边界矩形互相交错重叠;第四个参数 roi 表示感兴趣区域的矩形元组 (x,y,w,h) ,如果未指定,ROI 即整个图像的图像矩形,其他操作的范围也仅限于 roi 区域内的像素。至于其他的参数,可以参考 OpenMV 官方文档,这里就不再详述了。

+

当我们得到返回的色块对象以后,可以在每一帧图像上都用循环 for 将我们需要的信息返回:

+
if green_blobs:
+    for blob in green_blobs:
+        x = blob[0]		# 色块在左上角的x值
+        y = blob[1]		# y值
+        width = blob[2]		# 宽
+        height = blob[3]	# 高
+        cx = blob[5]		# 中心位置的x坐标
+        cy = blob[6]		# y坐标
+        color_code = blob[8]    # 返回一个32位二进制数字
+        # 上述变量的详细释义请参照注释和官方文档
+
+        # 画出边框与中心十字
+        img.draw_rectangle([x, y, width, height])
+        img.draw_cross(center_x, center_y)
+ +

这里我们重点看一下 blob[8]

+

“返回一个 32 位的二进制数字,其中为每个颜色阈值设置一个位,那么颜色阈值不同的多个色块就可以合并在一起了。 您可以用这个方法以及多个阈值来实现颜色代码跟踪,您也可以通过索引 [8] 取得这个值。”

+

看不懂吗?没关系,当时我看这个也看不懂,直到我看到了一个例程 [6] 。这位UP想要识别多种搭配在一起的颜色,于是他这样使用 color_code

+
red_threshold = (58, 40, 77, -46, 72, 28)       # 红色颜色阈值
+green_threshold = (39, 93, -71, -28, -22, 67)   # 绿色颜色阈值
+blue_threshold = (30, 59, 101, -53, -71, -21)   # 蓝色颜色阈值
+
+# 程序的核心部分:
+red_color_code = 1          # code = 2^0 = 1 = 0001H
+green_color_code = 2        # code = 2^1 = 2 = 0010H
+blue_color_code = 4         # code = 2^2 = 4 = 0100H
+black_color_code = 8        # code = 2^3 = 8 = 1000H
+                            # 红色、绿色、蓝色和没有识别到的,对应着2的幂次
+
+blobs = img.find_blobs([red_threshold,green_threshold,blue_threshold], area_threshold=200, merge=True, roi=(5,55,50,73))
+
+if blob_left:
+    for blob in blob_left:              
+        x = blob[0]             # 赋值官方给的色块对象
+        y = blob[1]
+        width = blob[2]
+        height = blob[3]
+        center_x = blob[5]
+        center_y = blob[6]
+        color_code = blob[8]
+ +

可见,他定义了三个阈值,并且同时使用 find_blobs 函数寻找合并的色块,取返回的 color_code 值。

+

如果色块是红色加绿色,则返回的 color_code = 0011H ,即 color_code 等于 3 ;同理,如果色块是绿色加蓝色,则返回的 color_code = 0110H ,即 color_code 等于 6 。最后对 color_code 进行判定,则可知道色块为哪些颜色的组合。

+

需要注意的是,色块最原始定义的 color_code 需要是 2 的幂次方,这样才能保证组合后色块的 color_code 能被还原。

+

效果

不好意思,我的 IDE 等都在另外一台工作的电脑上,所以只能先用照片凑合一下,见谅。

+

blob色块识别示例

+

细心点会发现,下方盒子上的红色并没有被识别,原因有两点:

+
    +
  1. 我设定了 area_threshold 大小阈值参数,所以小色块会被滤除;
  2. +
  3. 我划定了 roi 的区域,虽然我并没有把区域在图像上显示。
  4. +
+

差不多就是这样了,而我参考的大佬源代码我抄录在自己的GitHub上了,点此即达

+

识别条形码和二维码

思路

OpenMV 对条形码(BarCode)和二维码(QR Code)的识别和读取都内置了相关函数,在识别之前,我们需要先找到目标码:

+
# 条形码的识别
+img = sensor.snapshot()
+bar_code = img.find_barcodes()
+ +
# 二维码的识别
+img = sensor.snapshot()
+img.lens_corr(1.8) # 镜头畸变矫正,官方认为1.8的强度参数对于2.8mm镜头来说是不错的。
+QR_code = img.find_qrcodes()
+ +

分别调用这两个函数我们就能够找到目标码,并将它们分别赋给变量。接下来,我们可通过 rect() 函数,为识别到的码标出边框,使其在 IDE 中更加明显:

+
# 画出矩形边框
+img.draw_rectangle(xx_code.rect(), color = (255, 0, 0))	
+# xx_code代表上述任一码
+ +

至于识别它们的内容,我们可以用如下函数得到:

+
code_means = xx_code.payload()
+print("code_means =", code_means)
+ +

然后其他的操作就完全靠自己发挥啦,比如根据码的内容选择执行分支什么的。

+

效果

QR_code二维码识别示例

+

源码请参见 这里

+

拍摄并储存照片

首先贴出官方的例程: snapshot 保存图片

+

可见,我们通过 sensor.snapshot().save() 函数,将送入缓存中的图像保存在SD卡中。

+

代码如下:

+
sensor.reset()
+sensor.set_pixformat(sensor.RGB565)
+sensor.set_framesize(sensor.QVGA)
+sensor.skip_frames(time = 500)
+
+img = sensor.snapshot()
+img.save("QR_code_", 1, ".jpg")
+print("Done")
+ +

后记

past_and_future

+

虽然题目是七日,到现在也已经过了十余日了。

+

因为在写这篇博文的同时,一边要学习其他新的策略,例如巡线;一边又需要参与到项目中去,根据实际的进度做一些调整,所以写了好些天,想来标题不如改名为“学习 OpenMV 的七八九十日”吧(

+

开始写的时候,我对其中的一些策略还不太满意,也在边写边改。到写完的时候,情况变化很大,或许到现在我才能说我是真正地掌握了这些吧,而不再是像刚开始时候那样,对着官方例程和别人的代码照猫画虎了。

+

现在我这里的进展还算是顺利,可我队友们,他们那里真的,真的太难了。

+

跟硬件打交到可不容易,至少我是这么认为的。学习 OpenMV ,官方给出了完备的函数和示例,从 Micro Python 到单片机的 pyb 库都有着详细的文档,中华区的代理商还贴心地将其中最重要的部分翻译为中文, GitHub 上还能找到往年的前辈开源出的项目源码。这样一来,要文档有文档,要实例有实例,想做项目还有完备的源码可以参考,哪怕是一头猪都不可能学不会。

+

但我的两位队友,他们就不像我这么容易了。

+

我们以往只是按部就班地学习,接触过一点点单片机,比如 51 之流,或者像我一样折腾过 Arduino 那种最简单的玩具单片机,连 STM32 都没怎么用过。现在直接使用 TI 公司赞助的 MSP432 ,难度自然不小。并且,由于我们选用的芯片不常出现在电赛中,所以我们没有往年的参考源码,没有例程,也缺乏相关资料的帮助,唯一有的,只是配套的芯片手册而已。但他们还是对着全英的芯片手册从头开始啃,下载了 TI 官网的各种函数实例挨个地看,而我我真的很佩服他们。

+

最开始的时候,我们什么都不了解,分工也只是三人在飞控、视觉和主控传感器里各选了一部分而已。那时我们普遍认为视觉和飞控都很难,身为队长,我当然不好意思避重就轻,而且对机器视觉比较感兴趣,所以我能负责视觉这部分也算是他们照顾我。

+

我这段时间常常在想:要是回到最开始各选分工的时候,我们能清楚的知道这些分别代表着什么,它们的难易程度又如何,让我们再来选,我是会迎难而上,选最难的飞控 / 主控,还是依旧选“较为简单”的视觉呢?我不知道。要是换做是我来做飞控 / 主控,我能做到像他们这种程度吗?我不知道——大概不行吧。

+

但现在,我们在这上面遇到了难题,进度已经卡住好久了,我却只能做做最基本的调试飞机的工作,帮不上什么忙…… 而且他们遇到困难的部分原因,也是因为我在最开始的方案没选好——我应该选更常见的芯片的。如果当时选的是另外一种方案,或许我们就会顺利得多,不会卡在这里了。

+

我有些愧疚,特别是想到之前他们开始遇到问题的时候,我还想得很简单,去指手画脚,而现在却什么忙都帮不上……

+

有时候又在想,如果当时我没有选择无人机这个方向,我们的结果会更好呢?

+

谁知道呢?

+

反正我只知道,在我看到 这个视频 的时候,我脑子里就只剩下无人机了。

+

希望我们接下来能够一切顺利吧。

+

附录

这里照常附上KaTeX公式代码:

+
# 原理公式
+Lm * Bpix = \frac{Rm * Apix}{tan(a)}
+ +

详情请参见 KaTeX 文档 [9]

+

参考资料

[1] OpenMV 官网(英文):https://openmv.io

+

[2] OpenMV 文档:https://singtown.com/openmv/

+

[3] OpenMV 教程:https://book.openmv.cc

+

[4] “色块识别”例程:https://book.openmv.cc/image/blob.html

+

[5] “ QR Code”和“ Bar Code”例程:https://book.openmv.cc/image/code.html

+

[6] openmv 物块颜色及色环及二维码识别(from LJTYLJ):https://www.bilibili.com/video/BV1b7411m7Pc

+

[7] Hough transform:https://en.wikipedia.org/wiki/Hough_transform

+

[8] 如何利用 OpenMV 进行测距:https://book.openmv.cc/image/ranging.html

+

[9] KaTeX文档:https://katex.org/docs/supported.html

+

其他很有帮助的资料

果子小酱的 2019 年电赛OpenMV源码:https://github.com/cwxyr/nuedc-2019-openmv

+

颜色展示工具:https://www.colorhexa.com

+

颜色转换工具:https://www.colortell.com/colortool

+

草料二维码生成:http://cli.im/

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2022/03/29/Give-my-blog-a-new-name/index.html b/2022/03/29/Give-my-blog-a-new-name/index.html new file mode 100644 index 000000000..c796747a4 --- /dev/null +++ b/2022/03/29/Give-my-blog-a-new-name/index.html @@ -0,0 +1,152 @@ +给博客一个新名字! | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + +

给博客一个新名字!

cover封面图来自国人画师 Qswan,大家可以去Pixiv上关注他喔!

+
+

之所以选择独立域名,不仅仅是为了逼格… 可玩性比较高,几乎没有限制。咱可以玩玩子域名,哪天搞出来一个 love.bennythink.com 表白多好玩嘛。

+

——《为什么我要写独立域名的博客》Benny 小土豆

+
+ + +

TL;DR

这里是太长不看版:

+

在咕咕咕整整一年半以后,我终于给了博客一个真正的名字,写下了一些杂文,顺便也整理了一份相关的教程,希望能为还没有购买过域名的同学提供帮助,作一点小小的参考。

+

前言

很长时间都没有写博客了,说起来惭愧。其实这段时间里倒是写了好几篇文章,但有时事情变得太快,在文章写完之前那些事情就已经变得面目全非了;或者写的内容都是比较私密的事情,只是给以后的自己一个人看,也不好意思发出来;又或者某天晚上在电脑前洋洋洒洒地写了一大篇,后来却一直没写完,最后它们就坑掉了。

+

额…… 好吧,我承认,上面的文字全都是我后来找的借口,我还是太懒了,另外还患有怕麻烦与拖延症晚期的病:比如博客的域名,来来回回十八个月,我一直都没有去管。

+

mess_aroundI have messed around that time.

+

而现在,我又想要重新开始写些什么,就计划着来给博客除除草。但在做这些事情之前,为了让她能体面地与其他的博客站在一起,我想要先送给她一个新的名字:一个简短的、富有个性的,以及不再依附于 GitHub/Microsoft 的域名。

+

域名的选择

mskclover.com,大家在浏览器的地址栏也看到了,这就是我的新域名。

+

其实,最初我也没想到会选择这个名字。等到真正开始做选择的时候,我找到了一年半前存在 One Tab 最底部的网页们,将它们在新窗口打开。当时围绕着 clover 这个网名,我对域名有好多种“绝妙”的想法,可在域名托管商处查询之后,我的心态出现了一丝微妙的变化:为什么那些好的域名在上个世纪就都没了? (因为生的太晚了) 这下,就只好再想一想,如何在那些被挑剩下的域名中,找到我眼中的漏网之鱼。

+

不过,在接着写下去之前,不如让我们先来看看,一个好域名需要具备哪些要素呢?

+

如何选择好域名

现在我们访问一个网站可以有很多种方式:通过书签、历史记录、或者搜索引擎,它们的本质都是使人们能够快速、方便地访问互联网上的某一个 IP 地址。为了方便记忆,IETF 在 1983 年发布了 RFC 882 和 RFC 883,开始以规律的一串字符作为域名,去指代那些没有含义的数字,这就是域名。

+

所以,容易被人轻易地记住,是一个优秀域名的必要条件。在2013年,一家新英格兰的电商公司 BOSTON WEB 在他们的 Blog 上,发表了一篇名为 5 characteristics for having a good domain name 的博文,作者 Giovanna DaPrato 在文中说明了一个好域名的五点特征:

+
+
    +
  1. Keep it short & sweet.
  2. +
  3. Use easy spelling.
  4. +
  5. Have a .com extension.
  6. +
  7. Get descriptive.
  8. +
  9. Get rid of hyphens and/or numbers.
  10. +
+
+

下面我就谈一谈我的理解叭:

+

简短又好听 & 拼写简单 & 具有描述性

大家都喜欢简短的域名,因为它们总能够能被人轻易记住。不仅在选择域名的时候是这样,在选择公司的热线时也同样如此:

+

比如,大家常常津津乐道于美国苹果热线的号码是 1-800-692-7753,只需记住 1-800-MY-APPLE 就可以了;同理,百思买的热线也只需拨 1-888-BEST-BUY 即可;这样的电话号码几乎已经是欧美大公司们的标准配置了。

+

所以,域名最好能代表着某种清晰的含义。在我们自己做选择的时候,也要尽量使域名少于 10 个字符。虽然域名中“出现某些具有想象力的词会很有趣”,但一定得避免使用生僻的单词,那样的域名易读性很低,难以通过后文提到的“无线电测试”。并且在保持简短的同时,域名也需要使人一眼就能分辨网站的类型。由于大部分的 “.com” 的短域名都被注册了,所以或许也可以考虑使用其他域名作为结尾,比如“.online”“.store”“.ai”“.tech”等。

+

不过,个人博客就不需要考虑这个了,域名当然是越有个性越好啊(

+

使用 .com 顶级域名

如果大家有兴趣去谷歌 “.com”,除了排在前列的维基百科和域名托管商,接下来一定是大公司们的官网,比如 Apple、Google 和 Amazon。因为在一开始,域名就是为商业、组织和政府网站的用途设计的。最初创建七个通用顶级域名时,甚至还没有 ICANN 呢!

+

domain英文维基百科的列表

+

可以看到,最初设计时 “.com” 来自于“商业”的英文 commercial,在随之而来的互联网商业化与公众化的时期,它也顺理成章地成为了数量最多的顶级域。后来在取消注册限制后,“.com” 原本的目的已经无关紧要了,它已经成为了最主要、也是最为流行的顶级域名。

+

所以,人们总是习惯于在域名的最后输入 “.com” ,他们也更倾向于假设即将访问的网站无论如何都以 “.com” 结尾。如果没有其他的理由,选择这个域名准没有错(但顶级域名相比之下要贵一些)。

+

在搜索引擎时代到来以后,有这样一种观点:非“.com”的域名可能会降低网站的 SEO。但我也看到有谷歌的前员工说这并没有影响。至于究竟如何,谷歌没有说,我也不知道。不过,我也并不关注这方面,毕竟目前还是把博客作为一个花园/自留地,还不像其他商业网站一样,想排在搜索引擎第一页。

+

另外,我之所以选择 “.com”,只是因为我想给博客一个 “.com” 的域名而已,单纯地想做一根年轻的韭菜罢了(

+

避免连字符和/或数字

在人们还喜欢收听收音机的年代,有一个标准叫做“无线电测试”,它的目的是为了能保证公司的名字能够透过无线电波清楚地传播,并使听众快速地记下,好的域名从一开始就是为了这个目的而生的。

+

为了能够易读/易于口述,在选择域名的时候,都应该避免出现符号与数字。连字符的出现不仅会使域名变得复杂、难以读出,而且也会让这条网址更像是垃圾网站,因为诈骗网站或是垃圾邮件中出现的域名,几乎都用了好些连字符。使用数字,则会让人难以分辨域名中出现的数字是符号还是单词,比如 example6.com 与 examplesix.com,所以数字一般都建议使用字母拼写。

+

不过,以上的特征也并不是绝对的,如果是自己用的,那完全不需要考虑这些,让自己开心就好。

+

选择困难症

众所周知,我患有懒癌与晚期拖延症,而且还是一个选择困难症患者。

+

我一直都想将我的网名“clover”放进域名,但由这个词汇组成的短域名都已经没有了。我想着博客的中文名,将花园的单词加了进去:clovergarden.com,一看发现是家日本的园艺公司;那我改改,cloversgarden.com 怎么样?原来是家美国的花卉公司;那 cloverssgarden.com 呢?这个倒是没人注册,可这个域名太长了,而且 ss 也总是让我想到纳粹的党卫军(Schutz Staffel),所以也就不考虑了。

+

过了一会儿,我想到之前看过一部番:Violet Evergarden,便输入了cloverevergarden.com,这么长的域名果然没有人会选,整整 16 个字母。后来又想了一下,那减少两个字母呢?clovevergarden.com,也没短多少……

+

正巧这时一个学长逛街到我旁边,我便拉着他跟我一起想想,给博客取什么域名比较好。他一看上面的那几个,他也人麻了,就没怎么见到过这么长的域名。他想了一下,说你 GitHub 上不是叫 Misaka_Clover 吗?域名要不叫 mskclover 吧。我听罢,觉得这个选择真不错,msk 是 misaka 发音的几个字母,比较好跟别人描述,这部分也只有 9 个字母,至少在 .com 域里算短的了,于是我就选择了 mskclover.com 作为我的博客域名。

+

域名申请及 DNS 解析

就算拥有了新的域名,在兴奋地告诉大家之前,我们还需要在托管商的后台配置 DNS,将域名解析到我们博客的服务器的 IP 地址上,这样我们的网站才可以被互联网上的小伙伴们访问。那我就趁此机会,把整个流程梳理一下吧。虽然网上也有很多相关的教程,但没准多我的一份,就可能会帮助到更多的人,我顺便还能水一篇博文呢!

+

域名购买

在购买域名前,我们需要先选择一家靠谱的域名托管商:在国际上比较为人熟知的有 GoDaddyNamecheap 等,国内则可以选择腾讯云或者阿里云。现在的购买流程早就比较懒人化了,各家公司的服务也大差不差,所以下面我们以 Namecheap 为例,快速地过一下吧:

+

首先,到托管商的域名搜索页面,输入心仪的域名:

+

example_1选择困难症的噩梦

+

选择好以后,将域名加入【购物车】,然后单击右下角的【结账】,之后会进入定制选择:

+

example_2令人眼花缭乱的界面

+

如果是第一次购买域名的话,这些都是可以不管的,在取消【自动续费】后,就可以点击【确认订单】进入下一步了:

+

example_3订单付款页面

+

在进入付款页面以后,选择一种方式付款就好。恭喜,从现在开始,你拥有了属于自己的域名啦!

+

DNS 解析

虽然域名此时已经是属于自己的了,但直接去访问域名,大概率是访问不了的,因为此时域名并没有被解析到一个有效的 IP 地址。想让域名能跳转到我们的网站,需要在托管商的后台将域名解析到我们网站的 IP 上。

+

由于网站目前是基于 Hexo 的静态博客,服务器还是白嫖的 GitHub(或者巨硬),所以我就以这个配置的过程为例,相信在其他情况下的过程也是非常相似的。

+

在账户页面的【域名列表】,我们可以看到刚刚购买的域名已经出现在下面了,然后通过最右侧的【管理】按钮进入后台:

+

example_4域名列表

+

接下来,在【高级 DNS 】选项下,我们在【主机记录】下添加如上几条解析记录。A记录将我们的域名解析到服务器的 IPv4 地址上,而 CNAME 更像是一种“别名”,不受主机的 IP 改变的影响。至于它们的具体区别可以参见 Namecheap 写的这篇 Host records setup

+

example_5高级 DNS 下的主机记录

+

其实如果是像我一样白嫖 GitHub 的服务器的话,只需要设置 CNAME 就可以了,GitHub 官方也是这样建议的,这里只是向大家展示一下两种常见的设置。在设置 A 类型时,需要在【值】处填入服务器的 IP 地址,这时只需要简单地 ping 一下自己目前网站的域名就可以了:

+

example_6终端界面

+

以上配置完后,接下来到 GitHub Pages 的页面,在 Custom domain 处填上我们为博客准备的新域名,然后点击保存,等待 DNS 验证成功后就好啦。由于托管商处的 DNS 可能需要十分钟到一小时刷新,所以耐心等待即可。

+

example_7GitHub Pages 页面

+

最后,我强烈建议勾选【Enforce HTTPS】的选项,为自己的博客启用 HTTPs 加密协议,保护自己和访客的冲浪安全。

+

最后

对于互联网而言,我的博客有了新的名字,这一切应该告一段落了。但对于我而言,我才刚刚开始重新写博客,更别说博客框架与主题的版本老旧,需要我再次花时间配置,有可能我做着做着就再次鸽掉了是吧(

+

无论如何,感谢你读到这里,期待与你在下一篇博文中再会~

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2022/04/08/give-back-my-head/index.html b/2022/04/08/give-back-my-head/index.html new file mode 100644 index 000000000..64bf60fdc --- /dev/null +++ b/2022/04/08/give-back-my-head/index.html @@ -0,0 +1,102 @@ +【摘录】“还我头来” 及其他 | 叶子的花园 + + + + + + + + + + + + +

【摘录】“还我头来” 及其他

作者:梁遇春

+
+

我第一次读到,是在高中时的一次语文考试中,这篇文章作为阅读理解,给我留下了极其深刻的印象。一直到现在,社会上的一些事情还时常能让我想起梁遇春先生的这篇散文。所以我就想在博客上也摘录一份,算是收藏在这里了。

+
+ + +

关云长兵败麦城,虽然首级给人拿去招安,可是英灵不散,吾舌尚存,还到玉泉山,向和尚诉冤,大喊什么 “还我头来!” 这是多么惊心动魄的事,万想不到我现在也来发出同样阴惨的呼声。

+

但是我并非爱做古人的鹦鹉,实在有不得已的苦衷,在所谓最高学府里头,上堂,吃饭,睡觉,匆匆地过了五年,到底学到了什么,自己实在很怀疑。然而一和同学们及别的大学中学的学生接近,常感觉到他们是全知的人们 (差不多要写做上帝了) 。他们多数对于一切大大小小、长长短短的问题,都有一定的意见,说起来滔滔不绝,这是何等可羡慕的事。他们知道宗教是应当 “非” 的,孔丘是要打倒的,东方文化根本要不得,文学是苏俄最高明,小中大学都非专教白话文不可,文学是进化的 (因为胡适先生有一篇文学进化论),行为派心理学是惟一的心理学,哲学是要立在科学上面的,新的一定是好,一切旧的总该打倒,以至恋爱问题、女子解放问题…… 他们头头是道,十八般武艺无一不知。

+

鲁拙的我看着不免有无限的羡慕同妒忌。更使我赞美的是他们的态度,观察点总是大同小异 —— 简直是全同无异。有时我精神疲倦,不注意些,就分不出是谁在那儿说话。我从前老想大学生是有思想的人,各个性格不同,意见难免分歧,现在一看这种融融泄泄的空气,才明白我是杞人忧天。

+

不过凡庸的我有时试把他们所说的话,拿来仔细想一下,总觉头绪纷纷,不是我几秒钟的时间所能了解。有时尝尽艰难,打破我这愚拙的网,将一个问题,从头到尾,好好想一下,结果却常是找不出自己十分满意解决的方法,只好归咎到自己能力的薄弱了。有时学他们所说的,照样向旁人说一下,因此却得到些恭维的话,说我思想进步。荣誉虽然得到,心中却觉惭愧,怕的是这样下去,满口只会说别人懂自己不懂的话。随和是做人最好的态度,为了他人,失了自己,也是有牺牲精神的人做的事;不过这么一来,自己的头一部一部消灭了,那岂不是个伤心的事情吗?

+

由赞美到妒忌,由妒忌到诽谤是很短的路。人非圣贤,谁能无过,我有时也免不了随意乱骂了。一回我同朋友谈天,我引美国 Cabell 说的话来泄心中的积愤,我朋友或者猜出我老羞成怒的动机,看我一眼,我也只好住口了。现在他不在这儿,何妨将 Cabell 话译出,泄当时未泄的气。Cabell 在他那本怪书,名字叫做《不朽》Beyond Life 中间说:

+

“印刷发明后,思想传布是这么方便,人们不要麻烦费心思,就可得到很有用的意见。从那时候起很少人高兴去用脑力,伤害自己的脑。”

+

Cabell 在现在美国,还高谈 Romance,提倡吃酒,本来是个狂生,他的话自然是无足重轻的,只好借来发点牢骚不平罢!

+

以上所说的是自己有愿意把头弄掉,去换几个时髦的字眼的危险。此外在我们青年旁边想用快刀阔斧来取我们的头者又大有人在。思想界的权威者无往而不用其权威来做他的文力统一。从前晨报副刊登载青年必读书十种时候,我曾经摇过头。所以摇头者,一方面表示不满意,一方面也可使自己相信我的头还没有被斩。这十种既是青年所必读,那么不去读的就不好算做青年了。年纪青青就失掉了做青年的资格,这岂不是等于不得保首级。回想二三十年前英国也有这种开书单的风气。但是 kord Avebury 在他《人生乐趣》(Thepleasure ofLife) 里所开的书单的题目不过是 “百本书目表”(List of loo Books)。

+

此外 Lord Acton,Shorter 等所开者,标题皆用此。彼等以爵士之尊,说话尚且这么谦虚,不用什么 “必读” 等命令式字眼,真使我不得不佩服西人客气的精神了。想不到后来每下愈况,梁启超先生开个书单,就说没有念过他所开的书的人不是中国人,那种办法完全是青天白日当街杀人刽子手的行为了。胡适先生在《现代评论》曾说他治哲学史的方法是惟一无二的路,凡同他不同的都会失败。我从前曾想抱尝试的精神,怀疑的态度,去读哲学,因为胡先生说过真理不是绝对的,中间很有商量余地,所以打算舍胡先生的大道而不由,另找个羊肠小道来。现在给胡先生这么当头棒喝,只好摆开梦想,摇一下头 —— 看还在没有。总之在旁边窥伺我们的头者,大有人在,所以我暑假间赶紧离开学府,万里奔波,回家来好好保养这六斤四的头。

+

所以 “还我头来” 是我的口号,我以后也只愿说几句自己确实明白了解的话,不去高攀,谈什么问题主义,免得跌重。说的话自然平淡凡庸或者反因为它的平淡凡庸而深深地表现出我的性格,因为平淡凡庸的话只有我这鲁拙的人,才能够说出的。无论如何总不至于失掉了头。

+

末了,让我抄几句 Amauld 在 Port-Royal Logic 里面的话,来做结束罢。

+

“我们太容易将理智只当做求科学智识的工具,实在我们应该用科学来做完成我们理智的工具;思想的正确是比我们由最有根据的科学所得来一切的智识都要紧得多。”

+

中国普通一般自命为名士才子之流,到了风景清幽地方,一定照例他说若使能够在此读书,才是不辜负此生。由这点就可看出他们是不能真真鉴赏山水的美处。读书是一件乐事,游山玩水也是一件乐事。若使当读书时候,一心想什么飞瀑松声绝崖远眺,我们相信他读书趣味一定不浓厚,同样地若使当看到好风景时候,不将一己投到自然怀中,热烈领会生存之美,却来排名士架子,说出不冷不热的套话,我们也知道他实在不能够吸收自然无限的美。我一想到这事,每每记起英国大诗人 Chaucer 的几行诗 (这几行是我深信能懂的,其余文字太古了,实在不知道清楚)。他说:

+

“When that the montheof MayIscomen, and that I here the foules synge, And that the floures gynnen forto sprynge, Farurl my boke and my devocon.” Legende of Good Women.

+

大意是当五月来的时候,我听到鸟唱,花也渐渐为春天开,我就向我的书籍同宗教告别了。要有这样的热诚才能得真正的趣味。

+

徐旭生先生说中国人缺乏 enthusiasm,这句话真值得一百圈。实在中国人不止对重要事没有 enthusiasm,就是关于游戏也是取一种逢场作戏随便玩玩的态度,对于一切娱乐事情总没有什么无限的兴味。闭口消遣,开口销愁,全失丢人生的乐趣,因为人生乐趣多存在对于一切零碎事物普通游戏感觉无穷的趣味。要常常使生活活泼生姿,一定要对极微末的娱乐也全心一意地看重,热烈地将一己忘掉在里头。比如要谈天,那么就老老实实说心中自己的话,不把通常流俗的意见,你说过来,我答过去地敷衍。这样子谈天也有真趣,不至象刻板文章,然而多数人谈天总是一副皮面话,听得真使人难过。关于说到这点的文章,我最爱读兰姆 (Lamb) 的 Mrs. Battle’s opinions on Whist。那是一篇游戏的福音,可惜文字太妙了,不敢动笔翻译。再抄一句直腿者流的话来说明我的鄙见罢。AC.Berson 在 From a CollegeWirdcw 里说:

+

“一个人对于游戏的态度愈是郑重,游戏就越会有趣。”

+

因为我们对于一切都是有些麻木,所以每回游玩山水,只好借几句陈语来遮饰我们心理的空虚。为维持面子的缘故,渐渐造成虚伪的习惯,所以智识阶级特别多伪君子,也因为他们对面子特别看重。他们既然对自然对人情不能够深切地欣赏,只好将快乐全放在淫欲虚荣权力钱财这方面。这总是不知生活术的结果。

+

有人说,我们向文学求我们自己所缺的东西,这自然是主张浪漫派人的说法,可是也有些道理。我们若使不是麻木不仁,对于自己缺点总特别深切地感觉。所以对没有缺点的人常有过量的赞美,而对于有同一缺点的人,反不能加以原谅。Turgeniev 自己意志薄弱,是 Hamlet 一流人物,他的小说描写当时俄国智识阶级意志薄弱也特别动人。Hazlitt 自己脾气极坏,可是对心性慈悲什么事也不计较的 Goldsmith 却啧啧称美。朋友的结合,因为二人同心一意虽多,而因为性质正相反也不少。为的各有缺点各有优点,并且这个所没有的那个有,那个自己惭愧所少的,这个又有,所以互相吸引力特别重。心思精密的管仲同性情宽大的鲍叔,友谊特别重;拘谨守礼的 Addison 和放荡不羁的 Steele,厚重老成的 Southey,和吃大烟什么也不管的 Coleridge 也都是性情相背,居然成历史上有名友谊的榜样。老先生们自己道德一塌糊涂,却口口声声说道德,或者也是因为自己缺乏,所以特别觉得重要。我相信天下没有那么多伪君子,无非是无意中行为同口说的矛盾罢了。

+

我相信真真了解下层社会情形的作家,不会费笔墨去写他们物质生活的艰苦,却去描写他们生活的单调,精神奴化的经过,命定的思想,思想的迟钝,失望的麻木,或者反抗的精神,蔑视一切的勇气,穷里寻欢,泪中求笑的心情。不过这种细密精致的地方,不是亲身尝过的人像 Dostoievski,Gorki 不能够说出,出身纨袴的青年文学家,还是扯开仁人君子的假面,讲几句真话罢!

+

因为人是人,所以我们总觉人比事情要紧,在小说里描状个人性格的比专述事情的印象会深得多。这是一件非常明显的事,然而近来所看的短篇小说多是叙一两段情史,用几十个风花雪月字眼,真使人失望。希望新文豪少顾些结构,多注意点性格。Tolstoy 的《伊凡伊列支之死》,Conrod 的 LordJim 都是没有多少事实的小说,也都是有名的杰作。

+

十六年七月六日,于福州。

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2022/04/09/project-in-Apr/index.html b/2022/04/09/project-in-Apr/index.html new file mode 100644 index 000000000..4bc6df38e --- /dev/null +++ b/2022/04/09/project-in-Apr/index.html @@ -0,0 +1,350 @@ +四月之计划与简记 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + +

四月之计划与简记

cover + + + +

一切的开始

怎么说呢?我在准备考研,嗯,四舍五入从上学期(大三上)就开始准备了。其实说起来惭愧,上学期我只是捕风捉影地四处寻了些有关考研的信息与方法论,相比于其他考研的同仁,实实在在可是一点书都没有看。寒假时在家里被母上说教了一番,惊觉时间不多,才开始真正地看书复习。

+

但我向来是偏好于混日子的,但如果现在再混日子,等到毕业以后,就没日子可混了,这可多是一件悲伤的故事。为了让我能在接下来的几年内,有资格可持续性地继续混下去,我想将自己的考研计划贴到博客上来,并在其后不断地更新每日的完成情况,通过这样方式督促自己潜心学习。就算博客本来就没有什么人看 —— 那岂不是更好吗?正好就可以放飞自我了(

+

话说回来,这个“计划与简记”本就是给自己看的,它可以有很多个名字,比如“成功日记”什么的。名字不一样无所谓,重要的是它本身的意义:为自己的这段奋斗的经历留下痕迹,在未来回顾的时候,能够回忆起最初的一些的东西。

+

不过,我确实比较怀疑这样的方式,效果能有几何?万一没有帮助,反而还消耗了我的精力,那我岂不是自个儿挖了个坑把自个儿给埋了。谁知道呢,套用商业里的一个词:“试运营”,如果不行,至少还能够及时止损吧。

+

其实我也知道,这些于我考研而言是比较虚幻的东西。计划写得再好,任务安排得再复杂,也不过是一座美丽的空中楼阁罢了,一个纸壳子而已。真正重要的,永远都是每一天看书听课的时间、做完的习题和规律的运动与作息。

+

考研可不会像高考一样,几乎所有的事情都是确定的,其间会有许多的不确定性。我可能也会遇到俗务缠身,没有时间和精力看书,心态可能也会被网络上繁杂的信息而影响,图书馆亦会因为突如其来的疫情而关闭,甚至考研的时间还会因此而变动。但我相信,这些问题都能被我恰当地应对。同时,我也真切地希望,能不辜负这段时间,毕其功于一役!

+
+

将军此去必封侯,士卒何心肯逗留。
马后桃花马前雪,出关争得不回头?

+

——《出关》,(清)徐兰

+
+

放轻松点,无非又是一次高考,让我们开始吧。

+

本月计划

考研任务

    +
  • 数学:学习张宇基础三十讲中 12 讲(学到第 20 讲)
    (0430|我学不完了我学不完了我学不完了我学不完了我学不完了)
  • +
  • 英语:每日背单词 180 个(百词斩 * 150 与 墨墨 * 30)
    从现在开始,这个月应该能把六级单词再过一遍吧……
  • +
+

导师项目

    +
  • 学习完《计算机网络:自上而下方法》
    (0418:最后还是只挑了传输与协议这跟项目有关的地方看,并没有看完…… )
    (0424:现在应该已经够用了,后面不够用再说吧。)
  • +
  • 重新熟悉 C++,以开始接手导师的项目
    (0418:跟着 QT 学了一遍,算是又重新熟悉了吧 ❌)
  • +
  • 学习 QT,准备接手师兄的平台(0410新增)
    (0501:学习了一部分,但确实在学了……)
  • +
+

其他

    +
  • 入党材料提交
  • +
  • 交接社团的工作
  • +
  • 翻译 Jaap Grolleman这篇博文(0414新增)
  • +
  • 写申请学校的材料(0418新增)
  • +
  • 完成学业上的课程设计(0418新增)
  • +
  • 抽神里绫华
    朋友整活时给我加上去的…… 我想了想,不删了,把这个留着
    等到计划全都做完了的那天,我要把他挂在这里鞭尸😡
    (0419:今晚和朋友们第一次十连就出了,开森!)
  • +
+

每日情况简记

+

每日的事务完成情况会在下面更新:

+
+

学期第七周 (0410)

04-10,周日

09:45 —— 11:56:数学,约 84 分钟的网课,结束高数第八讲的课程;
12:07 —— 12:28:英语,大约 80 个单词;
14:08 —— 16:56:数学,约 85 分钟的网课,结束高数第九讲的课程;
18:37 —— 18:58:英语,大约 100 个单词,完成了今日的单词任务;
19:08 —— 20:53:数学,完成了高数第八讲的习题册与一小部分课后习题。

+
+

学期第八周 (0411 — 0417)

本周计划:

    +
  1. 数学第八章至第十二章;
  2. +
  3. QT 开始入手,学习教程。
  4. +
+
+

04-11,周一

08:35 —— 09:01:英语,大约 80 个单词;
09:18 —— 09:45:数学,约 21 分钟的网课,订正了习题册第八讲部分题目;
13:34 —— 14:20:数学,约 33 分钟的网课,订正了习题册第八讲的大部分题目;
14:47 —— 15:25:项目,组会;
15:41 —— 16:57:数学,约 21 分钟的网课,订正完了习题册第八讲,并且继续做第八讲课后习题;
17:02 —— 17:20:英语,大约 50 个单词;
18:35 —— 18:44:英语,大约 50 个单词,完成了今日的单词任务;
18:46 —— 19:26:项目,查找 QT 资料;
19:29 —— 20:20:数学,继续做并订正第八讲课后习题;
20:44 —— 21:16:运动,慢跑 3 km;
23:19 —— 23:47:数学,继续做并订正第八讲课后习题。

+

我对今天其实不是很满意,因为时间被切得稀碎,做题也不如听课那么畅快,经常卡卡停停的。而且,计划本身也未能如愿,完成度有些低,没能将第八讲的习题全部做完。我们本来打算的是一天听课,一天做题的,这样才能不落下进度。当然,也有这一讲的内容偏多的原因,因为它是接下来积分计算的基础。

+

不管怎样,没有完成计划终究是令人沮丧的。

+
+

04-12,周二

08:00 —— 08:35:英语,背了大约 50 个单词;
08:35 —— 08:45:项目,组会;

+

上午,在京东买的 Sony WH-1000MX4 终于送到了,结果上午取了快递以后就地开摆了,平时学习都不见得这么积极…… 不过,亡羊补牢为时未晚,希望下午和晚上的学习能达到目标吧。

+

14:07 —— 15:34:数学,高数第十讲约 44 分钟;
15:34 —— 15:53:英语,大约 60 个单词;
16:01 —— 17:51:数学,高数第十讲约 65 分钟,结束第十讲的课程;
19:06 —— 19:17:英语,大约 70 个单词,完成了今日的计划;
19:19 —— 20:39:数学,完成了高数第九讲的习题册;
20:44 —— 21:16:数学,约 24 分钟的习题课,订正了习题册的部分题目;
23:41 —— 00:10:数学,约 29 分钟的习题课,继续订正习题册。

+

今天的计划虽然是勉强完成了,但我还是不满意:整整一天的时间,只完成了平均程度的任务量,而那些有课、有项目和工作的日子,那时做不完的计划又应该什么时候补上呢?今天真是起了个大早,赶了个晚集。

+

晚饭时与朋友聊到考研,有一句话令我记忆犹新:

+
+

比如说学习这个事情:多少人不是真正聆听了自己的需求、有着内源性的动力去学习,而是看着室友起床了去图书馆了,被焦虑逼迫着才去学习。

+
+

我想了想,好像我也常常是看着别人学习而学,至于我真正想要的东西,那对于我来说像是已经成了口号:一个我知道,却毫不在意的东西。今天虚度的整个上午,或许都是因为缺少真正的目标吧。这么说来,考研这件事,好像也成了跟风做下的决定了?

+

Anyway,这些事情,要是没想好,就先不想了。至少先继续复习,保持着进度,总是不会错的。只要基础在,等到什么时候想明白了,那时再做决定,也不至于太过匆忙。

+

就先到这里吧。

+
+

04-13,周三

08:43 —— 09:03:英语,大约 70 个单词;
09:08 —— 09:26:数学,约 16 分钟的习题课,订正完高数第九章习题册;
14:10 —— 14:27:英语,大约 70 个单词;
14:51 —— 17:16:数学,继续做并订正第八讲课后习题;
17:30 —— 17:37:英语,大约 20 个单词,完成了今日的计划。

+

今天的课有些多,所以没能够做多少事情,这就是我昨天所担忧的地方。

+

另外,高数第八讲的课后习题真是太多了,足足有 22 道积分题呢,一般的章节课后也不过十道左右…… 不过没有关系,今天又做了一天,只剩三道题了,明天就可以做完了。

+
+

04-14,周四

今天又是课多的一天呢,我计划今天将高数第八讲最后一点的课后习题与第九讲的做完,如果能做一点第十讲的习题册,那就再好不过了。

+

09:49 —— 10:13:英语,大约 50 个单词;
10:24 —— 12:06:数学,完成了第八讲课后习题;

+

就三道题和前面一些题的订正做了两小时…… 看来积分还是不熟练啊。

+

19:53 —— 20:03:英语,大约 30 个单词;
20:27 —— 21:53:数学,完成了高数第九讲的课后习题,但却还没有批改;
23:14 —— 23:37:英语,大约 90 个单词,完成了今日的计划。

+

今天课很多,事情也比较杂,所以就只学了这么一点,没有完成计划。但我自问,今天我并没有尽到全力,有一些地方还是懈怠了:比如今天下午在下课以后,还应该继续看一会儿书的,可由于明日方舟开了新活动,就去打了会游戏。就跟之前拿到新耳机时一样,立刻就对正事不管不顾了,我总是不会延迟满足自己。想来如果当时能克制住自己的话,今天完成计划是没问题的。

+

晚上与母亲通了电话,交流了一下最近为了预防封校而屯粮的情况,后来提到考研的计划,她听了我的进度以后,还是认为我太慢了。如果我不能在五月之前将这本数学基础给学完,到了六月要准备期末考试,我就没机会了。一步慢,步步慢,后面的专业课复习恐怕也会被耽误。而且我打算是进行三轮的总复习,像高考那样,所以我的时间是很紧的。现在要是慢了,事情可就做不完了。

+

所以,我现在想提速了:这周看完第十三章,等到月末的时候,最好能看到第二十三章。但愿在五月中旬结束之前,我就能结束这本数学基础,然后我就开始准备英语六级的考试了。但我也担忧这样急于推进,会不会让复习的效果变差,可能也会耽误其他的事情,比如导师的项目和学校的课设。不过,先试试看吧,至少当为了自己的前途而奋斗的时候,给再多的压力都是值得的。

+

这一切的基础,可都得靠我这薄弱的自控力去一点一点地实现啊。

+
+

04-15,周五

13:13 —— 13:29:英语,大约 70 个单词;

+

今天的计划是将昨天未订正的第九章课后作业订正完,然后做完第十章的习题册,再听一部分高数第十一讲的课,大约一个半小时,晚上再慢跑3/4公里就好。等到洗漱完以后,再翻译“那篇博文”的前两段或是前三段,大概就是这样了。

+

13:42 —— 14:44:数学,订正完高数第九讲的课后习题;
14:55 —— 16:09:数学,约 24 分钟的高数第十一讲网课;
18:14 —— 18:36:英语,大约 90 个单词,完成了今日的计划

+

完了,今天下午去跑材料,晚上听了讲座,计划四舍五入约等于一点没做。再这样下去,这周别说第十三章了,连第十二章都看不完。最近繁杂的事情真的好多,我效率还是一如既往的低;师兄那边已经让我下周去跟着他一起做 QT 平台了,我周末也得把这个先准备好;下周还是我们课设的中期检查,我也得把它做出个模样;另外,虽然我已经退出了社团,但我这周也得把交接工作搞定……

+

要是一天可以不管不顾,从早学到晚,那得是多好的一种生活,是吧?

+
+

04-16,周六

今天上午是选修课,我打算继续翻译文章,下午和晚上再推进数学的进度。今日的目标是结束高数第十一讲的网课,并且将第十讲的课后习题做完。

+

13:34 —— 13:49:英语,大约 70 个单词;
13:59 —— 15:05:数学,约 36 分钟的高数第十一讲课程;
15:09 —— 15:16:英语,大约 40 个单词;
15:19 —— 18:05:数学,约 104 分钟视频,结束了第十一讲的课程;
18:56 —— 20:41:数学,做完了高数第十讲的习题册,并订正了部分习题;

+

今天下午与晚上 —— 至少到现在,我都还是很满意的。毕竟如果不谈效率的话,我还是能算得上是相当充分地利用了时间的。但是,我感觉这周的计划是真的做不完了:不说周四为了提速、乐观加入的第十三讲,仅是第十二讲的课程视频就有两个小时,按照我对自己效率的了解,这恐怕需要接近四个小时才能学完 —— 这还没算上做作业的时间,现在尚未完成的作业有第十、十一、十二这三讲。

+

介于目前的情形,我已经在考虑让下周的我,来给现在的自己善后了……

+

22:13 —— 22:24:英语,大约 60 个单词,完成了今日计划;
22:46 —— 23:45:数学,约 40 分钟的讲解,将高数第十讲订正完了。

+

还行,明天可以少 worrying 一些了。

+deal_with + +
+

04-17,周日

上午因为要跟社团下一届的同学交接工作,所以在他们来之前,我看了下项目需要用的 QT,并配置好了环境。后面的交接工作出了点意外,花费的时间比我预想的要长一些。不过没有关系,现在是下午两点半,我还是出现在了图书馆,并且找到了座位,一切依然在 routine 之中。

+

让我们开始吧。

+

09:24 —— 10:36:项目,学习 QT 教程;
14:46 —— 15:00:英语,大约 70 个单词;

+

今天中午与朋友聊天吃饭,在后来看书的时候,又有了那种熟悉的感觉:接触太多的社会时事以后,会让内心很难保持平静。自己的杂念太多,在学习的时候就不如其他时候专注。所以我还是想,现在或许应该少关注些事情。不过,如果不关心时政,那怎么去考政治呢?看来只需要背肖四和肖八就可以了吧(

+

15:01 —— 16:21:数学,完成并订正了第十讲的课后作业;
16:25 —— 16:38:英语,大约 50 个单词;
16:47 ——17:34:数学,高数第十二讲约 14 分钟的课程;
18:58 —— 19:09:英语,大约 50 个单词,完成了今日计划;
19:11 —— 20:17:数学,高数第十二讲约 40 分钟的课程;

+

听得有些犯困了,正巧手表没电了,回去取个快递,充充电,再去跑跑步,多好,实在是太久没运动了。

+
+
+

阿伟你又在打电动喔,休息一下吧,去看看书好不好

+

烦诶

+
+

上面写的那些看到了吗?实际上都没有完成(

+

八点半回宿舍取快递,人家周日早下班了;正想去跑步,天空中又开始飘起了小雨;那行吧,晚上写写申请材料,做下本周的总结,结果洗完澡又跟杰哥打电动去了。不仅什麽事都没有做成,反而还熬了夜,太逊了。

+

之前看到那幅小恐龙的漫画,还说可以少 worrying about today and tomorrow,结果还得第九周的我来擦屁股,最终还是 worrying about yesterday 了。

+
+

本周总结

先说计划吧,数学的进展虽未完全达标,但总体上还是令我满意的 —— 至少比之前好太多了。虽然没有完全完成前十二章,不过多少已经很接近了:第十二章的课程视频还有一个多小时,作业还有第十一讲和第十二讲没有做。虽说是想要将第十三章也一起看完,就结果来看,我可能还是对自己认识不足。当然,这之中也是有这周事务比较繁杂的缘故,所以我相信在第九周是能把进度赶上来的。

+

而英语方面,算上中规中矩,没有缺背,也没有多背。

+

那项目呢?倒是基本上没怎么管,除了之前去开了两次组会,其他时候四舍五入等于一点没做,直到周日因为要跟社团交接工作,在约定的时间到之前才在实验室里看了会…… 下周就要开始用了,得多花点时间在这上面。

+

大概就是这些了。

+
+

学期第九周 (0418 — 0424)

本周计划

    +
  1. 数学第十三章至第十六章;
  2. +
  3. QT 继续学习教程,并开始向师兄请教平台概况;
  4. +
  5. 写申请材料。
  6. +
+

现在距离考研约 246 天。

+

虽然一开始计划的是数学看到第十六章,不过由于后面我打算提速的缘故,我认为应当以第十八章为本周的目标。

+
+

04-18,周一

14:42 —— 14:55:英语,约 60 个单词
14:55 —— 15:36:计划

+

今天的任务就是将第十二章学完,做完并订正第十一章的练习册,然后今天一定要将 Jaap Grolleman 那篇博文的初稿翻出来。

+

15:36 —— 16:26:数学,高数第十二讲约 28 分钟的视频;
19:47 —— 21:03:课设

+

惭愧,此后课设还是没有进展,我就开摆了,晚上看电影和看剧一直到凌晨三点过。平时一直在避免睡得太晚,现在颇有种报复性熬夜的感觉。

+
+

04-19,周二

19:48 —— 23:09:翻译博文
23:09 —— 23:57:校对博文

+

第二天早上起来,已经差不多是中午了,吃过了午饭后,继续在宿舍摆。后来四点过的生活想了想,胡适之啊胡适之,不能再这样下去了,所以把自己收拾了一番,房间也整理了一下,出门吃饭。吃完饭后懂摸西摸了一下,就一直在实验室翻译那篇博文,总算是翻译完了。然后就邀请了几个关系好的同学,一起看看译文是否足够「信达雅」,力图能不让读者在阅读的过程中有异样的感觉。

+

遗憾的是,这两天都没有背到足够的单词,大概落下了三百个左右,在这周里面我得慢慢补上……

+
+

04-20,周三

09:49 —— 10:00:英语,约 50 个单词;
11:49 —— 11:57:英语,约 50 个单词;

+

今天课程比较多,先将高数第十一讲的练习册做并订正完吧,最好再能做大半的课后习题。单词今天得多背 60 个以补缺前两天的遗漏。然后其他的杂务也得做一些,大概先这样吧。

+

14:49 —— 15:18:课业,做课内作业;
15:21 —— 15:30:英语,约 50 个单词;
15:48 —— 17:11:数学,完成了高数第十一讲的习题册;

+

刚刚想到,如果这周想要看完第十八章,那接下来几天一天一章好像都来不及……

+

18:15 —— 18:38:英语,约 80 个单词,完成了今日的任务;
18:43 —— 19:00:课业,做网络实验报告;
23:07 —— 23:17:课业,完成报告;
23:19 —— 24:40:博文润色,将译文发给了 Jaap 并请他过目。

+

今天终于算是完成了博文的翻译,我没想到两三千词的英文翻译耗费了我这么多的时间,从 13 号到现在 21 号到凌晨,我在几位热心朋友的帮助下,终于将博文润色得差不多了。不知道 Jaap 会怎么看这篇翻译呢?他是一个荷兰人,英语说得比我好,学过中文,还在中国工作。我觉得,跟这样的外国友人打交道是一件很稀罕的事吧。

+

不过一想到今天的数学任务又没做完,这股新鲜的感觉就不再那么使我兴奋了: (

+
+

04-21,周四

13:57 —— 14:15:英语,约 80 个单词;
18:05 —— 18:19:英语,约 70 个单词;

+

今天的课还是比较多,但最近上课时候的精神状态不是很好,也不知道为什么…… 晚上时间不多,并且也有运动的计划,就不去图书馆了,在实验室看看 QT 吧。

+

18:32 —— 21:25:项目,继续看 QT;
21:25 —— 22:15:运动,慢跑 3 km;
22:24 —— 22:42:英语,约 80 个单词,完成了今日的任务。

+

晚上去跑步了,这么多天,终于又去运动了。虽然手表记录的每日运动量是达标了的,但那毕竟还是不够。我感觉只有像以前那样,一直保持着规律的运动,才能在日常中有一个好的状态吧。

+

遗憾的是,今天由于种种原因,一点数学都没有看…… 很喜欢张宇老师说的一句话:

+
+

“数学的学习过程一定是连续函数,但凡碰了数学就不能间断,每一天都要有定义,不能无定义,只要连续到底,就能成功。”

+
+

乘着现在还在实验室,看点数学再睡觉吧。

+
+

04-22,周五

今天我有一整天的时间,我计划白天学习数学,将第十一讲的作业都做完,再把第十二讲的课听完,还可以做一些第十一、十二讲的题;晚饭后写一写材料,做一些课内的作业,再看看项目和课设等。

+

09:36 —— 09:47:英语,约 50 个单词;
09:55 —— 11:56:数学,订正了高数第十一讲的练习册;
12:05 —— 12:14:英语,约 50 个单词;

+

我现在在考虑,像是今天与周末这样没课的日子,如果能像高中一样的作息,那应当会取得不错的效果。比如做到规律的日常作息,中午划分出饭点与午休,晚上划分出饭点与内务,其他时候按照类似课程表那样学习,这样的效果会不会好一点?

+

14:00 —— 14:34:课业,做课内作业;
14:44 —— 15:07:英语,约 100 个单词;
15:12 —— 17:01:数学,做完了高数第十一讲的课后习题,并订正了一半题目;
17:09 —— 17:24:英语,约 30 个单词,完成了计划;
18:31 —— 19:11:数学,高数第十二讲约 27 分钟的课程;
19:43 —— 20:31:写材料
23:16 —— 23:47:写材料
24:14 —— 24:33:数学,高数第十二讲约 14 分钟的课程,结束了本讲。

+

最近想了想,我们学院有一个与港科大 ECE 合作的直博项目,虽然希望并不大,但我还是决定把那张表格填了,并开始准备相关的材料,就当是去碰碰运气吧。之前我总是感觉写材料浪费时间,但现在看来,权当是一种锻炼吧,现在先尝试一下,留下存档,以后如果再有类似的机会,就不会那么陌生了。

+

今天其他方面学习还算充实,但我认为,这完全是因为我们今天有了更多时间的结果,跟效率提高一点关系也没有。现在还是差着这么多的计划,着实让人感到很差劲……

+

说到这个,写材料的时候,我看着屏幕,突然想到:如果方仲永看到了现在这么平平无奇的我,一定也会自愧弗如吧(

+

happy_dog乐狗.jpg

+
+

04-23,周六

上午去上选修课了,就现在开始今天的学习吧。

+

今天的计划是听一半的数学第十三讲课程,将昨天还没有订正完的第十一讲课后习题做完,然后争取再做完第十二讲的习题册。至于其他的事情,还是继续准备材料,晚上继续慢跑。

+

我们期末考试的安排大概是确定了,从五月末一直到六月末,正巧六月十一号左右没有考试,就把这次的六级当作英语期末考试吧。

+

14:30 —— 14:42:英语,约 50 个单词;
14:43 —— 15:16:数学,订正完高数第十一讲课后习题;
15:20 —— 15:33:英语,约 50 个单词;
15:35 —— 16:27:数学,高数第十三讲约 15 分钟的视频。

+

晚上状态不是很好,就回去休息了,洗了澡,看了会儿电影,熬了会儿夜,就睡了。

+
+

04-24,周日

早上起得比较晚,干脆就在寝室整理内务,把衣服洗了,吃了饭,看了会儿视频,等外面等暴雨小了,就坐校巴到图书馆来了。广州的雨是真的来得快去得也快,等我坐十几分钟的校巴到图书馆以后,雨也差不多停了。

+

昨天不仅计划没能完成,连单词又没有背完…… 那现在每天大概 230 个单词还得多持续些时日了。

+

而今天的计划,我打算今天一定要把申请材料和 CV 写完,再写不完就要迟到了…… 而今天在学习方面,还是将英语的单词背完,然后数学继续听高数第十三讲,还剩下约两个小时的课程,按照一般规律我要抄笔记、做例题,大概需要四个小时才能听完。这样的话,那今天下午开始将第十三讲听完,然后就写材料,只有下个星期再开始做第十二讲的作业了。

+

14:27 —— 14:42:英语,约 80 个单词;
14:58 —— 15:50:数学,高数第十三讲约 29 分钟课程视频;
16:02 —— 16:13:英语,约 60 个单词;
16:28 —— 17:45:数学,约 30 分钟的视频;

+

看现在的天气预报,晚上应该不会下雨。如果没有下雨的话,晚上可以早些回去跑跑步。本来是打算一周跑三次的,结果一周一般也就跑一次,还是太懒了我,前天的世界地球日有 Apple Watch 的奖章拿,我都没有去运动,真是太遗憾了。

+

18:22 —— 18:32:英语,约 60 个单词;
18:34 —— 19:37:数学,约 32 分钟的视频;
19:41 —— 19:49:英语,约 30 个单词,完成了计划;
19:53 —— 20:11:数学,约 4 分钟的视频;

+

眼睛看屏幕和笔记本已经有点花了,感觉不太适合继续看下去了。算了,回去跑一跑步,洗个澡再看吧。

+

20:36 —— 21:53:运动,慢跑 3 km,而后绕着湖散步;
23:07 —— 01:02:数学,约 49 分钟的视频,结束了高数第十三讲。

+

坐牢啊坐牢今天。看着课程的时间不多,还以为一个下午就能搞定,至多也不过晚上花一个小时就行。真没想到,今天说了要听完第十三讲的课,还得为晚上听到现在…… 这次用这么久的原因,大抵是因为本讲是常微分方程,包含了一阶、二阶与更高的阶(不过更高的阶在基础班没讲),所以课程里大部分时间都在讲知识点,而不是讲题。这样一来,我就得暂停视频,誊抄知识点到笔记本上,这样就会花费很多的时间;而如果张老师讲题的话,我就只需要很快地抄完题目,然后一边听一边记就可以了,这样会快很多。所以今天的最终结果,大概是记了 12 页 B5 活页纸:

+

note其中的一页笔记

+

现在已经一点过了,太晚了,而且明天还有早课,就先写到这里吧。至于今天的另一个任务:写申请材料,和写下面的本周总结,就明天再写吧。

+
+

本周总结

数学进度太慢了,这是为什么呢?

回顾本周的学习经历,最大的问题,就是数学的进度大大落后了。

+

现在看来,好在有这个每日的记述,不然我这几天还在疑惑:感觉每天都在学数学,怎么只推进了这么一点点?

+

究其原因,是因为我学习数学的时间只有三天:周五、周六与周日;而前四天要么是开摆了,要么在翻译那篇博文,要么是在上课、写报告,都没有怎么看数学……

+

总得解决问题吧,胡适之啊胡适之,不能再摆了。所以下周从周一开始就应该每天都看数学!并且,现在的课程有些变难了,就像周日提到的那样,学习速度会减慢,这也是进度落后的原因之一。

+
课内的学习很不上心了

现在上课,都不怎么想听课了。除了我感兴趣的《计算机网络》我学得很认真、还额外看了《自顶向下》之外,我在其他的专业课程基本上都像是“身在曹营心在汉”,在课上坐着,双目游离,心思不知道到哪里去了。这样下去可不行啊,虽说考研只是笔一锤子买卖,但复试的时候导师还是会看成绩的……

+

而且最近期末考试的时间安排,大致也出来了:从五月末开始,一直考到六月末,中间还夹着六级。按照以往的经验,考前突击几及格不难,但想要拿高分可就不容易了。所以,在下面的一段时间里,得把之前欠下的账补一些回来,起码也得上课认真听讲。

+
投入在项目上的时间偏少

看看,看看,一整周在项目上只投入了不到三个小时,真当实验室是养老院了是吧?马上就要给拿去招标了,还搁这儿摸鱼呢!下一周再怎么忙,也得抽出八个小时、十个小时在项目上面!

+

那本周有没有优点呢?当然还是有的,就像我们的英语单词,在停止摆烂以后,背诵的词汇比之前翻了差不多一倍,基本上每天都没有断过。本周的总结大概就是这些了,以上三点不足,希望在下周能够有所改进。

+
+

学期第十周 (0425 — 0501)

本周计划

    +
  1. 数学第十七章至第二十章;
  2. +
  3. QT 继续学习,并开始向师兄请教细节;
  4. +
  5. 完成申请材料。
  6. +
+

现在距离考研约 239 天。

+
+

04-25,周一

13:44 —— 14:05:英语,约 80 个单词;
19:02 —— 20:08:写材料
22:06 —— 22:24:英语,约 70 个单词;
23:29 —— 23:43:英语,约 80 个单词,完成了计划。

+

昨天还说要每天都努力看数学呢…… 不过今天真不太幸运,上午早课,下午得去找学校办事,晚上又得写材料,但实际上要说是不是真没时间、没机会,那倒也不是,主要是还摸了好一会儿的鱼……

+

那就,做两道题练练手,其他的明天再说咯?

+
+

04-26,周二

早上起晚了些,然后去实验室开了组会,早早地吃过了午饭,上午就这么过去了。

+

最近广州逐渐变热了,今天中午总算是把厚被子换成了薄被子。在收拾完内务后,还是按照 routine 来了图书馆。

+

14:11 —— 14:26:英语,约 50 个单词;
14:48 —— 15:14:写材料
15:27 —— 15:38:英语,约 50 个单词;
15:42 —— 16:38:写材料
16:48 —— 17:00:英语,约 50 个单词;
17:58 —— 18:10:英语,约 30 个单词;
18:32 —— 18:45:英语,约 50 个单词;
18:52 —— 20:47:数学,做完了习题册第十二讲,并订正了部分习题;
21:07 —— 22:10:运动,慢跑 3km,后绕着湖边散步;
23:41 —— 23:57:写材料
24:09 —— 24:34:数学,高数第十三讲善后。

+

今天的学习还算不错吧,开组会的时候,又了解到了新的任务,所以我的项目进度还得加速了。

+
+

04-27,周三

09:11 —— 09:41:写材料
09:41 —— 09:54:英语,约 60 个单词。

+

这么多天,终于把六级英语的单词过完了。这应该是 CET6 词汇的第二遍,这本书一共大概有 3000 个词,按照我现在每天 200 词的速度,大概十五天就能再过一遍了。而这次过单词,我打算将自己熟悉的单词划去,留下生僻词与易混词进入下一次复习。

+

当然,面对英语考试,仅仅背单词是不够的,还应该做题练手,重新熟悉其中的技巧。我本来是打算后面等到考试前再开始做题的,在与父母沟通之后,发现那样可能并不够,还是得早些开始做题。所以,我想从现在开始,逐渐做往年的六级试题找回手感,然后在考前的集中刷题里培养状态,相信最后到考试的时候,应当就已经万事俱备了吧。

+

下午摸了会儿鱼,然后就取材料办事,回来以后继续摸鱼;晚上头痛,无心学习,亦摸鱼。

+

本来晚上是想看电影的,想起之前有一个叫做《坏结局剧院》(The bad theater) 的游戏,我收藏了好久一直没买,就原价买了本体与 OST,玩了接近两个小时,全成就通关了。我本就蛮喜欢这种“文字游戏”的,而这个游戏的机制则更加新颖,旧瓶装新酒,故事也非常的不错,我十分推荐,可能会写一篇博文来向大家安利(

+

晚上「又双叒叕」熬了夜,头痛却不想睡觉,这是为什么呢?是懈怠了吧。

+
+

04-28,周四

20:42 —— 20:52:英语,约 30 个单词;
21:28 —— 23:09:写材料

+

相信大家已经看出来了,只要我一熬夜,第二天必定会晚起。熬得晚,便起得晚,今天我是中午十二点半起的……

+

赶紧洗漱吃饭,收拾了一番下午又去上课,上完课就已经五点过了,休息一下吃过饭便是六点过,一天就这么浑浑噩噩的过去了。

+

其实我对这种感觉并不陌生:以前有很长的一段日子,我都是在熬夜—中午起床—浑浑噩噩/摸鱼—继续熬夜的循环中度过的。这个学期,我发誓不能再让自己的生活变成这样了,而现实情况也不再允许我这样浑浑噩噩的度日了。在这段时间的备考生活里,我的确也感受到了久违的充实与踏实,这种感觉很好。但今天再次浑浑噩噩之后,单词连续记录断了,也没看数学,那种感觉也逐渐变淡了,空虚与不安再次围绕在了我身旁。

+

事已至此,又能如何呢?只好亡羊补牢了。

+

晚上按照之前既定的计划,整理内务,然后继续写材料 —— 距离截止日期已经比较近了,得加紧了。

+

好在可以借口说,昨天结束了那一遍的单词,今天休息一下,明天再背吧。

+

那就明天开始吧。

+
+

04-29,周五

09:37 —— 09:54:英语,约 50 个单词,开始第三轮六级词汇,并筛选生僻词、难记词与易混词;

+

上午后来为了推荐信的事情,去另一个校区找老师,花费了些时间,回来以后就摸了。

+

12:29 —— 13:40:写材料
14:12 —— 14:21:英语,约 50 个单词;
14:35 —— 17:15:写材料

+

吃了晚饭以后,本想小憩一下,奈何自控力太差,加之《星际迷航》太吸引人,一下子就把这部电影再看了一遍……

+

20:20 —— 22:40:写材料

+
+

04-30,周六

昨晚想着过劳动节,就又熬了夜,然后上午就又消失了。最近这段时间,已经不复最开始时候的劲头了,学习的进度也大大减缓了。之前托辞什么“交接工作”、“翻译文章”与“撰写材料”耽误了我们的学习,虽然它们确实花费了我许多的时间,但在这同时我们也浪费了几乎同样多的时间。时间耽误了补上就好,但在现在这个时候浪费掉时间,就会显得相当的愚蠢。

+

time近日但睡眠时间情况:可以看到睡眠先趋于规律,后又开始熬夜

+

13:20 —— 13:57:写材料,准备好了申请学校的所有材料,终于算是结束了这段事务;
14:22 —— 14:30:英语,约 50 个单词;
14:50 —— 15:51:数学,订正完了周二剩下的高数第十二讲习题册;
15:57 —— 16:06:英语,约 50 个单词;
16:33 —— 17:12:数学,约 15 分钟的视频课程;
18:07 —— 18:22:英语,约 50 个单词;
18:30 —— 19:29:数学,约 40 分钟的视频课程;
19:47 —— 19:58:英语,约 50 个单词;
20:06 —— 20:52:写作,新的博文;

+

今晚图书馆有些空空的,我这片区域大概只有平常的四分之一到三分之一左右吧,要是放在以前的周末,这里可是会人满为患的。可能是因为今天是劳动节的缘故吧,放假了大家都出去玩了。不过,我觉得越是在其他人休息、松懈的时候,就越应该继续过以往的 routine,这样才能展示出我们不一样(

+

不知道为什么,突然想到了之前同学开玩笑地形容自己是“酸菜鱼” —— 又酸,又菜,又多余;而那只“卷心菜狗”则可如此作解:又卷,又菜,还很狗(

+

走了,走了。

+

21:29 —— 21:58:运动,慢跑 3km,因为下雨,所以没有去湖边散步;
22:59 —— 23:26:写材料,下午准备好的材料后来感觉不够妥善,就又改了一点;
23:36 —— 24:28:写作,将新的博文写好啦。

+

今天除了上午,过得都还算充实。长篇大论的感想就算了,这个等到明天有得玩写。

+

那今天就这样吧,晚安。

+
+

05-01,周日

首先祝大家劳动节快乐!

+laborer + +

在昨晚注意不要熬夜以后,晚上休息得相当不错。要是硬要说睡眠过程中有什么不足,那就是早上醒了以后又眠过去了。本来想着过节嘛,就定了八点半的闹钟,结果闹钟响了以后,我没听见舍友们的声音,就想等着跟他们一起起来。后来一直都没听到他们起,终于觉得不能再等的时候,就到九点半了=.=

+

洗漱完以后,去实验室做了些杂务,中午吃个饭,再回寝室收拾内务,就差不多到下午两点了。又想了想,我目前的身份还是学生,尚未参加劳动,所以今天我不应该过节(

+

正好今天广州在下大雨,不适宜去图书馆,那就在实验室看看代码吧:

+

10:30 —— 10:47:英语,约 50 个单词;
13:52 —— 14:04:英语,约 70 个单词;
14:53 —— 17:36:项目,看 QT;

+

然后,今天下午方舟开了新活动,就摸了一会儿,真的是一会儿,也就将近两个小时(

+

20:52 —— 21:02:英语,约 50 个单词;
21:02 —— 22:04:项目,看QT;
22:04 —— 22:37:写作,写这篇 QT 的笔记;
23:44 —— 23:51:英语,约 50 个单词,完成了今日计划。

+

其实,只要想摸,借口总是找得到的。最近看日本作家盐野七生的《罗马人的历史》,里面她引用了法国君主制鼎盛时期红衣主教黎塞留的一句话(英译版),我感觉很有意思,就把它摘抄到这里来吧:

+
+

If you give me six lines written by the hand of the most honest of men, I will find something in them which will hang him.

+

—— Cardinal Richelieu(1585–1642)

+
+

他原来的意思先不必管,反正他告诉了我们,无论是什么事情,借口总是找得到的。

+

现在有些晚了,对于本周及本月的总结,就交由明日的我来写吧。

+
+

本周总结

这是写材料、杂务与摆烂的一周,数学还是没能完成既定的目标。

+

就像是之前总结的那样,写材料确实耗费了我们许多的时间,但我们还是没能够利用好剩余的时间,将它们浪费掉了。现在数学的进度迟缓,这样下去肯定会出问题的。

+
+

女人也许会欺骗你,兄弟也许会背叛你,但数学不会,因为数学不会就是不会。

+

——网络

+
+

好在英语总归是没有像以前那样,三天打鱼两天晒网了,更多的话就放在下面与本月一起总结吧。

+

本月总结

我们的这个学月实际上是 0410 —— 0501,让我们先来看看这个月的计划完成得如何吧:

+

月度计划

数学的进度可以说是一塌糊涂:在 20 天的时间里,我们只看了第八章到第十三章的内容,满打满算只有六章,连十三章的题都还没做呢。这样的结果,距离我们在月初计划的“看到第二十章”与在中途想要加码的“到第二十三章”,只完成了大概五成不到。我不知道是高估了自己的行动力,还是低估了这段时间里的各种杂事,反正没做完就是没做完。那接下来又该怎么办呢?杂事总是会源源不断地来的,这个月欠下了接近五成的数学章节,下一个月就难以将整个基础数学复习完…… 后面应该如何重新计划数学呢?下个月可有得头痛了。

+

说到英语,这就像是数学的另一面:从 0410 开始一直到 0501 的这 22 天里,一共有五天没有完成既定的词汇量。在 18、19 号没有达到目标之后,我们为了将欠下的单词补齐,将原计划的词汇量翻倍,接着在 28 号几乎提前计划半个月将六级词汇又过了一遍。整体而言,这个月在英语单词上的表现是非常出色的,下个月就应该开始计划做题了。

+

至于导师的项目,只能说是勉强合格。投入的时间其实并不算多,只是将需要做的事情大概都做了,但并没有做到最好,下个月还是应该在上面多花点时间。

+

在其他的杂务方面,这些主要的都已经完成了,还剩下一个课程设计,这个的 DDL 也要到期了,下个月得尽早完成。本月的计划完成情况,大概就是这样。

+

时间统计

按照既定的计划,目前平均下来,每天至少应该投入六个小时做正经事,比如学习、做项目或者上课等,但这周的时间统计结果对此表示有异议……

+

altogether

+

我一直以来都有个习惯,那就是每在做一件事之前,就会打开一个事件的计时,以此记录我投入到某一事件上的时间。可以看到,我们这 21 天在「学习」上的时间一共不到 70 个小时,但排第二的「摸鱼」与第三的「影视」之和已经比学习的时长多了。另外,排在第四的「内务」的时长比这些天上课的时间都多(

+

按照之前的说法,将学习的时间平均下来,每天也不过三个小时而已,就算加上上课与项目这些事情的时间,也只是杯水车薪罢了。这说明在大多数时候,我可能都在摸鱼,而没有学习。

+

但这并不能表明我每天都在玩 —— 这段时间里确实有几天我在摆烂,但毕竟只有几天,我认为出现这种情况的原因是我没能利用好零碎的时间:比如还有半个小时去上课,这段时间我可能就会选择摸掉,而不是学习。我将学习都安排在大段大段的时间里,而忽略了那些零碎的时间,这块饼图已经能告诉我们,那些零碎的时间占比能有多高。所以,下个月应该更要利用好时间。

+
+

总结到这里可能就差不多了,其他方面的总结,也只有之后想到了再说。至于下一个学月的规划,就放在那个月计划的开篇去讲吧。

+

写完以后一看字数,一万三千字,很少有一篇文章写这么多字的时候,一下子不知道该如何作结了。想了想,还是从我的摘抄里引用他人书里的话作结吧:

+
+

大学给予了学生们自己决策的权利和自由,这种突如其来的自由需要的是强大的自理、自立和自控能力,但是很多学生并未对此做好充足的准备。但是总体来讲,大部分的学生只是甘于服从学校给他们设计好的框架。鲜有对思考本身抱有极大热情者。更少有人能够领悟到,高等教育是人的一生中智慧的成长和探索的一部分,而且这个旅程必须是学生本人为自己设计和践行的。

+

——《优秀的绵羊》,威廉・德雷谢维奇

+
+

一起共勉吧。

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2022/04/21/translation-of-shanghais-stunning-fall-from-grace/index.html b/2022/04/21/translation-of-shanghais-stunning-fall-from-grace/index.html new file mode 100644 index 000000000..104842aee --- /dev/null +++ b/2022/04/21/translation-of-shanghais-stunning-fall-from-grace/index.html @@ -0,0 +1,116 @@ +【译文】上海失色 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + +

【译文】上海失色

+

这是一名生活在上海的荷兰人 Jaap Grolleman 所写的一篇博客文章,原文 Shanghai’s stunning fall from grace 于 2022 年 4 月 9 日发表在他的个人博客上。我看到后心血来潮,取得作者同意后,尝试翻译了这篇文章,译文在经 Jaap 过目后发表在这里。

+

虽然我在翻译过程中,始终秉持着严复先生提出的「信达雅」,但我的英语水平很一般,这也是我第一次翻译这样长的文本。如果对拙作有疑义,请点开原文链接阅读,若能为我指出错误,我将感激不尽!

+

最后,感谢 QP 与 GYY 对本文的润色帮助,谢谢你们帮我改正了文中许多 Chinglish 的翻译,非常感谢!

+
+ + +

在 2017 年我第一次来到上海的时候,我被这座发达的城市所惊艳到了。此前在亚洲我只去过孟买,与之相比,上海干净整洁,一切都井井有条。更让我惊讶的是,处处可见的移动支付、街边的共享单车、半个小时就能送到的外卖和众多的摩天大楼,它们大多都是在这十年中建立起来的。你大可以对政治环境滔滔不绝,但这里的人们似乎非常地勤奋与乐观,并且中国的 GDP 已经难以置信地强劲增长了四十余年,而上海正是这一切的光辉榜样。

+

然而,那种上海的色调慢慢淡出,接着一下子就消失不见 —— 就像有些人突然陷入爱情或者失恋一样。现在是被隔离的第九天,这期间我们因为要做四次核酸检测,只离开过屋子几分钟 —— 还有一次是因为,保安说我们网购的水太重,拒绝送到我们的门前,而其他的快递却能送到门口。(好吧,我买了六十升水,但不仅仅是给我们家用的。)

+

现在才第九天,我们算是比较幸运的 —— 有些人已经在屋子里待了一个多月了。我们并不能决定每日的饮食,毕竟食物真的很难送进来,但我们相当幸运 —— 因为有些人真的已经窘迫到只剩下方便面了,或是缺少药品。虽然市政府在配送食物,但我们在这九天里只收到过一小包蔬菜。但人们缺少的不仅仅只是食物:家长们无法打印学生的作业,因为打印机的墨水已经用完了;人们也没有食用油、洗衣液、纸尿布、卫生巾、厕纸或药品(甚至听说到有缺少安眠药的)。

+

我们在家中工作,但仍然是幸运的 —— 很多人(由于他们的工作性质)没办法远程工作,只能看着自己存款慢慢减少,或者看着自己的生意愈发惨淡。

+

也许一切并没有我们想的那么简单。保安并不是我们所认为的朋友,网上流传着他们将核酸检测呈阳性住户的宠物狗打死、和他们用扩音器当面恐吓市民的视频。他们和居委会一起决定哪些快递能被送到你家门前:蔬菜、肉类与主食可以,但饮料和水果就不行了。

+

发生这样的事情,并不是因为保安已经变了。保安们一直都在执行规则与命令的各种细枝末节,但现在这些规则已经改变了 —— 显而易见,他们没有哪怕一点灵活性。在过去,保安们是有一点憨憨的,不过他们总是很友好。随着城市被封锁,他们在突然掌控一切以后,变得不再那么友好,却仍然有点憨。他们不再只是清理垃圾或指引你倒车入库,他们封住了大门,阻止人们离开小区去医院,突然之间,他们的决定关系着人们的生死

+

与此同时,国家的媒体正忙于辟谣。在两周前,上海还没有封城的时候,有两个人因为散播上海即将封城的消息被捕。人们发现,国家媒体的存在并不是为了准确地报道新闻,而主要是杜撰出掌权者所希望的现实。

+

上海,这个曾经被吹捧为豪华宠物酒店或供人们自拍的肤浅网红餐厅的地方,现在我们只能看到条件恶劣的方舱医院(它们并不是真正的医院,更像是机库)。我并不害怕新冠病毒,但我害怕在测出阳性后,随即被送到不人道的隔离场所里,在这两周里与其他数百人共用一个厕所,不能洗澡,也没有隐私。

+

不过,也并非只有坏事。这里有许多普通人互相帮助的故事,对我来说,这栋楼里的人们都友好得令人不敢置信:我们家从一个邻居那里收到了消毒酒精;我们也把胡萝卜送给了另一户邻居;其他的邻居在群里问谁有香烟、尿布或食用油。我们建立了许多的买菜群并一起购买了大量的物资,虽然许多的订单被取消了,但还是有一些最终能被送到。

+

我们一整天都离不开手机,看看能否在外卖软件或微信群里抢到一个订单。另外,我们还会在 Reddit、Twitter 和 Telegram 中看那些不能在微信上分享的视频。我们楼的负责人会给我们发信息和最新的情况,希望大家都能收到(并且在群里回复“收到”),同事们也在分享他们自己的失落与表情包。虽然工作效率很低,但我们还是幸运儿。至少我们还有工作,我们还可以去在意其他的事情,这意味着 —— 我可以把五天的工作量分配到这一整周来完成。

+

我渴望运动:想去骑车、跑步和在公园里散步。每天早上,我都会坐在屋子东北侧的窗台上晒太阳,而下午到西北侧浴室的窗边继续晒太阳。在窗边,我们可以与邻居一起聊天。我慢慢记住了他们的脸,以及他们晾衣服的方式。不得不说,在晚间点上蜡烛,听着音响传来迈尔斯 · 戴维斯的歌,望向窗外,很有一种浪漫的感觉 —— 但我们可能很快就不能再这样做了,因为蚊子的季节已经到来了,而我们却无法在网上订购蚊帐。

+

我们的公寓俯览着一个小广场,里面有一个小亭子。我们对面的楼里确诊了一例阳性,所以那栋楼的大门已经被自行车锁给锁上了。有一个穿着防护服的人睡在亭子下面,整天都看着他(或她?)的手机,只有在发生火灾或紧急情况的时候才负责打开锁(我猜)。这些穿着防护服的男人和女人们被叫做“大白”,这也是迪士尼电影《超能陆战队》中 Baymax 的名字。就聪明程度而言,他们比保安高一个等级,因为他们更有可能是受过良好教育的年轻人,或是来自其他省市的志愿者 —— 被送到上海来帮忙 —— 但他们跟保安一样,也有许多关于大白暴力行为的视频在网上流传。他们没有被视为像两年前在武汉那样的英雄,但也许是因为武汉那次是一场未知病毒造成的悲剧,而这次封城感觉像是在追逐一个清零新冠的梦想。也可能是这仅仅是因为我们在这场封城中的看法;如果我们在当时的武汉,或许我们也会从另一个角度看待这些大白。

+

在被封锁的大楼里,有人向大白或任何一个经过的人大喊,想让他们将她订购的蔬菜送进来,那些蔬菜现在正在锁着的楼门外腐烂。但人们没有钥匙,有钥匙的人却不一定在乎。傍晚时分,楼门被打开了,一群大白进来在各住户的家门前做核酸检测 —— 因为他们不被允许像我们一样可以到楼外做核酸检测。

+

这可是中国最大、最富有、最国际化的城市,但人们却在挨饿,缺少药品,也没有自由。父母与他们孩子被分开,军队上街,上海人也不再那么乐观,我们回到了马洛斯金字塔的底部。我相信上海最终会恢复过来,但她的骄傲会回来吗?两年以来,外国人一直听说:在中国以外的所有地方,病毒有多么肆虐,而中国有多么安全。这使得整个封城都充满了“身份政治”的感觉,因为放弃清零政策会迫使中国也放弃掉这样的叙事。

+

在荷兰,与美国一样,即使你对自己的国家表示失望,你依然可以是一个爱国者。但在中国,这是不被接受的,你必须无条件地爱国,如果你批评她,你就会被视为叛徒。我想说一个 F 开头的单词。我爱上海,但不是以这种方式,这就像是看到一个亲密的朋友摔倒了一样。带我回到那些愚蠢的、只是用来拍照而不会吃的高价菜肴前吧;带我回到地铁站里的卡拉 OK 间吧。深夜的地铁、法国凤凰树下合影的男孩与女孩、从全国各地来外滩游玩的阿姨、公园里跳广场舞的老年人们、人满为患的星巴克和必须排队一个多小时的火锅店。求你了,上海,让我看看全中国最好的光辉榜样能做些什么。请快一点,因为我在家已经待得腿都酸了。

+

shanghai_lockdown2017 年,这些建筑与整座城市给我留下了极其深刻的印象

+

shanghai_lockdown_2浦西封城的前一天,街道上空荡又凄冷,城市的噪声也消失得一干二净

+

shanghai_lockdown_5三条新鲜的鱼,对于我们还能在外卖软件上能买到的东西来说,这是一个很好的“捕获”。
尽管你需要整天都看着外卖平台,并且足够的幸运,你才能在有货的一瞬间抓住机会、下单成功。

+

shanghai_lock_down_7市政府配送给我们的食物

+

shanghai_lockdown_8我们窗外的景色,与我们用来晾衣服的竹竿

+

shanghai_lockdown_6与邻居们聊天,或仅仅是看着窗外,已经成为了我们每晚的习惯

+

shanghai_lockdown_3我们在小区里进行核酸检测。他们不喊我们的名字,而是喊我们的大楼与公寓编号。每栋楼的人都会被依次测试,而每根管子里会放 20 根拭子。
如果有一个拭子呈阳性,那这二十个人都得被单独检测。

+

shanghai_lockdown_4我们对楼的人正在进行核酸检测,但“大白”们是去他们的门口检测,而不像我们一样在小区里。

+

shanghai_lockdown_10早间阅读,试图能晒到一点太阳。

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2022/04/26/QT-learning-note-01/index.html b/2022/04/26/QT-learning-note-01/index.html new file mode 100644 index 000000000..bf22d538a --- /dev/null +++ b/2022/04/26/QT-learning-note-01/index.html @@ -0,0 +1,289 @@ +【QT 学习笔记01】从 Hello World 开始 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + +

【QT 学习笔记01】从 Hello World 开始

iloveprogramming + +
+

本节以经典的 C++ Hello World 程序介绍一下使用 MinGW (Linux 上是 GNU 工具集)环境下编译程序的过程,并示范一下简单 Makefile 的使用。

+

——奇先生

+
+ + +

由于导师的项目需要,并且负责项目平台界面的师兄要毕业了,所以导师安排我接手那位师兄的工作,以后继续负责开发界面。我这就找了几篇互联网上评价比较好的系列教程,争取能快速的上手,赶在师兄毕业前把工作接过来。由于知识点在不同的教程中比较散,我向来也是不相信自己记忆力的,就一边学、一边将其中的要点记录下来,作为笔记供我速查之用。如果您也想要学习 QT 的话,建议还是通过参考资料里的链接,阅读原始的教程,可以参看最后的参考资料

+

我目前是在 Windows 10 上做的开发,我的 QT 版本为 5.14.2,有关 QT 的下载与系统环境配置,请参看 Qt 在Windows 下安装Qt 在 Linux 下安装,我在此就不再班门弄斧了。

+

众所周知,每一个初学者都会从编写 helloworld 开始,我也不例外,那就让我们开始吧(

+

Hello MinGW

简单的 helloworld.cpp

首先在示例路径 D:\QtProjects\ch02\helloworld 中新建一个 helloworld.C++,代码如下:

+
//helloworld.cpp
+
+#include <iostream>
+using namespace std;
+
+//有关下列 main 的定义或可参见:
+//https://www.ibm.com/docs/en/i/7.1?topic=functions-main-function
+int main(int argc, char **argv)
+{
+  cout << "Hello world!" << endl;
+  return 0;
+}
+ +

接下来打开 MinGW 命令行环境,但或许是我的版本与作者不一样吧,我打开的方式为:开始菜单 –> Qt 5.14.2 –> Qt 5.14.2(MinGW 7.3.0 64-bit)。(注:后文的所有“命令行”均指 MinGW 命令行环境)

+

然后,向命令行中输入指令进入目标文件夹:

+
//注:因为我 QT 安装在 D 盘的,而相关的学习文件目前还放在桌面上的,所以得切换磁盘
+
+D:\QT\5.14.2\mingw73_64>cd /d C:\Users\***\Desktop\QT\QT_projects\ch02\helloworld
+//将磁盘从 D 盘切换至 C 盘,并改变工作目录至目标文件夹
+ +

然后在工作目录下输入如下的指令:

+
//从这里开始就省略目录了
+
+>g++ helloworld.cpp -o helloworld
+//使用 g++ 编译 helloworld.cpp,-o 代表输出文件名为 helloworld(默认扩展名为 .exe)
+
+>helloworld
+//在此目录下运行生成的 exe 程序
+ +

但如果直接双击该 .exe 文件,会显示缺少 dll 库,无法运行。这是因为它现在还是一个 56KB 的“动态链接程序”,需要相应的 dll 程序才能运行,而在 MinGW 命令行中已经配好了环境变量 PATH,所以 MinGW 的环境里能找到该 dll 程序,而操作系统(Windows)的 PATH 环境变量中是找不到该 dll 的。解决方法有两种:将报错的 dll 库复制到这个文件夹里,或者使用如下的“静态编译命令”:

+
>g++ helloworld.cpp -static -o hellostatic 
+//静态编译命令 -static
+ +

在编译为“静态链接程序”后,体积一下子膨胀至 2337KB,现在可以直接双击运行了。

+

MinGW 编译程序的过程大概是,先用 g++ 编译器生成目标文件 *.o,然后 g++ 自动调用 ld 工具链接 *.o 与库文件,完成后就生成了 .exe 文件。

+

g++ 在默认情况下生成的都是 Release 版的可执行程序,若希望在可执行程序里加入 Debug 调试信息以供 gdb 调试,则需要在 g++ 编译时加入 -g 选项:

+
>g++ helloworld.cpp -g -static -o hellodebug 
+//debug 编译 -g
+ +

helloworld-cmd命令行截图示意

+

helloworld-list文件夹截图示意

+

稍微不简单的 Hello Rect

在下一个教程里,作者应该是想要我们做一个简单的多工程文件程序,现在在示例路径 D:\QtProjects\ch02\helloworld 中新建下列文件:

+
//rect.h
+
+class Rect
+{
+    private:
+        double m_dblWidth;
+        double m_dblHeight;
+    
+    public:
+        Rect(double dblWidth, double dblHeight);
+        double GetWidth(){ return m_dblWidth; }
+        double GetHeight(){ return m_dblHeight; }
+
+        //Functions
+        double CalcDiagonal();  //计算对角线
+        double CalcArea();      //计算面积
+};
+ +
//rect.cpp
+
+#include <cmath>
+#include "rect.h"
+using namespace std;
+
+Rect::Rect(double dblWidth, double dblHeight)
+{
+    m_dblWidth = abs(dblWidth);
+    m_dblHeight = abs(dblHeight);
+}
+
+//定义成员函数
+//计算对角线
+double Rect::CalcDiagonal()
+{
+    return sqrt(m_dblWidth*m_dblWidth + m_dblHeight*m_dblHeight);
+    //sqrt() 开平方根
+}
+
+//计算面积
+double Rect::CalcArea()
+{
+    return m_dblWidth * m_dblHeight;
+}
+ +
//hellorect.cpp
+
+#include <iostream>
+#include "rect.h"
+using namespace std;
+
+int main(int argc, char **argv)
+{
+    Rect arect(3.0, 4.0);
+    cout << "Diagonal Length is " << arect.CalcDiagonal() << endl;
+    cout << "Area is " << arect.CalcArea() << endl;
+    return 0;
+}
+ +

这段代码相当于在 rect.h 定义了一个简单的 Rect 类,在 rect.cpp 中定义了 Rect 类的两个函数,而在 hellorect.cpp 中写了 main 函数做事情:计算输入矩形的对角线长度与面积。

+

下面在 MinGW 命令行中进入 hellorect 工作目录,先编译两个 cpp 文件 rect.cpphellorect.cpp

+
>g++ -c rect.cpp -o rect.o
+>g++ -c hellorect.cpp -o hellorect.o
+
+//使用 g++ -c 编译生成目标代码文件 *.o,却没有进行连接
+//可以看到,因为在编译的时候指定了拓展名,所以不是 *.exe
+ +

下面将 *.o 文件与链接库一并生成为可执行程序:

+
>g++ rect.o hellorect.o -lm -static -o hellorect
+
+//其中:
+    //g++ 会自动调用链接器链接 *.o 文件与系统里的链接库
+    //-lm 表示链接数学库
+    //-static 表示生成静态链接的程序
+    //-o 指定了生成的输出文件名
+ +

接着执行 hellorect 程序就可以获得函数输出的结果,命令行显示如下图:

+

hellorect-cmd命令行截图示意

+

hellorect-list文件夹截图示意

+

为 Hello Rect 编写简单的 Makefile

简单的程序每次生成的时候一句句敲 g++ 命令图开心也没问题,但如果项目变得十分的复杂,为每个文件分别敲代码编译就很麻烦。并且 .cpp 每修改一次,就需要重新生成目标文件 *.o

+
+

因此实际开发项目时都是借助 make 工具(MinGW 的是 mingw32-make),编写好 Makefile 之后,只需要在项目文件夹执行一句 make 命令,其他生成目标文件、链接目标文件和库以及自动根据源代码改动重新生成等,这些事情全交给 make ,而程序员就不用操心构建程序的具体过程。

+
+

虽然 Makefile 是可以自己编写的,不过现在几乎所有的 IDE 都可以根据项目文件自行生成相应的 Makefile,所以这也为我们省下了许多功夫。下面是作者给出的一个“生成器 make 工作”的简单示范,体验一下吧:

+
# Makefile for building: hellorect
+
+# 定义变量
+CC			= gcc			# C 语言编辑器
+CXX			= g++			# C 语言编译器
+LINKER		= g++			# 链接器
+LFLAGS		= -lm -static	# 链接器的参数
+
+OBJECTS		= rect.o hellorect.o	# 编译后得到的目标文件
+DSTTARGET	= hellorect				# 可执行的目标程序
+
+# 定义 Makefile 的生成规则
+# 引用变量的方式:$(变量名)
+
+# Makefile 的基本规则:
+# 生成目标:依赖文件
+# [tab字符] 系统命令
+# 注意:tab 不能用 4 个空格代替,否则 make 时会出现没有分隔符(separator)的错误
+
+# Defult rule
+all: $(DSTTARGET)
+# 默认生成规则,依赖文件 $(DSTTARGET)
+# 但下一行没有命令,生成的命令得继续往下找
+
+# 生成可执行文件:
+$(DSTTARGET): $(OBJECTS)
+		$(LINKER)	$(LFLAGS)	-o $@	$(OBJECTS)
+# 在有目标文件时执行命令:
+# 即调用链接器 $(LINKER),根据链接器的参数 $(LFLAGS) 与依赖文件 $(OBJECTS) 生成 $@
+# $@ 指第一行左边的生成目标
+
+# 使用编译器生成两个目标文件 hellorect.o 与 rect.o:
+# hellorect.o 和 rect.o 就是链接器需要的 $(OBJECTS)
+hellorect.o: hellorect.cpp
+		$(CXX)	-c	-o	$@	$<
+# $< 是上一行冒号右边的第一个依赖文件
+
+rect.o: rect.cpp
+		$(CXX)	-c	-o	$@	$<
+
+
+# 清除规则 clean:
+clean:
+		rm	$(OBJECTS)	hellorect.exe
+# rm 是删除命令,使 clean 删除项目生成的 .o 与 .exe 文件
+ +

以上代码编辑好 Makefile 后,便可使用 make 工具了:

+
//在命令行的工作
+
+>mingw32-make
+//生成项目
+
+>mingw32-make clean
+//清理项目
+ +

为 Windows 增添 rm 命令

这里有个问题,clean 中需要用到 rm 命令,但 Windows 系统里可能会没有这个命令,直接输入 mingw32-make clean 会得到如下的结果:

+

make-cmd1运行 mingw32-make clean 后报错

+

作者给出了一个工具,安装后就可以将 rm 工具加入到系统环境中了。但可能是因为作者发表那篇文章的时间太久,作者给出的方法现在已经不再适用了。我去查了下资料,发现有一个很简单的方式。

+

首先,创建一个文本文档,输入以下两行代码:

+
@echo off
+del %*
+ +

然后将该文档重命名为 rm.bat,再将它移动到 C:\Windows 的目录下,就可以愉快地使用 rm 命令啦!

+

make-cmd2成功运行 mingw32-make clean

+

make-list可以看到目标文件 .o 与可执行程序 .exe 被删去了

+

结束

初入 QT 的过程就这样结束啦,在第一次接触 QT 后,我们首先接触了使用 MinGW 命令行环境编译 C++ 程序的过程,并简单了解 Makefile 生成器的使用。从下一节起,就会真正地开始编写 QT 的图形程序了。

+

参考资料

[1] 《Qt 编程指南 (QT Guide)》,奇先生,年份不详(主要);

+

[2] 《Qt 学习之路 2》,豆子,2012 —— 2016;

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2022/05/02/project-in-May/index.html b/2022/05/02/project-in-May/index.html new file mode 100644 index 000000000..4f5f95c92 --- /dev/null +++ b/2022/05/02/project-in-May/index.html @@ -0,0 +1,237 @@ +五月计划与简记 | 叶子的花园 + + + + + + + + + + + + + + + +

五月计划与简记

cover + +
+

若有恒,何必三更眠五更起;最无益,莫过一日曝十日寒。

+

——(明)胡居仁

+
+ + +

写在月初

不知道为什么,一想到上个月的计划,就感到一塌糊涂。想必是因为,不论在考研里还是在生活中,数学依旧决定着成败吧。好在有每日的记述,不至于回忆起自己做了些什么的时候,脑袋依旧空空了。

+

我参考了师兄师姐们今年的成绩,大概算了一下:如果想达到窝工今年 400 的平均分,数学与专业课都得上 120,英语和政治也得 80 分以上…… 这样的目标分数,给人的压力可太大了。在这之中,英语和政治这两门背书占很大比重的科目,一般是拉不开差距的 —— 因为但凡有认真准备过考研,到最后差不多都能够背完;而专业课,靠的还是这三年专业经历与对它的理解,也是能很拉分的,但还不是最重要的。

+

数学

最重要的科目,还得是数学。三个小时,一百五十分,考研成事与否基本上全看这一锤子买卖。数学很难,我认为因为它既看人本身的天资,也看其复习的扎实程度,还需要大量的做题以保证“题感”,以保证面对题目时能快速地有思路,最后能快速准确地解题。

+

在我看来,十分的考研数学中,有四分是牢固的基础,五分是得来不易又虚无缥缈的“题感”,天资只占一分。我这样可不是为了致敬爱迪生,是因为按照现在考研数学这种成熟的工业模式,真的只需要一分的天赋就可以了。

+

我最近在听课的时候总是在想,天赋之于数学有什么用呢?我们又不需要去做研究。天赋之于考生,恐怕也只是在压轴题上的那灵光一现而已,它能区分最顶尖的学生,但在其他地方其实并不像大家认为的那么重要。对于我们这样的寻常学生而言,天赋只是帮助我们理解知识点罢了,快慢无妨,在大家都掌握知识点以后,所有人就又来到了同一起跑线,决定最后能跑多远的,还得靠各人的基础、曾经的练习,与自身的一点运气。

+

至于这月的任务,我计划完成高等数学这十八章的学习,以及线性代数一半的章节,一共七章。这时间已经考虑得非常充分了,因为在本月的下旬我就要开始准备期末考试了。时间安排上应该是不会有问题的,如果提前完成了,或许可以再接着学习;如果没有完成任务,那肯定是自己出大问题了。

+

英语

与家里人交流之后,我也认为现在还只是背单词的话,对考试是远远不够的,而之前计划的考前的十多天再开始做题,恐怕也是来不及的,所以得现在就开始做一点题,锻炼一番了。

+

这样一来,我在英语上的策略就变成了这样:每天温习六级的 150 个单词,同时看新东方考研词书《恋练有词 · 分层串记》的数个词群,同时在课程与杂务不多的日子,还可以做一些往年的六级卷子中的习题。

+

在五月里这样准备六级考试,是我认为是最合理的方式了。

+

项目

这些天与父母谈到这件事,他们认为我在这上面花太多的精力,有些误了正事。这件事情在本月计划制定的时候还没有结果,还得继续跟踪。

+

0506 新增:今天去跟导师交流过了,向老师说了我时间安排上的矛盾,并与老师大概明确了我要做的事情。这样一来,不仅时间安排上趋于明晰,我也能少些压力,多些时间。

+

0513新增:之前听学长说,他说服了他的项目老师推迟做项目,在考完以后再做,所以他在那个时候就当作毕业设计做了。所以今天开会的时候,又跟导师交流了一下。可导师说这个项目是与公司又合作的,马上就要结束了,不能够推迟。也正是因为这个,想让我先参加进来熟悉一下,结题以后还可以加上我的名字。

+

但我想了一番,考研的时间还是不太够,并且自感效率不高,这更是雪上加霜。如果再加上这个项目,花费了太多暑假的时间,最后的结果很有可能是竹篮打水一场空,得不偿失。

+

导师让我自己选择,如果现在不做的话,等到考完了就像一般的研究生一样,给我找新的项目做。我跟导师说我在想一想,下周再给他答复,不过我现在差不多算是已经决定要退出了,得想想怎么跟导师与师兄他们说吧……

+

其他的一些事情

作息

上个月的作息其实不是很好:在计划最初的那段时间,我的作息明显在逐渐变得规律起来,但到后面作息又开始不稳定了,上个月贴出的那张作息趋势可以很好的体现出这一切。我打算在这个月的最后也贴出作息的趋势,希望到时候能给大家看到一章规律的趋势图。

+

0517补充:想起我高三的时候,老师给我们安排的做题时间总是高考考试的时间:上午 09:00 —— 11:30 与下午的 15:00 —— 17:00 。在这两段时间的做卷子,使我们的生物钟习惯了在这个时候输出旺盛的精力,所以到高考的时候就不会犯困什么的了。

+

现在没有老师再为我将一切安排妥当了,我得亲自料理这些事情了。考研的时间大概在 12 月的中下旬,具体的时间分别是:上午 08:30 —— 11:30 与下午 14:00 —— 17:00。对于我而言,第一天上午是政治,下午是英语;第二天上午是数学,下午是专业课。所以,在后面的日子里,我每天都需要在这些时候进行较高强度的学习,杂务与休息就放在这之后为好。

+

本月计划

任务目标

考研任务

    +
  • 数学:完成高等数学的学习,并学习线性代数一半的章节(六章中的三章)
    (0504:其中高数的第十六讲是数学三点专题内容,我们可以直接跳过)
  • +
  • 英语:每日 150 个六级词汇,看数个词群,同时每周至少做完一张六级卷子
    (0504:这些目标实际上都是在先尝试了几天后再制定的)
  • +
+

导师项目

    +
  • 阅读完师兄项目的代码
  • +
  • 重写主体与主要的功能
  • +
  • 继续学习 Qt 相关的内容
  • +
+

(0513:在考研之前都不会再有了……)

+

其他

    +
  • 完成学业中的课程设计,并完成联调、通过验收
  • +
  • 提交支部需要的相关电子与纸质材料
  • +
+

每日情况简记

+

每日的事务完成情况依旧会在下面更新:

+
+

学期第十一周(0502 —— 0508)

本周距离考研还剩约 234 天。

+
+

05-02,周一

今天上午我打算将上一个月的计划总结完,然后为计划这个月的事务。下午与晚上就专注于复习数学,另外,这个月要开始做英语六级的卷子了,看看今天如何安排为好。

+

09:47 —— 09:56:英语,约 50 个单词;
10:12 —— 10:37:课业,做课内作业;

+

今天下午,就听一节高数的月度课程,将高数第十二讲的课后习题做与订正完,然后做六级试卷 2018-06-2 的第一篇阅读吧;晚上就将高数第十三讲的习题册做并订正完吧。好不容易有这么整整一天,一定要将进度多向前推一点。

+

13:48 —— 13:44:英语,约 50 个单词;
13:55 —— 15:17:数学,约 59 分钟的月度课程;
15:27 —— 15:34:英语,约 50 个单词;
15:42 —— 16:32:数学,完成了高数第十二讲课后习题;

+

我发现,只要晚上休息好了,就算在空气浑浊的图书馆里、就算在令人昏昏欲睡的下午,看书的时候也不会感到困。

+

18:09 —— 18:58:英语,完成并订正了 2018-06-2 的第一篇英语阅读;
19:23 —— 20:08:数学,订正完高数第十二讲课后习题;

+
+

05-03,周二

今天的计划是,上午在实验室做课程设计,把这一阶段做完;下午与晚上去图书馆做完第十三章的两份习题,并且英语也不要落下,不仅仅只能背单词,还要开始认真的记背词组,每天也不要忘记做题。今天的计划,大概就是这样。

+

09:25 —— 09:34:英语,词群 001;
09:39 —— 11:34:课设,算是成功地勉强实现了需要的功能,下一次的验收应该是不愁了,后面再完善下功能,优化一番检验的阈值和性能,再与组员们联调一下,就应该没问题了;
12:47 —— 13:09:英语,约 50 个单词与词群 002;
14:06 —— 14:52:数学,复习高数第十三讲;

+

额…… 我高高兴兴地打开笔记本,想先复习一下第十三章的内容再做题,一埋头一抬头,一节课就过去了。现在我或许有了一个数学进度慢点理由:因为后面的这些章节越来越难了(

+

14:59 —— 16:10:数学,完成第十三讲的习题册;
16:45 —— 17:25:数学,订正习题册;

+

然后去吃饭了。其实本来六点半就吃完饭回来坐着了,那时想到“哎呀才刚刚吃完饭不宜学习让我们来摸一会儿的明日方舟吧正好三周年活动还没打就打一关二十分钟就下线”,然后卡关卡了一个小时……

+

19:35 —— 20:03:英语,完成了 2018-06-2 的第二篇英语阅读与翻译;
20:07 —— 20:25:英语,订正了翻译题;
20:51 —— 22:10:运动,慢跑了接近 3km,绕着湖走了好多圈;
23:18 —— 23:42:英语,约 100 个单词,今日背完;
23:45 —— 24:14:英语,订正了阅读题;
24:20 —— 24:59:数学,善后数学,与同学讨论难题。

+

今晚是想把剩下的数学习题册善后完的,本来一切都是很顺利的,但实验室旁边的同学突然问我一道问题,与他研究那道题花了比较久,就耽误了善后习题册的时间……

+

数学,昨天的计划没能完成,今天的计划还是没能完成,不知道是我太菜了,还是数学太难了。我上个月的计划确实是太理想了,一周看五章、看八章,就算一周都用来学数学,按照我的学习方式,也可能学不完。我大概估算了一下,如果这周没有杂务、状态也非常好,那大概是能学完三章的,并把习题做完。

+

还是太慢了,唉。我在图书馆看到一个女同学,她桌上放着一本线性代数,说明人家少则领先我六章的功课,多则已经领先我十余章了。

+

至于今天,学习的时间是五个半小时,做正事的时间加起来大概比三分之一多,勉强能有二分之一。

+

共勉吧。

+
+

05-04,周三

今天是五四青年节,想起了以前在作文里常常引用鲁迅的一句话,百试不爽:

+
+

所以我时常害怕,愿中国青年都摆脱冷气,只是向上走,不必听自暴自弃者流的话。能做事的做事,能发声的发声。有一分热,发一分光,就令萤火一般,也可以在黑暗里发一点光,不必等候炬火。

+

此后如竟没有炬火:我便是唯一的光。

+

——《热风・随感录四十一》

+
+

其实单单是引用这一段话,于原文之意,确实有失偏颇。不过也单单就这句话,它表现出的精神,也是值得我们学习的。另外,祝大家五四青年节快乐!

+

今天的空余时间基本上只有这个下午,我下午的计划是将前天布置、昨天剩余的数学习题册给订正完,然后完成第十三章的课后习题,再完成并订正英语六级试卷 2018-06-3 的选词填空吧。高数的第十四章“无穷级数”又是一个很难的章节 orz,但愿这周五之前能将它搞定吧。

+

09:23 —— 09:35:英语,约 50 个单词;
13:50 —— 14:08:英语,约 30 个单词,与词群 003 至 005;
14:28 —— 16:03:数学,订正完高数第十三讲习题册;
16:08 —— 16:26:英语,约 50 个单词,与词群 006 至 007;

+

光是订正昨天剩下的 10 道题,就花了一个半小时的时间,看起来我们今天的课后习题多半也做不完了。

+

16:30 —— 16:48:英语,完成了选词填空;
16:53 —— 17:03:英语,订正,词语的摘录放在晚上再做;
22:23 —— 22:34:英语,约 50 个单词,完成了今日计划;
22:34 —— 00:04:数学,订正完数学难题。

+
+

05-05,周四

凌晨熬夜了,九点半醒来,然后摸鱼一上午。

+

下午上课,上完以后继续摸鱼。

+

最近听说《守望先锋:归来》开始 B 测了,晚上就久违地玩了下守望先锋。

+
+

05-06,周五

+

今天还是起晚了,然后上午去找了给我写推荐信的两位老师,跟他们把最后的事情敲定了。在这一刻,我的整个申请流程算是结束了。

+

我项目之后的安排,今天也跟导师确定下来了,并且由于负责我这一块的师兄下个月就要去华为工作了,我这个月或许得尽快多做一些,把师兄写的东西顺利地接下来,不然以后就很难像师兄求助了。所以我今天下午与晚上,安排的是项目的任务,而明后两天的事务视今日的完成情况再作安排吧。

+
+

这是那天上午写的,后来啊,后来就下午做了项目,到大概三点半到时候遇到了问题,索性就再次不管了,又去打电动了。

+
+

学期第十二周(0509 —— 0515)

本周距离考研还剩约 227 天。

+
+

05-10,周二

早上去邮局寄信,然后就去图书馆准备今天的学习。

+

最近因为心态问题,将学业放下了,所以我们现在需要立即开始着手恢复:今天上午听一节月度的直播课程,下午将第十三讲的课后习题做完,再加上英语的习题……

+

最终这一天也是没有做什么事……

+
+
+ +
+

简单来说,5 号到 11 号这几天整个人就散了。

+
+
+ +
+

05-12,周四

近日广州大暴雨,早上起来看到窗外也是瓢泼大雨后,决定上午在实验室做项目,看看后面雨会不会小一些,晚上就去图书馆看数学吧。

+

09:03 —— 09:17:英语,约 50 个单词,与词群 008 至 009;
09:45 —— 11:27:项目
12:49 —— 13:08:英语,约 50 个单词,与词群 011 至 012;

+

晚上雨太大了,从教室回来的路上,鞋子与半条裤子都湿了,雷雨天真出不了门,所以晚上还是在实验室待着吧。

+

19:16 —— 19:33:英语,约 30 个单词,与词群 010 与 013;
19:35 —— 21:00:数学,约 60 分钟的月度课程;
21:10 —— 21:18:英语,约 50 个单词;
22:22 —— 23:12:课业

+

在摆烂这么多天以后,今天开始复健,看起来效果还不错,但时间又少了好多……

+
+

05-13,周五

导师昨晚通知我们说,今天上午九点开项目的联调组会。我起来以后背了会单词后,见这暴雨依旧还是没有变小的意思,就冒雨出门,坐校巴前往导师的办公室。好不容易到那以后,导师看着组里的师兄与同学说好大的雨,结果把组会延后到十点了。我身上当时除了单词书什么都没带,只好找个位置背单词…… 好在组会并没开多久,我赶回实验室以后,还能把网络实验给做了 —— 因为这个实验需要用到学校的虚拟机,我昨晚预约的就是十点左右到这个时段,要是错过了就又得重新预约了。

+

上午的安排顺利完成了,那么,我希望下午与晚上的安排也可以同样顺利地做完吧。

+

08:05 —— 08:12:英语,词群 014;
08:36 —— 08:50:英语,约 30 个单词,与词群 015;
09:18 —— 09:34:英语,词群 016 至 019,完成了 Unit 1;
10:40 —— 11:54:课业

+

为了能再次恢复数学的学习,下午先听一节月度课程,再做完并订正高数第十三讲的课后习题;英语在继续单词之余,把之前留下的六级试卷 2018-06-3 的两篇阅读给完成了吧,再把之前那次的摘录也一并补上。大概这些,可能就差不多了,如果有空余时间,那就到时候再安排吧。

+

14:14 —— 14:29:英语,约 40 个单词;
14:42 —— 16:22:数学,约 50 分钟的月度课程;

+

19:20 —— 19:37:英语,约 50 个单词,与词群 020 至 021;
19:39 —— 20:10:英语,完成了两篇阅读;

+

做题还是太慢了,这次做得很不顺,与上次相比可以说是天壤之别,等我晚上订正完以后,再分析一下原因吧。

+

20:18 —— 20:57:英语,订正与查词;

+

22:27 —— 22:43:英语,约 60 个单词,与词群 022;
22:49 —— 23:08:英语,继续订正与查词;

+

我大概知道这次为什么比上次差了。

+

这次的两篇阅读是一对很好的例子:第一篇阅读我从一开始就把文意理解偏了,所以就算花了许多时间,也难以选对正确的选项;而第二篇我时间比较紧,但由于把文章的中心把握住了,所以就算半蒙半猜,结果也比第一篇好得多。另外,还是有单词不熟悉的问题,这很容易使我曲解选项,被干扰项给带进坑了。

+

算算日子,时间已经过去快要一半了,很明显我的进度还是严重的偏慢了……

+
+

05-14,周六

昨天又鸽掉了数学做题,就又顺延到下一天了……

+

按照昨晚的构想,今天上午做高数第十三讲的课后习题,并订正完,再摘录部分英语单词;下午听高数第十四讲的课程,做英语习题并订正,六级试卷 2018-06-3 的选词填空比较难,订正时间可能会有些长;晚上再学习一些数学,大概就是这样。

+

08:44 —— 08:57:英语,早读,并背了约 20 个单词;
09:15 —— 09:48:数学,复习高数第十三讲;
09:51 —— 11:35:数学,完成了第十三讲的课后习题;

+

今天第一次尝试早读,以后打算就要常驻了,后面也会把时间再提前一些,毕竟这样才能算“早”(

+

数学九道常微分方程做了我近两个小时,还是在有笔记的情况下。要是没有笔记,我还得手推公式…… 下午争取在一个小时之内把这个订正完吧。中午有同学喊我一起吃麦当当,我今天就早些走了。

+

还不到十二点去吃的饭,回来的时候已经快两点了 orz。不过我们在两点半以前还是能开始学习,下午听一部分高数第十四讲的课程,订正或许可以放在晚上。

+

14:30 —— 14:49:英语,约 30 个单词,与词群 023;
14:51 —— 17:26:数学,学习高数第十四讲约 60 分钟的课程;

+

学数学期间,大概三点半的时候太困了,趴在桌上睡了大概十分钟,醒来之后就比较有精神了,真不错。

+

18:41 —— 19:01:英语,约 30 个单词,与词群 024;
19:05 —— 19:23:英语,完成选词填空;
19:29 —— 20:14:英语,订正并查词;
20:21 —— 20:39:数学,订正部分习题;

+

由于卷子上被勾出的词汇太多,所以在订正的时候,只查了部分涉及选项的词语,而其他地方地方的词语还没有查,等有零碎空余的时间再查吧。

+

22:21 —— 22:36:英语,约 50 个单词;
22:36 —— 23:39:课设

+

今天整体而言,我觉得是非常不错的,如果中午没有出去吃麦当当,那简直就可以说是我们心目中理想的一天了。

+

我在论坛上,看到有人说他每天都会复习六个多小时,其中至少有五个小时在数学上,二月到四月他花了不过三个月就把数学的第一遍看完了。我记得蛮清楚的,想了想,我也是二月一号新年那天开始复习数学的。结果到现在,进度差了这么多,不得不说是我自作自受了。

+

所以,从现在开始,我也想统计每天、每周与每月的学习时长,以更明晰地评判每一天的学习态度。今天做正事的时间大概占了一半的时间:学习有 7h4min,而课设约 1h3min。

+

希望明天能再接再厉吧。

+
+

05-15,周日

今天久违地去食堂吃了早饭,花了好些时间,到图书馆就已经九点一刻了。加之又做了些其他事情,开始学习的时间就比昨天晚了一个小时。今天的目标是把高数第十四讲剩下三个小时的课程全部看完,并且再把英语也料理好,昨天的题订正完,这样就好了。

+

09:48 —— 10:06:英语,约 50 个单词,与词群 025 至 026;
10:10 —— 12:07:数学,高数第十四讲约 61 分钟的课程;

+

今天的目标是学习完这一讲,还有两个多小时的视频课程,这样看起来应该是没有问题的。

+

14:22 —— 14:33:英语,约 50 个单词,与词群 027;
14:37 —— 15:44:数学,约 32 分钟的视频课程;
16:09 —— 16:59:数学,约 29 分钟的视频课程;
17:00 —— 17:25:数学,订正完了昨天的课后习题;

+

晚上摸了会鱼,算是一周的休息吧。

+
+

学期第十三周(0516 —— 0522)

本周距离考研还剩约 220 天。

+
+

05-16,周一

今天又是有一整天的时间呢,这周开始要开始准备期末考试与英语六级考试,像这样完整的时间已经不多了,趁现在得多学习一些。今天把高数第十四讲学习完肯定是没有问题的,如果下午有多余的时间,可以开始学习第十五讲。晚上主要是做题等,就不听课了,如果外面等雨停了的话,出去跑跑步吧。

+

09:28 —— 09:50:英语,约 50 个单词,早读;
10:02 —— 11:22:数学,继续学习高数第十四讲,约 31 分钟课程;
11:34 —— 11:55:杂务

+

今天早上太晚了。早读早读,自然得早点,九点半算什么早读…… 我计划里的早读是像高中一样,七点半开始,现在先做到八点开始早读吧。

+

14:15 —— 14:32:英语,约 50 个单词,与词群 028;
14:42 —— 17:34:数学,约 52 分钟的课程,学习完了第十四讲;

+

下午犯困,中途还是趴了会儿 orz。有好多地方要抄在笔记本上,还有一部分没有抄完,晚上有时间把这些抄完吧。

+

19:00 —— 19:15:英语,约 30 个单词,与词群 029 至 031;
19:21 —— 19:49:数学,整理笔记;
19:54 —— 20:10:英语,约 50 个单词,与词群 032,完成了今日单词;
20:11 —— 20:47:英语,完成六级试卷 2019-12-1 的听力部分;

+

21:03 —— 21:50:运动,慢跑了 2.4km 并绕着湖散步;
22:57 —— 23:48:课设

+

今天学习情况,我觉得可以算中等偏上:纯粹的学习时间有 6h14min,再算上做课程设计的 50min 与运动的时间,差不多有效利用今天时间的一半,明天要是能早点起就更好了。

+
+

05-17,周二

今天也是一整天的时间,在本月的下旬到来之前,我还暂时不需要开始复习课业内容。今天的计划是听完高数第十五讲约两个小时的课程,并完成第十四讲的习题册,与订正完昨天的笔记。英语就是订正完昨天的听力,并做两篇阅读。今天晚上回去以后,再将课程设计与队友们联调好,就等待验收了。

+

08:14 —— 08:41:英语,早读,另背约 50 个单词,与词群 033;
08:47 —— 09:53:数学,高数第十五讲约 15 分钟的视频课程;
10:01 —— 10:09:英语,约 30 个单词;
10:15 —— 11:04:数学,约 21 分钟的课程;

+

13:56 —— 16:37:数学,约 44 分钟的课程;

+

接近三个小时,只听了不到一个小时的课…… 这章的专题内容倒是不难,主要是有些杂,要抄的东西有些多,今天下午我的效率也不行。

+

18:21 —— 19:31:数学,约 35 分钟的课程;
19:36 —— 19:51:英语,约 50 个单词;

+

今天听课花了太多的时间,习题册多半是没时间做了。

+

21:05 —— 23:37:课设

+

晚上终于与队友一起把课程设计联调结束了,看看明天验收的结果如何吧。若是通过了,就又少一件事情了。

+
+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2022/05/12/QT-learning-note-02/index.html b/2022/05/12/QT-learning-note-02/index.html new file mode 100644 index 000000000..a6f51d613 --- /dev/null +++ b/2022/05/12/QT-learning-note-02/index.html @@ -0,0 +1,396 @@ +【QT 学习笔记02】第一个项目! | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + + + +

【QT 学习笔记02】第一个项目!

cover + + + +

今天本来是想要参考上一节提到的教程,继续学习 Qt 的。但参考的那两个教程都太陈旧了,可能是因为新的环境变化太大,他们给出的例程我没办法在电脑上复现,所以只得作罢。而且我发现,中文网络上的教程文章几乎都是 18 年之前的,之后很少再有新的文章了。像我在一个 Qt 的中文论坛又找到的一份教程:《Qt 快速入门系列教程》,作者之前还出版了这本书,已经到第三版了,并且在 2019 年 2 月的时候还对教程进行一定程度的更新,有重修教程、重振论坛的意思,但现在看起来,他最终还是没能成功:他的 Qt5 新教程在写了十篇以后,停止在了同年的 3 月 20 日,非常可惜。

+

所以,我只好另寻他路。我在搜索引擎中找到了这个博客中的 Qt 教程,看起来他以前好像是一个机构等职业讲师,在 B站 也有更新相关的视频。我粗略地看了一下,应该是能满足我们目前的学习需要了,所以这次就开始学习这个教程了。

+

第一个 Qt 项目

略去已经学习过的部分后,我们这次终于开始使用 IDE 来构建项目了:Qt 官方提供的 Qt Creater,其基本用法就不再多说了。这次以 HelloQtGui 这个项目作为第一个例程,目的是使初学者知晓项目中各个文件的关系,下面贴出项目的结构与相关代码吧:

+

helloqtgui-program项目结构

+

项目文件(.pro)

最上面的 HelloQtGui.pro 是项目文件,其中记录着项目的一些属性信息,在编译时系统会自动修改其中的内容,也可以手动改动其中的一些参数,以实现额外的功能,在后面会遇见相关的例子,这里就先贴出代码与注释:

+
# HelloQtGui.pro
+
+# 在项目文件中, 注释需要使用 井号(#)
+# 项目编译的时候需要加载哪些底层模块
+QT       += core gui
+
+# 如果当前Qt版本大于4, 会添加一个额外的模块: widgets
+# Qt5 中对 gui 模块进行了拆分, 将 widgets 独立出来了
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+
+# 使用 c++11 新特性
+CONFIG += c++11
+
+# The following define makes your compiler emit warnings if you use
+# any Qt feature that has been marked deprecated (the exact warnings
+# depend on your compiler). Please consult the documentation of the
+# deprecated API in order to know how to port your code away from it.
+# 如果在项目中调用了废弃的函数, 项目编译的时候会有警告的提示
+DEFINES += QT_DEPRECATED_WARNINGS
+
+# You can also make your code fail to compile if it uses deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
+
+# 项目中的源文件
+SOURCES += \
+    main.cpp \
+    mainwindow.cpp \
+    testdialog.cpp \
+    testwidget.cpp
+
+# 项目中的头文件
+HEADERS += \
+    mainwindow.h \
+    testdialog.h \
+    testwidget.h
+
+# 项目中的窗口界面文件
+FORMS += \
+    mainwindow.ui \
+    testdialog.ui \
+    testwidget.ui
+
+# Default rules for deployment.
+qnx: target.path = /tmp/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}/bin
+!isEmpty(target.path): INSTALLS += target
+ +

main.cpp

这里是程序的主函数,多是自动生成的代码:

+
// main.cpp
+
+#include "mainwindow.h"     // 生成的窗口类头文件
+#include <QApplication>     // 应用程序类头文件
+
+int main(int argc, char *argv[])
+{
+    QApplication a(argc, argv);         // 创建应用程序对象,在一个 Qt 项目中实例对象有且仅有一个
+                                        // 类的作用:检测触发的事件,进行事件的循环并处理
+                                        //定义一个 QT 应用程序对象,它是 QT 图像界面的入口
+                                        //它的构造函数接收与 main 函数一样的参数
+    MainWindow w;       // 创建窗口类对象
+    w.show();           // 显示窗口
+    return a.exec();    // exec() 阻塞函数进入事件循环函数等待用户操作
+    					// 使在程序执行完以后,窗口不会自动消失
+}
+ +

mainwindow.h

这是窗口界面对应的头文件,被上方的 main.cpp 所包含,生成代码如下:

+
// mainwindow.h
+
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QMainWindow>      // Qt 标准窗口类头文件
+
+QT_BEGIN_NAMESPACE
+// mainwindow.ui 文件中也有一个类叫 MainWindow, 将这个类放到命名空间 Ui 中
+namespace Ui { class MainWindow; }      // 对应的是 ui 文件中的类
+QT_END_NAMESPACE
+
+class MainWindow : public QMainWindow   // 继承了基础类
+{
+    Q_OBJECT    // 这个宏是为了能够使用Qt中的信号槽机制
+
+public:
+    MainWindow(QWidget *parent = nullptr);
+    ~MainWindow();
+
+private:
+    Ui::MainWindow *ui;     // 定义指针指向窗口的 UI 对象
+};
+#endif // MAINWINDOW_H
+ +

看不懂是吧?其实我们就算看得懂代码,也不知道它具体是干什么的,反正能跑就行,后面应该慢慢就知道了……

+

mainwindow.cpp

这里是上面对应头文件中类的源文件:

+
// mainwindow.cpp
+
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+
+MainWindow::MainWindow(QWidget *parent)
+    : QMainWindow(parent)
+    , ui(new Ui::MainWindow)    // 基于 mainwindow.ui 创建一个实例对象
+                                // 相当于将 ui 对象实例化
+{
+    // 将 mainwindow.ui 的实例对象和 this 指向的当前类的对象进行关联
+    // 这样同名的两个类对象就产生了关联, 合二为一了
+    ui->setupUi(this);          // 相当于在后面操作 ui 时相当于直接操作指向的类
+
+    // 一般在 Qt 的构造函数中进行初始化操作(窗口,数据,……)
+}
+
+MainWindow::~MainWindow()
+{
+    delete ui;
+}
+ +

mainwindow.ui

这是一个 xml 格式的文件,在 Qt 中的每一个窗口对对应着一个可编辑的可视化界面,不过一般不需要在这里编辑,IDE 给我们提供了更简单的 Design 界面,在那里只需要拖动组件就可以了,这里还是贴出初始代码作参考:

+
// mainwindow.ui
+
+<!-- 双击这个文件看到的是一个窗口界面, 如果使用文本编辑器打开看到的是一个XML格式的文件 -->
+<!-- 看不懂这种格式没关系, 我们不需要在这种模式下操作这个文件。 -->
+<!-- 这里只是给大家介绍这个文件的本质 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>800</width>
+    <height>600</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>MainWindow</string>
+  </property>
+  <widget class="QWidget" name="centralwidget"/>
+  <widget class="QMenuBar" name="menubar"/>
+  <widget class="QStatusBar" name="statusbar"/>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
+ +

Qt 的窗口类

想要为 Qt 项目添加新的窗口,首先得新建一个子类。

+

三个基础窗口类

在 IDE 中先单机项目的主文件并选中,然后在右键菜单中点击 “Add new …”,在新弹出的窗口中,选择 “Qt” 与 “设计师界面类”,并点击右下角的 “choose…” 进行下一步:

+

qwidget_1

+

在这里可以看到有三种类,分别是:QWidgetQDialogQMainWindow

+

qwidget_2

+

这三种类的关系如下所示:

+

qwidget_3图片来自于苏丙榅的入门教程

+

在创建新窗口时,需要让自己的窗口类继承上述三个窗口类中的其中一个。它们分别有如下的性质:

+
    +
  • QWidget
      +
    • 是所有窗口的基类
    • +
    • Qt 中的控件(如按钮、输入框、单选框等)都属于窗口,其基类均为 QWidget
    • +
    • 可以内嵌到其他的窗口中 —— 没有边框
    • +
    • 可以不内嵌而单独显示 —— 独立窗口,具有边框
    • +
    +
  • +
  • QDialog
      +
    • 对话框类
    • +
    • 不能内嵌到其他窗口中
    • +
    +
  • +
  • QMainWindow
      +
    • 具有工具栏、状态栏和菜单栏
    • +
    • 不能内嵌到其他窗口中
    • +
    +
  • +
+

窗口的显示

在 Qt 中,显示窗口的方式有两种:内嵌入其他的窗口一并显示,或作为独立窗口单独显示:

+
    +
  • 内嵌窗口
      +
    • 依附于某一个大的窗口,作为了大窗口的一部分
    • +
    • 大窗口就算这个内嵌窗口的父窗口
    • +
    • 在父窗口显示的时候,内嵌窗口也会一并显示
    • +
    +
  • +
  • 独立窗口(非内嵌)
      +
    • 有边框,有标题栏
    • +
    • 需要调用函数才可以显示
    • +
    +
  • +
+

基于上面的第一个项目,现分别创建两个测试窗口以说明其区别。TestWidggetTestDialog 的头文件与源代码均与上面最初的 mainwindow 没有大的不同,修改窗口控件也只需要在 Design 中编辑即可,此处的重点在于子窗口的两种不同的显示。以后若无更改,新窗口的自动生成代码将不会再重复贴出了。

+

因此,下面贴出控制窗口显示的 mainwindow.cpp 文件:

+
// 新的 mainwindow.cpp
+
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+#include "testwidget.h"			// 新包含了两个子类的头文件
+#include "testdialog.h"
+
+MainWindow::MainWindow(QWidget *parent)
+    : QMainWindow(parent)
+    , ui(new Ui::MainWindow)    // 基于 mainwindow.ui 创建一个实例对象
+                                // 相当于将 ui 对象实例化
+{
+    // 将 mainwindow.ui 的实例对象和 this 指向的当前类的对象进行关联
+    // 这样同名的两个类对象就产生了关联, 合二为一了
+    ui->setupUi(this);          // 相当于在后面操作 ui 时相当于直接操作指向的类
+
+    // 一般在 Qt 的构造函数中进行初始化操作(窗口,数据,……)
+    
+    // 显示当前窗口的时候,显示另外一个窗口 TestWidget
+#if 1
+    // 创建窗口对象,没有给 w 对象指定父对象
+    // 所以这个窗口是一个独立窗口,有四周的边框
+    // 要显示独立窗口需要进行 show() 操作
+    TestWidget* w = new TestWidget;
+    // 显示当前窗口
+    w -> show();
+#else
+    // 如果在创建窗口对象的时候给其指定了父对象,这个窗口就不是一个独立窗口
+    // 所以在当前父窗口显示的时候,子窗口被嵌入,与父窗口一起显示出来
+    // 此时子窗口是没有独立边框的
+    TestWidget* w = new TestWidget(this);
+#endif
+
+#if 1
+    // 创建对话框窗口
+    TestDialog* dlg = new TestDialog(this);     // 不管是否指定窗口的父对象,它都不会内嵌到主窗口中
+    // 非模态
+    dlg -> show();          // 需要手动调用父类的 show()
+#else
+    // 创建对话框窗口
+    TestDialog* dlg = new TestDialog(this);
+    // 模态,exec()
+    // 阻塞程序的执行
+    dlg -> exec();
+    // 此时无法显示主窗口,也无法切换焦点,需要关闭 dlg 窗口才会出现主窗口
+#endif
+}
+
+MainWindow::~MainWindow()
+{
+    delete ui;
+}
+ +

此时代码中是有两个分支的,在两个 if 均为 1 的时候,它们均为独立窗口 —— 其中 TestWidgget 窗口继承了 QWidget 类,在没有指定父类的时候,它是独立窗口;而 TestDialog 窗口基础的是 QDialog 类,所以无论它是否指定父对象(是否在 new 后指向 this),它都只会是独立窗口。

+

qwidgt

+

其中 Form 窗口是 TestWidget 产生的

+

若给 TestWidgget 指定父对象(将第一个 if 置 0),则其会嵌入到主窗口中:

+

qwidget_5

+

现在的 TestDialog 是非模态显示(调用的 show() 函数),若想让对话窗口改为模态显示,则需调用 exec() 函数(将第二个 if 置 0):

+

qwidget_6

+

此时只有对话框窗口,且焦点无法切换到其他地方,只有在关闭此对话窗口以后,才会显示主窗口。

+

坐标体系

Qt 的坐标体系与大多数显示一样,均以左上角为坐标原点。不过有一点特殊的是,在一个 Qt 窗口中,其中嵌入的子窗口是以父窗口的左上角为左上角为坐标原点,也就是相对坐标,而非绝对坐标:

+

coordinate_1图片来自于苏丙榅的入门教程

+

下面用 coordinate 项目作为例程示例:

+
// corrdinate mainwindow.cpp
+
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+#include <QPushButton>          // 按钮控件需要的库
+
+MainWindow::MainWindow(QWidget *parent)
+    : QMainWindow(parent)
+    , ui(new Ui::MainWindow)
+{
+    ui->setupUi(this);
+
+    // 让窗口出现在屏幕的这个位置,没有指定则是默认居中
+    // 坐标原点是左上角
+    //this -> move(100, 100);
+
+    // 创建一个按钮,让这个按钮作为当前创建的子控件
+    QPushButton* btnA = new QPushButton(this);      // 一定要指定父对象,否则按钮就成了一个独立的窗口
+        											// 此时父对象依旧是主窗口
+    // 移动按钮的位置
+    // 基类 QWidget 中的 move() 函数
+    btnA -> move(10, 10);
+    // 给按钮设置固定的大小
+    btnA -> setFixedSize(200, 200);
+
+    // 创建第二个按钮
+    QPushButton* btnB = new QPushButton(this);
+    btnB -> move(10, 10);
+    btnB -> setFixedSize(100, 100);
+
+    // 创建第三个按钮
+    QPushButton* btnC = new QPushButton(this);
+    btnC -> move(10, 10);
+    btnC -> setFixedSize(50, 50);
+}
+
+MainWindow::~MainWindow()
+{
+    delete ui;
+}
+ +

coordinate_2

+

若在代码块上方解除注释掉的代码 this -> move(100, 100);,则窗口会以左上角为坐标原点进行显示:

+

coordinate_3

+

所以我们可以把整个屏幕认为是一个最大的窗口。

+

总结

这次我们脱离了普通的文本编辑器,使用 Qt 官方提供的 Qt Creater 这个 IDE 进行编程,构建了第一个项目,并重点区分了三种重要的基础类与窗口的显示方式,最后以窗口的坐标体系作结。而在下一节,我们应该会学习 Qt 的数据类型与信号槽 —— 后者是 Qt 中非常重要的一部分,到那时,或许我们的 Qt 才算是真正的入门了吧。

+

参考资料

[1] Qt 入门,苏丙榅,爱编程的大丙,2021

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2022/05/18/question-of-graduate-student/index.html b/2022/05/18/question-of-graduate-student/index.html new file mode 100644 index 000000000..3889195c7 --- /dev/null +++ b/2022/05/18/question-of-graduate-student/index.html @@ -0,0 +1,96 @@ +读硕还是直博,这是个问题 | 叶子的花园 + + + + + + + + + + + + + + + + +

读硕还是直博,这是个问题

cover图文无关…… 或许是吧

+ + +

背景

今天上午,我在组会结束以后留下来跟导师说推荐信的事,之后我们聊了一些关于研究生的话题,其中就有我导师对读硕与直博的看法。听完后我感觉受益颇多,便想写一篇博文记录此事。(翻译:水文章)

+

讨论

薪资

对于硕士生与博士生的区别,导师首先说最直观的是薪资待遇:像是之前实验室的一位硕士学长,在春招的时候拿的 offer 大概是 40 万左右一年(但愿他今年能顺利毕业);而另一位带过我的博士,她研究的是数字图像传输(大概是这么描述),拿的 offer 年薪是 48 万左右;而我们专业本科出去以后的年薪能有 15 万就谢天谢地了。

+

导师说,就薪水来看,其实读硕士还是博士差别不大的,一般还是认为硕士生的性价比更高。

+

“那硕士生与博士生相比,企业是否会更偏好于博士呢?”我问导师,“因为我看到现在社会上,好多本来是本科生做的工作,都被硕士生占走了,如果自己硕士文凭与别人博士面同一份工作,那会不会也出现这样的情况呢?”

+

不会,他说,之前提到的“硕士性价比高”不仅对学生来说是这样,对企业而言也是如此,因为硕士生更便宜,同样的事情,硕士生能做何必要找更昂贵的博士生呢?

+

系统与部分

另一方面,是因为硕士生相比本科生,能负责构建整个系统,而博士生一般是负责系统中的某一个部分。

+

导师说,硕士在企业中一般就与同事一组,开发整个项目,负责这个系统的方方面面;但博士生一般是做某一部分的优化。比如说,项目组的几个硕士在一起鼓捣了俩月,整出来个低功耗节点组网的传输系统,而博士做的主要是研究如何将原来每天一瓦的功耗降低至零点七瓦,或者将传输过程中的误码率从 10^(-6) 降低到 10^(-7)。由此可见,博士一般不会去构建整个系统,而是专注于优化系统的性能,将某一方面提升到极致。

+

团体与个人

其实,由导师在上面举的例子,我们还能够看出来,硕士生大多是一伙做事,博士生则常常是单枪匹马的。

+

就比如我那位吊儿郎当的师兄,他毕业设计的系统也是与另一位同级的师兄,和两个研一的师兄共同完成的(都算是老师布置的活儿),而师兄的毕业答辩也是针对整个系统的。而另一位博士学姐,常常都是一个人在那边看论文、跑代码,很少看到她与其他的博士一起做一件事。

+

本来以前没觉得这样有什么不对,跟导师聊了一后才发现这之中的联系……

+

专硕与学硕

后来,我又问了关于我们学院专硕与学硕的事,因为我在研究生招生简章里这两栏后都看到了导师的名字。

+

导师说实际上他们没什么不同。他说,在我们学院,这两个实际上都是同一种,只是名字不同罢了,就比如专硕的课程叫通信 I,学硕的叫通信 II这样,而内容都是一样的。他还补充道,学校之所以还区分这两种,一方面是历史遗留问题,另一方面可能是因为在北方的一些省份,仍然认为专硕还是像以前那样,只读两年。

+

不过,专硕学硕也并不是一点区别也没有。就像我们专业分数是有大小年之分的,录取分一年学硕高一年专硕高,例如今年学硕的平均分是 380+,而专硕的平均分高达 402,给大伙儿看傻了都。

+

结论

导师在最后说,读博应该是一个与高考择校一样重要的人生决定,不能随随便便就定下来了。如果读博的意志并不是十分的坚定,他都建议先读一年硕士,再从长计议。

+

大概就是这些了,如果大家对此有什么想法,欢迎大家留言与我交流喔!

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2022/05/31/the-silence-of-china/index.html b/2022/05/31/the-silence-of-china/index.html new file mode 100644 index 000000000..be5497dd6 --- /dev/null +++ b/2022/05/31/the-silence-of-china/index.html @@ -0,0 +1,103 @@ +【摘录】无声的中国 | 叶子的花园 + + + + + + + + + + + + +

【摘录】无声的中国

作者:鲁迅

+

鲁迅文集・杂文集・三闲集①
一九二七年二月十六日在香港青年会②讲

+
+

我在写下个月计划、查阅鲁迅某话来源时,读到了这篇文章,感受到了前人的精神气,就摘录在这里了。

+
+ + +

演讲正文

以我这样没有什么可听的无聊的讲演,又在这样大雨的时候,竟还有这许多来听的诸君,我首先应当声明我的郑重的感谢!

+

我现在所讲的题目是:《无声的中国》。

+

现在,浙江,陕西,都在打仗③,那里的人民哭着呢?还是笑着呢?我们不知道。香港似乎很太平,住在这里的中国人,舒服呢?还是不很舒服呢?别人也不知道。

+

发表自己的思想、感情给大家知道的,是要用文章的。然而拿文章来达意,现在一般的中国人还做不到,这也怪不得我们。因为那文字,先就是我们的祖先留传给我们的可怕的遗产。人们费了多年的工夫,还是难于运用。因为难,许多人便不理它了,甚至于连自己的姓,也写不清是「张」还是「章」,或者简直不会写,或者说道:Chang。虽然能说话,而只有几个人听到,远处的人们便不知道,结果也等于无声。又因为难,有些人便当作宝贝,像玩把戏似的,之乎者也,只有几个人懂,──其实是不知道可真懂,而大多数的人们却不懂得,结果也等于无声。

+

文明人和野蛮人的分别,其一,是文明人有文字,能够把他们的思想,感情,藉此传给大众,传给将来。中国虽然有文字,现在却已经和大家不相干,用的是难懂的古文,讲的是陈旧的古意思,所有的声音,都是过去的,都就是只等于零的。所以,大家不能互相了解,正像一大盘散沙。

+

将文章当作古董,以不能使人认识,使人懂得为好,也许是有趣的事罢。但是,结果怎样呢?是我们已经不能将我们想说的话说出来。我们受了损害,受了侮辱,总是不能说出些应说的话。拿最近的事情来说,如中日战争④,拳匪事件,民元革命这些大事件,一直到现在,我们可有一部像样的著作?民国以来,也还是谁也不作声。反而在外国,倒常有说起中国的,但那都不是中国人自己的声音,是别人的声音。

+

这不能说话的毛病,在明朝是还没有这样厉害的;他们还比较地能够说些要说的话。待到满洲人以异族侵入中国,讲历史的,尤其是讲宋末的事情的人被杀害了,讲时事的自然也被杀害了。所以,到乾隆年间,人民大家便更不敢用文章来说话了。所谓读书人,便只好躲起来读经,校刊古书,做些古时的文章,和当时毫无关系的文章。有些新意,也还是不行的;不是学韩,便是学苏。韩愈苏轼他们,用他们自己的文章来说当时要说的话,那当然可以的。我们却并非唐宋时人,怎么做和我们毫无关系的时候的文章呢。即使做得像,也是唐宋时代的声音,韩愈苏轼的声音,而不是我们现代的声音。然而直到现在,中国人却还耍着这样的旧戏法。人是有的,没有声音,寂寞得很。──人会没有声音的么?没有,可以说,是死了。倘要说得客气一点,那就是:已经哑了。

+

要恢复这多年无声的中国,是不容易的,正如命令一个死掉的人道:「你活过来!」我虽然并不懂得宗教,但我以为正如想出现一个宗教上之所谓「奇迹」一样。

+

首先,来尝试这工作的是「五・四运动」前一年,胡适之先生所提倡的「文学革命」④。「革命」这两个字,在这里不知道可害怕,有些地方是一听到就害怕的。但这和文学两字连起来的「革命」,却没有法国革命的「革命」那么可怕,不过是革新,改换一个字,就很平和了,我们就称为「文学革新」罢,中国文字上,这样的花样是很多的。那大意也并不可怕,不过说:我们不必再去费尽心机,学说古代的死人的话,要说现代的活人的话;不要将文章看作古董,要做容易懂得的白话的文章。然而,单是文学革新是不够的,因为腐败思想,能用古文做,也能用白话做。所以后来就有人提倡思想革新。思想革新的结果,是发生社会革新运动。这运动一发生,自然一面就发生反动,于是便酿成战斗……。

+

但是,在中国,刚刚提起文学革新,就有反动了。不过白话文却渐渐风行起来,不大受阻碍。这是怎么一回事呢?就因为当时又有钱玄同先生⑤提倡废止汉字,用罗马字母来替代。这本也不过是一种文字革新,很平常的,但被不喜欢改革的中国人听见,就大不得了了,于是便放过了比较的平和的文学革命,而竭力来骂钱玄同。白话乘了这一个机会,居然减去了许多敌人,反而没有阻碍,能够流行了。

+

中国人的性情是总喜欢调和,折中的。譬如你说,这屋子太暗,须在这里开一个窗,大家一定不允许的。但如果你主张拆掉屋顶,他们就会来调和,愿意开窗了。没有更激烈的主张,他们总连平和的改革也不肯行。那时白话文之得以通行,就因为有废掉中国字而用罗马字母的议论的缘故。

+

其实,文言和白话的优劣的讨论,本该早已过去了,但中国是总不肯早早解决的,到现在还有许多无谓的议论。例如,有的说:古文各省人都能懂,白话就各处不同,反而不能互相了解了。殊不知这只要教育普及和交通发达就好,那时就人人都能懂较为易解的白话文;至于古文,何尝各省人都能懂,便是一省里,也没有许多人懂得的。有的说:如果都用白话文,人们便不能看古书,中国的文化就灭亡了。其实呢,现在的人们大可以不必看古书,即使古书里真有好东西,也可以用白话来译出的,用不着那么心惊胆战。他们又有人说,外国尚且译中国书,足见其好,我们自己倒不看么?殊不知埃及的古书,外国人也译,非洲黑人的神话,外国人也译,他们别有用意,即使译出,也算不了怎样光荣的事的。近来还有一种说法,是思想革新紧要,文字改革倒在其次,所以不如用浅显的文言来作新思想的文章,可以少招一重反对。这话似乎也有理。然而我们知道,连他长指甲都不肯剪去的人,是决不肯剪去他的辫子的。

+

因为我们说着古代的话,说着大家不明白,不听见的话,已经弄得像一盘散沙,痛痒不相关了。我们要活过来,首先就须由青年们不再说孔子、孟子和韩愈、柳宗元们的话。时代不同,情形也两样,孔子时代的香港不这样,孔子口调的「香港论」是无从做起的,「吁嗟阔哉香港也」,不过是笑话。

+

我们要说现代的,自己的话;用活着的白话,将自己的思想,感情直白地说出来。但是,这也要受前辈先生非笑的。他们说白话文卑鄙,没有价值;他们说年青人作品幼稚,贻笑大方。我们中国能做文言的有多少呢?其余的都只能说白话,难道这许多中国人,就都是卑鄙,没有价值的么?至于幼稚,尤其没有什么可羞,正如孩子对于老人,毫没有什么可羞一样。幼稚是会生长,会成熟的,只不要衰老,腐败,就好。倘说待到纯熟了才可以动手,那是虽是村妇也不至于这样蠢。她的孩子学走路,即使跌倒了,她决不至于叫孩子从此躺在床上,待到学会了走法再下地面来的。

+

青年们先可以将中国变成一个有声的中国。大胆地说话,勇敢地进行,忘掉了一切利害,推开了古人,将自己的真心的话发表出来。──真,自然是不容易的。譬如态度,就不容易真,讲演时候就不是我的真态度,因为我对朋友,孩子说话时候的态度是不这样的。──但总可以说些较真的话,发些较真的声音。只有真的声音,才能感动中国的人和世界的人;必须有了真的声音,才能和世界的人同在世界上生活。

+

我们试想,现在没有声音的民族,是哪几种民族。我们可听到埃及人的声音?可听到安南、朝鲜的声音?印度除了泰戈尔,别的声音可还有?

+

我们此后实在只有两条路:一是抱着古文而死掉,一是舍掉古文而生存。

+

一些注释

①本篇最初刊于香港报纸(报纸名称及日期未详),一九二七年三月二十三日汉口《中央日报》副刊转载。据《鲁迅日记》,这篇讲演作于二月十八日。

+

②青年会:即基督教青年会,基督教进行社会文化活动的机构之一。

+

③这里说的浙江陕西在打仗,指一九二六年末至一九二七年初北洋军阀孙传芳在浙江进攻与广州国民政府有联系的陈仪、周凤歧等部,和一九二六年十二月冯玉祥所部国民军在陕西反对北洋军阀吴佩孚的战争。

+

④这里所说他提倡「文学革命」,是指他在《新青年》杂志第四卷第四号(一九一八年四月)上发表的《建设的文学革命论》一文。

+

⑤钱玄同(1887─1939):浙江吴兴人,文字学家,「五四」时期新文化运动的积极参加者。他在一九一八年一月《新青年》第四卷第一号《论注音字母》一文中以过,「高等字典和中学以上的高深书籍,都应该用罗马字母记音」;在同年四月《新青年》第四卷第四号《中国今后之文字问题》的「通信」中,提出「废灭汉文」,代以世界语的主张。

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2022/06/04/project-in-June/index.html b/2022/06/04/project-in-June/index.html new file mode 100644 index 000000000..62d188c9e --- /dev/null +++ b/2022/06/04/project-in-June/index.html @@ -0,0 +1,240 @@ +六月计划与简记 | 叶子的花园 + + + + + + + + + + + + + + + +

六月计划与简记

Algebra_DanceAlgebra Dance

+
+

Wine can’t satisfy my needs, food in my throat to dust, once how I drunk a lavish life can satisfy my desire. Forget those horrible ghost story, I was living in the real nightmare, I am not living, but also won’t die, moonlight will let I betray oneself, let me in the living body walking in the world.

+

—— Hector Barbossa (Pirates of the Caribbean)

+
+ + +

写在月初

上个月的后半段,由于一些原因,我就不贴在网上了。

+

我后来也在想,这样每日详尽的计划与记述看起来确实蛮枯燥的,也许略去这些,只保留对每日的总结会更好些。这个月就来试一试吧,每日开始的时候写下「今日计划」,中途想到什么也写在这里,晚上再为这天作上总结,这样或许会更好一些。

+

这个月最重要的事情,就是本月中旬的六级与下旬的期末考试,它们的重要性会在下方的「本月计划」中体现。

+

信息

自从我高中毕业、用上智能手机以后,常常感受到互联网的冲刷,时间愈长,这样的感觉也就愈加强烈。所以,我想要以某种方式改变这种现状,管制我每日所看到的东西,从而让我能对目标保持专注。

+

其实我最初的想法,有些类似于「一刀切」吧,就是完全不看任何新闻消息,禁绝任何来源。但立即我就想到了那句著名的「两耳不闻窗外事,一心只读圣贤书」,放到现在,多半是贬义之意。顺势联想到「风声雨声读书声声声入耳,家事国事天下事事事关心」,这句话恐怕更符合现在的这个时代。又联想到鲁迅先生在《无声的中国》里那段话:

+
+

就因为当时又有钱玄同先生提倡废止汉字,用罗马字母来替代。这本也不过是一种文字革新,很平常的,但被不喜欢改革的中国人听见,就大不得了了,于是便放过了比较的平和的文学革命,而竭力来骂钱玄同。白话乘了这一个机会,居然减去了许多敌人,反而没有阻碍,能够流行了。

+

中国人的性情是总喜欢调和,折中的。譬如你说,这屋子太暗,须在这里开一个窗,大家一定不允许的。但如果你主张拆掉屋顶,他们就会来调和,愿意开窗了。没有更激烈的主张,他们总连平和的改革也不肯行。那时白话文之得以通行,就因为有废掉中国字而用罗马字母的议论的缘故。

+
+

所以我在想,在信息管制的这上面或许也是折中一点比较好。具体如何做,我还没有想好,不过据我这段时间的观察,日常断掉与互联网的连接,其实也就足够了,因为在断掉互联网后,不会再有新东西来打扰我们了。若是要使用网络查某样东西,那时再连接,查完即再次断开,这样虽有不便,但却能使我们的注意力能不受影响,这样就极好了。

+

这个月我就尝试一下这个方法吧,在主观上抑制自己的浏览欲,客观上与互联网脱离连接。另外,我知道保持与世界连接的重要性,然而现实社会里的许多事情,已经非常的情绪化了,我常常浏览后受到那些情绪的影响,那令我心境不平,这也是我想要避免外界信息的原因之一。

+

刚刚又想到了以前摘录过的一句话,比较恰题,便一起放在这里吧:

+
+

不要相信信息流 —— 任何以同一种格式,像水龙头一样源源不断吐出各种内容的软件。翻开杂志看一下,每一个瞬间,妳的目光同时接触到很多不同的内容,它们并列排布在妳眼前,妳要习惯在一个平面上移动视线,而不是让视线固定在屏幕上的某一点,等着水龙头里的水不停冲刷。

+

—— 不鳥萬如一

+
+

本月计划

任务目标

考研任务

    +
  • 数学:完成高等数学的学习,并学习高等数学与线性代数章节;
  • +
  • 英语:每日早读,背单词,看词书;
  • +
+

其他

    +
  • 学业:准备各科的期末考试;
  • +
  • 六级:认真准备六级考试,在考前多做卷子;
  • +
+
+

每周分配

为了能使本月的计划顺利推进,我认为应当在月初的时候,就将各周的事务有所分配,如此使各项计划能够合理的安排与完成,不至于到最后堆在一起(经典的计划灾难)。

+

学期第十五周(0530 —— 0605)

    +
  1. 复习考试科目;
  2. +
  3. 学习完线性代数的第一章;
  4. +
  5. 英语记背共计 450 词,词群 036 至 044,并每日早读;
  6. +
+

学期第十六周(0606 —— 0612)

    +
  1. 优先保证六级考试;
  2. +
  3. 学习完线性代数的第二章;
  4. +
  5. 英语记背共计 1200 词,词群 045 至 058,并每日早读;
  6. +
+

学期第十七周(0613 —— 0619)

    +
  1. 复习考试科目;
  2. +
  3. 学习完线性代数的第三章;
  4. +
  5. 英语记背共计 1200 词,词群 059 至 073,并每日早读;
  6. +
+

学期第十八周(0620 —— 0626)

    +
  1. 复习考试科目;
  2. +
  3. 学习完线性代数的第四章;
  4. +
  5. 英语记背共计 1200 词,并每日早读;词群暂不作规定,视前面几周的完成结果而定;
  6. +
+

学期第十九周(0627 —— 0703)

    +
  1. 复习考试科目;
  2. +
  3. 学习完线性代数的第五、六章,与完成高数第十四章;
  4. +
  5. 英语记背共计 1200 词,并每日早读;词群暂不作规定,视前面几周的完成结果而定;
  6. +
+

每日情况简记

+ +
+

这里会记述我每日计划及完成情况

+
+
+ +

学期第十五周

现在是第十五周的周末了,在下一周的周末我会有一场极为重要的英语六级考试,我想凭这最后一次机会,将自己的六级成绩尽可能的提高。之前的时间里也一直有在背单词,断断续续地也做过一些卷子,只能说有好有坏吧。现在我还有一周的时间,希望能认真准备,毕其功于一役!

+

考研倒计时:199 天

+
+

06-04,周六

一直以来,舍友们都睡得很晚,我也有些敏感,躺下后有一点风吹草动,我都会被拉回现实。我也尝试过好些方法,可惜效果都不太理想,所以就无奈只能在他们睡下以后才能入睡。跟朋友说起这件事后,他说使用眼罩与耳塞会好一些,今天快递终于到了,晚上就试试怎么样吧。

+

今日的安排为学习线性代数第一章中的前半章节,并且做与订正相当部分的英语卷题。至于英语单词相关的部分,那已经是每日默认的事务了,所以以后除非有特殊情况,我都不会在安排中说了。

+

晚上再运动一下,跑一跑步,这就是完美的一天。不过,由于这些天我们学校在举办大运会,所以操场用不了,只能围着湖边跑了,完美一天中的一点遗憾。

+

今日完成的事务:

+
    +
  1. 英语:约 230 个单词,与词群 038 至 041;
  2. +
  3. 数学:约 35 分钟的视频课程;
  4. +
  5. 英语:订正上次的听力练习,并抄录生词;
  6. +
  7. 跑步;
  8. +
+

学习时间:3h 17min

+

今天下午开始学习,主要也是下午在学习,晚上基本上是没有做什么的 / 因为要为我们的课设善后,就得花时间为作品录像与写报告,不过这些杂务很快就全部都结束了,未来就很少再有这些事了。

+

希望我们在明天能有更好的表现,共勉吧!

+

最后,🕯️🕯️🕯️。

+
+

06-05,周日

今天早上睡得太死了,没听到闹钟,一觉睡到了十二点过,明明昨晚睡得还算早的…… 今晚再睡得早一些吧。洗漱吃完饭后被队友叫去给课设善后了,下午基本上全交代在这里了。

+

晚上就多做做英语吧。

+

今日完成的事务:

+
    +
  1. 英语:约 230 个单词,与词群 042 至 045;
  2. +
  3. 英语:六级试卷 2019-12-A 的两篇阅读,并抄录生词;
  4. +
+

学习时间:3h 13min

+

晚上做了这张卷子的两篇阅读题,速度大概是没问题吧,但正确率还是不够,希望后面几天能好一些吧。明天我打算做完这张卷子,并做一半的下一张卷子,争取能尽快地做好应试准备。

+
+

本周总结

这周末学习时间不足,每天只有三个小时,下周基本上已经没课了,我想每天的学习时间能达到八个小时以上吧。

+

没什么可以说的,这周就这样吧。

+
+

学期第十六周

现在一切的复习重点都在英语上面,至少在英语这一块,上一周两天的学习还算是差强人意。上周与这周的两章数学,我认为都放在六级考完以后再论,现在全力刷卷子,找回英语的手感,才是重中之重。

+

看起来我们看词书的速度要快于预期,所以我打算对月初制定的计划做一些调整,将每周的词群数目增多,由每天两节增添至每周三节。

+

我计划在本周做近几年的六级试卷,大概安排是从现在开始一直到周五,每天做一张卷子吧,周一与周二可以将卷子拆开做,而后面三天就得定时做卷子了。

+

大概就是这样了,如果有纰漏,后面再另作调整。

+

考研倒计时:197 天

+
+

06-06,周一

今天照计划的时间起来了,有了眼罩与耳塞,果然没有受到舍友多少影响入睡了。依据昨晚的计划,今天做完 A 卷剩下的部分,再至少得做完 2019-12-B 卷的听力与阅读,如果时间足够,做完 B 卷自然是再好不过了。不过考虑到订正 —— 特别是抄录生词需要相当长的时间,还是能做多少做多少吧。

+

今日完成的事务:

+
    +
  1. 英语:早读,约 230 个单词,与词群 046 至 047;
  2. +
  3. 英语:六级试卷 2019-12-A 的听力订正、完形填空,并抄录生词;
  4. +
  5. 英语:六级试卷 2019-12-B 的两篇阅读,订正并抄录生词;
  6. +
+

学习时间:5h 57min

+

上午订正听力,感觉渐渐地找回以前的题感了,下午做 B 卷的听力试试。完形填空由于单词掌握得不够熟练,还是错了好些,这几天抄录的单词比我之前半个月加起来都多……

+

晚上有些犯懒,和同学摸了一会儿鱼,听力和段落匹配就没能做,明天早点起来做吧。

+
+

06-07,周二

还说今天早点起来做呢…… 做完和朋友在实验室吹水,一下子就到了两点半,上午基本上全补觉了,什么都没有做。于是中午吃完饭后赶快到教室学习,今天的计划是先将昨天剩下的题做完,即 A 卷的段落匹配与 B 卷的听力部分;然后再将 B 卷其他剩下的部分,如完形填空、段落匹配与翻译做完,然后晚上再做一些 C 卷的相关题型,等到那个时候再看吧。

+

今日完成的事务:

+
    +
  1. 英语:约 160 个单词,与词群 048 至 050;
  2. +
  3. 英语:六级试卷 2019-12-A 的听力部分与段落匹配,订正并抄录生词;
  4. +
+

学习时间:5h 03min

+

到现在差不多快要八点了,我才做完了昨天的功课与订正。其实做题的时间并不长,这些时间里我主要是在订正、抄录与记背单词。但这样下去我就做不了太多的题了,所以我决定考前的这几天先暂不抄录遇到的生词,查明释义后标注在试卷上即可,无需再抄录到摘抄本上,希望在剩下的时间里我能多做几张卷子。

+

现在大概是十点半,实验室有些吵,就不做卷子了,明天早些起来早读吧。

+
+

06-08,周三

早上比闹钟定的时间晚了一会儿起床,出宿舍的时候已经是九点过了,虽有不足,多少还是早点起来了……

+

今天的计划是把之前的两张卷子全都做完,并且将它们也订正完。然后下午就像考试那样,定时做一套卷子,晚上在对卷子进行订正,行有余力可再做些题练手。

+

大概就是这样。

+

今日完成的事务:

+
    +
  1. 英语:约 250 个单词,与词群 051 至 052;
  2. +
  3. 英语:六级试卷 2019-12-B 的完形填空与段落匹配并订正;
  4. +
  5. 英语:六级试卷 2020-12-A 定时做卷子;
  6. +
+

学习时间:4h 51min

+

上午一切都像计划的那样,早读、做卷子与订正,将 B 卷剩下的两道题也给做完了,只用了一个半小时左右,相比于昨天做题的平均时长,已经少了很多。后面这几天也继续这样,摘录生词的事情就放在考完以后再继续吧。

+

考前的这几天,我计划就像今天这样:上午做散题与订正,下午定时做模拟考试,晚上订正与练习。

+

现在距离我模拟的时间约莫还有十分钟,我把考试的时间安排贴出来吧:

+
+

CET6考试时间:15:00 —— 17:25

+
    +
  • 14:00 —— 15:00:听力试音(此时调整收音机频道)
  • +
  • 15:00 —— 15:10:发放试卷,贴条形码
  • +
  • 15:10 —— 15:40:作文
  • +
  • 15:40 —— 16:10:听力
  • +
  • 16:10 —— 16:15:考试暂停 5 分钟,收答题卡 1(作文与听力)
  • +
  • 16:15 —— 17:25:阅读与翻译
  • +
+
+

刚刚做完了 2020-12-A 的卷子,我在时间分配上还是有些问题,导致我最后做的完形填空一塌糊涂,只蒙了对了两个…… 完事以后马上算了下分,大概有 450 左右,这次复健的分数还是太低了,我目标是想要考到 550 的。时间不早了,等我吃个饭再来分析卷子吧。

+

完蛋,忘了晚上还有最后一次课,错过了第一节课,好在赶上了老师讲期末考试的复习课,等到六级考完以后就可以开始着手复习了。

+
+

学期第十七周

之前这些天随着六级考试的结束,便一起过去了,接下来规划一下这两周多的期末时间吧:

+

由于剩下的课程大多都是专业选修课了,不需要将全部的精力都投入到复习中了。所以,我认为上午复习即可,下午与晚上完全可以安排复习考研内容。

+

这个月过去两周的计划,在考研复习方面执行得不好,考研的内容基本上一点都没有看。从现在起,我认为应该重点开始考研的相关学习。在这里对前面的「每周计划」作一些调整以适应新的情况,本周的考研任务是线性代数第一、二章的学习,并对英语部分作相应的调整。

+

将本周的主要任务具体到每一天,我计划周一学习第一章,周二完成第一章的学习并开始做课后练习,周三完成练习并订正,第二章在周四至周六的安排亦同。英语方面,还是每日继续进行相应的学习即可。至于政治与专业课,就等到考完以后,七月份再开始学习吧。

+

相信这样一来,周计划能够得到更好的执行。

+
+

06-13,周一

今天的计划,主要是学习第一章与复习学业课程。上午复习,下午学习,晚上再视情况而定吧。

+

今日完成的事务:

+
    +
  1. 英语:早读,约 85 个单词,与词群 053 至 055;
  2. +
  3. 数学:线性代数第一章视频约 51 分钟;
  4. +
+

学习时间:2h 03min

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2022/07/14/project-in-summer/index.html b/2022/07/14/project-in-summer/index.html new file mode 100644 index 000000000..58e562416 --- /dev/null +++ b/2022/07/14/project-in-summer/index.html @@ -0,0 +1,737 @@ +暑假之计划与简记 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + +

暑假之计划与简记

cover + +
+

Space: the final frontier. These are the voyages of the starship Enterprise. Its continuing mission: to explore strange new worlds, to seek out new life and new civilizations, to boldly go where no one has gone before.

+

—— Star Trek

+
+ + +

写在最初

+

这次暑假我没有把上传 Blog 的电脑带回家,所以就将这些「计划与简记」待后面返校以后一起发布吧。

+
+

好吧,是时候重新开始了。之前两个月因为各种压力,我的作息比较混乱,在这里就摆了。现在终于把它们都结束了,期末考试也考完了,想了想,还是应该重新开始做计划。

+

本来我暑假是打算留在学校备考的,结果家里有一点事情,还是收拾东西回家了。本来还担心在家里学习状态会没那么好的,事实也确实如此。但意外的是,回家之后作息逐渐变得规律且正常了,现在精神好了,感觉学习的效率更高了。

+

在家里没有状态,所以还是像以往一样,去市里的图书馆自习。每天乘公交往返大概需要一个半小时吧,算上走路的时间,估摸着有两个小时,不过这些时间也并非白白浪费掉了,我可以利用这些碎片时间背背单词,这样就毋需特地安排时间来背了。

+

由于现在才刚刚重新开始,没有多少可以写的话了,下面就写写各科的复习计划吧:

+

「每日十个小时计划!」

由于看了这位同学的考研计划,我深刻认识到了自己的不足,决心向他学习,效仿他每天学习十个小时的精神,便在这里拟定了此「十小时计划」。

+

他每天凌晨两点睡觉,十点左右起床,我觉得这样的作息不太健康,而且早上去图书馆 —— 不论是市图书馆还是学校的图书馆 —— 只要晚了一点点,几乎就不会有位置了。我计划早上七点半起床、晚上凌晨睡觉,还有一个很重要的原因,是因为这样能让自己习惯于在考试的时间段集中精力,就像我们在高中时做的那样。

+

现在的情况是,我七点半左右起床,到图书馆的时候大多是九点二十了,而我出发的时间是八点四十到八点五十。我感觉早上我还是太摸了,如果能快一点、在八点一十左右出门就好了,这样我到的时候就刚好赶得上图书馆开门。

+

然后上午三个半小时,下午三个半小时,再加上晚上的三个小时,这样一天就能有十个小时的学习时间了。不过感觉这样有些太极限了,毕竟途中不可能一直坐在座位上一动不动,总得起来休息接水,那岂不是就没有足够的小时数了…… 不过也没关系,只要每天都可以付出足够的努力,就算时间差一点,事情能做完也是一样的。

+

下面就写写经过最初这几天的学习后,我对各科的复习计划吧。

+

数学

数学与专业课都是考研的重中之重,一般而言,这两科的得分会决定考研的最终成绩。

+

我计划这个月将数学的线性代数的六章都学完 —— 我知道现在已经比其他人要慢了,所以我想加把劲赶上进度…… 每天大概投入五个小时在数学上,这样一来,应该是足够了。然后在八月中旬以前将概率论部分也学完,彻底将数学的第一遍过完,后面的时间就开始做数学的第二部分的刷题了。只要每天能保证相当时间的投入,相信我们很快就可以追上进度。

+

专业课

我们专业考核的专业课是奥本海姆的《信号与系统》,我计划以教材与课后习题为主进行学习。我现在目前有的资料有:

+
    +
  • 信号与系统第二版(Signals and Systems, Second Edition)
  • +
  • 奥本海姆在 MIT 录制的教学视频
  • +
  • 本专业老师的网课授课视频
    (向师兄讨要的之前网课时期老师发的线上视频)
  • +
  • 华中科技大学出版社的《信号与系统学习与考研指导》
    (主要是为了订正作者没有给出答案的习题,并帮助知识点的理解)
  • +
+

目前每天大概规划三个小时在专业课上,主要精力放在理解课本与老师的授课视频上面,这个月就先看完前两章吧。

+

政治

目前政治的学习已经开了个小头了,与学长学姐交流过后,感觉基本上就是看书、听课、做题、订正,没什么复杂的。现阶段主要是过知识点和选择题,不需要花太多的时间以至于耽误了主要的数学与专业课,所以每天大概一个小时就足够了。

+

英语

一门语言主要也是靠积累,我已经背了相当长一段时间的单词了,接下来的时间也需要一直背下去。现在每天大概是背 200 个单词左右吧,现阶段就先不急着做题了,要做题也等着下个月再说吧,所以就安排一个小时,用碎片化的时间去记背单词就足够了。

+

暑假计划

备考第三到五周的计划

暑假现在还剩下大概有三周多一点,为了能够更好的利用时间,明晰学习进度,所以我想要特别对这段时间作一计划,以期能取得令人满意的结果。

+

目前数学的第一轮还剩下线代的第四五六章,与概率论的六章,一共是九个章节,要是还按照以前的进度三天一章,恐怕在时间上来不及了。所以我想要在这段时间将精力尽可能多地放在数学上面,在返校前结束第一轮。但这还不够,在返校前还必须得开始第二轮的一部分,所以更得加快进度了。并且,其他三个科目 —— 特别是专业课 —— 也不能落下,要是每天都学习没有一个连贯性的目标,那该是多么混乱啊。

+

基于此,我作出如下的三周安排:

+

第三周

    +
  • 数学:线代第二、三章善后;
  • +
  • 数学:线代第四、五、六章全部;
  • +
  • 专业课:第二章全部;
  • +
  • 政治:基础导学中的材料;
  • +
  • 政治:马原第一章;
  • +
  • 政治:马原第一章的课后习题;
  • +
  • 英语:2001 年试题练手;
  • +
  • 英语:记背约 1500 个单词;
  • +
  • 英语:词群书 092 至 120;
  • +
  • 综合:评估本周的任务量,并改善后面两周的计划;
  • +
+

第四周

    +
  • 数学:概率第一、二、三章全部;
  • +
  • 专业课:第三章全部;
  • +
  • 政治:马原第二、三、四章与总结课;
  • +
  • 政治:马原上述相关章节第课后习题;
  • +
  • 英语:2002 年试题练手;
  • +
  • 英语:记背约 1500 个单词;
  • +
  • 英语:词群书 121 至 150;
  • +
+

第五周

    +
  • 数学:概率第四、五、六章全部;
    (注:高数还剩下几章)
  • +
  • 专业课:第四章全部;
  • +
  • 政治:
  • +
  • 英语:
  • +
  • 综合:制定九月返校后的相关计划;
  • +
+

每日情况简记

+ +
+

这里会记述我每日计划及完成情况

+
+
+ +

每日作息记录

我认为一个规律的生活是非常重要的,但我总是改不了熬夜的习惯,所以我想在这里记录一番,全当做提醒自己了。

+

按时作息

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
周数\星期周一周二周三周四周五周六周日
第零周\|\\|\\|\✅|✅❌|✅✅|✅✅|✅
第一周❌|❌✅|❌✅|✅✅|❌✅|❌✅|❌✅|❌
第二周\|\\|\\|\\|\\|\✅|❌✅|❌
第三周✳️|❌✅|❌❌|✳️✅|✳️✅|✳️✳️|❌✳️|❌
第四周❌|✳️✅|❌
+

备考第零周(0715 —— 0717)

本周是开始正式备考的第一周,不过由于本周已过去大半,所以就算作我们考研路上一个新的「契子」,叫做第零周吧。本周计划对后面的时间做出新的安排,并且开始摸索各科的学习方式,为后面的学习做好铺垫,让我们开始吧。

+
+

07-15,周五

12:36:今天是正式备考的第一天,我计划将专业课课本的第一章读完,共 36 页,并看老师 3 个学时的视频;在数学方面,今天应当重新看线性代数的第一章,以期能复习及巩固相关的内容,为接下来的学习扫清障碍;而英语单词的背诵一直都没有断过,做题方面稍后再安排;政治的书籍已经到了,等到网课下载好就可以开始复习了。

+

14:32:专业课课本的第一章好像有点多,今天可能看不完……

+

16:58:下午将专业课第一章的前两个课时看完了,感觉还是有点慢,听老师讲课还算好,主要是看书花费多时间太长了。今晚就多看几页书预习一下吧,明天就可以直接看课程了。

+

22:06:晚上有些其他的事情,计划被耽误掉了,明天加把劲吧。

+

今日完成的事务:

+
    +
  1. 英语:约 105 个单词;
  2. +
  3. 专业课:教材第一章约 14 页至 P14,与约 69 分钟的视频课程;
  4. +
+

学习时间:4h 01min

+
+

07-16,周六

09:41:图书馆官网上显示是九点开门的,但我九点二十到的时候,里面已经座无虚席了,花了好一番力气才在一个偏僻的角落,找到一个不算那么好的位置…… 不知道是因为周末的缘故,还是因为其他的原因,看来后面真的得赶在开馆的时候就到这里了。

+

今天是正式备考的第二天,距离考研大概还有 161 天。今天的计划是将昨日未能完成的、线代第一章重点地方再听一遍,并将第一讲的练习册及课后习题通通做完,为后面的数学学习开一个好头;专业课方面,再看两个课时的书和相关的视频课程吧;英语依旧继续背单词即可,政治留在晚上回家后再看。

+

大概就是这个样子,今天也加油吧!

+

15:02:本来中午是想要小憩一下,结果一下子睡到了 14:40…… 洗了个脸,站起来舒展一下,背了会儿单词,开始我们下午的学习。上午将线代第一讲的课学习完了,没能够做题。下午先不管数学题,学习专业课为上吧。

+

17:29:下午的两个半小时,效率还是一般,可能是因为坐在角落,没有空调太热了的缘故吧。图书馆的这个区域马上关闭了,正好现在收拾东西回家吃饭了。

+

22:15:晚上还是没有学习多久,多半是因为最近这段时间我晚上都没怎么干活了,整个人在晚上的状态就懈怠了吧。最后感觉不太好,还是爬起来摸了点政治,算是求了个心安(

+

今天主要的学习时间大概是上午近十点开始到十二点半,下午近三点开始到五点半,这距离我们的「每日十小时计划」差距可不是一星半点啊。今晚早些睡觉,明天一早就去图书馆守着他开门,一定要先找到一个有空调的地方。为什么我要强调这个呢?因为今年夏天的极端高温天气可太吓人了……

+

从下面的各科分配时间可以看出来,花在数学与专业课的时间还是太少了,明天得多努力一些!

+

今日完成的事务:

+
    +
  1. 数学:线代第一章约 52 分钟的视频课程,第一章完成;
  2. +
  3. 专业课:教材第一章约 5 页至 P19,与约 55 分钟的视频课程;
  4. +
  5. 政治:第一部分马原约 28 分钟的视频课程;
  6. +
  7. 英语:约 190 个单词,与词群 056 至 060;
  8. +
+

学习时间:5h 45min
M:1h 50min,S:1h 45min,P:0min,E:1h 37min;

+

air_conditioner想起最近看到的一张雕图,顺便贴上来膜拜一下

+
+

07-17,周日

09:32:今天是正式备考的第三天,距离考研大概还有 160 天。

+

昨天提到我们投入在数学与专业课上的时间较少,得多加投入。所以我在考虑,介于晚上也能有约莫三个小时的大段时间,都用来看英语和政治或许有点太过浪费了,我认为那个时候可以用来做白天未能完成的习题,这样或许比较合适。

+

今天的图书馆还是座无虚席,甚至由于有几个区域没有开放,爆满的程度比昨日更甚。好在今天运气比较好,找了个不错的位置 —— 虽然旁边的墙上就有中央空调的风口,但我戴着降噪耳机,学习还算是过得去。我从家里到这里大概需要半个多小时,九点钟开门的话,我八点二十就得从家里出发,考虑到我糟糕的效率,七点四十起床可能还是晚了点……

+

算了,这些就不现在说了。今天的计划是上午完成数学线代第一章的习题册,并订正完,再听一定时间第二章的课程;下午依旧看专业课的教材,今天我想试试再读二十多页,把第一章的部分看完,然后有时间的话,再看一两个课时的视频;晚上就做些数学题或者看会儿专业课的书,最后再看看政治收尾吧。

+

12:48:上午的学习效率还算是不错,可我忘记下载习题册讲解的视频了,虽然我基本上都没有什么大的问题,但还是有一道题我想听听老师会怎么讲,就安排在晚上回去下载下来看吧。中午看会儿英语,小休息一番,下午就开始看专业课吧。

+

今日完成的事务:

+
    +
  1. 数学:线代第一章的习题册;
  2. +
  3. 数学:线代第二章约 6 分钟的视频课程;
  4. +
  5. 专业课:教材第一章约 17 页至 P36,与约 55 分钟的视频课程;
  6. +
  7. 英语:约 205 个单词,与词群 061 至 063;
  8. +
+

学习时间:4h 51min
M:1h 29min,S:2h 27min,P:0min,E:0h 55min;

+
+

本周总结

开始学习的时候,这周就只剩三天了,不过我们可没浪费掉它们,通过这段时间,我重新找回了复习的感觉,根据学习的情况制定了新的计划与预期,同时新加入了专业课与政治这两科的复习。

+

虽然仍旧有一些不足,但好的开始是成功的一半,我们共勉吧。

+
+

备考第一周(0718 —— 0724)


+

07-18,周一

图书馆闭馆,就休息了一天,但其实不应该休息的,应该去另一个图书馆……

+
+

07-19,周二

今日完成的事务:

+
    +
  1. 数学:订正线代第一章的习题册,约 68 分钟的视频课程;
  2. +
  3. 数学:线代第二章约 81 分钟的视频课程;
  4. +
  5. 专业课:第一章约 65 分钟的视频课程;
  6. +
  7. 英语:约 220 个单词,与词群 064 至 065;
  8. +
+

学习时间:4h 34min
M:2h 54min,S:1h 41min,P:0min,E:0h 59min;

+
+

07-20,周三

09:28:今天是备考的第六天,距离考研大概还有 157 天。

+

这些天晚上回去以后都没有学习,相当于都浪费掉了晚上近两三个小时的时间。我感觉还是不能再这样下去了,否则我们的进度根本无望赶上,所以就从今天开始吧,晚上看看政治,做做数学题什么的。最近到图书馆早了一些,终于能比较容易地找到位置了,可晚上熬夜的习惯还是没改过来,正好与晚上的学习一起改变吧。

+

今天的计划定高一点,因为我们的数学要提速了,所以就把第二章的后半章学完,晚上把第一章的课后习题给做完并订正完;专业课学习三个学时,也是将第一章给结束掉,至于相关的习题,或可等我在网上买的指导书到了以后再开始;政治的话,就在晚上看约莫一个小时的视频吧,英语依旧背单词就好了。

+

希望今天能有所改观。

+

今日完成的事务:

+
    +
  1. 数学:线代第二章约 76 分钟的视频课程;
  2. +
  3. 数学:线代第一章的课后习题,并订正完毕;
  4. +
  5. 专业课:第一章约 69 分钟的视频课程,完成了第一章的课时;
  6. +
  7. 政治:马原第一章约 21 分钟的视频课程,与课后习题;
  8. +
  9. 英语:约 210 个单词,与词群 066 至 069;
  10. +
+

学习时间:6h 03min
M:2h 44min,S:1h 28min,P:0min,E:1h 17min;

+
+

07-21,周四

09:58:今天是备考的第七天,距离考研大概还有 156 天。

+

赣,昨天晚上有点失眠,入睡晚了些,今早也起晚了些,没想到到市图书馆的时候已经没位置了,刚刚才从哪里搭轨道交通到区图书馆。之前不愿意到区图书馆,主要是因为它太小了,而且旁边就是工地,一整天基本上都是哐当哐当的,不过我现在有降噪耳机了,所以应该不会有太大的影响了吧。

+

昨天的学习时间计时,自上周开始备考以后首次超过六小时,这证明我们的计划还是有效的,要不是晚上做家务花掉了不少时间,我们肯定还能取得更好的结果的。昨天的计划都完成得不错,但数学依旧没能够完成第二章,不能再拖下去了,今天目标在数学上面投入三个小时,专业课上投入两个小时。

+

今天的计划是数学的第二章余下部分,与第二章的习题册和课后习题,也都要订正完;专业课的指导书正好在昨天到了,所以今天开始做专业课第一章的部分课后习题,主要是当时老师钩出的部分,然后再看一部分第二章的教材;英语与政治如常。

+

11:09:这里的空调比不上市图,虽然人少,但也比较热……

+

14:09:原来到了下午,这里也会坐满了人。

+

16:16:刚刚将数学线代的第二章学完了,但老师把第二章的部分内容放到第三章讲了,现在暂时还没办法做后面的作业与习题,所以今天的计划就先改为听部分第三章的课程就好。

+

今日完成的事务:

+
    +
  1. 数学:线代第二章约 118 分钟的视频课程,第二章完成;
  2. +
  3. 数学:线代第三章约 4 分钟的视频课程;
  4. +
  5. 专业课:第一章的老师补充课时约 9 分钟;
  6. +
  7. 专业课:第一章的作业几题;
  8. +
  9. 政治:马原第二章约 18 分钟的视频课程;
  10. +
  11. 英语:约 255 个单词,与词群 070 至 074;
  12. +
+

学习时间:5h 47min
M:3h 26min,S:0h 38min,P:0min,E:1h 22min;

+
+

07-22,周五

09:25:今天是备考的第八天,距离考研大概还有 155 天。

+

今天虽然提早出门了,但去地铁站的路上遇到了堵车,所以并没有比平时早多少……

+

昨天的计划完成得有好有坏:好,在于投入到数学上的时间与精力终于能逐渐证明我们在慢慢地追上进度;坏,在于专业课学习投入的缺乏 —— 因为总的学习时间没有提升,所以数学投入越多时间,专业课就只剩更少的时间了,拆东墙补西墙罢了。

+

今天我计划提高效率,并且积累更多的时间用于学习,目标学习时间是六个半小时:

+
    +
  • 数学依旧投入三个小时,听完线代第三章一大半的课程;
  • +
  • 专业课投入一个小时四十五分钟,这次是实打实的足额时间,看第二章的教材与做并订正第一章的习题;
  • +
  • 政治投入四十五分钟,用于马原第二章的学习;
  • +
  • 英语还是照常利用碎片的时间背单词,大约会投入一个小时。
  • +
+

今天大概就是这样。

+

10:27:昨天晚上心情不佳,所以就有些报复性熬夜,结果最终还是坑了今天的我…… 现在权当作课间,休息十分钟吧。

+

15:25:我还是太高估自己了,数学线代的第三章恐怕得每天才能看完了。

+

17:28:信号与系统的课后习题我做不下去了:最后这几道判断系统各种特性的题并不难,但真的是太繁琐了,我做着感觉像是在坐牢……

+

22:21:政治今晚看了一点点,发现另外的老师好像更好,我打算换个老师试试,但资料需要一些时间准备,所以今晚就不看政治了,改看其他的。

+

23:02:刚刚把信号与系统第一章的作业几乎全部做完了,留了一道题每天想,和一道题每天订正。如果明天进度快的话,可以不耽误第二章的学习。

+

今天可以说圆满地完成了计划!留一张图纪念一下(

+

happy完美地表现了我完成计划的快乐与进度落后的焦虑

+

今日完成的事务:

+
    +
  1. 数学:线代第三章约 98 分钟的课程视频;
  2. +
  3. 专业课:第一章的大部分作业,并订正;
  4. +
  5. 政治:看了一点;
  6. +
  7. 英语:约 290 个单词,与词群 075 至 078;
  8. +
+

学习时间:6h 32min
M:2h 57min,S:1h 56min,P:8min,E:1h 30min;

+
+

07-23,周六

09:40:今天是备考的第九天,距离考研大概还有 154 天。

+

今天起晚了一点,所以就直接来区图书馆了。

+

昨天的计划完成得相当的好,可以说这是我们备考以来的第一次如此圆满地将计划完成。虽然我今天依旧想要如同昨天一样,达到六个半小时的学习时间,不过晚上家里人要一起出去吃饭,所以不仅晚上可能学习不了,我下午还得早点回去。

+

但这与上午的我也没什么关系,该学的依旧学就是。今天白天还是要尽可能多地投入到学习中,考虑到上文提到的情况,今天目标学习时间就定为五个半小时吧,计划如下:

+
    +
  • 数学投入两个半小时至少,将线代第三章的课程听完,并做完第二章的习题册,有时间的话,尽可能地也订正完;
  • +
  • 专业课投入一个半小时,先将昨天第一章作业留下的一个尾巴解决掉,然后看完教材的 2.2 节,并听相应部分的课程视频;
  • +
  • 政治投入半个小时,转而看腿姐的课程视频;
  • +
  • 英语还是利用碎片化的时间背单词,大约会有一个小时。
  • +
+

今天大概就是这样。

+

今日完成的事务:

+
    +
  1. 数学:线代第三章约 53 分钟的课程视频;
  2. +
  3. 英语:约 200 个单词,与词群 079 至 080;
  4. +
+

学习时间:2h 00min
M:1h 27min,S:0h 0min,P:0min,E:0h 33min;

+
+

07-24,周日

09:23:今天是备考的第十天,距离考研大概还有 153 天。

+

昨天出了些意外,本来上午是学得好好的,不过中午吃饭的时候碰见了一个朋友,所以就吃了比较长的时间。下午想着反正也得早点回去和家里人吃饭,索性就和朋友出去了,所以昨天相比起前几天,可以说是根本没有怎么学。不过,好在昨天还是学了近一个半小时的数学,没有让进度被进一步拖累……

+

基于昨天的情况,那今天的学习目标时间便定为七个小时吧,就像之前如果有一天没背单词,后面的每一天就会加一些单词,使那些单词被重新补足:

+
    +
  • 数学计划投入三个小时,将线代第三章最后的半小时课程听完,并且做并订正完第二章的习题册与课后习题;
  • +
  • 专业课投入两个小时,仍旧是将第一章作业最后的尾巴解决掉,看完教材的 2.2、2.3 节,并学习相应的视频课程;
  • +
  • 政治投入一个小时,主要是看视频学习;
  • +
  • 英语还是照常利用碎片化的时间背单词,大约是一个小时左右。
  • +
+

今天大概就是这样。

+

17:44:由于张老师最后一节课赶进度,很短的时间里就讲了很多的知识点与例题,所以我需要一些计划之外的时间将笔记补全……

+

今日完成的事务:

+
    +
  1. 数学:线代第三章约 36 分钟的视频课程,第三章完成;
  2. +
  3. 数学:线代第二章的习题册;
  4. +
  5. 数学:补充了第二章、第三章的部分笔记;
  6. +
  7. 专业课:第一章的作业订正完毕;
  8. +
  9. 英语:约 260 个单词,与词群 081;
  10. +
+

学习时间:4h 33min
M:3h 01min,S:0h 18min,P:0min;E:1h 14min;

+
+

备考第二周(0806 —— 0807)

+ +
+

那之后的半个月,我去做了一些其他的事情,除了英语之外,又将考研学习放在一边了…… 现在重新回来复习,这次肯定是不会再断了。又少了两周的时间啊……

+
+
+ +
+

08-06,周六

09:16:讲个恐怖故事,今天我在图书馆还没有开门的时候就来了,到了门口一看,排着一条长长的队伍等着进馆。我背着单词等着开门,没想到等到我进去,里面的位置几乎已经全被占完了…… 很多人都是在桌上放下书、凳子上放着包,然后就消失了,多半是出去吃饭了,因为在我还没有进去的时候,就已经在出口看到有人出来了。

+

我还能说什么好呢?罢了。

+

今天是备考的第十一天,距离考研大概还有 140 天。

+

因为时间真的不够了,所以我们特别是在数学上,必须得百倍于曾经的速度。今天的目标学习时间是十个小时,计划如下:

+
    +
  • 数学投入五个半小时,将线代第三讲的笔记补完、完成第二讲的课后习题、完成第三讲的习题册与课后习题,并且听完第四讲的一半课程内容;
  • +
  • 专业课投入两个小时,看教材的第二章的 2.0 至 2.3 节,并且听部分课程;
  • +
  • 政治投入一个小时,用于新教材的马原学习;
  • +
  • 英语还是照常用零碎时间背单词,如有多余的时间,或可开始做题了。
  • +
+

今天就是这样。

+

12:09:上午将数学线代上一讲的笔记补完了,并听了一些第四讲的课程,然后做了一些第二讲的课后习题。现在遇到了些困难,就去吃个饭,回来再想吧。

+

14:21:好,下午将线代第二讲的课后习题、第三讲的习题册与课后习题做完,并听一部分的第四讲课程。

+

今日完成的事务:

+
    +
  1. 数学:线代第三章笔记补全;
  2. +
  3. 数学:线代第二章课后习题完成并订正;
  4. +
  5. 数学:线代第四章约 31 分钟的课程视频;
  6. +
  7. 英语:约 200 个单词,与词群 082 至 087;
  8. +
+

学习时间:5h 40min
M:4h 11min,S:0h 0min,P:0min,E:1h 29min;

+
+

08-07,周日

09:12:哦,现在我知道为什么我排着队进图书馆,里面还全是人了,因为图书馆的大厅里也会密密麻麻地排一大堆人,排不下了才会排到门外去…… 我大概估计了一下,仅是大厅内就有差不多两百号人,也难怪等我昨天进来以后基本上找不到位置了,还好今天来得早,能在大厅等着开馆,就不用被早上的太阳晒了。

+

grind不想卷却不得不卷但又卷不过的我

+

今天是备考的第十二天,距离考研大概还有 139 天。

+

看来像昨天还是高估自己了,以为晚上能有很多时间去学习 —— 事实上确实有很多的时间,如果不去看手游新活动的直播、不去跟好友聊天吹水就好了。像是昨天这样:上午和下午都在学习数学,把专业课和政治放在晚上学的模式,至少在数学方面是卓有成效的,使得数学上的进度大大加快了;但其他科目方面,还得过几天才能看出效果。

+

今天的计划九小时的学习时间,还是以数学为主,不过需要提升专业课与政治的时间占比:

+
    +
  • 数学投入五个小时,将线代第三章的习题册与课后习题全部做完并订正,然后将第四章剩余约两个小时的课程视频学完;
  • +
  • 专业课投入两个小时,看教材的第二章的 2.0 至 2.3 节,并且至少听 40 分钟的课程视频;
  • +
  • 政治投入一个小时,开始新教材的马原学习;
  • +
  • 英语投入一个小时,照旧背单词和看词书;
  • +
+

今天就是这样。

+

今日完成的事务:

+
    +
  1. 数学:线代第四章约 82 分钟的课程视频;
  2. +
  3. 专业课:教材第二章约 8 页至 P55,完成了 2.0 节;
  4. +
  5. 英语:约 250 个单词,与词群 088 至 091;
  6. +
+

今日总结

+

今天数学没能做题,第四章的视频也差半个小时左右看完;专业课教材还差一点看完 2.1 节,视频课程也没能够听;政治只是看了几眼书,把课程视频拷贝到电脑上,但没有学;只有英语完成得还算是不错……

+

学习时间:5h 23min
M:3h 26min,S:0h 40min,P:0min,E:1h 17min;

+
+

本周总结

又是一次半周的开始,这两天的表现还算是不错吧,至少在数学上的速度已经比之前快多了,现在的速度大概两天就可以看完一章。专业课和政治也重新做好了学习的准备,英语的试卷也快递到了,一切又有了可以重新开始的机会,希望这次是最后一次,不要再次错过了。

+
+

备考第三周(0808 —— 0814)

又迎来了久违的完整一周,这次可不能再将它浪费掉了。

+

现在为了能保证计划的连贯性,明晰目标并提高效率,我开始制定了周计划:先制定一周的任务,每日安排时就可以有所参照,不会再像以前那样随意了。

+

按照在文前制定的计划,本周的计划如下:

+
+本周计划 + +
    +
  • 数学:线代第二章的习题册订正;
  • +
  • 数学:线代第三章的习题册并订正;
  • +
  • 数学:线代第三章的课后习题并订正;
  • +
  • 数学:线代第四章的视频课程;
  • +
  • 数学:线代第四章的习题册并订正;
  • +
  • 数学:线代第四章的课后习题并订正;
  • +
  • 数学:线代第五章的视频课程;
  • +
  • 数学:线代第五章的习题册并订正;
  • +
  • 数学:线代第五章的课后习题并订正;
  • +
  • 数学:线代第六章的视频课程;
  • +
  • 数学:线代第六章的习题册并订正;
  • +
  • 数学:线代第六章的课后习题并订正;
  • +
  • 专业课:第二章教材阅读;
  • +
  • 专业课:奥本海姆的章节相关视频课程;
  • +
  • 专业课:本校老师的第二章视频课程;
  • +
  • 政治:基础导学视频课程;
  • +
  • 政治:浏览周年大事件与两会资料;
  • +
  • 政治:马原第一章的视频课程;
  • +
  • 政治:马原第一章的课后习题;
  • +
  • 英语:完成考研英一 2001 年真题并订正、摘录生词;
  • +
  • 英语:记背约 1500 个单词;
  • +
  • 英语:词群书 092 至 120;
  • +
+
+ +

这周计划完成的任务大概就是上面这些。这是我第一次做每周的计划,实际上在之前月计划的效果不佳的时候,我就有想过要将各项任务下沉到周计划,但没想好要怎么做,就一直拖着。我现在的想法是「粗月细周」,每月末时从宏观上制定下月的目标,然后将它们细化到接下来的每一周,这样我们目标的完成才有阶段感。

+

希望一切顺利,这周要比上周更加努力吧。

+
+

08-08,周一

11:47:今天是备考的第十三天,距离考研大概还有 138 天。

+

周一上午市图书馆照常闭馆,不用去抢位置,所以我早上就睡到了八点过,比较悠哉悠哉地洗漱,在家吃过早饭,搭地铁到另一个区图书馆,结果到了被拦在门前,说是要 24 小时的核酸。我一下子被整不会了,本市从来都没有大规模爆发过疫情,连测核酸都没几次,现在在区图书馆门口的志愿者冷不丁地看我核酸,我只好与旁边的一位大叔面面相觑。而且昨天去市图的时候也只要绿码就可以了,哪里想得到来区图要核酸呀?

+

我后来只好到不远处的咖啡厅里,坐在这里敲下这些文字,一杯咖啡要三十多块钱,跟图书馆比起来,算是好大的一笔开销了。在门口扫场所码的时候,我问工作人员「这个区现在要求测核酸了吗」,她回答说「只有员工需要测吧,好像没有听说需要这里的居民测核酸」。

+

不过事已至此,敲两行字抱怨一下就得了,不如想想今天应该做些什么,让我们从刚刚新鲜制定的周计划中接任务吧(

+
    +
  • 今天计划投入七个小时的时间学习,这时间跟上周比起来又少了,看来我也越来越有自知之明了(
  • +
  • 数学计划用时三个半小时,将第二章善后,第三章习题册完成,并将第四章的课程结束;
  • +
  • 专业课计划用时一个小时,将 2.1 至 2.3 节看完,并看一节相关的视频课程;
  • +
  • 政治计划一个小时,看看基础导学的视频课程与相关资料;
  • +
  • 英语计划一个半小时,今天的重点在做 2001 年真题的部分习题练手,单词照常记背,不过程度可以低一点。
  • +
+

今天的安排就是这样。

+

13:06:上午听了前一节政治的基础导学视频课程,对考研政治也有了一个大概的认识,感觉政治 1.2 倍速比较合适,但我还是不习惯在数学和专业课的视频中开倍速。现在想要考 80+ 的话,难度还是蛮大的,政治不是很能提分,但会很拖分。其他人都是从三、四月份开始学习的,好在他们一周只有两三节课,我现在开始学,每天都学习一节课,进度方面应该是没问题的。

+

15:33:数学的习题课我觉得也可以开倍速,毕竟知识密度不像是正课那么大,要记的东西不多。

+

16:10:英语 2001 年的考研真题是一个完型、五篇阅读、一篇翻译和一个作文,没有听力,基本上都是熟悉的题型,今天做一篇阅读试试水吧。

+

今日完成的事务:

+
    +
  1. 数学:线代第二章习题册订正,约 96 分钟的视频课程;
  2. +
  3. 数学:线代第四章约 11 分钟的视频课程;
  4. +
  5. 专业课:教材第二章约 17 页至 P63,完成了 2.1 至 2.3 节;
  6. +
  7. 政治:基础导学约 73 分钟的视频课程;
  8. +
  9. 英语:2001 年真题阅读 Text 1 并订正、部分摘录生词;
  10. +
  11. 英语:约 255 个单词,与词群 092;
  12. +
+
今日总结

今天的状态相比之前几天又有所提高,很大一部分原因是因为我在外面学到了现在,晚上九点过;另一部分原因是因为在咖啡厅学习 —— 不是星巴克,那里的音乐歌单吵得要命。我感觉这里的环境蛮好的:人不算多 —— 至少不密集,音乐是舒缓的古典音乐(我有一个「要是能放白噪声或者不放该是多好」的幻想),并且这里的光线充足、桌子也不晃,在硬件设施上已经领先图书馆太多了,服务员的态度也非常好。要不是咖啡太贵了,每次看到我在桌上放了快一天的咖啡,我心里都在滴血的话,我还考虑每天都来这里学习呢。还有一点美中不足的是,这里没有接水的地方 —— 毕竟你也不能指望一个买软饮的店能提供免费的白开水,我只好提前在外面的便利店买了两瓶带进来。

+

赣,这总结写着写着就歪成对咖啡厅的评价了。

+

今日的任务完成度相当地不错,毕竟晚回家了三个小时,就相当于多出了三个小时额外的学习时间,我回家以后的学习效率是真的令人不抱有任何希望。要是今天也能学一整个上午的话,我单日的学习时间达到八个小时是肯定没有问题的,至于九、十小时,多努力一下,也不是没有希望。

+

但还是有好些任务没能完成:数学只剩半个多小时的视频课程,到晚上也只听了十分钟;专业课又没有看课程视频;政治和英语还算好,终于开始走上正轨了。但还是应该特别注意一下,数学永远应该是最重要的科目,今天数学学习的比重实在是太低了!

+

明天再继续努力吧。

+

学习时间:6h 29min
M:2h 04min,S:1h 06min,P:56min,E:2h 25min;

+
+

08-09,周二

10:12:今天是备考的第十四天,距离考研还有 137 天。

+

今天早上按照往日的时间出门,喜滋滋地又来到了咖啡厅,结果发现商场没开门…… 我忘记了一般商场都是十点钟才开门的,我一边吐槽「怎么会有商人都九点了还不开门做生意啊」,一遍「恨恨」地在门口的阴凉处背单词,所以我现在基本上已经把今天一大半的单词背完了……

+

看来是否在咖啡厅学习还有待商榷,但除了咖啡太贵之外,我非常喜欢这个地方。

+

让我们来看看今天的计划吧:

+

昨日余留的事务:

+
    +
  • 数学:线代第四章约 20 分钟的视频课程;
  • +
  • 数学:线代第三章的习题册完成并订正;
  • +
  • 专业课:第二章约 50 分钟奥本海姆的视频课程;
  • +
  • 英语:将昨日的 Text 1 阅读生词摘录完;
  • +
+

今日计划事务:

+
    +
  • 今天共计划七个半小时的学习时间:数学 3.5、专业课 1.5、政治 1、英语 1.5;

    +
  • +
  • 数学:线代第三章的课后习题完成并订正;

    +
  • +
  • 专业课:教材第 2.4 节和 2.6 节;

    +
  • +
  • 政治:看基础导学的第二个视频课程;

    +
  • +
  • 政治:看基础导学附上的周年大事件与两会资料;

    +
  • +
  • 英语:2001 年真题 Text 2 并订正、摘录生词;

    +
  • +
  • 英语:记背单词与看词汇书;

    +
  • +
+

今天的安排就是这样。

+

12:29:我还是想在这里学,因为这里太舒服了,我自己的状态也感觉很不错……

+

16:51:今天下午的人比昨天多得多,咖啡厅的每个位置基本上都稀稀落落地坐着人。这里的人群中,大概有一半的人是带着孩子的家长,到这里来辅导孩子的作业什么的 —— 基本上都是小孩子,所以这里就不像之前那么安静了,好在我有无敌的 XM4,降噪加上课程声音的播放,基本上对我是没有影响的;另一半就是像我这样的学生了,大部分都是高中生吧,想来是这旁边有好几个中学的缘故,当然像我这样准备考研的也有好几个。

+

17:03:刚刚去上了个厕所,回来以后一下子感觉好累。之前想到,我整个复习 — 做题 — 订正的流程花费了两个小时的时间,基本上就是整个下午了。因为我有做事情定时的习惯,其中复习大概是 20 分钟,14 道题的练习我最多也不过半个小时,剩下的一个多小时全花在听讲解的课程视频上了。确实,老师的讲解对我很有帮助,让我对知识点的理解更加地深入了,但一想到两个小时只完成了 14 道题,就感觉心态有那么点…… 五味杂陈吧。

+

17:09:刚来一个跟我岁数差不多的人在准备国考,我猜他可能是才下班吧。备考还不能脱产,这才是最折磨人的。

+

今日完成的事务:

+
    +
  1. 数学:线代第四章约 21 分钟的视频课程,第四章完成;
  2. +
  3. 数学:线代第三章的习题册完成并订正,约 91 分钟的习题课;
  4. +
  5. 数学:线代第三章的课后习题完成并订正;
  6. +
  7. 专业课:奥本海姆约 52 分钟的视频课程;
  8. +
  9. 专业课:教材第二章约 4 页至 P76,看至 2.4.1 节;
  10. +
  11. 政治:基础导学约 85 分钟的视频课程;
  12. +
  13. 政治:看完了周年大事件与两会资料;
  14. +
  15. 英语:摘录完昨日 Text 1 阅读的生词;
  16. +
  17. 英语:约 255 个单词,与词群 093 至 094;
  18. +
+
今日总结

今天计划任务的完成情况是相当不错的,基本上全部都完成了,未完成的计划里,专业课看书也大概看了一半,可惜没能够做掉英语。

+

这次采用了新的每日简记方式,感觉与之前的形式相比,效果还不错,后面也会继续采用这种方式。

+

另外,今天的学习时间达到了史无前例的七个半小时!完美地完成了计划!这说明了什么?一是我完全有能力完成这种程度的计划,我以后应该照着这种状态继续下去;二则计划还有提升的空间,还可以安排更多的事物来做(

+

大概就先写这么多了吧。

+

learning晚上临走时的情景

+

学习时间:7h 34min
M:4h 06min,S:1h 02min,P:1h 05min,E:1h 21min;

+
+

08-10,周三

今日与几个朋友见面,只有上午背了一些单词,中午、下午与晚上都未能学习,算作休息一天。

+

我想现在每半个月休息一天,所以下一次允许休息的时间至少也应该是 15 天以后了,也就是 8 月 26 号,那个时候应该是我返校的日子,所以在返校之前我们都不会有休息的计划了。

+
+

08-11,周四

10:55:今天是备考的第十五天,距离考研还有 135 天。

+

到现在才想起今天的计划好像还没写…… 因为今天起床比较晚,洗漱比较久,然后也在家里吃的早饭…… 之前我到咖啡厅到时候,商场都还没有开门,只好在门口背单词;结果今早到的时候,刚好赶上咖啡厅开门。

+

我觉得还是不能这样,还是应该动作搞快点,按照九点到图书馆的劲头,早点到这附近开始学习,就算只能背背英语和政治也好啊,多少也是在学习;而不是像今天这样,等我到了,半个上午都要没了。

+

唉。

+

昨日余留的事务:

+
    +
  • 专业课:教材第 2.4 节和 2.6 节;
  • +
  • 英语:2001 年真题 Text 2 并订正、摘录生词;
  • +
+

今日计划事务:

+
    +
  • 今天还是计划七个半小时的学习时间:数学 3.5、专业课 1.5、政治 1、英语 1.5;
    (其实今天比周二要晚一些,想要达成目标只有等到晚上回家之后再学一段时间,但愿我能坚持学习吧)
  • +
  • 数学:线代第四章的习题册并订正;
  • +
  • 数学:线代第五章约 60 分钟的视频课程;
  • +
  • 专业课:第二章本校老师约 65 分钟的视频课程;
  • +
  • 政治:学习马哲第一章约 55 分钟绪论的视频课程;
  • +
  • 英语:继续记背单词与看词汇书;
  • +
+

今天就是这样。

+

今日完成的事务:

+
    +
  1. 数学:线代第五章约 59 分钟的视频课程;
  2. +
  3. 数学:线代第四章的习题册;
  4. +
  5. 专业课:第二章本校老师约 63 分钟的视频课程;
  6. +
  7. 专业课:第二章教材约 5 页至 P86,看至 2.6 节,结束了第二章教材;
  8. +
  9. 英语:约 255 个单词,与词群 095 至 097;
  10. +
+
今日总结

本来想晚上回去看政治的,结果还是没有节制住自己,又去娱乐了,到最后也没学到政治。

+

今天本来就不够认真,学习的时间还不到六个小时,本来按照正常的学习,一天这么多的时间怎么也得有七个半或者八个小时。

+

明天再来吧……

+

学习时间:5h 56min
M:3h 04min,S:1h 42min,P:0min,E:1h 10min;

+
+

08-12,周五

10:42:今天是备考的第十六天,距离考研还有 134 天。

+

早上朋友也来一起学习了,在商场开门前遇到了,我也就没有背单词,一起聊了聊天,等着开门。买过咖啡后,又一起聊了聊各自的学习,到现在才开始制定一天的计划。在这里我还是想提一下,这段时间和各种朋友一起花了太多的时间了,还是应该适度,把握好分寸,要知道现在手上的考研与出国申请才是最为重要的。所以,在这后也应该注意一下了。

+

今日之计划,我以为不能因为过去有事务遗留就安排更少的任务,还是应当照常安排,不应该让过去犯下的错误与自己懒惰之结果,就这么轻易地被一笔勾销了,这样只会助长它们。

+

来看看今天的任务安排吧:

+

昨日余留的事务:

+
    +
  • 英语:2001 年真题 Text 2 并订正、摘录生词;
  • +
  • 数学:线代第四章的习题册并订正;
  • +
  • 政治:学习马哲第一章约 55 分钟绪论的视频课程;
  • +
+

今日计划事务:

+
    +
  • 数学:线代第五章约 90 分钟的视频课程;
  • +
  • 数学:线代第四章的课后习题并订正;
  • +
  • 专业课:奥本海姆约 55 分钟的视频课程;
  • +
  • 专业课:本校老师第二章约 60 分钟的视频课程;
  • +
  • 政治:马哲第二章第一节约 60 分钟的视频课程;
  • +
  • 英语:2001 年真题 Text 3 并订正、摘录生词;
  • +
  • 英语:继续记背单词与看词汇书;
  • +
+

今天就是这样,任务本来就安排得比较满,加之之前拖欠的事务,今天是肯定做不完的。但只要在做完今日事务的基础上,但凡能多做一点过去的残留,那都是有进步的。

+

15:17:这次线代第四章的习题课竟然有满打满算的两个小时,从来都没有遇到过,而且这章方程组也是后面知识点的基础,比较难,所以昨天做题与今天订正的时候就比较折磨人…… 两个小时的视频,开 1.2 倍速都还是太长了;老师在里面一边讲,一遍也在吐槽说这次可能要讲两个小时,全是大题,她也受不了,下一次一定要分成两次讲。

+

18:43:我感觉「今日计划事务」与「今日完成的事务」太重复了,因为新的「删除线」其实与后者起到了一样的作用,所以我在想不再保留后者或许更简洁一些。

+

20:20:我已经摘录了许多单词了,我觉得是时候恢复早读了,早上若是能通过这种方式复习一番单词,想必对它们的记忆会极有帮助的。

+

21:59:今天晚上回家以后一定要看政治!

+

00:16:终于看完政治了…… 看了下后面的,一般一节课的视频都是 60 分钟,我开着 1.2 倍速,不暂停时大概 50 分钟就能看完,但没想到还有习题要做,所以还得在周计划中更新政治事务

+

备注:

+
    +
  • 英语:约 195 个单词,与词群 098 至 099;
  • +
  • 专业课:本校老师第二章只看了约 25 分钟的视频课程;
  • +
+
今日总结

今天的状态还算是不错,在跟朋友聊了好一会儿的天后,还能有接近七个小时的学习时间,晚上的学习实在是功不可没。明天中午还会和另外一个同学吃饭,不知道为什么大伙儿都凑到这个时间来了…… 下午和晚上一定要努力学习一番。另外,周日中午也要和咖喱人一起和一些亲戚朋友吃饭,所以相当于周末两天都只剩下下午与晚上的时间了。

+

但愿明后天就算没有机会学习,也要能抓住零碎的时间背背单词、写写平日里没空写的东西吧。

+

学习时间:6h 57min
M:3h 06min,S:1h 25min,P:50min,E:1h 36min;

+
+

08-13,周六

今日总结

周六又是许久未联系的同学约着吃饭,所以也不太好推脱。虽然最后宾主尽欢,但我还是觉得这样的一天没能够如何学习,十分的失败。白天在外面不方便学习,因为晚了就没有适合的位置了,所以只是背了下单词,看了些民国文人的闲书;晚上回去学了一会儿,但也真就只学了一会儿的政治,后来精力不济,就摸掉了。

+

我还是不够用功啊。

+

备注:

+
    +
  • 政治:马哲第二章第一节约 45 分钟的课程视频;
  • +
  • 英语:约 70 个单词;
  • +
+

学习时间:0h 59min
M:0h 0min,S:0h 0min,P:44min,E:0h 15min;

+
+

08-14,周日

15:12:今天中午也要与咖喱人一起出去和亲戚吃饭,所以早上起来得比较晚,上午也在屋里摸了,快到中午的时候出门去餐厅。吃完后快要两点了,等我到沙坪坝都已经要三点了。这周这么多的饭局和摸鱼,让我闲得都有些不好意思了。以前总想着要是能天天过这种生活就好了,结果由于这些天的见朋友,身上的钱都快要用完了。要不是咖喱人接济了一下,半借半送地给了我一些钱,我现在连出门都没钱了。

+

唉,果然没钱的人可过不了这种生活啊,不继续努力真连钱都没有了。

+

今天是备考的第十七天,距离考研还有 132 天。

+

来安排一下今天剩下半天的计划吧,即使没有一个好的开头,也尽量争取有一个好的结束吧。

+
+

本周总结

在这周中,我在学习方面的进度有值得夸赞的,也有应该受到批评的。回家以后,由于我自身的控制力不足,所以很难再像学校中那样,一天都处于认真做事的状态,而这次计划的安排让这样的情况改善了许多。但这周也有难以令人满意的地方,其中最主要的原因是未能利用好时间:回家后的时间利用率低,和约饭的时间太多 —— 大概七天中占了三天。我学习比较讲究连贯性,要在计划脱轨后再执行计划对我来说还是比较难……

+

week-3-time本周的时间统计

+

来看看数据吧:根据 ATracker 的定时,本周用在学习上的时间有 28h 04min,平均到每天不过四个小时而已;而花在交际上的时间大概有 19h 13min,平均每天足有近三个小时。这些时间当然有投入到学习上的潜力,这样每天的学习时间就可以达到七个小时了。剩下的时间中,有 14h 40min 的时间在看流媒体、有近 14h 的时间花费在了路上。我认为前者在现在就应该尽量地投入到学习中;而后者等回到学校以后,将其绝大部分注入学习的时间中也不成问题,这样一来每日的学习时间达十个小时就指日可待了(

+

暂时就先这样为本周作结吧,希望下一周能有一个更好的安排。

+
+

备考第四周(0815 —— 0821)

又是新的一周,现在距离考研还有不到十八周的时间了。

+

「粗月细周」的计划,至少从上周有学习的这几天来看,还是蛮不错的,所以这周也会仿照上周的方式安排本周。

+
+上周余留 + +
    +
  • 数学:线代第五章的视频课程;
  • +
  • 数学:线代第五章的习题册并订正;
  • +
  • 数学:线代第五章的课后习题并订正;
  • +
  • 数学:线代第六章的视频课程;
  • +
  • 数学:线代第六章的习题册并订正;
  • +
  • 数学:线代第六章的课后习题并订正;
  • +
  • 专业课:奥本海姆的章节相关视频课程;
  • +
  • 专业课:本校老师的第二章视频课程;
  • +
  • 政治:马原第一章的课后习题;
  • +
  • 英语:完成考研英一 2001 年真题并订正、摘录生词;
  • +
  • 英语:词群书 092 至 120;
  • +
+
+ +

有个很糟糕的问题是,由于上周计划大量都未能完成,而根据现在的想法,后面的安排又不能因此改变,所以现在的事务一下子就太多了,非常的麻烦…… 所以我现在的打算是:本周将上周的事务全数完成,而本周的事务完成目标为三分之二,这样的话,能够在开学之前将进度赶回来。

+
+

08-15,周一

10:14:今天是备考的第十八天,距离研考还有 131 天。

+

我今天想要为这一周开个好头,所以准备大干一场,白天抓紧学习,晚上回去也尽量利用时间看看书。现在白天基本上已经不安排政治了,所以看晚上政治学了多少,就知道我晚上的学习情况了。

+

有个要好的朋友要考南理工,他今天去南京找教授,后面的时间估计也就准备在那边复习了。我还有半个月也会开学去广州复习,希望在那之前能将计划完成吧。

+

今天的任务安排是这样的:

+

余留的事务:

+
    +
  • 数学:线代第五章约 90 分钟的视频课程;
  • +
  • 专业课:本校老师第二章约 60 分钟的视频课程;
  • +
  • 政治:马哲第二章第一节约 60 分钟的视频课程;
  • +
  • 英语:2001 年真题 Text 3 并订正、摘录生词;
  • +
+

今日计划事务:

+
    +
  • 数学:线代第五章约 85 分钟的视频课程,完成第五章;
  • +
  • 专业课:奥本海姆约 45 分钟的视频课程;
  • +
  • 专业课:本校老师第二章约 50 分钟的视频课程;
  • +
  • 政治:马哲第一章的课后习题并订正;
  • +
  • 英语:2001 年真题 Text 4 并订正、摘录生词;
  • +
  • 英语:继续记背单词与看词汇书;
  • +
+

12:19:一定不要浪费学习的时间啊,每天在外面的开销大概都要 80 块钱,咖喱人愿意这么支持我,可不能将这些东西白白地浪费掉……

+

17:49:从不到两点半开始,听了一下午的课,终于把那之前遗留的一个半小时的数学课听完了,也搭上了我半条命和大量的数学热情;同时,一个下午三个半小时左右,只能够听完一个半小时的数学,又给我制造了许多焦虑…… 现在数学颇有点「尾大不掉」的感觉,进度太慢了,效率也太低了,再这样下去,只怕在返校之前都学不完…… 完蛋了。

+

17:57:刚刚出去走了一圈,已经是出气多进气少了(

+

不过就算是这样,我拼着今天的专业课、英语计划被耽误,也要再看一个半小时的课程视频,把数学线代第五章学完!数学的进度不能再被拖后了!

+

20:41:50 分钟的视频我从七点不到看到现在,剩下的课程今晚恐怕没时间看了…… 如果回去以后还有时间的话,要么看政治,要么看数学。不过我六点钟时说的「数学进度不能再拖后了」,结果现在还是没看完,不免有些令人尴尬。但也可以这样解释:我看完了这 90 分钟里的 51 分钟,占了大部分的时间,明天很容易就能看完,不会耽误进度的,所以不算拖后(

+

不管怎样,回去好好地利用时间看看政治吧。还记得一本洋人关于自控力的书 —— 也不知道算不算成功学 —— 其中有这么一句话:「计划中最重要应该是、也永远是行动,而非计划本身。」

+

继续努力吧。

+

my_note今天记下的部分笔记内容

+

备注:

+
    +
  • 数学:线代第五章约 51 分钟的视频课程;
  • +
  • 英语:约 190 个单词,与词群 100 至 103;
  • +
+
今日总结

因为老妈每天要出差,我走之前都见不到了,所以我和咖喱人就在沙发上聊天,她还给我买了两件新 T 恤,让我等寄到了马上试试大小。所以呢,晚上又又又没有看政治……

+

今天的六个半小时不到的学习时间,只能说是勉强及格,明天争取七个半小时吧。

+

学习时间:6h 23min
M:4h 34min,S:0h 50min,P:0min,E:0h 59min;

+
+

08-16,周二

10:04:今天是备考的第十九天,距离研考还有 130 天。

+

介于目前数学严峻的进度状况,今天还是尽可能的拉数学的计划,不过其他科目也争取不要落下。今日的目标是七个半小时的学习时间,其中数学四个小时,专业课一个半小时,政治一个小时,英语一个小时。

+

在安排计划方面,因为前几天那些事情的耽误,与为了避免事务列表的崩溃,我将耽误的任务都免去了,这次以一个新的列表开始。

+

今日计划事务:

+
    +
  • 数学:线代第五章约 34 分钟的视频课程,完成第五章;
  • +
  • 数学:线代第五章的习题册并订正,与约 110 分钟的习题课;
  • +
  • 数学:线代第六章约 14 分钟的视频课程;
  • +
  • 专业课:奥本海姆约 47 分钟的视频课程;
  • +
  • 专业课:本校老师第二章约 48 分钟的视频课程;
  • +
  • 政治:马哲第二章第一节约 60 分钟的视频课程;
  • +
  • 英语:2001 年真题 Text 3 并订正、摘录生词;
  • +
  • 英语:继续记背单词与看词汇书;
  • +
+

12:16:上午将今天的专业课任务完成了,毕竟十点过才开始的上午,也看不了什么东西了。等我回到学校以后,一定要仿照研考的时间,至少八点钟就要坐到图书馆里。

+

现在我视频开 1.2 倍速已经很寻常了,除了数学正课时因为知识点太多,还是保持原来的速度,其他的视频 —— 像是数学的习题课、专业课、政治 —— 都是使用了倍速,因为它们的知识点并不密集,并且这样效率也会更高些。

+

上午的状态一般,相较于昨天看数学的状态略有下降,下午看数学的时候,希望能恢复到昨天的状态吧。

+

14:28:咖啡厅这里有个缺点,就是中午会休息不好……

+

15:52:赣,效率越来越哈人了,半个小时的课程我用了快一个半小时学习…… 即使中午没休息好,也不至于这样吧……

+

20:49:我看那两个小时的习题课时,这次是第一次跳着看,却还是看到了现在,今天的英语和政治还没有做呢,晚上回去能不能做完一样还难说,好在总算是完成了今天的数学计划…… 数学之前拖欠得太多了,好难受啊。

+

备注:

+
    +
  • 英语:约 180 个单词,与词群 104 至 109;
  • +
+
今日总结

学习时间:7h 06min
M:4h 30min,S:1h 37min,P:0min,E:0h 59min;

+
+
+ +
+

由于一些缘故,这个系列往后将不会再更新了。

+
+
+ + + + + + + + + +
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2022/10/02/SQL-learning-note-01/index.html b/2022/10/02/SQL-learning-note-01/index.html new file mode 100644 index 000000000..88e452576 --- /dev/null +++ b/2022/10/02/SQL-learning-note-01/index.html @@ -0,0 +1,144 @@ +SQL 学习笔记【01】 | 叶子的花园 + + + + + + + + + + + + + + + +

SQL 学习笔记【01】

cover题图来自网络

+

作为一个只会增删查改、从来没有系统性学习数据库的小白,这些天有了一个契机来学习相关的知识,便想到以此开一篇新的学习博文,记录一些关键语句与自己的理解。

+

本篇笔记主要是基于菜鸟教程的内容进行初步的学习。至少在快速入门这方面,菜鸟教程还从未让我失望过。

+ + +

开始:增删查改

SQL 的全称为 Structured Query Language,下列语句均以 MySQL 语法为准。我们先假设有一个如下名为 Website 的「表」:

+
+----+--------------+---------------------------+-------+---------+
+| id | name         | url                       | alexa | country |
++----+--------------+---------------------------+-------+---------+
+| 1  | Google       | https://www.google.cm/    | 1     | USA     |
+| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
+| 3  | 菜鸟教程      | http://www.runoob.com/    | 4689  | CN      |
+| 4  | 微博          | http://weibo.com/         | 20    | CN      |
+| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
++----+--------------+---------------------------+-------+---------+
+ +
+

SELECT

以下语句用于在指定的表中选择列:

+
# 从指定表中选取指定列输出
+SELECT column_name, column_name FROM table_name;
+
+# 从指定表中选取所有列输出(即相当于输出整张表)
+SELECT * FROM table_name;
+
+# 从表中选取指定列,并输出其中的不同值(即去除列中重复的元素)
+SELECT DISTINCT column_name, column_name FROM table_name;
+ +
+

WHERE

本子句用于提取满足指定条件的数据:

+
SELECT column_name, column_name 
+FROM table_name 
+WHERE column_name operator value;
+ +

例如 SELECT * FROM Websites WHERE country='CN';,将会仅输出表的 country 列中值为 CN 的行。其后面可以接逻辑运算符号、条件判断和 BETWEENLIKEIN 等关键词。

+
+

OEDER BY

本子句用于对输出的结果集按照一列或多列进行排序:

+
SELECT column_name,column_name 
+FROM table_name 
+ORDER BY column_name,column_name ASC|DESC;
+ +

升降序关键词

其中的 ASC 代表升序,默认如此,可不写出;而 DESC 代表降序,需要手动指定。

+

多列排序

ORDER BY 后写多列的参数即可,其效果类似分别排序:
SELECT * FROM Websites ORDER BY country,alexa;

+

与 HERE 之关系

如果需要使用到 WHERE 语句,则 ORDER BY 必须写到 WHERE 到后面;而如果没有 WHERE 语句,则 ORDER BY 放在表的后面。如:SELECT * FROM Website WHERE country='CN' ORDER BY alexa;

+
+

INSERT INTO

本语句用于向表中插入新的数据:

+
# 第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:
+INSERT INTO table_name
+VALUES (value1,value2,value3,...);
+
+# 第二种形式需要指定列名及被插入的值:
+INSERT INTO table_name (column1,column2,column3,...)
+VALUES (value1,value2,value3,...);
+ +

id 字段是自动更新的,表中的每条数据都有一个唯一的数字。

+
+

UPDATE

本语句用于更新表中已存在的记录:

+
UPDATE table_name
+SET column1=value1,column2=value2,...
+WHERE some_column=some_value;
+ +

注意:WHERE 子句规定了哪条 / 哪些记录需要更新,若省略,则表中所有的列数据都会被更新!

+
+

DELETE

本语句用于删去表中指定的行:

+
DELETE FROM table_name
+WHERE some_column=some_value;
+ +

注意:UPDATE 语句类似,WHERE 子句指定了删除的对象,若省略,整张表中所有的数据都将被删除!
(注:表中所有的行被删除,但表的结构、属性和索引将保持不变)

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2022/10/18/SQL-learning-note-02/index.html b/2022/10/18/SQL-learning-note-02/index.html new file mode 100644 index 000000000..2f4a5af4c --- /dev/null +++ b/2022/10/18/SQL-learning-note-02/index.html @@ -0,0 +1,602 @@ +SQL 学习笔记【02】 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + +

SQL 学习笔记【02】

cover题图还是来自于网络

+

紧接「上篇」,我认为虽然在 SQL 语句方面已经入门、有开箱即用的水平了,但对数据库相关知识的理解还是半瓶水的状态,所以我找了一本日本人 MICK 写的《SQL 基础教程》,想作进一步的学习。本书中所有的例程均以 ISO 制定的标准语法 SQL:2011 展现,虽然这最初出版于 2011 年,已经有些老了,但入门嘛,老一点也没关系,先学好基础,再徐徐图之。

+ + +

另外,在豆瓣的界面下,我看到有评论推荐了一个练习平台 sqlzoo。我凭借脑子里新鲜的数据库知识看了一下,感觉是十分合适的,正好能为我补上更多的「习题」部分。

+

那就让我们开始新的学习吧。

+

SQL 中的常数

SQL 语句中出现的常数一般是三种:字符串数字日期。其中字符串和日期均需要用单引号括起来,而数字可以直接书写,如:'abc''2022-10-18'123

+

表格创建、删除与更新

根据书上的例子,我们以这张表为后续的 SQL 语句示例:

+

sql02-01

+

创建数据库 CREAT DATABASE

-- 创建一张名为 shop 的数据库
+
+CREAT DATABASE shop
+ +

创建表 CREAT TABLE

表的创建语法如下,我个人认为它更像是一种函数:

+

sql02-02

+
CREAT TABLE Product
+(
+  product_id        CHAR(4)         NOT NULL,   -- CHAR 定长字符类型
+  product_name      VARCHAR(100)    NOT NULL,   -- VARCHAR 可变长度类型
+  product_type      VARCHAR(32)     NOT NULL,   -- NULL 约束关键字
+  sale_price        INTEGER         ,           -- INTEGER 整数类型,不能有小数
+ 	purchase_price    INTEGER         ,
+  regist_date       DATE            ,           -- DATE 日期类型
+  PRIMARY KEY (product_id)                      -- 主键
+);
+ +

其中:NULL 是约束的关键字,NOT NULL 约束了以上三列的单元格必须填写,不能置空。最后一行的语句 PRIMARY KEY() 的参数是设置表的主键约束

+

键:指定特定数据时的列集合;
主键:可以特定一行数据的列(即通过该列,任意行均能被唯一确定)。

+

删除表 DROP TABLE

-- 删除名为 Product 的表
+
+DROP TABLE Product
+ +

注意:删除的表是无法恢复的,只能重新创建新表,所以执行该操作之前务必小心

+

更新表的定义 ALTER TABLE

为表添加某列时,可使用该语句:

+
ALTER TABLE <表名> ADD COLUMN <列名>
+-- 注:不同的 SQL 语法可能会有不同的表述,在这里我们只关注 SQL:2011 与 MySQL
+
+-- 例如:添加一列表示商品的拼音,存储 100 位的可变字符串
+ALTER TABLE Product ADD COLUMN Product_name_pinyin VARCHAR(100);
+ +

而删除表中的某列类似,改 ADDDROP 即可:

+
ALTER TABLE <表名> DROP COLUMN <列名>
+
+-- 例如:删去拼音名的列
+ALTER TABLE Product DROP COLUMN Product_name_pinyin
+ +

DROP TABLE 同理,列在删除后也无法恢复。

+

插入数据 INSERT INTO

在上一篇的学习笔记中,我们学到过 INSERT INTO () VALUES (),现在可以尝试一次性插入整张表:

+
# DML:插入数据
+START TRANSACTION;
+
+INSERT INTO Product VALUES ('0001', 'T恤衫', '衣服', 1000, 500,  '2009-09-20');
+INSERT INTO Product VALUES ('0002', '打孔器', '办公用品', 500, 320, '2009-09-11');
+INSERT INTO Product VALUES ('0003', '运动T恤', '衣服', 4000, 2800, NULL);
+INSERT INTO Product VALUES ('0004', '菜刀', '厨房用具', 3000, 2800, '2009-09-20');
+INSERT INTO Product VALUES ('0005', '高压锅', '厨房用具', 6800, 5000, '2009-01-15');
+INSERT INTO Product VALUES ('0006', '叉子', '厨房用具', 500,  NULL, '2009-09-20');
+INSERT INTO Product VALUES ('0007', '擦菜板', '厨房用具', 880, 790, '2008-04-28');
+INSERT INTO Product VALUES ('0008', '圆珠笔', '办公用品', 100, NULL,'2009-11-11');
+
+COMMIT;			-- COMMIT 为确定插入行的指令语句 
+ + + +

数据库的基本查询

本节的内容是 SELECT 语句及算数、比较和逻辑运算符的基本使用方法。

+

查询列 SELECT

-- 基本查询
+SELECT <列名>,…… 
+ FROM <表名>;
+
+-- 如:输出三列
+SELECT product_id, product_name, purchase_price 
+  FROM Product;
+ +

SELECT 语句后可跟多列,其间用逗号分隔。

+
-- 查询所有列
+SELECT *
+  FROM <表名>;
+ +

其中星号「*」代表全部列、全选的意思。

+

别名关键字 AS

在 SQL 语句中可使用 AS 为列设置别名

+
-- 在各列名后使用 AS
+SELECT product_id    		AS id, 
+       product_name   	AS name, 
+       purchase_price 	AS price 
+  FROM Product;
+ +

这样输出结果的时候就会用别名显示了。注意:当字符作为别名的时候,需要使用双引号括起来,这一点需要与前面的字符串常数相区别。

+

查询常数

这是一种查询表中特定常数的方法:

+
-- 输入:
+SELECT '商品' AS string, 38 AS number, '2009-02-24' AS date, 
+       product_id, product_name
+  FROM Product;
+ +

输出如下:

+

sql02-03

+

去重关键字 DISTINCT

想要在输出的时候不显示重复行,可加入 DISTINCT 实现:

+
-- 单列:
+SELECT DISTINCT product_type
+  FROM Product;
+
+-- 多列:
+SELECT DISTINCT product_type, regist_date 
+  FROM Product;
+ +

注意:NULL 也会被视为一类数据;DISTINCT 关键字只能位于第一个列名之前。

+

条件关键字 WHERE

可以使用 WHERE 关键字限定输出数据的条件:

+
SELECT <列名>, …… 
+  FROM <表名>
+ WHERE <条件表达式>;
+ 
+ -- 如:
+SELECT product_name, product_type 
+  FROM Product
+ WHERE product_type = '衣服';
+ +

关键字的执行顺序是先找到 WHERE 语句限定的行,再输出 SELECT 语句选定的列:

+

sql02-04

+

算数运算符

即加减乘除,括号会改变算式的优先级。

+
/*
+加法:+
+减法:-
+乘法:*
+除法:/
+*/
+
+-- SQL 语句中可以使用运算表达式,例如:
+SELECT product_name, sale_price, 
+       sale_price * 2 AS "sale_price_x2" 
+  FROM Product;
+ +

注意:所有包含 NULL 的运算,其结果均为 NULL。

+

比较运算符

/*
+等于:=
+不等于:<>			注意:此处是标准 SQL,有些数据库亦支持 !=;
+大于:>
+大于等于:>=
+小于:<
+小于等于:<=
+*/
+ +

可以对日期常数使用比较运算符:

+
-- 选取日期再 2009-09-27 之前的记录:
+SELECT product_name, product_type, regist_date 
+  FROM Product
+ WHERE regist_date < '2009-09-27';
+ +

注意:对字符串使用不等号时,是依据字典顺序进行比较。(2'2' 不一样,区分数字与字符串)

+

判断 NULL

希望以 NULL 元素选取记录时,应当用 IS NULL 或者 IS NOT NULL 运算符。

+

注意:不能对 NULL 使用比较运算符。

+
-- 错误示例:
+SELECT product_name, purchase_price 
+  FROM Product
+ WHERE purchase_price = NULL;
+
+-- 正确示例:
+SELECT product_name, purchase_price 
+  FROM Product
+ WHERE purchase_price IS NULL;
+ +

逻辑运算符

/*
+非:NOT
+与:AND
+或:OR
+*/
+ +

比较运算符与逻辑运算符均会返回真值

+

注意:AND 运算符的优先级高于 OR 运算符。

+
-- 例如,需要找办公用品,且日期在 11 号或者 20 号的记录:
+
+SELECT product_name, product_type, regist_date 
+  FROM Product
+ WHERE product_type = '办公用品' 
+   AND regist_date = '2009-09-11' 
+    OR regist_date = '2009-09-20';
+-- 是不对的,这样的逻辑是先找「既是办公用品,又在 11 号」的记录,
+-- 然后加上了所有「在 20 号」的记录
+-- 也就是被解释为了:
+-- (product_type = '办公用品' AND regist_date = '2009-09-11') 
+-- OR
+-- (regist_date = '2009-09-20')
+
+-- 所以现在应该用括号人为地限定优先级:
+SELECT product_name, product_type, regist_date 
+  FROM Product
+ WHERE product_type = '办公用品'
+   AND (   regist_date = '2009-09-11' 
+        OR regist_date = '2009-09-20');
+ +

三值逻辑(NULL 的真值)

SQL 语句中的真值有三种:TRUE、FALSE 和 UNKNOWN。当有 NULL 参与逻辑运算时,可能会出现 UNKNOWN。其真值表如下:

+

sql02-02-03

+

由于考虑 NULL 后,最初只有四行的真值表变成了现在的九行,所以在数据库中应该尽量不使用 NULL

+

数据库的聚合查询

聚合:将多行汇聚为一行。

+

SQL 语句中有 5 个常用的函数:

+
COUNT:计算表中的记录数(行数) 
+SUM:  计算表中数 值列中数据的合计值 
+AVG:  计算表中数 值列中数据的平均值 
+MAX:  求出表中任意列中数据的最大值 
+MIN:  求出表中任意列中数据的最小值
+ +

总数 COUNT

COUNT 函数能计算所有的数据行数,分两种情况:

+
-- 包括 NULL 数据的行数
+SELECT COUNT(*) 
+  FROM Product;
+
+-- 不包括 NULL 数据的行数
+SELECT COUNT(<列名>) 
+  FROM Product;
+ +

注意:只有 COUNT 函数中的参数可以为星号「*」,其他函数都不可以。

+

求和 SUM

SELECT SUM(<列名>) 
+  FROM Product;
+ +

注意:如果该列的单元格中含有 NULL,聚合函数会将 NULL 排除在外(不参与计算过程),但 COUNT(*) 是例外。

+

均值 AVG

SELECT AVG(<列名>) 
+  FROM Product;
+ +

例如计算含有 NULL 列的平均值时,由于 NULL 被排除在计算过程之外,所以其总数是减去了 NULL 项后,再参与的计算。

+

最大 MAX 与最小 MIN

SELECT MAX(<列名>)
+  FROM Product;
+
+SELECT MIN(<列名>) 
+  FROM Product;
+
+-- 亦可计算日期的最大值、最小值:
+SELECT MAX(regist_date), MIN(regist_date) 
+  FROM Product;
+ +

注意:MAX/MIN 函数几乎适用于所有数据类型的列。SUM/AVG 函数只适用于数值类型的列。

+

去重 DISTINCT

SELECT COUNT(DISTINCT <列名>) 
+  FROM Product;
+ +

这时 DISTINCT 必须写在括号中,因为这里有一个逻辑问题:现在是先删去重复的数据,再计算数据的行数;如果像之前一般,写在括号之外,那么就会先计算数据的行数,再删去重复的数据,结果仍为所有数据的行数。

+
-- 正确示例
+SELECT COUNT(DISTINCT product_type) 
+  FROM Product;
+-- 此时返回的结果为 3
+
+-- 错误示例
+SELECT DISTINCT COUNT(product_type) 
+  FROM Product;
+-- 此时返回的结果为 8
+ + + +

数据库的分组

聚合语句将表聚合为了一行,而使用 GROUP BY 分组语句,可以将表像切蛋糕那样分隔。

+

分组 GRUOP BY

SELECT <列名1>, <列名2>, <列名3>, …… 
+  FROM <表名>
+ GROUP BY <列名1>, <列名2>, <列名3>, ……;
+ 
+ -- 例如,按照商品的种类统计行数:
+ SELECT product_type, COUNT(*) 
+  FROM Product
+ GROUP BY product_type;
+ +

GROUP BY 子句中指定的列被称为聚合键。当聚合键中包含 NULL 时,在结果中会以「不确定」行(空行)的形式表现出来。

+

当使用聚合函数时,SELECT 子句中只能存在三种元素:常数聚合函数聚合键

+

GROUP BYWHERE 语句并用时,SQL 语句逻辑的执行顺序为:FROMWHEREGROUP BYSELECT

+

注意事项

    +
  1. 使用 GROUP BY 子句时,SELECT 子句中不能出现聚合键之外的列名;
  2. +
  3. GROUP BY 子句中不能使用 SELECT 子句中定义的别名(因为语句逻辑顺序);
  4. +
  5. GROUP BY 并不参与对结果的排序,其显示的结果是随机的、无序的;
  6. +
  7. 只有 SELECT 子句和 HAVING 子句(以及 ORDER BY 子句)中能够使用聚合函数。
  8. +
+

指定条件 HAVING

SELECT <列名1>, <列名 2>, <列名 3>, …… 
+  FROM <表名>
+ GROUP BY <列名1>, <列名2>, <列名3>, …… 
+HAVING <分组结果对应的条件>
+
+-- 示例1:
+SELECT product_type, COUNT(*) 
+  FROM Product
+ GROUP BY product_type 
+HAVING COUNT(*) = 2;
+
+-- 示例2:
+SELECT product_type, AVG(sale_price) 
+  FROM Product
+ GROUP BY product_type
+HAVING AVG(sale_price) >= 2500;
+ +
    +
  • 在使用 COUNT 函数等对表中数据进行汇总操作时,为其指定条件的不是 WHERE 子句,而是 HAVING 子句。WHERE 子句只能指定记录(行)的条件,而不能用来指定组的条件。
  • +
  • 聚合函数可以在 SELECT 子句、HAVING 子句和 ORDER BY 子句中使用。
  • +
  • HAVING 子句要写在 GROUP BY 子句之后。
  • +
  • WHERE 子句用来指定数据行的条件,HAVING 子句用来指定分组的条件。
  • +
+

同理,HAVING 语句中也只能使用三种要素:常数聚合函数聚合键。

+

排序 ORDER BY

SELECT <列名1>, <列名2>, <列名3>, …… 
+  FROM <表名>
+ ORDER BY <排序基准列1>, <排序基准列2>, ……
+ +
    +
  • ORDER BY 子句中的列名称为排序键
  • +
  • ORDER BY 子句中列名的后面使用关键字 ASC 可以进行升序排序(默认,可不写),使用 DESC 关键字可以进行降序排序;
  • +
  • ORDER BY 子句中可以指定多个排序键;
  • +
+
-- 当第一个排序键的结果中出现相同值时,将根据右侧的排序键进行排序:
+SELECT product_id, product_name, sale_price, purchase_price 
+  FROM Product
+ORDER BY sale_price, product_id;
+ +
    +
  • 当排序健中包含 NULL 时,会在开头或末尾进行汇总;
  • +
  • ORDER BY 子句中可以使用 SELECT 子句中定义的列的别名;
  • +
+

因为此时的语句逻辑顺序为:FROM WHEREGROUP BYHAVINGSELECTORDER BY

+
    +
  • ORDER BY 子句中可以使用 SELECT 子句中未使用的列和聚合函数;
  • +
+
SELECT product_id AS id, 
+			 product_name, 
+			 sale_price AS sp, 
+			 purchase_price
+  FROM Product 
+ORDER BY sp, id;
+ +
    +
  • ORDER BY 子句中不要使用列编号。
  • +
+

最后,以上语句的书写顺序为:1. SELECT 子句2. FROM 子句3. WHERE 子句4. GROUP BY 子句5. HAVING 子句6. ORDER BY 子句

+

数据库的更新

数据库的更新包括 INSERTDELETEUPDATE 三种修改表的指令,和进行相关操作的事务。

+

插入 INSERT

首先创建一个名为 productIns 的表作为示例,其中除了 sale_price 列设置了 DEFAULT 0 的约束外,其余内容与之前的 product 表完全相同。

+
-- 创建 ProductIns 表
+
+CREATE TABLE ProductIns
+(
+  product_id      CHAR(4)      NOT NULL, 
+ 	product_name    VARCHAR(100) NOT NULL, 
+ 	product_type    VARCHAR(32)  NOT NULL, 
+ 	sale_price      INTEGER      DEFAULT 0, 
+ 	purchase_price  INTEGER     ,
+ 	regist_date     DATE        , 
+ 	PRIMARY KEY (product_id)
+);
+ +
    +
  • 使用 INSERT 语句可以向表中插入数据(行)。原则上,INSERT 语句每次执行一行数据的插入。
  • +
+
-- INSERT 语句定义:
+INSERT INTO <表名> (1,2,3, ……) VALUES (1,2,3, ……);
+
+-- 插入一条数据的示例:
+INSERT INTO ProductIns (product_id, product_name, product_type, sale_price, purchase_price, regist_date)
+VALUES ('0001', 'T恤衫', '衣服', 1000, 500, '2009-09-20');
+ +
    +
  • 将列名和值用逗号隔开,分别括在(半角)括号()内,这种形式称为清单。

    +
  • +
  • 对表中所有列进行 INSERT 操作时可以省略表名后的列清单。

    +
  • +
+
-- 对表进行全列 INSERT 时,可以省略表名后的列清单
+-- 以下示例效果同上:
+
+INSERT INTO ProductIns VALUES ('0001', 'T恤衫', '衣服', 1000, 500, '2009-09-20');
+ +
    +
  • 插入 NULL 时需要在 VALUES 子句的值清单中写入 NULL。
  • +
  • 可以为表中的列设定默认值(初始值),默认值可以通过在 CREATE TABLE 语句中为列设置 DEFAULT 约束来设定。
  • +
+
-- 参照 ProductIns 表的创建,DEFAULT 约束设定默认值:
+
+CREATE TABLE ProductIns
+(product_id      CHAR(4)      NOT NULL, 
+ ……
+ sale_price      INTEGER      DEFAULT 0, 		-- 销售单价初始值默认为 0;
+ ……
+ PRIMARY KEY (product_id));
+ +
    +
  • 插入默认值可以通过两种方式实现,即在 INSERT 语句的 VALUES子句中指定 DEFAULT 关键字(显式方法),或省略列清单(隐式方法)。 (显式方法插入默认值最好)
  • +
+
-- 显式方法插入默认值:
+
+INSERT INTO ProductIns (product_id, product_name, product_type, sale_price, purchase_price, regist_date)
+VALUES ('0007', '擦菜板', '厨房用具', DEFAULT, 790, '2009-04-28');
+ +
    +
  • 使用 INSERT…SELECT 可以从其他表中复制数据。
  • +
+
-- 创建一个空白示例表:
+-- 用来插入数据的商品复制表 
+CREATE TABLE ProductCopy
+(product_id  	  	CHAR(4)      	NOT NULL, 
+ product_name   	VARCHAR(100) 	NOT NULL, 
+ product_type 		VARCHAR(32)  	NOT NULL, 
+ sale_price   		INTEGER      	,
+ purchase_price 	INTEGER      	, 
+ regist_date    	DATE         	, 
+ PRIMARY KEY (product_id));
+ 
+-- 将商品表中的数据复制到商品复制表中
+INSERT INTO ProductCopy (product_id, product_name, product_type, sale_price, purchase_price, regist_date)
+SELECT product_id, product_name, product_type, sale_price, purchase_price, regist_date
+FROM Product;
+ +

现在 ProductCopy 中插入了与 ProductIns 完全相同的八行数据,而原有的 ProductIns 表不会改变。

+
    +
  • INSERT 语句的 SELECT 语句中,可以使用 WHERE 子句或者 GROUP BY 子句等任何 SQL 语法(但使用 ORDER BY 子句并不会产生任何效果)。
  • +
+
-- 根据商品种类进行汇总的表 ; 
+CREATE TABLE ProductType
+(
+  product_type      	VARCHAR(32)    	NOT NULL, 
+ 	sum_sale_price    	INTEGER       	,
+ 	sum_purchase_price 	INTEGER        	, 
+ 	PRIMARY KEY (product_type)
+);
+
+-- 插入其他表中数据合计值的 INSERT…SELECT 语句:
+INSERT INTO ProductType (product_type, sum_sale_price, sum_purchase_price)
+SELECT product_type, SUM(sale_price), SUM(purchase_price) 
+  FROM Product
+ GROUP BY product_type;
+ +

删除 DELETE

    +
  • 如果想将整个表全部删除,可以使用 DROP TABLE 语句,如果只想删除表中全部数据,需使用 DELETE 语句。
  • +
+
-- 保留数据表,仅删除全部数据行的 DELETE 语句
+DELETE FROM <表名>;
+
+-- 例如:清空 Product 表
+DELETE FROM Product;
+ +

注意:DELETE语句的删除对象并不是表或者列,而是记录(行)。

+

搜索型 DELETE

    +
  • 如果想删除部分数据行,只需在 WHERE 子句中书写对象数据的条件即可。通过 WHERE 子句指定删除对象的 DELETE 语句称为搜索型 DELETE 语句。
  • +
+
-- 删除部分数据行的搜索型 DELETE
+
+DELETE FROM <表名> 
+ WHERE <条件>;
+ +

注意:SELECT 语句不同的是,DELETE 语句中不能使用 GROUP BYHAVINGORDER BY 三类子句,而只能使用 WHERE 子句 。

+

更新 UPDATE

    +
  • 使用 UPDATE语句可以更改(更新)表中的数据。
  • +
+
-- 改变表中数据的 UPDATE 语句
+
+UPDATE <表名>
+   SET <列名> = <表达式>;
+ +

搜索型 UPDATE

    +
  • 更新部分数据行时可以使用 WHERE 来指定更新对象的条件。通过 WHERE 子句指定更新对象的 UPDATE 语句称为搜索型 UPDATE 语句。
  • +
+
-- 更新部分数据行的搜索型 UPDATE
+UPDATE <表名>
+   SET <列名> = <表达式> 
+ WHERE <条件>;
+
+-- 示例:将商品种类为厨房用具的记录的销售单价更新为原来的 10 倍
+UPDATE Product
+   SET sale_price = sale_price * 10 
+ WHERE product_type = '厨房用具';
+ +
    +
  • UPDATE 语句可以将列的值更新为 NULL。
  • +
+
-- 将商品编号为 0008 的数据(圆珠笔)的登记日期更新为 NULL
+
+UPDATE Product
+   SET regist_date = NULL 
+ WHERE product_id = '0008';
+ +

注意:使用 UPDATE语句可以将值清空为 NULL(但只限于未设置 NOT NULL约束的列)。

+
    +
  • 同时更新多列时,可以在 UPDATE 语句的 SET 子句中,使用逗号分隔更新对象的多个列。
  • +
+
-- 繁琐的 UPDATE 语句
+UPDATE Product
+   SET sale_price = sale_price * 10 
+ WHERE product_type = '厨房用具';
+UPDATE Product
+   SET purchase_price = purchase_price / 2 
+ WHERE product_type = '厨房用具';
+
+-- 合并为一条 UPDATE语句
+-- 使用逗号对列进行分隔排列 
+UPDATE Product
+   SET sale_price = sale_price * 10, 
+       purchase_price = purchase_price / 2 
+ WHERE product_type = '厨房用具';
+ +

事务

这是一个全新的概念,我觉得蛮好理解的:

+
    +
  • 事务是需要在同一个处理单元中执行的一系列更新处理的集合。
    通过使用事务,可以对数据库中的数据更新处理的提交和取消进行管理。
  • +
+
-- 将两条 SQL 语句在事务中执行:
+
+START TRANSACTION
+		
+		-- 将运动T恤的销售单价降低1000日元 
+    UPDATE Product
+       SET sale_price = sale_price - 1000 
+     WHERE product_name = '运动T恤';
+
+    -- 将T恤衫的销售单价上浮1000日元 
+    UPDATE Product
+       SET sale_price = sale_price + 1000 
+     WHERE product_name = 'T恤衫';
+
+COMMIT
+ +
    +
  • 事务处理的终止指令包括 COMMIT(提交处理)和 ROLLBACK(取消处理)两种。
  • +
+

sql02-04-01

+

注意:特别是在执行 DELETE 语句的 COMMIT 时尤其要小心。

+

sql02-04-02

+

在这里,我引用一段作者对现代关系型数据库管理系统的描述:

+
+

实际上,几乎所有的数据库产品的事务都无需开始指令。这是因为大部分情况下,事务在数据库连接建立时就已经悄悄开始了,并不需要用户再明确发出开始指令。例如,使用 Oracle 时,数据库连接建立之后,第一条 SQL 语句执行的同时,事务就已经悄悄开始了。

+

例如,PostgreSQL的用户手册中有如下记述 :「PostgreSQL 中所有的SQL指令语句都在事务内执行。即使不执行 BEGIN,这些命令语句也会在执行时悄悄被括在 BEGINCOMMIT(如果成功的话)之间。」(《PostgreSQL 9.5.2 文档》“3-4 节 事务”)

+
+
    +
  • DBMS 的事务具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)四种特性。通常将这四种特性的首字母结合起来,统称为 ACID 特性。
  • +
+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2022/10/24/SQL-learning-note-03/index.html b/2022/10/24/SQL-learning-note-03/index.html new file mode 100644 index 000000000..73c9b2bd9 --- /dev/null +++ b/2022/10/24/SQL-learning-note-03/index.html @@ -0,0 +1,579 @@ +SQL 学习笔记【03】 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

SQL 学习笔记【03】

cover

+

不同于我的第一篇笔记,仅仅是对 SQL 语句做了最基础的了解;在上一篇文章中,我们跟着《SQL 基础教程》成体系地学习了数据库语言的基础操作,现在我们将对数据库进行更深一步地学习。在完成这段学习以后,相信在面对相关领域的问题时,我们都不会再一头雾水、不知所措了。

+

这应该是这段时间的《SQL 学习笔记》的最后一篇了。

+ + +

数据库的复杂查询

从这部分开始,对数据库的各类操作将不再限于一张表,而是会以此为基础进行延伸。

+

视图 VIEW

    +
  • 从 SQL 的角度来看,视图和表是相同的,两者的区别在于:表中保存的是实际的数据,而视图中保存的是从表中取出数据所使用的 SELECT 语句(视图本身并不存储数据)。
  • +
+

sql03-05-01

+
    +
  • 使用视图,可以轻松完成跨多表查询数据等复杂操作。
  • +
  • 可以将常用的 SELECT语句做成视图来使用。
  • +
+

视图的优点:

+

其一:由于视图无需保存数据,因此可以节省存储设备的容量。

+

其二:可以将频繁使用的 SELECT 语句保存成视图,这样就不用每次都重新书写了,可以直接在 SELECT 语句中进行调用。(视图就是保存好的 SELECT 语句)

+

创建视图

    +
  • 创建视图需要使用 CREATE VIEW 语句。
  • +
+
-- 创建视图的 CREATE VIEW 语句
+CREATE VIEW 视图名称 (<视图列名1>, <视图列名2>, ……) 
+AS
+<SELECT语句>
+
+-- 例如:ProductSum 视图
+CREATE VIEW ProductSum (product_type, cnt_product)
+AS
+SELECT product_type, COUNT(*) 
+  FROM Product
+ GROUP BY product_type;
+
+-- 使用视图:
+SELECT product_type, cnt_product
+  FROM ProductSum;
+ +

sql03-05-02

+

视图查询

在 FROM 子句中使用视图的查询,通常有如下两个步骤:

+
    +
  • 首先执行定义视图的 SELECT 语句;
  • +
  • 根据得到的结果,再执行在 FROM 子句中使用视图的 SELECT 语句;
  • +
+

也就是说,使用视图的查询通常需要执行 2 条以上的 SELECT 语句,两条以上是因为可能出现以视图为基础创建的多重视图:

+

sql03-05-03

+

注:应该避免在视图的基础上创建视图。这是因为对多数 DBMS 来说,多重视图会降低 SQL 的性能。

+

视图的限制

    +
  • 定义视图时不要使用 ORDER BY 子句(因为视图与表一样,数据行都是没有顺序的);
  • +
  • 可对视图进行有限制的更新。视图和表需要同时进行更新,因此通过汇总得到的视图无法进行更新;
  • +
+

删除视图

    +
  • 删除视图需要使用 DROP VIEW语句。
  • +
+
-- 删除视图的 DROP VIEW 语句:
+DROP VIEW 视图名称 (<视图列名1>, <视图列名2>, ……)
+
+-- 删除视图:
+DROP VIEW ProductSum;
+ + + +

子查询

    +
  • 视图并不是用来保存数据的,而是通过保存读取数据的 SELECT 语句的方法来为用户提供便利。反之,子查
    询就是将用来定义视图的 SELECT 语句直接用于 FROM 子句当中。
  • +
  • 一言以蔽之,子查询就是一次性视图(SELECT 语句)。与视图不同,子查询在 SELECT 语句执行完毕之后就会消失。
  • +
  • 由于子查询需要命名,因此需要根据处理内容来指定恰当的名称。
  • +
+
-- 与上文 ProductSum 实现同样功能的子查询:
+-- 在FROM子句中直接书写定义视图的SELECT语句 
+SELECT product_type, cnt_product
+  FROM ( 
+    SELECT product_type, COUNT(*) AS cnt_product 
+      FROM Product
+     GROUP BY product_type
+	) AS ProductSum;
+ +

注意:SELECT 语句包含嵌套的结构,首先会执行 FROM 子句中的 SELECT 语句,然后才会执行外层的 SELECT 语句。即:子查询作为内层查询会首先执行

+

sql03-05-04

+

同时,随着子查询嵌套层数的增加,SQL 语句会变得越来越难读懂,性能也会越来越差。因此,请大家尽量避免使用多层嵌套的子查询。

+

标量子查询

    +
  • 标量就是单一的意思,标量子查询就是只能返回单一值的子查询,而且只能返回 1 行 1 列的结果。
  • +
  • 由于返回的是单一的值,因此标量子查询的返回值可以用在 = 或者 <> 这样需要单一值的比较运算符之中。这也正是标量子查询的优势所在。
  • +
+
-- 在 WHERE 子句中使用标量子查询
+-- 例如:选取出销售单价(sale_price)高于全部商品的平均单价的商品
+
+-- 错误示例:
+-- 在WHERE子句中不能使用聚合函数
+SELECT product_id, product_name, sale_price 
+  FROM Product
+ WHERE sale_price > AVG(sale_price);
+
+-- 使用标量子查询
+SELECT product_id, product_name, sale_price 
+  FROM Product
+ WHERE sale_price > (SELECT AVG(sale_price)
+                     FROM Product);
+ +

同理,SELECT 语句会现执行 FROM 中的内层语句,再执行外层语句:

+

sql03-05-05

+

标量子查询的书写位置:能够使用常数或者列名的地方,无论是 SELECT 子 句、GROUP BY 子句、HAVING 子句,还是 ORDER BY 子句,几乎所有的地方都可以使用。

+

注意:标量子查询绝不能返回多行结果。

+
-- 错误示例:
+
+SELECT product_id, product_name, sale_price 
+  FROM Product
+ WHERE sale_price > (SELECT AVG(sale_price) 
+                     FROM Product
+                     GROUP BY product_type);
+ + + +

关联子查询

为了解决上文中子查询返回多行结果的情况,我们可以使用关联子查询

+
    +
  • 关联子查询会在细分的组内进行比较时使用。
  • +
  • 关联子查询和 GROUP BY子句一样,也可以对表中的数据进行切分。
  • +
+
-- 通过关联子查询按照商品种类对平均销售单价进行比较
+-- 在细分的组内进行比较时,需要使用关联子查询。
+
+SELECT product_type, product_name, sale_price
+  FROM Product AS P1                           ① 
+ WHERE sale_price > (SELECT AVG(sale_price)
+                     FROM Product AS P2
+                     WHERE P1.product_type = P2.product_type		-- 关键作用
+                     GROUP BY product_type);
+ +

sql03-05-06

+

这次由于作为比较对象的都是同一张 Product 表,因此为了进行区别,分别使用了 P1 和 P2 两个别名。在使用关联子查询时,需要在表所对应的列名之前加上表的别名,以「 <表名>.<列名> 」的形式记述。

+

注意:这里起到关键作用的就是在子查询中添加的 WHERE 子句的条件。该条件的意思就是,在同一商品种类中对各商品的销售单价和平均单价进行比较。

+

sql03-05-07

+
    +
  • 关联子查询的结合条件如果未出现在子查询之中就会发生错误。
  • +
+

因为这里关联名称作用域,也就是存在一个有效范围的限制。具体来讲,子查询内部设定的关联名称,只能在该子查询内部使用。换句话说,就是「内部可以看到外部,而外部看不到内部」。

+

sql03-05-08

+

数据库的函数

这一部分会涉及到一些具有代表性的 SQL 函数、谓词和 CASE 表达式。

+

函数种类

在 SQL 中的常用函数大概有三五十个,它们都可以分为这几种类型:

+
    +
  • 算术函数(数值计算)
  • +
  • 字符串函数(字符串操作)
  • +
  • 日期函数(日期操作)
  • +
  • 转换函数(转换数据类型和值)
  • +
  • 聚合函数(数据聚合)
  • +
+

算数函数

-- 加减乘除
++-*/
+
+-- 绝对值
+ABS(数值)
+
+-- 求余
+MOD(被除数,除数)
+
+-- 四舍五入
+ROUND(对象数值,保留小数的位数)
+ +

字符串函数

-- 拼接
+str1 || str2
+-- 注意:在 MySQL 中使用 CONNECT 函数
+CONNECT(str1, str2, str3)
+
+-- 字符串长度
+LENGTH(字符串)
+
+-- 小写转换
+LOWER(字符串)
+-- 大写转换
+UPPER(字符串)
+
+-- 字符串替换
+REPLACE(对象字符串, 替换前的字符串, 替换后的字符串)
+-- 注:替换的是对象字符串中,与第二个参数匹配的内容,
+--     并不是直接替换整个字符串
+
+-- 字符串截取
+SUBSTRING(对象字符串 FROM 截取的起始位置 FOR 截取的字符数)
+ +

日期函数

-- 当前日期
+CURRENT_DATE
+-- 返回值:2016-05-25
+
+-- 当前时间
+CURRENT_TIME
+-- 返回值:17:26:50.995+09
+
+-- 当前的日期和时间
+CURRENT_TIMESTAMP
+-- 返回值:2016-04-25 18:31:03.704+09
+ +

截取日期元素的 EXTRACT 函数 示例单独列出:

+
-- 街区日期元素
+EXTRACT(日期元素 FROM 日期)
+
+-- 例如:
+SELECT CURRENT_TIMESTAMP,
+			 EXTRACT(YEAR   FROM CURRENT_TIMESTAMP)  AS year,
+			 EXTRACT(MONTH  FROM CURRENT_TIMESTAMP)  AS month,
+			 EXTRACT(DAY    FROM CURRENT_TIMESTAMP)  AS day,
+			 EXTRACT(HOUR   FROM CURRENT_TIMESTAMP)  AS hour,
+			 EXTRACT(MINUTE FROM CURRENT_TIMESTAMP)  AS minute,
+			 EXTRACT(SECOND FROM CURRENT_TIMESTAMP)  AS second;
+ +

sql03-06-01

+

转换函数

转换函数中的「转换」二字,在 SQL 中主要有两种意思:一种是数据类型的转换,在英语中称为 CAST;另一种是值的转换

+

类型转换可用 CAST 函数 做到:

+
-- 类型转换
+CAST(转换前的值 AS 想要转换的数据类型)
+
+-- 例如,字符串转换为数值类型
+SELECT CAST('0001' AS INTEGER) AS int_col;
+
+int_col
+---------
+1
+
+-- 字符串转换为日期类型
+SELECT CAST('2009-12-14' AS DATE) AS date_col;
+
+date_col
+---------
+2009-12-14
+ +

下面介绍的 COALESCE 函数 可将 NULL 转换为其他值:

+
-- 将 NULL 转换为其他值:
+COALESCE(数据1, 数据2, 数据3)
+ +

该函数的参数为可变参数,即参数的个数并不是限定的。函数调用时返回从左侧开始第一个不是 NULL 的值,该 SQL 语句具有将 NULL 转换为其他值的作用。

+
-- 例如:
+SELECT COALESCE(NULL, 1)									AS col_1,
+       COALESCE(NULL, 'test', NULL)				AS col_2, 
+       COALESCE(NULL, NULL, '2009-11-01')	AS col_3;
+
+-- 执行结果:
+col_1  |  col_2 |  col_3
+-------+--------+-----------
+     1 |  test  |  2009-11-01
+ +

函数的种类很多,无需全都记住,只需要记住具有代表性的函数就可以了,其他的可以在使用时再进行查询手册。

+

谓词

这一节的内容就会比较难了,因为涉及到 SQL 的进阶用法,会有许多的谓词需要了解:

+
    +
  • 谓词就是返回值为真值的函数
  • +
+

谓词也是函数,但其与函数的区别主要是:对通常的函数来说,返回值有可能是数字、字符串或者日期等,但是谓词的返回值全都是真值(TRUE / FALSE / UNKNOWN)。

+

LIKE —— 字符串部分一致查询

在之前字符串作为查询条件时,常常使用「=」限定条件,而 LIKE 谓词可以对字符串进行部分一致查询

+
    +
  • 谓词 LIKE三种使用方法:前方一致、中间一致、后方一致。
  • +
+
-- 原来的表单 SampleLike 表为:
+strcol
+--------
+abcddd
+dddabc
+abdddc
+abcdd
+ddabc
+abddc
+
+-- 例如想查询字符串 ddd:
+
+-- 前方一致查询:
+SELECT *
+  FROM SampleLike
+ WHERE strcol LIKE 'ddd%';
+-- 查询结果:dddabc
+
+-- 中间一致查询:
+SELECT *
+  FROM SampleLike
+ WHERE strcol LIKE '%ddd%';
+-- 查询结果:abcddd,dddabc,abdddc
+
+-- 后方一致查询:
+SELECT *
+  FROM SampleLike
+ WHERE strcol LIKE '%ddd';
+-- 查询结果:abcddd
+ +

像这样不使用「=」来指定条件字符串,而以字符串中是否包含该条件的规则为基础的查询,称为模式匹配

+

此处的「**%」符号代表「0 字符以上的任意字符串」的特殊符号。此外,我们还可以使用「_** 」(下划线)来代替「%」,不同的是,它只代表了「任意 1 个字符」。

+

BETWEEN —— 范围查询

    +
  • 注意: BETWEEN 谓词包含了三个参数。
  • +
+
-- 例如:选取销售单价为 100 ~ 1000日元的商品
+
+SELECT product_name, sale_price 
+  FROM Product
+ WHERE sale_price BETWEEN 100 AND 1000;
+ +
    +
  • 注意:BETWEEN 的特点 —— 结果中会包含 100 和 1000 这两个临界值。如果不想让结果中包含临界值,那就必须使用 < 和 >。
  • +
+

IS NULL / IS NOT NULL —— 判断 NULL

    +
  • 对于 NULL 类型的数据,不能够使用「=」等运算符限定条件,想要取得 NULL 数据时必须使用 IS NULL。 相反,想要选取 NULL 以外的数据时,需要使用 IS NOT NULL
  • +
+
-- 例如:选取出进货单价(purchase_price)为 NULL 的商品
+SELECT product_name, purchase_price 
+  FROM Product
+ WHERE purchase_price IS NULL;
+
+-- 例如:选取进货单价(purchase_price)不为 NULL 的商品
+SELECT product_name, purchase_price 
+  FROM Product
+ WHERE purchase_price IS NOT NULL;
+ +

IN —— 简便的 OR

-- 原来:通过 OR 指定多个进货单价进行查询
+SELECT product_name, purchase_price 
+  FROM Product
+ WHERE purchase_price =  320 
+    OR purchase_price =  500 
+    OR purchase_price = 5000;
+
+-- 简便:通过 IN 来指定多个进货单价进行查询
+SELECT product_name, purchase_price 
+  FROM Product
+ WHERE purchase_price IN (320, 500, 5000);
+ +
    +
  • 注意:使用 INNOT IN 时是无法选取出 NULL 数据的。
  • +
  • 特别注意:这是 SQL 中最危险的陷阱,INNOT IN 的参数中包含 NULL 时结果通常会为空,也就是无法选取出任何记录。不仅仅是指定 NULL 的情况,使用子查询作为INNOT IN 的参数时,该子查询的返回值
    也不能是 NULL。
  • +
+

使用子查询作为 IN 的参数

    +
  • INNOT IN 谓词具有其他谓词所没有的用法,那就是可以使用子查询作为其参数。
  • +
+

例如新建一张 ShopProduct 表,显示出哪些商店在销售哪些商品:

+

sql03-06-02

+

创建表的 SQL 语句为:

+
-- 创建 ShopProduct 表的 CREATE TABLE 语句:
+
+CREATE TABLE ShopProduct
+(shop_id    CHAR(4)      NOT NULL, 
+ shop_name  VARCHAR(200) NOT NULL, 
+ product_id CHAR(4)      NOT NULL, 
+ quantity   INTEGER      NOT NULL, 
+ PRIMARY KEY (shop_id, product_id));
+ +

注意:这个 CREAT TABLE 语句指定了两个列作为主键:shop_id 与 product_id。这样做当然还是为了区分表中每一行数据,由于单独使用商店编号 (shop_id)或者商品编号(product_id)不能满足要求,因此需要对商店和商品进行组合。

+
-- 取得「在大阪店销售的商品的销售单价」
+
+SELECT product_name, sale_price 
+  FROM Product
+ WHERE product_id IN (SELECT product_id 
+                        FROM ShopProduct
+                       WHERE shop_id = '000C');
+ +

为什么一定要使用子查询呢?由于数据记录在未来可能会发生改变,为了语句能够复用,所以需要易维护程序

+
+

这是因为 ShopProduct(商店商品)表并不是一成不变的。实际上由于各个商店销售的商品都在不断发生变化,因此 ShopProduct 表内大阪店销售的商品也会发生变化。如果 SELECT 语句中没有使用子查询的话,一旦商品发生了改变,那么 SELECT 语句也不得不进行修改,而且这样的修改工作会变得没完没了。

+

如果在 SELECT 语句中使用了子查询,那么即使数据发生了变更,还可以继续使用同样的 SELECT 语句。这样也就减少了我们的常规作业(单纯的重复操作)。

+
+

谓词 NOT IN 的使用方式也是同理的。

+

EXIST —— SQL 的中级工具

    +
  • 可以将子查询作为 INEXISTS 的参数。
  • +
  • 实际上即使不使用 EXIST,基本上也都可以使用 IN 或者 NOT IN 来代替。
  • +
  • 谓词的作用就是「判断是否存在满足某种条件的记录」。如果存在这样的记录就返回真(TRUE),如果不存在就返回假(FALSE)。EXIST 谓词的主语是 “记录”。
  • +
+
-- 使用 EXIST 选取出「大阪店在售商品的销售单价」
+
+SELECT product_name, sale_price
+  FROM Product AS P
+ WHERE EXISTS (SELECT *
+                 FROM ShopProduct AS SP
+                WHERE SP.shop_id = '000C'
+                  AND SP.product_id = P.product_id);
+ +

sql03-06-03

+
    +
  • 因为 EXIST 左侧没有参数,是只有 1 个参数的谓词。EXIST 只需要在右侧书写 1 个参数,通常指定关联子查询作为 EXIST 的参数,作为 EXIST 参数的子查询中经常会使用 SELECT *
  • +
  • NOT EXISTEXIST 相反,当「不存在」满足子查询中指定条件的记录时返回真(TRUE)。
  • +
+
-- 使用 NOT EXIST 读取出「东京店在售之外的商品的销售单价」
+
+SELECT product_name, sale_price 
+  FROM Product AS P
+ WHERE NOT EXISTS (SELECT *
+                     FROM ShopProduct AS SP
+                    WHERE SP.shop_id = '000A'
+                      AND SP.product_id = P.product_id);
+ +

CASE —— 条件表达式

    +
  • CASE 表达式分为简单 CASE 表达式搜索 CASE 表达式两种。搜索 CASE 表达式包含简单 CASE 表达式的全部功能。
  • +
+
-- 搜索 CASE 表达式
+
+CASE WHEN <求值表达式 > THEN <表达式 > 
+     WHEN <求值表达式 > THEN <表达式 > 
+     WHEN <求值表达式 > THEN <表达式 >
+       . 
+       . 
+       .
+     ELSE <表达式 > 
+END
+ +
    +
  • 虽然 CASE 表达式中的 ELSE 子句可以省略,但为了让 SQL 语句更加容易理解,还是希望大家不要省略。
  • +
  • CASE 表达式中的 END 不能省略。
  • +
+
-- 通过 CASE 表达式将 A~C 的字符串加入到商品种类当中
+
+SELECT product_name,
+       CASE WHEN product_type = '衣服' 
+            THEN 'A :' || product_type 
+            WHEN product_type = '办公用品' 
+            THEN 'B :' || product_type 
+            WHEN product_type = '厨房用具' 
+            THEN 'C :' || product_type 
+            ELSE NULL
+       END AS abc_product_type 
+  FROM Product;
+
+-- 由于 CASE 表达式是函数,所以只会返回一个值,6 行 CASE 表达式代码
+-- 最后只相当于 1 列(abc_product_type) 。
+ +

sql03-06-04

+
    +
  • 使用 CASE 表达式能够将 SELECT 语句的结果进行组合。
  • +
+
-- 通常使用 GROUP BY也无法实现行列转换
+
+SELECT product_type,
+       SUM(sale_price) AS sum_price 
+  FROM Product
+ GROUP BY product_type;
+ +

sql03-06-05

+
-- 使用 CASE 表达式进行行列转换
+-- 对按照商品种类计算出的销售单价合计值进行行列转换
+
+SELECT SUM(CASE WHEN product_type = '衣服'
+           THEN sale_price ELSE 0 END) AS sum_price_clothes,
+       SUM(CASE WHEN product_type = '厨房用具'
+           THEN sale_price ELSE 0 END) AS sum_price_kitchen,
+       SUM(CASE WHEN product_type = '办公用品'
+           THEN sale_price ELSE 0 END) AS sum_price_office
+  FROM Product;
+ +

sql03-06-06

+
    +
  • 虽然有些 DBMS 提供了各自特有的 CASE 表达式的简化函数,例如 Oracle 中的 DECODE 和 MySQL 中的 IF,等等,但由于它们并非通用的函数,功能上也有些限制,因此有些场合无法使用。
  • +
+
-- MySQL 中使用 IF 代替 CASE 表达式 
+
+SELECT  product_name,
+        IF( IF( IF(product_type = '衣服', 
+                   CONCAT('A :', product_type), NULL) 
+                  IS NULL AND product_type = '办公用品', 
+                   CONCAT('B :', product_type), 
+            IF(product_type = '衣服', 
+               CONCAT('A :', product_type), NULL)) 
+                   IS NULL AND product_type = '厨房用具', 
+                      CONCAT('C :', product_type), 
+                   IF( IF(product_type = '衣服', 
+                          CONCAT('A :', product_type), NULL) 
+                IS NULL AND product_type = '办公用品', 
+                   CONCAT('B :', product_type), 
+            IF(product_type = '衣服',
+               CONCAT('A ', product_type), 
+          NULL))) AS abc_product_type
+  FROM Product;
+ + + + + +
+ +
+

还余下了好些,可惜暂时没有机会看完了,就先学习这么多吧。来日方长,给未来多留点坑(

+
+
+ + + + + + + + + + + + + + + + + + + +
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2022/12/28/2022-final-summary/index.html b/2022/12/28/2022-final-summary/index.html new file mode 100644 index 000000000..b4971c17a --- /dev/null +++ b/2022/12/28/2022-final-summary/index.html @@ -0,0 +1,211 @@ +所有的结束亦是开始 | 叶子的花园 + + + + + + + + + + + + + + + + +

所有的结束亦是开始

cover

+
+

All endings are also beginnings, we just don’t know it at the time.

+

—— The Five People You Meet in Heaven

+
+ + +

今年于我的年度词汇,我的选择是:结束

+

为什么会选择这个词呢?因为在这十二个月中,我见证了人生中好些重要经历的落幕:虽然我还没有大学毕业,不过由于我提前修满了学分,所以在年中的时候,我的上课生涯就结束了;自2020年起的三年疫情,也在十一月末的时候突兀结束了;实验室的好些朋友毕业/出国/工作了,也有好些朋友即将离开,这或许也是我们友谊的结束;还有好些私人的经历也结束了或将要结束,就不在这里多说了。

+

回顾这一年,如果仅凭回忆的话,好像没有记住多少事情。这一年就像是一根线,这头是年初,那头是年末,被十一根划线均分为了十二线段。按理说上面的每一天都有独特的故事,可为什么我现在只能在上面看到几个稀疏点呢?想要写年终总结还得翻出我之前留下的文字和照片,才能再回忆起一些,或许是我的生活太平淡了吧。

+

在写好这个开头以后,事情并没有按照我预计的方向发展,所以这篇年终总结就只有这样了,只能展示当时写的大纲,它可能再也完成不了了。不要想着把事情推到以后,因为以后会有以后的事,就做不了现在的事了。

+
+书、剧和电影的历程 + +

2022
1月

+
    +
  • 【电影】黑鹰坠落(2001)—— 2022-01-09
  • +
  • 【电影】铁雨(2017)—— 2022-01-10
  • +
  • 【剧集】是,首相!(S02)—— 2022-01-11
  • +
  • 【电影】夺宝奇兵1:法柜奇兵 —— 2022-01-11
  • +
  • 【书籍】唐宋才女逸史 —— 2022-01-13
  • +
  • 【剧集】双城之战(Arcane)—— 2022-01-17
  • +
  • 【剧集】希尔达S01(Hilda)—— 2022-01-24
  • +
  • 【纪录片】大空头(The Big Stock)—— 2022-01-27
  • +
  • 【剧集】希尔达S02(Hilda)—— 2022-01-28
  • +
  • 【剧集】希尔达与山丘之王 —— 2022-01-31
    2月
  • +
  • 【电影】猫和老鼠:西部大冒险(2022)—— 2022-02-02
  • +
  • 【纪录片】大同:中国市长(2015)—— 2022-02-03
  • +
  • 【电影】冰雪奇缘(Frozen)(2013)—— 2022-02-03
  • +
  • 【纪录片】冰雪奇缘的故事:打造迪斯尼动画经典(The Story of Frozen: Making a Disney Animated Classic)—— 2022-02-04
  • +
  • 【电影】冰雪奇缘2(Frozen II)(2019)—— 2022-02-09
  • +
  • 【书籍】圆圈正义—— 2022-02-12
  • +
  • 【书籍】大学之路—— 2022-02-16
  • +
  • 【电影】蜘蛛侠:英雄无归(2021)—— 2022-02-17
  • +
  • 【播客】牛油果烤面包:#81. 战争恶梦没有尽头——从老兵心理创伤治疗看战争 —— 2022-02-19
  • +
  • 【书籍】豪气歇 —— 2022-02-20
  • +
  • 【播客】没理想编辑部:Vol.50 等待春天时,要看点荒谬的、快乐的、轻盈的东东 —— 2022-02-22
  • +
  • 【播客】迪幻腕掰腕 Ep 11:玲娜贝儿火了,迪士尼的故事还讲不讲了?—— 2022-02-24
  • +
  • 【书籍】罗马人的故事1 —— 2022-02-27
  • +
  • 【播客】晚点聊 LateTalk:0.没想到吧,晚点做播客了!—— 2022-02-28
    3月
  • +
  • 【纪录片】Into the Unknown: Making Frozen 2(S01E01–E06)—— 2022-03-02
  • +
  • 【播客】没理想编辑部: Vol.51 谈异地恋的人,都是什么人中龙凤啊?!—— 2022-03-06
  • +
  • 【纪录片】约翰·威尔逊的十万个怎么做(S02)—— 2022-03-07
  • +
  • 【电影】大独裁者 The Great Dictator(1940)—— 2022-03-11
  • +
  • 【书籍】what if?(那些古怪又让人忧心的问题)—— 2022-03-14
  • +
  • 【播客】晚点聊:01: 教培行业被打压后,我家堆满了茅台酒和现金 —— 2022-03-15
  • +
  • 【书籍】罗马人的故事2 —— 2022-03-17
  • +
  • 【电影】行动目标希特勒(2008)—— 2022-03-21
  • +
  • 【播客】牛油果烤面包:#91. 2021 年终推荐 —— 2022-03-24
  • +
  • 【电影】蝙蝠侠:黑暗骑士(2008)—— 2022-03-26
  • +
  • 【电影】007之大破量子危机(2008)—— 2022-03-29
    4月
  • +
  • 【电影】不要抬头 Don’t look UP(2021)—— 2022-04-09
  • +
  • 【书籍】明朝那些事儿(修订版)—— 2022-04-10
  • +
  • 【剧集】大明王朝:1566(2007)—— 2022-04-18
  • +
  • 【电影】夜叉(2022)—— 2022-04-19
  • +
  • 【播客】晚点聊 LateTalk:10.我是如何发现你简历造假的:与两位猎头聊背景调查 —— 2022-04-21
  • +
  • 【书籍】罗马人的故事3 —— 2022-04-22
  • +
  • 【播客】没理想编辑部:Vol.56 和马家辉聊完,人生大事变成人生小事 —— 2022-04-26
  • +
  • 【电影】星际迷航(2009)—— 2022-04-29
    5月
  • +
  • 【电影】RAID(逃离塔科夫)—— 2022-05-01
  • +
  • 【书籍】罗马人的故事4:凯撒时代(上)—— 2022-05-04
  • +
  • 【电影】精灵旅社4:变身大冒险(2022)—— 2022-05-05
  • +
  • 【电影】帕丁顿熊(2014)—— 2022-05-06
  • +
  • 【纪录片】共犯者们(2017)—— 2022-05-09
  • +
  • 【书籍】罗马人的故事5:凯撒时代(下)—— 2022-05-17
  • +
  • 【电影】妈的多重宇宙(2022)—— 2022-05-23
  • +
  • 【剧集】命运石之门 与OVA(2011)—— 2022-05-24
  • +
  • 【剧集】命运石之门:聪明睿智的感知运算(2014)—— 2022-05-25
  • +
  • 【电影】命运石之门:负荷领域的既视感(2013)—— 2022-05-28
  • +
  • 【剧集】命运石之门0与OVA(2018)—— 2022-05-30
  • +
  • 【书籍】罗马人的故事6:罗马统治下的和平 —— 2022-05-30
    6月
  • +
  • 【电影】坏蛋联盟(2022)—— 2022-06-01
  • +
  • 【电影】少林足球(2001)—— 2022-06-02
  • +
  • 【电影】济公(1993)—— 2022-06-08
  • +
  • 【电影】喜剧之王(1999)—— 2022-06-10
  • +
  • 【电影】星际迷航2:暗黑无界(2013)—— 2022-06-16
  • +
  • 【电影】攻壳机动队(1995)—— 2022-06-18
  • +
  • 【电影】星际迷航3:超越星辰(2016)—— 2022-06-21
  • +
  • 【电影】帕丁顿熊2(2017)—— 2022-06-21
  • +
  • 【短片】女王和帕丁顿熊(2022)—— 2022-06-22
  • +
  • 【电影】养家之人(The Breadwinner)(2017)—— 2022-06-22
  • +
  • 【剧集】间谍过家家S01(2022)—— 2022-06-30
    7月
  • +
  • 【漫画】夏日重现(2017)—— 2022-07-05
  • +
  • 【纪录片】空中浩劫S22(2022)—— 2022-07-08
  • +
  • 【动画】唐老鸭从军记(1942)—— 2022-07-09
  • +
  • 【纪录片】空中浩劫S21(2021)—— 2022-07-18
    8月
  • +
  • 【书籍】二号首长(全三部)—— 2022-08-02
  • +
  • 【书籍】HKlesson1(2019)—— 2022-08-05
  • +
  • 【电影】铁甲钢拳(2001)—— 2022-08-19
  • +
  • 【纪录片】互联网之子:亚伦・斯沃茨的故事(The Internet’s Own Boy: The Story of Aaron Swartz)(2014)—— 2022-08-21
  • +
  • 【电影】攻壳机动队2:无罪(2004)—— 2022-08-22
  • +
  • 【电影】小黄人大眼萌2:格鲁的崛起(2022)—— 2022-08-23
  • +
  • 【电影】理查德·朱维尔的哀歌(2019)—— 2022-08-24
  • +
  • 【电影】萨利机长(Sully)(2016)—— 2022-08-25
  • +
  • 【剧集】逃避虽可耻但有用(2021SP)—— 2022-08-27
  • +
  • 【播客】牛油果烤面包:#103. 当硅谷遇上华尔街——Fintech金融科技 —— 2022-08-28
  • +
  • 【播客】晚点聊 LateTalk:20.不温和地走入区块链寒冬:与橙皮书李阳聊聊区块链这两年 —— 2022-08-30
    9月
  • +
  • 【播客】牛油果烤面包:#101. “字”如其人——聊聊计算机字体 —— 2022-09-11
  • +
  • 【播客】晚点聊 LateTalk:21.想要发电,要先有电:一个总工在中国和非洲修水电站的故事 —— 2022-09-11
  • +
  • 【电影】特工/北风(공작)(2018)—— 2022-09-19
  • +
  • 【剧集】赛博朋克:边缘行者(Cyberpunk: Edgerunners)—— 2022-09-25
  • +
  • 【电影】钢琴家(The Pianist)(2002)—— 2022-09-29
  • +
  • 【播客】牛油果烤面包:#106. 苹果 iPhone 14 发布会 —— 2022-09-29
    10月
  • +
  • 【电影】教宗的承继(The Two Popes)(2019)—— 2022-10-14
  • +
  • 【播客】枫言枫语 :Vol. 77 JJ: 在上海工作和生活是什么体验? Anyway.FM × 枫言枫语 —— 2022-10-16
  • +
  • 【电影】这个杀手不太冷(导演剪切加长版)(1994)—— 2022-10-20
  • +
  • 【剧集】老友记(S01)(1994)—— 2022-10-24
    11月
  • +
  • 【电影】香草天空(2001)—— 2022-11-01
  • +
  • 【电影】007之黄金眼(1995)—— 2022-11-09
  • +
  • 【书籍】修真聊天群(2015)—— 2022-11-11
  • +
  • 【电影】唐老鸭俱乐部电影版:失落的神灯(1990)—— 2022-11-13
  • +
  • 【纪录片】通天大逃犯:汽车大亨戈恩奇案(2022)—— 2022-11-14
  • +
  • 【电影】007之大战皇家赌场(2006)—— 2022-11-14
  • +
  • 【纪录片】成为詹姆斯・邦德:丹尼尔・克雷格的故事(2021)—— 2022-11-15
  • +
  • 【电影】西游降魔篇(2013)—— 2022-11-20
  • +
  • 【纪录片】美国商业大亨传奇:拓荒者The Men Who Built America: Frontiersmen(2018)—— 2022-11-24
  • +
  • 【纪录片】PBS长津湖之战:美国视角(2016)—— 2022-11-30
    12月
  • +
  • 【播客】牛油果烤面包:#107 年龄是一份礼物——离开互联网工作的两年 —— 2022-12-06
  • +
  • 【播客】迪幻腕掰腕:Ep 13:毛绒绒的可爱外表下是压抑到变形的青春 —— 2022-12-07
  • +
  • 【播客】晚点聊 LateTalk:25.以大博大:腾讯帝国与原神 【大公司的瞬间 S1E3】—— 2022-12-07
  • +
  • 【播客】晚点聊 LateTalk:23.乔布斯回归苹果前后几个月的故事 【大公司的瞬间 S1E1】—— 2022-12-09
  • +
  • 【播客】晚点聊 LateTalk:24.美团大扩张、饿了么之战与公司的人才观【大公司的瞬间 S1E2】—— 2022-12-12
  • +
  • 【播客】牛油果烤面包:#105. 急诊科医生是在救护车里工作吗?—— 2022-12-13
  • +
  • 【播客】枫言枫语 : Vol. 79 为什么“我们”不听新歌了?—— 2022-12-25
  • +
  • 【剧集】间谍过家家S02(2022)—— 2022-12-30
  • +
+
+ +

确实相当惊讶于自己这一年竟然看了这么多的内容:有14本书籍、43部电影、13部剧集、14部纪录片和23部播客!毕竟我只能想得起很少的几部,不知道大家都是这样,还是只是我很难去记住这些。

+

本想做一个年度推荐的,嗯,既然这样,就这样先吧。

+

还有一件事,我收到了联合国儿童基金会 UNCIEF 发来的捐款回执,也想要在这里分享给大家看看,算是满足我一点小小的虚荣心吧。

+

un_donation

+

希望今年的年终总结不要再这样了。

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2023/03/20/2023-03-Week-11/index.html b/2023/03/20/2023-03-Week-11/index.html new file mode 100644 index 000000000..56b8055bf --- /dev/null +++ b/2023/03/20/2023-03-Week-11/index.html @@ -0,0 +1,113 @@ +【周记】2023-11:初试周记 | 叶子的花园 + + + + + + + + + + + + + + + + + +

【周记】2023-11:初试周记

1100_cover封面图来自上官绯樱(@jokanhiyou),欢迎大家在Twitter上关注她!

+

凡事都有第一次的嘛……

+

前段时间看到好些推油每周都会写些周记,记录日常生活。我其实也一直在记,但多是给自己看的,想了想自己长草多日的博客,还是太惭愧了。所以就想尝试一下,写一些新的周记放在博客上面,以免博客变得微风卷绿浪,草原暗花香(

+ + +

要事

考试

这周末因为有两个很重要的考试,所以本周几乎全部的空余时间都在准备这个。

+

党支部会

周一中午的时候,党支部开了今年的第一个党会,学习了讲话,开展了批评与自我批评,课后还完成了书记布置的学习心得,这一切都是那么的蒸蒸日上

+

毕设

周二终于交上了毕设的开题报告,过程还是蛮顺利的,大改和小改了几次就过了。不过现在对这一切基本上还是毫无头绪,不知道接下来应该做什么…… 但愿行到山前必有路吧。

+

1102_baogao改好的毕设开题报告

+

博客除草

马上就到我博客的新域名满一周年了,去年末写完三篇 SQL 博文后,因为忙于考试和秋招,所以就放任博客继续长草了。今年本来也是想写去年的年终总结的,开了个头也再也没有后续。想到我咕了好多事情,真是愧对我在最开始给博客立下的座右铭:「靡不有初,鲜克有终」。想再写些东西,正巧收到 Namecheap 发来的域名续费邮件,就想着借着这次机会,重新开始写博客。一打开 Dash 发现我九块钱注册的域名,续费要十六美刀,这哪里是 Cheap,这分明是养猪!

+

前段时间看到有推友说 Cloudflare 开始提供域名服务了,所以这些天就把域名转移过来了。域名转移得非常顺利,没有遇到什么阻碍。这边差不多九美刀一年,刚转过来还送一年,感觉非常的良心(所以我也把博客底部的文字改成了「本网站由好人一生平安的 Cloudflare 提供免费的 CDN 加速」。

+

并且看到其他有博主使用萌 ICP 的备案,我今天也整了一个,自己选的备案号是 20232952,至于什么意思,那我就不知道了(

+

然后从这次开始试试写周记,如果效果不错的话,希望能一直写下去~

+

彩蛋

周日晚上,在给了别人别去 Namecheap 购买域名的建议后,收到了来自官方的留言,希望能反馈些意见,我想了想,在表扬官方服务很好之余,还是如实说了续费太贵,而我很穷。

+

1103_feedback推文意外被 Namecheap 官方回复了

+

最开始的那个连吐槽都算不上的留言,才隔了几分钟就被官方回复了,很难想象运营人员自搜的强度(

+

生活

生日

周一晚上的时候,室友过生请客吃饭,我们吃了一家客家餐厅,感觉蛮好吃的,特别是其中的烧腊!可惜这只是属于我个人的喜好,大伙儿票选出最好吃的菜是右边那个:

+

1101_food好吃的客家菜

+

最后大伙儿吃饭都很满意,现在回想起来,好像大家都忘记祝室友生日快乐了(

+

后来我们几个凑钱,给寿星买了个跑车的积木 —— 因为寿星刚考过驾照,就想送个这个以表祝福 —— 像乐高那种,但不是乐高,因为太贵了……

+

洗面奶

最近自己常用的洗面奶用完了,就打开淘宝回顾了一下上次购买的时间,是去年九月初,一算还是用了小半年了。当时买的是100ml装的,因为我的脸常出油,所以每天早晚都会用到。之前中学时用的比较差,上了大学以后蛮注意这方面,所以一直选的都是比较好的洗面奶。刚刚在淘宝上看到它的价格快两百块了,想到自己的账户,不免有些心疼……

+

阅读

这周还是在读《第三帝国的兴亡》《坠落与重生:9·11的故事》,这两本都已经读了很长时间:前者大概是去年年中开始读的吧,后者大概是去年十一二月开始读的。我每天看书的时间约莫半个小时左右,所以读得很慢;有时也看新闻或者像晚点 Late Post 这样的财经媒体,那天也就没有在看书了。

+

这样吧,订个小目标,下周把九幺幺的第十二章和第十三章看完,没准这样更有读书的动力(

+

至于前者,我也知道其实它还是与真实的历史有些出入,因为近年来有好些观点被新的研究修正,所以想要了解第三帝国的历史,读前几年出版的第三帝国三部曲或许更好些,但那套书我已经看了大半,还是想要把它看完,有始有终嘛。

+

语言

上周购买了多邻国的家庭会员,因为我发现它终于上线了粤语课程!我在广州生活了这么多年,只能听大概听懂,却不会说什么粤语,实在是有些丢人。这周除了照常背英语单词外,也在坚持学习粤语。感谢我身边的本地土著愿意为我正音,有时我麻烦他们太多,都有些不太好意思了。

+

影音

这周很忙,所以就没有太多了影音活动,只在跑步的时候听了两集播客而已:

+
    +
  • 枫言枫语:Vol. 85 科技快乐星球15: 全世界都在玩ChatGPT;
  • +
  • 迪幻腕掰腕 Ep 18:也许是这档播客最后一次聊奥斯卡;
  • +
+

下周打算把以前下载的纪录片《意志的胜利》看完!

+
+

本周的记述大概就是这样了,我的日子过得还算满意。因为要展示出来的原因,所以在内容上比我自己写的要详细许多。希望下周也能有同样丰富精彩的生活,也希望在未来能不辜负我的座右铭,继续下去,有始有终吧~

+

感谢看到这里,我爱大家 —— ❤️来自瓷器

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2023/03/23/film_review_of_puss_in_boots_2/index.html b/2023/03/23/film_review_of_puss_in_boots_2/index.html new file mode 100644 index 000000000..1ee4bd31f --- /dev/null +++ b/2023/03/23/film_review_of_puss_in_boots_2/index.html @@ -0,0 +1,215 @@ +【影评】旧瓶装新酒,余香亦回甘 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + + + + +

【影评】旧瓶装新酒,余香亦回甘

cover封面图来自画师 Beej!!,欢迎大家关注他!另外,我不是福瑞控,只是近年来梦工厂拍的福瑞电影太多了(

+
+

希望你我不必等到耗尽八条命,就已珍惜这一世。 —— 豆瓣影评

+
+ + +

这周找了个晚上,看了年初很期待、但因为一些原因没能去影院看的电影 —— 穿靴子的猫 2。当演职员表浮现于屏幕上时,我感觉靴猫 2 不负我的期待,作为一部成熟的商业电影,它故事老套却另有新意,再加上一点情怀,我愿意给它 8.9 分

+

还是老规矩,我在看电影之前,会先看看院线的影片简介:

+
+

时隔 11 年,臭屁自大又爱卖萌的猫大侠回来了!如今的猫大侠,依旧幽默潇洒又不拘小节、数次 “花式送命” 后,九条命如今只剩一条,于是不得不请求自己的老搭档兼「宿敌」—— 迷人的软爪来施以援手来恢复自己的九条生命。

+
+

我很喜欢这里描述猫大侠「臭屁自大又爱卖萌」「幽默潇洒又不拘小节」,真是太贴切了哈哈哈。后面的文字大概讲了故事走向,不过我之前看那几支预告片的时候,大概就已经全部猜到了,所以对我而言它们的信息熵为零

+

因为接下来想要评价电影的内容,所以会有一个

+
+ +
+

⚠️ 剧透警告 ⚠️

+
+
+ + + +

故事

故事就如同我上文提到的那样,非常老套,又是这种两个人因为某种原因在一起后,经历冒险共同成长,最后相互救赎的故事:

+

靴猫「普斯 Puss」在又一次冒险中意外丢掉了他的第八条命,医生建议他金盆洗手。被「死神」追逐的靴猫无奈退休,却在因缘际会下发现神器「许愿星」能满足他重获九条命的愿望。于是他重出江湖,与小狗「佩里罗 Perro」和途中遇上的旧友「软爪凯蒂 Kitty」一起前往黑森林。经过了一次又一次的考验,他开始懂得什么才是生命的意义,最后放下了恐惧,击败了死神,最后三人过上了幸福的生活(Happy Ending

+

everyone

+

这样的故事放在 70 年代初很新颖,但现在已经半个世纪过去了,人们早就有视觉疲劳了。不过对我而言算是粉丝向的情怀电影,故事老套也就无所谓了。不过本片的其他地方,比如叙事节奏、分镜与音乐等元素都非常的成熟,还加入了近几年在《蜘蛛侠:平行宇宙》中令人耳目一新的 2D 打斗风格。只能说不愧是梦工厂出品,即使这些年在与迪士尼的竞争中略显颓势,但其在商业动画电影方面依旧保持着顶尖水平。

+

并且,在配角的塑造上,梦工厂也非常地用心:无论是金发女孩高尔蒂与三熊一家,还是最开始的医生、月亮妈妈,角色都有血有肉,非常丰满立体,也有着较为完善的动机,做事全然不突兀。特别是高尔蒂熊一家,总是一遍又一遍地展现出他们家所秉持的「just right 恰到好处」的事理,当我们听到他们每每感叹那「不冷不热的粥,不短不长的勺柄,不软不硬的床」时,都忍俊不禁。而当高尔蒂的愿望伤了熊一家人的心后,MAMA Bear 说出的「如果这真的是你想要的,那妈妈会想办法替你完成!」也十分令人感动。凡此种种,皆塑造了各个角色性格与情感等,使得角色不再仅仅是满足导演或编剧故事的苍白工具人,而是实实在在地有了其深度,这也是对电影故事好坏至关重要的因素。

+

靴猫 2 的故事虽然老套,不过令人意外的是,本片所表达的内涵却与以往的合家欢电影不同:借用一个知乎的影评

+
+

(很难想象)他们竟然敢往一个合家欢的影片里如此直白地添加「死亡」和「生命的意义」这种沉重的话题,重点是竟然真的成功了。

+

我接触过的相似的作品还有《寻梦环游记》,但是他们并没有直接直白地表明死亡本身是个可怕的东西,反而是把死亡浪漫化了,比如说充满骷髅的亡灵世界,无人惦念的亡灵会消散…… 生与死之间的对立紧张感反而没有特别强烈。

+
+

本片同时照顾到了大小观众:小朋友们看到了靴猫与同伴富有英雄主义的精彩冒险,而大人们则感受到了电影对「生死意义」的思考。从这方面来看,电影所呈现出的故事确实可以说是相当地成功。

+

八卦

《穿靴子的猫》可以算是《怪物史莱克》系列的番外篇,系列善于借用旧有的童话,去演绎全新的故事。这一作也继承了该系列的风格,我们还是可以在其中看到反经典的传统。有关本片参照了哪些童话故事,请参见《八卦〈穿靴子的猫 2〉人物和背景故事》这篇文章,这是我很喜欢的一篇科普,作者写得非常的全面,不过我在下文中还是想写一些感兴趣的。而在这部电影中,最让我觉得有意思的是金发女孩高尔蒂与三熊一家,和他们借用的童话角色。

+

goldy_family

+

他们一家,也就是金发女孩高尔蒂(Goldy)、Papa、Mana 和 Baby 三只「恰到好处」的熊组成的家庭,给我留下了深刻的印象。根据互联网上找到的资料,他们最早出自英国作家罗伯特·索西(Robert Southey)于 1837 年出版的短篇《金发姑娘和三只熊》(Goldilocks and The Three Bears),可以算是在英格兰地区广为流传的童话故事,想看原文的话可以参考这个地方喔!

+

goldy_family_color之前那张图因为是通缉令,所以显得太肃杀了,这里放一张日常图(

+

童话里讲述了孤儿高尔蒂,在误闯熊的屋子后,却幸运地被三熊一家收养,成了家庭的一份子。这里有疼爱她的「熊爸爸 Papa」和「熊妈妈 Mama」,还有经常和她吵架斗嘴的「熊弟弟 baby」。然而,外表看似骠悍野蛮的她,心中却有着不为人知的渴望。在电影中提到过,她在童年时经常翻阅一本书,在那本从图书馆中借来的童话书里有一张家庭和睦的插画,而其中的孩子被高尔蒂画成了她自己的样子。她之所以一心一意想要获得许愿星,其实是因为在她心中一直有着「被抛弃」的遗憾感,渴望能回到「正常」的家庭,和自己的亲生父母生活在一起。

+

galdysdraw

+

还有一个小彩蛋,这本童话书扉页上的借书单上露出了五条记录,除了金发女孩高尔蒂的三次借阅之外,还有「汉索尔 Hansel」和「格雷特 Gretel」的名字,他们是《糖果屋》中的男女主,也被父母抛弃在了森林里,从中也可以看出导演对高尔蒂孤儿身份的暗示。

+

loanform

+

在熊妈妈得知女儿心中真实的渴望后,她的内心非常受伤。因为一直以来,她总是将高尔蒂视如己出,把她当成亲生女儿在疼爱。对熊妈妈来说,虽然难过,但她更在乎的却仍是女儿高尔蒂的感受。对她来说,哪怕没有血缘关系,只要真心以待,那就是家人般的存在。正如上文提到的,熊妈妈对高尔蒂说:

+
+

如果这真的是你想要的,那妈妈会想办法替你完成!

+
+

三熊放下内心的失落,为了高尔蒂的愿望,与她一起去争夺许愿星的地图。在最后关头,高尔蒂为了救下熊弟弟,放弃了唾手可得的许愿星图,在故事结束的时候与三熊团圆在了一起。其实在这个时候,高尔蒂也明白了她的愿望早已实现,她早就拥有了心目中所渴望的家庭。

+

perro谁能拒绝小佩趴在你的身上呢?

+

当然,除了他们一家外,小狗「佩里罗 Perro」也是非常有意思,他也是一个很萌、很重要的角色,间接推动了主角成长。不过在电影之外已经有很多的人在讨论他了,并且我的感受与大家也基本上大差不差,所以就不再赘述啦。

+

内核

最后,就到了我们电影最重要的部份:靴猫与死神的纠缠。这一部分贯穿了整个电影,也是推动故事向前发展的动力,并让故事在靴猫与死神的最终决斗时达到高潮,这也是我认为本片故事节奏优秀的另一原因。

+

逃亡

最初,靴猫无意或有意地浪费掉了前面的八条命,但他对之前的死亡不以为意,仍接着奏乐接着舞,哼着本片的主题曲《Fearless Hero》

+
+

Who is your favorite fearless hero?
Who’s brave and ready for trouble? (You are, you are)
Who’s so unbelievably humble? (You are, you are)

+
+

就当他在酒馆点了一杯牛奶时,一旁坐过来了一只黑衣白狼。靴猫以为那是个赏金猎人,自信地大打出手,却没想到惨败在白狼的两柄镰刀之下。剑被击落在地,靴猫汗毛炸起,眼前浮现出过去经历的走马灯,他第一次感受到了死亡的滋味。

+

firstfight啧啧,瞧瞧这画面张力

+

窗外电闪雷鸣,白狼睁着他血红的双眼,站在一旁,等着靴猫将剑捡起:

+
+

Pick it up. Pick, it, up.

+
+

靴猫在这个酒馆里吹嘘过太多次自己过去的英勇事迹,自己有多么的无畏(Fearless),多么的传奇(Legend)。结果当真正面对死亡时,作为一名剑士,他居然丢下了自己的剑,慌不择路,从下水道逃走了。

+

后来靴猫总是在冥冥中总是看到这只黑衣白狼尾随其后,他无论怎么逃,都无法逃脱。他本下定决心,埋葬了自己的剑客披风、帽子和手套,从此归隐不问世事。然而,当他在养老院听说「许愿星」即将出世后,他决心拿到许愿星,恢复他的九条命,以此延缓死亡的到来,回到他原来放荡不羁的潇洒生活。

+

wolfandgoldcoins

+

此外,在这一幕中,靴猫三人偷走许愿星地图后,驾马车出城撒金币解围。靴猫回头时,看见白狼捡起了两枚金币放在眼上,手指指向自己。这应该是源于西方人在人死后,会在逝者的两只眼睛上各放一枚金币,作为给冥河船夫卡戎的过路费。这一幕是在暗示靴猫死亡如影随形,任凭他逃到天涯海角,也无法避免被死亡追上。

+

释然

靴猫经历完一系列冒险,成长许多。在最后他成功地拿到了许愿星的地图。然而就在此时,白狼从死地出现,以双刀划出火墙,将靴猫与自己一起关入其中。在火焰的围绕下,面对白狼,靴猫恐惧得全身发抖,拿着地图不知所措,他看向许愿星,想要马上许愿。

+
+

你要采用懦夫的方式作弊吗?想许愿逃往更多的生命?还是你要与我堂堂正正地打上一场?

+
+

「死神」白狼说到,同时将靴猫丢失了一整部电影的佩剑扔过来:

+
+

Pick it up. Come on, Pick it up!

+
+

靴猫的眼前再一次浮现出了走马灯,不过这一次少有他从前的经历,更多的是他在这一命中,与结识的朋友共同冒险的画面。白狼见靴猫僵在原地,嘲讽到:

+
+

怎么?眼前又闪过前几世的走马灯了?

+
+

这时,靴猫释然了,他明白了「猫生」的真谛,接受了现在的这一切,从现在开始,他不再害怕死亡。他的眼神变得坚定,丢掉了「许愿星」,他又变成了我们熟悉的那个 Fearless Hero。只见他缓缓地抬起头,说道:

+
+

不,只有这一世。我不想再逃了。

+
+

他拾起了佩剑,向前举起,对准白狼:

+
+

Fear me if you dare!

+
+

经过一番激烈的打斗后,靴猫靠着凯蒂给他的小匕首,最后战胜了白狼。他击飞了白狼手中的镰刀,看着白狼跪倒在地上,靴猫将镰刀踢到白狼身前,将白狼的话回赠给他自己:

+
+

Pick it up.

+
+

finalfight

+

离别

靴猫也知道,他可以打败死神,却永远也无法战胜死神,唯一的办法是勇敢地面对他,接受「猫」终有一死的命运。

+
+

我知道我永远都无法打败你,但我的余生都将永远抗争下去。

+
+

白狼死神凑近脸,猩红的眼睛紧盯着靴猫,想从看出些什么似的,可他眼里没有一丝恐惧。白狼死神转身,用西语抱怨了一句,随即又转过身来:

+
+

你毁掉了这一切!我要杀的是一个狂妄自大,认为自己是不朽传奇的蠢货。

+
+

死神叹了口气,说到:

+
+

但我不再能见到他了。

+

珍惜你的生命吧,靴猫,好好活着。你知道我们还会见面的,对吧?

+
+

靴猫回答到:

+
+

「是啊,人终有一死。」

+
+

白狼死神离去,这一幕也就结束了。

+

太帅了!靴猫什么时候这么帅过!曾经的他潇洒地享受着「猫生」,分不清牺牲与耍酷(这一点从官方的番外《三叉戟》中可以看到)。他挥霍着生命,虽然帅气臭屁,可总给人一种长不大的大男孩感觉。直到这最后一幕过后,靴猫才意识到了「生命」与「现实」的含义,真正地成长了。这样的成长随着故事自然而然地发生,丝毫不见得生硬,与时下众多影剧相比,可以说是相当地优秀了。

+

有趣的观点

thecat

+

另外,在豆瓣、知乎查电影八卦的时候,也看到了许多有意思的观点,这里我摘两个最喜欢的观点吧。两个观点都来自于豆瓣,第一个观点来自于本篇引文所引用的那篇文章:《希望你我不必等到耗尽八条命,就已珍惜这一世》

+
+

这让我想起一个很有意思的现象:越是年纪轻轻,越是不怕死,动不动就把死挂嘴边;越是上了岁数,越是忌讳死,不会轻易拿死说事。

+

或许对于年轻人来说,并非真不怕死,而是死亡距离自己太遥远了,遥远到就如同 “猫生” 的九条命,满嘴跑火车地虚度年华也不觉得可惜;而对于老年人来说,都已黄土埋了半截,余日恐无多,谈论近在眼前的死亡太过严肃。

+

死亡这件事没有变,与它的距离变了,对它的态度也就变了。希望你我不必等到耗尽八条命,就已珍惜这一世。

+
+

第二个观点是我在另一篇影评看到的,《英雄主义、恐惧、死亡、爱、信任、家人、选择、天真与热烈》,这个观点本身出自播客《来都来了|听了再走》第 126 期的内容(改天我也去听听看):

+
+

下面摘录一段李松蔚老师的原文:

+

所以上世纪 30 年代经济大萧条,电影业反而蓬勃发展。人们希望用故事短暂地逃离现实,借助那些神奇的想象制造奇迹,抹平现实中的苦难。出乎意料的是,这个故事居然是现实向的。它说的是,苦难没办法被真正抹平

+

这个童话塑造了一个死神的形象,非常有特点。作为整个故事最大的反派,它强大,冰冷,同时又具有某种残忍的温情,他一路逼迫着主角向前走,把他从一个看上去英勇潇洒,无所畏惧的传奇英雄,一步一步地逼向垂暮,逼他面对内心的软弱,再奋起抗争。到最后你几乎以为主角就要胜利了,但结果还是死神永生。这就是现实,死亡无法打败,迟早卷土重来。但正因为如此才能感知到生命的可贵。死和生是密不可分的一体,正如死神与主角永远如影随形。故事就从这样的角度,给予了一种具有现实温度的治愈。

+

是清冷当中的温和,但是刚刚好。

+

电影有好几组有意思的角色,都是追寻奇迹的同路人,有合作伙伴,也有竞争对手。每个人都执著于找到许愿星的奇迹,重新改写现实。有人想要一个永远都不会背叛自己的爱人,有人想要找回自己的家。愿望都很美好,可是在他们希望通过奇迹改写现实的时候,往往就带有一种否定的,不惜抹去一切现实的怨恨。一个小女孩从小就是孤儿,被几只熊收养了,她对奇迹的向往就是让自己重新回到家里。熊一开始不理解:「我们不就是你的家人吗?」直到他们意识到,自己在小女孩的愿望里根本没有立足之地。对奇迹的孜孜向往,背后是在用另一种方式表达对现实的否定:「这个世界对不起我」。每个人都在怨恨,在互相掠夺和伤害。这段看得我非常窒息。虽然是童话,但这些能量我并不陌生。

+

好在故事没有往这个方向开展,它回到了现实。它致力于探讨的不光是生死、归属,还有一个更加心理学的议题,叫做「逃离现实 VS. 接受现实」,而它最终提供的答案很白痴,叫做:

+

猫狗多么可爱,撸猫 / 撸狗吧!

+
+

是不是很有意思的观点?那我们可真是英雄所见略同了(

+

对靴猫 2 我想说的大概就是这么多了,希望以后也能学着这些有意思的人,能在作品中领悟更多的内容,也希望以后也能写更多有意思的影评!

+

看到这里,感谢您的阅读~

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2023/03/27/2023-03-Week-12/index.html b/2023/03/27/2023-03-Week-12/index.html new file mode 100644 index 000000000..b03aa45b3 --- /dev/null +++ b/2023/03/27/2023-03-Week-12/index.html @@ -0,0 +1,103 @@ +【周记】2023-12:广州冰雹 | 叶子的花园 + + + + + + + + + + + + + + + + + + +

【周记】2023-12:广州冰雹

1200_cover

+

前言

本周其实是蛮寻常的一周,少有新鲜的事情,所以就写得少了些。哎呀,其实不是我想窝在学校里,因为广州这周一连下了好多天的大雨,我想出去也无处可去嘛……

+

但我的室友们都去外地玩/回家了,我却没有这个机会,真是太羡慕他们了。

+ + +

广州冰雹

1201_hail

+

这周广州一连下了几天的暴雨,这个没什么,算小事,可广州居然下冰雹了!很难想象广州这么一个接近北回归线、地理位置接近热带的地方,在三月还能下冰雹,这么多年来我还是第一次见到呢!

+

当时我正好去教务处办事的路上,本来是打着伞的,见事不对就赶紧躲到了操场旁边的体院楼下,然后就赶紧拍了上面这张照片。当时天上落了好多冰 🧊,真的好壮观!

+

港校宣讲会

之前看到群里的消息,周一晚上港科大 HKUST 来我们学校宣讲,第二天还要去中大。我对香港留学也蛮感兴趣的,而且我有好多朋友也在那里,也经常去玩,常看新闻,对那边比较熟悉。如果有合适的机会,我不介意去 HK 🇭🇰。

+

结果饭后过去一听,虽然来了三个工学院的教授,可全程都在讲他们的 MSc —— 也就是一年制的授课型硕士。想起之前跟某位去德国 🇩🇪 留学的同学交流的时候,他说「好的项目都是不需要宣讲的」。我一下子恍然大悟,遂不再考虑这些项目。

+

不过同样是 HKUST,我也在同时申请他广州校区的红鸟计划,这是一个 MPhil 的项目,我觉得蛮不错的,就想等着上周的考试结束后,立刻准备材料去申请。

+

花园栽培

由于快到我博客域名一周年了,所以我将博客的 about 页面更新了一番,毕竟这里记录着博客的历史,怎么能错过周年庆呢?虽然之前也从来都没有庆祝过建站周年,不过以后没准会有的(

+

这段日子重回博客,由于云游前辈的 theme 更新了,所以我也能在更新版本后为博客启用更多的功能。不过他最近在写自己的框架,这个主题进入了维护模式,有些小遗憾,想着再过一段时间,就把博客迁移去他的新主题上。

+

另外,我还将博客的评论系统从 utterances 换成了对回复更友好的 giscus,后者自称受前者很大启发,并且也是依托 GitHub 记录评论的,所以不用担心切换服务后过去的评论会消失,我将它们都安全地迁移过来啦。

+

我还为博客添加了 Google 的 SEO 呢,希望以后能写出能显示在 Google 上第一页的博文。

+

两部电影与一篇影评

本周看了两部电影,一部是春节之前上映、却遗憾没能去影院看的《穿靴子的猫2:最后的愿望》,另一部是新海诚的新作《铃芽之旅》。前一篇猫猫动画电影我给 8.9 分,因为在前几天写了一篇影评:《旧瓶装新酒,余香亦回甘》,就不在这里多言啦;后一篇算是灾难爱情动画电影,嗯因为少了些粉丝滤镜,所以我给 8.5 分吧。就我个人而言,这两部电影都值得一看!

+

其实在画面、分镜和声乐上,《铃芽之旅》无疑是同类中的佼佼者。很多人都纠结于电影的故事,认为爱情线完全是多余的。但我认为这样不对,因为他们忽略了铃芽的年纪,她只是一个十六岁心理敏感的高中生,我们不能依赖自己的阅历去指责人物的动机与行为。这篇文章也提到了另一种视角:

+
+

另外关于爱情观,其实也隐含了一个问题,自幼遭遇灾难失去母亲的孤儿会以什么样的形式对待恋人?

+

不圆满的原生家庭譬如孤儿或者单亲家庭孩子很多时候具有难以置信的执拗和固执…… 有时候对待「恋人」尚且需要打引号,因为刚开始的喜欢或者爱,可能只是飞蛾扑火渴望温暖,也有可能仅仅是那个人与记忆里面的亲人相似,是另一种寄托的投射。

+
+

运动

这周又重新有意识地监督自己运动,给自己定下的目标是一周至少跑三次步,结果前三天激情跑了两次,今天周日在负罪感的逼迫下,才跑完最后一次…… 还是感觉自己太懒了些,不能在室内窝太久,实验室的其他人几乎天天都去健身房锻炼呢。

+

说起健身,还是蛮羡慕他们的身材,我也在想要不要也开始健身?想了想马上要毕业了,就暂时不考虑这个了,等毕业后稳定下来再说吧。

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2023/04/02/2023-03-Week-13/index.html b/2023/04/02/2023-03-Week-13/index.html new file mode 100644 index 000000000..f3fd83a8e --- /dev/null +++ b/2023/04/02/2023-03-Week-13/index.html @@ -0,0 +1,120 @@ +【周记】2023-13:拓扑与信使 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + +

【周记】2023-13:拓扑与信使

1300_cover这是一个非周期单密铺的图形,是不是好漂亮!

+

前言

本周的 real life 非常的充实,online life 也在充实之余为我提供了好些慰藉。运动与锻炼也没有落下,就是雨水太多了,有一天甚至跑到一半就下雨了……

+

这周室友们依然不在寝室,虽然也蛮想念他们的,不过不被人打扰的作息真是太棒了(

+ + +

三方协议

去年九、十月份面试的一家事业单位 —— 经过了长达半年的时间 —— 终于通知我开始下一步,进入了签三方协议的流程。不知道是他们内部程序复杂繁琐,还是仅仅因为部门效率低下。好在没出什么意外,这对于处在如今这样的大环境中求职的我,已经算是很好的了。

+

1304_negotiate

+

不过,我还是希望他们能再晚一些,因为我这里还有些 offer 没有开奖,申请的学校也尚未有满意的结果。而我看过了协议:如果签下了这份三方,那我将面临长达三年往上的服务期与高达数万元的违约金,这比其他的公司要远高出不少。我不想这么快就签字卖身,当时报考他们是为了求稳,使自己多个保底的选择,而现在的我还是想看看有没有其他的机会。但他们那边的人事催我两天后将电子版协议发给他们,由于现在都是在网上办三方协议,所以这基本上就意味着需要马上走流程。

+

我考虑了一下,还是先签下三方协议吧,至少保底是没有问题了……

+

毕业证件照采集

上周学校教务处发了一个《关于做好 2023 届本科毕业班学生图像信息采集工作的通知》,要求我们在一家合作服务商的小程序处上传照片,每个人收取 15 元的服务费…… 教务老师在群里还催我们,说「如果学生还不采集照片,导致拿不到毕业证,后果自负!」本来还有几个月就要毕业了,想着多念点母校的好。可这样的服务、费用与老师态度,让人感到不是很舒服……

+

对了,说起毕业照片,因为我在春节后的这段时间很少运动,体重有点增加了。为了在几个月后能拍些好看的毕业照,这段时间我开始重新健身了,希望能给大学生活一个圆满的结果吧。

+

最新的拓扑图形!和它的数学家

这周看到联合国教科文组织中文账号的推文,里面介绍了最近发现的一种拓扑图形:

+

1301_unesco

+

这样不规则的图形,没有任何的周期性,却又含有某种规则的美。我看到它后就被彻底地迷住了,马上就把它设为了我的墙纸。后来在看它的时候,突然有些好奇发现它的数学家是什么样的人,于是就顺着名字找了过去,发现了这位加拿大滑铁卢大学 Craig S. Kaplan 教授的个人主页

+

没想到像数学家这样老派的人,除了在学校官网的个人页面之外,也会有自己的站点和 Mastodon 账号,于是便赶紧关注了他。在他介绍自己联系方式的时候,提到可以通过学校邮箱联系自己 —— of course,外国人喜欢用邮件聊正事,不过他说还有自己的私人邮箱,但不一定会回复。很有意思的是,这是他用自己域名配置的邮箱,一下子就感觉他对计算机一定不陌生,回去细细一看:喔,原来是计算机学院的数学家啊,也难怪会有这么丰富主页……

+

我知道后来的关注点不太对,但我下次还敢(

+ +
这是他 Mastodon 长毛象的链接预览,要是加载不出来就自己想想办法吧(
+ +

坂本龙一先生过世

1302_sakamotoSakamoto Ryūichi

+

坂本龙一先生于 3 月 28 日晚在东京去世了😢🕯️。

+

我是到了大学才了解到他的,同学给我放了他的音乐,我从此就记住了他。之前听说他的病情稍有好转,可没想到来得这么快…… 现在想不出什么来了,向大家推荐一篇旧文吧:

+

【平安夜特輯】坂本龍一:四位音樂人帶你聽,寒冬裡望見宇宙中的彼此

+

信使 - Courier

想学着其他周记的样子,在最后列一些本周看的 文章 / 影剧 或其他值得回顾的东西,不过我一直不知道这个栏目取什么名字为好。这周因为那张拓扑图形的缘故,去教科文组织的官网看了看,发现他们有一本叫《信使》的杂志写得蛮不错的,于是在订阅之余,就直接借用他们的杂志名啦。

+

读物

    +
  • 【杂志】《数学为王》,🇺🇳 联合国教科文组织(The UNESCO)《信使》杂志,January-March 2023;
    (如果感兴趣的话,可以在此免费订阅喔!)
  • +
+

1303_courier

+
    +
  • 【财经】《制造宁德时代》,晚点 Late Post 在本月中旬发的一篇文章,里面借住亲历者的经历,通过工厂与工程师两个不同的视角,讲述了宁德时代的研发与工程奇观。这些使我能够一窥现代工厂的自动化水平,非常受用!
  • +
  • 【故事】《小猫奥妙的十八条命》,大晚上看恐怖故事被这篇整不会了,气氛也没了,就只好开开心心地睡觉了。
  • +
+

影音

    +
  • 【纪录片】PBS 越南战争(2017)第 8 集:青史不泯;
  • +
  • 【播客】牛油果烤面包:#113. 缓存 ——「计算机科学的两大难题之一」;
  • +
+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2023/04/09/2023-04-Week-14/index.html b/2023/04/09/2023-04-Week-14/index.html new file mode 100644 index 000000000..a998fdffe --- /dev/null +++ b/2023/04/09/2023-04-Week-14/index.html @@ -0,0 +1,123 @@ +【周记】2023-14:肥肥恶龙 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + +

【周记】2023-14:肥肥恶龙

1400_dragon虽然我觉得这只地下的胖龙有失龙族颜面,不过还是打算将它作为封面吉祥物啦(绘图来自画师 @Ashley Bond

+

前言

这周过得不算好,因为申请学校准备文书的关系,作息也非常的糟糕,运动也没怎么顾得上。好在我在周末已经基本上完成了所有的申请准备工作,周末看了 DND 的电影,现在已经满血复活啦!

+ + +

潜意识

1401_wrongnumber

+

朋友提醒我才发现的,原来我前两篇的年份还写的是 2022 年,可能我的春节还没过完吧……

+

域名邮件

一直以来,我都想为自己的域名配置专用的电子邮件,不过我学艺不精,没有自己配置的能力。既然现在 Cloudflare 给了我这个机会,他们提供现成「域名邮件转发」的轮子 —— 或者说服务,那当然要用起来!配置的过程很简单,没有任何基础的人也可以轻松做好:

+

首先,在 Cloudflare 的侧栏找到「电子邮件 Email」项,在子选项中点击「电子邮件路由 Email Routing」选项。在「开始电子邮件路由 Get Started with Email Routing」的标题下,Cloudflare 列出了数条设置电子邮件的步骤,其中最重要的就是配置 DNS 解析。人性化的 Cloudflare 将你域名过去其他邮箱服务商的 MX 与 TXT 记录列了出来,我们只需要将他们一一删除,然后一键添加 Cloudflare 自己的 MX 与 TXT 记录就好。

+

然后,在「自定义地址 Custom addresses」处填写自己想要的邮件名字,并选择需要转发到何处。我没有像许多人那样选「admin」,而是选了我的笔名的英文「clover」,所以我网站的电子邮件名字是:clover@mskclover.com。在验证完目标邮箱后,所有发往你网站邮箱的邮件,都可以被 Cloudflare 自动转发到你的邮箱啦。

+

1402_web_email

+

如果你想要用自己网站的域名邮箱发送邮件,这也是可以的喔,不过就与今天的我没有什么关系了。感兴趣的话,可以参考数字移民的这篇文章,里面以 Gmail 为例,过程讲得非常的详细。

+

有了一个自己域名的电子邮箱,圆梦了(

+

龙与地下城,我龙呢?

1403_movie

+
+

这是我见过身材管理最差的龙了。—— 豆瓣网友

+
+

我好久都没在电影院看好莱坞电影了,所以在申请完学校之后的周末,心血来潮冲动消费,买了张一个小时后的票、背上包就去电影院了。

+

在这之前与朋友聊过最近的院线电影,除了已经过气的《铃芽之旅》,感兴趣的只有任天堂超级粉丝向《超级马力欧兄弟大电影》,和这部欧美最喜欢中土风格《龙与地下城:侠盗荣耀》了。

+

事先说明一下,我没玩过 DND,不过略有耳闻,知道它在欧美非常的受欢迎。

+

可以看到,电影工业的特效又进步了,这中土奇幻世界好似实地取景的一样。男主好帅,虽然是很刻板印象的主角 —— 亡妻独身带娃 —— 不过是竖琴吟游诗人同时又是小贼也是剑客,也很是话痨,喜欢!女主狂战士大杀四方,一个人能撂倒十几个披甲武士,好 Man 喜欢!来自天竺的三脚猫术士,三哥的法术虽然没用,但比红袍女巫的魔法有意思多了,喜欢!精灵妹妹好白,小鹿角好戳我,喜欢!这就是我对主角团的评价了,反派伪君子与女巫相当地脸谱化,没什么好说的。

+

1404_chris「吟游诗人」埃德金,来自画师 @BataSann

+

好了,发颠过后,聊聊其他的。剧情没什么好说的,典型的好莱坞样板戏冒险 —— 老套,但是跑团。不过有一点我气不过:我买票来看电影「龙与地下城」,除了看主角团冒险,我还想看龙;结果给我整只飞都飞不起来、只能在阴暗的洞穴爬都爬不动只能滚着走、喷火也喷不明白的胖蜥蜴「希博恰德」有什么意思?说到喷火,你丫飞不起来也就算了,喷火还只能喷天然气(因为脂肪盖住了点火器官),还得靠三哥帮你点火,丢尽了龙族的脸啊,你退群吧。而剧情的其他地方有很多喜剧的要素,加上男主话痨吃瘪,非常的讨喜,老少咸宜。这里引用一段豆瓣网友的影评吧:

+
+

整部电影看下来诙谐幽默。喜剧元素应该就是影片最大的亮点了,影片喜剧成分并不是硬抛梗式的组合拼凑,而是根据每个角色的性格去营造出来的幽默戏剧张力,这也是我最喜欢影片的地方,每个人说出的幽默台词,看似不经意做出的喜剧动作,都并非看起来是编剧硬塞,而是完全出自角色性格本身能说出来的话,做出来的事,显得真实自然。

+

尤其是出场并没有很多的圣骑士亨克,直男性格严肃深沉,但正好又遇到一群不太正经的埃德金侠盗团队,两者对撞出来的反差成为最大笑点,特别是亨克在海滩走直线被调侃那段,你们看了就知道了,笑果产生,又很符合亨克的角色设定。

+
+

除了上面那位正而八经分析的网友,这里还有一位结合桌游的游戏方式分析的网友,这里还有一个代入术士三哥视角的整活儿网友,也贴出来给大家乐呵乐呵(

+

这部电影我给 8.1 分吧,这个分数除了有桌游跑团改编的私心,也要感谢被这段时间连爆米花工业电影都拍不明白好莱坞的承托。拜托,观众就想要放松一下,看一点爆米花电影。求求好莱坞别再搞什么有的没的了,真没人喜欢那个黑美人鱼(无意冒犯本人,我只是认为选角不合适)。好了,大概就是这样了,祝愿 DND 电影口碑票房双收,期待续作!

+

1405_sophia凶凶的小鹿女,来自画师 @Doodlelist

+

被撂下的语言学习

这周多邻国大失败,不过好在连续学习总算是没有中断,其他方面的语言学习就不一样了,都没怎么顾得上。我只好告诉自己太忙只是借口,下周要做得更好才是。

+

信使 - Courier

这周太忙了,根本没看什么东西,就简单推荐一下吧:

+

读物

    +
  • 【故事】人类学会的第一个词是妈妈,这是豆瓣恐怖故事小组的一篇「索引」吧,在这个地方汇集了许多温情的故事,其中我最喜欢的是《我有三个妈妈》《妈妈用暗号短信保护我,她刚刚就用了 》。这让我在恐怖的氛围中感受到一丝温暖,虽然这也是我自己作的,非得深夜看(
  • +
  • 【漫画】不良女家庭教师(2020),嗯,就是那种韩漫,你们想到的那种,看了两周终于看完了。为什么要在深夜看这种漫画呢?或许只是想找到理想中的爱情吧。
  • +
+

影音

    +
  • 【电影】龙与地下城:侠盗荣耀(2023),DND 改编电影,上面有说。
  • +
+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2023/04/16/2023-04-Week-15/index.html b/2023/04/16/2023-04-Week-15/index.html new file mode 100644 index 000000000..c91970dd0 --- /dev/null +++ b/2023/04/16/2023-04-Week-15/index.html @@ -0,0 +1,134 @@ +【周记】2023-15:本周无事 | 叶子的花园 + + + + + + + + + + + + + + + + + + + +

【周记】2023-15:本周无事

1500_cover使动漫少女出现在真实照片里,再加上一点胶片的颗粒感,别有一番风味,感谢 Monkey L 推荐给我的图!(From:Klta_卡

+

本周没有发生什么重要的事情,又是很平凡的一周呢。

+ + +

+

选择困难症

这周在待读清单中读到了一篇有关选择困难的文章:人均选择困难症:为什么我们这么害怕做选择?,讲述了我国首位穿越北冰洋的女性领航员的经历。虽然后面的小半文章是女性用品的软文,不过前面的故事还是让我联想到了之前的一些事情。

+

我在前年写过一篇博文,当时我认为自己在过去因为受别人的影响,而在某个重要的时刻做出了错误的决定,于是我就将这个责任归咎于他人,以此想方设法地逃避自己的责任。这次对于「选择困难症」,我又有了新的想法。

+

在那时,我感觉「选择困难症」是自己在难以做出选择与承担责任的时候,将选择的权力交予他人。如果最终导向了 Bad Ending,只要承担自己将选择权交出的责任,就无可非议。

+

但现在我认为这样也不对,无论是在电影还是日常生活中,在难以抉择的时候,人们往往会随机数或者抛硬币,让「天意」帮助自己做选择。这样虽然也是自己承担了最后结果的责任,却并没有承担自己做决定时候的责任,我认为只要放弃自身事务选择的权力,那都是对自己的不负责任

+

所以,就算再难以做出抉择,也一定要亲自在各个选项中选一个,不能逃避,不能放弃自己做选择的权力。这样就算是后悔,也不再会再给自己逃避责任的机会了。

+

帖子

这周看了小群里转的这篇帖子。平常一般就寻点乐子、阅历 +1,但看了这篇帖子,想写些我的感想。

+
+ +
+

请注意:不排除有自导自演的嫌疑。因为孙笑川吧是以男性为主导的社区,像这样的一个帖子势必能调动大家的情绪、吸引大量的流量。所以请不要盲目认同跟风,请谨慎对待(至少我感觉像是编的

+
+
+ +

故事很是俗套:苦主拿着父母给的生活费养女朋友,自己却天天吃泡面;他追求人家几个月花了好多钱才追到,而富哥开着宝马随便撒些钱,她就愿意跟他上床;一晚上之后,苦主带着自己挤出来的钱,骑着共享单车坐地铁,去请女朋友吃饭,而她还爱答不理的。到最后他们告诉了苦主一切,他还是难以接受:「怎么可能呢,她对我挺好的啊,兄弟你别骗我」、「别说了,我为她付出的够多了,你叫我现在怎么办,我也舍不得啊」。苦主知道了真相,却因为沉没成本而没有分手,原来现实比文艺作品更加讽刺。

+

作者在事后告诫大家:

+
+

交往对象一定要平等沟通平等对待,千万不要盲目追求!靠钱是维持感情不出来真的爱情的。

+

真正爱你的对象是不会很舍得花你的钱的,双方都是互相有回应的,如果遇见渣女/渣男 听鼠鼠一句劝透完就快溜,别当下一个泡面哥。

+
+

我觉得这样的现实太畸形了,想当然的天真爱情、拜金主义和富人,这三者无疑再次加强了社会中的刻板印象们。与此同时,我也看到了富人的乐趣与普通人的并不一样:普通人的乐趣或许就是用金钱满足自己的欲望,而富人倾向于更高级的精神追求,比如享受在做好事/慈善时众人的目光、热情与欢呼 —— 就像盖茨他们捐出财产成立慈善基金会一样(还可以避税

+

富哥在后文中也说道:

+
+

鼠鼠🐭我也不是大好人捏,只是天天太无聊了,自己也确实很同情这样蒙在鼓里的好兄弟,毕竟自己高中的时候也是一个泡面哥😭。

+
+

其实这个帖子是真的也好,是编的也罢,它像之前成都国企CETC的加班风波一样:故事本身是虚假的,但这样的事在社会上又再寻常不过,所以很容易就能引起共鸣、引发讨论,这些都是人们对于这样事件的真实反应。也与比如《聊斋志异》的这种故事相仿,无非都是作者借助故事告诫世人。

+

魏征病亡后唐太宗悲痛道:「夫,以铜为镜,可以正衣冠;以史为镜,可以知兴替;以人为镜,可以知得失」。我的经历其实蛮幸运的:之前拒绝我的女孩子都给了我干净利落地答复,而没有做其他的事。她们都是很好的人,这些经历也是人生的一部份。因为这些,我现在能够与我的女朋友有着成熟的感情,我很感激(虽然我还是没有钱; ;

+

这是我自己在当时冒出来的想法,也不一定是对的,如有不同的观点,也欢迎留言指出与我讨论:)

+
+

更新:在写周记的时候,我看到作者在几天后承认了此事系编造,不过他在同时坚称:

+
+

本故事是真实故事改编,用实时叙述的方式播出,无针对任何学校,大伙当个乐子看就行🤣。各位吧友能通过这个改编的故事领悟到谈念爱真正的要义,这个贴就不算白开。

+
+

猜对了:虽然作者在最开始的几天发出照片,极力证明帖子并非编造,后来因为故事逐渐离谱被质疑,直到最终败露。我感觉像受到了欺骗,我的时间又被浪费掉了,并且现在互联网在我心中那少得可怜的置信度又变得更小了。这样的事情越多,便越会消耗社会的精力,那么真正需要帮助的人很容易被忽视,公众也会变得更加淡漠,所以这并不是一件好事……

+

十万个为什么之 youtu.be

这次因为要分享来自 YouTube 油管视频的缘故,去搜索了谷歌在分享链接中以 youtu.be 作为短链接的原因。其中的缘故,在这篇文章中解释得非常清楚:谷歌借助 youtu.be 以缩短分享链接的字符数

+

不像 youtube.com 这样的「顶级域名 TLD」,youtu.be 是比利时的「国家代码域名 ccTLD」,谷歌很巧妙的玩了一个文字游戏。通过这样的方式,将视频重定向到主站作统计的同时,减少了分享链接中的字符数量。在下图可以清楚的看到,分享链接的长度被缩短了近四成,效果显著:

+

1501_difference

+

信使 - Courier

本周没有看正儿八经的书,真是太罪过了!我买了好多书,Book List 上也有好多感兴趣的,我应该常回家看看它们 —— 不过现在我浏览的网络文章倒是变多了。

+

读物

+

影音

1502_friend_taiwan + +
    +
  • My Best Friend, Taiwan,这是一部波兰球视频,频道MrSpherical的视频质量在波兰球社区中可以算是相当精良的。借助美国 🇺🇸 佩洛西议长访问台湾 🇹🇼、引起中国大陆 🇨🇳 强烈反应的事件,以典型的美式幽默,描绘出两岸嘴炮的喜剧故事,蛮有意思的。
  • +
+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2023/04/23/2023-04-Week-16/index.html b/2023/04/23/2023-04-Week-16/index.html new file mode 100644 index 000000000..4423fc735 --- /dev/null +++ b/2023/04/23/2023-04-Week-16/index.html @@ -0,0 +1,155 @@ +【周记】2023-16:充实的线上与贫瘠的线下生活 | 叶子的花园 + + + + + + + + + + + + + + + + + + +

【周记】2023-16:充实的线上与贫瘠的线下生活

1600_cover

+

本周在现实生活里仍旧过得非常的糟糕,一周过去,每天都没有怎么说话,与他人也没有什么完整面对面的交流过,几乎所有的互动都是在网上完成的。

+ + +

这就是毕业季的坏处:同学、朋友们大多都有着各自的未来,都在忙各自的事情,很多时候都见不到面。跟过去一样,等到毕业之后四散天涯,就不会再有什么交集了。但我觉得还是应该多与他人互动一下 —— 即使他们不是朋友,但没准一来二去熟悉了,也能变成新的朋友。

+

舍友快要回来了,下周肯定会比这周有更多交流的。

+

又看了漫画

1601_dungeon + +

这周把韩漫《新世界之魔物猎手》看完了,有些意犹未尽。

+

我只有在小时候看过来自韩国 🇰🇷 的科普漫画,比如《恐龙世界历险记》这样的科普漫画,后来中学时期基本上只看国内杂志上的漫画,日本 🇯🇵 或台湾 🇹🇼 的漫画都看得比较少。自从国内的漫画杂志接连停刊后,就没有再怎么看过漫画了。最近又突然想看漫画了,之前看的国漫比如《万事万灵》《一人之下》仍在连载中,想等着等完结了再宰,所以就想找一找国外已经完结的漫画看看。

+

说到这里,想怀旧一下:上面提到那两本漫画的作者,都是之前杂志的连载作者,不过后来杂志停刊后,就转为腾讯的签约作者了。我自小学开始,宁可不吃零食,也要把一周几块的零花钱省下,去校门旁的书店买漫画杂志,就这么一直到高中。我有好多喜欢的漫画作者,可惜后来许多都不再连载漫画了,其他的也都如这两位一样,从「纸漫」转向了「页漫」。由于画面被手机屏幕的大小限制,所以页漫的许多地方,比如内容、人物、分镜和分页等在观感上都不如曾经的纸漫。我很怀念那个时代,可惜的是我再也回不去了。

+

日漫因为当地社会的念旧 / 保守,读者仍然选择购买漫画杂志与单行本,所以日漫仍保留着许多纸漫的特点。而韩漫的发展与转向都要早于国漫,他们在页漫领域深耕了许多年,所以观感其实也不差。只是日本漫画的文化影响力在国内要远远大于韩国漫画,韩漫的受众太少,自然也就显得韩漫寂寂无名了。

+

因为这次一改用 iPad、想用手机阅读的缘故,所以首先也是找的韩漫。正巧最近看了「龙与地下城」的电影,对其中的世界非常感兴趣,看到有地下城题材的漫画,自然也不会错过。至于为什么一定要找已经完结的漫画,是因为漫画不像是番剧,其工作室常常不超过五个人,很多时候甚至只有漫画作者一个人来完成编剧、分镜、线稿、背景和上色等工作,所以导致漫画每一话的连载间隔短则一周,长则十天半月,夸张一点比如数月更新一篇的漫画,我也是见过的。这里点名表扬《镖人》,这是一本黑白纸漫形式的武侠漫画,故事编排优秀、画面表现精良,唯一美中不足的是它在 2021-12-09 后就再也没有更新。我知道作者许先哲先生,因为接了育碧的商单,所以去绘制《刺客信条:王朝》了,该漫画在去年九月也完结了。大家正期待作者复更呢,结果又传出作者去取风寻找灵感了…… 现在知道了为什么我只看完结的作品了吧(

+

说回《新世界之魔物猎手》,在剧情上跟之前大火的《莉可丽丝》相似,都是「女孩子贴贴」一起冒险的故事。主角团也是讨喜的胸大无脑白毛、三无少女黑毛与兔儿厨师的设定,因为是搞笑漫画的缘故,也不会有什么苦大仇深的角色再来压力已经饱受社会毒打的我,所以很快就把一百多话看完了。剧情令人回味,不过这也意味着我可能需要再去找下一部漫画了……

+

评论区中的两性矛盾

最近在豆瓣上看怪谈的时候,看到了这样的一篇文章:我是这个 IT 部门唯一的女性,我现在知道是为什么了

+

当我在这个恐怖故事里,看了小半篇还是没有看到鬼出现时,我就大概猜到了后续的结局。或许对于有的女性来说,心怀不轨的男性流氓才是真正的恐怖。这也使我联想到之前看到的一个「规则类怪谈」,虽有极端、偏颇 —— 给人感觉像是故意地在制造两性对立,不过放在故事的情景里却异常地合适:

+
+欢迎来到伊甸园 + +
+

欢迎来到伊甸园。

+

你即将在这里度过一生的愉快生活,有几点注意事项需要告知:

+
    +
  1. 在这里你是绝对安全的,没有宵禁,没有天敌,你可以在规则内做任何事情,你是自由的。
  2. +
  3. 你可以乘坐交通工具去任何地方,随时随地都可以。
  4. +
  5. 乘坐出租车时,记得观察窗外的风景是否跟你认知中一致。如果不一致,拨打报警电话,那里有工作人员,会确保你的安全。
  6. +
  7. 如果坐地铁的话,尽量不要打电话。
  8. +
  9. 如果你在三十岁以下,不要单独出门,是否乘坐交通工具都不要。
  10. +
  11. 单独出门时带上手机,保持手机电量和紧急通话功能,它会保护你。无论发生什么事,记得不要离开它,不要离开它!
  12. +
  13. 在这里,你当然拥有穿任何衣服的自由,只要你穿着它们。
  14. +
  15. 检查自己身上的衣服,是否足够遮蔽,不要穿过于鲜艳和暴露的衣服,这会让「它」发现你。(这是错的!要穿鲜艳的衣服,「它」顾虑显眼的东西!)
  16. +
  17. 超过三十五岁,你就没有价值了。
  18. +
  19. 你不会失业,记住,在这里你不会失业,直到六十五岁。
  20. +
  21. 在人群密集的地方,不要吃别人碰过的食物,除了亲人朋友厨师,任何人都不可以。
  22. +
  23. 如果你的朋友中途离开,回来时神色有异,或者今天与平时的状态不一致,他已经不是你熟悉的朋友,记得不要吃他递过来的东西。(「它」擅长装成你的同事。)
  24. +
  25. 如果你居住在外面,夜晚不要离开酒店。你的房间是安全的,休息倾听门外的声音,如果有敲门声,不要开门,不要开门。
  26. +
  27. 从猫眼观察门外的人,如果你的朋友与你的认知有异,保持安静,假装不在。如果是陌生人,握紧身边能保护你的物品。
  28. +
  29. 如果有撬门声,拿起手机,拨打酒店前台电话和报警电话,那里有工作人员,他们会保护你。在工作人员赶来之前,搬运重物抵住门,尝试大声呵斥并拿起身边能保护你的物品。
  30. +
  31. 第一时间检查房间每个角落。尤其是插座、电话、电子设备等接口处,注意有没有红光。那些是「它」的眼睛。
  32. +
  33. 如果「它」盯上了你,迅速离开原地,赶到人群密集的地方,大声呼救并尽可能抓住身边任何东西,不惜损害,来保护你。
  34. +
  35. 记得辨别同类。同类不会害你,同类是最安全的存在,她们勇敢、聪明、坚强,她们会尽全力保护你。
    但是“它”也会伪装成同类。
  36. +
  37. 活下去。
  38. +
  39. 酒吧、KTV 等场所,是「它」出没的活跃地点,「它」喜欢在那里玩乐。
    「它」……专门猎捕……
    (即使不去,「它」也会猎捕,「它」无处不在……)
    (有多少「它」?有多少「它」?【逐渐凌乱】)
  40. +
  41. 如果工作人员没有保护你的安全,拿起你的手机,尽可能的把事实告诉网络上的人们,寻找愿意帮助你的同类。他们是你最后的希望。
    网络,发不出……【404】
  42. +
  43. 你必须尽快寻找伴侣,并且生育孩子,否则你永远是「它」的狩猎对象,不管你多大年龄,即使你超过三十五岁。
  44. +
  45. 但要小心,你的伴侣就是「它」。
  46. +
  47. 如果你是未成年人,认真上学,学历可以帮助你拥有更多力量来保护自己和同类。不管你是不是未成年人,都要学习知识,不能停下来。
  48. +
  49. 「它」的残害,并不会因为你的学历、身份、成就而有差别。
    (杀了「它」!必要的时候杀了「它」!)
  50. +
  51. 还有更多的规则,需要你和你的同类们探索交流,现在你看见的,都是规则下的生还者,大家很有经验。
  52. +
  53. 你是绝对安全的。你必须时刻感到安全,幸福,自豪,在这里你没有天敌,你可以在规则内做任何事情,你是自由的。
  54. +
+

欢迎你来到伊甸园,祝你生活愉快。

+
+
+ +

此刻我看完了故事,其中的转折相当地精彩,不过最精彩的,还是文后的译者留言与评论区。我很高兴看到平权运动已经影响了如此多的女性,但同时也对其中的一些极端的言论感到担忧。

+

比如,故事里那位曾被侵犯过的女孩谋杀了之前的强奸犯,这自然是大快人心的朴素正义。然而,许多评论者却希望谋杀者能逃脱警方的调查,而这显然不符合现代社会的法治精神。这类话题已然被讨论过无数次了,但即使女孩是正当防卫、清白无罪,也不应该逃离法律的审判,因为逃离判决与清白无罪是两个性质全然不同的事情 —— 虽然两者结果相同,但前者是蔑视法律、是极其恶劣的行为。

+

但我也不好再多说些什么,因为有的话题只有在线下、或者与朋友之间才能讨论,在网络上反而会「说得越多,错得越多」。我们只能在后面的生活中,多多自省,防止自己的情绪走向极端。

+

无论社会如何,祝好。

+

一图

我很喜欢在网上冲浪,特别是看图,毕竟西谚有云「一图值千言」嘛。

+

诺,这周就在「煎蛋无聊图」上看到了这张,感觉很有意思,就放在周记的这里啦:

+

1602_lie

+

信使 - Courier

本周没能像上周所期盼的那样多读点实实在在的书,但还是读了一些,比如之前吃灰好久的《信号与噪声》。希望在后面的时间里能再多读一些。

+

而除了书籍之外的读物,特别是网络上的内容,那可就看得太多了,特别是这周看完的漫画、与每晚当睡前故事看的怪谈们(

+

读物

+

影音

1603_goose作者分享的创作过程截图

+ +
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2023/04/24/beginner-of-ns-3-and-openai-gym/index.html b/2023/04/24/beginner-of-ns-3-and-openai-gym/index.html new file mode 100644 index 000000000..2b6264491 --- /dev/null +++ b/2023/04/24/beginner-of-ns-3-and-openai-gym/index.html @@ -0,0 +1,634 @@ +【笔记】ns-3 与 openai-gym 初入门 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + +

【笔记】ns-3 与 openai-gym 初入门

cover

+

最近因为在做毕设时需要学习一些更新的知识、与使用更复杂的工具,所以我想还是像以往那样,通过记下学习笔记的方式辅助自己学习,所以就开始写这篇笔记。

+ + +

既然是笔记,那就不用那么多修饰的字词了,简单就好:

+

前置环境搭建

写在前面:

+

在一切开始之前,需要先准备好合适的环境:

+
    +
  • 虚拟机:VMware® Workstation 16 Pro(16.2.5 build-20904516)
  • +
  • 系统:Ubuntu 22.04.2 LTS(此时更推荐使用 Ubuntu 20)
  • +
  • ⚠️ 注意:请至少为虚拟机分配 50 G 以上的空间,以保证在后续步骤中不会遇到空间不足的问题。
  • +
+

首先,对于一个全新的系统,我们需要安装一个代码编辑器:比如 VS Code 或者 PyCharm,可以在官网或者 Ubuntu 的官方商店下载安装。虽然我两个都安装了,不过因为师兄推荐用后者,所以在下文我就以 PyCharm 为主吧。

+

Anaconda

anaconda

+

Anaconda 是一个开源的 Python 和 R 语言的发行版本,具有管理 Python 的环境和包的工具,提供数据科学和机器学习的开发环境。根据官方的安装教程,我们立刻进行一个安装:

+

先决条件

# 首先,个人建议先更新软件源列表:
+sudo apt update
+# 升级已安装的软件包
+sudo apt upgrade
+sudo apt-get update
+
+# Prerequisites
+# To use GUI packages with Linux, you will need to install 
+# the following extended dependencies for Qt:
+# 要在 Linux 中使用 GUI 包,您需要为 Qt 安装以下扩展依赖项:
+
+# Debian
+sudo apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6
+ +

安装

对于 x86 系统,也就是我们现在所使用的大多数系统,其安装方式如下:

+
# 1. In your browser, download the [Anaconda installer for Linux]
+#    https://www.anaconda.com/download/#linux/.
+
+-----
+
+# 2. Search for “terminal” in your applications and click to open.
+
+-----
+
+# 3. (Recommended) [Verify the installer’s data integrity with SHA-256].
+#    For more information on hash verification, see [cryptographic hash validation].
+
+# In the terminal, run the following:
+# shasum -a 256 /PATH/FILENAME
+shasum -a 256 ./Downloads/Anaconda3-2023.03-1-Linux-x86_64.sh
+# Replace /PATH/FILENAME with your installation's path and filename.
+
+-----
+
+# 4. Install for Python 3.7 or 2.7 in the terminal:
+#    For Python 3.7, enter the following:
+
+# Include the bash command regardless of whether or not you are using the Bash shell
+# 无论您是否使用 Bash shell,都包括 bash 命令
+# bash ~/Downloads/Anaconda3-2020.05-Linux-x86_64.sh
+bash ./Downloads/Anaconda3-2023.03-1-Linux-x86_64.sh
+# Replace ~/Downloads with your actual path
+# Replace the .sh file name with the name of the file you downloaded
+
+-----
+
+# 5. Press Enter to review the license agreement.
+#    Then press and hold Enter to scroll.
+
+# 6. Enter “yes” to agree to the license agreement.
+
+-----
+
+# 7. Use Enter to accept the default install location, use CTRL+C to cancel the installation, or enter another file path to specify an alternate installation directory. If you accept the default install location, the installer displays `PREFIX=/home/<USER>/anaconda<2/3>` and continues the installation. It may take a few minutes to complete.  
+# 7. 使用 Enter 接受默认安装位置,使用 CTRL+C 取消安装,或输入另一个文件路径以指定备用安装目录。如果您接受默认安装位置,安装程序将显示 `PREFIX=/home/<USER>/anaconda<2/3>` 并继续安装。可能需要几分钟才能完成。
+
+# NOTE: Anaconda recommends you accept the default install location. Do not choose the path as `/usr` for the Anaconda/Miniconda installation.
+# 注意:Anaconda 建议您接受默认安装位置。不要为 Anaconda/Miniconda 安装选择 `/usr` 路径。
+
+-----
+
+# 8. Anaconda recommends you enter “yes” to initialize Anaconda Distribution by running `conda init`.
+# 8. Anaconda 建议您输入“yes”以通过运行 `conda init` 来初始化 Anaconda Distribution。
+
+# 9. The installer finishes and displays, “Thank you for installing Anaconda<2/3>!”
+
+# 10. Close and re-open your terminal window for the installation to take effect, or enter the command `source ~/.bashrc` to refresh the terminal.
+# 10. 关闭并重新打开终端窗口以使安装生效,或输入命令 `source ~/.bashrc` 刷新终端。
+ +

好的,这样就可以算是将 Anaconda 安装完成了。别急,还有一件事:我们还需要将 ~/anaconda3/bin 环境配置到我们的环境变量文件 PATH 之中,于是

+
# 获取当前的路径
+cd ~/anaconda3/bin
+pwd
+# 我的环境返回:/home/ubuntu/anaconda3/bin
+
+# 使用编辑器 nano 修改 bashrc 文件
+nano ~/.bashrc
+
+# 滑到最下面的位置,输入:
+export PATH="/home/ubuntu/anaconda3/bin:$PATH"
+ +

然后保存并退出,再刷新命令行,此时我们的 conda 就已经成功地安装到 Linux 系统当中了。

+

使用

打开终端,在命令行中输入:

+
anaconda-navigator
+ +

即可开启 Anaconda 的图形化界面,此时可以打开另一个终端进行操作。或者,也可以不使用 GUI,直接在命令行中使用 conda 命令。在 Anaconda Navigator 界面中,我们通过 GUI 管理环境和安装包,可以创建新的环境、激活/停用环境、安装/卸载包等。由于图形化界面大家都会,所以在下文我们以命令行为主:

+

此时,我们的系统环境是 base(root),为了防止在这里一通折腾导致我像前几次一样暴毙,我们需要创建一个新的工作环境。在命令行中,使用如下指令创建新环境:

+
# 创建新的工作环境
+conda create --name ns3-gym
+
+# 激活/切换到新的环境
+conda activate ns3-gym
+ +

但是别急,最好不要这样做,因为新的环境里的包会很少,你做到后面不知道少了哪个包,就会很麻烦,所以直接克隆现有的 base(root) 环境为好:

+
# 先切换到之前的环境
+conda activate base
+
+# 删除之前的虚拟环境:
+conda env remove --name ns3-gym
+
+# 将本已激活环境的依赖包配置信息到处到应该 YAML 文件:
+conda env export > environment.yml
+# 这将生成一个名为 environment.yml 的文件,其中包含当前环境的依赖包列表。
+
+# 然后创建一个新的环境,并从导出的 YAML 文件中导入依赖包:
+conda env create -f environment.yml --name ns3-gym
+ +

在等待一段时间后,我们就可以在新环境中使用与原始环境相同的依赖包和配置了。不过需要注意的是,克隆环境是一个逐字复制环境的过程,包括所有依赖包和配置信息。这可能会占用一定的时间和磁盘空间,具体取决于环境的大小和复杂度。

+

最后,我们切换到新的环境中:

+
conda activate ns3-gym
+ +

好啦,到这里我们就已经切换到工作环境啦,到时候一个不小心把它搞坏了也不怕。不过,我强烈建议像我这样的萌新,在这里为虚拟机存一个快照(

+

ns-3

ns3_web

+

官网https://www.nsnam.org/

+
+

ns-3 is a discrete-event network simulator for Internet systems, targeted primarily for research and educational use. ns-3 is free, open-source software, licensed under the GNU GPLv2 license, and maintained by a worldwide community.

+
+

官方教程https://www.nsnam.org/docs/tutorial/html/

+
+

ns-3 is a discrete-event simulator typically run from the command line. It is written directly in C++, not in a high-level modeling language; simulation events are simply C++ function calls, organized by a scheduler.

+
+

简单来说,ns-3 是一个网络协议的研究与仿真工具。

+

安装

先决条件

根据官方的教程,首先要检查 / 安装相关的第三方依赖软件包。下面的命令都是使用的 apt 工具管理,这些都是官方文档给出的;不过,由于我们使用了 conda 环境,所以最好能使用 conda install 命令安装;如果 conda 中没有,再使用也不迟。因为如果使用了 sudo apt install 指令,那就是在全局安装包了,与我们环境隔离的打算相去甚远。

+
# 个人建议还是先更新软件源列表:
+sudo apt update
+# 升级已安装的软件包
+sudo apt-get upgrade
+sudo apt-get update
+
+# 检查 git
+sudo apt install git
+git --version
+
+# 检查 tar
+tar --version
+
+# 检查 python3
+python3 -V
+
+# 安装 cmake
+sudo apt install cmake
+cmake --version
+
+# 安装 g++
+sudo apt install g++
+g++ --version
+ +

报错·I

此时我遇到一个问题,报错信息为:

+
$ sudo apt install g++
+
+Reading package lists... Done
+Building dependency tree... Done
+Reading state information... Done
+Some packages could not be installed. This may mean that you have
+requested an impossible situation or if you are using the unstable
+distribution that some required packages have not yet been created
+or been moved out of Incoming.
+The following information may help to resolve the situation:
+
+The following packages have unmet dependencies:
+ libc6-dev : Depends: libc6 (= 2.35-0ubuntu3) but 2.35-0ubuntu3.1 is to be installed
+E: Unable to correct problems, you have held broken packages.
+ +

Ubuntu 无法安装 g++,这个问题困扰了我很长时间,我在 stackoverflow 上找到了这样的解决方法:这个错误提示是因为 libc6-dev 这个软件包依赖的 libc6 软件包版本不一致。具体来说,当前系统中安装的 libc6 版本是 2.35-0ubuntu3.1,而 libc6-dev 要求的版本是 2.35-0ubuntu3。所以需要手动安装更低版本的指定软件包:

+
sudo apt install libc6=2.35-0ubuntu3
+ +

然后就可以继续愉快地使用 Ubuntu 啦!

+

下载源码

mkdir ns-3
+cd ns-3
+
+mkdir workspace
+cd workspace
+
+# 下载
+wget https://www.nsnam.org/release/ns-allinone-3.29.tar.bz2
+
+# 解压
+tar xjf ns-allinone-3.29.tar.bz2
+cd ns-allinone-3.29/
+ +

构建

我们会使用 build.py 进行 ns-3 的构建:

+
# 在构建前先查看指令
+./build.py --help
+ +

报错·II

此时又报错:

+
/usr/bin/env: ‘python’: No such file or directory
+ +

在查询我的好朋友 stackoverflow 后,我了解到:

+
+

Since running the script explicitly with python3 worked OK, it sounds like you’re on a distro where by default you only have python3 and no python. As other answers suggest, you may install python-is-python3 (which basically creates a python symlink pointing to python3)

+
+

于是我按照好心人的指导,安装了 python-is-python3,命令如下:

+
sudo apt-get install python-is-python3
+ +

好了,现在我们又可以愉快地下一步了(救救孩子吧,我真不想再配环境了

+
# 编译与安装
+./build.py --enable-examples --enable-tests
+ +

然后就是漫长的等待。如果中途因故暂停或中断了编译进程,只需要在下次重新输入相同的命令即可。在重新开始编译时,编译器会自动跳过已编译的文件,并显示:

+
Consolidate compiler generated dependencies of target xxx
+ +

在这之后当然仍旧是漫长地等待。在编译完成后,会显示:

+
...
+[2616/2618] Compiling src/tap-bridge/model/tap-encode-decode.cc
+[2617/2618] Compiling src/tap-bridge/model/tap-creator.cc
+[2618/2618] Linking build/src/tap-bridge/ns3.29-tap-creator-debug
+Waf: Leaving directory `/home/ubuntu/ns-3/workspace/ns-allinone-3.29/ns-3.29/build'
+Build commands will be stored in build/compile_commands.json
+'build' finished successfully (6m35.643s)
+ +

⚠️记住,一定要为 Linux 分配足够的磁盘空间,否则会编译失败。

+

测试

同样的,使用 test.py 进行测试:

+
# 测试
+cd ns-3.29
+
+# 官方给的指令是下面这个:
+./test.py --no-build
+
+# 上面那个是官方最新的 ns-3.38 的指令,
+# 不过在 ns-3.29 的版本中,test.py 后面不支持这个参数,使用直接 test 就好
+./test.py
+ +

如果没有问题,继续保持耐心等待,会显示如下内容云云:

+
PASS: TestSuite config
+PASS: TestSuite attributes
+PASS: TestSuite object
+...
+614 of 624 tests passed (614 passed, 10 skipped, 0 failed, 0 crashed, 0 valgrind errors)
+List of SKIPped tests:
+    examples/routing/simple-routing-ping6.py
+    examples/tutorial/first.py
+    examples/wireless/mixed-wired-wireless.py
+    examples/wireless/wifi-ap.py
+    ns3-tcp-cwnd
+    ns3-tcp-interoperability
+    nsc-tcp-loss
+    src/bridge/examples/csma-bridge.py
+    src/core/examples/sample-simulator.py
+    src/flow-monitor/examples/wifi-olsr-flowmon.py
+ +

跳过了 10 个文件,应该也不会有问题吧……

+

Hello World

在万事俱备后,我们照例跑一下实例程序:

+
./ns3 run hello-simulator
+
+# 输出
+Hello Simulator
+ +

官方描述得很好,但在 ns-3.29 里不是这样的,得使用在高级版本中已经被淘汰的 waf 才行:

+
./waf --run hello-simulator
+
+# 输出:
+Waf: Entering directory `/home/ubuntu/ns-3/workspace/ns-allinone-3.29/ns-3.29/build'
+Waf: Leaving directory `/home/ubuntu/ns-3/workspace/ns-allinone-3.29/ns-3.29/build'
+Build commands will be stored in build/compile_commands.json
+'build' finished successfully (7.094s)
+Hello Simulator
+ +

就此,我们的安装步骤就完全结束了。很喜欢 ns-3 官网的一句话:

+
+

Congratulations! You are now an ns-3 user!

+
+
+

ns3-gym

ns3_gym_web

+

GitHub 处https://github.com/openai/gym/

+
+

OpenAI Gym is a toolkit for reinforcement learning (RL) widely used in research. The network simulator ns–3 is the de-facto standard for academic and industry studies in the areas of networking protocols and communication technologies. ns3-gym is a framework that integrates both OpenAI Gym and ns-3 in order to encourage usage of RL in networking research.

+
+

简单来说,这是一个强化学习工具包,也是我研究路由协议的必备工具,它的框架结构如下图:

+

Architecture-of-ns3-gym-framework

+

安装

根据官方的安装教程:

+
# 首先 cd 到自己的安装环境中,在本机上的环境是:
+cd ns-3/workspace/ns-allinone-3.29/ns-3.29
+
+-----
+
+# 1. Install all required dependencies required by ns-3.
+# 1. 安装 ns-3 所需的所有依赖项。
+# Check ns-3 requirements
+# 检查 ns-3 要求
+
+# minimal requirements for C++:
+apt-get install gcc g++ python
+
+# 注:记得加上sudo 以 root,下同。
+# 注:另外,python 包现在应该是 python3 了。
+
+-----
+
+# 2. Install ZMQ and Protocol Buffers libs:
+# 2. 安装 ZMQ 和 Protocol Buffers 库:
+
+# sudo apt-get update 若已执行,则此处可不再执行
+apt-get install libzmq5 libzmq3-dev
+apt-get install libprotobuf-dev
+apt-get install protobuf-compiler
+
+-----
+
+# 3. Clone ns3-gym repository in to contrib directory and change the branch:
+# 3. 将 ns3-gym 存储库克隆到 contrib 目录并更改分支:
+
+cd ./contrib
+git clone https://github.com/tkn-tub/ns3-gym.git ./opengym
+cd opengym/
+git checkout app
+
+# It is important to use the `opengym` as the name of the ns3-gym app directory.  
+# 使用 `opengym` 作为 ns3-gym 应用程序目录的名称很重要。
+
+-----
+
+# 4. Configure and build ns-3 project (if you are going to use Python virtual environment,
+#    please execute these commands inside it):
+# 4. 配置并构建 ns-3 项目(如果你打算使用 Python 虚拟环境,请在其中执行这些命令):
+
+# 注:此时应该先回到 ./ns-3.29 目录
+# cd ../..
+./waf configure --enable-examples
+./waf build
+
+# Note: Opengym Protocol Buffer messages (C++ and Python) are build during configure.  
+# 注意:Opengym 协议缓冲区消息(C++ 和 Python)是在配置期间构建的。
+ +

然后再次开始编译,输出:

+
...
+[2339/2340] Compiling src/tap-bridge/model/tap-creator.cc
+[2340/2340] Linking build/src/tap-bridge/ns3.29-tap-creator-debug
+Waf: Leaving directory `/home/ubuntu/ns-3/workspace/ns-allinone-3.29/ns-3.29/build'
+Build commands will be stored in build/compile_commands.json
+'build' finished successfully (5m3.762s)
+
+Modules built:
+antenna                   aodv                      applications              
+bridge                    buildings                 config-store              
+core                      csma                      csma-layout               
+dsdv                      dsr                       energy                    
+fd-net-device             flow-monitor              internet                  
+internet-apps             lr-wpan                   lte                       
+mesh                      mobility                  mpi                       
+netanim (no Python)       network                   nix-vector-routing        
+olsr                      opengym (no Python)       point-to-point            
+point-to-point-layout     propagation               sixlowpan                 
+spectrum                  stats                     tap-bridge                
+test (no Python)          topology-read             traffic-control           
+uan                       virtual-net-device        wave                      
+wifi                      wimax                     
+
+Modules not built (see ns-3 tutorial for explanation):
+brite                     click                     openflow                  
+visualizer                
+ +

报错·III

没有问题,我们继续进行后面的步骤:

+
# 注:在下一步之前,请事先安装 pip3,
+# 如果你像我一样没有安装 pip3,则需要先执行安装命令
+sudo apt install python3-pip
+ +

这里又遇到一个包版本错误:

+
The following information may help to resolve the situation:
+
+The following packages have unmet dependencies:
+ python3-distutils : Depends: python3-lib2to3 (= 3.10.4-0ubuntu1) but 3.10.6-1~22.04 is to be installed
+E: Unable to correct problems, you have held broken packages.
+ +

没关系,参照上文的解决方式,我们安装对应的包即可:

+
sudo apt install python3-lib2to3=3.10.4-0ubuntu1
+ +

在安装好 pip3 后,我们继续进行第 5 步骤:

+
# 5. Install ns3gym located in model/ns3gym (Python3 required)  
+# 5. 安装位于 model/ns3gym 的 ns3gym(需要 Python3)
+
+cd ./contrib/opengym/
+pip3 install --user ./model/ns3gym
+ +

看命令行的反馈,好像还帮我们初始化好了,不过还是有一个路径警告:

+
...
+Installing collected packages: gym-notices, pyzmq, numpy, cloudpickle, gym, ns3gym
+  WARNING: The scripts f2py, f2py3 and f2py3.10 are installed in '/home/ubuntu/.local/bin' which is not on PATH.
+  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
+Successfully installed cloudpickle-2.2.1 gym-0.26.2 gym-notices-0.0.8 ns3gym-0.1.0 numpy-1.24.3 pyzmq-25.0.2
+ +

这个警告提示 f2py 等脚本被安装在 /home/ubuntu/.local/bin 目录下,但该目录不在系统的环境变量 PATH 中。因此,如果想要在终端中运行这些脚本,则需要手动添加该目录到 PATH 中,或者将这些脚本复制到在 PATH 中的 /usr/local/bin 目录中。

+

针对后者,输入以下命令即可复制到目录中:

+
sudo cp /home/ubuntu/.local/bin/f2py /usr/local/bin
+sudo cp /home/ubuntu/.local/bin/f2py3 /usr/local/bin
+sudo cp /home/ubuntu/.local/bin/f2py3.10 /usr/local/bin
+ +

后面的安装步骤就比较简单了:

+
# 6. (Optional) Install all libraries required by your agent (like tensorflow, keras, etc.).  
+# 6. (可选)安装代理所需的所有库(如 tensorflow、keras 等)。
+
+-----
+
+# 7. Run example:
+
+cd ./contrib/opengym/examples/opengym/ 
+./simple_test.py
+ +

测试结果输出:

+
Got new port for ns3gm interface:  6927
+Observation space:  Box(0, 10, (5,), uint64) uint64
+Action space:  Discrete(5) int64
+Step:  0
+---obs:  [4, 9, 5, 3, 9]
+---action:  1
+Step:  1
+---obs, reward, done, info:  [7, 4, 0, 3, 8] 2.0 False testInfo|123
+---action:  4
+Step:  2
+---obs, reward, done, info:  [6, 9, 9, 5, 6] 3.0 False testInfo|123
+---action:  2
+Step:  3
+---obs, reward, done, info:  [5, 8, 6, 9, 3] 4.0 False testInfo|123
+---action:  3
+Step:  4
+---obs, reward, done, info:  [8, 4, 6, 10, 5] 5.0 False testInfo|123
+---action:  0
+Step:  5
+---obs, reward, done, info:  [10, 6, 8, 1, 1] 6.0 False testInfo|123
+---action:  0
+Step:  6
+---obs, reward, done, info:  [10, 3, 10, 4, 7] 7.0 False testInfo|123
+---action:  1
+Step:  7
+---obs, reward, done, info:  [4, 8, 4, 8, 9] 8.0 False testInfo|123
+---action:  0
+Step:  8
+---obs, reward, done, info:  [10, 10, 5, 0, 4] 9.0 False testInfo|123
+---action:  2
+Step:  9
+---obs, reward, done, info:  [2, 2, 0, 9, 1] 10.0 False testInfo|123
+---action:  4
+Step:  10
+---obs, reward, done, info:  [5, 5, 4, 9, 1] 11.0 True testInfo|123
+Done
+ +

没有问题,那么下一步呢?

+
# 8. (Optional) Start ns-3 simulation script and Gym agent separately 
+#    in two terminals (useful for debugging):
+# 8. (可选)在两个终端分别启动ns-3模拟脚本和Gym agent(对调试有用):
+
+# Terminal 1
+# 我需要:cd ns-3/workspace/ns-allinone-3.29/ns-3.29
+./waf --run "opengym"
+
+# Terminal 2
+cd ./contrib/opengym/examples/opengym/ 
+./test.py --start=0
+ +

运行一点问题也没有!恭喜,现在重要的环境配置均已结束,下面就可以真正开始做我的仿真了。

+
+

其他遇到的问题

作为一个 Linux 萌新,我在这个过程中,遇到了许多的问题。

+

安装方式出现问题

按照官方的教程,通过 Git 方式下载 ns-3:

+
$ mkdir ns-3
+$ cd ns-3
+
+$ mkdir workspace
+$ cd workspace
+
+$ git clone https://gitlab.com/nsnam/ns-3-allinone.git
+$ cd ns-3-allinone
+
+$ python3 download.py
+# 然后会下载大概 200M 左右的文件
+# 包括 ns-3,NetAnim 和 bake
+ +

在通过 Git 下载完 ns-3 后,发现官方并没有针对这种情况给出构建方式,称:

+
+

Note: This build step is only available from a source archive release described above; not from downloading via git or bake.

+
+

试图直接运行构建文件会报错:

+
$ ./build.py --enable-examples --enable-tests
+# Build NetAnim
+Entering directory `netanim'
+ =>  qmake -v
+Could not find qmake in the default path
+ =>  qmake-qt5 -v
+Could not find qmake-qt5 in the default path
+ =>  qmake-qt4 -v
+Could not find qmake-qt4 in the default path
+ =>  qmake NetAnim.pro
+Error building NetAnim. Ensure the path to qmake is correct.
+Could not find qmake or qmake-qt5 in the default PATH.
+Use ./build.py --qmake-path <Path-to-qmake>, if qmake is installed in a non-standard location
+Note: Some systems use qmake-qt5 instead of qmake
+Skipping NetAnim ....
+Leaving directory `netanim'
+# Building examples (by user request)
+# Building tests (by user request)
+# Build NS-3
+Entering directory `/home/clover/ns-3/workspace/ns-3-allinone/./ns-3-dev'
+ =>  /usr/bin/python3 ns3 configure --enable-examples --enable-tests
+Traceback (most recent call last):
+  File "/home/clover/ns-3/workspace/ns-3-allinone/ns-3-dev/ns3", line 1615, in <module>
+    main()
+  File "/home/clover/ns-3/workspace/ns-3-allinone/ns-3-dev/ns3", line 1508, in main
+    current_cmake_cache_folder, current_cmake_generator = search_cmake_cache(build_profile)
+  File "/home/clover/ns-3/workspace/ns-3-allinone/ns-3-dev/ns3", line 561, in search_cmake_cache
+    raise Exception("No generator available.")
+Exception: No generator available.
+Traceback (most recent call last):
+  File "/home/clover/ns-3/workspace/ns-3-allinone/./build.py", line 155, in <module>
+    sys.exit(main(sys.argv))
+  File "/home/clover/ns-3/workspace/ns-3-allinone/./build.py", line 146, in main
+    build_ns3(config, build_examples, build_tests, args, build_options)
+  File "/home/clover/ns-3/workspace/ns-3-allinone/./build.py", line 65, in build_ns3
+    run_command(cmd) # ns3 configure ...
+  File "/home/clover/ns-3/workspace/ns-3-allinone/util.py", line 25, in run_command
+    raise CommandError("Command %r exited with code %i" % (argv, retval))
+util.CommandError: Command ['/usr/bin/python3', 'ns3', 'configure', '--enable-examples', '--enable-tests'] exited with code 1
+ +

介于我十分小白,大概能理解到这样直接的方式不容易,可我又不愿意使用 CMake,于是就回档重新开始了。

+

虚拟机注意事项

在创建 VMWare 虚拟机时,因为常听说 Linux 非常节省资源,所以就只分配了 20G 的磁盘空间。结果编译到一半中断了,系统提示我磁盘空间不足,这时我才知道才刚构建 50% 就已经快要把磁盘空间用完了……

+

另外,一定要为虚拟机分配足够的 CPU 核心,不要像我傻乎乎地只分配了两个小核,然后傻乎乎地等了半天……

+

所以说,Linux 节约资源根本就是误解,主要是取决于我们要拿它做什么。

+

另外,相比于分配 16 个处理器、每个处理器一个核心,为 Ubuntu 分配 8 个处理器、每个处理器两个核心更好。根据 Ubuntu 官方的表述,建议减少处理器的数量,因为操作系统或应用程序对多个处理器的利用可能不够高效。

+

版本注意事项

从一开始,我的师兄就推荐我用 ns-3.29 版本。不过我年少轻狂,看到官方更推荐新版本,并且官网也只有新版本的安装教程,所以我就被忽悠着安装了 ns-3.38,这让我后来吃足了苦头。

+

由于我需要安装 ns3-gym,而这个工具一开始就是基于 ns-3.29 构建的。虽然官方提供了高级版本的安装方式,但我这里总是不明不白地报错。比如:

+

我的 ns3 项目文件夹下没有 waf 文件,这令我有些困惑。在网上查询资料后,发现 ns3 在 3.36 版本就取消了 waf.py 编译器,使用了 ns3.py 替代。而这一步的编译,用的是 CMake。

+

即使我不断地将错误一一解决,但最终碰到了一个我无法解决、无法查到的问题,我放弃了。

+

真是血泪教训啊。

+

Ubuntu 系统问题

+

linux_error

+

现在我算是理解为什么基本没人将 Linux 作为日常使用的系统了,这破玩意儿三天两头出问题,一出问题就要重装,而且每次出的问题还不一样!我这一周已经重装了三次系统了!我受不了了,天知道我用 sudo 的时候干掉了什么东西……

+

有了快照后,我们遇到问题就可以回滚,而不是重装系统了。

+

后记

现在看来,好庆幸当时一边做一边写了笔记:有时环境报错,我需要检查之前的配置;有时某几步需要重新做,我也不用再像第一次一样翻那么多的标签页,就简简单单地回看笔记就好。并且笔记中也记下了当时遇到了问题,使我也能够帮助到有需要的同学,真是太棒了!

+

其他参考资料:

    +
  • 首先感谢各官方网站上详尽的文档。
  • +
  • Anaconda安装【Linux系统】小L-Daily,Bilibili。
  • +
  • ns-3 网络模拟中文入门视频教程系列开源文摘,Bilibili。
  • +
  • ns-3 快速上手Pinvon’s Blog
  • +
  • 感谢 stackoverflow 上的世界友人们给予我的大力支持(
  • +
  • 感谢我实验室的好兄弟 Monkey L 和 Boss G 给我的许多帮助
  • +
  • 最后,感谢 OpenAI 公司开发的 ChatGPT 为我的 Linux 实践释惑
    我真是太感动了,在最后我跟 ChatGPT 说:「好的,多谢!」,它回答我说:「不客气!如果你还有其他问题,随时都可以问我。祝你配置和构建顺利,顺利使用 ns-3 和 openai-gym!」
  • +
+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2023/04/30/2023-04-Week-17/index.html b/2023/04/30/2023-04-Week-17/index.html new file mode 100644 index 000000000..9121e8d5c --- /dev/null +++ b/2023/04/30/2023-04-Week-17/index.html @@ -0,0 +1,149 @@ +【周记】2023-17:本周无事·II | 叶子的花园 + + + + + + + + + + + + + + + + + + + + +

【周记】2023-17:本周无事·II

1700_cover

+

本周没有发生什么大事,还是很平凡的一周。

+ + +

不过还是有好消息,舍友们都陆陆续续地回来了,我猜是因为快要到提交毕业论文的时候了吧(

+

毕业季讲座

上午接到辅导员的电话,他希望我能在不久后的新老生交流会上做个讲座,交流一下考研、考公和找工作的经验。我当然也很高兴能有机会与后辈分享,就像前几年师兄们做的那样。我还是有些担心讲座会不会与毕设的时间冲突,因为那个时候也是我们提交论文的时候。不过具体的时间还没有定下来,就先答应下来了。

+

正是因此,我这次的周记封面才会选择这张图,

+
+

Helping one person might not change the world, but it could change the world for one person.

+
+

更少的麦当劳……

上次体检的时候,被医生检查出有一点轻微脂肪肝的症状,虽然并没有写到报告里,但我还是非常的重视。根据维基百科,脂肪肝是:

+
    +
  • 肝脏中积聚过多脂肪的状态,以含甘油三酸酯的巨液泡形式积累在肝细胞中,而造成脂肪变性;
  • +
  • 分为酒精性脂肪肝与非酒精性脂肪肝,病因分别主要为酗酒与肥胖;
  • +
  • 轻度脂肪肝通常可逆,非酒精性脂肪肝的治疗方法主要是通过适当饮食与运动将体重减轻;
  • +
  • 脂肪肝严重者可能造成肝硬化与肝癌。
  • +
+

所以从现在开始,我得多多运动,少吃重油重盐的食物了,希望能早日好起来吧。

+

新词

读书看报时学到了一个新词语:「老根」。

+

实际上「老根」应作为「老庚」,指年岁相仿,性情爱好相投的发小好友。这是四川那边的俗语。还有人解释为:

+
+

童年时两人相处得来,就结下老庚。从此这两人就应该互相帮助,互相提高。关系也比一般的人好的多。起源于旧社会,在旧社会里结老庚还要双方家人见面过礼,举行小仪式,拜见双方家,从此没有亲戚关系的两家人就要以亲戚的关系交往。

+
+

一图

1701_pic又是这只喜闻乐见的塑料袋兔子!来自茫茫兔 Nuffin

+

内外大事记

因为感觉周记会一直写下去,在以后回顾的时候,也能回忆起这个时代发生了什么事情,不要忘记。所以想要在这个栏目里,记下于本周发生的国内社会和国际之间的重要事件,不过都是很主观的(

+

顺便也补一下上周的:

+
    +
  • 【国内】2023-04-18,北京长峰医院大火,致 29 人死亡。
  • +
  • 【国际】2023-04-21,中国驻法大使称前苏联加盟国没有主权也没有国籍法承认,后续驻法使馆的声明大使的言论为个人观点,不代表中国官方立场,Web Archive 链接存档于此
  • +
  • 【国际】2023-04-25,美国总统拜登宣布启动连任竞选活动。
    拜登今年 81 岁了,特朗普今年也 77 岁了,两党候选人都这么老了,难道美国就没有年轻人了吗?好怀念推动 NASA 开启太空竞赛的肯尼迪,他成为总统时年仅 44 岁。
  • +
  • 【国际】2023-04-26,国家主席习近平与乌克兰总统泽连斯基通话,系战争爆发以来首次。
  • +
  • 【国内】2023-04-27,国办发文称:支持国企扩大招聘规模,稳定机关事业单位岗位规模,募集不少于一百万个青年见习岗位(来源)。目前全国 16-24 岁城镇青年的失业率已经高达 19.9% 了……
  • +
+

信使 - Courier

本周的阅读经历可以说是非常丰富,各种内容来者不拒,但总感觉自己上网冲浪有些过了

+

读物

+1702_myuniverse + +
    +
  • 【漫画】《我的宇宙 / 나의 우주》(2019),作者是 Gong-Yi。

    +

    最初,是看到这位画风超级好看的短发妹子后,才将这本漫画加入清单的。看标签是科幻,结果基本上通篇都是韩式爱情故事,最后外星人入侵地球的剧段还是差点没笑喷(

    +

    不过总的来说,韩式漫画的优点一应俱全:感情处理细腻,故事节奏恰当,人物性格刻画独特,画风稳定,分镜舒服,不失为一部精彩的短篇漫画。至于缺点?我一般只喜欢夸人,不太喜欢损人,就说一点吧:剧情十分老套,我愿称之为《来自星星的你》漫画版。

    +

    最后,这位短发妹子真的好好看啊!

    +
  • +
+

影音

+1703_linus + +
    +
  • 【访谈】The TRUTH about working for Linus - Employees Answer,来自 Linus Tech Tips 频道。
    这是对 Linus Sebastian 媒体公司员工的一个访谈视频,让观众得以再一窥公司的日常、发展与老莱本人在镜头之外的样子,上次此类视频还是在四年前呢。老莱称管理层没有干涉视频的创作与剪辑,所以其内容可以算是比较可信的。视频里的员工在被问及「最不能忍受公司的一点是什么」时,大部份都吐槽说因为一周要发太多的视频,感觉非常的累,也无法提高视频的质量;还有一些人抱怨公司的停车位不够,来晚了只能停路边了,这些可太真实了吧(
  • +
+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2023/05/01/night_city/index.html b/2023/05/01/night_city/index.html new file mode 100644 index 000000000..33daafb2c --- /dev/null +++ b/2023/05/01/night_city/index.html @@ -0,0 +1,182 @@ +夜之城 | 叶子的花园 + + + + + + + + + + + + + + + + + + + +

夜之城

cover大卫的下一句话是:说得轻巧

+ + +
+

那我一直工作是为了什么?我这么卖命工作就是为了让你…… 可是现在…… 你以为这段时间我都在做什么?你这么聪明,又有才华,所以我才这么努力赚钱培养你,如果你不想读书了,那我该怎么办?我知道他们是怎么对你的,因为我也经历过同样的事,所以我们才要证明给他们看!我希望你好好努力,成为精英,爬到荒坂塔的顶端,我知道你有这样的潜力,一定做得到!

+

—— 葛洛莉亚·马丁内斯

+
+

今晚跟妈妈打了电话,没说什么新鲜的事,都是关于我后续时日的安排。她在电话里苦口婆心地劝我,坚持我一定要去考雅思、申请国外大学的 MPhil 研究生。我嫌太累,想尽早工作,不想再读书了,就嘴上应付着,心思早就飘到一旁的北湖上了。但《边缘行者》中的这一幕却突然出现在我眼前,在晚上剩余的时间里,它一直我的头脑里挥之不去。想起这些日子的经历,便想写点东西。

+

现状

我在大约两年多以前也有类似的感觉,都是对未来的不确定性与自身的局限感到心烦:当时是困惑于自己当时的选择是否做错了,焦虑未来又会如何变化;而现在大学生活已经快结束了,我却又面临着相同的困惑与焦虑,这不免使我思考这两年是不是一点成长也没有,依旧在原地踏步?其实现在回想起当时的事,会感觉自己蛮幼稚的,那些问题在已经经历过一遍的我看来根本不算什么,也不知道几年后的我对今日对问题会不会是同样的想法。

+

至于现在的我,又是什么样的状态呢?

+

大家可以看到我去年的博文,其实从二月起,我就开始在准备考研了。这个决定,是我自己的意愿,加上受到我爸妈的督促,可能还带点效仿实验室师兄的意思,这几个因素共同影响下做出的。后来随着动态清零政策毫无预警地宣布结束,校园疫情管控突然放开,接踵而至的是奥密克戎席卷了整个校园。在那段时间,我每天寝室和食堂两点一线,极力避免自己在考前被感染,却不曾想到在考试的前一天 —— 也就是 23 号下午开始发烧,最后没能取得好的结果。

+

the_night

+
学校疏散的那天晚上,朋友发给我的照片:
+
图中的同学连夜收拾行李离开学校,避免被封控在学校里而影响接下来的安排。
+ +

不过,好在当时听了妈妈的建议,做了两手准备,在备考之余,我还向一些单位投了简历。抱着试试、不行无妨的心态,我居然拿到了其中一个单位的 offer。这是机场旁边事业单位的工程师,钱不多,事情多,不过好在有编制。了解我的朋友应该知道,算是民用航空的小粉丝,经常给大家分享《空中浩劫》的剧集,也收藏有 NTSB(美国国家运输安全委员会)的周边。本来这个单位只是我用来保底的,不至于到最后没书读又没工作,只能家里蹲。后来我看这个单位越看越顺眼:正好是我感兴趣的领域、能解决最初几年的住宿问题、有编制稳定、专业对口、并且工作也算体面,所以我就想着要不就不努力了,就这样吧。

+

所以后来当实验室里别的同学对找工作 / 留学正焦头烂额的时候,我在一旁做自己感兴趣的事;而在不久前陪跑选调生与公务员考试后,我便一直处于一种无欲无求的状态,就想着赶紧做完毕设去上班。妈妈自然也在日常的交流中发现我心态的转变,一直在推动我去申请香港的学校,她与半年前一样,说:「如果你入职后不喜欢那个工作,还可以出来读书」,但我却与当初截然不同了。

+

当时的我,不名一文,反正多投份简历也要不了多久,拿不到 offer 也没有什么损失,还能去亲身体验一番找工作的流程;但现在的我变得患得患失,即使确实也很想去留学,但一想到有可能费劲去考试与申请,却不一定能有结果、被录取,便不想再去了。

+

这些日子里我们在群里发了很多讯息,打了许多电话,其内容除了日常聊天,不外乎都是妈妈劝我再去拼搏一次,而我在电话的另一端嗯嗯啊啊,敷衍了事。然后就到了今晚,这一通电话,我想到了开头所引用的这一幕。

+

世俗

我与大卫·马丁内斯一点也不像。

+

他出身在单亲家庭,缺少完整的家庭关怀,而我的家庭幸福圆满;他青年丧母,我至今还未曾经历过亲人离世;他成长于底层,而我小时家境不错,比他好太多了。但我与大卫在有些地方却是一样的:我们的母亲都望子成龙,大卫被送去了荒坂的贵族学院,而我一直以来也就读的是当地最好的学校;两位母亲都为了家庭拼命工作、执着付出;大卫生活在一座繁华却腐朽、吃人不吐骨头的夜之城,而我进入社会后必然也会背上数十年的广州巨额房贷。

+

记得不久前在网上看到弱智吧的年度精选,其中有两句话给我印象很深:其中一句是「工人罢工后,就变成了人」,而另一句就是今天写这篇文章的另外一个原因:

+
+

有的人说自己看不到未来,其实他们已经看到了未来。

+
+

很多人都说,看完《边缘行者》后,给人的后劲很大,几天都缓不过来。我想,大家可能都是先同情于大卫的遭遇,再愤怒于亚当·重锤的冷血与荒坂的残忍,继而想到了夜之城这座城市体制本身的罪恶,最后想到了自己。正所谓「有人看乐子,有人照镜子」,本想着看好莱坞式的打斗、阴谋、友谊与爱情的观众,在某一刻却忽然发现自己成为了剧中人。但不同的是,大卫敢于为了所爱之人轰轰烈烈地牺牲在荒坂塔,而我们现实中的绝大多数人还要在睡前算算自己还能睡多久,天亮后仍旧得继续去上班、挣钱还贷和养家。大卫有对抗社会不公的资格,而我们好像连这个都没有。

+

几天前又看到了小土豆在 18 年写的《看不到希望的未来》,里面说:

+
+

至于未来,那是不敢想象的。不知道是看不到希望的未来,还是看不到未来的希望。这个未来,可怕的不在于未知,而在于看不到希望。

+
+

其实我是非常热爱广州的,也很喜欢这里的生活方式,我在这里学了粤语,打算一直生活在这里。可一想到动辄三、五万一平的房价,这些激情一下子便消失得无影无踪。越接近毕业,与同学讨论的内容就越具有本地特色:「为什么有的人收房租一个月四五万还不用交税,而有的人辛辛苦苦一个月连交税标准都够不着」。人越长大,就越需要面对现实:小时候不用考虑柴米油盐,所以可以有很大的梦想;但现在的梦想就算再小,也很容易被社会上各种尖锐东西戳破。我有段时间想要出国生活,相当程度的考虑就是这个。我不明白为什么我的祖国会让我想要让我背井离乡,我能明白这一切的原因,却不能理解为什么。

+

这也是为什么,我以前瞧不起的、编制里像是混日子又没有什么前途的工作,现在却成了我的唯一出路

+

逐梦之城

当大卫的妈妈说出她对大卫寄予的期望之后,大卫把头偏向另一侧的窗边,「说得轻巧」,这基本上也是他对妈妈说的最后一句话,我也是这么说的。今天回去翻原剧集的时候,看到这一段和后面在医院的那一段,我感到有些愧疚:大卫没机会对他的妈妈许下新的承诺了,但我还可以

+

我也知道,我的父母在同龄人里算是相当好的了,他们在学习上给我充分的资源和支持,在成年前也给了我相当的自由,现在也很是尊重我的意见,比我看到的有些父母可是好太多了。说到底,妈妈喋喋不休地让我去申请学校,也是觉得我不读硕士好可惜,想让我继续读书而已。我呢,在学校的舒适圈里待久了,变得有些好逸恶劳,不想再继续努力下去了。

+

不过,我是真的有这样的想法:我从小到大努力了十几年,经历了一次又一次的考试,完成了父母的期望,终于越过了高考。当时我想发誓,这辈子再也不想去经历哪怕再一次统一考试了。但事后证明,人总是会走向现实的,即使父母对你没有了更多的要求,也并不等于可以不需要再努力了。由于脱离了父母经济关系的庇护,见到了世俗社会露出了獠牙,以前的事情变复杂了。对自己的要求不再是父母「为你好」的、恒定不变的,而是与我们的欲望相挂钩、变得隐性了。想要住房子?你得有户口、缴足社保年限等等;想要升职?除了能力好,还得同事人缘好受赏识云云;想要休息一段时间?不好意思,社保可不能中断。当对我们的要求不再只是与我们自身相关的时候,那我们努力还是为了自己吗?我们还能这样说服自己吗?

+

night_city

+

在粉丝制作的夜之城官方主页,写着这座城市的历史:

+
+

夜之城的历史源于一位伟大企业家的远见梦想,他就是理查德 · 奈特。二十世纪末,奈特便构思了这座未来之城,一座不被旧观念沾染,不被陈规束缚的城市。

+

不幸的是,根深蒂固的利益集团和眼红心热的竞争对手疯狂地想要破坏奈特的这个梦想。于是不堪设想的事情发生了:理查德 · 奈特在家中惨遭不知名袭击者杀害。为了纪念他和他留下的伟大创造,人们将这座城市改名为——奈特之城 (惯称「夜之城」)。在之后的岁月里,它成功摆脱了美国制度的束缚,在没有依靠任何懒散臃肿的国家政府的帮助下,灵活地应对了不可想象的灾难,包括一场摧毁了其中心地带——公司广场的核爆。作为一座成功的灯塔,夜之城的坚韧仍在照耀着整个世界。

+
+

这是一个全新的梦想之城,相信任何新来者看到网页上光鲜亮丽的文字,都会对自己未来在夜之城的生活充满期待吧。但现实情况是什么呢?公司之间相互倾轧,他们并不关心谁会因此丧命;街上帮派混战、枪击事件层出不穷,死人可是家常便饭;而警察受公司与帮派制衡,无法有效地保护市民;学校与医院更是充满了铜臭味,没有钱连最基本的治疗都享受不到。但这里有有着大量的机会,虽然鱼龙混杂,危机四伏,但又绚烂夺目独树一帜。

+

好在我们在一个社会主义国家的大城市,这里不会变成这样,对吧?

+

广州,这个引领着我「广州梦」的城市,会不会变得跟深圳、甚至是夜之城一样,吸引着络绎不绝的「逐梦之人」前来,吸干他们的血,再敲骨吸髓,最后弃置不顾。我听说,深圳的地皮大多批给了商业用地和工业用地,而很少批居住用地,导致住宅、医疗、吃食和出行都很贵 —— 就是想在发展经济的同时,让那些来深圳工作的人把钱都花在深圳,贡献完几十年青春后,从哪里来就回哪里去好了,不要成为城市的负担。虽然可能只是都市传说罢了,但不免让人对未来的希望雪上加霜。

+shenzhen_people + +
着实令人失望
+ + + +

何去何从

古谚云「树挪死,人挪活」。既然夜之城如此糟糕,为什么不干脆离开这里,去更好的地方生活呢?为什么大卫与露西不隐姓埋名、远走高飞呢?

+

他们有剧情里的「迫不得已」,而现实里的人们也有自己的苦衷。

+

就像夜之城最著名的公众人物之一、第 54 广播网的贝斯伊西斯所说的那样:

+
+

没人能离开夜之城,除非躺在裹尸袋里。

+
+

离不开

大卫重情重义,背负着母亲的遗愿与前帮派领袖曼恩的遗志,他不断接活为团队负责。他装上了越来越好的义体,同时也承担着相应的代价。最开始大卫三天的药钱就花光了露西这段日子的所有收获,而曼恩在第一个任务后大手一挥就直接给了一个月的药;后来大卫有了更多的钱,但因为装上了更好的义体,他得支出更多的钱去购买维持生命的抑制药物。这即意味着,只有一直干活才能使自己和露西活下去

+

义体改造本就是取死之道,只会不断向赛博精神病的深渊滑落。就算拆掉部份义体也不会止住滑落的趋势,只是苟延残喘罢了。或许大卫的体质足够特殊,能抗住部份的改造得以善终。但在夜之城,没有足够的力量,随时都可能被一茬又一茬前仆后继拥抱改造的新人踩在脚下。那么,完全抛却义体做个普通人呢?且不说有没有能力守住财富,在这个意外频发的夜之城,普通人可能莫名其妙就死在了突如其来的交火中,就像大卫的妈妈一样。

+

大卫离不开夜之城了,这就像是《肖申克的救赎》中的瑞德所说的「体制化」那样。

+

话题「逃离北上广」已经被提出许多年了,可为何这些地方的工作者数量仍居高不下、甚至年年增长?因为只有这里才能为人们提供丰富的机会,与一份足够的工资:这份工资在这里或许普普通通,但在二三线小县城却足以算是十分丰厚了。在习惯了这份工资后,如果有一天离开了这里,我们还能负担得起自己与家人的日常开销吗?

+

能去哪

正如上文提到的,人们除了夜之城,哪也去不了

+

大卫和露西他们能去哪?他们自出生始,就只见过夜之城,外面是一片荒芜,只有流浪者依托城市的残羹剩饭生活着。要是离开了这个熟悉的环境,他们又能去哪里谋生呢?为了防止人工智能病毒再次毁灭城市的网络,夜之城筑起了防火墙建造了局域网。即使外面的世界那么大,即使新美国、欧盟与跨国公司在其他地方仍在激烈地进行权力争夺,可是他们只知道夜之城,只知道海伍德与太平州。

+

虽然父母在小时带我去了许多国家旅游,但现在我想到要去那些地方生活时,虽然十分向往,但也常常对此感到恐惧。我并不是对外国不了解,也经常看当地的新闻与生活实况,不过这样并不够 —— 我不了解的实际上是如何在那里生活

+

在一个地方旅游和生活是完全不同的:我在美国的时候,在纽约的第五大道住了大半个月,常常去不远处的麦当劳点一份 Big Mac Combo 果腹,每天醒了就是去博物馆和中央公园溜达,晚上回去时还能买大盒牛奶与薯片,生活十分惬意。为什么呢?因为父母出了钱,我除了花钱,其他的都不用考虑。而一旦在那里生活,就需要养活自己,暂且不论其他的难关,仅是合法的身份就能让大部份人碰壁;并且工作也可能不像论坛上说的那样「白菜」,可能好几个月都没有收入;更别提还有潜在的文化差异与可能遭到的歧视,这些都不是在旅游期间能认识到的。

+

大卫和露西当然也会为此顾虑重重,因为对外界不甚了解,他们无法评估抛弃一切远走他乡是否值得。外面的世界可能并不像传说中的那么美好,可能跟夜之城一样差劲,甚至还不如夜之城呢。

+

对他乡的陌生、不确定性与恐惧,使人担心远方有无自己的容身之处,那里是否真的合适。很多人都会犹豫不决,除非在已经走投无路,否则很难做出这个决定。

+

值得吗

他们对待生活的态度不同,最后阴阳两隔,令人扼腕叹息。

+

其实露西所求很简单:逃脱公司的追捕,存下足够的钱去月球。如果她想要当传奇,那么她就不会中途离开团队去当大卫的隐形守护者、也不会最终一个人登上月球无尽孤独;而是与大卫一起,用一场壮丽的烟火,轰轰烈烈地结束一生。

+

在一开始夜之城的中间人德克斯特找到大卫时,就问过他:

+
+

你是愿意当个无名之辈,一辈子安生,插着尿管死在床上?还是就算活不到三十岁,也要名留青史呢?

+
+

如果大卫只是想像维克托大夫一样过普通日子,那他就不会在曼恩大哥死后接过担子,不会继续加装义体,而是和露西一起隐姓埋名,平平安安地度过余生。但他不能这样做,他最初想成为夜之城的传奇,到后来身上又背负了太多的期许与责任,他不能弃之不顾。

+

那么,我们对生活又是什么样的价值评判与态度呢?

+

变革

离开夜之城固然可以一了百了,但这又何尝不是一种逃避呢?对于那些热爱夜之城的人,为什么不能使她重新变为「理想城」呢?

+

因为这里有亚当重锤,所有想要挑战现有体制的人,最后都被他捏碎了脑子。

+words + +

知乎有一个贴子对我印象极深,这部分就在这里附上,结束这部分吧:

+
+贴子原文摘录 + +
+

我们站在一个更加旁观者的角度,既不带入大卫也不带入荒坂,我们用现实来模拟一下这个剧情,会得到一个特别残酷凛冽的观感:

+

一个成长于地县级城镇的少年,自幼丧父,母亲单亲带大小孩,为了生计带着孩子挤进大城市,东拼西凑层层借贷用尽全力打拼送小孩进入高等学府,怎奈由于出身和时不时展现出的贫瘠,孩子在学校经常被花式霸凌,虽然头脑天资聪颖,但这种强弩之末一般的努力最终还是渐渐落得下风,突如其来的变故让母亲撒手人寰,缺少学费的孩子只能辍学,没有毕业就无法参加工作恶性循环,结识了地方上的混混帮派干起偷鸡摸狗扰乱治安的活计,青春在这短短的几年里急剧燃烧,经历了同样出身的一批伙伴之间的爱情友情,终于被社会安保和利益长期受损的企业报复,在明确了失去同伴和所爱之人无从挣扎的残酷现实之后,少年毅然决然制作了卡车炸弹去冲击了市政大楼……

+

而这一切的一切都不会被外人所知,只有网络上一张蓝底白字的昨日我市一犯罪分子驾驶自制爆炸卡车冲击市政大楼被当场击毙的警情通知,也只有当地的混混酒吧流传着「大哥」的丰功伟绩,吸引着又一批年轻的鬼火少年向大都市的魅影义无反顾地奔去。

+

动画后劲很大,主要就是因为动画把整个故事的表象以最直观的叙述手法直接展现给作为观众的我们,在这些强劲的情绪渲染背后,当我们经历了这激烈的感官刺激之后,会分析得出剧中众人都有自己难以走出的心结,都有不成熟的心理欠缺,在做重大的事务决断的时候都缺乏考量,年轻人常有的「不要怂、不能逃避」成为了他们想要弥补这些缺憾的精神盾牌,而事实上更多的团队友人爱人之间的开诚布公以及应对困难的冷静思考和详尽规划才是解决问题的最好办法,主角一行人完全是被夜之城带了人生的节奏,靠着本能燃烧自己生命那样活着,而夜之城恰恰最喜欢吞噬这类年轻人的血肉 —— 这一点尤其像极了现实中的几大集中型都市,给你营造一个灯红酒绿的幻梦,设下重重名利陷阱,等你一步一步随着它沉沦,再把你抽筋剥皮敲骨吸髓。

+

所以,大卫本性善良,但却悲情,在巨大的社会潮流中被席卷淹没,他的性格令他偏执激进,他可以做一个很好的执行者,但严格意义上讲和胶泥银手一样无法真正担当改变赛博朋克 2077 大背景时代的角色。

+
+
+ + + +

最后

没想到这篇文章写了这么久。

+

我在三月二十一日晚上与家里人通完电话,思绪繁多,一写就到了凌晨两点。后来这些文字还是在脑内挥之不去,就偶尔再加一些。本来我是没想发出来的,因为通篇给人的一种悲观、失望与焦虑的情绪,甚至有比较极端的想法,就留着以后自己看算了。

+

后来与同学的交流中,我发现朋友们或多或少都有类似的想法。记得某位博主说过,他「不想再保持沉默,想写些技术以外的东西」。想到自己三年前的那篇《大二前的迷惘,思考,和一点决心》,在现在看来非常不成熟的文章,却表现出了我那时真实的焦虑与困惑,此时此刻,恰如彼时彼刻,于是我就把这些文字整理和删改了一下,打算也同样发出来。

+

我写这些并不想要传递这些焦虑与情绪,我只是想记录自己在人生某个时刻真实的想法而已。

+

我在后来又想了许多,回到文章开头我不想再努力的想法,一个多月后想来真是蛮幼稚的:自己既懒惰、不想努力,又想要把现状的原因归咎于社会的不公与固化,以此来推卸自己的责任。要是真的不思进取,那与那些躺在功劳簿上享福、被人唾弃的二代子弟又有何不同呢?

+

我希望自己能变得更优秀,这并不仅像大卫一样只是为了别人,也是为了自己,让自己以后能有更多的选择。达则兼济天下,穷则独善其身。另一方面,或许以后也能为有需要的人提供一点微薄的帮助吧。

+

最后,祝大家五一节快乐!

+

感谢您读到这里,谢谢。

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2023/05/07/2023-05-Week-18/index.html b/2023/05/07/2023-05-Week-18/index.html new file mode 100644 index 000000000..c6894dc83 --- /dev/null +++ b/2023/05/07/2023-05-Week-18/index.html @@ -0,0 +1,139 @@ +【周记】2023-18:劳动节与电影院 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + +

【周记】2023-18:劳动节与电影院

1800_born_to_retail准备的本期封面图意外地应景,来自香港 🇭🇰 的插画家 PEAR 哥

+

本周一是五一劳动节,在此预祝大家节日快乐!(虽然大伙儿看到这篇周记的时候,肯定已经是下一周了)

+ + +

这周还是蛮普通的一周,毕竟就跟往常一样,在实验室里做着自己的毕业设计。不过还是少不了上网冲浪,也寻闲再次去电影院看了电影。

+

说起来蛮有意思的,曾经相比起去影院,我更喜欢和朋友或独自一人关了灯,在房间里看下载的电影;而在有了被封控的经历、现在社会重新开放以后,我反而开始珍惜走出去的机会,更偏好去电影院看电影了。电影票基本上也无纸化了,扫码就能进去。不过我还是特意请票务员帮我打印了纸质的电影票,主要是为了能贴在我的手帐里,也为了一点怀旧感(

+

没有什么比这样的生活更美好的了。

+

1804_cinema坐得满满当当的影院

+

炮姐生日快乐!

+

就算是我,也可以战斗,就算是我,也可以成为你的力量!

+
+

超炮可以说是我看的第一部番,其中的御坂美琴也一直是我最喜欢的动漫角色,这也是我网名与头像的来源。

+

以前大家都以为美琴的生日是 4 月 5 日,后来官方公布她的生日在 5 月 2 日 —— 与其声优佐藤利奈相同 —— 可这么多年过去了,她还在 14 岁,像柯南一样(

+

不过没有关系,很高兴今年还能看到这么多插画家创作她的生日贺图,祝御坂美琴生日快乐啦!

+

我们明年再见~

+

1801_misaka来自日本 🇯🇵 插画家ひまねこ。

+

同学聚会

以前的一个很聊得来的学长当了警察,最近回学校开政审资料,就一起去以前的一家小店吃了饭。

+

说实话,蛮羡慕能够当警察的,穿警服多帅啊不是吗?而且每个月还能有枪打(训练),可惜那种受限制太多的生活方式还是与我不太相符。现在说这种话很有意思,颇有一种吃不到葡萄说葡萄酸的美。

+

成功的推友

看了推友三咲智子的第一篇生活博文旅行篇 - 欧洲,相当惊讶 —— 我一直以为他是已经工作了好些年的前辈,所以才有能力参与到这么多的开源项目中,没想到他比我还要晚一年高考……

+

我是在教育体制中「卷」出来的标准品,很难想象在中学时还有与读书完全无关的事。我在中学最大的娱乐就是读闲书和看漫画;电脑在人们眼中则被视为上网、炒股和打游戏的产品,而非是生产所需的工具。

+

一开始感觉自己虚度了好多光阴,就像大家都是小孩的时候,自己还穿着尿布吸着奶嘴,而他已经穿西装打领带了。后来翻到他的自我介绍,了解到他是如何走到现在的轨迹后,再对比一下相应的时候我在干嘛,也就想通了。智子六年级时就在网上接单子,我直到大学才开始学写代码 —— 对我而言是新大陆,而别人早就在极点插下旗帜了,这样的技不如人再正常不过。并且,我虽然在程序领域不如他,但也不用自怨自艾,或许我可以在其他方面有自己的建树。

+

没关系,那就继续崇拜他吧(得找个机会成为他的 Sponsor,不过得等工作以后办张外币卡才行

+
+

PS. 看到有推友留言说:

+
+

工作后恰恰没那么多时间和精力参与开源了……
特别是在国内996……

+
+

感觉好有道理,并对上班以后生活的想象更加灰暗了。

+

一图

漫画里的等级,会不会是人年龄与经验的一种体现呢?看到这么高等级的人仍旧过得不快乐、整天忧心忡忡的,新人会不会直接失去奋斗的意愿呢?所以不显示等级是为了我们好吧。

+

对了,要是漫画里的新人在经历这些后,睡在床上时等级涨到了 LVL 87 就更有意思了。

+

1802_pic

+

内外大事记

    +
  • 【国际 🇺🇳】2023-05-01 周一,劳动节快乐!
  • +
  • 【国内 🇭🇰】2023-05-02 周二,香港特区政府将地区议会「去政治化」,行政长官李家超指责部分区议员危害国家安全,计划整顿其选举制度,将原来的全部直选议席降至 20%(来源)。
  • +
  • 【国内 🇨🇳】2023-05-04 周四,湖南农民种植生姜被农管强制铲除(来源)。
    这是自媒体的文章,所以其可信度存疑。不过我想,如果农管真的强制要求种植特定的作物,这是否侵犯了农民的权利?这样对待农民,是否又符合我们最初以工农联盟为基础的共和国精神?
  • +
  • 【国际 🇺🇳】2023-05-05 周五,世界卫生组织宣布新冠疫情「国际关注的突发公共卫生事件」状态结束(来源)。
    太棒了,三年了,疫情终于被宣布结束了。但它对世界带来的改变,至少在可预见的未来,将一直持续下去。
  • +
+

1803_hkgov

+
    +
  • 【国内 🇭🇰】2023-05-05 周五,香港警察国安处持「搜查令」,于元朗港大嘉道理中心内取走一件「煽动他人颠覆国家政权」案件的证物,据悉为「国殇之柱」(港府官方声明,备份链接,媒体「香港 01」报道链接)。
    看吧,突发新闻,世界被改变了,从这里开始。欲对此物了解更多,请参见下文「信使 - 读物」栏的专题报道。
  • +
  • 【国际 🇬🇧】2023-05-06 周六,英王查尔斯三世于伦敦威斯敏斯特大教堂(西敏寺)加冕(来源)。
  • +
+

信使 - Courier

本周只看了一点点真正的书籍,大部分的阅读还只是碎片化的,比如浏览网页 / 文档这种,继续注意些吧。

+

读物

    +
  • 【研究】民主指数 Democracy Index,来自 经济学人信息社
    听到有人提了 2022 年的指数,就去翻了一下,没想到居然有比朝鲜 🇰🇵 还低的国家……
  • +
  • 【推荐】Fire on the Horizon,来自 Cat Chen推荐
    他在后面的系列贴子中讲了好多书中钻井平台的事,使我对未知的事物非常感兴趣,打算也去找来读一读。
  • +
  • 【采访】结婚有淡季,但离婚的人永不缺席,来自 人物杂志
    以民政局婚姻登记处工作人员的视角,讲述了她在这些年遇到了人们与事情,对婚姻的意义有了更深的理解。
  • +
  • 【故事】每天都有两只鸟拜访我。一只带来好消息,另一只带来坏消息,来自豆瓣 Reddit 恐怖故事
    又是一篇美好的文字,作者很巧妙地借助鸽子与乌鸦借喻命运,节奏扣人心弦,非常好看!
  • +
  • 【故事】找不到身体的头在垃圾桶里对我笑,原文是 A 岛的匿名作者写的。A 岛沉了以后,很多东西都散失了,这是我碰巧撞见的一篇转载,原文标题应为:《找不到身体的头在垃圾桶里对我笑》。
    转载者感叹说「想象力和创意真的需要天赋啊」,我也非常赞同,这篇文章非常的意识流,我感觉作者在语言上的天赋与理解都很高,比如:「房间里的盆栽被吓哭了,它给自己浇了水」,我从来都没有看到过这些新奇的表述。忍不住多读了几遍后,甚至感觉自己的语言表达快被同化了似的。结尾制造了相当精彩的悬念,一下子将故事的骇人程度提高了。
  • +
  • 【专题报道】臉 —— 大寫的人,無處安放的自由,来自 端传媒 Initium Media,2021。
    看见端传媒在近日新闻下挂出了这篇专题报道,我对这篇印象很深刻,可惜我什么也做不了。
  • +
+

影音

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2023/05/21/2023-05-Week-19-20/index.html b/2023/05/21/2023-05-Week-19-20/index.html new file mode 100644 index 000000000..712784f23 --- /dev/null +++ b/2023/05/21/2023-05-Week-19-20/index.html @@ -0,0 +1,125 @@ +【周记】2023-19-20:毕业设计与宣讲会 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + +

【周记】2023-19-20:毕业设计与宣讲会

1900_cover与第十五周一样,图片还是来自 Klta_卡

+

这段时间都在做毕业设计的最后工作与撰写我的论文,所以每天都是同样、一成不变的生活,再则本来也没什么时间写周记,所以干脆就两周合成一周了。

+ + +

跳闸

傍晚时分,实验室突然跳闸了。还好我用的是笔记本电脑,所以断电没有让我的仿真突然暴毙。大家被迫并开心地停下了手中的活儿 —— 除了明天要去给导师做汇报的同学 —— 起身去电闸看看发生了什么事。大伙们七嘴八舌地给实验设备断电、打灯和检查线路,平时安静的实验室变得十分热闹。

+

很快就排查出了结果,是一个空调漏电了。在照明恢复之前,一旁的好友 Monkey L 拍了张照片,光影非常好看。这张照片拍摄时使用了长曝光,外面的天色本来已经是很黑了,没想到在曝光的最后一刻突然来电了,所以就变成了这样非常好看的颜色,还有着难以言说的朦胧感。这也是我在看到这张照片的第一眼,就喜欢上它的原因。

+

我就想让他传给我,「你不会又要拿去发你的博客吧」他问,我跟他说只是想拿来收藏,不会发上去的。他回道,「那不行,你得发在上面,还得署我的名字」,所以就发在这里了(

+

1901_photo摄影大师 Monkey L 的作品《Light before the light》

+

宣讲会

周末宣讲会上的表现,还是可以算蛮成功的吧,不过还有一点小遗憾,就是我准备得不太充分,毕竟提交毕业论文以后只有两三天的时间给我准备了。

+

被同学拍了许多黑照,太羞耻了,就不多放了,简单地贴几张吧:

+

1905_prepare

上台准备时朋友抓拍的

+

1904_card

感谢学弟学妹们写的卡片

+

一图

如果冒犯到了尼采,我是真的很抱歉,不过真的好好笑。

+

1903_pic

+

高堡奇人

看到这几年发生了这么多奇幻、毫无逻辑的事件,越来越感觉像是生活在「高堡奇人」的世界中了。

+
    +
  • 【国际 🇨🇦】2023-05-08 周一,加拿大宣布将中国驻多伦多总领事馆领事赵巍列为「不受欢迎人物 persona non grata」,并驱逐出境。
  • +
  • 【国际 🇨🇳】2023-05-09 周二,中国宣布将加拿大驻上海总领事馆领事甄逸慧同样列为「不受欢迎人物」,并限令其在 5 月 13 日前离境(来源)。
    加拿大与中国互逐外交官了,对等相待。梦回 2020 年,那时各国也喜欢这样做,美国 🇺🇸 甚至一口气驱逐了四十多位俄罗斯 🇷🇺 外交官,并且在与中国 🇨🇳 互逐外交官后,直到现在成都的美领馆也仍处于关闭中。
  • +
  • 【国内 🇨🇳】2023-05-13 周六,脱口秀艺人李昊石被指责侮辱解放军,随后被文旅局官方通报并罚款、取消演出与演员表除名,并被公安机关立案调查(来源)。
    大陆就不应该有脱口秀,我们又能够讽刺什么呢?太荒诞了,这也能被认为是侮辱人民军队,再次有了文字狱的即视感。还好我基本上从不在国内的平台上发言……
  • +
  • 【国内 🇨🇳】2023-05-16 周二,中国国家统计局公布的数据显示,四月 16 至 24 岁青年失业率在 4 月升至 20.4%(来源:新浪新闻,备份于此联合早报)。
    四月的 16-24 岁青年的失业率创下了新高,虽然这相当令人担忧,不过因为快到毕业季了,大量毕业生将进入劳动市场,所以这项指标的增加还是属正常状况,在预期之内。另外,25-29 岁的劳动力失业率在 4.2%,这至少说明我们的经济还没有到太差的地步……
  • +
  • 【国内 🇨🇳】特斯拉中国向国家市场监督管理总局备案了召回计划,共计召回 1104622 辆(来源,备份于此)。
    召回并不都是返厂维修,比如这次就是 OTA 远程推送。特斯拉终于把他那油门和刹车的控制方式改了,我在后面的「读物」中也有提到。
  • +
  • 【国际 🇬🇧】2023-05-18 周四,哈里王子夫妇在美国 🇺🇸 纽约被卷入了「近乎灾难般」的车祸。
  • +
+

信使 - Courier

读物

+

影音

1902_tetris

+
    +
  • 【电影】俄罗斯方块 Tetris(2023)
    上周看到有推友推荐这部上线于 Apple 的流媒体电影,蛮感兴趣的,也就找来看了下。感觉拍的挺不错的,但我还是不理解为什么争夺版权的商战搞得像谍战一样,剧情也有些太夸张了,给人一种不真实感。俄罗斯方块风靡全球,而发明它的作者从中却没能得到多少的钱,也挺不公平的。里面有一句话给我印象很深:「共产主义从来就不是为了阻止自由,但不幸的是,人类的贪婪阻碍了我们」。
  • +
  • 【纪录片】空中浩劫 S23E01:地区航空 5966 号班机ACI 中文字幕组
  • +
  • 【纪录片】空中浩劫 S23E03:日本航空 123 号班机ACI 中文字幕组
  • +
  • 【纪录片】空中浩劫 S23E06:四川航空 8633 号班机ACI 中文字幕组
    在五年前的那次事故中,川航机长刘传建在青藏高原上空驾驶着空客 A319,驾驶舱挡风玻璃破碎、副驾驶半身被吸出窗外时,成功地带着飞机和乘客安全迫降。从那一刻起,他成为了可以与迫降哈德逊河的机组相提并论的传奇。可是,他没有接受 ACI 制作组的邀请而参与到节目的录制,真是太遗憾了。
  • +
+

链接

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2023/06/04/2023-05-Week-22/index.html b/2023/06/04/2023-05-Week-22/index.html new file mode 100644 index 000000000..690db901c --- /dev/null +++ b/2023/06/04/2023-05-Week-22/index.html @@ -0,0 +1,171 @@ +【周记】2023-22:大飞机与答辩 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + +

【周记】2023-22:大飞机与答辩

2200_cover本周的封面图来自推特画师 852 話

+

第 21 周的周记呢?我不知道你在说什么(

+

另外,这个标题并不是说大飞机是大便,而是我这周要去做毕业设计的答辩,希望在场的老师们不要认为我的论文是大便 💩,要是能象征性地问几个问题就让我过,那就再好不过了。

+ + +

国产大飞机

2201_plane忘记在哪存的图了…… 可能是哪位飞友吧

+

根据媒体报道,国产大型客机 C919 在上周日执行从上海虹桥机场飞往北京首都机场的 MU9191 航班,首次完成商业载客飞行!

+

这感觉就跟我们首次制造汽车或者高铁一样,具有继美国 🇺🇸 波音公司与欧洲 🇪🇺 的空客公司后,中国 🇨🇳 也有了自己的大型客机(支线飞机日常无机权) —— 总算是有新的飞机加入民航大家庭了,这使得我这样的爱好者相当激动。但美中不足的是,中国商飞公司的 C919 目前还使用的是 CFM International 的 LEAP-1C 引擎,并且有相当比例的关键部件仍旧来自欧美的合作供应商。这固然是全球化的结果,我还是希望中国能够有着完整的产业链,但也不强求,因为全套国产化需要的投入可能对整个产业而言并不划算。

+

另外,我还是有些担心 C919 的安全性,根据维基百科的记述:

+
+

2023年2月1日,中国东方航空注册编号为 B-919A 的 C919 客机原订早上从上海虹桥国际机场飞往北京大兴国际机场,然后转往合肥新桥国际机场。然而客机当天并未飞往合肥,北京至合肥的 MU7819 航班和合肥至上海的 MU7820 航班均于航班追踪网站上标示取消。网传飞机左发动机反推故障,但东航并未就此回应。

+

文章来源:《传陆国产大飞机 C919 验证飞行受挫 未如期飞往合肥》,中时新闻网。

+
+

不过,这次头等舱坐了许多大飞机项目的大佬,看到推上有人转载的图片与描述:

+

2202_people_on_plane至少这次是让领导先走了(

+
+

第一排左起开始依次是:国家民航局局长、中国商飞董事长、东航总经理、工信部部长(原商飞董事长);

+

第二排左二起是:总设计师吴光辉、大飞机专项组组长张彦仲、原中航工业总经理(商飞 ARJ 总指挥)罗荣怀。

+
+

既然领导们这么有信心,想必整个飞机应该也没什么大问题,希望在后面几年的运营中能吸取前人的经验,不要出大型事故就好了。

+

答辩

近日做好了答辩的 PPT,下午按着老师通知的时间到了答辩现场。答辩的地点在导师所在建筑的一楼,是一个很不起眼的小房间,平日从来都没有注意到过。

+

按照学校的规定,有四位老师将听我们的答辩,可恰巧我的导师在那天突然有事,来不了,所以就另补了一位老师过来。我上午得知这个消息的时候,有些不知所措,因为担心导师不在场的话,被其他老师指指点点的时候就没有人能打圆场了。不过是我多虑了,当我们被其他老师叼的时候,那位递补的老师居然会为我们开脱,真是太棒了(

+

因为不允许其他学生旁听的缘故,所以我与相同导师的同学就一起聚在外面,希望能听到答辩房间飘出的「只言片语」,等到答辩完的同学出来也能及时问问他。

+

每一轮的时间都比我们预料的要久得多:本来听到 PPT 的讲述环节严格不超过五分钟、且一下午有二十多个人参加答辩时,我们估计每个人的答辩大概不超过十分钟。可真等到答辩开始,我们看到第一个同学进去了二十多分钟还没有出来,我心想,坏了。

+

在苦等许久以后,终于轮到我了。整个答辩的过程还是蛮顺利的,除了被问了两个技术性的问题,老师们其他的意见几乎都是格式问题,而论文的内容是没有问题的。出门时我长舒一口气,因为在我之前才有个同学被要求「大改」论文……

+

现在答辩已经结束了,距离我大学本科生活的真正结束,好像也只差一次毕业照和毕业典礼了吧。

+

2203_before_defence答辩前夕

+

洗牙

这周跟医生约了个时间,去中山三院检查了牙齿。因为我小时候动过手术的原因,所以就一直比较注意口腔,大概一年去检查一次。

+

今年牙齿也没什么大问题,医生说我有一点慢性龈炎 —— 我知道这是牙石、或者是里面的牙菌斑引起的,就顺带着洗了下牙,感觉有点小痛……

+

2208_tooth医院的费用单

+

一图

2205_mask + +

当我在推上看到它的时候,我意识到本周的一图非它莫属了,这张图真的太漂亮了。说真的,这样的一幅「人民企业家」的构图、服饰与表情,连 AI 都很难画出来吧。马斯克最近访华的时候,看来是真入党了(

+

完了,改革找不到拍摄这张图的媒体来源,不会真是 AI 画的吧,完蛋了。

+

盯了这张图 10 分钟、与同学讨论了一下后,达成共识:这张图可能真的是 AI 画的,因为马斯克应该没在这种场合出现过。

+

另外再补一张其他网友留言的图,笑死:

+2206_macron + +

高堡奇人

在这方面,我很像好龙的叶公:自己十分喜欢高堡奇人所构造的世界,却在此时害怕它真正地来临。

+

上周

    +
  • 【香港 🇭🇰】2023-05-23 周二,因陆港开展器官移植共享,不少捐赠者取消器官捐赠申请,香港行政长官李家超谴责取消申请的捐赠者,称行为是「破坏整个系统的行径」,并要求警方调查当中是否有违法行为(来源);
    只能说,不愧是李家超。
  • +
  • 【中国 🇨🇳】2023-05-24 周三,苹果公司因发布虚假广告被处以 20 万元的行政处罚(来源);
    终于等到苹果因为广告被罚款了,苹果的营销好是好,但看起来就那么有点一言难尽。
  • +
  • 【台湾 🇹🇼】2023-05-25 周四,台湾行政院宣布,停用「大陆地区人民亦为中华民国人民」的相关函示,行政院长陈建仁称这是为了避免国际误解(来源);
    这下被开除国民身份了(
  • +
  • 【香港 🇭🇰】2023-05-27 周六,香港第二大民主党派「公民党」解散(来源);
  • +
  • 【中国 🇨🇳】2023-05-28 周日,国产大飞机 C919 今日商业首飞(来源);
  • +
+

本周

    +
  • 【印度 🇮🇳】2023-05-30 周二,中国与印度在近几周相互驱逐了几乎所有对方的记者(来源);
    听说是因为从 G20 决定在克什米尔举办开始后,就逐渐这样了。
  • +
  • 【澳门 🇲🇴】2023-05-31 周三,中国澳门特区《维护国家安全法》修订版本本周实施,「分裂国家罪」扩展到非暴力行为(来源);
  • +
  • 【中国 🇨🇳】2023-06-01 周四,中国高考报名人数 1291 万人,创历史新高(来源);
    怎么还有这么多人啊。
  • +
  • 【澳门 🇲🇴】2023-06-03 周六,主办澳门「六四」悼念晚会的澳门民主联合会确认解散(来源);
  • +
+

信使 - Courier

因为答辩结束的缘故,所以本周看的杂七杂八的东西也满多的:

+

读物

    +
  • 【漫画】电锯人电锯人(チェンソーマン / Chainsaw Man)(2018);
    选了个空闲的晚上,把电锯人漫画的公安篇一口气看完了。这是一部很热血的青年漫画,打斗的场景、分镜与血浆残肢都画得很好,令人热血沸腾。我唯一不喜欢的一点是里面有些角色死得太随意了,不过想想,会有这种感觉,可能也是因为我看了太多的英雄主义作品吧。但是,我还是希望《周刊少年 Jump》的编辑们能带着藤本树去医院检查一下精神状态……
  • +
  • 【知乎问答】《现在大量 33 层的高层住宅未来怎么拆迁?拆得动吗?》,作者是 TANG,存档于此
    这位博主写了各国在几十年前兴建的高层住宅的后续情况,研究得慢深入的,感觉对当今中国大量高楼大厦的未来十分有参考意义,值得一读!
  • +
  • 【视角】《移民北欧,真能迎来 “躺平” 的人生吗?》,三联生活周刊,存档于此
    就像之前推荐的文章一样,我总是喜欢借助新的视角看待世界。
  • +
  • 【故事】《只需89.99 美元即可与逝者约会》,来自豆瓣 Reddit 恐怖故事,存档于此
    这故事…… 中间两人的感情颇有莫泊桑的味道,而结尾的悬念与反转可跟欧亨利一样惊人!只不过太恶趣味了点(
  • +
  • 【故事】《我减掉的 400 磅昨晚来找我了》,来自豆瓣 Reddit 恐怖故事,存档于此
    其实我感觉,虚幻的欲望是最难以克制的,而这个400磅的怪物将欲望具象化后,反而比较容易控制自己不去吃双人份冰淇淋了(
  • +
  • 【采访】《第一批读人工智能的双非学生,困在风口中》,来自《人物》杂志,微信公众号;
    别说人工智能这种新开设的专业了,就连我们学校的一些有很长历史的专业,它们的教学规划也有许多不合理的地方……
  • +
+

影音

2204_john_wick_4

+
    +
  • 【电影】疾速追杀 4(2023);
    年度枪战爽片,更别提这次还有甄子丹参演呢!(虽然又在演盲人

    +
  • +
  • 【电影】蜘蛛侠:纵横宇宙(2023);
    我就说怎么电影的节奏这么慢,原来高潮都在下一部里啊…… Sony 你坏事做尽!

    +
  • +
  • 【解析】《僵尸肖恩》剧本解析 - 为什么喜剧需要人物塑造,上传者是 zxc9668,原作者视频在此
    很喜欢其中引用约翰·特鲁比(John Truby)在《故事剖析》(The Anatomy of Story)中的一句话:

    +
    +

    In good stories, the characters come first, and the writer designs the world to be an infinitely detailed manifestation of those characters.

    +

    在好的故事中,人物角色是第一位的,而作者所创造的世界,是人物身上无限细节的体现。

    +
    +
  • +
  • 【播客】枫言枫语:Vol. 88 科技快乐星球16: ChatGPT 持续掀起 AI 热潮;

    +
  • +
  • 【播客】迪幻腕掰腕 Ep 17:回顾2022,展望2023;

    +
  • +
  • 【视频】空中浩劫 S23E02:独立航空 1851 号班机ACI 中文字幕组
    很难想象,事故起源于机上的半双工无线电,导致机组弄错了空管的指令,而他们没有严格遵守程序,也彻底错失了拯救飞机的最后机会。

    +
  • +
  • 【视频】【官方双语】我要从 CEO 上退下来了,来自 Linus Tech TipsB 站上的频道;
    老莱几年前谈过他想要退休,没想到现在真的不管事了,不过他还是会出现在视频中的。

    +
  • +
+

2207_concrete

+ +
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2023/06/11/2023-06-Week-23/index.html b/2023/06/11/2023-06-Week-23/index.html new file mode 100644 index 000000000..d01d60f00 --- /dev/null +++ b/2023/06/11/2023-06-Week-23/index.html @@ -0,0 +1,154 @@ +【周记】2023-23:多邻国与毕业晚会 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

【周记】2023-23:多邻国与毕业晚会

2300_cover本周的封面图来自推特画师 tarte(@HoDaRaKe)

+

本周没什么事情,主要考了多邻国的英语测试,和与朋友做最后的聚会。下周倒是打算出去玩,与两波不同的朋友去不同的地方,那可就有得写游记了。

+ + +

Duolingo English Test

2301_duolingo

+

本周参加了多邻国的英语考试,为了申请学校之用嘛 —— 因为现在有些学校还在延用原来在疫情期间的申请标准,仍旧接受多邻国以代替雅思、托福的成绩。我想着雅思与托福需要大量的时间与精力去训练,不如准备一两周去考一个小时的多邻国。

+

申请学校还是算做备选吧,拿了 offer 就去,没拿就继续工作。我倒是希望能够先工作一年,因为我还从来没有工作过呢,这也不失为一种全新的体验。并且,这一年也相当于我的 Gap Year,我在这一年中可以做更充分的准备,为了以后的目标,去更好的国家、申请更好的学校。

+

无论如何,我都会离开这里,去一个更好的地方。

+

更新

好消息,我达标了,但结果令人一言难尽…… 我的口语真的太差了,毕竟平时也不怎么说。

+

2310_result

+

毕业晚会

这周末晚上数个学院的学生会组织了一场毕业晚会,主要是由各学院多才多艺的同学们的节目组成。我蛮想去的,因为晚会在五山的老电影院举办 —— 这可是疫情之后老电影院第一次重新开放呢!可惜由于人数限制,没能拿到参加的名额,不过我找以前在学生会里认识的好兄弟搭了把手,成功拿到了参加的门票,真不错:

+

2302_ticket感谢那位因故去不了同学赠送的门票

+

傍晚时分,久违地去东区五山老电影院,发现门口已经聚集了许多人,可惜我急着停车领票 —— 因为纸质门票有限,先到先得 —— 所以没来得及拍张照片,现在本人感到非常地后悔(

+

进去以后,许多位置都被坐满了,并且由于音响太给力了,尝试坐在前排的我连心脏都差点与音响共振起来,就只好坐在后排了。看到一个表面赞美、实则讽刺的节目,学生会的同仁果然是懂窝工的:

+

2303_graduation_party《我爱科研》,爱来自瓷器

+

晚会相当地精彩:大学四年了,被疫情耽误了三年之后,终于有一次正儿八经的晚会了。

+

牙齿

上次检查完牙齿后,医生打电话说我门牙的颜色有些不正常,让我去给门牙拍片。我拍完之后,医生发现右侧门牙的牙根钙化(根管钙化)了,我理解大概应该是里面的神经坏死了吧。问医生原因,说大概是受过冲击什么的,我想了想,可能是以前箍牙的时候压迫太紧造成的……

+

为什么会这个样子呢…… 虽然医生说要是没问题的话还可以继续用,不过还是需要没=每一两年去检查一下。心情一下子变得好沮丧……

+

晚间漫步

晚上有位群里的朋友到学校附近,就相约着一起喝茶。「喝茶」只是一种形容,因为上个十年 / 二十年里四处常见的茶楼基本上都消失殆尽了,所以我们去的是麦当劳(

+

我们从学校晃悠到了附近的一些平时我也不常去的地方,比如省农业科学院、广汽研究院与广园路旁的铁道,甚至还有我们学校的牌坊 —— 这是真去的不多,因为里学校的主要部份实在是太远了。

+

我们聊了蛮多的,从现在的境况,到未来的规划,再到远的比如广园路快速路不快速什么的。他说在公司发展不错,积累了许多的经验,并且因为快要三十了,也想要做出些成果,接大项目。

+
+

现在二十二岁可能还感觉不到,等过两年像我一样二十五六时,你就会感觉到三十很近了。

+
+

我很是羡慕他:他毕业后有着清晰的规划和强大的执行力,家境比较富裕,运气也蛮不错的,做到现在这个样子已经十分的成功了。而且他在快要奔三时,还能像这样野心勃勃,也是我所期望变成的样子。

+

我个人没什么雄心野望,就只是想要在一个好的国家,有一份体面的工作,一个爱的与爱我的人,一个幸福的家庭与身体健康的父母长辈们。喔,这样想来,好像也不容易啊,多少人一辈子都无法拥有其中的一个。但对于我来说,这真的就是我想要的生活,就算工作只是简单的重复也没什么。

+

唉,至少现在看来,实现这些都是很困难的,但我是不会放弃的。

+

2304_academy_gate广东省农业科学院的一处大门

+

2305_academy_building广东省农业科学院的一个建筑大厅门口

+

2306_gac_building远远能看见广汽研究院的牌子

+

2307_rails广东省的一段重要的铁路,右边是主干道广园快速路

+

2308_memorial许久都未曾来过的学校牌坊,相册告诉我,上次来这里还得追溯到 21 年 3 月

+

评论区中的两性矛盾·II

豆瓣小组中,只是一篇很普通的恐怖故事和怪谈:永远不要载搭车客,里面男性想侵犯女性,结果被反杀。

+

按理来说,朴素正义的伸张,是我们所有人都会有的一种快意。可是,我不理解为什么评论区会说:

+
+

什么时候男性也可以和我们换位,体验一下每天生活在随时可能被异性杀死的恐惧中,还要被人们责怪是你自己安全意识不够强

+
+

一提到车与谋杀,我就想到了在 2021 年 9 月 8 日,湖南临湘一女子乘坐出租车,在经过京珠高速临湘段时将司机捅伤的案子,男性司机被捅三刀,最后调解的结果竟然是司机反而赔偿 1500 元;还有再之前的货拉拉案,也是判司机责任。这些案件里,难道女性是弱势群体吗?

+

我理解女性独自在外很容易收到侵犯,但各个群体都有害群之马,为什么要攻击整个群体呢?

+

我感到很困惑。

+

一图

刷推时看到了 China in Pictures 分享的老照片,蛮有历史感的,就分享在这里啦。

+
+

Beijing, 1973, by American photographer Harrison Forman.

+
+

2309_old_pic

+

高堡奇人

    +
  • 【香港 🇭🇰】2023-06-06 周二,李家超:大量取消器官捐贈假象,做法與2019年港版顏色革命類似(来源);
  • +
  • 【乌克兰 🇺🇦】2023-06-06 周二,乌克兰赫尔松州第聂伯河上的大坝被炸毁(来源);
    让我联想起了在过去,国民党军队炸毁大坝以阻挡日军进攻的事。
  • +
  • 【中国 🇨🇳】2023-06-07 周三,中国高考;
  • +
+

信使 - Courier

读物

+

影音

+

链接

    +
  • 一位推友在 California Cupertino Downtown 遇到砸车窗的事情,所发的几条系列推文:
    第一篇第二篇第三篇第四篇第五篇
    这个事件令人大开眼界,美国 🇺🇸 在疫情后的治安这么混乱的么?
  • +
+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2023/06/18/2023-06-Week-24/index.html b/2023/06/18/2023-06-Week-24/index.html new file mode 100644 index 000000000..2e4c060e3 --- /dev/null +++ b/2023/06/18/2023-06-Week-24/index.html @@ -0,0 +1,281 @@ +【周记】2023-24:毕业旅行 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

【周记】2023-24:毕业旅行

2400_cover夜晚的维多利亚港

+

本周非常开心,因为在我处理完那些杂事以后,终于开始了我的毕业旅行。本来我与不同的朋友们计划了好几个行程,结果学校突然改变了拍摄毕业照的时间,因此可能有一些行程最后去不了了。也正是由于此,我十分珍惜这次的旅行。

+
+ +
+

⚠️ 本周有大量照片,请注意流量消耗。

+
+
+ + + +

两地之旅

我的旅程,一直都比较随心所欲:出发之前大概定下时间、看看地图,然后买票提着包就走,想到哪玩到哪,玩累了就在附近订个酒店休息。以前确实做过详细的计划 —— 精确到半小时的那种,然后发现这样的旅游比上学还累,就不怎么定计划了。

+

我最开始计划去香港 🇭🇰 玩两天,澳门 🇲🇴 玩一天,然后赶着回去拍毕业照。不过那个时间改了以后,我这次行程的时间便宽裕多了,所以我能在香港待三天,澳门两天。我以前只去过香港一次,从来没有去过澳门,所以这次的旅行对我来说至少有一半会是全新的(

+

我上次到香港的时候正是这里社会运动最激烈的时候,在当地朋友的带领下,这里的一切都使我大开眼界。我觉得我很幸运,见到了香港真正的最后一面。而这次,我将回顾一些当时游历过的地方,那年今日。其他的我就没什么想去看的了,就在街上逛到哪里看到哪里吧。

+

而澳门我想去的地方可就多了,因为澳门被殖民的历史远长于香港或中国的其他地方,所以我最喜欢去看当地在殖民时代留下来的建筑。以前看历史的时候了解到,虽说同样是殖民者,英国 🇬🇧 与葡萄牙 🇵🇹 可截然不同:英国人会在殖民地建设基础设施,恨不得榨干殖民地的每一分资源与财富;而葡萄牙人只是想好好地做生意,若非必要,基本上是不会干扰当地人民的生活 —— 这也在某种程度上造就了香港与澳门的区别。

+

第一天 - 香港 🇭🇰

2401_buy_ticket广州南站购票处

+

因为我想要购买学生票的缘故,所以我上午到广州南站的线下售票窗口排队。我看到也有好些外国人在这里排队,看肤色和脸型像是东南亚 / 印度来的,我还看到有两个大妈拿着白头鹰的护照,酸了。

+

2402_train月台

+

在月台看到了许多人在等着,不过有好些中途到东莞、深圳就下车了,也有些人上车,最后大概有火车上一半到乘客坐到了香港西九龙

+

2403_customs大陆侧海关

+

我这次过关很快,因为我来的时候没什么人,跟上次来香港时差远了。我觉得是有两个原因:

+
    +
  • 旺季与淡季:我上次是国庆节时来的,这次只是一个寻常日子,人流量肯定不可相提并论;
  • +
  • 香港旅游业衰退:因为疫情封关的缘故,香港的国际游客少了许多;也因为香港社会运动的缘故,国内游客也不像以前那么多了;
  • +
+

我从来都没见过人这么少的海关。

+

2404_code_etc大陆侧填写的健康申报与口岸分界线

+

于西九龙站下车后,在进入香港前,大陆侧这边要求填写一个表单:除了身份信息和健康申报等,还详细到了抵港班次车号与座位号。出大陆海关后,我还是照例偷偷拍摄了口岸处的黄色分界线(

+

出关吃完饭后,同香港的朋友去维港散了步,顺便也拍到了来香港展览的小黄鸭

+

2405_harbour天气晴朗的维多利亚港

+

我下午和朋友一起去港交所参观,在大厅里看见了「国家安全」的宣传,想必这也是那段日子以后的特色了吧:

+

2406_national_security港交所的大厅

+

本来我一直想去港交所交易处参观的 —— 就是电影里的那些人买卖股票的地方,问过工作人员后,才知道他们已经不再有这样的地方了。想想也是,现在都是在线交易,也不需要再有个大屏幕实时显示行情、人们在下面的许多窗口排队交易了。原来的那个地方被封存起来了,工作人员告诉我,现在已经变成了一个博物馆,但只接受团体参观……

+

无奈,只好在门口拍了张照片,作罢。

+

2407_hkex港交所博物馆的一侧

+

后来,我们来到了四年前的地方,在 19 年来香港的时候,这个地方给了我相当深刻的印象,可现在一切都物是人非。这个地方,也是我这一次到香港一定要来的地点之一。

+

2408_street此时此刻

+

2409_street19彼时彼刻

+

晚上跟着朋友,去吃一家口碑相当不错的拉面馆 —— 一兰。他们家好有意思,只卖拉面,因为拉面做得最好。店内排着队,朋友告诉我平时这里人更多,得到店外排更长的队,我一下子就停止抱怨了。

+

2410_noodle一兰拉面室内

+

大赞!味道确实相当不错,只是一碗花了我 $130 左右,想想都有些心疼。不过,后来每顿饭都差不多一百来块,也就逐渐习惯香港的物价了……

+

晚上到街上闲逛散步,偶遇了米忽悠广告,于是便拍下发给米粉朋友看(

+

2411_mihoyo惊现米忽悠的广告牌

+

晚上大伙儿分别前,Apple 居然提醒我有不认识的 AirPods 跟了我一天,我还是第一次接到这种警告呢(

+

2412_apple_warning来自 Apple 的跟踪警告 ⚠️

+

第二天 - 香港 🇭🇰

因为第一天到汇丰银行问过柜员,得知想要开户的话得一早就到银行排队,所以第二天我早早地就起来了。我本来以为没什么人会开户,结果在银行门口一看,排了好多人……

+

2413_hsbc_gate尖沙咀汇丰银行门口

+

我的 local 朋友说,可能是因为小红书什么的推广得太厉害,所以大伙儿不管有用没用,都喜欢过来办张卡。我们拿了号,在大厅里等待:

+

2414_hsbc_hall汇丰银行大厅

+

由于我朋友也要办理其他业务,他排到以后就把我也一起拉了过去,所以我就没有等长长的叫号。蹭着 local 的光,我也很快、很顺利地拿到了红色狮子头的卡片,是不是很漂亮?

+

2415_hsbc_card汇丰银行的红色狮子头银行卡片

+

我也是听朋友的介绍才知道,汇丰银行的全称应该是「香港上海汇丰银行」,这也是其英文简写 HSBC(The Hongkong and Shanghai Bank)的由来。

+

后来我们在香港闲逛,去了好些地方,比如不再有蜡烛纪念晚会的维多利亚公园(没有拍照)、香港图书馆、路过的印度尼西亚 🇮🇩 领馆、铜锣湾书店等地,就在下面放些照片吧。

+

香港图书馆里许多的书都是英文版的,一不留意还以为在国外的什么图书馆里:

+

2416_hk_library香港图书馆内,随意选的一层

+

路过了印度尼西亚 🇮🇩 领事馆,算是一个小惊喜吧:

+

2417_indonesia_building印度尼西亚 🇮🇩 领事馆

+

被消失的铜锣湾书店,只剩下书店的招牌还孤零零的挂在街上,不知道为什么港府没有派人把它收走:

+

2418_causeway_bay_bookstore铜锣湾书店招牌

+

在此处其他书店门外的墙上(并非街上的外墙),还能看到一些在大陆看不到的书籍海报:

+

2419_book_poster书店墙外的海报

+

2420_street_view香港街景

+

晚上和朋友去吃了附近一家备受好评的咖喱菜,这家在居民楼里运营的印度小餐馆里居然还有不少洋人,令我十分惊奇。印度老板的英语口音有些重,不过好在交流还是没问题的。饭菜有些辛辣,我们点了两瓶水才凑合吃下去(

+

2421_indian_food晚饭吃的印度菜

+

第三天 - 香港 🇭🇰

本来这天是想去香港迪士尼的,我们票都订好了,可惜天公不作美,遇到了接连数十天的阴雨季节,无奈之下只好退票。因此,我们只好提前动身前往澳门 🇲🇴。

+

朋友建议我在市中心的港口坐船去,不过一个小时就可以到。可我想去看看大湾区的「奇观」—— 港珠澳大桥,即使我知道一路上都会很无聊,也坚持去亲历一番。扭不过我,朋友也只好一脸生无可恋地跟我一起去了。

+

首先,我们坐车经过青衣前往口岸:

+

2422_tour1前面那座大棚建筑便是口岸区

+

过关后购买港珠澳大桥穿梭巴士的车票:

+

2423_bus_ticket港珠澳大桥穿梭巴士车票

+

然后 愉快地 坐了一个多小时的车,看遍海上与海底风景 —— 其实海底隧道也没什么好看的,朋友跟我说他第一次带同学参观时,还以为是像水族馆那样的隧道(

+

2424_map在海上还有信号的时候截了图

+

2425_bridge偶然拍到港珠澳大桥与飞机的合影

+

然后我们到达了口岸,说起来蛮有意思,这个地方是属于中国的 —— 也就是香港与澳门的港珠澳大桥之间,有一个人工岛是属于中国的领土。朋友跟我说了一些都市传说,比如以前有人路过这里的时候无故消失什么的(

+

2426_chinese_port人工岛上的中国口岸

+

第三天 - 澳门 🇲🇴

在通关澳门口岸后,还是忍不住拍了张墙上的警示标语 —— 这里可以很清晰地看到,在香港是中英双语,而在澳门则是中葡双语:

+

2427_macao_warning澳门口岸处的警示标语

+

乘坐公共巴士,我们来到了订的住宿 —— 葡京酒店!旁边是新葡京,不过那里太贵了住不起,就只好住稍微便宜一些的地方了(

+

2428_lisboa_hotel洋溢着老派气息的葡京酒店

+

为什么选择住这个地方呢?是因为这里是前不久过世的澳门赌王何鸿燊的产业,在许多香港电影里也出现过,所以就定了这里,想要瞻仰一番。

+

进入酒店,内部金碧辉煌,好像再普通的一个东西在这里也会变得金光闪闪起来。第一次来的时候,还差点在一楼迷了路,问过那些「衣冠楚楚」的接待员后 才找到大堂在哪里 —— 他们真的穿得好正式、整洁,让人绝不会怀疑他们的业务能力。

+

2429_front_dest酒店前台

+

办理入住时,前台说已经没有我们订的套房了,所以免费给我们升级到高级套房,好耶~

+

2430_room升级后的高级套房

+

晚上我们吃过饭后,就没有出门了,因为楼下赌场里应有尽有。在赌场外的周大福看到了一幅清一色,我真的好想要:

+

2431_gold_card周大福展出的一幅黄金扑克

+

赌场里有许多人,不过感觉许多人都只是来看看,或者下个三五百的小注,基本上没有见到几十万的数目(可能他们在贵宾厅里吧)。

+

2432_casino赌场声色

+

后来在里面玩了下,有些腻了,就出门散散步,放两张我觉得还行的照片吧:

+

2433_street_view_macao澳门夜间街景

+

2434_paulo夜晚中的大三巴(背面)

+

这苹果的相机算法又把晚上当黄昏了…… 不过感觉还蛮好看的(

+

第四天 - 澳门 🇲🇴

我觉得吧,出来玩就不应该把自己逼得太紧,要是为了打卡把自己弄得太累,那还不如待在家里呢。(没错,这就是我出来玩也要心安理得睡懒觉的理由!)

+

所以,中午起床,然后出了个午饭。今天的计划主要就是在澳门街头闲逛,不用刻意奔波在各景点间 —— 反正澳门这么小,有缘份的话自然会遇到的。

+

2435_macao_street_view1白日的澳门街景

+

2436_macao_street_view2澳门工程师学会

+

在中午找饭吃的路上,我们还路过了葡萄牙 🇵🇹 驻澳门与香港的领事馆:

+

2437_consulate_of_portugal葡萄牙领事馆

+

我们中午吃的是纯正的「本土葡菜」,也就是这个菜系之于葡萄牙就好似美式中餐之于中国,反正会有些怪就是了,不过味道意外地还蛮不错的。

+

2438_lunch奶油蘑菇牛排饭

+

晚上钻进了澳门本地人的居民区,的确不如景点那样多人,还有一种年代感:

+

2439_macao_night澳门居民区的夜景

+

第五天 - 澳门 🇲🇴

这天就是旅程结束的日子了,没什么可多写的,自珠海口岸,我回到了大陆。

+

2440_zhuhai珠海口岸

+

2441_train珠海站的高铁

+

这次旅程,算是我的毕业旅行了,一路上玩得蛮开心也蛮随意的,很想要一辈子都这么下去,可惜家境贫寒,实在是做不到。出来的这一趟也花了不少钱,等到以后工作了,月薪两千的我可能再也不会有这样写意的机会了。

+

以前,我想要去这样的地方工作与生活,可是没想到这么短短几年就有如此变化,失去一定的独立性后,香港与广州深圳也越来越像了,小时候的愿望看来是实现不了了。不过,总是还有其他的机会,希望在毕业之后的这一年里不要懈怠,努力去实现自己所追求的东西。

+

期待与这里再会。

+

旅程账单

这次港澳之行还是花了不少钱,比预期要高不少,这是临时起意住了葡京酒店的缘故。不过没有关系,这次的旅游体验超级棒,以后来香港澳门就不会像这次一样纯粹的只是游客了。

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
栏目细目金额(¥)
旅费高铁、地铁与巴士等505.58
吃食正餐869.68
饮水17.13
饮料及甜品154.76
住宿香港与澳门2091.43
杂费电话卡52.86
购书254.19
总计3945.63
+

最后不得不说,香港的饮食实在是太贵了:均价 $100 的饭菜,大陆人看着就心疼……

+
+

本周写了太多文字了,就不再写后续的栏目了,等下次再一起写吧。

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2023/12/31/2023-final-summary/index.html b/2023/12/31/2023-final-summary/index.html new file mode 100644 index 000000000..a754c0f25 --- /dev/null +++ b/2023/12/31/2023-final-summary/index.html @@ -0,0 +1,320 @@ +期待着不久后的阳光 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + +

期待着不久后的阳光

cover家里新养的一盆绿植,期待着不久后的阳光

+
+

人生并不在考上大学那天结束,也不在拿到入职通知时戛然而止。

+

—— 《三联生活周刊》总第1110期

+
+ + +

大家好!见信如唔,这里是自力更生不久的叶子:

+

好久不见,首先要祝大家 新年快乐 🎆!希望大家在新的一年里阖家幸福,心想事成!

+

自从第 24 周的周记后,我的博客便又开始长草了。对此我确实是有些小惭愧 的,因为在我开始写第一篇周记的时候,想过要一直写下去,可没想到从学生到工人的身份转变既复杂又剧烈,所以仅过十三周后周报便再次中断了。待到生活节奏再次稳定下来时,已经是数月之后了。再到后来,越来越多的事情就像泥沼,忙于应付,难以脱身前行。我不喜欢这样的生活,可又无法拒绝,就只好保持现状,与它尴尬地相处着。

+

不过,让我们先来回顾一下我的这一年吧:

+

TL; DR

    +
  • 2023-01 —— 2023-06:大学毕业;
  • +
  • 2023-07:旅游,陪伴家人,做自己的事,睡觉;
  • +
  • 2023-08 —— 2023-12:工作
  • +
+

毕业

graduation领到的毕业证与学位证

+

今年可以算是我人生中相当重要的年份吧,因为我在六月份从大学毕业,结束了我长达 14 年的学生生涯。

+

我现在回顾的时候才发现,那段时间里我写了答辩,写了毕业晚会,也写了毕业旅行,却没有写大学毕业这件事本身。现在翻看那时的文字,我只好安慰自己:毕业是一个过程,我记录了它起点到终点间的每一件事。

+

突然有些愧疚,就好像有人陪伴着你一起度过了四年的时光,当故事结束之时,你在激动与期盼中打开了下一扇门;你的朋友注视着你的背影,你却没有回头,径直走了进去;身后的门砰然合上,你想起与他未曾告别,转身想说些什么,却发现这扇门再也无法打开。

+

毕业对于我而言,意味着什么呢?当时我认为,这只不过是参加工作之前的一个必要流程 —— 要毕业才能拿证书,要拿证书才能去上班。现在上班半年以后再回顾,这次与之前所有的毕业都不同,它意味着一种生活方式的结束,再也回不到以前那样以读书为主的生活了。

+

graduated毕业前夕,学校牌坊

+

在我大学的这四年时间里,有开心也有遗憾,不过这些都已被定格在时间里了。就像数年前高中毕业,一个阶段的生活结束了,但我还是得面对下一段未知的人生。想停下休息一会儿,却做不到,被社会的车轮继续赶着向前。

+

还是蛮感激在我大学最后一年多的时光里,在实验室里遇见了这么多的小伙伴:他们给了我许多的帮助和启发,带领我见识到了更加广阔的世界,使我认识到世界上还有许多跟我不一样的人,还有着其他的可能性。他们也是我更能理解《了不起的盖茨比》中的那句话:

+
+

In my younger and more vulnerable years my father gave me some advice that I’ve been turning over in my mind ever since.

+

“Whenever you feel like criticizing any one,” he told me, “just remember that all the people in this world haven’t had the advantages that you’ve had.”

+

He didn’t say any more, but we’ve always been unusually communicative in a reserved way, and I understood that he meant a great deal more than that. In consequence, I’m inclined to reserve all judgments, a habit that has opened up many curious natures to me and also made me the victim of not a few veteran bores. The abnormal mind is quick to detect and attach itself to this quality when it appears in a normal person, and so it came about that in college I was unjustly accused of being a politician, because I was privy to the secret griefs of wild, unknown men.

+
+
+

在我年纪还轻、阅历尚浅的那些年里,父亲曾经给过我一句忠告,直到今天,这句话仍在我心间萦绕。

+

“每当你想批评别人的时候,” 他对我说,“要记住,这世上并不是所有人,都有你拥有的那些优势。”

+

他没再多说什么,不过我们总是言语不多就能彼此理解,所以我明白,他想说的远不止这些。于是,我逐渐养成了不对他人妄加评论的习惯,这样一来,许多古怪的人向我敞开心扉,一些世故而无聊的人也把我当成倾诉对象。当这种品质在一个正常人身上显露出来,那些心智不正常的人就会立刻察觉,绝不放过。由于这一点,我在大学时代受到不公平的指责,他们说我是个政客,因为我了解那些放荡、神秘的家伙不为人知的伤痛。

+

—— 邓若虚译版

+
+

我认为自己很幸运,在四个一线城市中选择了广州 —— 一个对任何人都极具包容的城市。我若是在帝都、魔都或社会主义特区那样的城市度过四年,可能到最后也并不会选择留下吧。我有时总会混迹于这里的特色「城中村」里,我看到原来并不是所有的人都可以光鲜亮丽地活着,不过,他们仍旧有着自己的体面。

+

有时也会后悔来到广州,因为我在这里并没有一段圆满的感情,常去香港的想法也被疫情所隔离。或许当年选择四川大学会更好?我有时也会这样安慰自己。不过要是问我是否后悔这个决定?

+

不会。未来我的想法可能会变,但至少现在不会。

+

工作

这些年看到很多人的目标都是「上岸」,人们认为只要达成这个目标,所有问题都迎刃而解了 ——「等到中考/高考之后就好了」—— 我们一直以来都受到这样的教育,当然我也不例外。直到上了大学,在《三联生活周刊》上读到卷首的那句话,我才意识到,原来并没有什么事情是人生的解药,诸如高考、保研考研和找工作这些事,都不过是一个记号而已。人生会有变化,但并不会一下子就天翻地覆。

+

现在想来,什么是工作呢?

+

前段时间一个稀松平常的早上,手机亮起,提醒我那天是工作 180 天的日子,除此之外,那天没什么特别的。

+

你看,这就是工作。

+

其实在毕业之前,我很期待能早点工作,就像小时候期待能早点长大一样 —— 为什么不呢?我成功地进入了自己感兴趣的民航领域,做着自己擅长的工作,有着背负保障航班和旅客平安起降的公共使命。此外,我的工作也常成为父母的谈资,我成了亲戚口中的「别人家的孩子」。

+

这一切看起来都那么的美好,是吧?当然,要是能永远停在入职的那一刻就好了。

+

在最初的新鲜感褪去以后,你总会发现工作内容都是些大同小异的事情 —— 我知道,这是工作的性质所决定的 —— 我们每天都做着同样的巡视、维护、检修和报告。我们并不像大多数人那样,在工作日固定上班然后休息。由于是轮班制,只能在白班和夜班的缝隙中休息一下,然后继续开始下一个循环,全年无休。我不太喜欢这样的生活节奏:工作与生活,原来界限分明的两者被揉杂在了一起,我就好像是一个负心者,与其中一者在一起的时候,心里还想着另一个。

+

意义

当工作变成生活的一部分以后,不免让人想要思考其间的意义。之前买过英国人詹姆斯・苏兹曼(James Suzman)的一本书《工作的意义》,我想从中知道工作是什么,我们为什么需要工作来确立我们的人生价值。这本书写的蛮不错的,重要的几个方面也都涉及到了,只可惜我还是没有想明白那些问题。

+

book新买的书

+

对于这份工作,我当然可以洋洋洒洒地列出许多的重要意义,比如:「我们通过现代化的设备与管理制度,成功地保障了旅客的出行安全与效率」;想要又红又专,我们也有「航空运输是服务行业,我们坚持人民航空为人民,全心全意为人民服务」等套话。但脱离了这些宏大的使命,这份工作对我自己的意义又是什么呢?

+

我还是没有想清楚。

+

其实这些工作都特别基础,学过手册以后,我感觉跟生物实验室里摇管子没什么区别。当你熟悉一两年,会发现每天的工作日常都仅仅是重复罢了。是的,它们当然很重要,这牵扯着空中运行的每一架飞机与其上的人们,但日复一日间削弱了这之中的使命感,让它们变得单调 —— 它们只是工作,不再代表什么。

+

我也不知道这些工作到底有没有意义,去思考它们有无意义的这件事情本身,好像也不知道意义所在。

+

其实写到这里,与其说是不知道工作的意义在哪里,不如说是我不知道工作除了糊口,还为了什么?我的目标是什么?我想要借助工作去实现什么?钱?肯定不是,虽然每个人都说自己想要更多的钱,但我想,这肯定不是大家最想要的,人们想要的其实是钱带来的其他东西 —— 更好的物质、优渥的生活、他人的尊重或者其他无形的影响,没有人会愿意和数不尽却没有意义的钱待一辈子。

+

我还是不知道 —— 好在我还年轻,还「有的是时间」。希望在工作满一年之际,我能找到属于自己的道路。

+

围城

很多时候,人们都会把自己没有的东西给无限美化 —— 例如爱情、财富或是异国他乡,工作也是这样。当真正得到它的时候,我才发现它并不是认为的那样。

+

我在之前的文章《夜之城》中描述过我对工作的想象:

+
+

正好是我感兴趣的领域、能解决最初几年的住宿问题、有编制稳定、专业对口、并且工作也算体面。

+
+

毫无疑问,这确实我感兴趣的领域,可是,这个领域并不只有之前作为爱好者看到的地方。自己真正想做的是操纵飞机起降、或者在塔台中指挥飞机的航向,而通导与地勤所做的事情,却跟那些想象少有关系: (

+

专业倒也对口,但在工作中却很少有用武之地,一切都要重新培训,从头再来。工作在长辈眼中那自然是非常体面,但我并不这么认为:我看到单位里在一线工作的前辈,虽然工作稳定生活体面,但气色并不是太好 —— 尤其是年纪五十多的前辈,为国家为人民奉献这么多年,无数的夜班也摧残掉了他们的身体。问起他们值夜班是什么感受,说年轻的时候,早上下了夜班还能到外面去潇洒;人到中年以后,得中午休息一下;再之后,得休息一下午、一天,甚至两天才能恢复正常的精神状态…… 机场的运转好似永远都不停止,就算是在疫情期间也是如此:明明一架飞机也没有,管制们也得戴着耳麦,在塔台上呆望着空荡荡的跑道;楼下机房的机器在轰轰运转着,却什么也没有计算 —— 这份工作就是这样。

+

住宿确实没有问题,如果非要说不满意,那可就鸡蛋里挑骨头了。不过与老员工交流过后,不免又有了新的焦虑:这里最多只能住两三年,在这之后就只有租房或者买房了 —— 虽然住房公积金是按照 12% 的标准缴纳的,但我的工资刚到大厂同学的三分之一,很难想象以后背上房租/房贷的生活会怎样。

+

这些利弊分析,如果我们刻意回避它们与「那房间中的大象」的关系,那一切就都没有意义。

+

编制,这个曾经在经济繁荣时食之无味弃之可惜的鸡肋,现在却成了许多人所追求的香饽饽。在经济逐年萧条的这个时代,我也选择了曾经不屑一顾的铁饭碗。

+

「那么古尔丹,代价是什么呢?」

+

进了体制,就好像领着计划经济的工资,吃着集体主义的食堂,却要为市场经济里的房价发愁,这就是矛盾所在。编制给我带来了稳定的工作,却也只给了我勉强糊口的收入。如果想要在广州买房,那我在银行签下的贷款合同,就变成了一张现代的卖身契。不敢消费,不敢旅游,如此打工三十年 —— 鉴于退休年龄推迟,这个数字可能会是四十或者五十 —— 得到了什么呢?一套偏远的小房子(可能烂尾),一份少得可怜的退休金(可能没有,按照目前的生育情况),以及一副经常夜班和全年无休的身体。

+

游戏《群星》里面有一种公民权利叫做「契约奴隶/契约劳工」

+
+

他们接受了高等教育,足以担任专家工作,只有很少的消费品与人口权力。他们签了几乎一辈子都还不清的借贷,大部份的工作产出都用于还贷。他们赎回自由身的可能性在理论上是存在的,但他们的合同被精心设计过,使得他们根本不可能偿还完债务。他们的孩子也会走同样的老路,从而确保奴隶阶级的人口数量保持稳定。

+
+

这真是太傻了,现实中这么会有这种人呢?

+

未来

我也知道,我现在的条件已经比大多数的同龄人、甚至许多中国人都要好了,那为什么还会有这么多的焦虑与不满呢?长辈们也教育过我:才刚刚参加工作,吃一点苦算什么?但我不可能因为这些就放弃对未来的规划吧……

+

最近看了一篇文章,看到编制其实也并没有许多人想象得那么好,这也是我上文说它是「围城」的一个原因。毫无疑问,由于国家公权力在某些领域的影响,确实有一座看不见的墙隔开了编制内外,所以体制内的人总是将社会分为「里面」和「外面」。

+
+

鲜少有人认真考虑自己的现状和未来。外面的世界每一秒都在变化,但这座城的门闭上了,没人向外看。

+
+

这里就是一个舒适圈,晋升的渠道也多是关系户,比例更甚于我进来前的想象 —— 谁能想象机关的人倍多于一线的职工?因为对于行业而言缺乏竞争,对于个人而言也没有多少进步的机会,所以同事之间相处和谐融洽,许多人就将时间浪费在吃喝玩乐上,刚毕业时的初心也被惰性逐渐消磨殆尽。虽然我不想像这样,但我反思这六个月的工作以后,难过地发现我也有这样的迹象…… 值得庆幸的是,我能够在现在意识到,而不是十年之后。

+

文中还有一句话也很有意思:

+
+

寄希望于提高待遇,还不如靠自己找出路,廉价的稳定绝不是出路。

+
+

我在进来之前就想过这个问题,对我而言,稳定与风险究竟哪个更重要?我当时也没有想明白,不过我是这样在文末作结的:

+
+

必须要一直考虑,如果有一天我不再为单位工作,我应该如何体面的活下去。

+
+

在了解工作的内容以后,我发现它们都极其的「特化」,过于狭窄的业务面也注定了,所学技术几乎都只在我们这个领域才会用到 —— 如果想跳槽,我只能去其他地区类似的单位,除此之外别无他法。我能够理解这个特点它为什么存在,但我无法接受,因为这意味着你在「里面」待得越久,你就越不可能离开这里了。

+

对此我应该如何应对呢?我不知道,先微笑面对总不会错: )

+

have-to-work热爱工作体操,再循环一遍!

+

在最后,附上一段某前辈也是在刚参加工作时写的文字吧:

+
+

有时候觉得做这份工作就像在鉴赏一幅浮世绘,又或者说我像是人潮中的一颗石子,深刻的介入他们的生活,与他们的思想同步,与他们的情绪共鸣,常常是览卷尽是荒唐事,言者无不辛酸泪。

+

以至于我觉得我站在那里,就像个 NPC,一个长了脑子的 NPC,就好似有两个错位的我站在那,一个是被冠以了名义的我,一个是带着个人情感的我,前者需要具象的个体的人打交道,依照规程去追溯事情的本源,依靠律法去解决问题,后者则容易依照书生思维把人抽象成人民,妄图通过自己浅薄的学识和粗浅的理论知识去与之共情。这两个我用弗洛伊德他老人家的话来说就是一个叫超我和一个叫本我。

+

那个超我凭借浅薄的学识完全无法去解构这个现代化的都市的运行机制,也难以参透律法背后的哲学。而那个本我又无法完美的拷贝出他人的思想和三观,一个小镇做题家,无法轻易理解侯门绣户的风流纨绔,更赶不上绳床瓦灶出来的通灵性悟。以至深感自己读书太少,阅历浅薄,感叹前辈的世事洞明,人情练达,对自己的定位常感难以测定。

+

直到有一天深夜下班,走在路上,抬头看天,发现霓虹灯关掉的时候还是能隐约看到星星,此时脑海里突然就蹦出了康德在《纯粹理性批判》里的那句名言:为我上者,璀璨星空,道德律令,在我心中。

+
+

绵薄之力

今年已经是第四个年头啦,节前正好收到了联合国儿童基金会驻华办事处发来的月捐收据,好耶!

+

UNCIEF_receipt希望明年能帮助到更多的人

+

每个月的最低捐款额度是 30 元,因为之前一直在上学,生活拮据,也就按着最低标准捐赠的 —— 之前我还接到过基金会从上海打来的电话,希望我能够多捐一些来着(

+

现在已经自己挣钱啦,想着可以从今年开始每个月捐 50 块,在力所能及的范围内多贡献一些自己的绵薄之力吧!

+

2023 媒体清单

照例在年终总结里附上去年的媒体清单吧:

+
+书、剧和电影的历程 + +

2023

+

1月

+
    +
  • 【播客】枫言枫语:Vol. 80 科技快乐星球 13: TGA, ChatGPT 与苹果允许第三方商店 —— 2023-01-03
  • +
  • 【播客】迪幻腕掰腕 Ep 10:从真人版库伊拉聊到Disney+入华之难 —— 2023-01-05
  • +
  • 【剧集】人民公仆S01 —— 2023-01-22
  • +
  • 【电影】人民公仆2(2016)—— 2023-01-23
  • +
  • 【播客】牛油果烤面包:#109 真实的创业者,真实的的挑战 —— 2023-01-26
  • +
  • 【书籍】武林是什么 —— 2023-01-27
  • +
  • 【纪录片】《惊蛰之时》(广州冲锋队2022赛季纪录片)—— 2023-01-28
  • +
  • 【剧集】瑞克和莫蒂S6 —— 2023-01-29
    2月
  • +
  • 【播客】迪幻腕掰腕 Ep 8:讲给全球观众的中国故事 —— 2023-02-03
  • +
  • 【播客】枫言枫语:Vol. 83 科技快乐星球14: 苹果发布M2 Mac, CES展会等 —— 2023-02-06
  • +
  • 【播客】牛油果烤面包:#110. 2022年终感悟与推荐 —— 2023-02-12
  • +
  • 【播客】不明白播客:EP-000 不明白播客简介 —— 2023-02-12
  • +
  • 【书籍】《刺客信条:王朝》——2023-02-17
    3月
  • +
  • 【剧集】人民公仆S02 —— 2023-03-06
  • +
  • 【播客】没理想编辑部: Vol.77 瞎聊“春节档”:如果能重生,当个啥好呢?—— 2023-03-09
  • +
  • 【播客】枫言枫语:Vol. 85 科技快乐星球15: 全世界都在玩ChatGPT —— 2023-03-14
  • +
  • 【播客】迪幻腕掰腕 Ep 18:也许是这档播客最后一次聊奥斯卡 —— 2023-03-18
  • +
  • 【电影】穿靴子的猫2:最后的愿望(2022)—— 2023-03-23
  • +
  • 【电影】铃芽之旅(2023)—— 2023-03-25
  • +
  • 【播客】牛油果烤面包:#113. 缓存 —— “计算机科学的两大难题之一” —— 2023-03-31
    4月
  • +
  • 【播客】Sex Chat 談性說愛:寫性給我 #135高雄的米米漿:我幫自己破處了!!太猛了!—— 2023-04-01
  • +
  • 【纪录片】意志的胜利(1934,2000 删改版本)—— 2023-04-02
  • +
  • 【漫画】不良女家庭教师(2020)共92话 —— 2023-04-08
  • +
  • 【电影】龙与地下城:侠盗荣耀(2023)—— 2023-04-09
  • +
  • 【漫画】新世界之魔物猎手(親親漫畫版)(2019)—— 2023-04-18
  • +
  • 【播客】没理想编辑部:对话经济学学者梁捷 | 想开了,存钱不如花钱 —— 2023-04-25
  • +
  • 【漫画】我的宇宙(2019)—— 2023-04-27
    5月
  • +
  • 【电影】银河护卫队3(2023)—— 2023-05-05
  • +
  • 【电影】俄罗斯方块(2023)—— 2023-05-07
  • +
  • 【电影】银河护卫队:圣诞特别篇(2022)—— 2023-05-10
  • +
  • 【播客】枫言枫语:Vol. 88 科技快乐星球16: ChatGPT 持续掀起 AI 热潮 —— 2023-05-16
  • +
  • 【电影】疾速追杀4(2023)—— 2023-05-25
  • +
  • 【漫画】电锯人(チェンソーマン / Chainsaw Man)(2018)—— 2023-05-26
  • +
  • 【播客】牛油果烤面包:#114. 分布式数据库 —— 正在进行的迟来革命 —— 2023-05-31
    6月
  • +
  • 【播客】迪幻腕掰腕 Ep 17:回顾2022,展望2023 —— 2023-06-02
  • +
  • 【电影】蜘蛛侠:纵横宇宙(2023)—— 2023-06-02
  • +
  • 【播客】迪幻腕掰腕 Ep 19:到底谁在看《小美人鱼》?我们呀!—— 2023-06-07
  • +
  • 【播客】晚点聊 LateTalk:36. OPPO 突然中止造芯,生不逢时的雄心 —— 2023-06-12
  • +
  • 【播客】枫言枫语:Vol. 92 科技早知道×枫言枫语: WWDC23 —— 2023-06-14
  • +
  • 【播客】没理想编辑部:Vol.86 北漂觉悟:我总有一天会离开 —— 2023-06-15
  • +
  • 【播客】牛油果烤面包:#117. 和ARVR老炮一起聊WWDC2023 —— 2023-06-17
  • +
  • 【播客】迪幻腕掰腕 Ep 16:是谁允许《魔法奇缘2》拍成这样的!—— 2023-06-22
  • +
  • 【电影】猫和老鼠:查理和巧克力工厂(2017)—— 2023-06-22
  • +
  • 【电影】猫和老鼠:胡桃夹子的传奇(2007)—— 2023-06-24
  • +
  • 【电影】猫和老鼠:火星之旅(2005)—— 2023-06-25
  • +
  • 【播客】牛油果烤面包:#115. 不止电动车,电动飞机离我们有多近?—— 2023-06-29
  • +
  • 【电影】疯狂元素城(2023)—— 2023-06-29
    7月
  • +
  • 【纪录片】空中浩劫S23(2023)—— 2023-07-01
  • +
  • 【播客】枫言枫语: Vol. 93 科技快乐星球18: AI 与 MR 齐放异彩 —— 2023-07-03
  • +
  • 【电影】夺宝奇兵5:命运转盘(2023)—— 2023-07-06
  • +
  • 【播客】迪幻腕掰腕 Ep 20:我们和全场皮粉一起看《疯狂元素城》—— 2023-07-07
  • +
  • 【播客】晚点聊 LateTalk:38. 内斗?投资人逼宫?创业 5 年后公司估值超过 20 亿元,他为什么辞任 CEO?—— 2023-07-11
  • +
  • 【电影】夺宝奇兵5:命运转盘(2023)—— 2023-07-12
  • +
  • 【书籍】四叠半神话大系 —— 2023-07-14
  • +
  • 【播客】没理想编辑部:Vol.91 放心吧,你比你的工资值钱多了!—— 2023-07-14
  • +
  • 【播客】牛油果烤面包:#118. 风险投资条款中暗藏的玄机 —— 2023-07-15
  • +
  • 【电影】碟中谍7:致命清算(上)—— 2023-07-16
  • +
  • 【电影】死在西部的一百万种方式(2014)—— 2023-07-18
  • +
  • 【电影】灰猎犬号(2020)—— 2023-07-19
  • +
  • 【电影】碟中谍7:致命清算(上)—— 2023-07-22
  • +
  • 【电影】芭比(2023)—— 2023-07-24
  • +
  • 【播客】没理想编辑部:Vol.92 别为穿不进的衣服伤心,你可是花钱的人!—— 2023-07-26
    8月
  • +
  • 【播客】牛油果烤面包:#119. 与JustPod杨一聊中文播客:谁在做,谁在听,谁在商业化?—— 2023-08-09
  • +
  • 【播客】晚点聊 LateTalk:41: 造梦都市:小红书塑造了什么?而又是谁在塑造小红书?—— 2023-08-18
  • +
  • 【播客】没理想编辑部:Vol.94 开始发疯后,我的世界都变大了!—— 2023-08-19
  • +
  • 【播客】枫言枫语:Vol. 96 科技快乐星球19: 矩阵破裂的魔幻世界 —— 2023-08-20
  • +
  • 【电影】信条(2020)—— 2023-08-21
  • +
  • 【播客】不明白播客:EP-059 经济通缩下的中国小企业家(上)—— 2023-08-21
  • +
  • 【电影】祝你好运(Luck)—— 2023-08-25
  • +
  • 【电影】无敌破坏王(2012)—— 2023-08-27
  • +
  • 【电影】无敌破坏王2:大闹互联网(2018)—— 2023-08-28
  • +
  • 【播客】不开玩笑 Jokes Aside:#96. 那些失恋教会我的事 —— 2023-08-28
  • +
  • 【播客】没理想编辑部:Vol.95 别人恋爱无空窗,本人单恋无空窗!—— 2023-08-30
    9月
  • +
  • 【播客】牛油果烤面包:#120. 脚只是装饰而已?智能机器人发展到哪儿了?—— 2023-09-03
  • +
  • 【播客】没理想编辑部:Vol.96 我搞不到钱的原因找到了 —— 2023-09-05
  • +
  • 【播客】不明白播客:EP-061 刘梦熊:我为什么写《问题在经济,根子在政治》—— 2023-09-09
  • +
  • 【播客】晚点聊 LateTalk:43: 美元基金与中国科技说再见?和前律师、现 AI 创业者聊聊拜登最新行政禁令改变了什么 —— 2023-09-11
  • +
  • 【播客】晚点聊 LateTalk:42: 产品经理十年沉浮:和少楠、刘飞一起聊聊这个职业这些年 —— 2023-09-12
  • +
  • 【播客】晚点聊 LateTalk:35: 别做近视手术、干眼症没救、给眼镜多花钱没用:和英国视光医生聊聊天 —— 2023-09-18
  • +
  • 【播客】枫言枫语:Vol. 98 苹果2023秋季发布会: Wonderlust —— 2023-09-24
  • +
  • 【播客】迪幻腕掰腕 Ep 15:希望最好的D23 Expo永远是下一届 —— 2023-09-25
    10月
  • +
  • 【播客】没理想编辑部:Vol.98 离职是一次重启人生 —— 2023-10-01
  • +
  • 【电影】出租车司机(1976)—— 2023-10-05
  • +
  • 【播客】牛油果烤面包:#116. 关于人的故事——人类学家在研究什么?—— 2023-10-05
  • +
  • 【电影】萨利机长(Sully)(2016)—— 2023-10-16
  • +
  • 【播客】晚点聊 LateTalk:46: 没有签证怎么去非洲干活:和丰泽聊聊在非洲不同国家打灰的体验 —— 2023-10-21
  • +
  • 【播客】没理想编辑部:果敢的人先享受世界,如何过更自由的人生?—— 2023-10-28
    11月
  • +
  • 【电影】康斯坦丁(2005)—— 2023-11-04
  • +
  • 【播客】晚点聊 LateTalk:49: 3nm 是谎言?光刻工厂真能造芯片?与汪波聊芯片行业那些流传的误解 —— 2023-11-05
  • +
  • 【播客】没理想编辑部:Vol.101 “晴秋上午,随便走走,不一定要快乐”—— 2023-11-09
  • +
  • 【播客】晚点聊 LateTalk:50: 在小红书当百万博主有什么体会和经验?流量与商业化背后的人性考验!—— 2023-11-27
  • +
  • 【电影】搏击俱乐部(1999)—— 2023-11-28
    12月
  • +
  • 【书籍】极品家丁(2008)—— 2023-12-01
  • +
  • 【播客】牛油果烤面包:#122. 钢管舞,从爱好到在旧金山开舞蹈教室 —— 2023-12-04
  • +
  • 【电影】八恶人(2015)—— 2023-12-06
  • +
  • 【电影】全家逃走中(2023)—— 2023-12-16
  • +
  • 【剧集】瑞克和莫蒂S7 —— 2023-12-19
  • +
  • 【播客】晚点聊 LateTalk:51: 难民之难:到底什么是难民?他们在面对什么困境?—— 2023-12-23
  • +
  • 【播客】迪幻腕掰腕 Ep 20:他们不喜欢的《星愿》,我们感动到哭 —— 2023-12-24
  • +
  • 【播客】牛油果烤面包:#124. 去京都,看时间与四季 —— 2023-12-31
  • +
  • 【播客】不明白播客:EP-079 2023年,我的“不明白”—— 2023-12-31
  • +
  • 【剧集】魔咒奇遇记Curses!(2023)—— 2023-12-31
  • +
+
+ +

去年看了 4 本书,4 本漫画,28 部电影,5 部剧集,3 部纪录片和听了 56 集播客,相比于 2022 年,看的书真是太少了,电影、剧集和纪录片的数量也少了许多,不过多听了一倍数量多播客,在最后还是希望今年的精神生活能够更丰富些吧。

+

跟去年一样,也是想做一个「年度推荐」的,不过我现在好累,还是留到明年再说吧(

+

最后

其实除了这些,我还有很多事情想写一写,可惜再写下去就不是年终总结啦,那就下次再聊咯。

+

现在外面的炮竹声此起彼伏,即使官方管制烟花已有好些年了,但我总感觉有了它们,过年才算完整吧。

+

最后,

+

我们明年再见!

+

2024年2月10日于单位宿舍

+ + + + + + + + + + + + + + + + + + +
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2024/02/10/the-road-not-taken/index.html b/2024/02/10/the-road-not-taken/index.html new file mode 100644 index 000000000..15a3a65fe --- /dev/null +++ b/2024/02/10/the-road-not-taken/index.html @@ -0,0 +1,322 @@ +【摘录】异星歧途(The Road Not Taken) | 叶子的花园 + + + + + + + + + + + + + +

【摘录】异星歧途(The Road Not Taken)

作者:哈利·托特达夫(Harry Turtledove)
译者:姚人杰

+
+

这次我新转载了一篇小时候在《科幻世界》上看过的小说,现在再读,仍旧是一个令人惊叹的好故事,特意摘录,希望大家也能感受一番科幻的魅力!(所有权利归原作者、译者与出版社所有)

+
+ + +

入侵

当“不摧号”凭借超空间引擎而凭空出现时,托格兰姆队长正在如厕。像经常发生的那样,这位罗克索兰人军官感到一阵反胃。他拿起便桶,对着它猛然呕吐起来。

+

吐完后,他放下了便桶,用棕灰色皮毛光滑的前臂擦拭了流淌出泪水的眼睛。“众神诅咒它!”他大声骂道,“船长们跃迁前为啥不提醒我们?”他手底下的几个士兵更加尖酸地呼应着。

+

这时候,门口出现一名传令兵。“我们回到正常的太空了。”年轻的士兵尖叫道,又冲向下一间舱室。他身后的人或是嘲弄,或是咒骂:“一堆废话!”“谢谢消息!”“告诉领航员——他们兴许还不知道呢!”

+

托格兰姆一声叹息,烦恼地挠起鼻子,担忧起自己的烦心事儿来。身为一名军官,他应该为士兵们树立个好榜样。他是低级军官,足以正儿八经地肩负起这些责任,可他服役甚久,早就觉悟到,他永远不应该指望哪个军阶比他高两级以上的长官给予他什么。高级军官能坐上那些位子,要么是老早就双手沾满鲜血,要么是新近砸下一大笔钱财。

+

他又一次叹息,把便桶放回墙上的凹槽内。凹槽的金属盖被滑下,依旧不能阻挡臭气。在太空中待了十六天后,“不摧号”里弥漫着屎尿、腐败的食物和陈腐躯体的臭味。罗克索兰舰队的其他任何一艘飞船里的情况都不见得有多好,或者说其他任何一支舰队情况都不比眼下好。在星际间航行,就是这个样子。忍受臭味和黑暗,是军人为了让王国蓬勃壮大所付出的一部分代价。

+

托格兰姆拿起一盏提灯,摇晃几下,唤醒提灯里的发光虫。发光虫受惊后耀出银白色的光芒。队长晓得,有些种族用火炬或蜡烛照亮他们的飞船,但发光虫耗费的空气更少,即便它们只能间歇地发光。

+

托格兰姆永远是个小心谨慎的军人,趁着光亮还持续时,查看了自己的武器。他总是把手头的四把手枪都装好子弹,时刻准备使用;等着陆行动开始后,一对手枪会挂在他的腰带上,另一对插在皮靴里。他更担心自己的剑,飞船上一直不散的湿气对剑刃不好。不出所料,他发现了一块要擦拭掉的锈迹。

+

他擦拭双刃长剑的时候,揣想新星系会是什么样子。他祈求这个新星系里有一颗适合居住的行星。等到飞船回到最近的罗克索兰人控制的行星时,“不摧号”里的空气可能会腐臭得无法呼吸。那是“星辰开拓者”要冒的一个风险。这不算最大的风险——小型的黄色恒星通常都会驭御着一两颗能孕育生命的星球——可总归还是有风险。

+

他情愿自己没有思索此事。担忧犹如令人疼痛的毒牙,一旦咬入你的皮肉,就甩不走了。他从一摞被褥上起身,去看领航员做得怎样。

+

和以往一样,兰西斯克和学徒奥格伦都在抱怨他们磨制望远镜的玻璃多么劣质。“你俩应该停止埋怨,”托格兰姆一边说,一边眯眼从门口向里面瞅,“你俩至少看东西的时候有光照着。”在长时间借助发光虫提灯看事物之后,他不得不先耐心地等待自己的眼睛适应观察舱内刺眼的阳光,才能进舱室。

+

奥格伦气恼得耳朵后仰。兰西斯克年纪更大,也更冷静。他把手放在学徒的胳膊上。“假如托格兰姆每嘲弄你一次,你都发脾气,那么你会没时间干别的任何事——他从蛋里孵出来的那天起,就是捣蛋鬼。托格兰姆,对不对?”

+

“随你怎么说。”托格兰姆喜欢这位白鼻子的资深领航员。兰西斯克不同于他的多数同行,举手投足间不像他们那么高傲,他并不认为自己做着一份重要的差事,反而使得自己在众神计划中占据着某种特殊的地位。

+

奥格伦突然愣住了,粗短的尾巴末梢抽动起来。“这儿有颗行星!”他呼喊道。

+

“让我瞧瞧。”兰西斯克说道。奥格伦让开望远镜后的位置。两位领航员一颗颗瞧看那些明亮的恒星,寻找那些显示出星系盘,表明它们确实属于行星的星球。

+

“确实是行星。”兰西斯克最终说道,“但不适合我们居住——那些有条纹的黄色行星无一例外空气总有毒,这类事见得多了。”他见到奥格伦沮丧的表情,又说道:“也并非一无所得——假如我们沿着一条从那颗行星到它的恒星的直线去观察,我们应该很快就会找到另外的行星。”

+

“试试那颗星球。”托格兰姆边说边指向一颗微红色的星球,它看上去比他目力所及的其他多数星球都更明亮。

+

奥格伦嘟哝了几句傲慢的话,说自己对本行当然比外行人了解得多,可兰西斯克厉声呵斥道:“队长从太空见过的星球比你多多了,小子。你应该照队长的吩咐做事。”奥格伦情绪低落地垂下耳朵,依命行事。

+

他的不悦随即烟消云散。“是一颗有绿色斑点的行星!”他大喊道。

+

兰西斯克此前一直把望远镜对准天空的另一区块,听到此话,赶紧奔了过去。他推开学徒,调整望远镜的聚焦,久久地凝视放大后的图像。奥格伦在换着脚单脚跳,灰棕色的皮毛膨胀起来,迫不及待地要听到师傅的定论。

+

“也许吧。”资深领航员说道,奥格伦的脸庞随之亮堂起来,可是当兰西斯克继续说后,奥格伦又变得垂头丧气。“我没看见任何像开阔水面的东西。如果我们没找到任何更有力的证据,我说我们还是试一下,再搜索一段时间。”

+

“我会让一只洛夫兽非常开心的。”托格兰姆说道。兰西斯克轻声笑起来。罗克索兰人把洛夫兽这种小动物带在身边,用它们测试新发现的行星的空气。假如在飞行器气闸舱的洛夫兽能呼吸星球的空气,那么该星球的空气对洛夫兽的主人应该也安全。

+

在一连有好几颗星球只看得见几个光点后,领航员恼怒地吼起来。接着,在用望远镜观察的兰西斯克愣在了原地。“是这儿了。”他轻柔地说道,“这儿就是我们想要的。奥格伦,过来。”

+

“哦,我的天啊,确实。”学徒看了一会儿后惊叹道。

+

“去把此事报告给斯列冯统帅,问下他,他手头的设备有没有探测我们舰队之外的任何超空间引擎的振动。”奥格伦匆匆离去,兰西斯克示意让托格兰姆过来。“你自己看看。”

+

步兵队长弯下腰,凑到目镜前。在漆黑太空的映衬下,望远镜里见到的星球看上去酷似罗克索兰星球:蔚蓝色的深海上覆盖着旋涡状的白色云团。一颗相当大的卫星悬挂在附近。两颗星球都差不多在半相期,比“不摧号”更靠近它们的恒星。

+

“你看见陆地了吗?”托格兰姆问道。

+

“看图像最上面,冰冠下面。”兰西斯克说,“那些棕色和绿色图案不是通常情况下水面的颜色。假如我们想在这个星系里找到个有生命的星球,那么你现在看到的就是。”

+

他们轮流观察那颗遥远的星球,试图画下地貌特征,一直到奥格伦回来。“怎样?”托格兰姆说道,不过他见到学徒的耳朵欢快地高耸着。

+

“整个星系里只有我们的超空间引擎的放射!”奥格伦笑着说。兰西斯克和托格兰姆都拍打起学徒的后背,好像他是好消息产生的原因,而不只是带来好消息的人。

+

队长甚至笑得比奥格伦更开心。这意味着那将是一次简单的征服行动,作为一名职业军人,他完全赞同。如果附近没有人能够制造超空间引擎,那要么是星系里根本没有智慧生命,要么是居住在星球上的种族依然处在原始状态,对火药、飞行器和星际战争的其他方面一无所知。

+

他搓了搓手。他迫不及待地要着陆了。

+

接触

巴克·荷索百无聊赖。在太空中待了足足四个月,还有五个半月在等着他,人变得无聊一点儿也不让人惊讶。地球是“阿瑞斯三号”后面的一颗明亮星球,较为暗淡的月球陪伴左右,火星在前方发出红光。

+

“巴克,现在轮到你锻炼了。”阿特·施奈德喊道。在五名宇航员之中,他大概是最爱发号施令的那位。

+

“晓得了,伙计。”荷索叹息道。他把自己推到脚踏车上,踩踏起来,起初无精打采地,接着越来越使劲。锻炼有助于保持骨骼中的钙质,令其尽量少受失重的影响。此外,也让宇航员们有点儿事做。

+

梅丽莎·奥特正在收听地球传来的新闻。“费南多·巴伦斯瑞拉昨晚过世了。”她说。

+

“谁?”施奈德不是棒球迷,不知道这位洛杉矶道奇队的天才投手的大名。

+

荷索是个棒球迷,还是个加利福尼亚人。“我曾经在一次退役球手纪念赛见过他,我还记得老爸和爷爷总是说起他。”他说,“梅尔①,他享年几岁?”

+

“七十九岁。”梅丽莎答道。

+

“他总是活得太沉重。”荷索伤感地说。

+

“耶稣基督啊!”

+

荷索眨了眨眼。自打从美国太空站起飞开始,阿瑞斯三号上的宇航员从没说话如此激动过。梅丽莎正看着雷达屏幕。“弗雷迪②!”她大喊道。

+

飞船上的电子专家弗雷德丽卡·林施乔姆刚刚从促狭的浴室里出来。她扑向控制面板,身后依然拖着一串小水滴。她没有费事地用毛巾擦干身子——很久之前,羞怯心在阿瑞斯三号上就已经荡然无存了。

+

梅丽莎的叫喊甚至令克劳德·琼纳德从生物实验室里探出头来,他的多数时间都花费在这个小小的实验室里。“出了什么情况?”他从舱口喊道。

+

“雷达不对劲儿。”梅丽莎告诉他。

+

“什么意思,不对劲儿?”琼纳德气恼地追问。他是那类觉得自己的每分每秒都很宝贵,并认为别人也是如此的讨厌鬼。

+

“屏幕上有大约一百个、也许一百五十个物体,根本不应该在那儿的物体。”弗雷德丽卡·林施乔姆插嘴说道,她也有点儿惜时如命的毛病,“距离在两百万公里左右。”

+

“它们一分钟前还没在那儿。”梅丽莎说,“我想知道它们会在什么时候出现。”

+

当弗雷德丽卡操作起雷达与电脑时,荷索还在健身脚踏车上,觉得自己百无一用:一位地质学家在距离星球有几百万公里的地方有什么用处?他甚至无法让自己的名字被铭刻于历史书上——没人会记得第三批探险队的成员,无论他们的目的地是哪里。

+

弗雷德丽卡完成了检查。“我找不到任何故障。”她说话的语气像是在生自己和设备的气。

+

“是时候联系地球了,弗雷迪。”阿特·施奈德说,“假如我要登陆火星的话,不能指望一台闹故障的雷达。”

+

梅丽莎早已在用话筒与地球通话。“休斯顿,这儿是阿瑞斯三号。我们遇上了个难题——”

+

即使信号以光速传播,依然得等待好久。宇航员一个接一个地缓缓凑过来。扩音器突然发出声音时,每个人都被惊得跳了起来。“阿瑞斯三号,这儿是休斯顿控制中心。女士们,先生们,我不知该如何告诉你们这件事,但我们也见到它们了。”

+

联络员还在继续唠叨,但已经没人在听她讲话。荷索觉得头皮刺痛,头发出于原始反射一根根地想要竖起来。他的内心充满惊惧,他从未想到,自己会亲眼目睹人类与外星种族的接触。“梅尔,向它们发信号。”他催促道。

+

她犹豫不决。“巴克,我不晓得该不该那么做。也许我们应该让休斯顿来处理。”

+

“去他妈的休斯顿。”他冒出的粗口让自己都惊讶,“等到那里的官僚琢磨出对策的时候,我们那时早就着陆在火星上了。我们才是在场的人。你打算错过两个种族历史上最为重要的时刻吗?”

+

梅丽莎逐一看向她的同伴。无论她在他们的脸上见到了什么,总之是令她满意的结果,因为她把目标转向天线,开始说话:“这儿是太空飞船阿瑞斯三号,呼叫未知的飞船。致以地球人民的欢迎。”她暂时关掉了无线电发射机问:“我们共能说多少种语言?”

+

他们依次以俄语、汉语、日语、法语、德语、西班牙语,甚至包括拉丁语发送了呼叫。(“谁知道外星人上一次访问地球是在什么时候?”当施奈德向她投以怪异的眼神时,弗雷德丽卡如此辩护。)

+

假如说等待地球发来的回复耗时良久,那么这一次等得更久。延迟了好久,远远超过一个光速来回所需的十五秒。“就算他们不会说我们的任何一种语言,他们不也应该说点儿什么吗?”梅丽莎对着空气问道。空气或外星人都没有回答她。

+

接着,那些古怪的飞船开始背离太阳,向着地球疾驰而去。“我的天啊,它们加速了!”施奈德说,“那些不是火箭吧!”他突然间胆怯起来。“我猜想星际飞船不会携带火箭的,对吧?”

+

阿瑞斯三号再一次孤零零地漂泊在这一片太空中,循着它的霍曼转移轨道,毫不动摇地继续飞向火星。巴克·荷索不禁想哭。

+

试探

罗克索兰舰队的飞船和演习时一样,聚拢在这个新发现的行星陆地较多半球的地极上空。因为每个人都会抵达相同的地点,这套准则使得舰队的会合容易一些。很快,只有四艘飞船没有出现。一艘侦察舰赶紧绕到另一面的地极,找到那四艘飞船,把它们带了回来。

+

“每一次都有几个喜欢水的家伙。”托格兰姆给领航员们带来消息时,咯咯笑着说道。他抓住每一次机会溜到领航员的-圆顶观察舱,不只是因为这儿阳光充沛,还是因为他和许多军人不同,对行星本身感兴趣。要是他有擅长计算的头脑的话,他也许早就尝试成为领航员了。

+

他有着一只擅长执笔写写画画的手,所以兰西斯克和奥格伦乐意让他待在望远镜旁,为他们正在绘制的行星草图添上几笔。

+

“真是稀奇的星球。”他评论道,“我从未见过哪颗星球上有如此多的林火或火山,或者黑暗那面的天知道什么着了火的东西。”

+

“我依然认为那些是城市。”奥格伦说道,公然与兰西斯克针锋相对。

+

“它们太大也太亮了。”资深领航员耐心地说道。他们的争论显然已经持续了好一会儿。

+

“奥格伦,这次是你第一趟异星之旅,对不对?”托格兰姆问道。

+

“是啊,是又如何?”

+

“你就是看问题还不够全面。罗克索兰星上的伊戈罗克将近有一百万人口,夜里从太空看它,几乎看不见。也没有哪个地方像这些光亮一样明亮。请记住,这是一颗原始的行星。我承认,下面看上去确实居住着智慧生命,但一个尚未意外地发现超空间引擎奥秘的种族怎么可能建造起大小十倍于伊戈罗克的城市?”

+

“我不知道。”奥格伦闷闷不乐地说,“但是从我借助月光依稀看见的地貌来说,那些光亮都处在建造城市的最佳地点——海岸线上、河流沿线,诸如此类。

+

兰西斯克叹气道:“托格兰姆,我们得拿他怎么办?他一心以为自己样样都懂,不会听我们讲道理。你年轻时也这副腔调?”

+

“不管怎样,得一直等到我的氏族家长们把我教训得服服帖帖。不过,无须大惊小怪。很快飞行器就会带着洛夫兽降落星球,我们那时就能知晓答案了。”他强忍下笑声,突然脑袋清醒起来,希望自己年轻时没有像奥格伦这样容易上当。

+

“我的雷达上显示出一艘外星人的飞船,”SR-81侦察机的飞行员报告说,“它下降到五万米高度,依旧在降落。”侦察机已经达到了上升限度,而这只不过达到了外星人飞船进入大气层时的一半高度。

+

“看在上帝的份儿上,先别开火。”地面控制中心下令道。在他起飞前,他们已经向他下达过这条命令,但这些军队高层不打算让他忘记此事。他并不是真的责怪他们。一个爱乱开枪的蠢蛋可能永远葬送人类。

+

“我开始获得视觉图像,”他边说边瞥看着投射在面前的平视显示器上的画面。片刻后,飞行员问道,“我现在就能告诉你们,这是一艘长相怪异的飞船。它的机翼在哪儿?”

+

“我们现在也在接收图像。”负责地面控制的长官说道,“他们一定是在大气层内飞行器上运用了和宇宙飞船上相同的原理,某种反重力装置,赋予了他们提升和驱使物体的能力。”

+

外星人的飞船一直没理睬SR-81侦察机,正如所有外星人都没理睬地球向他们发送的信号。外星人的飞行器继续缓缓降落,SR-81侦察机在下面盘旋,希望自己不必下降至空中加油机那儿要求补加燃料。

+

“一个疑问获得了解答,”他呼叫地面控制中心,“这是一架战机。”抱着和平意图的飞行器不会在机腹上画上那些虎视眈眈的眼睛和满嘴尖牙利齿的血盆大口。美国空军有一些对地攻击机上也画有类似的标志。

+

外星人的飞行器最终降落至SR-81侦察机巡航的高度。飞行员再次呼叫地面。“可否允许我在外星人飞行器前面飞掠过?”他问道,“也许飞行器里的所有人都睡着了,我此举能弄醒他们。”

+

地面控制中心沉默许久后,不情不愿地同意了。“不许做敌意的手势。”控制人员警告说。

+

“你觉得我会做什么,对着外星人竖起中指?”飞行员咕哝着,但他的无线电已关闭。当他控制着SR-81侦察机开始漫长而缓慢的拐弯,飞机的加速度使得他被压在座椅里,这一拐弯会让飞机出现在外星人太空舰队派出的那艘飞船前方五百米左右的地方。

+

飞机上的摄像头让飞行员瞥见了外星人飞行员的模样,对方坐在一面脏兮兮的小挡风玻璃后面。

+

外星生物也看见了他。毫无疑问地看见了他。外星人飞行员像只受到惊吓的幼鹿左躲右闪,完成了一连串复杂的机动飞行动作,这些动作会令SR-81侦察机的飞行员被紧紧地压在压力舱的舱壁上——前提是他的飞机性能能跟得上外星人的飞行器。

+

“我要追赶敌机!”飞行员大喊道。地面控制人员冲着飞行员厉声训斥,可坐在驾驶舱里的是飞行员而不是控制人员。飞机后燃器开启后产生汹涌澎湃的瞬间加速力,相比之下,他之前感受到的压力不过像爱人的轻抚。

+

他的侦察机拥有更佳的流线型设计,速度比星际飞船派出的飞行器更快,但那并没让他占到便宜。外星人飞行员每次发现他,他们的飞船就能毫不费力的轻松躲开。SR-81侦察机的飞行员觉得自己像个想用短柄斧头杀死一只蝴蝶的笨男人。

+

更令他受挫的是,他的燃料警示灯亮了起来。不管怎样,他的飞机是针对接近太空的稀薄大气层而设计的,不是用来在外星飞行器所飞经的越来越稠密的大气层里运转的。他骂了句脏话,但不得不飞离了敌机。

+

当SR-81侦察机从空中加油机里吞进航空煤油时,飞行员不禁想起,假如他刚才发射一枚导弹会发生什么事。他有两次处于极佳的发射位置。他只会在自己心底里想想这事而已。上级们要是知道他有这个想法会有什么可怕反应,单单想到此处,他就不敢深思此事。

+

托格兰姆参加完军官会议回来时,步兵们把他团团围住。“队长,什么命令?”“洛夫兽还活着吗?”“下面什么模样?”

+

“伙计们,洛夫兽活下来了!”托格兰姆笑容绽放地说道。

+

他的连队成员大声欢呼,营房里回响起震耳欲聋的喝彩声。“我们要下去了!”士兵们呼喊起来。一些人兴奋地竖起耳朵。有些士兵在空气腐臭的房内挥动起羽饰帽。其他人的喜好则更像他们的队长,走到各自的地铺,开始检查武器。

+

“长官,敌人会有多么强硬?”托格兰姆走过时,一位名叫伊灵古阿的,长着灰色皮毛的老兵开口问道,“我听说飞行器飞行员看见了一些奇怪的东西。”

+

托格兰姆笑得更欢了。“伊灵古阿,老天在上啊,你难道经历得还不够多,不晓得在星球着陆前,比起留意这些你听到的谣言,还有更重要的事要做?”

+

“长官,我也希望如此。”伊灵古阿说,“但这些谣言如此怪异,我揣想也许有些实情。”见托格兰姆没有回答,老兵自感愚蠢,摇了摇头,摇晃起提灯,这样他就能检查短剑的利刃。

+

登陆

步兵队长尽量不惹人注意地发出一声叹息。他不晓得自己该相信哪种说法,而他刚才也听了飞行员的汇报。这个星球上的原住民不懂反重力技术,他们又怎么可能拥有飞行器?托格兰姆听说过有个种族在发现更佳的飞行方法前,使用了热气球,但热气球不可能抵达原住民的飞行器出现的高度,也不可能改变方向,飞行员在会议上一直坚持说那架飞行器改变了方向。

+

必须假定飞行员弄错了,他肯定是弄错了。但是假如兰西斯克之前嘲弄过的那种可能性是真的,这个星球人口如此稠密,只剩下一丁点宝贵的野外空间,如此庞大的城镇又该如何想象?其他飞船发来的提灯信号表明,他们派去侦察的飞行员也汇报了同样疯狂的不可能现象。

+

甭管了,从长远来看,即使这个种族数目像野餐时的瑞佛虫一样繁多也无关紧要。那样只会是有更多的臣民服膺于罗克索兰。

+

“这是白白糟蹋了机会。”比利·考克斯一边对众人说道,一边把帆布包甩到肩头,大步流星地奔向那辆正在等他的卡车。“我们应该张开双臂欢迎外星人,不该展示武力。”

+

“你跟他们说去,教授。”中士桑托斯·阿莫罗斯在后面窃笑,“我呢,只想尽快在哪个有空调的营房里舒舒服服地坐下,不用再面对洛杉矶的炎夏烟雾和大太阳。真可惜,你只是个一级专业军士。如果你是总统,你就能随心所欲地下达命令,而不是在这儿接受命令。”

+

考克斯觉得那样也不是十分公道。第二次叙利亚危机爆发后,军队招兵买马,他被招募进陆军的时候,正攻读政治科学硕士的他只是少了几个学分。

+

他必须把自己瘦长的身体像把折刀一样折叠起来,才能钻进卡车橄榄色的顶篷下面,在乘客舱里坐下。座位太硬,也彼此靠得太近。把人都塞进车里比他们坐得舒不舒服更重要,尽管乘客就活生生地在你面前。典型的军人思维,考克斯轻视地想道。

+

卡车很快就坐满了人。柴油发动机伴着隆隆声启动。一个黑人士兵掏出一副扑克牌,和众人打赌,说他能把二十五张扑克牌变成五手好牌。有两个生手和他赌了起来。考克斯以前赌输了不少钱后,才弄明白这是个骗人的赌局。黑人士兵一边暗笑,一边把扑克牌递给一个上当的蠢蛋,让他洗牌。

+

嘶!扑克牌撕开的声音响起,使得卡车里的所有人都转头来看。“伙计,你从哪儿学会这样玩扑克牌?”黑人士兵质问道,他名叫吉姆,但大家都喊他小吉。

+

“在拉斯维加斯玩二十一点的时候。”嘶!

+

“嘿,小吉,”考克斯喊道,“我突然想要回输给你的十块钱。”

+

“伙计,你的钱已经花掉了。”小吉一边说,一边郁郁不乐地看着扑克牌移动,仿佛这些纸牌具有生命。

+

卡车一路向北驶,卡车所在的护卫车队包括了卡车、机械化步兵战车、轻型坦克,延绵数英里。这个整编团正向洛杉矶开拔,以连队为单位,安置在洛杉矶市的不同地区。考克斯很赞同这种安排,这样他就不太可能会与那些外星人正面相遇了。

+

“桑迪,”他对紧挨着坐在自己身旁的阿莫罗斯说道,“就算我弄错了,外星人并非友善之辈,那手持的武器会有什么用呢?这就好比手持安全别针与大象较量。”

+

“教授,我早跟你讲过,他们付钱给你我不是让我们思考。思考问题也无妨,但我要执行中尉命令我做的事情,你要执行我叫你做的事情,那样就万事大吉了,对不对?”

+

“好吧。”考克斯这么说是因为桑迪不是个坏家伙,而且是位中士。然而,倚靠在考克斯靴子中间的那把新式步枪看起来十分无用,他的头盔和护身装甲同脱衣舞女郎的性感睡衣一样轻薄。

+

随着“不摧号”进入大气层,观察舱外面的天空开始从黑色变成深蓝色。“那儿。”奥格伦指着某个地方说道,“我们会在那里降落。”

+

“从目前的高度看不见多少。”托格兰姆评论说。

+

“奥格伦,让他用你的望远镜。”兰西斯克说,“他很快就要回他的连队去了。”

+

托格兰姆咕哝了起来,兰西斯克的话不那么简单,有着弦外之音。尽管如此,他还是很乐意从目镜里看看外面。大地仿佛向他冲来。他逐渐适应颠倒的映像时,有一阵头晕目眩,映像中的海洋处在视野中错误的一侧。但他对看风景没兴趣,他想要弄明白的是:他手底下的士兵和“不摧号”上的其余部队必须要怎么,才能打出一个滩头堡,并死死守住,对付这个星球上的原住民。

+

“那儿有个看上去很不错的地点。”他说,“城市东边——不,是西边——区块的建筑物中间的那块绿地。那应该能给予我们一块开阔的着陆场地,一块合适的扎营地,以及让增援部队着陆的基地。”

+

“让我看看你在说的地方,”兰西斯克边说边把他推攮到一边,“嗯嗯,是的,我看到你说的那片地方了。那地点也许不坏。奥格伦,过来看看这个。你能在统帅的望远镜里再次找到这个地点吗?如果行的话,就去指出给他看。我们建议把那儿当做我们的降落地点。”

+

学徒匆匆离开。兰西斯克再次俯身凑到目镜上。“嗯嗯,”他再一次说道,“下面的人造建筑挺高,对吧?”

+

“我觉得是这样。”托格兰姆说,“道路上也车水马龙。他们花费了好大一笔钱给道路都铺上了圆石,我没看见路上扬起半点儿尘土。”

+

“这次的征服应该能获得很丰富的战利品。”兰西斯克说。

+

一个仿若猎鸟的金属物体从观察舱窗口旁飞掠而过。“老天啊,他们确实有飞行器,我没眼花吧?”托格兰姆说道。虽然飞行员一直宣称看见飞行器,可在他的内心深处,他并未相信过这种说法,直到他亲眼见到。

+

他注意到兰西斯克的耳朵在急躁地抽搐着,意识到自己确实在观察舱里滞留了太久。他拿起自己那盏发光虫提灯,回到自己的部队。

+

有两个士兵因为他离开太久而怨恨地看着他,可是他告知了两人着陆地点的情况,鼓舞了他们的斗志。普通士兵最喜欢的莫过于内部消息了。他们不晓得内部消息的时候,会胡乱猜测上级的心思,但是当他们对上级讨论的事情略知一二的话,这场游戏就更加有趣。

+

门口出现一名传令兵。“托格兰姆队长,你的连队会从三号气闸舱着陆。”

+

“三号。”托格兰姆复述了一遍,传令兵跑开了,去传令给其他地面部队的长官。队长戴上羽饰帽(羽毛是猩红色的,这样他的连队即使在战场上也能认出他),最后一次检查了手枪,接着命令自己的部属紧跟着他。

+

气闸舱内侧门前面和“不摧号”上的其余任何地方一样乌漆墨黑,一样臭不可闻,一样令人不舒服,但不知怎地,待在这儿容易忍受些。很快,舱门就会开启,他会感觉到清新和风吹拂在皮毛上,品味到芬芳好闻的干净空气,享受到和煦的阳光,还不受时间限制。很快,他就会在战斗中与这些新遇到的生物较量一番。

+

“不摧号”上的飞行器从母舰上发射出去的时候,他感觉到一点点震动。这回飞行器上不会载有洛夫兽,而是载上了火枪手,他们会从上空开火,把罐装的火药引线点燃,再从空中扔下,以此来威吓这颗星球上的原住民。罗克索兰军队总是尽全力给敌人留下凶残的初印象——恐惧能令他们的兵员翻倍。

+

传来了另一阵震动,与上一次的震动不同。这回是飞船着陆了。

+

加州大学洛杉矶分校的校园被一片阴影覆盖。小吉伸长脖子,说道:“乖乖隆叮咚,看看这大家伙!”他念叨这句话已经足足有五分钟,在外星飞船缓缓降落时一直没停过。

+

他每次念叨时,比利·考克斯只能点点头。他的嘴巴干渴,双手紧握在步枪的塑料手柄和冰凉的金属枪管上。新式步枪在这艘趾高气扬地降落的庞大飞船映衬下显得不堪一击。外星人的飞行器在飞船周围飞来飞去,好似鲸鱼旁边的小鲦鱼,它们转而又令更远处盘旋的美国空军战机显得像侏儒。战机的喷气式发动机发出巨响,能刺破地面上紧张不安的士兵和平民的耳膜,而外星飞行器的发动机则安静得可怕。

+

外星飞船降落在新罗伊斯楼、新海恩斯楼、新金赛楼和新鲍威尔楼中间的方形空地上。飞船比周围随便哪座两层楼红砖建筑都要来得高,这儿的每座楼都是原有楼房在二○三四年洛杉矶大地震中坍塌后重建起来的。考克斯听见空地上的小树苗在外星飞船的重压下断裂的声响。他寻思着,五年前随着那些著名的老楼一起倒下的大树就算依然存在,照样会支撑不住。

+

“好了,它们着陆了。我们赶紧上去。”肖顿中尉下令道。他其实没能克制住嗓音的颤抖,可他依然快步向南,冲向外星飞船。他带领的排跟在他身后,经过了迪克逊艺术中心,经过了新邦奇楼。距现在还不是太久的时候,比利·考克斯曾赤脚走在这个校园内。此时此刻,他脚上的靴子踩踏在混凝土路面上,砰砰作响。

+

这个排部署在道德楼前面,向西看,能见到外星飞船。一阵柔风抚弄着小树的叶片,这些尚需壮大的小树种在这儿,是为了取代那些在地震中倒下的茁壮大树。

+

“尽可能去找掩护。”肖顿中尉平静地下令。这个排匍匐进花坛,蜷伏在细瘦的树干后面。外边的希尔加德大道上,装甲战车都已经找好最佳的射击位置,各就各位,柴油发动机则发出轰鸣声。

+

对峙

考克斯不悦地想着,这完全是在浪费时间。现在该做的事是与外星人友好相处,而不是一上来就假定外星人是危险的。

+

至少,有些事正沿着这一方向进行着。一个代表团从墨菲楼里走了出来,躲在一面白旗后面,从这栋行政楼缓缓走向外星飞船。代表团里打头阵的是洛杉矶市长——总统和加州州长正在别处忙碌着。比利·考克斯不惜付出任何代价,只要能成为代表团成员就行,而不是倒卧在这儿,肚子贴着草地。要是外星人等到他五十来岁的时候再过来,让他有机会成为大人物,该有多好……

+

阿莫罗斯中士用手肘轻推了他。“伙计,看看那儿。有情况——”

+

阿莫罗斯是对的。好几扇之前还紧闭的舱门徐徐打开,使得地球的空气能够与船舱里的气体混合。

+

西风变大了。考克斯的鼻子抽紧。他说不明白这些冲他飘来的奇怪气味都是什么来路,可他嗅到味道的时候,闻出了污水和垃圾的气味。“老天,好臭啊!”他说道。

+

“神灵在上,好臭啊!”托格兰姆惊呼起来。当气闸舱的外侧门放下时,他本来期待着外边新鲜的空气能取代“不摧号”里面陈腐的臭气。这儿的空气闻起来像在用泥煤生火,烟气缭绕,要不就是灯芯尚未被掐灭的油灯气味。它还令眼睛灼痛!他感觉到瞬膜覆盖到眼球上保护双眼。

+

“准备战斗!”他下达命令之后,就带领着自己的连队往前走。这一步最难处理好。假如这儿的原住民够胆量的话,他们可以趁着罗克索兰人走出飞船的时候发动攻击,那样会引发各种麻烦。然而,多数未掌握超空间引擎技术的种族都会敬畏于外星访客的到来,不会尝试发动那样的攻击。假如他们不迅速发动攻击,那就为时太晚了。

+

这儿的人没有发起进攻。托格兰姆看见一些原住民,但他们保持着一定距离。他吃不准那儿有多少原住民。他们的皮肤斑驳——或者那其实是衣服?——很难注意到他们,也很难数清楚人数。可他们肯定是战士,从他们的举止和手里拿着的武器就看得出来。

+

他的连队组成了熟悉的两排阵形,第一排蹲在地上,第二排站着,手里的火枪瞄准了敌方前列部队的脑袋。

+

“哈,我们去那边。”托格兰姆欣喜地说道。躲在白旗后面上前的那伙人肯定是原住民中的贵族。队长瞧出来了,那色彩斑驳的其实是衣服,因为这些人的穿着独树一帜,颜色暗黑,脖子上还挂着外形怪异的狭长布条。他们比罗克索兰人更高,也更瘦,脸上也没有突起的鼻子。

+

“伊灵古阿!”托格兰姆大声喊道。这个老兵率领着连队右翼的小队。

+

“长官!”

+

“你的部队阵线逆时针转四十五度角。听到命令后,击倒那儿的敌方将官,那样会削弱余下敌军的士气。”托格兰姆按照标准的作战守则下达了命令。

+

“准备好火绳!”托格兰姆说道。罗克索兰士兵把闷烧着的火绳放落到火枪的火门上。“瞄准目标!”一把把火枪微微地移动。“开火!”

+

“泰迪熊!”桑迪·阿莫罗斯一声惊呼。同样的念头跃入了考克斯的脑海。外星飞船里出来的外星生物是棕褐色的,圆鼓鼓、毛茸茸,有着长长的鼻子和大大的耳朵。然而,泰迪熊通常可不会手持武器。

+

考克斯心想道,泰迪熊通常也不会住在一个闻上去像臭水沟的地方。当然,这股气味在他们闻起来可能像香水。可假如真是那样,外星人和地球人相处起来就会有麻烦了。

+

他注视着泰迪熊各就各位。不知怎地,他们的阵形并没让人觉得他们要构成仪仗队欢迎市长和他的随从。不过,这场景在考克斯看来很眼熟,然而他也想不明白原因。

+

接着,他突然灵机一动。要不是他眼下在加州大学洛杉矶分校的校园里,他绝不会打通关节。他记得自己上过一门课,课上讲授了十六世纪欧洲民族国家的崛起,以及国王创建的纪律严明的职业军队的重要性。那些早期军队和眼前的外星人军队一模一样。

+

交火

这是一次滑稽的巧合。他正要向中士提起这一发现,这时突然枪声大响。

+

外星人的长枪突然喷出火舌,大团的烟气飘入天空。考克斯的耳畔响起了一阵响声,仿若一只愤怒的黄蜂在嗡嗡叫。他听到两边传出叫喊和尖叫声。市长代表团里的多数人都已倒下,一些人不再动弹,另一些人痛得翻来覆去。

+

外星飞船发出一声动静,瞬息之后,又是一声,同时一发圆炮弹击中了砖砌结构的道德楼。一块碎片打在考克斯的后脖子上。微风带来了爆竹的气味,他已经有很多年没闻到这种气味了。

+

“继续装填!”托格兰姆喊道,“再齐射一次,然后用刺刀和敌人肉搏!”他部下的士兵疯狂地忙活着,测量每次装填火药的量,再装入实心圆弹。

+

“他们想跟我们玩这个!”阿莫罗斯叫喊道,“兄弟们,把他们的皮剥下来钉到墙上!”阿莫罗斯的小手指头已经被打掉了,他似乎并没发觉。

+

考克斯手里的新式步枪早已在开火,吐出一连串烫手的黄铜弹壳,枪身靠在他的肩上砰砰作响。他插入一个又一个弹夹,握在手里的步枪像水管一样倾泻出子弹。假如一发子弹没有击中敌人,那么下一发子弹一定会。

+

与考克斯同个排的战友同样在开火。考克斯还听见校园内不同地方的自动化武器开火的声响,还有火箭推进榴弹和野战炮更为低沉的声响。人类军队产生的硝烟开始包裹住外星人的飞船和周围的外星士兵。

+

敌方冲着考克斯所在的排回了一两枪,然后又回了几枪,但他们的反击始终稀稀拉拉,考克斯惊讶得不敢置信,对中士喊道:“这不公平!”

+

“去他们的!”阿莫罗斯喊话道,“他们想要充老大,他们就得接受风险。他们干的唯一一件好事就是干掉了市长。我一直以来都讨厌那个老疯子。”

+

在托格兰姆听来,这种刺耳的哒哒哒声一点也不像他听到过任何一种开枪声。开火太过密集,形成了连绵不绝的恐怖枪声。假如原住民在反击他的部队,那么他们阵地上火药产生的呛人浓烟在哪儿?

+

他不晓得这个问题的答案。他只知道自己的连队会像面对镰刀的谷物一样倒下。有个士兵一次被三枚子弹击中,姿态笨拙地倒在地上,仿佛他的身体不知道该转向哪一边。另一枚子弹打掉了他的天灵盖,场面可怕至极。

+

队长刚才尖叫着下令齐射,可是还未实现就已泡汤。大概有一个小队的士兵勇敢地走向原住民,日光在这些擦得锃锃亮的长刺刀上闪耀。这些士兵还未踏出七八步,就已纷纷倒下。

+

伊灵古阿看着托格兰姆,眼睛里充满恐惧,倒伏下的耳朵紧贴着脑袋。队长知道自己也是这个模样。“他们对我们干了什么?”伊灵古阿吼叫着。

+

托格兰姆只能无助地摇摇头。他俯冲到一具尸体后面,拿起一把手枪对着敌人开了一枪。仍然有机会打赢,他心想道——这些疯狂的原住民怎么经受得住第一轮空中攻击?

+

一架飞行器俯冲向原住民。火枪手从射击孔里开了一枪,随后退回去装填子弹。

+

“干掉他们,这群婊子养的!”托格兰姆叫道。不过他并没有在空中挥舞拳头,因为他早已学乖了,知道这样做很危险。

+

“有飞机!”阿莫罗斯中士咆哮道。他的班组中还未俯卧下的战士纷纷抬起头。同袍受伤的时候,考克斯在战场的喧嚣声中听见了痛苦的惨叫。

+

肩扛着导弹发射器对准外星人的飞行器发射了“水蝮蛇”对空导弹。对方飞行员一定拥有猫一样的神经反射。他驾驶飞行器在空中避向侧面,没有一架地球上制造的飞机能完成那样的动作。结果,水蝮蛇导弹从敌方飞行器旁飞掠过去,没有造成一丁点儿伤害。

+

飞行器上扔下许多样子像是陶罐的玩意儿。这些炸弹爆炸时,地面都震动了。耳朵被震聋了的比利·考克斯咒骂开来,再也不担忧这场战斗是否公平。

+

可敌方的飞行员没有看见跟在他屁股后面的F-29战斗机。这架美国空军的战斗机在不到一英里的近距离内发射了两枚导弹。那枚红外线制导导弹没有寻找到目标,自行爆炸了,但另一枚雷达制导导弹径直冲向地方飞行器。剧烈的爆炸让考克斯把脸埋进地里,双手捂住了耳朵。

+

他心想着,战争就是这样:我几乎什么也看不见,什么也听不见,我的一方正在赢得战争。对于输家来说,会是什么样的呢?

+

当第一架飞行器被原住民的飞机击中时,托格兰姆心中的希望之火熄灭了。“不摧号”上其余的飞行器也没撑多久。它们可以躲闪,但反击能力甚至比罗克索兰地面部队更弱。而且,当他们受到来自下方或后面等盲点的攻击时,简直就不堪一击。

+

飞船上的一座火炮成功地进行了反击,立刻引来了那些会移动的堡垒的回击,移动堡垒在这个像公园的区域外面的街道上就位时,托格兰姆瞥见过几眼。

+

第一枚炮弹袭来时,这位背运的队长还有一瞬间以为这是“不摧号”上的另一尊火炮开火了。爆炸声一点也不像实心炮弹击中目标时的撞击声。一块炙热的金属碎片在托格兰姆手边的地面上燃烧,这令他觉得是有尊火炮被炸飞了,但飞船的上层建筑发生更多的爆炸,有些未能打中飞船的炮弹使得泥土飞扬,说明这是原住民动用了更多凶恶的武器。

+

一样大块的坚硬物体击中了队长的后脖子,世界天旋地转,他两眼一黑晕了过去。

+

“停火!”命令首先下达至野战炮部队,然后是最前线的步兵部队。比利·考克斯推上袖口,看了眼手表,难以置信地看着时间。整场交战持续了不到二十分钟。

+

他看了眼四周。肖顿中尉正从一棵装饰性的假棕榈树后面爬起身。“我们去看看战果。”他说道。他开始缓缓走向外星飞船,手里的步枪仍然蓄势待发。那儿就是一处黑烟弥散的废墟。而且,周围的楼房也都毁于一旦。以前的楼房在大地震中毁坏更为严重,但波及没这么广。

+

草坪上散落着外星人的尸首。溅洒在碧绿色的草地上的鲜血和人类的血液一样,都是深红色的。考克斯弯下腰捡起一把手枪。手枪制作得很漂亮,枪柄的浅灰色木材上镌刻了战斗的场景。不过他认出这是把单发手枪,一件至少过世了两百年的轻兵器。他惊讶得直摇头。

+

阿莫罗斯中士拿起了一件圆锥形状的东西,此前它落在一具外星人尸体旁边。“这是啥玩意儿?”他问道。

+

考克斯又一次感到碰上了自己弄不明白的事。“这是个装火药的角筒。”他说道。

+

“像电影里那样?拓荒者用的那玩意儿?”

+

“非常相像。”

+

“该死的。”阿莫罗斯感触颇深地说道。考克斯赞同地点了点头。

+

他们和排里的其他人一道,靠近那艘被炸毁的外星飞船。大多数外星人已经死了,身体依然排成整齐的两排,他们正是以这个阵形向人类士兵开火的。

+

在一具尸体后面,躺着一位头戴猩红色羽饰帽的军官尸体,正是他下令发动了这次恐怖的、实力悬殊的遭遇战。就在这时,外星人发出呻吟声,翻了身,和人类苏醒时的模样别无二致,考克斯被吓了一大跳。“抓住他。他还活着!”考克斯呼喊起来。

+

好几个士兵扑到正苏醒过来的外星人身上,外星人身体绵软无力,无法反抗。士兵们开始从外星飞船撕裂的口子向里面张望,有几个胆大的甚至走了进去。他们依旧谨慎小心,这艘飞船庞大得不可思议,比任何一艘人类航天器都大多了,尽管它遭受过炸弹轮番攻击,里面肯定还有幸存者。

+

善后

和以往一样,士兵们没能享受快乐太久。战斗仅仅持续了几分钟,第一队专家就乘坐着直升机出现了,专家内心怀着保留意见地看着这些普通士兵,发出可怕的耳舌聒噪声,还立刻带走了考克斯所在排俘虏的外星人。

+

阿莫罗斯中士忿忿不平地看着专家们带走了外星人。“桑迪,你知道这事一定会发生。”考克斯安慰他,“棘手的活由我们做,一等麻烦事办妥当,官员们就来接手。”

+

“是啊,但是如果这次不一样呢,岂不美妙?”阿莫罗斯不带幽默感地笑了出来,“你不用告诉我:这事机会渺茫。”

+

托格兰姆仰躺着醒来时,他知道有些事不对劲儿。罗克索兰人睡觉时总是俯卧的。起初他寻思自己怎么会躺在这儿……昨晚他喝了太多生命之水?他的脑袋很痛,极有可能确实是喝醉酒了。

+

接着记忆涌回了脑海。那些该死的原住民用了带巫术的武器!是不是他的部下重振旗鼓,最终击退了敌人?假如那是真的,他誓愿在余生里一直为战争之主埃迪法女神点还愿灯。

+

他所处的房间逐渐进入他的眼帘。从他躺的床到房顶的灯,没有一样东西是他所熟悉的。灯光明亮得犹如日光,既没烟气也没见火光闪烁。不,他认为罗克索兰人没有打赢那场仗。

+

恐惧如同寒冰,落在他的心中。他知道自己的种族是如何对待俘虏的,也从其他人口中听到过太空人的可怕故事。他战栗了一下,想到捉住他的种族如此残暴,他们又能发明出怎样匠心独到的酷刑?

+

他摇摇晃晃地站起身。他在床尾找到了帽子,几块显然是从“不摧号”上拿来的熏肉,还有一个半透明的罐子,是用某种既非皮革也非玻璃、更不是陶土或金属的材料制成的。不管它到底是什么,它都太过柔韧,无法制成武器。

+

罐子里有水,但不是“不摧号”上拿来的水,那些水尝起来已经有股馊味了。这些水凉丝丝、新鲜又纯净,一点儿怪味都没有,这么好的水只有他喝过的两口山泉才比得上。

+

房门悄无声息地打开,铰链没有发出半点响声。走进来两个原住民。一个小个子穿了件白衣服——是个雌性,假如胸部隆起的两团东西是乳房的话。另一个人的装束和打赢了仗的原住民战士一样,不过这身制服在房间里没起到伪装效果。他手里拿着一把步枪,看上去极其警觉。众神诅咒他!

+

出乎托格兰姆的意料,管事的竟然是雌性。另外一个原住民只是个保镖。队长心想,这一定是位被娇纵惯了的公主,对异族感到好奇。好吧,比起见原住民的行刑人,他更乐于与公主打交道。

+

她坐了下来,招手让他也坐下。他试着在一把椅子上坐下,发现坐得不舒服——椅背太低,不是一把为他宽大的屁股和粗短的双腿而造的椅子。他转而坐在了地上。

+

她放了一个小盒子在椅子旁的桌子上。托格兰姆指着东西问道,“这是什么?”

+

他心想她没有听明白问题——这不能怪她,她对他的语言一无所知。她在玩耍小盒子,揿下这儿的按钮,揿下那儿的按钮。接着,他的耳朵向后倒,颈背处的毛竖立起来,因为这个盒子用罗克索兰语说道“这是什么?”片刻后,他意识到那是他的说话声。他咒骂了一句,冲着这种巫术做了个手势。

+

她说了些话,又摆弄起小盒子。这次它重复了她的声音。她手指着盒子说:“‘录音机’。”她满怀期待地停了下来。

+

她到底在期待什么,这件东西的罗克索兰语名称吗?“我一辈子从未见过这种玩意,我希望自己永远不要再看见。”他说道。她挠了挠头。当她再次让小盒子重复了他刚才说的话后,要不是想到旁边的士兵拿着枪,否则他一定会把这鬼玩意儿扔到墙上。

+

尽管有那些挫折,可他们最终还是在语言沟通上取得了进展。托格兰姆在冒险生涯中零零碎碎地学得了许多语言,这也是尽管他出身卑微、也无人脉,却依然能当上队长的一个原因。这个雌性——托格兰姆听见她名叫希尔达切斯塔——也有天赋,还有那个永远不会忘记的小盒子帮忙。

+

“你们的人为什么攻击我们?”有天她这么问道,当时她已经学会了不少罗克索兰语词汇,能够组织问题了。

+

托格兰姆知道自己正在接受审讯,不管她听上去有多么礼貌。他自己也和俘虏们玩过这套把戏。他抽动了耳朵,表示与己无关。他一贯主张直接给出正确的答案,那也是他至今还只是个队长的原因。他说:“为了夺走你们种植和制造的东西,占为己用。为什么所有人都想要征服其他人?”

+

“究竟为什么呢?”她喃喃自语,沉默了一小会儿。他直率的回答看来令这个审问的方向进入了死胡同。她再次尝试,“你们的人怎么能够以比光还快的速度行走——我的意思是旅行——同时你们其他的技术却如此简陋?”

+

他的毛发因愤慨而直立起来。“它们一点儿都不简陋!我们制造火药,我们铸铁,我们能冶钢,我们有望远镜帮助领航员指引我们在群星中漫游。我们不是蜷缩在洞穴里,或是用弓箭射击彼此的野蛮人。”

+

他的一席话自然并非那么简洁易懂。他必须重新说一遍,用详尽累赘的陈述,如同在戏台上表演,让希尔达切斯塔也能听明白。她又挠了挠头,他已经认出这是困惑时的手势。她说:“我们几百年来早已知道你提到过的这些事,但我们认为没有人能以比光还快的速度行走——该死的,我一直说错词,应该是旅行。你们的人是怎么学会那样做的?”

+

“我们自己发现了奥秘。”他自豪地说,“我们并不是从其他某个能够星际旅行的种族那儿学到了奥秘,许多种族都是那么干的。”

+

“但你们是怎么发现的?”她继续追问。

+

“我怎么知道?我是个士兵。我为什么要关心这些事?谁知道是哪个人发明了火药,又是哪个人发现在铁匠铺里使用风箱能让火焰炙热得足以熔铁?这些事确实发生了,就这样。”

+

她那天早早结束了提问。

+

收获

“真丢脸啊,”希尔达·切斯特说,“假如这些愚蠢的外星人多等几年再来地球,我们很可能早已自我毁灭了,压根儿不晓得地球周围有更多适合居住的星球。基督啊,从罗克索兰人说的话来看,他们的种族丝毫不懂得如何制造铁质的星际飞船,也从未仔细思量过这个想法。”

+

“除了星际飞船没有返回母星球的时候。”查理·埃贝茨回答说。他的领带塞在口袋里,衣领解开,这都是因为帕萨迪纳炎热难耐的夏日高温,尽管加州理工学院的雅典娜俱乐部里的空调机卖力地运转着,也不管用。虽然这儿有许多工程师和科学家,但是要与外星人沟通的话,他最依赖的还是希尔达·切斯特这样的语言学家。

+

“我自己也不是很明白。”她说,“除了超空间引擎和反重力技术,罗克索兰人其他方面都很落后,几乎可说是原始。宇宙里的其他种族一定也一样,否则早就该有人把它们打垮了。”

+

埃贝茨说:“你看过一眼后,就知道超空间引擎有多简单了。研究人员说,任何一个人都有可能在人类历史中的几乎任何一个时刻误打误撞地发现它的基本原理。最有可能的猜测是多数种族确实这样偶尔发现了超空间引擎,而一旦他们有了这一发现,哎呀,他们所有的创造能力自然而然地会都用在如何提升和改进超空间引擎上。”

+

“但我们错过了。”希尔达缓缓地说,“于是我们的技术往另一个方向发展了。”

+

“说对了。所以罗克索兰人才对电力一无所知,更不用说核能了。关键还在于,就我们目前所知的,超空间引擎和反重力技术并不像电磁学光谱那样有从属性的应用。他们所能做的,只是把物体从这儿迅速地移动到那儿。”

+

“在当时应该也够用了。”希尔达说。埃贝茨点点头。地球上如今差不多塞了九十亿人,一半人都在忍饥挨饿。现在,他们突然间有了可以去的地方,也有了去往那里的途径

+

“我想,”埃贝茨沉思道,“我们对于宇宙里的其他种族来说,会是个天大的意外。”

+

希尔达过了几秒,才想明白埃贝茨的意思。“如果那是个笑话,那么一点也不好笑。距离上一场攻伐制敌的战争,已有百年的时间。”

+

“是啊——战争已经变得太昂贵,也太危险。但是,罗克索兰人或者其他任何同等技术水平的种族会以哪种战斗来对抗我们呢?阿兹特克人和印加人都相当勇猛。在抵御西班牙人时,勇猛又让他们占到多大的便宜?”

+

“我希望我们已经在最近的五百年内变得更聪明了。”希尔达说,她照样只吃了一半三明治,她觉得自己不再饿了。

+

“兰西斯克!”资深领航员一瘸一拐地走进他的小囚室时,托格兰姆惊呼道。兰西斯克的人比几个月前登上那艘名不符实的“不摧号”时更细瘦了。他的皮毛上有好几处伤疤,周围长出了白毛,托格兰姆不记得曾见过他身上的这些伤疤。

+

然而,兰西斯克超然、爱打趣的样子并未改变。“你是不是比子弹还坚强,还是地球人觉得不值得杀掉你?”

+

“我猜想是后者。他们有那么强大的火力,为什么要担心一个士兵的生死?”托格兰姆苦涩地说道,“我也不晓得你还活着。”

+

从始至终都不是我的错,我向你保证。”兰西斯克说,“奥格伦,在我身旁——”他的声音戛然而止。对所有事都保持超然是不可能做到的。

+

“你来这儿做什么?”队长问道,“我并非不乐意见到你,但你是我见到的第一张罗克索兰人面孔,自从——”这时轮到他吞吞吐吐了。

+

“自从我们着陆起。”托格兰姆听到领航员委婉的说法后,松了一口气,点下了脑袋。兰西斯克继续说,“见到你之前,我已经见过另外好几个人。我怀疑我们被允许见面,那样地球人能偷听我们相互之间的谈话。

+

“他们怎么能办到?”托格兰姆刚问出口,就想到了答案。“哦,对了,当然是靠录音机。”他这儿必须用英文词汇,“那么,我们会解决这个问题。”

+

他开始用奥雅格语说话,这是罗克索兰人五十年前征服的一颗星球上最广泛使用的语言。“兰西斯克,我们会有什么遭遇?”

+

“罗克索兰星球上的人到现在会意识到出事情了吧。”领航员同样以奥雅格语回答。

+

这个回答让托格兰姆乐呵不起来。“舰队失踪有许多原因,”他阴郁地说道,“就算最高统帅派遣了另一支舰队来找我们,他们的运气也不会比我们好。这些该被众神诅咒的地球人拥有太多战争机器。”他停了下来,心情忧郁地喝了一大口伏特加。原住民酿造的有味道的饮料令他反胃,但伏特加让他很喜欢。“他们怎么会有这么多战争机器,我们却一样也没有,我们知道的任何一个种族也没有。他们一定是巫师,把他们的灵魂出卖给了魔鬼,换取知识。”

+

兰西斯克抽动了鼻子,表示他并不赞同。“我问过他们之中的一位学者同样的问题。他回复了我一首诗歌,作者是个叫冰雹或雪之类名字的地球人。那首诗讲的是有个人站在岔路口,最终选择走那条较少人走的路①。那就是人类干的事。多数种族发现了超空间引擎,遨游于星际。人类从未发现超空间引擎,于是他们对知识的探索走向了另一个方向。”

+

“不是的!”托格兰姆回想起那场短暂而可怕的战斗,浑身哆嗦,“那些枪不用重新装弹就能发射出几十枚子弹,火炮装在带盔甲的平台上,平台还可以移动,自己能跟踪目标的火箭……还有我们看不见的东西,地球人都会谈起的东西——能够摧毁一整座城市的炸弹,只需一枚炸弹。”

+

“我不知道该不该去相信。”兰西斯克说。

+

“我相信。地球人说起那些炸弹时听起来十分害怕。”

+

“好吧,也许是那样。但地球人不单单有厉害的武器。他们有机器能让他们从遥远的地方看见另一个人,并和他交谈;还有机器能为他们做计算;他们有录音机,还有许多相关的东西。从他们说起机器的话语来看,我几乎要相信你的说法,认为他们是巫师——他们确实知道是什么引起了疾病,知道如何治疗,甚至知道如何预防疾病。还有他们的农业,这颗星球比我见过或听说过的任何一颗星球都拥挤得多,然而星球上种植的庄稼足以喂饱所有这些地球人。”

+

托格兰姆悲伤地摇摆起耳朵。“这十分不公平。他们拥有所有这些技术,只是因为没有碰巧发现超空间引擎的奥秘。”

+

“他们现在拥有了超空间引擎。”兰西斯克提醒他,“多亏了我们。”

+

两个罗克索兰人惊骇地看着彼此,异口同声地说道:“我们造了什么孽啊?”

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2024/03/06/domains-second-year/index.html b/2024/03/06/domains-second-year/index.html new file mode 100644 index 000000000..83544580e --- /dev/null +++ b/2024/03/06/domains-second-year/index.html @@ -0,0 +1,108 @@ +红英再开:域名两周年🎉 | 叶子的花园 + + + + + + + + + + + + + + + + + + + +

红英再开:域名两周年🎉

cover烟花也是花!

+

这次标题中的「红英」一词,取自唐代诗人鱼玄机的《卖残牡丹》,原诗云:

+
+

红英只称生宫里,翠叶那堪染路尘。

+

及至移根上林苑,王孙方恨买无因。

+
+

正巧近日古诗文网的 RSS 每日一诗推荐过这首,读过以后感觉很美,就用在了这里。

+

那就简单地写一下吧。

+ + +

时间

这是 mskclover.com 域名的第二年啦,她陪着我走过了过去的一年,蛮开心的。

+

为什么我会记起这个时间呢?我当然在去年记录过确切的日子,不过比起「倒数日」一天天临近给人的感觉,还是 Cloudflare 寄来的信用卡账单更能轻轻地敲醒我……

+

coverCloudflare 寄来的域名托管账单

+

Cloudflare

将域名转移至 Cloudflare 差不多一年了,我还是非常满意的:一年不到十美刀的价格,不会随着时间的增长而变贵(说的就是你们!GoDaddy 和 Namecheap);从没出过问题的名称服务器和 DNS;国内一如既往优秀的访问速度(感谢 Cloudflare 免费赞助的 CDN)。总的来说,各方面的体验都要比其他的托管商更好,但愿他们不会像 Google Domains 一样跑路(

+

由衷地希望 Cloudflare 在未来能发展得越来越好,为所有人带来更加自由、安全的互联网。

+

红英

既然域名是花园的一道路引,那这里怎么能少得了花呢?

+

flowers摄自广州白云山

+

再会

最近还是有些不太适应工作的节奏,精神状态比较差,估计大家看我这些稀碎的文字就能感受一二吧?

+

跟花有关的古诗,还有一首非常出名的:

+
+

花有重开日,人无再少年。

+

相逢拌酩酊,何必备芳鲜。

+

《续侄溥赏酴醾劝酒二首・其一》,〔宋〕陈著

+
+

现在心花重新感受,与小时背诵的时候相比,感觉大不相同了。

+

那就不再多写了,我们明年再会!

+

i-was这张插图依旧是来自香港 🇭🇰 的插画家 PEAR 哥

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2024/04/14/essay-in-night/index.html b/2024/04/14/essay-in-night/index.html new file mode 100644 index 000000000..780ddfcc8 --- /dev/null +++ b/2024/04/14/essay-in-night/index.html @@ -0,0 +1,118 @@ +深夜随笔 | 叶子的花园 + + + + + + + + + + + + +

深夜随笔

cover

+ + +

很久没认真地写过博文了啊,非常惭愧,我在这大半年里一直都想写些什么,但总是「提笔忘字」,无从下笔。自从工作以来,我的表达欲好像都消失无踪,不知道这是成熟的表现,还是倒退回了牙牙学语的时候…… 我也不知道为什么会变成这样,当时忙于毕业,以为周记只会中断一点时间,我还专门为新的系列写下了「引言」:

+
+

大家好!

+

这次阔别小半年间,我又有了新的想法:过去的周报形式虽然简单,但就如同写命题作文,内容创作比较受限。后来我了解到在个人博客中存在一种「Newsletter」的形式,比如友链朋友 言醴 通过类似信件的方式写作,或许这是一种更好的创作与分享方式 —— 您看,我真的会时不时地去拜访大家的(

+
+

我不知道如何重新开始,每次都在犹豫中渡过,到最后什么也没写。或许是想得太多了,至少先开始写点东西吧。

+

此夜

现在是凌晨,为什么我还没有睡觉呢?

+

因为今天是夜班,晚上有一个维护要做。现在的航班量还是比较大,为了最大程度上避免对管制运行造成影响,所以我们得等到扇区合并以后才可以做,大概是晚上两点的样子…… 其他人都先去睡一会儿,而我想着平时也常熬夜到一两点,所以就打算做完再睡。

+

这下我明白了轻松地熬夜与「带着任务地熬夜」有多大区别了,现在我全身上下的每一个细胞好像都在催促着我去睡觉……

+

喝了点凉水打起精神,等待期间,我在书签里翻出了两年前的一篇文章。

+

文章

那时还是 2022 年 3 月,我在一个多月前开始了我的考研生涯,所以我很容易地就看到了这篇文章:《2022 浙大计算机考研失败总结教训》 —— 当时肯定是为了学习经验,不过时隔两年以后再次看到,我很容易地就点进了作者主页,想知道他后来的结局。

+

那是他的第一篇文章,他后来又发表了三篇,我将他的文章列在下面并注明时间:

+ +

不做任何价值观上的评价,我非常钦佩他的勤奋与毅力,他达成了自己的目标。在这个浮躁、悲观又竞争激烈的社会,他没有受到流言蜚语的影响,也没有被前两次遗憾落榜的失败所打倒,这已经超过大多数人了(包括我),他值得这一切。不过,这些文章中最能打动我的,其实不是他起得多么早、学习到多晚,而是他的心路历程。

+

在第一次失败时,他回顾了过去大半年的备考经历、总结经验教训后,写到:

+
+

成绩出来的那天,早上我爸说梦到我考上了,虽然我一直估的是 370 分但是当时我真的很害怕就翻车了,下午快两点成绩出来,打开电脑查询成绩,输入准考证号和身份证后看到屏幕上的 353 分总成绩和每科都比预估低的分数,我知道今年考研失败了,瞬间所有的悲伤和愧疚涌上心头。当时我妈正在卧室外等我出去吃饭,正在等着我向她汇报好消息,同时我想到我爸的那句“我梦到你考上了”,一瞬间我的心里就仿佛是有数万根针同时刺入一般,我感觉我对不起我爸妈,对不起他们对我的期待。

+

告诉家人我失利之后,我妈每天都在网上看考研的相关信息,生怕为我漏掉什么调剂的信息,我爸觉得以后和我待在一起的时间越来越少,吃饭的时候也在悄悄地抹眼泪。虽然他们都说没事大不了再来一年,这一年绝对能考上,但是我的心里还是非常的难受,非常的愧疚。我担心再来一年会再一次失利,毕竟考研一年就一次,一旦失败就是丢掉一年的时间。我也很不甘心,不甘心自己一年的努力没有得到回报,不甘心就这样沉沦下去。我这篇文章记录下来,作为我二战的教训,警醒自己不能重蹈覆辙,不能自甘堕落,坚持下去,来年再战!

+

老当益壮,宁移白首之心;穷且益坚,不坠青云之志。

+
+

我看着也挺难受的,在高考的时候我也有过类似的焦虑:担心发挥不好搞砸了这一切,无法面对家人的付出与期待。所以当时看到作者还能调整状态,重整旗鼓,准备迎接下一次考试时,我也暗暗钦佩。

+
+

一战我报的是浙大,今年我报的是科软,我也不知道是不是巧合,去年科软爆冷,今年浙软招不满,科软爆炸。其实我总分应该是够的,但我如果多一点运气,如果考 408 前一晚我没有认为外排不会考所以没有认真看,如果我考场上不会忘记考前那一晚看过的外部排序,那 10 分我拿到手,我也是能进复试的。但感觉就是那么倒霉,就是那么一点的差距,就是那么不凑巧,我轻轻扫了一遍的知识点刚好就是从未考过的新出现的考点。我感觉自己真的好像不适合考研,真的就像是命运在捉弄自己,告诉我考研这条路可能行不通。

+

现在暂时没有继续考的打算,这两年考研,基本都是自己一个人备战,跟人说话的日子少之又少,差点成了哑巴。现在看到考研的书,说实话都有点犯恶心。脱产一年考研,没有工作和实习的经历,导致现在工作也没那么好找。家人觉得我今年考这么高但又是差了一分单科线,觉得很不甘心,爸妈想让我再来一年,但我有些没心气了,我怕再来一年又会像今年这样,如果数学和英语没有今年发挥的好呢?我也怕自己一个人再孤独的准备一年,身边没有同龄人的情况下到后面抑郁掉,而且我是 99 年的,比别人晚上一年学,再三战,毕业可能就是 27 岁,我觉得那样太晚了年龄太大了,当然更害怕自己再次失败。

+

最后打算回归现实了,打算在西安找个工作,也可能以后会突然有考的想法,但是计算机考研性价比感觉一年不如一年,最后到底走哪条路我也不确定,这篇文章暂时先就到此为止吧。

+
+

这种感觉真的让人绝望,想到两年的光阴、自己的努力,好像被白白浪费了一样。很多人都接受不了这样的结果,特别是那些第二次还没有之前考得好的人,会遭受到很多来自外界的压力与闲言碎语。

+
+

25 号中午在家看到官网的拟录取名单,看到自己的名字的时候,反倒是没有多么激动多么感慨,也是比较平淡吧,内心就是想,这三年考研终于结束了,要开启下一个阶段了。晚上和家人一起吃了火锅,爸妈都很高兴,想到这过去三年幻想了多少次被录取的场景终于发生在现实中,我反而觉得有些不现实。三年考研,这其中的痛苦和委屈,好像在这时候都消失不见了,只是我每每想到 2023 年 3.17 日那天安安静静没有什么声音的家,心里还是会难受会伤心。

+
+

他终于考上了,他得到了应有的回报,我诚挚地为他高兴,毕竟在这个努力越来越无用的年代,能看到这样的事情,殊为不易。

+

我是个弱者,没有勇气去真正经历考研,我没有资格去评判作者这三年到底「值不值得」。我也曾经想过,如果高考没考好,要不要再考一次?后来想着还是算了,就算考差了那也是自己的命运。塞翁失马,焉知非福?但是这个目标作者花了三年,整整三年的人生啊,这个代价太大了。另外,现在的竞争这么激烈,经济形势又不好,每晚一年你都要与越来越多的人竞争越来越少的工作岗位。

+
+

接下来就是开启下一个阶段吧,考上只是第一步,以后的路还很长,像考研这种人生的关键路口走过了并不意味着就结束了,眼下我也得继续筹划一下未来的方向了,目前第一步就是先把车学了驾照考了。

+
+

从来都没有什么终点:人生并不在考上大学那天结束,也不在拿到入职通知时戛然而止。我现在也有新的目标,希望我能在一年后成功实现它。

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2024/04/19/LES-air-traffic-control-automation-guide/index.html b/2024/04/19/LES-air-traffic-control-automation-guide/index.html new file mode 100644 index 000000000..c5fe176b9 --- /dev/null +++ b/2024/04/19/LES-air-traffic-control-automation-guide/index.html @@ -0,0 +1,1303 @@ +莱斯空管自动化系统管制席界面指南 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

莱斯空管自动化系统管制席界面指南

SDD莱斯的自动化界面,与欧洲猫十分相似

+

写在前面

我在上学的时候一直有整理笔记的习惯,到了工作中也依然如此,所以就想把整理的一些笔记做成文档发上来。民航领域算是一个非常封闭的地方,互联网上总是难以查到相关的资料,特别是在中国大陆地区…… 我相信我们每个人的微薄之举都可以让互联网变得更好!所以,也希望这些资料能对需要的人有帮助吧。

+ + +

在正文开始之前,想先向不熟悉的朋友介绍一下:

+

空中交通管制,是为飞机提供引导的地面管制人员/服务。相比于上个世纪初使用望远镜进行目视监视与程序管制,现代空管使用雷达管制,这就需要一套自动化系统,能同时处理多个监视源的数据,并将目标与所有的相关信息显示在频幕上 —— 这就是空管自动化系统(Air Traffic Control Automation)。

+

一般而言,目前国际上比较流行的自动化系统是 THALES 公司的 欧洲猫 Eurocat (现名 TopSky),非常的经典,也相当稳定。

+

FIRSFIRs controlled by TopSky - ATC

+

不过,由于目前国产化的趋势愈演愈烈,早已蔓延到了民航领域,所以中国 🇨🇳 不仅开始自己制造 C919 支线客机,同时也在力推国产化的空管自动化系统,中国电科 CETC 开发的 莱斯 LES 空管自动化系统也开始逐渐替代曾经的进口系统。某种意义上,莱斯在界面上是像素级抄袭了欧洲猫自动化系统,或许可以解释为管制习惯了欧洲猫的界面。另一方面,莱斯系统的稳定性也远不如欧洲猫,相比于后者在二十年间几乎没有出现过严重故障,我们现在甚至都不敢将莱斯长期使用(48 小时以上)。至于厂家简陋的算法、效率低下的技术支持与极不负责的测试,那就是后话了。

+

闲谈到此为止,接下来让我们来看看莱斯空管自动化系统的管制界面吧。

+

管制席部份 SDD

整个空管自动化系统的管制席位界面分为三个部份:

+
    +
  • 通用信息窗口 GIW:工作模式、显示信息、目标属性 和 过滤设置 等
  • +
  • 态势界面窗口 SDW:显示雷达目标 和 背景地图 等
  • +
  • 命令行窗口 CLW:显示内容设置、飞行计划 和 辅助功能
  • +
+

其中,通用信息窗口和命令行窗口可以打开或者关闭。

+

通用信息窗口 GIW

GIW

+

GIW_detail

+

放像控制 RepCtrl

应该是放像席位的选择(Replay Control),在《1.2 新终端莱斯自动化 V3.5 系统(塔台)维护规程》中,有如下描述:

+
+

点击雷达管制界面的左上角的“RepCtrl”项,单击选择控制放像的席位(例POS88),如下图1所示。

+
+

系统逻辑组 System Name

如图中的 “APG000” 指示系统当前的逻辑组。

+GIW1 + +

席位等级

根据《1.1新终端欧洲猫自动化V10系统(塔台)应知应会》,有:

+

mode

+

系统模式:NORM —> DEGD —> NORM(自动)

+

席位模式:NORM —> DEGD —> LOW —>NORM(手动)

+

席位物理组与逻辑组 Logical Position

根据《1.1 新终端欧洲猫自动化 V10 系统(塔台)应知应会》,有:

+
+

系统物理组:

+

每个物理组都配置了若干台物理席位,每个席位都有一个物理名称,席位的 物理名称和工作站的物理位置是相对应的,且席位物理名称的更改是下线的。

+
+
+

系统逻辑组:

+

系统为每个物理组分配了若干个逻辑席位名称,一个物理组可用的逻辑席位名称的个数大于物理席位的个数。逻辑席位主要用于主任管制席的扇区分配,主任管制席把一个或几个功能扇区划分到某个逻辑席位,然后再把这个逻辑席位配置到某个具体的物理席位上。

+

在实际工作中这种扇区分配模式发挥着重要作用:当某个席位的硬件故障时,主任管制席可以将该席位的逻辑席位配置到另外一个空置的席位上,它所包含的所有功能扇区就相应的被配置到当前空置的席位上。

+
+

逻辑席位 TWSMPLGP

本席位配置的逻辑席位(Tower System Monitor Position - Logical Position),点击后会显示该逻辑席位所包含的扇区:

+

TWSMPLGP

+

计量单位 UNIT

席位计量单位设置 PUS 共有四种:

+
    +
  • 公制式 MET

    +
  • +
  • 英制式 IMP

    +
  • +
  • 公制混合式 MET M

    +
  • +
  • 英制混合式 IMP M

    +
  • +
+
+

单位混合表示席位单位以主单位为主,航迹标牌可以单独切换单位。

+
+

指北设置 North

地图显示的校准方向有两种:

+
    +
  • 真北 TRUE

    +
  • +
  • 磁北 MAGN

    +
  • +
+

速度矢量线 VEL 与 短航路探针 SRP

VEL 仅指示飞机的航向,而 SRP 与飞机的飞行计划相关,比如它会将飞机与航路点相连,另一端指向另一个方向:

+

SRP

+

尾迹点设置 HIST

历史轨迹(Historical Trail)设置,根据《NUMEN3000 自动化系统 V3.5 版本 - 管制员席操作手册》有:

+
+

尾迹点设置:鼠标左键点击 HIST 按钮,控制在 ILS 窗口中是否显示航迹尾迹点,并可设置尾迹点显示个数。
(计划航迹不显示尾迹点)

+
+

航空识别码 ACID

航空识别码(Aircraft Identification)用于区别标牌上的识别码类型,上栏有四个选项:

+
    +
  • ACID:显示航班号
  • +
  • SSR:显示二次代码
  • +
  • 24 BIT:显示 24 位地址码
  • +
  • TRGT ID:同样显示航班号(Target ID)
  • +
+
+

雷达管制席位,航迹与计划相关或被挂上雷达 radtag 后,航迹标牌上就不再显示二次代码。
鼠标右键点击“ACID”按钮,所有与飞行计划相关或者雷达简标牌航空器的航班号显示处快速切换为二次代码显示。

+
+

ACID

+

下栏的 标牌快看 QLK ALL 是标牌强制显示,如:跑道上未升空但已打开应答机的目标、空中有二次代码但没有飞行计划的不明航迹等。

+
+

对于已经被高度过滤、二次代码过滤及区域过滤(SHOEBOX)的航空器,可强制显示其数据块标牌。

+
+

上升下降率显示设置 DIR

打开后可在标牌的右边显示各个航班的上升下降率(Descent or Increase Rate)。

+

标牌格式切换 Normal/Extend 和 Fixed/Shared

飞行相关航迹的标牌有两种显示格式:

+
    +
  • 正常数据库标牌格式 Normal
  • +
  • 扩展型数据块标牌格式 Extend
  • +
+
+

正常数据库标牌格式显示 4 行飞行数据,扩展型数据块标牌显示 5 行飞行数据。

+
+

而扩展型数据块标牌格式 Extend 还有两种显示方式:

+
    +
  • 固定型 Fixed
  • +
  • 分时扩展型 Shared
  • +
+
+

固定型显示 5 行飞行数据,其中第四行显示目的机场和机型。分时扩展型也显示 5 行数据,但是第四行在目的机场、机型为一组数据,下一报告点,下下报告点为第二组数据两组数据之间进行切换显示。

+
+

飞行计划航迹显示过滤 FPASD

可以显示全部计划航迹的功能,根据资料,有:

+
+

当功能关闭时航迹的所有显示属性,包括标识符、标牌、引线都被过滤。

+
+

第二通用信息窗口 GIW2

点击后打开一排选项:

+

GIW2

+
    +
  • Main Window:调整态势界面主窗口的大小

    +
  • +
  • Second Window:调整第二态势窗口的大小

    +
  • +
  • Display Level:仅显示当前高度范围内的目标(高度过滤)

    +
  • +
  • SSR Code Filter:二次代码过滤

    +
    +

    被过滤的航空器不显示数据块标牌。告警的、管制的及处于移交状态的航空器不进行二次代码过滤。

    +

    二次代码集过滤指航空器的二次应答机代码的前两位与输入的过滤条件相同即可过滤,或者激活两个二次代码段后,两个二次代码中间的全部过滤。

    +

    一共可输入两个二次代码集和两个指定二次代码,输入完毕后需回车确认;若想取消过滤设置需清空相关的文本框。

    +
    +
  • +
  • Target Address:地址码过滤

    +
    +

    一共可输入两个指定地址码,输入完毕后需回车确认;若想取消过滤设置需清空相关的文本框。

    +
    +
  • +
  • All Flights:管制航迹显示过滤

    +
      +
    • 所有航迹 All Flights
    • +
    • 本席位管制 Jurisdiction
    • +
    • 本系统管制 Controlled
    • +
    +
    +

    可过滤除飞行计划航迹、告警航迹、测试点、模拟目标之外的航空器数据块标牌,标识符不过滤。

    +
    +
  • +
+

all_flights

+
    +
  • T&SM:测试点及模拟目标显示过滤设置

    +
    +

    可过滤系统接收到的监视目标中为测试点和模拟目标的动目标航迹,过滤航迹标识符及标牌。

    +

    T&SM 按钮蓝底灰字表示显示相关目标。

    +
    +

    比如从 SMP 上找到的这个目标,航迹符 I 表明这是一个测试点:

    +
  • +
+

tsm

+

态势界面窗口 SDW

雷达航迹符类别:略

+

目标标牌格式:略

+

命令行窗口 CLW

CLW

+

相比上面的示意图,我们的则是:

+

ourCLW

+

下面按照我们系统的实际顺序介绍。

+

显示设置 Set up

setup + +

罗盘 Graphic Options

选项 Compass Bearing 罗盘方位打开后,会在 SDW 四周以正北方向顺时针每 10 度显示方位,默认关闭。

+

动态文本 Txa Font

网上查到这是一种字体,但不知道在哪里能看到变化。

+

是动态字体显示,请参见后面的「动态文本」一栏。

+

标牌字体 Label Font

选择航迹标牌的文字大小。

+

标牌位置 Label Position

    +
  • Auto Label Offset:自动标牌偏移,系统会自动调整标牌的位置,以避免标牌产生重合;
  • +
  • Global Orientation:全局方向,前面的选项用于调整所有标牌的方向;
  • +
  • Default:默认,标牌会默认指向同一个方向(目测右上 45 度左右);
  • +
+

边缘标牌旋转 Anti Edge Rotation

选择 Main 时,超出屏幕边缘的标牌将旋转其位置,直到强制显示完整标牌为止。

+

选项 2nd 和 other 未能看到变化。

+

标牌引线长度 Leader Size

选择航迹标识符到标牌的连接线长度。

+

重置自定义方向 Reset Manual Orientation

点击后,SDW 中所有的标牌方向将被重置。

+

距离环设置 Range Ring Options

打开后一组半径不同的同心圆,右侧可调整各环之间的距离。数值单位与当前席位单位显示制式一致,公制式为公里,英制式为海里。

+

亮度调节 Brightness

    +
  • 文本/动态文本 Text
  • +
  • 管制航迹 Jurisdiction
  • +
  • 预管制航迹 Announced
  • +
  • 预管制航迹标牌 Announced Label
  • +
  • 非管制航迹的标识符 NJUR Symbol
  • +
  • 非管制航迹的数据块标牌 NJUR Label
  • +
  • 电子进程单 Strip
  • +
  • 背景地图 Map
  • +
  • 填充图形 Infill:激活的危险区及扇区
  • +
  • 工具 Tool
  • +
+

音量调节 Volume

左侧按钮可测试音量。

+

监视源选择 Surveillance Selection

默认显示综合航迹,系统也提供单雷达、旁路和其他监视源的目标显示,可判断是否为假目标。

+Surveillance + +
    +
  • Class 下有:NORM 综合航迹、BYPS 旁路航迹 和 TSDP 塔台航迹;
  • +
  • Type 下有:SYS 融合航迹、RADAR、ADS-B 和 WAN;
  • +
  • Source 下:接入的各路雷达,在旧版本的莱斯系统中可以选择某一路的雷达数据,而新版本仅能显示 ALL 所有雷达数据;
  • +
+

地图 Map

点击按钮后打开 MAP WINDOW,有三个栏目是比较重要的:系统地图、全局地图和本地地图:

+

map

+

系统地图 System Maps

+

系统地图是由离线设置的各类基础数据图形,包括空域、扇区、航线、导航台、报告点、机场等位置图形,管制员可以根据工作需要选择所需图形显示在席位 SDW 背景地图中,以此来直观地掌握各元素的地理位置。

+
+

一般我们使用:

+

云层地图 Generated Maps

+

提供根据云图的浓度进行气象云图的显示控制,气象云图按照浓度划分可分为浓、淡两级,不同浓度的云图显示不同的颜色。

+
+

私有地图 User and Local Online Maps

+

在一般的管制席位可进行本地私有地图的编辑,而在主任管制席位可进行全局私有地图临时危险区的编辑,主任席位编辑的全局私有地图只在本逻辑组范围内进行数据发布和强制显示;当具备主任权限时也可将本地私有地图转换为全局私有地图进行发布。

+
+

按照我的理解,本地私有地图 User Maps 仅在本管制席的地图中显示,而全局私有地图 Local Online Maps 可以在整个逻辑组的范围内显示。不过按照这样的话,全局私有地图和全局地图有什么区别呢?

+

全局地图 Global Maps

+

在具有主任管制权限的席位,可实现全局地图的创建、删除、保存、私有地图转换成全局地图功能,该功能在本逻辑组内有效。

+
+

选择私有地图后,通过右侧的「PrivToGlb」按钮,即可将其全局化(具体步骤请参见手册)。

+

主任参数设置 Info

+

在一般的管制席位可查看当前逻辑组范围内所有席位及相关参数的各种主任参数设置,只有在登录具备主任管制权限的管制席位才可对相关的参数进行修改。

+
+info + +

在进行任何设置之前,需要先在最右侧的 LogIn 按钮登录。

+

我们的系统中,没有 WTH MAPS 和 HOST,而 RMAP、MIL、SSR INHIB 和 SPARE 按钮是灰色的,它们是灰色的原因为认为是没有登录账户的缘故。

+

二次代码 SSR

点击按钮后打开 SSR CODES 窗口:

+

SSR

+
+

根据数据库中设置的二次代码组和二次代码组所使用在的范围,可以设置所有的代码组在它所在的范围是否应用。其中:

+
    +
  • TRANSIT 国际飞行
  • +
  • SUPERTRANSIT 国际飞跃飞行
  • +
  • DOMISTIC 情报区内飞行
  • +
  • SUBDOMISTIC 国内飞行
  • +
  • SUPERDOMISTIC 地区飞行
  • +
  • MILITARY 军方飞行
  • +
  • VFR 目视飞行
  • +
+
+

不过在我们的系统上,范围顺序为:DOMISTIC、MILITARY、SUBDOMISTIC、SUPERDOMISTIC、SUPERTRANSIT、TRANSIT、VFR。

+
+

在主用状态下,飞行计划处理模块将根据二次代码组的启用状态自动分配二次代码,系统为备份系统时不能自动分配该代码段。

+
+

扇区分配设置 SECT

点击后打开 CONFIGURATION 窗口:

+sect + +
+

管制席可以分配一个或多个扇区,一个扇区只能有一个管制席位管制。
助理管制席可以和一个或多个管制席配对,一个管制席只能有一个助理管制席位与之配对。
席位名称为灰色时表示该席位 SDD 软件不正常或不在 FREE 模式和 OPS 模式。

+
+

上面的按钮第一行是物理席位 POS;而第二行是逻辑席位,在实际系统中为 BYA 和 BYC;下面的区域显示了分配给各个席位的管制扇区。下面的「配对席位显示区」就没有显示了,可能是因为没有登录账户的缘故。

+

修正海压 QNH

+

系统提供对 QNH 修正值的管理。设置的 QNH 值在雷达处理航迹时修正航迹的高度。系统可自动接收 AFTN 电报及 QNH 传感器输出的 QNH 数据,在雷达管制席位上自动更新。

+
+QNH + +

自动移交 AHO

窗口全称应该为:AUTO HEADOVER STATIS,我们的系统上都是 OFF。

+AHO + +

限制区域 RMAP

我们的系统中的按钮是灰色的,所以看不了,不过知道就好。

+RMAP + +

单位 UNIT

点击按钮打开 LOGICAL POSITION UNIT STATUS 窗口,在这里可以为每个逻辑席位设置四种不同的单位形式,公制单位包括公制和公制混合,英制单位包括英制和英制混合。单位混合表示席位单位以主单位为主,航迹标牌可以单独切换单位。

+UNIT + +

容量 CAP

点击按钮后弹出 FLOW CAP 窗口,可在此设置机场的容量,我们系统设置的值是 66:

+CAP + +

当机场的容量超限时,会弹出提示窗口 CAP WARN MSG:

+UNCAP_warningIT + +

炮射点 SHOOT

我们的系统中并未设置。

+
+

在主任席可进行炮射点的添加、修改、删除和激活操作,并可导出炮射点数据,炮射点数据包括:ID、中心点经纬度、作用半径、使用设备、地理信息以及备注。抛射点激活时,在 SDW 中以红色星星显示,如下图所示:

+
+SHOOT + +

进离场程序 SIDSTAR

根据参考资料 [4] 和 [5],这是这是 标准立场程序 SID 和标准进场程序 STAR 的设置:

+
+

进离场航线设置窗口,可设置进、离场单独显示,且只显示当前激活跑道对应的进离场设置,可设置启用或关闭进离场航线上对应点,也可按照条件进行过滤显示,过滤条件包含:进场/离场、机场、点。

+
+

我们的系统都 OFF 掉了。

+SIDSTAR + +

军事活动区 MIL

我们系统中的按钮是灰色的。

+
+

在主任席可进行军事活动区激活设置,当前时刻处于某一激活时间段内时军事活动区将在背景地图上以填充图形显示,否则军事活动区不显示。

+
+MLT + +

跑道 RWY

点击按钮后打开 RUNWAY IN USE 窗口:

+
+

机场跑道设置窗口是用来设置机场缺省的起飞降落跑道。可以发布使用跑道当前的状态信息。其中,跑道状态有起飞,降落,起降,关闭四种,Local 为本机跑道状态信息,Global 为全局跑道状态信息。

+
+

我们系统未使用。

+

RWY

+

二次代码告警抑制 SSR INHIB

我们系统的这个按钮是灰色的。

+
+

在主任管制权限下,可对指定的二次代码进行告警屏蔽,可屏蔽的告警包括:短期冲突告警、低高度告警、(临时)危险区侵入告警、偏离飞行指令高度告警、进近下滑道监视告警、五边侵入告警。

+
+SSR_INHIB + +

席位告警状态 PSS

这里可以查看莱斯系统逻辑组各个席位的告警状态,在系统备用的情况下,除了 RA 告警被 OFF 掉,其余告警均设为 VIS。

+
    +
  • ON:声音+标牌闪烁
  • +
  • VIS:标牌闪烁 VISUAL
  • +
  • OFF:不提示
  • +
+

这里写错了,中期冲突告警就是 MTCD,正如我们系统中显示的那样,而不是图中 PSS 窗口的 MTCA(注意:短期冲突告警是 STCA,不要把缩写搞混了)。

+PSS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
告警缩写告警名称
STCA短期冲突告警
MSAW最低高度告警
DAIW危险区域告警
RAM偏航告警
CLAM高度偏离告警
NTZ非侵入区告警/五边侵入告警
MTCD中期冲突告警
COS目标丢失告警
APM下滑道监视告警
DCW起飞冲突告警
ADSBADS-B 告警提示
RVSMRVSM 告警提示
WFSCA尾流间隔告警
RA目标碰撞告警
DUPE重码告警
IC相关不一致告警
RIW错误跑道告警
+

签到情况 SIGN

+

用户签到只在管制席可用,主任席无用户签到框。用户签到信息窗口,每台席位的用户签到和退出信息显示在签到信息列表中。

+
+SIGN + +

切换 SWITCH

+

系统提供 AIDC 移交开关功能、进程单自动打印功能、协调状态提示显示开关、主飞行数据处理机开关以及主监视数据处理机开关。

+
+

其中:DCL 是 数字放行,ADS-B/S 可能是适用 S mode 的 ADS-B。而在我们的系统中,Print Strip 按钮变成了 SSR ALLOC。

+

SWICTH

+

主备切换 SPARE

目前莱斯是备用系统,不过可能是因为没有登录用户的缘故,所以按钮是灰色的。

+
+

在主任席位可进行主备系统切换的开关设置。

+

当作为备份系统时,默认所有扇区的自动移交出和自动移交入开关均为开,系统只进行收报不发报,所有类型告警在席位的显示状态均为「VISUAL」。而当系统切换为主用系统时默认所有扇区的自动移交开关为关,系统可自动发报,所有告警类型的席位提示方式为「ON」。而当系统切换为主备中间状态「STAND」后,系统不向外发送飞行计划同步信息,同时也不接收外系统送过来的飞行计划同步信息;

+
+SPARE + +

第二/局部 窗口 Second

点击后可打开一个可调节其大小的小窗口,其内同样可对航迹进行管制操作,包括移交、弹出飞行计划窗口等。

+second + +

飞行计划 FPL

这是非常重要的一部份,在此可了解航班的状态。

+
+

飞行计划窗口分为两大类显示区域:功能按钮区数据显示区。用户可以通过功能区创建、修改和删除飞行计划等,在数据显示区可以显示飞行计划的详细内容:

+
+

FPL1

+

FPL2

+

飞行计划数据栏目

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
栏目描述格式/个字符
计划状态 STATUSINHB: 抑制
NACT: 静止
PREA: 预激活
COOR: 协调
CONT: 激活
HND: 移交
FIN: 结束
FUR: 未来
INHI: 抑制
SUPS: 悬挂
UCTL: 未管制
4
CSEC责任扇区或下一个扇区5
PSSR以前用的二次代码(模式和 SSR)5
ASSR分配的二次代码(模式和 SSR)5
OPDATA标牌上的自由文本(管制自填)10
ATD实际起飞时间4
ACID航班号8
FRUL飞行规则1
FTYP飞行类型1
TYP -N机型架数2
TYP -AC-TYP机型4
TYP -WTUR尾流1
ATOWActual Take-off Weight
EQUIP设备8
ADEP起飞机场4
EOBTEstimated Off-Block Time
ETD预计起飞时间4
TAS真空速(巡航速度)5
RFL请求飞行高度(巡航高度)5
RTE航线(ICAO 15),点击后可以显示全程航路报告点的名称、时间和高度1023
ADES目的机场4
EET飞行总时间4
ALTN备降机场9
REGN
DCDC SFRA
OTHERICAO 18 去除 REG250
Update Time计划更新时间 形如:HH:MM:SS8
Obsolete Status如果显示的计划不是最新的,显示 Not Current
+

飞行计划功能按钮

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NEXT 后的第一排具体内容
NEXT显示相同航班号的下一条飞行计划
CRE创建飞行计划
RPL重复性飞行计划显示
EST人工协调
DEP人工起飞
ACC移交接收或强制接收
JTRF对航班进行强制授权扇区功能
MCOU人工航迹相关
INHI抑制状态功能
TRSATC 电报发送
P/CFL预计剖面飞行高度/指令飞行高度
FMF飞行信息功能
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PREV 后的第二排具体内容
PREV显示相同航班号的上一条飞行计划
CRTE航路创建
STE模板库中计划显示
BACK飞行计划取消协调
CDEP取消起飞
HND移交
HNDI修改航班移交模式
DCOU人工取消雷达相关
CNL飞行计划取消
AURAirspace Usage Requirements
PRL飞行员报告高度
HSTR飞行计划历史信息
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
计划次序 后的第三排具体内容
MOD飞行计划修改
PAST过去计划库中计划显示
INAT计划变为静止功能
TMA终端区信息
EXIT退出条件
HOLD等待功能
ATA实际落地时间
SUP添加补充信息
//
TAS真空速
//
+

点击功能按钮后会出现的特殊内容如下:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
栏目描述格式/个字符
GATE停机位4
ARWY到达跑道3
DRWY起飞跑道3
SID标准起飞航线5
STAR标准到达航线5
CFL指令飞行高度5
PCFL预计剖面计算高度5
BPN入界协调点,对于本管制区起飞的飞行计划为空白11
ETN预计起飞时间,预计或实际飞越 BPN 的时间,对于本管制区起飞的飞行计划等于 ETD4
BPX出界协调点,对于进港飞行计划,BPX 为空白11
ETX预计或实际飞越 BPX 的时间4
XFL出界协调点飞行高度4
PRL飞行员报告高度5
FMF飞行情报50
SUP补充信息100
+

菜单栏选项

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
菜单栏具体内容
CLEAR清除功能
FPCP
Trial
Add/Del
PRINT STRIP打印进程单
PRINT FDR
Enter确认执行当前的操作
Escape取消当前功能
+

电子进程单 SSTP A

+

电子进程单设置窗口允许管制员选择某种类型的电子进程单列表进行显示。

+
+

详细信息请参考资料《NUMEN3000 自动化系统 V3.5 版本 - 管制员席操作手册》。

+

SSTPA

+

SSTPA_format

+

丢失航迹列表 Lost

+

当本席位管制的与飞行计划相关的航空器出现丢失监视目标从而导致与飞行计划自动去相关时,相关的航班信息会出现在目标丢失列表内,每个列表项显示丢失航班的航班号和对于的应答机编码,若目标再次出现并且与飞行计划相关上,相关的丢失信息将自动从列表中消失。出现在列表内的丢失目标信息在系统下线设置 VSP 时间后自动从列表内删除。

+
+

Lost

+

雷达简标牌列表 Tag List

+

在具备管制权限的席位创建了雷达简标牌后相关的雷达简标牌信息会显示 在简标牌列表内,如下图所示:

+

在列表内显示雷达简标牌的航班号、二次代码、飞行指令高度和自由文本信息。鼠标左键点击列表信息的航班号字段可打开雷达简标牌编辑窗口;鼠标中键点击航班号可删除雷达简标牌。

+
+

Tag_List

+

雷达简标牌删除 Del Tag

这里可以删除雷达简标牌。

+

人工挂标牌 Rad Tag

这里可以对未相关航迹人工挂标牌。

+

下行数据参数 DAP

根据这个名字,我猜这个简写的英文应该是 Downlink Aircraft Parameters,航空器数据下行参数。

+
+

DAP 窗口中的数据项内容可通过数据库离线配置,打开下行数据显示窗口后,窗口中的内容会随着雷达所送过来的数据不断地进行更新。

+
+DAP + +

航班排序管理 TFC MGT

我猜英文的简写可能是 Traffic Management,交通管理。

+TFCMGT + +
+

航班排序管理窗口可以根据选择的定义点显示电子进程单,并且查询出的电子进程单显示在窗口的自动排序区,自动排序区按照过点时间从大到小进行排序,窗口中间有一条隔离条,下方是人工排序区,可以将自动区的一条或多条进程单移到人工区,在人工区可以人工排序。

+

对于在该窗口中选择的本场机场起降和相应跑道的条件,在各个席位同条件的窗口中人工区的单子是同步顺序的,也就是说一个席位调整了人工区的顺序, 其他席位同步调整。

+

该窗口中对于本场起飞的航班可以修改全局信息。

+
+

仪表着陆系统 ILS

在这里可以监视航班在进近下滑道道状态:

+
+

在管制席位提供仪表着落系统功能,在 ILS 窗口中提供航空器在降落阶段相对于指定跑道的剖面图和俯视图。

+
+ILS + + +

动态文本 TXA

这个缩写应该是 Text Entry,文本输入。通过这个按钮,我们可以在态势界面的任何地方留下提示文字。

+
+

CLW 窗口中设有 TXA 按钮,点击 TXA 按钮,在 SDW 窗口中鼠标左键点击一处,弹出文本输入框可进行输入。在 Setup 窗口可设置两种文本字体。

+
+TXA + +

测距 BRL-L/BRL CLEAR

通过这个按钮,可以对两个目标进行测距操作,测量标牌的显示内容分别为:

+
    +
  • 直线距离
  • +
  • 方位差
  • +
  • 高度差
  • +
+
+

可实现两航迹间相对位置测量,航迹与固定点间相对位置测量,两固定点位置间相对位置测量,在终点处显示测量标牌,每种测量标牌显示内容不一样,显示单位与席位当前显示单位制式一致。鼠标左键点击测量标牌,可再次调节测量的终点;鼠标右键可调整测量标牌的位置;鼠标中键点击测量标牌,可删除 BRL 测量线。

+
+BRL + +

ETO 告警方式设置 WAYP ON/OFF/VIS

ETO 是 预计结束时间 Estimated Time Over 的缩写,而按钮上的缩写 WAYP 推测是 Waypoint 航路点的缩写,指预计经过航路点的时间告警显示方式设置。

+
+

ETO 在席位的告警方式共有三种设置:ON、VISUAL 和 OFF;当选择“ON”时,有 ETO 告警的航迹将出现告警字段闪烁显示并且发出告警提示音;当选择“VISUAL”时,告警航迹仅显示告警闪烁;当选择“OFF”时不显示 ETO 告警。

+

该设置对席位中所有出现 ETO 告警的航迹有效。

+
+

数字放行列表 DCL LIST

+

系统对预激活或协调的飞行计划收到 RCD 报文,点击塔台席“DCL LIST”按钮,弹出“DCL LIST”界面。

+

窗口中“Sort ACID”和“Sort ETD”按钮为排序按钮,“Sort ACID”按钮点击后可以按照航班号字母顺序从小到大进行排序,“Sort ETD”按钮点击后可以按照 ETD 时间从小到大进行排序。窗口中显示的内容为 DCL 状态、航班号、预计起飞时间、状态、目的机场、停机位、跑道、离场程序、巡航高度。

+
+

其中 ETD 代表 预计到达时间 Estimated Time of Departure。

+DCL + +

跑道预测 RUNWAY QUERY

+

系统可以根据输入的机场名称预测当前时间至 2 小时之后时间段的跑道流量架次 。蓝色柱状体表示起飞架次,棕色柱状体表示落地架次,黄色部分表示超过告警值的架次。

+
+RUNWAYQUERY + +

屏幕配置保存 SAVE LOAD

SAVELOAD + +
+

屏幕配置是管制席位显示界面在某一时刻的显示布局情况,这些情况包括:地图显示中心、显示范围、系统地图显示调用、距离环、航迹速度矢量线、航迹历史点选择、航迹标牌字体大小以及过滤条件设置。

+

在管制席位提供本席位当前屏幕配置的存储功能,在席位重启后,可进行人工加载。

+
+

登录 LogIn

login + +

在 CLW 的最右侧按钮是主任席的登录按钮,莱斯手册中所说的在 Info 窗口中打开 LogIn 窗口是错的

+

输入用户名和密码登录以后,LogIn 按钮会变为 LogOut 按钮。

+

管制-机师数据链 CPDLC

CPDLC

+

略缩词列表

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
略缩词英文对应
通用信息窗口 GIWGeneral Information Window
态势显示窗口 SDWSituational Display Window
命令行窗口 CLWCommand Line Window
回放控制 RepCtrlReplay Control
塔台监控席逻辑席位 TWSMPLGPTower System Monitor Position - Logical Position
速度矢量线 VELVelocity Vector
短航路探针 SRPShort Range Probe
尾迹点设置 HISTHistorical Trail
空管编码 ACIDAircraft Identification
上升下降率显示设置 DIRDescent or Increase Rate
飞行计划航迹显示过滤 FPASDFlight Plan Air Situation Display
非管制航迹的标识符 NJUR SymbolNon-Jurisdiction Route
二次代码 SSR codeSecondary Surveillance Radar code
修正海平面气压高度 QNHA Q(uestion) code, to concisely ask for
atmospheric pressure at mean sea level (MSL)
限制区域 RMAPRestricted Map
容量 CAPCapacity
容量超限警告 CAP WARN MSGCapacity Warning Message
标准离场程序 SIDStandard Instrument Departure Routes
标准进场程序 STARStandard Arrival Routes
二次代码告警抑制 SSR INHIBSSR Inhibit
缩小垂直最小间隔 RVSMReduced Vertical Separation Minimum
短期冲突告警 STCAShort Term Conflict Alert
最低高度告警 MSAWMinimum Safe Altitude Warning
危险区域告警 DAIWDanger area infringement warning
偏航告警 RAMRoute adherence monitoring
高度偏离告警 CLAMCleared level adherence monitoring
非侵入区告警/五边侵入告警 NTZNo Transgression Zone
中期冲突告警 MTCDMedium Term Conflict Detection
目标丢失告警 COS[Confliction of Separation/Continued Operational Safety]
下滑道监视告警 APMApproach Path Monitor
起飞冲突告警 DCWDeparture Conflict Warning
ADS-B 告警提示 ADSB[Automatic Dependent Surveillance-Broadcast]
RVSM 告警提示 RVSM[Reduced Vertical Separation Minimum]
尾流间隔告警 WFSCA[Wake Final Separation Conflict Alert]
目标碰撞告警 RATCAS RA
Traffic Collision Avoidance System Resolution Advisory
重码告警 DUPEDuplicate (A duplicated SSR code)
相关不一致告警 ICInconsistent Correlation
错误跑道告警 RIW[Runway Incursion Warning]
数字放行 DCLDeparture Clearance
预计离港时间 ETDEstimated Time of Departure
预计到达时间 ETAEstimated Time of Arrival
实际离港时间 ATDActual Time of Departure
实际到达时间 ATAActual Time of Arrival
空域使用请求 AURAirspace Usage Requirements
实际起飞重量 ATOWActual Take-off Weight
可变系统参数 VSPVariable System Parameter
航空器下行参数 DAPDownlink Aircraft Parameters
飞行数据记录 FDRlight Data Recorder
仪表着陆系统 ILSInstrument Landing System
预计结束时间 ETOEstimated Time Over
预计着陆时间 ELDTEstimated Landing Time
到达管理 AMANArrival Manager
离港管理 DMANDeparture Manager
管制员-飞行员数据链通信 CPDLCController-Pilot Data Link Communications
+

参考资料

    +
  1. 《1.1 新终端欧洲猫自动化 V10 系统(塔台)应知应会》

    +
  2. +
  3. 《1.2 新终端莱斯自动化 V3.5 系统(塔台)维护规程》

    +
  4. +
  5. 《NUMEN3000 自动化系统 V3.5 版本 - 管制员席操作手册》

    +
  6. +
  7. 国际民航组织有关 SID/STAR 标准用语的修订中国民用航空局 CAAC,2012-06-06
    https://www.caac.gov.cn/big5/www.caac.gov.cn/XWZX/GJZX/201312/t20131204_16047.html

    +
  8. +
  9. SID/STAR HomeICAO
    https://www.icao.int/airnavigation/sidstar/Pages/default.aspx

    +
  10. +
  11. SIDs and STARsSKYbrary
    https://skybrary.aero/articles/sids-and-stars

    +
  12. +
  13. Traffic Alert and Collision Avoidance System (TCAS),**National Business Aviation Association (NBAA)
    https://nbaa.org/aircraft-operations/communications-navigation-surveillance-cns/tcas/

    +
  14. +
  15. *What are the differences among ETO, ETA, and ELDT?*,StackExchange,Aviation
    https://aviation.stackexchange.com/questions/91912/what-are-the-differences-among-eto-eta-and-eldt

    +
  16. +
  17. Controller–pilot data link communicationsWikipedia
    https://en.wikipedia.org/wiki/Controller%E2%80%93pilot_data_link_communications

    +
  18. +
  19. 聊聊空管自动化系统的各种告警功能VATSIM 中国分部论坛,1681250 Jiaqing Jiang,2022-11
    https://community.vatprc.net/t/topic/7430

    +
  20. +
+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2024/05/16/something-ihv-seen-in-2024/index.html b/2024/05/16/something-ihv-seen-in-2024/index.html new file mode 100644 index 000000000..76851b74f --- /dev/null +++ b/2024/05/16/something-ihv-seen-in-2024/index.html @@ -0,0 +1,374 @@ +信使 2024|2024 看过的读物及媒体 | 叶子的花园 + + + + + + + + + + + + + + + + +

信使 2024|2024 看过的读物及媒体

cover + +

我之前在周记里,尝试过在「信使」栏目中在那一周我看过的、认为值得记述的各种读物和影视。我这段时间又看了好多东西,我希望能将它们与我当时的感想存档下来,供日后回忆。

+ + +

2024-06 及之前的日子

读物

+

影音

+

新闻报道

+

链接

+tiananmen + +

Tian an men Square: On this site, in 1989, nothing happened.

+ +

2024-07

读物

    +
  • 【书籍】1453:君士坦丁堡之战[英] 罗杰・克劳利,2014,社会科学文献出版社;
    第十三章。
    君士坦丁堡,「世界渴望之城」,会在这一章陷落吗?
  • +
  • 【书籍】《李光耀:论中国与世界》李光耀,2013,中信出版社;
    第一章。
    这是我在疫情期间看过的一本书,现在打算重温一下。虽然里面有许多观点早已过时,不过还是有许多地方值得回顾的。
  • +
  • 【调查】不利起点带来的长期阴影国际货币基金组织,备份 于此
    这时 2020 年末的一篇调查,大多数人在疫情一年后都过得不好,特别是刚毕业的学生们。我是在 2019 年毕业的,不过正打算出国留学,不知道在那时全球的经济会怎么样,会好些吗?我想,可能永远都好不了了。
    +

    重要的是,要让年轻劳动者知道其将长期面临的负面影响及其原因,让他们知道这并不是因为他们缺乏技能或者个人失败而导致的,借此激励从事低效率工作的劳动者继续寻找机会,使之随着经济复苏而找到更好的工作

    +
    +
  • +
  • 【书籍】113 翰林高中教材网翰林出版事業股份有限公司
    今天看到网友贴出了台湾的课本网络下载之方便,就去看了一下,下载了三本公民课本,我觉得很需要学习一下(
  • +
  • 【漫画】我的魔女 / 나의 마녀BOMTOON,해윤&MAS,2016—2022;
    这是我近几年来看到的最好的言情漫画了,有 HE,有 BE,有遗憾,有圆满,两位作者扎实的功底让所有的情感都跃然纸上。看到了一个台湾论坛对本漫画的介绍,也非常推荐大家去看看!
    另外,本作标题有汉化组译为《魔女的小跟班》,这是根据第一部的故事情节意译而来,翻犯了与《生化危机》被翻译为《恶灵古堡》、《远哭》被翻译为《孤岛惊魂》和《最后的生还者》被翻译为《美国末日》等,都是根据第一部的内容意义,而与系列后续作品不对应了。(不过,我还挺喜欢《魔女的小跟班》这个译名的)
    +

    而劇情中每一段感情都一定會出現標題名,也就是「我的魔女」,不過我印象最深的只有在米卡爾臨終前說的那一句…「因為柯迪莉亞是我的妻子,所以就是… 我的魔女囉。」
    这也是直译书名以后的一种点题吧。

    +
    +
  • +
+

影音

    +
  • 【视频】Why Living In Australia Is ImpossibleYouTube2 and 20
    因为我近日在考虑到底选择 澳大利亚 🇦🇺 还是 新西兰 🇳🇿,澳洲本来就是世界边缘,我们都了解不多,所以我希望能尽可能地了解这两个地方。这个视频讲了澳大利亚的许多问题,比如政府效率低下、房价飙涨、研究投资不足等,我会更全面地判断的。
  • +
  • 【播客】晚点聊 LateTalk:走访锈带:美国大选的反直觉认知与不被看见的人 | 串台硅谷 101,**晚点聊 LateTalk**;
    这期播客做得真的好好!锈带,大家都知道的一个被去工业化的地区,许多人都谈论着它,不过有几个人会亲自去看看呢?
  • +
  • 【视频】曾讓百人喪命的撞火槍托 在美國竟又合法?【燒火棍子】YouTube王五咕咕棍
    之前听说美国 🇺🇸 最高法院推翻了之前的裁定,使「撞火枪托」合法化的时候,还想着是不是特朗普时期提名的那三个保守派法官又在犯蠢。这个视频让我了解到:法官们推翻裁定并不是因为支持撞火枪托,而是他们认为 美國菸酒槍炮及爆裂物管理局 ATF 将撞火枪托解释为机枪的行为越权了 —— ATF 是执法机构,并不能修改法律,那是立法机构国会的领域。根据三权分立,最高法院必须推翻这个裁定,由国会来推动禁止撞火枪托的法案。
  • +
+

新闻报道

    +
  • 【分析】拆解上汽、吉利和比亚迪的欧盟税率晚点 Late Post,备份 于此
    欧盟 🇪🇺 之前担心受到中国 🇨🇳 国家补贴的电动车倾销,于是对上汽和比亚迪等代表纯电车企征收了最高达 37.6% 的税,这篇文章为我们提供了对其中数字的分析。不过,根据纽约时报这篇报道,中国本身就对进口汽车征收 15% 的基本关税,而欧洲的基本关税是 10%,美国的是 2.5%。现在中国也在考虑对欧洲和北美的进口汽车征收 40% 的报复性关税。
  • +
  • 【访谈】中国富人理财的六个陷阱晚点 Late Post,备份 于此
    这时一个对资本市场投资人和基金经理的一篇访谈,为我们提供了对现在这个复杂的全球金融市场的解读。不过,我想他们可能忘记声明「不构成理财建议」了。
  • +
  • 【采访】对话罐车从业者:行业不景气司机内卷,普罐车还会运危险品网易新闻,备份 于此;
    近日,油罐车混装煤油与食用油的事件在中国 🇨🇳 闹得沸沸扬扬,中储粮的公告中并没有道歉与追责,反而是打算自罚三杯就此躲过。网易新闻对此做了一个采访,不出意外的被 404 了……
  • +
  • 【分析】以色列如何每月控制 1.88 亿美元的巴勒斯坦资金半岛电视台中文频道,备份 于此
    前几天朋友提到,我才知道原来巴勒斯坦 🇵🇸 的税收一直在以色列 🇮🇱 的控制之下。找到了一份半岛电视台近日的报道,并了解到这段历史是如何发生。如此,岂不是巴勒斯坦一直都没有完整的主权吗?
  • +
+

链接

    +
  • 【公告】关于:BTBTT 站全面崩溃,无法修复的公告,**BT 之家 1LOU 站*;
    *我以前一直都在 BT 之家下载各种影片,但前段时间突然登陆不上去了。现在这个网站**声称
    它是前者的传承,还是由原来的团队负责,不过由于里面大量充斥着某网盘的资源,他们之间应该是由合作关系?我暂时还是观望一下吧。
  • +
  • 【文章】无题-偶尔还是能听到轮船的汽笛声X 岛,备份 于此
    这是一个匿名网站上的一篇随笔,写得好有意境啊,便摘了下来。真的,好美。
  • +
  • 【文章】从条形码到二维码,沃尔玛和微信如何重塑商业运作的基础设施丨晚点周末晚点 Late Post,备份 于此
    晚点本来是个财经媒体,现在开始涉足科技领域啦?这篇文章写得蛮不错的,蛮有历史中的人情味,不像传统科技那样冷冰冰。
  • +
  • 【文章】*Should you get a PhD?*,MediumJason Polak,备份 于此
    作者曾经在读数学的 PHD,现在他成为了一位野生动物摄影师。读博经历对他有用,他说,影响着他每一天的思维方式。不过,除非你读 PHD 的目的是为了兴趣,丰富自己的人生,否则并不应该去浪费好几年的生命。
  • +
  • 【倡议】Anti-AI CoalitionQuestioning Global Capitalism and Technology,Dr. Jason Polak,备份 于此
    在阅读上面那篇文章的时候,看到下方有一个「100% AI FREE」的图标,感兴趣点了进去,就看到了反对 AI 联盟的核心宗旨:
      +
    • 我不会使用 AI 生成的内容,例如文本、脚本、图像和视频;
    • +
    • 我不会阅读或支持 AI 生成的内容;
    • +
    • 我将通过选择那些不使用 AI 的产品,以支持反对 AI 联盟中的其他人。
      感觉很有意思,我考虑了一会儿要不要加入,不过一想到我还要写党团的文章,已经离不开 AI 啦……
    • +
    +
  • +
  • 【帖文】这个家伙douglas wang,备份 于此于此
    一个阿里员工离职以后,写的一篇回顾的帖文,蛮有文采,感觉还是值得一看的。
  • +
  • 【帖文】I guess it’s time for an updategloria.socialSilvio Rizzi,备份 于此
    我一直用着的 RSS 阅读器软件 Reeder 的作者正在开发一个新的软件,他说这并不会取代现在的软件,因为那并不只是一个 RSS Reader,它还能订阅 YouTube 这样的平台,其实现在的 Reeder 作者也加上了这功能喔(
  • +
  • 【帖文】新西兰的生活随笔一亩三分地,fuxian1990,备份 于此
    我想要知道在异国他乡应该如何生活。
  • +
  • 【博客】(BI4LBK) HP 4192A 阻抗分析仪拆解 / 维修EE Archeology 电子考古学,BI4LBK,备份 于此
    这个博客来自一个实验室的朋友分享,里面有好多旧时代的模拟硬件的分析与拆解,那些复杂电路 —— 至少看起来 —— 与现在这些冷冰冰、方方正正、毫无情趣的芯片比起来,性感多了。
  • +
  • 【博客】iOS 14, Big Sur and DNS over HTTPSPaul Miller,备份 于此
    参考这篇文章,使用了 DoH。虽然作者提供了未签名的配置文件,不过由于他开源了,并且我检查了一下其内容,没有发现异常,所以决定暂时使用这个配置文件。其源代码如下:
    <?xml version="1.0" encoding="UTF-8"?>
    +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    +<plist version="1.0">
    +<dict>
    +	<key>PayloadContent</key>
    +	<array>
    +		<dict>
    +			<key>DNSSettings</key>
    +			<dict>
    +				<key>DNSProtocol</key>
    +				<string>HTTPS</string>
    +				<key>ServerAddresses</key>
    +				<array>
    +					<string>2606:4700:4700::1111</string>
    +					<string>2606:4700:4700::1001</string>
    +					<string>1.1.1.1</string>
    +					<string>1.0.0.1</string>
    +				</array>
    +				<key>ServerURL</key>
    +				<string>https://cloudflare-dns.com/dns-query</string>
    +			</dict>
    +			<key>PayloadDescription</key>
    +			<string>Configures device to use Cloudflare Encrypted DNS over HTTPS</string>
    +			<key>PayloadDisplayName</key>
    +			<string>Cloudflare DNS over HTTPS</string>
    +			<key>PayloadIdentifier</key>
    +			<string>com.apple.dnsSettings.managed.9d6e5fdf-e404-4f34-ae94-27ed2f636ac4</string>
    +			<key>PayloadType</key>
    +			<string>com.apple.dnsSettings.managed</string>
    +			<key>PayloadUUID</key>
    +			<string>35d5c8a0-afa6-4b36-a9fe-099a997b44ad</string>
    +			<key>PayloadVersion</key>
    +			<integer>1</integer>
    +			<key>ProhibitDisablement</key>
    +			<false/>
    +		</dict>
    +	</array>
    +	<key>PayloadDescription</key>
    +	<string>Adds the Cloudflare DNS to Big Sur and iOS 14 based systems</string>
    +	<key>PayloadDisplayName</key>
    +	<string>Cloudflare DNS over HTTPS</string>
    +	<key>PayloadIdentifier</key>
    +	<string>com.paulmillr.apple-dns</string>
    +	<key>PayloadRemovalDisallowed</key>
    +	<false/>
    +	<key>PayloadType</key>
    +	<string>Configuration</string>
    +	<key>PayloadUUID</key>
    +	<string>A4475135-633A-4F15-A79B-BE15093DC97A</string>
    +	<key>PayloadVersion</key>
    +	<integer>1</integer>
    +</dict>
    +</plist>
  • +
+

2024-08

读物

    +
  • 【书籍】翰林高中公民乙版公民第一冊廖翠雰等,2023,翰林出版事業股份有限公司;
    第一章共三节、第二章共三节。
    蛮有条理的,与国际接轨也不错,总比毛概和什么「习近平新时代中国特色社会主义」好吧……
  • +
  • 【书籍】巴别塔匡灵秀,2023,中信出版集团,豆瓣链接
    第二卷,章节五至六。
  • +
+

影音

    +
  • 【视频】40 分钟入门英国爵位史:万字精华重制版Bilibili,星白 Knut;
    关注这个 UP 蛮久了,他一直自称为「忠义两全时空顾问」,很好的科普了中世纪的历史,讲述也非常有代入感。此次他的这个长达四十分钟的视频,使我醍醐灌顶,更好地了解了西方的爵位。
  • +
  • 【视频】【战地・马奇诺防线】是摆设吗?我在地下 40 米深度解读Bilibili,新雨_Paul;
    许多人都被告诉说:「马其诺防线斥资巨大却一无所是」,但这一切真的只有这么简单吗?这位做二战科普的 UP 主实地参观了一处地下碉堡旧址,通过他的讲解,我知道了其实马其诺防线建立之初的本意便是促使德军绕过它,这样德国将不得不借道低地国家比荷卢,通过这样的方式将大英帝国拖入战争。并且,由于一战发生在法国北部,近乎将那些地方炸成月球表面,所以法国希望将战争阻挡在国境之外。
  • +
+

新闻报道

    +
  • 【文章】How Chinese Students Experience AmericaThe New YorkerPeter Hessler,备份 于此
    今年早些时候看过何伟的这篇文章,今天又看到有人在推荐,于是便记在这里吧。原文英文发表于杂志《纽约客》,不过看到有人做了 中英双语,虽然像是机器翻译的,不过也一起贴在这里吧。
    +

    In “River Town,” a book that I wrote about teaching in Fuling, I described my realization that the kind of young people I once imagined would become dissidents were in fact the most likely to be co-opted by the system: “The ones who were charismatic, intelligent, farsighted, and brave—those were the ones who had been recruited long ago as Party Members.”

    +
    +
  • +
+

链接

    +
  • 【帖文】知乎问题:内存泄露就让他漏,可行吗?的回答知乎Anlin。知乎好像不允许爬取了,所以未能备份;
    看到答主贴出的注释截图很有意思,就想手动抄写在这里:
    From: k...@rational.com (Kent Mitchell)
    +Subject: Re: Does memory leak?
    +Date: 1995/03/31
    +
    +Norman H. Cohen (nco...@watson.ibm.com) wrote:
    +: The only programs I know of with deliberate meeory leaks are those whose
    +: executions are short enough, and whose target machines have enough
    +: virtual memory space, that running out of memory is not a concern.
    +: (This class of programs includes many student programming exercises and
    +: some simple applets and utilities; it includes few if any embedded or
    +: safety-critical programs.)
    +
    +This sparked an interesting memory for me. I was once working with a
    +customer who was producing on-board software for a missile. In my analysis
    +of the code, I pointed out that they had a number of problems with storage
    +leaks. Imagine my surprise when the customers chief software engineer said
    +"Of course it leaks". He went on to point out that they had calculated the
    +amout of memory the application would leak in the total possible flight time
    +for the missile and then doubled that number. They added this much
    +additional memory to the hardware to "support" the leaks. Since the missile
    +will explode when it hits its target or at the end of its flight, the
    +ultimate in garbage collection is performed without programmer intervention.
    +
    +--
    +Kent Mitchell										|	One possible reason that things aren't
    +Technical Consultant						|	going according to plan is .....
    +Rational Software Corporation		|	that there never *was* a plan!
  • +
+

2024-09

这个月看了好多,可是都没有记下来……

+

读物

+

链接

    +
  • 【博客】COPYING is the way design worksMatthew Ström,备份 于此
    +

    I’ve only been able to have a career in design because I copied.

    +
    + 这是一位设计师的博客文章,很有意思,他讲述了「抄袭」是如何影响设计业的。
    +

    Instead of prohibiting the copying or distribution of the software, a free software license guarantees the right of people to use, modify, distribute, and learn from its code.

    +
    + 包括自由软件的传播,与其之于专利的颠覆,因为「复制 COPY」是设计的基础。
  • +
+

2024-10

读物

+

影音

    +
  • 【剧集】希尔达 Hilda S03(2024);
    我们跟着蓝发女孩的冒险,终于要画上句号了,好不舍。
  • +
+

新闻报道

    +
  • 【文章】請問端傳媒是一家什麼類型的媒體?端传媒,备份 于此
    一直在关注这个媒体的新闻报道,感觉他们写的新闻与评论都非常有水平,在这个页面也可以看到他们的代表作,下面也会列举数篇我最近看过的专题报道。联想到中国大陆的调查记者基本上都灭绝了的现状,不由得感叹简体中文新闻媒体的式微……
    由于服務條款,我无法将原文分享给大家。另由于付费墙的限制,我也无法将原文备份到互联网档案馆中。
  • +
  • 【专题报道】《中國煙癮系列》,端传媒 +
  • +
  • 【文章】潤出中國又回流的人端传媒
    +

    「看不見、摸不着的自由和民主有那麼重要嗎?我的經歷告訴我,沒有。」
    疫情以后,多了许多合法/非法出境的中国 🇨🇳 移民,他们有的是为了追求自由民主,有的是为了更好的生计。说到底,他们心里都怀有对异国他乡的希望。可是,现在经济危机在暗流下涌动、全球各地出现数个战争热点地区的世界上,真的能找到更好的生活吗?我不知道,我不确定。对我来说,中国还没有坏到让人愿意舍弃一切出走的地步,这也是我还仍然留在这里的原因。

    +
    +
  • +
  • 【社论】以色列为何升级黎巴嫩战事? 伊朗会如何反应? 中东距全面战争多远?端传媒
    一直以为以色列 🇮🇱 在被哈马斯袭击以后,其不断无视国际调停、执意升级局势的做法只是以牙还牙,要将敌人打痛。看完这篇社论,我才知道原来这场战争也是其内部政治的延续…… 果然应证了普鲁士将军、《战争论》作者卡尔・冯・克劳塞维茨的那句话:
    +

    Der Krieg ist eine bloße Fortsetzung der Politik mit anderen Mitteln.

    +

    战争仅是政治伴以另一个手段的延伸(另译:战争是政治的延续)。

    +
    +
  • +
+

链接

    +
  • 【博客】广义瓦片经济Miao Yu|于淼,备份 于此
    我真的看不清中国经济的未来,会好吗?还是不如现在呢?
  • +
  • 【文章】张鸣|义和团始末真相中国数字时代,备份 于此
    想到前段时间正好看到一位网友发帖称「圆明园遗址公园关闭了『火、木、石、土』四劫的展馆,开放日期未知」。
  • +
  • 【帖文】【补】小米 MIUI 系统组件监听用户隐私知乎,CAL1C0,备份 于此
    原帖已被删除,真正作者的原文备份 于此
    文章称国产安卓手机均偷偷摸摸内置反诈组件。看到作者在结论中说「我们终将在没有黑暗的地方相见。」我就知道这也是一位《1984》的读者。虽然我用外版外区苹果,但按照现在的国际局势下去,我也担心像我这样的数字移民终将无路可走。
  • +
  • 【帖文】业务拓展|“发帖”/“发贴”?“帖子”/“贴子”?更新:应该用 “帖” 豆瓣的地得警队didida,备份 于此
    一直疑惑,到底应该是「帖子」还是「贴子」,因为现在的互联网上大家已经将二者混用了。在网上搜了一下,当然早有网友考证过,所以我也将以前的所有误用都改了过来。
  • +
  • 【百科】格里蝾螈Wikipedia,备份 于此
    政客永远是最虚伪的人,就算在民主国家,有些人也会通过重新划分选区,以保证获得自己满意的席位 —— 点名批评新加坡 🇸🇬 的人民进步党。
  • +
  • 【百科】饥饿的苏丹Wikipedia,备份 于此
    非常著名的一张照片,今天才发现原来它还有一个名字。
  • +
  • 【帖文】94 件可写的小事 ——2024 星际沙特杯Bilibili,赤小兔 TuTu,备份 于此
    深受大家喜爱的中国 🇨🇳 星际选手李培楠与咖啡,在沙特参赛的一些小事。
  • +
+

2024-11

读物

    +
  • 【书籍】巴别塔匡灵秀,2023,中信出版集团,豆瓣链接
    第四卷,章节十九至二十五;第五卷,章节二十六至三十三;尾声。
  • +
  • 【书籍】股市长线法宝杰里米・西格尔,2015,机械工业出版社;
    Siegel, Jeremy J. (January 7, 2014). Stocks for the Long Run : The Definitive Guide to Financial Market Returns and Long-Term Investment Strategies (5th ed.). New York: McGraw-Hill. p. 448. ISBN 978-0-07-180051-8.
    序言、前沿、、前言、译者序;第一卷,章节一至四;第二卷,章节五至八;
  • +
  • 【书籍】翰林高中公民乙版公民第一冊廖翠雰等,2023,翰林出版事業股份有限公司;
    第六章共三节。
  • +
  • 【漫画】女友成雙 カノジョも彼女弘幸 ヒロユキ,2020 —— 2023;
    今年下半年最温暖人心的漫画(
  • +
+

影音

    +
  • 【电影】角斗士2(2024);
  • +
  • 【纪录片】空中浩劫S12(2012);
  • +
+

新闻报道

    +
  • 【专题报道】He Made a Daring Escape From China. Then His Real Troubles Began.The New York Times MagazineBy Nyrola Elimä and Ben Mauk,Nov. 10, 2024,备份 于此
    这是《纽约时报》的两名记者历时数年整理出的有关维吾尔人的专题报道,的确是非常令人震惊,我知道维族人和藏族人在中国面临系统性的压迫,但从没想过是这样…… 本报道有志愿者将其翻译为了中文版,翻译的备份于此
    想起最近听闻中国政府关闭吉美坚赞学校 —— 藏区最后的传统藏族学校,又想起中国政府近年来取缔了蒙古语高考,不免有些怀疑:党和政府或许只是嘴上说着要保留各民族的传统文化,实际上却致力于推进少数民族的汉化,就像曾经所有的中原王朝所做的那样。
  • +
  • 【文章】救救工厂:工厂真的卷不动了正面连接,备份 于此
    我不能理解,为什么我们国家既然能生产出既便宜又好的商品,各家工厂不做产业升级,反而还相互降价激烈竞争呢?宁愿把灵魂卖给拼多多,放弃品牌,做白牌的工厂商品,这样下去是没有前途的……
  • +
+

链接

    +
  • 【博客】海盗图书馆的关键时期Anna’s Blog,2024-07-16,备份 于此
    自从 Z-Library 被美国 🇺🇸 FBI 查禁以后,就很难找到好用、方便、书籍齐全的海盗图书馆了。好在这一年发现了 Anna’s Archive,使得我可以继续在网络上下载我想要的书籍。这篇博文是他们在近日发表的观点,他们认为随着硬盘每单位容量的价格越来越便宜,在未来项目的成本会越来越低,也会有更多人的加入,帮助互联网实现信息自由的愿景。
  • +
  • 【百科】史翠珊效应Wikipedia,备份 于此
    越试图隐瞒某事,反而会使得更多人知道。
  • +
  • 【专题报道】“卖命抢时效” 的卡车司机:不敢 “刹车”,无路可退三联生活周刊,备份 于此
    小时候看《小狗钱钱》,主角的父亲是一位卡车司机,常年在外跑车,自由自在地生活令主角很是羡慕,也让我很羡慕。不过现在看来,在中国 🇨🇳 跑卡车应该不是一个好主意。另外,听说美国 🇺🇸 的卡车司机去年罢工,使得 UPS 等公司将年工资提升到高达 35 万美元……
  • +
  • 【故事】【短篇】无问无答,便无虚假。豆瓣Reddit 恐怖故事小组,译者:削其骨为笛,原文 于此,原作者 NeonTempo,备份 于此
    非常短小精悍的一篇「故事」—— 虽然原作者声称这是真实发生过的事情 —— 我非常喜欢这篇,很少有故事仅仅依靠两人对话,便吸引住读者的目光,十分巧妙。
  • +
  • 【讲座】HSBC 速记汇丰集团,付鹏,备份 于此
    原链接才两个小时不到,又被微信封禁了。付鹏的观点还是很高的,至少比我高吧,看了这篇速记版,还是学到了许多东西。他提到可以看看《朱镕基答记者问》,借鉴一下那个时代,我已经在 Anna’s Archive 下载了一本,下个月就看完!
  • +
+

2024-12

读物

    +
  • 【书籍】《朱鎔基傳:朱鎔基與現代中國的轉型》,**[美]龍安志 (著),丁力 (譯)**,香港中和出版有限公司,2003;
    又开新坑啦,最近这段时间对九十年代的经济状况十分感兴趣,或许可以在历史中找到现在的中国经济发展方向。
  • +
+

影音

    +
  • 【视频】Me at the zooYouTubejawed,2005-04-24;
    看看算法给我推荐了什么?一部 19 年前的影片!
  • +
  • 【电影】飞出个未来电影剧集 Futurama:
      +
    • 飞出个未来大电影1:班德大行动(2007)
    • +
    • 飞出个未来大电影2:万背之兽(2008)
    • +
    • 飞出个未来大电影3:班德的游戏(2008)
    • +
    • 飞出个未来大电影4:绿色狂想(2009)
      好诶,我要回顾一下我在大学期间下饭的影集啦。
    • +
    +
  • +
  • 【视频】我用假新聞騙了台灣媒體YouTube蘇裔非
    原来即使在台湾 🇹🇼 这样已经民主化数十年的地方,媒体精神仍有不足,还是有数家媒体对新闻来源不去查证。
  • +
  • 【电影】史密斯夫妇(2005);
    评价为「美版《间谍过家家》」。
  • +
+

新闻报道

    +
  • 【报道】季风再来 :一家独立书店的沉浮 以及公民社会的中国命运歪脑,江雪,10/07/2024,备份 于此
    不必多说,不过,我很喜欢文章中的一段话:
    +

    再一次,在书店隔壁的一家宾馆,警方的几个人找于淼谈话,他们是上海方面的 “国保”,也即思想警察。这次 ,谈话快结束时,于淼问他们:你们真的相信,你们所做的这一切,关掉季风这样的一家人文书店,是正确的吗?

    +

    其中一个看起来颇有 “水平” 的警察回答:你可以把这一切想象成是小说《1984》中的一个场景。

    +
    +
  • +
  • 【社论】“自愿” 996 加班还是 “被迫” 5 天 8 小时 ?中国新能源车企工人的无解难题歪脑,真田纳鸡,11/21/2024,备份 于此
    中国现在的一切,基本上都是由底层的工人与农民所创造的。与他们所面临的困境相比,城市中产与小市民的抱怨小得就像洒洒水一样。为什么要这样对待他们呢?为什么党和政府的法律不能允许工人们成立真正的工会,去与大企业主们进行劳资谈判呢?他们这样的待遇根本就不值得。
  • +
  • 【报道】一位高调批评中共的异议人士会设下骗局吗?National Public Radio,SEPTEMBER 7, 2024,备份 于此
    好几个月前我就将这篇文章加入了书签,不过一直没有机会看。这个月终于将其翻出来看完了,不得不说,反共可真是一门好生意
  • +
  • 【报道】深度报道 | 中国人的下沉年代:破产的城市精英与失败的人生重启,**莽莽 MANG MANG**,Xiaochuan;
    原来那句现在脍炙人口的话,不是什么俗语,而是出自 2020 年的疫情期间来自武汉的《方方日记》:
    +

    我们唯一的事,只能把这一切都扛下来。时代的一粒灰,落在个人头上,就是一座山。可是,不扛,又能怎样?

    +
    +
  • +
  • 【报道】朱鎔基談台灣問題全文中華民國大陸委員會,新華社,民國八十九年三月十五日,备份 于此
    最近在研究朱镕基总理,我想知道他是一个什么样的人,推行的政策又是如何考虑的,碰巧看到了有关台湾 🇹🇼 的这篇文章,便摘录于此。
  • +
+

链接

+

The last day in 2024

又是一年过去了,今年看的书比去年要多,这是非常好的。但是,大部份的书我们都只是看了一部分,没有几本是看完的。看书也是需要激情的嘛,这我是可以理解的,希望新的一年中,能把这些书都看完吧!

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2024/05/26/new-garden-from-scratch/index.html b/2024/05/26/new-garden-from-scratch/index.html new file mode 100644 index 000000000..fa03a6cce --- /dev/null +++ b/2024/05/26/new-garden-from-scratch/index.html @@ -0,0 +1,358 @@ +从零开始建立花园 | 叶子的花园 + + + + + + + + + + + + + + + + + +

从零开始建立花园

cover

+

前言

自从今年初换了 MacBook 电脑以来,我每次写的东西都要用磁碟拷贝到原来的 PC 上才能发布,所以一直都想要将原来的博客本地文件迁移到这台新的电脑上。最近工作上的事告一段落,我总算是考完执照了。依照我以前的经验来看,每次以为未来会更有时间的时候,未来都会忙得要命,所以就趁着现在有空把这件事做完吧。

+ + +

迁移文件其实也不难,主要是很繁琐。为了保证稳定性,我选择将所有的步骤都重新做一遍。这次就记录一下,以后再有迁移的时候,就可以按照现在的经验,知道要安装那些组件、更改哪些配置了。

+

还是与四年前一样,安装步骤主要是基于 云游前辈 的这篇文章:教你如何从零开始搭建一个属于自己的网站,还有网站主题的参考文档,另外包含了一些遇到的新问题,希望能对以后的我、还有观看这篇博文的朋友有帮助。

+

迁移/重新安装步骤

就像上面说的一样,与其说是迁移,不如说是重新安装。

+

⚠️ 注意事项:

+
    +
  • 如果遇到 权限不足/Authentication 相关的报错,需要尝试 su 或者 sudo 并输入密码,以管理员权限重新执行。
  • +
  • 由于中国大陆的防火长城目前已经阻止许多的站点,近日又屏蔽了包括上海交大在内的多所大学镜像站点,因此请确认网络环境是否支持。
  • +
+

6 月 6 日,上海交大的 Docker Hub 镜像加速器宣布因监管要求被下架。
Docker Hub 是目前最大的容器镜像社区,但由于中国防火长城的限制,程序员开发者从 Docker Hub 上获取容器镜像的时候很不方便。Docker Hub 镜像加速器可以帮助开发者更快地下载 Docker 镜像。
post

+
+ +

安装 Node.js

在其官网下载 Node.js长期发行版 LTS,并全部默认下一步安装。过程中会默认安装 npm 包管理器,国内访问会比较困难,因此需要换源或者使用网络代理。

+

安装完成后,在终端内使用 node --version 查看版本,以确认安装成功。

+
% node --version 
+v20.15.0
+ +

安装 VS Code

Visual Studio Code,在此 下载

+

安装 Git

+

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

+

Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.

+
+

Git,在此下载

+

与 Windows 不同,在 Mac 上无法直接通过安装包的方式获取 Git。因此我们需要先安装 Homebrew,一个专为 macOS/Linux 打造的包管理器。Mac 用户可以无需在命令行中安装,点此即可下载最新版本的 Homebrew

+

此时,如果直接使用 brew 指令会报错:

+
% brew install git                                                                               
+zsh: command not found: brew
+ +

这是因为我们没有将 /opt/homebrew/bin/opt/homebrew/sbin 添加到 $PATH 环境中,运行命令以快速添加:

+
% echo export PATH=$PATH:/opt/homebrew/bin:/opt/homebrew/sbin >> ~/.zshrc
+% brew doctor
+# run this to check it
+ +

接着输入命令安装:

+
% brew install git
+ +

按 Enter 确认,在「设置—通用—软件更新」中下载 XCode 的相关组件。然后查询其版本,以确认安装成功:

+
% git -v
+git version 2.45.2 (Apple Git-146)
+ +

安装 Hexo

这是我目前使用的博客框架,在终端中输入命令全局安装:

+
% npm install hexo-cli -g
+# 如果安装失败,可能是没有权限,可以尝试头部加上 sudo 重新执行
+# sudo npm install hexo-cli -g
+ +

然后终端访问到我们打算创建本地文件的目录下,比如我现在的目录是:/Users/clover/github/misaka-clover.github.io

+
% cd /Users/clover/github
+% hexo init misaka-clover.github.io 
+ +

在使用 Hexo 初始化该文件夹后,输入:

+
# 进入你的博客文件夹
+% cd misaka-clover.github.io
+# 默认安装所有 `package.json` 文件中提到的包
+% npm install
+# 你也可以缩写成 hexo s
+% hexo server
+ +

在浏览器中打开:localhost:4000,就可以看到一个默认的 Hexo 主页了。

+

安装 yun 主题

接下来安装云游前辈制作的主题 hexo-theme-yun

+
% npm i hexo-theme-yun
+ +

在 Hexo 的原始配置文件 _config.yml 中找到 theme 这个字段,将其后的 landscape 修改为 yun

+
theme: yun
+ +

这时打开本地预览界面,发现显示的页面无比苍白(

+

add-hexo-render

+

这是因为,由于云游前辈的主题使用了 pug 和 stylus 这两个包,所以也需要安装:

+
% npm install hexo-render-pug hexo-renderer-stylus
+ +

包 pug 和 stylus 的注意事项

不过在安装完以后,却发生重要的安全提示:

+
3 high severity vulnerabilities
+
+Some issues need review, and may require choosing
+a different dependency.
+
+Run `npm audit` for details.
+ +

运行 npm audit 后,提示:

+
% npm audit
+# npm audit report
+
+pug  <=3.0.2
+Severity: high
+Remote code execution via the `pretty` option. - https://github.com/advisories/GHSA-p493-635q-r6gr
+Pug allows JavaScript code execution if an application accepts untrusted input - https://github.com/advisories/GHSA-3965-hpx2-q597
+Depends on vulnerable versions of pug-code-gen
+No fix available
+node_modules/hexo-render-pug/node_modules/pug
+node_modules/pug
+  hexo-render-pug  *
+  Depends on vulnerable versions of pug
+  node_modules/hexo-render-pug
+
+pug-code-gen  <=2.0.3
+Severity: high
+Pug allows JavaScript code execution if an application accepts untrusted input - https://github.com/advisories/GHSA-3965-hpx2-q597
+No fix available
+node_modules/hexo-render-pug/node_modules/pug-code-gen
+
+3 high severity vulnerabilities
+
+Some issues need review, and may require choosing
+a different dependency.
+sh-3.2# 
+
+ +

原来是这两个包被发现有致命漏洞,将使得客户端被远程操纵,其 Report 在此:

+ +

因此,我们需要更新这两个包至最新版本:

+
% npm install pug@3.0.3
+% npm install pug-code-gen@3.0.3
+ +

+
% npm install pug@latest
+% npm install pug-code-gen@latest
+ +

包 core-js 的注意事项

另外,我还遇到了 core-js 的警告:

+
+

npm warn deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.

+
+

根据这篇贴子,强制更新至最新版本即可:

+
% npm cache clean --force
+% npm i -D core-js@latest
+ +

自定义主题配置

为了不直接修改主题的默认配置,最好的解决方案就是在博客根目录下(不是主题目录)新建 _config.yun.yml。我直接将原来的配置拷贝过来,覆盖了现有的配置文件,结果在运行时直接报错。我料想应该是一些第三方组件没有安装,却在配置中调用了它们。所以,我不得不逐个检查配置项……

+

接下来,我依照主题的配置文档检查参数,没有什么需要修改的。

+

安装第三方包及额外依赖

有一些功能组件已经内置到主题文件中了,比如 Giscus 评论系统,所以我们可以直接在配置文件中设定好参数就可以了。但是,有一些功能并没有内置其中,因此需要手动安装。

+

安装 RSS 支持

在终端中敲入以下指令,安装 hexo-generator-feed

+
% npm install hexo-generator-feed --save
+ +

另外还需要生成一个文件什么的,详情请参见官方文档

+

安装 词云 wordcount 组件

% npm install hexo-wordcount
+ +

安装 Hexo 的 Git 推送组件

此时,如果想要直接部署到 GitHub Pages 上,会出现如下报错:

+
% hexo d
+INFO  Validating config
+INFO  Yun version 1.10.11. Guide: https://yun.yunyoujun.cn
+ERROR Deployer not found: git
+ +

根据这篇博文,这是因为 缺少/我忘记安装 hexo-deployer-git 套件,在当前目录安装套件即可:

+
npm install hexo-deployer-git --save
+ +

推送问题

好了,现在再次执行 hexo d 指令,却发现有 GitHub 的权限问题:

+
remote: Support for password authentication was removed on August 13, 2021.
+remote: Please see https://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
+fatal: Authentication failed for 'https://github.com/misaka-clover/misaka-clover.github.io/'
+FATAL Something's wrong. Maybe you can find the solution here: https://hexo.io/docs/troubleshooting.html
+Error: Spawn failed
+    at ChildProcess.<anonymous> (/Users/clover/github/misaka-clover.github.io/node_modules/hexo-deployer-git/node_modules/hexo-util/lib/spawn.js:51:21)
+    at ChildProcess.emit (node:events:519:28)
+    at ChildProcess._handle.onexit (node:internal/child_process:294:12)
+ +

根据这篇贴子,这是因为 GitHub 在云游前辈发布那篇博文以后,GitHub 更改了命令行认证的方式,因此我们需要去 GitHub 的后台生成一个验证码,在这里当作密码输入才行。

+

代码高亮问题

我检查完配置文件以后,发现代码高亮失效了。我以为是因为 Hexo 升级到高版本的问题,去查了一下官方文档,发现官方用了一个更新的高亮组件,并将其参数配置到 _config.yml 中了。

+
# 代码高亮
+# 只能在 _config.yml 中起作用
+syntax_highlighter: prismjs
+highlight:
+  auto_detect: false
+  line_number: true
+  line_threshold: 0
+  tab_replace: ""
+  exclude_languages:
+    - example
+  wrap: true
+  hljs: false
+prismjs:
+  preprocess: true
+  line_number: true
+  line_threshold: 0
+  tab_replace: ""
+ +

嵌入 Twitter 贴子问题

我想在本文嵌入一个推特的贴子,加入 Twitter Publish 上复制的链接,居然无法变成预览的样子,所以只好使用 Hexo 自带的「标签插件」功能。

+

本地文件 Git 备份问题

在依照云游君的教程时,我想要将本地文件通过 Git 推送到 GitHub 上,突然想起我好像没有配置本地的 Git,所以就:

+
# 与远程 Git 仓库建立连接,只此一次即可
+git remote add origin https://github.com/misaka-clover/misaka-clover.github.io
+ +

然后,我将文件推送到缓冲区:

+
# 添加到缓存区
+git add -A
+git commit -m "这次做了什么更改,简单描述下即可"
+ +

但是,在推送的时候,却遇到了问题:

+
# 推送至远程仓库
+$ git push
+# 第一次提交,你可能需设置一下默认提交分支
+# git push --set-upstream origin hexo
+
+# 报错
+error: src refspec hexo does not match any
+error: failed to push some refs to 'https://github.com/misaka-clover/misaka-clover.github.io'
+ +

我查询了一些资料论坛,发现是我的这台新电脑本地并没有我新分支的文件。理论上来说,一个从 GitHub 上将分支文件同步到本地,但实际上我删除了原来的那个分支,然后重新创建了一个一模一样的。因此,执行:

+
# 初始化 git
+$ git init
+Reinitialized existing Git repository in /Users/clover/github/misaka-clover.github.io/.git/
+
+# 查询 git 下有哪些分支
+$ git branch -a
+* master
+
+# 创建分支 hexo
+$ git checkout -b hexo
+Switched to a new branch 'hexo'
+ +

然后再推送,就一切正常了:

+
$ git add -A
+
+$ git commit -m"transfer my local blog files to new macbook"
+On branch hexo
+nothing to commit, working tree clean
+
+$ git push --set-upstream origin hexo
+Username for 'https://github.com':
+Password for 'https://misaka-clover@github.com':
+failed to store: -60006
+Enumerating objects: 14802, done.
+Counting objects: 100% (14802/14802), done.
+Delta compression using up to 8 threads
+Compressing objects: 100% (10836/10836), done.
+Writing objects: 100% (14802/14802), 48.70 MiB | 1.38 MiB/s, done.
+Total 14802 (delta 3264), reused 14799 (delta 3262), pack-reused 0 (from 0)
+remote: Resolving deltas: 100% (3264/3264), done.
+remote: 
+remote: Create a pull request for 'hexo' on GitHub by visiting:
+remote:      https://github.com/misaka-clover/misaka-clover.github.io/pull/new/hexo
+remote: 
+To https://github.com/misaka-clover/misaka-clover.github.io
+ * [new branch]      hexo -> hexo
+branch 'hexo' set up to track 'origin/hexo'.
+ +

然后,就大功告成啦。

+

macOS 的终端显示英文

参照有关文章的解决方法:

+
# 查看本地配置
+$ locale
+LANG=""
+LC_COLLATE="C"
+LC_CTYPE="UTF-8"
+LC_MESSAGES="C"
+LC_MONETARY="C"
+LC_NUMERIC="C"
+LC_TIME="C"
+LC_ALL=
+
+# 生效新的配置
+$ export LANG=en_US.UTF-8
+ +

新学到的 git 知识

你知道的,我在计算机程序领域并没有多么深入的了解,像是使用 Git,我只会以上的那几个简单的命令。而在大多数时候,我没办法去解决遇到的问题,只好在网上搜索,比如这个这个这个(但愿不是内容农场🙏)。

+

不过,感谢前辈们的互联网精神,我在 Git 的官网上找到了一份完整的教程以及简体中文翻译件,我打算在接下来的几个月内好好地学习一下。你知道的,之前我没有学过 SQL,现在不也一样能上手了。

+

我最喜欢学习了(

+

npm 包列表

% npm list
+hexo-site@0.0.0 /Users/clover/github/misaka-clover.github.io
+├── core-js@3.37.1
+├── hexo-deployer-git@4.0.0
+├── hexo-generator-archive@2.0.0
+├── hexo-generator-category@2.0.0
+├── hexo-generator-feed@3.0.0
+├── hexo-generator-index@3.0.0
+├── hexo-generator-tag@2.0.0
+├── hexo-render-pug@2.1.4
+├── hexo-renderer-ejs@2.0.0
+├── hexo-renderer-marked@6.3.0
+├── hexo-renderer-stylus@3.0.1
+├── hexo-server@3.0.0
+├── hexo-theme-landscape@1.0.0
+├── hexo-theme-yun@1.10.11
+├── hexo-wordcount@6.0.1
+├── hexo@7.2.0
+├── pug-code-gen@3.0.3
+└── pug@3.0.3
+ +

后记

其实我当时是想要直接用上云游前辈开发的新框架的,可是这中间出了一些我无法解决的问题,想着它还处于开发中的阶段,就算了。

+

现在可以在 MacBook 上直接发布了吧?那就快多写一点博文吧!

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2024/06/29/my-next-plan/index.html b/2024/06/29/my-next-plan/index.html new file mode 100644 index 000000000..e698ffdbd --- /dev/null +++ b/2024/06/29/my-next-plan/index.html @@ -0,0 +1,677 @@ +接下来的规划 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + + +

接下来的规划

+ +
+

本文仍在更新中!毕竟我不能窥视未来。

+
+
+ +

cover那时我还相信中国会变得更好

+
+

“We shall meet in the place where there is no darkness,” he had said. Winston did not know what it meant, only that in some way or another it would come true.

+

—— George Orwell1984

+
+ + +

前言

前几天妈妈出差来广州了,我们讨论了一下接下来的规划,算是得到了家里的支持吧。我希望能将自己的计划写在这里,以提醒自己为什么选择出国,又因何而奋斗。

+

编程随想曾经在博客里解释过,为什么即使面临着来自当局的骚扰和威胁,他仍然决定留在中国:

+
+

如果敢于反抗的人都离开了,那他们就赢了。

+

俺想继续留在这个奇葩的天朝。与党国斗,与权贵斗,其乐无穷 :)

+
+

可我最后却决定离开这里,是因为我认为在有生之年,很难看到共产党倒台。那些人宁愿让中国变成朝鲜 🇰🇵 那样,也要维持自己的统治。在前段时间,我跟一位在德国留学的朋友提起出国的想法,我们打 FaceTime 聊了很久。末了,我跟他说「民主法制,比什么都重要」。他回答到「Freedom is not free」。

+

我没有能力去为中国作出选择,但我可以做出自己的选择。

+

我知道你可能会想问:在这样差的大环境里,这份体面的工作已经比大部份中国人都要好了,为什么我会想要出国呢?因为我不想仅仅只是「活着」,我想要有更加民主的体制、更加独立的法制、更加平等的社会,而不是像现在这样的「橡皮图章人大、接受共产党领导的法院、贫富差距扩大和日益极端的社会」。

+

我能列举出中国 🇨🇳 的种种优点,也能列举出她的许多缺点。在我毕业的时候我为什么没有选择出国,而是选择留下来,这当然是我希望我们能让她变得越来越好。可是,在我工作的这一年中,现实不断在提醒我,这里正在进行着什么样的改变 —— 六月份连续两起在华外国人遇刺,已经足以提醒所有人这片土地上越来越多的仇外情绪。我感觉这里就像是上世纪三十年代的军国主义日本,这个社会上所有的东西都在将这个国家推向战争

+

ccp-change

+

至于编制,这个现在整个社会都在追求的东西,这可是铁饭碗呢,为什么我会将它抛弃呢?你知道九十年代末的国企改革吧,那时的人们也认为国企是铁饭碗,不可能下岗的。结果时代的风向一转,许多四五十岁有着长工龄、却出了工厂什么都不会的工人都失去了铁饭碗。我有些亲戚就是在那时从纺织厂、钢笔厂下岗,领着低保一直贫苦到现在。我见识过这些,所以我并不迷信「铁饭碗」,我知道,它并不是永恒的。

+

许多人其实都意识到了中国的转向:有些人是从 2013 年习近平借「反腐」名义开始清除政治对手时;有些人是看到 2018 年人大修宪废除国家主席任期限制时;有些人是经过疫情三年「层层加码」式的封锁的时候。我现在下定了决心,希望不会太晚吧。

+

在回家的路上,我听着 羅大佑和蔣志光 的《皇后大道东》,心情五味杂陈。

+
+

皇后大道西又皇后大道東,皇后大道東轉皇后大道中。

+

皇后大道東上為何無皇宮,皇后大道中人民如潮湧。

+
+

前几天,香港 🇭🇰 度过了她回归 27 年的纪念日,但她已经不再是从前的那个香港了。香港人民送走了皇后,却迎来了皇帝。不知那位大人的小学文凭,能否看懂「我們對香港的政策五十年不變,我們說這話是算數的」这句话呢?

+post + +

申请

我喜欢写日记,喜欢记录在我身上发生的事情,所以我希望能尽可能详尽地记述我申请留学的经历。为了现在的自己,为了将来的自己,也为了有这样想法的他人。

+

2024-05-21:起意

我看到中国越来越转向我害怕的模样,因此产生了移民的想法。既然如此,可不能让身上的编制成为束缚我的东西。

+

我考虑过比如法国的国立民用航空学院、奥地利的工作移民等。

+

父母认为去香港科技大学会好一些,不过我拒绝了,并重申我的目的是移民而不是留学。

+

父亲因此转而建议我看看新西兰。

+

2024-05-22:咨询

我在奥克兰理工大学的官网上,看到 International — agent 部份有大陆的留学机构,我相中了其中两家:██教育 和 IDP CN。晚些时候我电话咨询他们,其中一个留学机构██教育,聊得蛮好的,我从中了解到许多信息。IDP CN 不知道是什么原因,说很快会有顾问联系我,可是我却从来没有收到。

+

2024-05-23:

因为我要求用邮件交流,所以██教育的顾问通过邮件给我发送了服务介绍和方案流程等,我很满意。

+

2024-05-25:参加宣传活动

根据我在 IDP CN 官网上看到的活动详情,我去中国银行的一个分行参加了他们和皇家墨尔本大学的一个招生宣讲。

+

lecture澳大利亚 🇦🇺 某大学宣讲现场

+

活动蛮不错的,我也惊讶于 IDP CN 的正规性,居然能在中国银行举办活动,并且能邀请来这样优秀的大学。从此,我基本上决定了要找他们当留学顾问 —— 就算我在这次宣讲上又找了他们,可还是没有给我打电话。

+

不过,由于我那段时间要考取「民用航空电信人员」的执照,因此我的留学计划搁置了一段时间。

+

2024-06-29:实地探访

我终于把工作中的各种大大小小的事情处理完了,现在我计划去这两个机构的办公室看看。由于 IDP CN 从来没有联系过我,这次我打了他们的 400 电话,一会儿以后总算是有位顾问联系我了。

+

他们两家的办公室都在天河,我先去了██教育的地点,与顾问大概聊了一个小时左右,挺顺利的,不过我感觉顾问在移民政策方面了解得不算很多。我记得那天又热又晒,我顶着阳光与高楼大厦玻璃幕墙上的反光,走了大概一刻钟到了 IDP CN 的地方。在沙发上没等多久,顾问就来了。我们也谈了差不多一个小时,我非常满意,因为她不仅仅对学校的招生政策了解许多,也对澳洲的移民及签证政策较为熟悉,我非常满意,基本上就决定选择与 IDP CN 签约了。

+

2024-07-02:选择 IDP CN

收到了来自 IDP CN 顾问的邮件,本邮件、包括以后的所有邮件在去敏以后,都会附在本文的最后。这天是我的夜班,所以我在凌晨才来得及回复邮件,我向顾问提出了几个问题,并询问签约时间等情况,回复内容一并附在后面。

+

2024-07-03:确定签约时间

收到了 IDP CN 顾问回复的邮件,签约时间改到了七月六日下午。

+

2024-07-06:签约

contract与代理正式签约

+

我在中午的时候到了活动地点,居然还是上次的那家中国银行,原来他们有长期合作啊。今天我与 IDP CN 正式签订了合同,虽然我在之前已经收到过合同模版,但我还是逐字检查了合同再签字 —— 这可是一个好习惯呢,对任何需要签字的文件都保持警惕。我将转账回执单通过邮件发给了顾问,因为现在是周末,他们的财务下周一才会将收据开给我。

+

之后我问起缴费的事情,顾问还建议我说到时候可以开一个中国银行澳洲的账户,你看吧,这就是合作关系。

+

另外,今晚是我的夜班,所以我赶着时间,大概在 14:00 — 15:10 这段时间里签好了合同,然后坐地铁去上班了。

+

2024-07-07:

我联系了在学校的学弟,问他能不能替我去教务处开成绩单。结果我在学校教务处的网站上查到了关于停办全日制本科生中英文出国证明材料的通知,发现他们已经放暑假了,我最早也只能在八月末去办理了。

+

刚刚发了邮件去问 IDP CN 的顾问,不知道会不会耽误申请……

+

2024-07-08:三封邮件

这天是周一,我在接触中介机构的时候,就明确表示我们通过邮件交流,并且不需要立刻回复,可以等工作时间再回复邮件。我想可能是因为这个原因,顾问一下子给我发了三封邮件:

+
    +
  • 第一封:提出了「可以先用以前的成绩单开始申请,后面再补新的」方式;
  • +
  • 第二封:给我发送了一系列需要准备的清单、需要填写的资料以及授权书和模版等等。并说明了等到周一才发送邮件的原因,我随后也在微信上给顾问确认「不需立即回复」。
  • +
  • 第三封:因为他们公司的财务周末不上班,所以这天才把收据寄出,与我确认收件信息。我当晚便确认了我的信息。
  • +
+

2024-07-09:选校方案

这天顾问给我发送了《IDP 选校及时间的规划方案》邮件,不过我还没来得及看……

+

2024-07-10

我这段时间真的好忙,各种事情,谁说体制内轻松的?

+

我打算这周把所需要的资料都准备好,因为我以前曾经申请过香港的大学,所以资料一般都没问题的。

+

给顾问发了封邮件,确认了一些信息。

+

2024-07-11:存档文件

这天我将整个过程中准备的所有文件都放在了最后「所有产生文件清单」,供我梳理。

+

因为顾问近日休假一段时间,虽然她今天还是回复了我昨天的邮件,不过我就暂时不联系了。

+

2024-07-22:

因为我之前申请过香港的学校,所以这些资料我都整理得蛮好的,所以可能去公证一下,就可以了吧。

+

顾问的休假应该结束了吧,发了封邮件过去问一下最近的疑惑。

+

2024-07-23

今天收到了顾问对昨天邮件的回复,在晚些时候她又补充了一封附加邮件,我一并列在后面。

+

顾问的补充邮件中提到她专门去问了大学招生办,我蛮意外的,也对她的服务非常满意。

+

2024-07-30

最近又是好忙,因为人手不足,算上开会的时间,我已经连续上了 36 小时的班才回了家……

+

因为我需要将这份工作作为我最后的路,所以我不能直接辞职(虽然很想就是了)。所以,我不能让单位里的人知道我的打算,也就没有多少机会在这里准备资料、看课件和练习,最多只能背背单词。

+

我过去的经历告诉我,不要期望着「忙完这一段时间,未来就不忙了」,手上的事情越来越多,未来也只会越来越忙。所以我必须要合理推掉工作中的一些额外的事情,同时也多抽出一些休息的时间,来加紧准备了。

+

由于太久没有回复顾问了,我只好先给她回复了一封邮件,等我有时间以后再处理相关资料。

+

我看到广州公证处要求需要「所列的证明材料均应提交原件和相应份数的复印件」(要求的网址备份 在此在此)。根据顾问的建议,我这段时间就准备一下,去公证处一次办完,需要准备的材料我列在存档清单里吧。

+

2024-08-06

最近计划要不要在去留学之前,先去那边旅游,亲自观察一番。因为我所在的单位是有探亲假的,我可以连着休 20 天,代价是月工资扣完和年终奖减半,还是蛮肉痛的,所以几乎没有人会休。但我就要,我可不想全年无休……

+

打电话去问了下顾问,她说会将详情通过邮件发给我。

+

2024-08-15:

最近得知我年末休不了探亲假啦……

+

邮件附录

邮件中,以 S 开头的表示发送的邮件,而以 R 开头则表示接收到的邮件。

+
+R01-2024-07-02 + +

R01-2024-07-02

+

Hi ███同学,

+

我是 IDP 顾问 ███,上周六跟你见过面,咨询新西兰留学。给你汇总一下面询的内容,以及发一下我们服务内容和合同样本。

+

根据你的学历背景和成绩,推荐院校如下:

+
    +
  1. 奥克兰大学:Master of Engineering (Electrical and Electronic Engineering)
    学制:120-180 学分制 (1-1.5 年)
    开课:2 月 /7 月
    预估学费:NZ$ 50,810/ 年
  2. +
  3. 怀卡托大学:Master of Engineering Practice (Electronics)
    学制:120-180 学分(1-1.5 年制)
    开课:3 月 /7 月
    预估学费:NZ$ 63,895 (180 pts) per year
  4. +
  5. 坎特伯雷大学:Master of Engineering (Electrical and Electronic Engineering)
    学制:120 学分(1 年)
    开课:2 月 /7 月
    预估学费:NZ$ 68,613/ 年
  6. +
  7. 奥克兰理工大学:Master of Engineering(Coursework pathway)- Power/Energy System Engineering
    学制:120-180 学分(1-1.5 年制)
    开课:3 月 /7 月
    预估学费:NZ$ 45,746/ 年
  8. +
+

建议申请 2025 年 7 月开课,雅思最晚 2025 年 3 月底补充。如果需要配语言班,或想继续刷分雅思,也可以申请延期到 2026 年 2 月入读。此外,梅西大学帮你查过了,Aviation 需要本科飞行专业背景,且他们现在工程硕士不收国际学生。

+

另外,这是新西兰 Green List 查询链接:https://www.immigration.govt.nz/new-zealand-visas/preparing-a-visa-application/working-in-nz/qualifications-for-work/green-list-occupations 。帮你搜过,基本上跟电子和电汽的职业都在列表上的,你可以放心选择。

+

我们 IDP 教育集团,总部在澳大利亚,全球一共 100 多个办公室,也是雅思主办方之一。目前拥有所有澳洲和新西兰大学的一级代理,你的申请通过咱们可以直接对接新西兰大学。

+

我们新西兰全程留学服务有三档服务,基础服务 6000 元,也有比较多人选择的 9000 元暖心服务。你可以参考附件,是我们服务流程,合同及第三方费用清单 , 并附最新排名手册供参考。

+

如果您对咱们合同没有问题,也可以发送以下甲方信息,我通过███发电子合同给你。需要信息包括:姓名、电话、邮箱、住址、身份证号码。 签合同之后,我会整理详细的学校方案,时间规划和资料清单给你。

+

保持沟通!

+

Regards,

+

███
资深顾问 Senior Counsellor
IDP 教育集团
北京诺思国际教育咨询有限公司广州办公室
广州市天河区体育东路 116 号财务广场东塔 1901&1908 室

+
+

随邮件附上:2024 新西兰大学详情、顾问服务流程、签约合同模版、协议收费细则 和 第三方费用清单。

+
+ +
+S02-2024-07-03 + +

S02-2024-07-03

+

███,你好:

+

很感谢您在我们见面以后做了这么多的工作!不过,我这里还有一些问题,想与您确认一下:

+
    +
  1. 请问以上几个学校的专业 / 我计划申请的专业是 PGD (Postgraduate Diploma) 吗?我看到奥克兰大学官网上说他们只有研究型硕士和授课型硕士,请问 PGD 就是授课型硕士吗?
  2. +
  3. 请问这几所相关大学的奖学金我有符合申请条件的吗?我看到大学官网说明国际学生亦有奖学金资格,例如 University of Auckland International Student Excellence Scholarship,我想要您帮我了解一下有哪些我符合条件的奖学金可以吗?
  4. +
  5. 请问新西兰留学的住宿条件及费用如何呢?我在大学官网上看到他们的宿舍一年要价两万纽币,实际情况是怎么样的呢?我看过奥克兰的地图,如果不住在中区,是否有性价比更高的落脚点呢?
  6. +
  7. 我看过奥克兰大学的 Master of Engineering 课表了,里面有 120、180 和 240 学分的课程,请问 240 学分就是研究型硕士吗?
  8. +
+

暂时大概就是这些问题了,随着我的准备,我可能还会有更多的问题,烦请陆老师和我一起解决 : )

+

如果一切正常的话,我大概在本周日,也就是 2024-07-07 到您的办公地点签约,不知道时间是否方便?

+

期待您的回复!

+

███
2024-07-03

+
+
+ +
+R02-2024-07-03 + +

R02-2024-07-03

+

你好,██:

+

我回复一下你的问题。

+
    +
  1. 我给你推荐的课程都是 Master Degree 而非 PGD 课程。PGD 不是学位课程,一般只是背景不足或均分不够,才有可能需要配 PGD 入读。咱们的背景,可以考虑直接申请 Master Degree。Taught Master 才是授课型硕士。

    +

    奥克兰大学有两个 Engineering 的硕士学位课程:

    +
      +
    • Master of Engineering (Research Master) 如果 120 学分是纯 research; 如果 180 学分也会包含一些授课内容。
    • +
    • Master of Engineering Studies (Taught & Research) 120-180 学分
    • +
    +

    如果你想读偏授课,第二个更合适,也是有 Electrical and Electronic Engineering 方向。

    +
  2. +
  3. 关于奖学金申请,学校奖学金大体有两种。

    +

    一种是申请期间,学校自动审核,自动发放。根据成绩择优发,或根据入学 intake 限时发。无需额外服务费。另一种需要额外做奖学金申请,这种名额少,竞争更加激烈,需要文书和履历支持。需要额外文书服务费 2000 元且无法保证 100% 申到。

    +
  4. +
  5. 关于住宿选择,我们可以协助你预定 Homestay 寄宿家庭,约 350-400NZD/ 周左右含餐。如果你考虑租房,比较推荐的做法是入住短期 homestay 到了新西兰当地后,找靠谱的房地产中介看房后再预定。

    +
  6. +
  7. 这个问题跟第一个问题有点重复,可以参考第一个问题答复。

    +
  8. +
+

另外,因为周日咱们公司是休息的。不过我们周六下午 2 点,在中国银行省行那边有个活动。你看看你周六下午能否安排到时间来活动现场签约?我们现场签约,澳新合同有 1000 元优惠和抽奖。活动地址和预约二维码,可以扫二维码先预约,备注顾问是 Sussie,见附件。

+

Regards,

+
+

随邮件附上:周六下午活动详情。

+
+ +
+S03-2024-07-06 + +

S03-2024-07-06

+

███你好,

+

这是我的缴费回执,请查收!

+

███
2024-07-06

+
+

随邮件附上:转账回执单。

+

transfer

+
+ +
+S04-2024-07-07 + +

S04-2024-07-07

+

███,你好:

+
    +
  1. 刚刚我查过了学校教务处的网站,我的双语成绩单最早也要 8 月 28 日才能办理,请问会耽误申请吗?
  2. +
  3. 请问我们签约以后有大概的时间安排表吗?如果有的话,请发给我看看;如果没有的话,请告诉我接下来的 3 步是什么,感谢!
  4. +
+

███
2024-07-07

+
+
+ +
+R04-2024-07-08 + +

R04-2024-07-08

+

Hello ██,

+

回复一下你的问题:

+
    +
  1. 是否完整中文成绩单也要 8 月 28 日?此外,你之前开好的成绩单是双语的吗?如果是,我觉得可以点开始申请,后补更新成绩单。
  2. +
  3. 时间规划表会有,会跟选校方案一起发给你,这周整理给你。最近其实还是要先准备申请材料,我晚点先给你发资料清单选校方案预计要多两日,需要点时间整理。
  4. +
+

Regards,

+
+
+ +
+R05-2024-07-08 + +

R05-2024-07-08

+

Hi ███同学,

+

附件为“资料清单”,及清单内提及的附件。建议在 7 月 31 日前准备好申请资料,以便尽早开始申请。选校方案和时间规划表,本周整理好尽早发给你确认选校。

+

我司亦提供实习项目科研项目等背景提升服务。科研项目难度类似海外本科大三,大四或研一课程,有利于学生做好海外学习生活的预习和适应。如有需要,欢迎跟我一对一咨询沟通。

+

另外,我们工作时间是周一到周五 9:30-18:30,上班时间会尽快回复你的疑问。有时候,我们在整理学生资料或做学生咨询,下班时间也会忙家务,偶有慢复,望理解!但是只要看到你的消息,都会回复你的哦,请同学放心!

+

代表 IDP 衷心感谢你的理解,并预祝你申请顺利!

+

如有疑问,欢迎跟我沟通。

+

Regards,

+
+

随邮件附上:资料清单、Student Declaration Form、申请信息采集表、信用卡授权书、研究生个人陈述问题、英文简历模版。

+
+ +
+R06-2024-07-08 + +

R06-2024-07-08

+

Hi ██,

+

你的收据开好了,我准备寄给你。确认一下寄件人信息:

+

██ 133█████ ██市██区████街 █ 号 ███

+

Regards,

+
+
+ +
+S06-2024-07-08 + +

S06-2024-07-08

+

你好,███:

+

是的,收件信息没有问题,请明天寄送吧。

+
+
+ +
+R07-2024-07-09 + +

R07-2024-07-09

+

Hi ██,

+

我已经整理好了你的选校方案,请查收附件,最近整理好材料,就可以准备定好 3 个申请学校,开始申请了哦。

+

对方案有疑问欢迎跟我沟通。

+

Regards,

+
+

随邮件附上:IDP 选校及时间的规划方案。

+
+ +
+S08-2024-07-10 + +

S08-2024-07-10

+

███,你好:

+
    +
  1. 我确认完整的「中文 / 英文成绩单」最早都只能在八月末开具,我这几天会发送以前的中英文成绩单给您;
  2. +
  3. 我已经收到收据了,谢谢陆老师!
  4. +
  5. 有关之前的成绩单、资料清单和留学方案里的材料,我大概在几天内能准备好,到时候发给您。
  6. +
+

███
2024-07-10

+
+
+ +
+R08-2024-07-11 + +

R08-2024-07-11

+

好的,没问题哈 ~

+

我们也可以先用目前有的成绩单先申请,后补更新成绩单吧。

+
+
+ +
+S09-2024-07-22 + +

S09-2024-07-22

+

有关公证及专业等几个问题

+

███,你好:

+

在这段时间里我又有一些问题,希望能在您这里得到解答。不知道您的假期有没有结束,您可以等到上班以后再回复我的。

+
    +
  1. 有关「材料清单 - 申请资料」中需要公证的文件,请问是我寄送原件给你们去公证,还是我自己去公证呢?如需我自行公证,可以告知我相关的步骤及推荐的公证处吗?

    +
  2. +
  3. 我找出了毕业前开具的双语成绩单,是 2023 年 3 月的,给您附在邮件上了。

    +
  4. +
  5. 请问《IDP 澳新学生申请信息采集表》中的 C4C ID 是您填的项吗?

    +
  6. +
  7. 对于专业选择,我看到您为我准备的方向是 Electrical and Electronic Engineering,我不知道这类专业是偏向电气还是电子,如果是电气的话,与我专业方向不符。我看过课表了,其中有 Power Systems 电力系统等,这不符合我的本科专业;还有 Radio Engineering 无线电和 Digital Communications 无线通信,这与我的本科专业相符,我不知道专业着重于那一方面,是让我自己选课决定吗?

    +
  8. +
  9. 对于奥克兰大学的 Electrical and Electronic Engineering 专业,有如下两种学位课程:Master of Engineering 和 Master of Engineering Studies。我想要再与您确认一下,我申请的是前者还是后者呢?是 120 分的项目,还是 180 分的项目呢?

    +

    我在 Master of Engineering Studies 下看到了如下内容:

    +
      +
    • Taught study
    • +
    +

    This programme is offered in two options, to suit the existing qualifications and experience of candidates.

    +
      +
    • 120 points for candidates with a four-year bachelors (honours) degree

      +
    • +
    • 180 points for candidates with a three-year bachelor’s degree

      +
    • +
    +
  10. +
+

我就读的是四年制本科,这是否意味着我申请的是 120 分项目呢?

+
    +
  1. Research study

    +

    In addition to their taught pathways, the Master of Engineering Studies offers a research pathway in two specialisations:

    +
      +
    • 120-points and 180-points Food Engineering

      +
    • +
    • 120-points and 180-points Sustainable Resource Recovery

      +
    • +
    +

    You will complete a 90-point Research Portfolio alongside 30 points of taught courses for the 120-point research programme and 90 points of taught courses for the 180-point research programme.

    +

    我对这两个描述很困惑,难道我将同时选择的 Taught study 和 Research study 吗?望解答。

    +

    在 Select your study option 下,我看到了:

    +
      +
    • Taught 120 points
    • +
    • Taught 180 points
    • +
    • Research 120 points
    • +
    +

    它们的条件我已看过,我本科专业领域相符,是否意味着我可以申请 180 分项目?可这个结论又与上面的相左。既然我申请的是 Master of Engineering Studies 授课型,为什么还会有研究型的选项呢?是我可以自由选择的吗?

    +
  2. +
  3. 另外,我在奥克兰大学的官网上了解到,如果申请某领域的研究生专业,我需要本科领域与该专业相符。比如我之前感兴趣的 Master of Aerospace Engineering,我看到它的授课 180 要求:Must have completed an undergraduate degree in a relevant subject area from a recognised university (or similar institution),请问这样的话我是不是不符合该专业的标准呢?

    +
  4. +
  5. 对于之前提到的奖学金一事,我看过学校官网的这个页面:https://www.auckland.ac.nz/en/study/scholarships-and-awards/scholarship-types/scholarships-for-international-students/postgraduate-scholarships-for-international-students.html

    +
  6. +
+

好像只有 University of Auckland International Student Excellence Scholarship 这一个项目符合我的条件,我不知道有没有其他的奖学金 / 其他学校的奖学金亦符合,我希望您能够帮我关注一下。

+

我大概就这么多问题了,期待您的回复!

+

███
2024-07-22

+
+

随邮件附上:04-毕业前的成绩单.zip。

+
+ +
+R09-2024-07-23-1 + +

R09-2024-07-23-1

+

你好,██:

+

我已经休完年假啦,我回复一下你的问题:

+
    +
  1. 公证是需要本人到公证处办理的,建议是一次过把需要的公证都办了。包括完整成绩单,学位证,毕业证和出生公证。指引和样本可以参考附件《公证材料指引》的第 1,2,3,6 项。
  2. +
  3. 成绩单已收到。
  4. +
  5. C4C ID 是我们 IDP 系统的学生号,我帮你填就可以。
  6. +
  7. 奥克兰大学的 Master of Engineering Studies 下,没有单独 Electrical 电子工程,课程设置是 Electrical and Electronic Engineering 电子与电气在一起,只有这个方向。其他几个专业方向更不适合你。至于选课,奥克兰大学是学分制,修满学分毕业。所以选什么科目很大程度上是你自己选择,并不是列出的科目都要全部学。
  8. +
  9. Master of Engineering Studies 才是 Taught & research 授课型硕士哦,且课程包含了 Research Pathway,如果选了 research pathway 就是比较适合未来读博,推荐选这个。另一个是研究型硕士。中国本科毕业生一般都需要申 180 学分制,大约是 1.5 年课程,因为我们国内没有荣誉学位的概念。
  10. +
  11. 信息工程跟航天,不属于是 a relevant subject area,所以这个课程基本不用考虑。
  12. +
  13. 如果有任何适合你的奖学金会告诉你。奥克兰大学很少有大额奖学金,且奖学金本身都比较少人获得,是真的要特别优秀才可以。
  14. +
+

最后,剩余的申请资料准备好也要发给我哦(见附件截图)。

+

Regards,
███

+
+

随邮件附上:公证材料清单、公证材料指引、本科毕业证公证模版、本科成绩单公证模版、本科学位证公证模版、出生证明公证模版。

+
+ +
+R09-2024-07-23-2 + +

R09-2024-07-23-2

+

██,

+

第六个问题,我特别帮你找招生老师问了。

+

她也认为信息工程跟航天不属于同一个类别,但是你有在机场工作的经历,如果你真的很想尝试一下 Master of Aerospace Engineering,可以提供工作证明来,放第一志愿申请试试,admission CASE BY CASE 审核结果。Master of Engineering Studies 可以放第二志愿。

+

Regards,

+
+
+ +
+S10-2024-07-30 + +

S10-2024-07-30

+

███,你好:

+

很不好意思这么长的时间没有回复你邮件,我非常感谢你回答我的问题,与帮我向招商办老师咨询的问题!

+

最近我们加班严重,我没有精力来处理这些事情,我稍后几天再回复。

+

Best regards,
███
2024-07-30

+
+
+ +
+R10-2024-07-30 + +

R10-2024-07-30

+

Hi dear

+

好的好的,别太辛苦啊,注意休息。

+

等你答复,确认申请方案哦。

+

Regards,

+
+
+ +
+S11-2024-08-04 + +

S11-2024-08-04

+

███,你好:

+

非常感谢你的关心!

+

对于申请方案,我还在与父母商量。根据这段时间的考虑,我可能会将新南威尔士大学纳入考量之内。

+

Best regards,
███
2024-07-30

+
+
+ +
+R11-2024-08-06 + +

R11-2024-08-06

+

Hi ██,

+

我们协助办理澳洲旅游签,以及新西兰旅游签的服务如下。

+

澳大利亚

+

一年多次往返服务费 1000 元,不包含第三方签证费 192.66 澳币。

+

新西兰

+

旅游签证申请服务费 1500 元,不包含第三方签证费 246 新币。(批单次 / 多次往返签证官决定)

+

合同样本见附件。

+

此外,附一份初步的资料清单供前期参考。

+

如需我们协助,就可以签一份签证申请服务合同,若拒签服务费全退。

+

Regards,

+
+

随邮件附上:IDP留学签证服务合同-模版、600澳大利亚旅游签证清单-General。

+
+ +
+R12-2024-08-08-1 + +

R12-2024-08-08-1

+

Hi ██,

+

咱们申请资料目前准备得如何了?

+

目前只有收到成绩单和在读证明,其他材料准备好也可以发给我哦。

+

Regards,
███

+
+
+ +
+S12-2024-08-10 + +

S12-2024-08-10

+

███,你好:

+
    +
  1. 我需要公证的材料中,出生证明还在重庆老家,需要我休假的时候回去拿,大概在九十月份的样子。如果这个时间太晚了的话,那我就拜托父母寄到广州来?望建议。
      +
    • 【原件和复印件】身份证;
    • +
    • 【原件和复印件】毕业证书;
    • +
    • 【原件和复印件】学位证书;
    • +
    • 【原件和复印件】成绩单;
    • +
    • 【原件和复印件】就读证明;
    • +
    • 【原件和复印件】出生证明;
    • +
    +
  2. +
  3. 我想向您确认一下,需要公证的文件是否为上述材料?
  4. +
  5. 另外,就读证明是否需要我找学校与成绩单一并开具呢?
  6. +
  7. 工作证明我是否可以提供入职盖章合同?我对于申请在职证明存有疑虑。
  8. +
  9. 我的护照也在老家,需要与出生证明一并寄来吗?
  10. +
  11. 下面是否是我需要准备的全部文件?如有遗漏请告知我:
      +
    • 护照首页(含出入境记录)
    • +
    • 工作证明(如在职证明 / 离职证明 / 合同文件)
    • +
    • 简历(参考模板,交电子版)
    • +
    • 个人陈述素材表(见附件,填写电子版)
    • +
    • 留学个人基本信息表填写(见附件,填写电子版)
    • +
    • 申请表格签名(打印表格,在 Signature 处签中文名,无需填写表格)
    • +
    • 旧护照复印件(含所有出入境记录,过往签证页)
    • +
    • 雅思成绩单(如需,最晚 2025.03 底补充)
    • +
    • 身份证正反面复印件(需提供申请人、父母)
    • +
    • 户口簿复印件(需提供申请人、父母;需要户口簿首页和「常住人口登记卡」单页)
    • +
    • 出生公证一份(提供申请人的出生证, 父母结婚证, 申请人以及父母身份证以及户口本复印件到户口所在地公证处办理即可。)
    • +
    • AU 简历英文模版;
    • +
    • AU 硕士申请 - 信息收集表;
    • +
    • FY24 IDP 澳新学生申请信息采集表;
    • +
    • IDP Student Declaration;
    • +
    +
  12. +
  13. 另外,我用自己的信用卡缴费,就不用填《信用卡授权书》吧?
  14. +
+

除公证文件外,这些文件我争取在下周末之前完成。至于公证文件,等您答复后我也争取尽可能快地提交给公证处。

+

Best regards,
███
2024-08-10

+
+
+ +
+R12-2024-08-12-2 + +

R12-2024-08-12-2

+

Hi ██,

+

我的答复见下方红色字。有疑问可以继续邮件我。(后注:我将红字整理为对应条目)

+
    +
  1. 申请材料提供扫描件就可以,你可以让父母扫描发给你,或者清晰拍照发原图,可以用手机 app“全能扫描王” 处理成扫描件的,比较方便。我们也能早点递交申请。

    +

    另外,出生证明和出生公证其实是签证需要的文件,只是可以提前准备,但不是申请必须的。申请必须的是:完整成绩单(中英文),学位证(中英文),毕业证(中英文),简历,文书,护照 / 身份证扫描件。

    +
  2. +
  3. 需要公证的,只是 4 份文件:完整成绩单,学位证,毕业证和出生公证。其他都不需要。

    +
  4. +
  5. 已经毕业的学生,就不需要再开在读证明了。有学位证和毕业证就可以。

    +
  6. +
  7. 如果能直接开在职证明,公司盖章,是最好的。如果实在不方便,就提供工作合同扫描件。

    +
  8. +
  9. 申请阶段,护照也是可以用扫描件即可。之后办理签证期间的体检,才需要用到护照原件,估计体检也到明年 3-4 月份了。

    +
  10. +
  11. 划掉的是重复的资料;申请阶段,只需要交标黄的部分材料,其他都可以后补。护照如果没办好或过期,就身份证代替。

    +
  12. +
  13. 正是用自己的信用卡缴费,才需要填写《信用卡授权书》。需要授权 visa 或 master 这类双币卡的信息给我们,操作院校申请费,OSHC 保险或签证申请费扣费。

    +

    因为申请费,一般是填写完申请表信息后,最后一页要输入信用卡信息扣费的,所以需要你授权信息给我们才能扣你的卡。

    +

    若考虑转 RMB 给我代扣,则无需填此表。

    +
  14. +
+

Regards,
███

+
+
+ +
+R12-2024-08-12-3 + +

R12-2024-08-12-3

+

Hi ██,

+

补充说明一下,关于公证,现阶段是需要办四份公证即可:就是成绩单,毕业证,学位证和出生公证。

+

如果你最后入读的院校是新西兰,到时候需要多办一份无犯罪公证,但是这个有时效性,一般是 6 个月有效,不需要太早去办,可以等我们通知,签证前办理即可。

+

Regards,
███

+
+
+ +
+S13-2024-08-15 + +

S13-2024-08-15

+

你好,███:

+

感谢您发给我的详情及资料,我最近得知我在年末休不了探亲假,所以多半没有这个行程了。

+

Best regards,
███
2024-08-15

+
+
+ + + + + + + + + + +

所有产生文件存档清单

本栏将列出我在这个过程中所准备的所有文件,因为澳洲学校不需要推荐信等文书,所以应该不是很多……吧?

+
+材料清单 + +

申请资料(以下材料可提扫描件)

    +
  • 护照首页(含出入境记录)
  • +
  • 本科完整成绩单官方盖章文件(含评分标准)(需要公证,含翻译)
  • +
  • 本科学位证官方文件(需要公证,含翻译)
  • +
  • 本科毕业证官方文件(需要公证,含翻译)
  • +
  • 工作证明(如在职证明/离职证明/合同文件)
  • +
  • 简历(参考模板,交电子版)
    (见下:AU 简历英文模版)
  • +
  • 个人陈述素材表(见附件,填写电子版)
    (见下:AU 硕士申请 - 信息收集表)
  • +
  • 留学个人基本信息表填写(见附件,填写电子版)
    (见下:FY24 IDP 澳新学生申请信息采集表)
  • +
  • 申请表格签名(打印表格,在 Signature 处签中文名,无需填写表格)
    (见下:IDP Student Declaration)
  • +
  • 雅思成绩单(如需,最晚 2025.03 底补充)
  • +
+

可提前准备的签证资料

    +
  • 旧护照复印件(含所有出入境记录,过往签证页)
  • +
  • 身份证正反面复印件(需提供申请人、父母)
  • +
  • 户口簿复印件(需提供申请人、父母;需要户口簿首页和「常住人口登记卡」单页)
  • +
  • 出生公证一份(提供申请人的出生证, 父母结婚证, 申请人以及父母身份证以及户口本复印件到户口所在地公证处办理即可。)
  • +
+

备注

资金材料具有时效性,无需过早开具。

+

➢ 新西兰担保金要求:40 万以上(建议存成定期,存期 6 个月以上,签证前冻结 3 个月,签证后可以解冻。)

+

➢ 澳洲担保金要求:45 万以上(可以活期,定期或银行理财,不硬性要求存期;若存活期,需要 3 个月稳定存入记录。不硬性要求冻结。)

+
+ +
+2024-07-08附加资料 + +

2024-07-08附加资料

    +
  • 信用卡授权书;
  • +
  • AU 简历英文模版;
  • +
  • AU 硕士申请 - 信息收集表;
  • +
  • FY24 IDP 澳新学生申请信息采集表;
  • +
  • IDP Student Declaration;
  • +
+
+ +
+2024-07-23 公证资料准备 + +

2024-07-23 公证资料准备

    +
  • 【原件和复印件】身份证;
  • +
  • 【原件和复印件】毕业证书;
  • +
  • 【原件和复印件】学位证书;
  • +
  • 【原件和复印件】成绩单;
  • +
  • 【原件和复印件】就读证明;
  • +
  • 【原件和复印件】出生证明;
  • +
+

以上文件均需要公证,及英语翻译

+
+ + + +

插曲

在 2024-07-08 收到不可抗力的影响,要我删除这篇文章。不过,名义上我删除了这篇文章,实际上我为网站做了两个设置:

+
    +
  • 限制特定地区(中国 🇨🇳)的 IP 访问;
  • +
  • 将 原页面/这个页面 强制 302 跳转至 404 页面;
  • +
+

另外,我暂时移除了 RSS 按钮,因为那里面能看到本文部份内容。

+

限制中国 IP 访问

网站 - 安全性 - WAF - 自定义规则。

+

ip-ban

+

过了一天想了想,我或许时有点太极端了,还是将这个 IP-ban 给关掉了。

+

ip-ban-off

+

强制 302 跳转

网站 - 规则 - 页面规则。

+

302-jump

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2024/07/31/custom-email-on-gmail-by-cloudflare/index.html b/2024/07/31/custom-email-on-gmail-by-cloudflare/index.html new file mode 100644 index 000000000..7144e4280 --- /dev/null +++ b/2024/07/31/custom-email-on-gmail-by-cloudflare/index.html @@ -0,0 +1,143 @@ +使用 Cloudflare 在 Gmail 上配置域名邮箱 | 叶子的花园 + + + + + + + + + + + + + + + + + + + + + + +

使用 Cloudflare 在 Gmail 上配置域名邮箱

cover + + + + +

前言

在去年初,我在这篇周记里讲我配置了「域名邮箱的接收」,但是因为我犯懒,就一直没有配置其发送。最近看到一个关注许久的博客出了问题,无法留言,就趁此机会把「域名邮箱的发送」配置啦。本篇文章的所有配置步骤,均参考 数字游民 的这篇教程:如何使用 Cloudflare 配置域名邮箱收发邮件(备份 于此),并根据自己的经历作了一点小小的修改。

+

整个步骤大体上可以分为两个部分:

+
    +
  • 配置域名邮箱接收邮件,并转发到自己的邮箱(如 Gmail);
  • +
  • 配置域名邮箱发送邮件,该功能依托其他大型邮件服务商(如 Gmail)。
  • +
+

选择 Cloudflare 作为自己的域名托管商

在我之前的文章里,有说过为什么选择 Cloudflare 作为我的域名托管商。最初我的域名是托管在 Namecheap 上的,不过由于首年便宜,续费太贵的缘故,我就将域名转移到了 Cloudflare 上了 —— 这是偷偷摸摸做的,那时忙着做实验室的项目,所以忘记写一篇博文来纪念一下了,好遗憾的。Cloudflare 在这篇博客里说过他们为什么会开始自己做域名服务的托管,也说了他们为什么不会像其他公司一样将续费价格翻好几倍,当然也说了他们为什么承诺为每一位用户提供 免费 SSL 等服务。我真的好感动,Cloudflare 为大家创造了一个更好的互联网,难怪许多人都愿意尊称他们为「赛博佛祖」

+

registrar-pricingCloudflare 所列出的顶级域名收费明细

+

如果自己有域名,需要将其转移到 Cloudflare 上托管。如果没有域名,那直接在 Cloudflare 上注册一个也未尝不可。

+

设置 Cloudflare Email Routing 路由规则

登陆 Cloudflare 的 dash/控制台 页面,其左栏应有 Email/电子邮件 一项,在下拉列表的 电子邮件路由 — 路由规则 处有:

+

catch-all

+

可以打开该功能,会使得所有发给你域名的邮件都会应用后续规则,也就是都会转发到你指定的目标邮箱。该功能是可选项,非必须。我参考的教程上,有这样写道:

+
+

比较在乎隐私保护的朋友可以使用这个服务,比如在注册各种网站服务时用服务名称临时编个前缀,注册 craft 时就用 craft@example.com;注册 disney+ 时就用 disney@example.com。 这样收到垃圾邮件时,可以知道是哪家服务商把你的信息泄露了,也可以根据收件人来拒收邮件。

+
+

而在页面下方有:

+

creat-email

+

可以点击右侧的 创建地址 会出现:

+DNS + +

在「自定义地址」处填入自己想要的邮箱地址,在「操作」处填入 发送到电子邮件(即转发功能),在「目标位置」填入自己的邮箱以后,我们便设置好了。接下来 Cloudflare 会给你的邮箱发送一封确认邮件,点击其中的链接即可验证身份,到此配置完毕。

+

添加 Cloudflare 的 MX 记录

在配置好以上邮箱与路由规则以后,在 Email/电子邮件 处点击「添加记录」,就可以将 MX 记录一键导入到 DNS — 记录 中,参考类型如下:

+

DNS

+

配置 Gmail 以域名邮箱的名义发送邮件

我认为在网络世界中,邮箱名字链接了太多的个人信息,这也是个人隐私的一部份。所以,我想要在某些时候,以域名邮箱的名义发送邮件,比如域名邮箱接收到他人来信的时候 —— 他人发邮件给你的域名邮箱,总不好用另外一个邮箱回复别人吧(

+

下面,我继续参考上述教程,以 Gmail 为基础,配置代理域名邮箱的发送功能:

+

获取谷歌账户的专属应用密码

在浏览器中打开链接:https://myaccount.google.com/apppasswords

+

apppasswords谷歌的中文排版为什么总是喜欢逼死强迫症?

+

填入一个「自定义信息」后,就会弹出窗口「系統產生的應用程式密碼」,并显示一串密码。注意:一定要复制并妥善保存这个密码,因为在你点击「确认」以后,你就再也看不到这个密码了。

+

我填入的自定义信息是:Gmail-Cloudflare-mail,以供参考。

+

配置 Gmail 发送邮件地址

登入 Gmail,在其右上角找到齿轮 设置 — 查看所有設定 — 帳戶和匯入,在「選擇寄件地址」一栏找到「新增另一個電子郵件地址」:

+

add-another-email

+

点击「新增另一個電子郵件地址」后,会出现弹窗:

+

enter-email

+

请注意:

+
+
    +
  • 邮箱名字会用于之后发邮件的默认名,会对外展示,请慎重填写;
  • +
  • 域名邮箱地址,请事先在 Cloudflare 中配置此前缀域名邮箱,确认可以接收邮件。
  • +
+
+

完成填写后,点击「下一步」:

+

add-account

+
+
    +
  • SMTP 需要填写 smtp.gmail.com;
  • +
  • port 端口保持默认即可,如果需要变更协议,端口需要做相应变更;
  • +
  • username 填写原本 Gmail 的用户名,即邮箱地址中除去 @gmail.com 之外的信息;
  • +
  • password 需要使用在步骤 4.1 中获取的专属应用密码;
  • +
+
+

如果上述步骤没有问题,成功进入下一个页面会看到:

+

confirm因为我已经建好了域名邮箱,所以截取的是教程中的图片

+

此时,Gmail 会收到一封邮件,在邮件中点击链接,或者在此输入邮件中的验证码,即可配置完成。未来在使用 Gmail 发送邮件的时候,可以在发件人处选择发送该封邮件的地址。

+

以上,希望你一切顺利 :)

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2024/09/14/thoughts-on-delayed-retirement/index.html b/2024/09/14/thoughts-on-delayed-retirement/index.html new file mode 100644 index 000000000..b4088410c --- /dev/null +++ b/2024/09/14/thoughts-on-delayed-retirement/index.html @@ -0,0 +1,131 @@ +有关延迟退休的一点想法 | 叶子的花园 + + + + + + + + + + + + + + +

有关延迟退休的一点想法

cover近期电影《异形:罗穆路斯》中的片段

+
+

Do not go gentle into that good night, Old age should burn and rave at close of day; Rage, rage against the dying of the light.

+

—— Do not go gentle into that good night, Dylan Thomas (1914-1953), Botteghe Oscure (1951)

+
+ + +

背景

昨日,我下夜班回家以后,手机便收到了延迟退休的推送消息,一切都尘埃落定了。

+
+

新华社北京 9 月 13 日电

+

全国人民代表大会常务委员会关于实施渐进式延迟法定退休年龄的决定
(2024 年 9 月 13 日第十四届全国人民代表大会常务委员会第十一次会议通过)

+

……

+

一、同步启动延迟男、女职工的法定退休年龄,用十五年时间,逐步将男职工的法定退休年龄从原六十周岁延迟至六十三周岁,将女职工的法定退休年龄从原五十周岁、五十五周岁分别延迟至五十五周岁、五十八周岁。

+

……

+
+

原文 在此,备份 于此于此

+

国情

中国人很少有政治参与感,大家好像都在避免谈论政治话题,好像政治是一个非常敏感的东西。我不喜欢这样,Notepad++ 的作者曾经在他的博客中写道:

+
+

The problem is, if we don’t deal with politics, politics will deal with us.

+
+

我时常与朋友说起这句话。我们都知道,大部分中国人习惯了 「大家长」式 的政府,都认为政府会安排好一切的,自己也很难去影响政府的决定,所以就只好接受来自政府的一切安排。

+

国情如此。

+

纽约时报关于中国延迟退休报道的最后一句段是:

+
+

在中国的社交媒体上,主要的官方媒体控制着相关新闻的评论区。共产党喉舌《人民日报》的一篇帖子下的热门评论之一是:“了解。”

+
+

更多角度

我知道,延迟退休是无法避免的事情,世界各国均调高了退休年龄,法国去年顶着社会游行示威的压力,硬生生地推动了推迟两年退休这一不受欢迎的决定。并且,中国官员的说法是正确的:中国的退休年龄在世界各国都算很低了。我们在世界经济论坛的网站上可以看到各国的退休年龄对比(存档 于此,中国的退休年龄就算推迟了三年,那也低于绝大多数的发达国家。

+

但仅凭此据,便可以证明我们延迟退休政策的合理性吗?

+

简单想想,我们就可以梳理出中国与其他发达国家有关退休的以下角度:

+
    +
  • 平均预期寿命的差异:虽然中国的人均寿命逐渐上升,但盲目忽略与发达国家之间的差异,并不合理;
  • +
  • 工作环境与职业压力:相较于西方,中国工人的工作环境恶劣,法律规章保护不足,且社会保障体系也有相当大的差距;
  • +
  • 人口结构与经济发展:中国正经历着由于「计划生育/一孩政策」所带来的、前所未有的老龄化人口结构,城乡收入差距与经济发展的不平衡也会加重社会的负担。
  • +
+

另外,过度强调退休年龄低,也有可能会忽略掉许多关键的问题,我们需要多方面的权衡,并不能仅凭此便赋予延迟退休的合理性。

+

在《中国青年报》上有一篇 2013 年发表的文章《延迟退休可能是对一代人的违约》,目前原始连接已经无法打开,所幸有网友做了备份。文章提到了官员等政策制定者与普通职工对退休的看法,也提到了养老金双轨制与政府的社会责任,推荐一读。在文章的最后,作者曹林写道:

+
+

在养老问题上,改革的次序应该是,先改掉双轨制,再谈延迟退休;先加大政府投入,再谈公众责任。

+
+

想法

其实,这一切我都能理解

+

由于技术与医疗条件的进步,人均寿命不断增长,延迟退休是大势所趋,但不应该是在现在推出 —— 现在太晚了:青年失业率不断升高,工作岗位持续减少,并且居民消费近几年也在下降,养老金也在逐渐枯竭。现在并不是一个好时机,最好的时候,我想应该是在 2016 年 —— 中国社会最有希望的时候。但那时整个社会都欣欣向荣,甚至纸醉金迷,或许所有人都在想着怎么「上车」,也就没人去考虑这些「细枝末节」了。后来全球疫情致使经济下行,各国为了提振经济焦头烂额,我们也无可避免地推出这个不受欢迎的政策了。

+

想到医保,我 2019 年入学的时候每个人只需要两百块不到,而现在我的学弟学妹们却要交四百六十左右,这又是为什么呢?明知故问罢了,我们所有人都知道,疫情三年以后,整个世界都变了。

+

每个国家都做过一些愚蠢至极的事情,但木已成舟,过去的事情已经无法改变了,我们不可避免地会继续迎来每一个日出与日落。国家与社会太大了,我也没有能力和渠道去影响。现在,我只想为自己和家人考虑,独善其身。

+

希望我们能看见每一次的夕阳,直到生命的尽头。

+

不要温和地走进那个良夜

    +
  • Do not go gentle into that good night,
    Old age should burn and rave at close of day;
    Rage, rage against the dying of the light.
  • +
  • Though wise men at their end know dark is right,
    Because their words had forked no lightning they
    Do not go gentle into that good night.
  • +
  • Good men, the last wave by, crying how bright
    Their frail deeds might have danced in a green bay,
    Rage, rage against the dying of the light.
  • +
  • Wild men who caught and sang the sun in flight,
    And learn, too late, they grieved it on its way,
    Do not go gentle into that good night.
  • +
  • Grave men, near death, who see with blinding sight
    Blind eyes could blaze like meteors and be gay,
    Rage, rage against the dying of the light.
  • +
  • And you, my father, there on the sad height,
    Curse, bless, me now with your fierce tears, I pray.
    Do not go gentle into that good night.
    Rage, rage against the dying of the light.
  • +
+
+

这篇十九行诗原文引自维基百科 Wikipedia 不要温和地走进那个良夜

+
+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2024/09/22/messages-and-replies/index.html b/2024/09/22/messages-and-replies/index.html new file mode 100644 index 000000000..4b286b99c --- /dev/null +++ b/2024/09/22/messages-and-replies/index.html @@ -0,0 +1,145 @@ +留言与回信 | 叶子的花园 + + + + + + + + + + + + + + + +

留言与回信

cover作者没有在作品上签名,我找不到他啦……

+

中秋节的时候收到了一位读者的留言,对他的文字深有共情,却一直不知道应该怎么回复他。今天回复了一大段,感觉也算是我对过去自己说的一些话吧,就一并放在这里了。

+ + +

留言

+

Szsyr (@nanguadouf):

+

nice to meet u 中秋快乐。

+

小学的时候为了玩 mc 学过点 python 和 java,虽然现在已经忘完了但我还会时不时浏览一下 github,今日有缘看到前辈的博客,感觉比沃用的 butterfly 主题精致多了,我的博客因为长期没维护更新已经被清库了。

+

不知道该说些啥我就把这里当成树洞了,把我这几天的所想所思所见写在这了。

+

我高一刚开学两周,学校是半衡水模式。在学习上班主任很器重我,但是我在考试中却频频失误,不能回应老师的信任,老师就此事还联系了我家长,嘴上说是激励我学习但实际上就是威胁。

+

沃家里人都是老师,我初中跟父亲在一起上下学,在选团员的时候沃爹给我整了个名额,沃对入团不感兴趣也怕班里人说我动用特权,但在老爹的坚持下我也只能妥协,美其名曰 “特事特办”。

+

高中开学的时候,学校运来了 90 个新疆生,沃们班加了两个新疆人,他们都是汉族人而且身份证也不是新疆的,这两个人明显就是关系户,他们只要有沃们一半的分就能享受民族政策上一本,我们拼了命的做题却不如投个好胎。我以前听说只有高考是绝对公平的,屁。

+

当然我也没资格说别人就是了。如果说体制内除了稳定以外还有什么好处的话我认为就是造福后代了吧。

+

不知道博主的高中是怎么过的,我的高中生活指定是痛苦的了。要说我最期待什么,那肯定是放学回家后的游戏时间,由于我高中同学没有几个用 steam 的,所以沃只能一个人玩。沃什么类型的游戏都玩但受设备性能限制沃只能在 xbox 主机上玩 3A,在笔记本电脑上玩 galgame 和 mate, 当然我同学只会玩手游。中秋只游戏和有 2 个小学同学线上陪着我,这便是我的社交圈。

+

我也曾幻想能交个女朋友,但这终究只是个幻想。就像沃以为沃在 Twitch 油管上看直播就能考好英语,学会了编程就能让同学高看我一眼一样都只是幻想而已。

+

抱歉讲了这么多,谢谢你的树洞,我要是污染了你的净土就把这条评论删了吧:)

+
+

注意:所有的分段为后期所加,原留言请见 博客留言区 或者 GitHub 留言区

+

第一次回复

Misaka_Clover:

+
+

南瓜豆腐?不知道应该如何称呼你,也祝你中秋快乐🎑!

+

你写了好多,请容我回家以后慢慢看,那时我再回复你🥺

+
+

第二次回复

你好,久等了!

+

我一直在想应该如何去回复你,那我就慢慢来说吧。非常感激你愿意在这里写下这么多的文字,这并不会污染什么,我永远也不会删掉你们的评论,感谢你将这片花园变得更加丰富多彩

+

看留言内容,你应该还是一个高中生吧,这一大段文字我 不知道从何开始 回答你,所以我就一点一点地开始吧:

+

博客

+

今日有缘看到前辈的博客,感觉比沃用的 butterfly 主题精致多了,我的博客因为长期没维护更新已经被清库了。

+
+

我中学时期一直都是乖乖学生,直到大学才开始接触编程、博客这些事物。你在中学的时候就写过博客、接触过编程,你已经比我们大多数人强很多啦。

+

高中

+

我高一刚开学两周,学校是半衡水模式。在学习上班主任很器重我,但是我在考试中却频频失误,不能回应老师的信任,老师就此事还联系了我家长,嘴上说是激励我学习但实际上就是威胁。

+
+

在中国🇨🇳的高中,成绩不好就是原罪,除非你在上海的国际高中这种地方。但凡是在需要参加高考的学校,那些地方都只看成绩 —— 甚至可以这样说:你只要每次都是全市/全省前列,那你不去学校上课都行。因为我不知道事情的全貌,我想老师的「威胁」,或许是为了让你有紧迫感?

+

其实考试失误并不可怕。看你的文字,你可能是高一或者高二的学生,你的高中生活还要经历无数次的考试,在未来的人生还要遇到无数的考验,难道因为一次小小的考试就觉得人生失败了吗?我现在已经参加工作了,回想起高中的那些考试,除了高考,没有一个我现在还有多少印象,哪怕是某次期末考试、某次重要的月考,到现在也什么都不是了。

+

很不喜欢张维为的一句话:「这就是中国」。如果你不喜欢这样的模式,或许你可以尝试出国读书?其实这并不是太难的事情,比如你只要上了一本线就可以去新西兰读 QS 前一两百的大学本科,只是信息差导致人们的无法下判断罢了。虽然我不是专业的中介,不过如果你感兴趣的话,可以跟我发邮件交流。

+

一个问题永远都不可能只有一个选择、一种办法。

+

平等、公平与正义

+

沃家里人都是老师,我初中跟父亲在一起上下学,在选团员的时候沃爹给我整了个名额,沃对入团不感兴趣也怕班里人说我动用特权,但在老爹的坚持下我也只能妥协,美其名曰 “特事特办”。高中开学的时候,学校运来了 90 个新疆生,沃们班加了两个新疆人,他们都是汉族人而且身份证也不是新疆的,这两个人明显就是关系户,他们只要有沃们一半的分就能享受民族政策上一本,我们拼了命的做题却不如投个好胎。我以前听说只有高考是绝对公平的,屁。当然我也没资格说别人就是了。如果说体制内除了稳定以外还有什么好处的话我认为就是造福后代了吧。

+
+

公平,是什么意思呢?高考到底是「公平 Fairness」的?还是「平等 Equality」的呢?或者是「正义 Justice」的?

+

这世上的许多事情、甚至可以说是所有的事情,做到了平等,却做不到公平,更做不到正义。比如高考,一个大城市的精英学校学生,与一个县城里的普通学生,和一个少数民族区域的学生,参加同样的考试以分数论。精英学生很容易就考到了六百多分,上了 985;少数民族的学生考了三百多,多考了一门马术(如内蒙),也上了 211;而县城学生寒窗苦读多年,即使他是全县状元,也可能连一本都上不了。这样的考试是平等的吗?如果不考虑暴力加分政策的话,是。这样的考试是公平的吗?不是。至于正义,那更远了。

+

不知道你能不能明白我的意思。满清旗人贵族从出生到死亡,整天吃喝玩乐,不用干一点活,为什么呢?因为「我这辈子的苦,我爷爷,我阿玛他们入关的时候已经替我吃完了」,他们投了一个好胎。现在也是,非常的不公平。不过放眼世界,难道就有绝对的公平存在吗?顶级富豪将财产拿去成立一个基金会,便可避免高额的遗产税(高达 50%),从而使自己的后代衣食无忧;中产阶级供着孩子昂贵的大学学费,毕业以后找一个医生律师这样的体面工作,这样公平吗?即使西方国家在社会公平与人权平等方面做得比我们好,但也实现不了绝对的公平。

+

或许这就是人类社会的缺陷吧,我们永远不可能实现真正的、绝对的公平与正义。但我们可以尽力去实现,去无限接近这个目标。这个世界上不可能存在绝对完美无缺的圆,但我们可以尽力去将它画得完美。

+

娱乐

+

不知道博主的高中是怎么过的,我的高中生活指定是痛苦的了。要说我最期待什么,那肯定是放学回家后的游戏时间,由于我高中同学没有几个用 steam 的,所以沃只能一个人玩。沃什么类型的游戏都玩但受设备性能限制沃只能在 xbox 主机上玩 3A,在笔记本电脑上玩 galgame 和 mate, 当然我同学只会玩手游。中秋只游戏和有 2 个小学同学线上陪着我,这便是我的社交圈。

+
+

哈哈,我高中的时候还没有这么多的游戏呢,就算有,那也很少玩到。我初中毕业那年,求着父母给我买了《守望先锋》,结果等到高中毕业,这三年时间里也不过玩了两三百个小时。你家里有 Xbox 和电脑,感觉家境已经比许多中国家庭都要好了。

+

至于同学们玩手游,所以很少有共同话题一起玩的事情。天才与大众总是格格不入的,没必要强求与他们交朋友。如果你想要与同学们交朋友,那大家玩的手游就不仅仅是游戏了,那就变成了一个社交工具。如此一来,手游便成了交朋友的工具,这样想会不会好受些呢?

+

而我呢,高中的时候不怎么玩游戏,更喜欢看书 —— 特别是科幻小说与历史实记等类型。喜欢买像是《科幻世界》与《环球科学 Scientific American》这样的杂志,会看一些文学作品比如《萌芽》等。

+

人并不是只有从游戏中才能寻得乐趣,在学业之余或可多去发掘一些其他方面,没准也能交到朋友呢。

+

女朋友

+

我也曾幻想能交个女朋友,但这终究只是个幻想。

+
+

这个…… 我也没有经验,帮不了你啦。

+

愿景

+

就像沃以为沃在 Twitch 油管上看直播就能考好英语,学会了编程就能让同学高看我一眼一样都只是幻想而已。

+
+

想要学好英语可不能只是看直播啊,得多背单词,多看多说才行。我其实从小学开始,一直以来英语都不好,甚至有时还不及格。因为我的父亲是英语专业的,他在我小时候强迫我学习英语,所以我对英语非常的抵触。但后来我的母亲把我送去了美国,一个人待了几个月,我的英语就好起来了…… 没办法,如果不会那门语言的话,麦当劳都不会点(

+

至于编程,我敢跟你打赌,你的同学们多半都不知道编程是什么,甚至听都没有听说过!所以不用跟他们赌气啦,编程是一门非常优美的学问,只要你感兴趣,愿意将时间投入其中,相信你能找到自己的价值。

+

最后

你说:

+
+

抱歉讲了这么多,谢谢你的树洞,我要是污染了你的净土就把这条评论删了吧:)

+
+

没想到我写了这么多的东西,抱歉我写了这么多 :)

+

另外,抱歉,我真的不想成为那些有「爹味」的人,但我真的非常与你的文字共情,所以我写了许多我的感想,也写了我的一些建议,希望能对你有帮助!

+

如果你想要与我交流更多的话,欢迎你写邮件给我,我的邮箱地址是:clover@mskclover.com

+

以上,再会。

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/2024/09/27/how-to-open-voice-mail-on-iphone/index.html b/2024/09/27/how-to-open-voice-mail-on-iphone/index.html new file mode 100644 index 000000000..bf96f6a86 --- /dev/null +++ b/2024/09/27/how-to-open-voice-mail-on-iphone/index.html @@ -0,0 +1,132 @@ +如何在 iPhone 上开启语音信箱? | 叶子的花园 + + + + + + + + + + + + + + + +

如何在 iPhone 上开启语音信箱?

IMG_5944推特(Twitter/X)上保存的,找不到作者啦……

+
好想用上苹果公司的「环大陆功能」
+ + + +

TL; DR

想要启用「语音信箱/实时语音留言」功能,请:

+
    +
  • 将 iPhone 软件系统升级至 iOS 18;

    +
  • +
  • 切换地区和语言相对应,我最后设置为:台湾—简体中文;

    +
      +
    • 注意:仅有在对应情况下,设置里面才会出现相关选项,参见论坛有:

      +
      +

      美国 + 简中 (siri 粤语)= 国语应答语,是可以的,以为 B5 是绑定了 siri 语言(编辑中发现并不是);

      +

      美国 + 简中 + siri 粤语 = 不生效;

      +

      香港 + 简中 + siri 粤语 = 粤语应答语;

      +

      新加坡 + 简中 + siri 粤语 = 不生效;

      +

      大陆 + 简中 + siri 粤语 = 粤语应答语(好吧,重新切换一次后发现,是国语了)

      +
      +

      论坛原帖备份 于此

      +
    • +
    +
  • +
  • 然后打开「设置—APP—电话—实时语音留言/Live Voicemall」选项便好。

    +
  • +
+

前言

以往看剧《老友记》,都非常好奇里面的主角们是如何在电话嘀声响起后给对方留言的。后来知道这是一种语音信箱,其实运营商在中国大陆也曾经推广过,不过东方的人们想着「打通了电话却只能留言,那我缺的话费谁给我补呢」,纷纷表示接受不了,这也是我们社会与西方的差异之一吧。

+

但每当我想到 Ross 在 Rachel 的语音留言中深情表白的那浪漫的一幕,我还是想要、至少想试试使用语音信箱的生活。

+

苹果的新功能

+

实况语音信箱可在他人留下语音留言时实时显示语音转写的文字,还能让用户在对方正在留言时接听电话。依托神经网络引擎,实况语音信箱转写功能将完全在设备端处理,保护用户隐私。如果用户启用了“静音未知来电”,未知号码来电将直接进入实况语音信箱。被运营商识别为诈骗电话的来电将被立即拒接。

+

—— 《iOS 17 今日正式发布》,2023-09-18,备份 于此

+
+

苹果自 iOS 17 开始推出了「语音信箱」的功能,允许我们在 iPhone 本地录音、保留并转文字。当时看到的时候,我激动坏了,想要立刻用上新的功能。但那时我毕业不久,兴奋于新的工作,且没有找到设置的按钮,便把这件事情放到一边了。

+

念念不忘,必有回响。 好吧,其实我也是看到别人提到(原文备份 于此)才想起这个功能。记得今年的 iOS 18 发布会好像也提到过这个,便去苹果官网上找找介绍。结果,只在一个不起眼的角落找到了:

+
+

电话 app 中可直接录制实时通话并将其转为听写文本11。搜索通话历史记录更轻松了,拨打更智能了,切换 SIM 卡也顺畅丝滑。

+
    +
  1. 于今年稍晚通过软件更新推出。听写文本功能支持英语 (美国、澳大利亚)、西班牙语 (美国、墨西哥)、中文普通话 (中国大陆)、粤语 (香港) 和韩语 (韩国)
  2. +
+

—— 《iOS 18 真的很你》,备份 于此

+
+

其实这个功能的正式译名叫做「实时语音留言」,好在终于支持中文了。

+

设置

我在设置里没有找到,便才想这是不是又一个「环大陆功能」,便上网找找解决方法。

+

看到了几篇帖子,除了在文章第一段提到的以外,还有一篇帖子(备份 于此)也有助于大家区分以下两者:

+
    +
  • 运营商提供的语音邮箱服务;
  • +
  • 苹果提供的本地实时语音留言服务。
  • +
+

我的手机是港版 iPhone,最初的设置是「美国—简体中文」,设置里面没有这个功能。然后上网找寻方法。苹果官网的iOS 和 iPadOS 18 功能可用性(备份 于此)明确标注:

+
+

iPhone 实时语音留言 支持 粤语、中文普通话。

+
+

所以,想要在语言设置为中文的情况下启用这个功能,肯定是可行的。又看到有人提到iPhone iOS 18.0 实时语音留言功能重要注意事项(备份 于此),我知道了原来手机的地区设置需要与语言对应。在第一个帖子处也有人尝试了一些对应关系,Po 主将地区设置为台湾 🇹🇼 便成功了。虽然我不想将地区设置到美国 🇺🇸 以外 —— 因为这样会少一些功能,但奈何中文的确不是美国的官方语言,所以在头铁撞墙后,还是将地区改到了台湾。

+

如此一来,便没有问题了,在中国 🇨🇳 想要用一些功能可真是费劲啊。

+

voice-mail

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/404.html b/404.html new file mode 100644 index 000000000..d828aa753 --- /dev/null +++ b/404.html @@ -0,0 +1,91 @@ +“页面走丢了喔” | 叶子的花园 + + + + + + + + + + +

“页面走丢了喔”

404
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 000000000..fdbe9e78a --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +mskclover.com \ No newline at end of file diff --git a/about/index.html b/about/index.html new file mode 100644 index 000000000..7cb4f6dc5 --- /dev/null +++ b/about/index.html @@ -0,0 +1,92 @@ +关于叶子 | 叶子的花园 + + + + + + + + + + + + +

关于叶子

+

靡不有初,鲜克有终
——— 《诗经 · 大雅 · 荡》

+
+

见字如面,很高兴能在这里遇到你。

+

这是我在建站时为自己选定的座右铭,如果这里是一片花园,那么这行字多半会镌刻在花园门前的石板上,意在督促自己不要一时兴起开辟下这片苗圃后,而又因为兴尽到最后将这里荒废。这片花园自建成始,曾经确实是有过好几次的长草,不过好在在或长或短的时间之后,我总是能回来修剪这里,算是勉强不负这些文字。

+

既然这里有这么一片花园,那这里的主人又是什么样的人呢?

+

我是谁?

没办法,瞒不住大家了,其实我是「⚡御坂美琴」(

+
    +
  • 🍰 出生于千禧年间;
  • +
  • 🌏 是中国 🇨🇳 南方人;
  • +
  • 📖 目前在广东省广州市工作,我很喜欢这里~
  • +
  • 🌐 是一个技术爱好者;
  • +
  • 🛫 爱好民航客机及相关产业;
  • +
  • 🏎️ 也喜欢看 F1 方程式赛车的比赛,不过这几年潘子统治围场,有些无聊;
  • +
  • 💤 爱好睡觉;
  • +
+

留言板

下方的评论区就当作站点的留言板吧,欢迎留言喔!

+

guestbook

+
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/about/site.html b/about/site.html new file mode 100644 index 000000000..7f5b2782d --- /dev/null +++ b/about/site.html @@ -0,0 +1,140 @@ +关于这片花园 | 叶子的花园 + + + + + + + + + + + + +

关于这片花园

garden

+

花园

+

博客就像是一个人的花园,栽花浇水供自己观赏,但是若能有行人驻足欣赏片刻,那也更添其一分意义所在了。

+
+

这就是我的博客啦,这个页面会记录这个博客/站点的历史。

+

内容方面……因为目前太菜,之前写的技术性文章也不忍直视,可能就先随便写点自己在大学里面的感想,和一些学习方面的笔记什么的吧。

+

懒癌晚期患者,一年多了根本就没写几篇

+

现在两年多了,也只有 26 篇文章,希望开始写周记后文章能越来越多吧(

+

春夏秋冬

+2024 年 + + + +

2024-11-21 添加新的友链

缘分带来了一位新的朋友:Sora~

+

2024-09-13 添加新的友链

在互联网上冲浪的时候发现了一个网上邻居 Oskyla,通过邮件与 TA 添加友链。

+

2024-07-27 添加新的友链

近日 猫梨 NEKORI 私信我说,TA 的新博客搭建好啦,便火速添加友链!

+

2024-07-08 博客 RSS 订阅调整

因为我发布了《接下来的计划》这篇文章,受到不可抗力的影响,我删除了文章,并暂时移除 RSS 订阅按钮。

+

2024-06-30 博客本地文件迁移

自从换了新电脑以后,我发表博客就变得蛮麻烦了:我在 MacBook 上写好以后,还得用磁碟将文件拷贝到 PC 上,然后才能发布。

+

最近忙完了工作,我终于将过去的博客本地文件都迁移到了这台电脑上,以后就可以更加便利地发表啦。

+

当然,博客的版本也过了一个大版本,来到了 2.1.3。

+

2024-02-11 添加了我的长毛象社媒链接

早先就发现,如果在这里留下自己长毛象(Mastodon)的主页链接,那么自己在长毛象贴上的博客链接就会被打上小绿钩,表示这个界面确实是属于我自己的,感觉这样的认证方式比马斯克的合理多了。

+

2024-02-10 新增两个友链,与转载一篇科幻小说

没错,我又鸽了这么久,没想到还有两位新的网上邻居愿意添加我的友链:Travis Roadizfsk。许久没来,才看你们的留言,怪不好意思的(

+

另外,这次我新转载了一篇小时候在《科幻世界》上看过的小说,现在再读,仍旧是一个令人惊叹的好故事,特意摘录于此,希望大家也能感受一番科幻的魅力!(所有权利归原作者、译者与出版社所有)

+
+ +
+2023 年 + +

2023-11-04 新的友链,博客除草

因为参加工作的缘故,我很久都没有写新博文了。近日看到居然有新朋友 时雨 的留言,便相互交换了友链,顺便也来博客除除草,更新了 about 页面 的一点个人情况,接下来就要栽种新的花卉啦~

+

2023-06-03 一点小改动

将每年的某个特殊的日子设为了黑白页面。

+

2023-05-01 新的友链

首先祝今天的大家劳动节快乐!今天添加了 EXEC 的友链,看他过去的博文,想来与我的年龄应该是差不多的吧。

+

2023-04-25 更新 Google Analytics 与友链

因为谷歌政策,原有的 GA3 将在 2023-07-01 停用,所以我将分析资源迁移到了 GA4。

+

并添加了新的友链:沉舟侧畔,这是一位分享全新视角的前辈,很开心能与他交换友链!

+

2023-04-19 更新名言 II

再次更新了一些「sentence你不会注意到的」名言~

+

2023-04-04 域名邮箱

将原来在博客上留下的邮箱,换成了这个域名的邮箱:cover@mskclover.com。另外,还修复了谷歌分析失效的问题……

+

2023-04-01 友链和名言

添加了煎饼果子的友链,好耶!也更新了一些我之前收集的名言「sentence」,放心,你不会注意到的~

+

2023-03-29 博客域名一周年!

今天是我的花园域名 mskclover.com 取名一周年的日子!去年的今天我在 Namecheap 注册了这个域名,想知道那时的相关细节与想法,感兴趣可以看一看「给博客一个新名字!」这篇文章喔。而前几天将它转移到了 Cloudflare,现在用上 CDN 以后访问也快了好多,孩子非常开心,敏感肌也能用,好评!

+

2023-03-27 自我介绍

将近三年了,我终于为自己写了自我介绍,不过还只是很简单的部分。现在到 about 页面,或者在左侧边栏中单击我的名字,就可以看到了喔。

+

2023-03-23 博客新功能添加!

今天我为博客添加了好多的新功能,包括但不限于:点击图片放大预览、新的评论系统 giscus、添加「开往-Travelling友链接力」和自定名言,欢迎大家来试试喔!

+

2023-03-19 博客除草

去年末写完三篇 SQL 博文后,因为忙于考试和秋招,所以就放任博客继续长草了。今年本来也是想写去年的年终总结的,开了个头也再也没有后续。想到我咕了好多事情,真是愧对我在最开始给博客立下的座右铭:「靡不有初,鲜克有终」。想再写些东西,正巧收到 Namecheap 发来的域名续费邮件,就想着借着这次机会,重新开始写博客。一打开 Dash 发现我九块钱注册的域名,续费要十六美刀,这哪里是 Cheap,这分明是养猪!

+

前段时间看到有推友说 Cloudflare 开始提供域名服务了,所以这些天就把域名转移过来了。域名转移得非常顺利,没有遇到什么阻碍。这边差不多九美刀一年,刚转过来还送一年,感觉非常的良心(所以我也把博客底部的文字改成了「本网站由好人一生平安的 Cloudflare 提供免费的 CDN 加速」。

+

并且看到其他有博主使用萌 ICP 的备案,我今天也整了一个,自己选的备案号是 20232952,至于什么意思,那我就不知道了(

+

然后从这次开始试试写周记,如果效果不错的话,希望能一直写下去~

+
+ +
+2022 年 + +

2022-04-02 博客修缮

我终于又想起这片「草地」了,借着为博客申请新域名的契机,好好修缮了一番博客,把老旧的 Hexo 框架以及 Yun主题 的版本都进行了升级。可是我主题的当时的 0.9.1 的旧版本与 1.8.11 的新版本不太兼容,所以又花费了好些时间在上面。最让人头疼的是 GitHub 在去年 8 月不再支持在命令行中使用密码对仓库 git push,可是我按照官方指南所指示的那样使用 token,也没有成功,最后发现原来是 hexo-deployer-git 这个插件太老了……

+

不论如何,我终于有将博客修缮一新了,就跟一年半之前的博客无甚区别,也水了一篇新的博文,一切看起来都那么的美好。

+
+ +
+2021 年 + +

博客长草

今年虽然发了几篇博文,但大部分时候,我都很少来除草(

+
+ +
+2020 年 + +

2020-08-22 —— 2020-08-24 博客搭建完毕

这几天按照云游前辈 @YunYouJun 的教程和模板,在 Github Pages 上用 Hexo 搭建了这个站点。

+
+ + + +
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/ads.txt b/ads.txt new file mode 100644 index 000000000..0bcfb2334 --- /dev/null +++ b/ads.txt @@ -0,0 +1 @@ +google.com, pub-4618904761682457, DIRECT, f08c47fec0942fa0 \ No newline at end of file diff --git a/archives/2020/08/index.html b/archives/2020/08/index.html new file mode 100644 index 000000000..a708316f3 --- /dev/null +++ b/archives/2020/08/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2020

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2020/09/index.html b/archives/2020/09/index.html new file mode 100644 index 000000000..ad68ced67 --- /dev/null +++ b/archives/2020/09/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2020

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2020/index.html b/archives/2020/index.html new file mode 100644 index 000000000..fbd778493 --- /dev/null +++ b/archives/2020/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2020

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2021/01/index.html b/archives/2021/01/index.html new file mode 100644 index 000000000..7e8f5cde2 --- /dev/null +++ b/archives/2021/01/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2021

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2021/02/index.html b/archives/2021/02/index.html new file mode 100644 index 000000000..5eedb3787 --- /dev/null +++ b/archives/2021/02/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2021

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2021/05/index.html b/archives/2021/05/index.html new file mode 100644 index 000000000..47a8da1d9 --- /dev/null +++ b/archives/2021/05/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2021

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2021/07/index.html b/archives/2021/07/index.html new file mode 100644 index 000000000..4da164fcd --- /dev/null +++ b/archives/2021/07/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2021

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2021/index.html b/archives/2021/index.html new file mode 100644 index 000000000..1a7a84b11 --- /dev/null +++ b/archives/2021/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +
\ No newline at end of file diff --git a/archives/2022/03/index.html b/archives/2022/03/index.html new file mode 100644 index 000000000..9eb2bb8df --- /dev/null +++ b/archives/2022/03/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2022

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2022/04/index.html b/archives/2022/04/index.html new file mode 100644 index 000000000..7e58a5c2e --- /dev/null +++ b/archives/2022/04/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2022

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2022/05/index.html b/archives/2022/05/index.html new file mode 100644 index 000000000..9825b4596 --- /dev/null +++ b/archives/2022/05/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2022

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2022/06/index.html b/archives/2022/06/index.html new file mode 100644 index 000000000..fd188b179 --- /dev/null +++ b/archives/2022/06/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2022

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2022/07/index.html b/archives/2022/07/index.html new file mode 100644 index 000000000..80368b0bb --- /dev/null +++ b/archives/2022/07/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2022

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2022/10/index.html b/archives/2022/10/index.html new file mode 100644 index 000000000..5ee59759e --- /dev/null +++ b/archives/2022/10/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2022

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2022/12/index.html b/archives/2022/12/index.html new file mode 100644 index 000000000..30fe67e6d --- /dev/null +++ b/archives/2022/12/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2022

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2022/index.html b/archives/2022/index.html new file mode 100644 index 000000000..15bedadde --- /dev/null +++ b/archives/2022/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +
\ No newline at end of file diff --git a/archives/2023/03/index.html b/archives/2023/03/index.html new file mode 100644 index 000000000..f7c67abf4 --- /dev/null +++ b/archives/2023/03/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2023

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2023/04/index.html b/archives/2023/04/index.html new file mode 100644 index 000000000..68e78eebd --- /dev/null +++ b/archives/2023/04/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +
\ No newline at end of file diff --git a/archives/2023/05/index.html b/archives/2023/05/index.html new file mode 100644 index 000000000..340a49f45 --- /dev/null +++ b/archives/2023/05/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2023

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2023/06/index.html b/archives/2023/06/index.html new file mode 100644 index 000000000..376bf91b4 --- /dev/null +++ b/archives/2023/06/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2023

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2023/12/index.html b/archives/2023/12/index.html new file mode 100644 index 000000000..555e81538 --- /dev/null +++ b/archives/2023/12/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2023

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2023/index.html b/archives/2023/index.html new file mode 100644 index 000000000..ffaf15c4c --- /dev/null +++ b/archives/2023/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +
\ No newline at end of file diff --git a/archives/2024/02/index.html b/archives/2024/02/index.html new file mode 100644 index 000000000..0bdad13f3 --- /dev/null +++ b/archives/2024/02/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2024

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2024/03/index.html b/archives/2024/03/index.html new file mode 100644 index 000000000..3e27e9212 --- /dev/null +++ b/archives/2024/03/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2024

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2024/04/index.html b/archives/2024/04/index.html new file mode 100644 index 000000000..1d54e0219 --- /dev/null +++ b/archives/2024/04/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2024

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2024/05/index.html b/archives/2024/05/index.html new file mode 100644 index 000000000..64a34312e --- /dev/null +++ b/archives/2024/05/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2024

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2024/06/index.html b/archives/2024/06/index.html new file mode 100644 index 000000000..630666030 --- /dev/null +++ b/archives/2024/06/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志
没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2024/07/index.html b/archives/2024/07/index.html new file mode 100644 index 000000000..c7e1c176e --- /dev/null +++ b/archives/2024/07/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2024

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2024/09/index.html b/archives/2024/09/index.html new file mode 100644 index 000000000..c5e49a151 --- /dev/null +++ b/archives/2024/09/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +

归档

共计 52 篇日志

2024

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/archives/2024/index.html b/archives/2024/index.html new file mode 100644 index 000000000..962b4cf04 --- /dev/null +++ b/archives/2024/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +
\ No newline at end of file diff --git a/archives/index.html b/archives/index.html new file mode 100644 index 000000000..95db5fc35 --- /dev/null +++ b/archives/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +
\ No newline at end of file diff --git a/archives/page/2/index.html b/archives/page/2/index.html new file mode 100644 index 000000000..27c2d4cb3 --- /dev/null +++ b/archives/page/2/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +
\ No newline at end of file diff --git a/archives/page/3/index.html b/archives/page/3/index.html new file mode 100644 index 000000000..e60a22669 --- /dev/null +++ b/archives/page/3/index.html @@ -0,0 +1,68 @@ +归档 | 叶子的花园 + + + + + + + + +
\ No newline at end of file diff --git a/atom.xml b/atom.xml new file mode 100644 index 000000000..7ab2adff3 --- /dev/null +++ b/atom.xml @@ -0,0 +1,599 @@ + + + 叶子的花园 + + 靡不有初,鲜克有终 + + + + 2024-09-27T16:09:34.212Z + https://mskclover.com/ + + + 叶子 + + + + Hexo + + + 如何在 iPhone 上开启语音信箱? + + https://mskclover.com/2024/09/27/how-to-open-voice-mail-on-iphone/ + 2024-09-27T14:34:34.000Z + 2024-09-27T16:09:34.212Z + + IMG_5944推特(Twitter/X)上保存的,找不到作者啦……

好想用上苹果公司的「环大陆功能」

TL; DR

想要启用「语音信箱/实时语音留言」功能,请:

  • 将 iPhone 软件系统升级至 iOS 18;

  • 切换地区和语言相对应,我最后设置为:台湾—简体中文;

    • 注意:仅有在对应情况下,设置里面才会出现相关选项,参见论坛有:

      美国 + 简中 (siri 粤语)= 国语应答语,是可以的,以为 B5 是绑定了 siri 语言(编辑中发现并不是);

      美国 + 简中 + siri 粤语 = 不生效;

      香港 + 简中 + siri 粤语 = 粤语应答语;

      新加坡 + 简中 + siri 粤语 = 不生效;

      大陆 + 简中 + siri 粤语 = 粤语应答语(好吧,重新切换一次后发现,是国语了)

      论坛原帖备份 于此

  • 然后打开「设置—APP—电话—实时语音留言/Live Voicemall」选项便好。

前言

以往看剧《老友记》,都非常好奇里面的主角们是如何在电话嘀声响起后给对方留言的。后来知道这是一种语音信箱,其实运营商在中国大陆也曾经推广过,不过东方的人们想着「打通了电话却只能留言,那我缺的话费谁给我补呢」,纷纷表示接受不了,这也是我们社会与西方的差异之一吧。

但每当我想到 Ross 在 Rachel 的语音留言中深情表白的那浪漫的一幕,我还是想要、至少想试试使用语音信箱的生活。

苹果的新功能

实况语音信箱可在他人留下语音留言时实时显示语音转写的文字,还能让用户在对方正在留言时接听电话。依托神经网络引擎,实况语音信箱转写功能将完全在设备端处理,保护用户隐私。如果用户启用了“静音未知来电”,未知号码来电将直接进入实况语音信箱。被运营商识别为诈骗电话的来电将被立即拒接。

—— 《iOS 17 今日正式发布》,2023-09-18,备份 于此

苹果自 iOS 17 开始推出了「语音信箱」的功能,允许我们在 iPhone 本地录音、保留并转文字。当时看到的时候,我激动坏了,想要立刻用上新的功能。但那时我毕业不久,兴奋于新的工作,且没有找到设置的按钮,便把这件事情放到一边了。

念念不忘,必有回响。 好吧,其实我也是看到别人提到(原文备份 于此)才想起这个功能。记得今年的 iOS 18 发布会好像也提到过这个,便去苹果官网上找找介绍。结果,只在一个不起眼的角落找到了:

电话 app 中可直接录制实时通话并将其转为听写文本11。搜索通话历史记录更轻松了,拨打更智能了,切换 SIM 卡也顺畅丝滑。

  1. 于今年稍晚通过软件更新推出。听写文本功能支持英语 (美国、澳大利亚)、西班牙语 (美国、墨西哥)、中文普通话 (中国大陆)、粤语 (香港) 和韩语 (韩国)

—— 《iOS 18 真的很你》,备份 于此

其实这个功能的正式译名叫做「实时语音留言」,好在终于支持中文了。

设置

我在设置里没有找到,便才想这是不是又一个「环大陆功能」,便上网找找解决方法。

看到了几篇帖子,除了在文章第一段提到的以外,还有一篇帖子(备份 于此)也有助于大家区分以下两者:

  • 运营商提供的语音邮箱服务;
  • 苹果提供的本地实时语音留言服务。

我的手机是港版 iPhone,最初的设置是「美国—简体中文」,设置里面没有这个功能。然后上网找寻方法。苹果官网的iOS 和 iPadOS 18 功能可用性(备份 于此)明确标注:

iPhone 实时语音留言 支持 粤语、中文普通话。

所以,想要在语言设置为中文的情况下启用这个功能,肯定是可行的。又看到有人提到iPhone iOS 18.0 实时语音留言功能重要注意事项(备份 于此),我知道了原来手机的地区设置需要与语言对应。在第一个帖子处也有人尝试了一些对应关系,Po 主将地区设置为台湾 🇹🇼 便成功了。虽然我不想将地区设置到美国 🇺🇸 以外 —— 因为这样会少一些功能,但奈何中文的确不是美国的官方语言,所以在头铁撞墙后,还是将地区改到了台湾。

如此一来,便没有问题了,在中国 🇨🇳 想要用一些功能可真是费劲啊。

voice-mail

]]>
+ + + 好想用上苹果公司的「环大陆功能」 + + + + + + + + + + + + +
+ + + 留言与回信 + + https://mskclover.com/2024/09/22/messages-and-replies/ + 2024-09-22T13:50:34.000Z + 2024-09-22T14:05:15.176Z + + cover作者没有在作品上签名,我找不到他啦……

中秋节的时候收到了一位读者的留言,对他的文字深有共情,却一直不知道应该怎么回复他。今天回复了一大段,感觉也算是我对过去自己说的一些话吧,就一并放在这里了。

留言

Szsyr (@nanguadouf):

nice to meet u 中秋快乐。

小学的时候为了玩 mc 学过点 python 和 java,虽然现在已经忘完了但我还会时不时浏览一下 github,今日有缘看到前辈的博客,感觉比沃用的 butterfly 主题精致多了,我的博客因为长期没维护更新已经被清库了。

不知道该说些啥我就把这里当成树洞了,把我这几天的所想所思所见写在这了。

我高一刚开学两周,学校是半衡水模式。在学习上班主任很器重我,但是我在考试中却频频失误,不能回应老师的信任,老师就此事还联系了我家长,嘴上说是激励我学习但实际上就是威胁。

沃家里人都是老师,我初中跟父亲在一起上下学,在选团员的时候沃爹给我整了个名额,沃对入团不感兴趣也怕班里人说我动用特权,但在老爹的坚持下我也只能妥协,美其名曰 “特事特办”。

高中开学的时候,学校运来了 90 个新疆生,沃们班加了两个新疆人,他们都是汉族人而且身份证也不是新疆的,这两个人明显就是关系户,他们只要有沃们一半的分就能享受民族政策上一本,我们拼了命的做题却不如投个好胎。我以前听说只有高考是绝对公平的,屁。

当然我也没资格说别人就是了。如果说体制内除了稳定以外还有什么好处的话我认为就是造福后代了吧。

不知道博主的高中是怎么过的,我的高中生活指定是痛苦的了。要说我最期待什么,那肯定是放学回家后的游戏时间,由于我高中同学没有几个用 steam 的,所以沃只能一个人玩。沃什么类型的游戏都玩但受设备性能限制沃只能在 xbox 主机上玩 3A,在笔记本电脑上玩 galgame 和 mate, 当然我同学只会玩手游。中秋只游戏和有 2 个小学同学线上陪着我,这便是我的社交圈。

我也曾幻想能交个女朋友,但这终究只是个幻想。就像沃以为沃在 Twitch 油管上看直播就能考好英语,学会了编程就能让同学高看我一眼一样都只是幻想而已。

抱歉讲了这么多,谢谢你的树洞,我要是污染了你的净土就把这条评论删了吧:)

注意:所有的分段为后期所加,原留言请见 博客留言区 或者 GitHub 留言区

第一次回复

Misaka_Clover:

南瓜豆腐?不知道应该如何称呼你,也祝你中秋快乐🎑!

你写了好多,请容我回家以后慢慢看,那时我再回复你🥺

第二次回复

你好,久等了!

我一直在想应该如何去回复你,那我就慢慢来说吧。非常感激你愿意在这里写下这么多的文字,这并不会污染什么,我永远也不会删掉你们的评论,感谢你将这片花园变得更加丰富多彩

看留言内容,你应该还是一个高中生吧,这一大段文字我 不知道从何开始 回答你,所以我就一点一点地开始吧:

博客

今日有缘看到前辈的博客,感觉比沃用的 butterfly 主题精致多了,我的博客因为长期没维护更新已经被清库了。

我中学时期一直都是乖乖学生,直到大学才开始接触编程、博客这些事物。你在中学的时候就写过博客、接触过编程,你已经比我们大多数人强很多啦。

高中

我高一刚开学两周,学校是半衡水模式。在学习上班主任很器重我,但是我在考试中却频频失误,不能回应老师的信任,老师就此事还联系了我家长,嘴上说是激励我学习但实际上就是威胁。

在中国🇨🇳的高中,成绩不好就是原罪,除非你在上海的国际高中这种地方。但凡是在需要参加高考的学校,那些地方都只看成绩 —— 甚至可以这样说:你只要每次都是全市/全省前列,那你不去学校上课都行。因为我不知道事情的全貌,我想老师的「威胁」,或许是为了让你有紧迫感?

其实考试失误并不可怕。看你的文字,你可能是高一或者高二的学生,你的高中生活还要经历无数次的考试,在未来的人生还要遇到无数的考验,难道因为一次小小的考试就觉得人生失败了吗?我现在已经参加工作了,回想起高中的那些考试,除了高考,没有一个我现在还有多少印象,哪怕是某次期末考试、某次重要的月考,到现在也什么都不是了。

很不喜欢张维为的一句话:「这就是中国」。如果你不喜欢这样的模式,或许你可以尝试出国读书?其实这并不是太难的事情,比如你只要上了一本线就可以去新西兰读 QS 前一两百的大学本科,只是信息差导致人们的无法下判断罢了。虽然我不是专业的中介,不过如果你感兴趣的话,可以跟我发邮件交流。

一个问题永远都不可能只有一个选择、一种办法。

平等、公平与正义

沃家里人都是老师,我初中跟父亲在一起上下学,在选团员的时候沃爹给我整了个名额,沃对入团不感兴趣也怕班里人说我动用特权,但在老爹的坚持下我也只能妥协,美其名曰 “特事特办”。高中开学的时候,学校运来了 90 个新疆生,沃们班加了两个新疆人,他们都是汉族人而且身份证也不是新疆的,这两个人明显就是关系户,他们只要有沃们一半的分就能享受民族政策上一本,我们拼了命的做题却不如投个好胎。我以前听说只有高考是绝对公平的,屁。当然我也没资格说别人就是了。如果说体制内除了稳定以外还有什么好处的话我认为就是造福后代了吧。

公平,是什么意思呢?高考到底是「公平 Fairness」的?还是「平等 Equality」的呢?或者是「正义 Justice」的?

这世上的许多事情、甚至可以说是所有的事情,做到了平等,却做不到公平,更做不到正义。比如高考,一个大城市的精英学校学生,与一个县城里的普通学生,和一个少数民族区域的学生,参加同样的考试以分数论。精英学生很容易就考到了六百多分,上了 985;少数民族的学生考了三百多,多考了一门马术(如内蒙),也上了 211;而县城学生寒窗苦读多年,即使他是全县状元,也可能连一本都上不了。这样的考试是平等的吗?如果不考虑暴力加分政策的话,是。这样的考试是公平的吗?不是。至于正义,那更远了。

不知道你能不能明白我的意思。满清旗人贵族从出生到死亡,整天吃喝玩乐,不用干一点活,为什么呢?因为「我这辈子的苦,我爷爷,我阿玛他们入关的时候已经替我吃完了」,他们投了一个好胎。现在也是,非常的不公平。不过放眼世界,难道就有绝对的公平存在吗?顶级富豪将财产拿去成立一个基金会,便可避免高额的遗产税(高达 50%),从而使自己的后代衣食无忧;中产阶级供着孩子昂贵的大学学费,毕业以后找一个医生律师这样的体面工作,这样公平吗?即使西方国家在社会公平与人权平等方面做得比我们好,但也实现不了绝对的公平。

或许这就是人类社会的缺陷吧,我们永远不可能实现真正的、绝对的公平与正义。但我们可以尽力去实现,去无限接近这个目标。这个世界上不可能存在绝对完美无缺的圆,但我们可以尽力去将它画得完美。

娱乐

不知道博主的高中是怎么过的,我的高中生活指定是痛苦的了。要说我最期待什么,那肯定是放学回家后的游戏时间,由于我高中同学没有几个用 steam 的,所以沃只能一个人玩。沃什么类型的游戏都玩但受设备性能限制沃只能在 xbox 主机上玩 3A,在笔记本电脑上玩 galgame 和 mate, 当然我同学只会玩手游。中秋只游戏和有 2 个小学同学线上陪着我,这便是我的社交圈。

哈哈,我高中的时候还没有这么多的游戏呢,就算有,那也很少玩到。我初中毕业那年,求着父母给我买了《守望先锋》,结果等到高中毕业,这三年时间里也不过玩了两三百个小时。你家里有 Xbox 和电脑,感觉家境已经比许多中国家庭都要好了。

至于同学们玩手游,所以很少有共同话题一起玩的事情。天才与大众总是格格不入的,没必要强求与他们交朋友。如果你想要与同学们交朋友,那大家玩的手游就不仅仅是游戏了,那就变成了一个社交工具。如此一来,手游便成了交朋友的工具,这样想会不会好受些呢?

而我呢,高中的时候不怎么玩游戏,更喜欢看书 —— 特别是科幻小说与历史实记等类型。喜欢买像是《科幻世界》与《环球科学 Scientific American》这样的杂志,会看一些文学作品比如《萌芽》等。

人并不是只有从游戏中才能寻得乐趣,在学业之余或可多去发掘一些其他方面,没准也能交到朋友呢。

女朋友

我也曾幻想能交个女朋友,但这终究只是个幻想。

这个…… 我也没有经验,帮不了你啦。

愿景

就像沃以为沃在 Twitch 油管上看直播就能考好英语,学会了编程就能让同学高看我一眼一样都只是幻想而已。

想要学好英语可不能只是看直播啊,得多背单词,多看多说才行。我其实从小学开始,一直以来英语都不好,甚至有时还不及格。因为我的父亲是英语专业的,他在我小时候强迫我学习英语,所以我对英语非常的抵触。但后来我的母亲把我送去了美国,一个人待了几个月,我的英语就好起来了…… 没办法,如果不会那门语言的话,麦当劳都不会点(

至于编程,我敢跟你打赌,你的同学们多半都不知道编程是什么,甚至听都没有听说过!所以不用跟他们赌气啦,编程是一门非常优美的学问,只要你感兴趣,愿意将时间投入其中,相信你能找到自己的价值。

最后

你说:

抱歉讲了这么多,谢谢你的树洞,我要是污染了你的净土就把这条评论删了吧:)

没想到我写了这么多的东西,抱歉我写了这么多 :)

另外,抱歉,我真的不想成为那些有「爹味」的人,但我真的非常与你的文字共情,所以我写了许多我的感想,也写了我的一些建议,希望能对你有帮助!

如果你想要与我交流更多的话,欢迎你写邮件给我,我的邮箱地址是:clover@mskclover.com

以上,再会。

]]>
+ + + 写给过去的自己 + + + + + + + + + + + + + + +
+ + + 有关延迟退休的一点想法 + + https://mskclover.com/2024/09/14/thoughts-on-delayed-retirement/ + 2024-09-14T01:47:34.000Z + 2024-09-15T02:07:17.029Z + + cover近期电影《异形:罗穆路斯》中的片段

Do not go gentle into that good night, Old age should burn and rave at close of day; Rage, rage against the dying of the light.

—— Do not go gentle into that good night, Dylan Thomas (1914-1953), Botteghe Oscure (1951)

背景

昨日,我下夜班回家以后,手机便收到了延迟退休的推送消息,一切都尘埃落定了。

新华社北京 9 月 13 日电

全国人民代表大会常务委员会关于实施渐进式延迟法定退休年龄的决定
(2024 年 9 月 13 日第十四届全国人民代表大会常务委员会第十一次会议通过)

……

一、同步启动延迟男、女职工的法定退休年龄,用十五年时间,逐步将男职工的法定退休年龄从原六十周岁延迟至六十三周岁,将女职工的法定退休年龄从原五十周岁、五十五周岁分别延迟至五十五周岁、五十八周岁。

……

原文 在此,备份 于此于此

国情

中国人很少有政治参与感,大家好像都在避免谈论政治话题,好像政治是一个非常敏感的东西。我不喜欢这样,Notepad++ 的作者曾经在他的博客中写道:

The problem is, if we don’t deal with politics, politics will deal with us.

我时常与朋友说起这句话。我们都知道,大部分中国人习惯了 「大家长」式 的政府,都认为政府会安排好一切的,自己也很难去影响政府的决定,所以就只好接受来自政府的一切安排。

国情如此。

纽约时报关于中国延迟退休报道的最后一句段是:

在中国的社交媒体上,主要的官方媒体控制着相关新闻的评论区。共产党喉舌《人民日报》的一篇帖子下的热门评论之一是:“了解。”

更多角度

我知道,延迟退休是无法避免的事情,世界各国均调高了退休年龄,法国去年顶着社会游行示威的压力,硬生生地推动了推迟两年退休这一不受欢迎的决定。并且,中国官员的说法是正确的:中国的退休年龄在世界各国都算很低了。我们在世界经济论坛的网站上可以看到各国的退休年龄对比(存档 于此,中国的退休年龄就算推迟了三年,那也低于绝大多数的发达国家。

但仅凭此据,便可以证明我们延迟退休政策的合理性吗?

简单想想,我们就可以梳理出中国与其他发达国家有关退休的以下角度:

  • 平均预期寿命的差异:虽然中国的人均寿命逐渐上升,但盲目忽略与发达国家之间的差异,并不合理;
  • 工作环境与职业压力:相较于西方,中国工人的工作环境恶劣,法律规章保护不足,且社会保障体系也有相当大的差距;
  • 人口结构与经济发展:中国正经历着由于「计划生育/一孩政策」所带来的、前所未有的老龄化人口结构,城乡收入差距与经济发展的不平衡也会加重社会的负担。

另外,过度强调退休年龄低,也有可能会忽略掉许多关键的问题,我们需要多方面的权衡,并不能仅凭此便赋予延迟退休的合理性。

在《中国青年报》上有一篇 2013 年发表的文章《延迟退休可能是对一代人的违约》,目前原始连接已经无法打开,所幸有网友做了备份。文章提到了官员等政策制定者与普通职工对退休的看法,也提到了养老金双轨制与政府的社会责任,推荐一读。在文章的最后,作者曹林写道:

在养老问题上,改革的次序应该是,先改掉双轨制,再谈延迟退休;先加大政府投入,再谈公众责任。

想法

其实,这一切我都能理解

由于技术与医疗条件的进步,人均寿命不断增长,延迟退休是大势所趋,但不应该是在现在推出 —— 现在太晚了:青年失业率不断升高,工作岗位持续减少,并且居民消费近几年也在下降,养老金也在逐渐枯竭。现在并不是一个好时机,最好的时候,我想应该是在 2016 年 —— 中国社会最有希望的时候。但那时整个社会都欣欣向荣,甚至纸醉金迷,或许所有人都在想着怎么「上车」,也就没人去考虑这些「细枝末节」了。后来全球疫情致使经济下行,各国为了提振经济焦头烂额,我们也无可避免地推出这个不受欢迎的政策了。

想到医保,我 2019 年入学的时候每个人只需要两百块不到,而现在我的学弟学妹们却要交四百六十左右,这又是为什么呢?明知故问罢了,我们所有人都知道,疫情三年以后,整个世界都变了。

每个国家都做过一些愚蠢至极的事情,但木已成舟,过去的事情已经无法改变了,我们不可避免地会继续迎来每一个日出与日落。国家与社会太大了,我也没有能力和渠道去影响。现在,我只想为自己和家人考虑,独善其身。

希望我们能看见每一次的夕阳,直到生命的尽头。

不要温和地走进那个良夜

  • Do not go gentle into that good night,
    Old age should burn and rave at close of day;
    Rage, rage against the dying of the light.
  • Though wise men at their end know dark is right,
    Because their words had forked no lightning they
    Do not go gentle into that good night.
  • Good men, the last wave by, crying how bright
    Their frail deeds might have danced in a green bay,
    Rage, rage against the dying of the light.
  • Wild men who caught and sang the sun in flight,
    And learn, too late, they grieved it on its way,
    Do not go gentle into that good night.
  • Grave men, near death, who see with blinding sight
    Blind eyes could blaze like meteors and be gay,
    Rage, rage against the dying of the light.
  • And you, my father, there on the sad height,
    Curse, bless, me now with your fierce tears, I pray.
    Do not go gentle into that good night.
    Rage, rage against the dying of the light.

这篇十九行诗原文引自维基百科 Wikipedia 不要温和地走进那个良夜

]]>
+ + + <p><img src="/images/thoughts-on-delayed-retirement/cover.jpg" alt="cover"><em>近期电影《异形:罗穆路斯》中的片段</em></p> +<blockquote> +<p>Do not go gentle into that good night, Old age should burn and rave at close of day; Rage, rage against the dying of the light.</p> +<p>—— <em>Do not go gentle into that good night</em>, <strong>Dylan Thomas (1914-1953)</strong>, Botteghe Oscure (1951)</p> +</blockquote> + + + + + + + + + + + + +
+ + + 使用 Cloudflare 在 Gmail 上配置域名邮箱 + + https://mskclover.com/2024/07/31/custom-email-on-gmail-by-cloudflare/ + 2024-07-31T08:17:34.000Z + 2024-09-22T14:10:25.336Z + +

前言

在去年初,我在这篇周记里讲我配置了「域名邮箱的接收」,但是因为我犯懒,就一直没有配置其发送。最近看到一个关注许久的博客出了问题,无法留言,就趁此机会把「域名邮箱的发送」配置啦。本篇文章的所有配置步骤,均参考 数字游民 的这篇教程:如何使用 Cloudflare 配置域名邮箱收发邮件(备份 于此),并根据自己的经历作了一点小小的修改。

整个步骤大体上可以分为两个部分:

  • 配置域名邮箱接收邮件,并转发到自己的邮箱(如 Gmail);
  • 配置域名邮箱发送邮件,该功能依托其他大型邮件服务商(如 Gmail)。

选择 Cloudflare 作为自己的域名托管商

在我之前的文章里,有说过为什么选择 Cloudflare 作为我的域名托管商。最初我的域名是托管在 Namecheap 上的,不过由于首年便宜,续费太贵的缘故,我就将域名转移到了 Cloudflare 上了 —— 这是偷偷摸摸做的,那时忙着做实验室的项目,所以忘记写一篇博文来纪念一下了,好遗憾的。Cloudflare 在这篇博客里说过他们为什么会开始自己做域名服务的托管,也说了他们为什么不会像其他公司一样将续费价格翻好几倍,当然也说了他们为什么承诺为每一位用户提供 免费 SSL 等服务。我真的好感动,Cloudflare 为大家创造了一个更好的互联网,难怪许多人都愿意尊称他们为「赛博佛祖」

registrar-pricingCloudflare 所列出的顶级域名收费明细

如果自己有域名,需要将其转移到 Cloudflare 上托管。如果没有域名,那直接在 Cloudflare 上注册一个也未尝不可。

设置 Cloudflare Email Routing 路由规则

登陆 Cloudflare 的 dash/控制台 页面,其左栏应有 Email/电子邮件 一项,在下拉列表的 电子邮件路由 — 路由规则 处有:

catch-all

可以打开该功能,会使得所有发给你域名的邮件都会应用后续规则,也就是都会转发到你指定的目标邮箱。该功能是可选项,非必须。我参考的教程上,有这样写道:

比较在乎隐私保护的朋友可以使用这个服务,比如在注册各种网站服务时用服务名称临时编个前缀,注册 craft 时就用 craft@example.com;注册 disney+ 时就用 disney@example.com。 这样收到垃圾邮件时,可以知道是哪家服务商把你的信息泄露了,也可以根据收件人来拒收邮件。

而在页面下方有:

creat-email

可以点击右侧的 创建地址 会出现:

DNS

在「自定义地址」处填入自己想要的邮箱地址,在「操作」处填入 发送到电子邮件(即转发功能),在「目标位置」填入自己的邮箱以后,我们便设置好了。接下来 Cloudflare 会给你的邮箱发送一封确认邮件,点击其中的链接即可验证身份,到此配置完毕。

添加 Cloudflare 的 MX 记录

在配置好以上邮箱与路由规则以后,在 Email/电子邮件 处点击「添加记录」,就可以将 MX 记录一键导入到 DNS — 记录 中,参考类型如下:

DNS

配置 Gmail 以域名邮箱的名义发送邮件

我认为在网络世界中,邮箱名字链接了太多的个人信息,这也是个人隐私的一部份。所以,我想要在某些时候,以域名邮箱的名义发送邮件,比如域名邮箱接收到他人来信的时候 —— 他人发邮件给你的域名邮箱,总不好用另外一个邮箱回复别人吧(

下面,我继续参考上述教程,以 Gmail 为基础,配置代理域名邮箱的发送功能:

获取谷歌账户的专属应用密码

在浏览器中打开链接:https://myaccount.google.com/apppasswords

apppasswords谷歌的中文排版为什么总是喜欢逼死强迫症?

填入一个「自定义信息」后,就会弹出窗口「系統產生的應用程式密碼」,并显示一串密码。注意:一定要复制并妥善保存这个密码,因为在你点击「确认」以后,你就再也看不到这个密码了。

我填入的自定义信息是:Gmail-Cloudflare-mail,以供参考。

配置 Gmail 发送邮件地址

登入 Gmail,在其右上角找到齿轮 设置 — 查看所有設定 — 帳戶和匯入,在「選擇寄件地址」一栏找到「新增另一個電子郵件地址」:

add-another-email

点击「新增另一個電子郵件地址」后,会出现弹窗:

enter-email

请注意:

  • 邮箱名字会用于之后发邮件的默认名,会对外展示,请慎重填写;
  • 域名邮箱地址,请事先在 Cloudflare 中配置此前缀域名邮箱,确认可以接收邮件。

完成填写后,点击「下一步」:

add-account

  • SMTP 需要填写 smtp.gmail.com;
  • port 端口保持默认即可,如果需要变更协议,端口需要做相应变更;
  • username 填写原本 Gmail 的用户名,即邮箱地址中除去 @gmail.com 之外的信息;
  • password 需要使用在步骤 4.1 中获取的专属应用密码;

如果上述步骤没有问题,成功进入下一个页面会看到:

confirm因为我已经建好了域名邮箱,所以截取的是教程中的图片

此时,Gmail 会收到一封邮件,在邮件中点击链接,或者在此输入邮件中的验证码,即可配置完成。未来在使用 Gmail 发送邮件的时候,可以在发件人处选择发送该封邮件的地址。

以上,希望你一切顺利 :)

]]>
+ + + <img src="/images/custom-email-on-gmail-by-cloudflare/cover.jpg" width="450" alt="cover" /> + + + + + + + + + + + + +
+ + + 接下来的规划 + + https://mskclover.com/2024/06/29/my-next-plan/ + 2024-06-29T13:58:34.000Z + 2024-08-15T14:37:01.112Z + +

本文仍在更新中!毕竟我不能窥视未来。

cover那时我还相信中国会变得更好

“We shall meet in the place where there is no darkness,” he had said. Winston did not know what it meant, only that in some way or another it would come true.

—— George Orwell1984

前言

前几天妈妈出差来广州了,我们讨论了一下接下来的规划,算是得到了家里的支持吧。我希望能将自己的计划写在这里,以提醒自己为什么选择出国,又因何而奋斗。

编程随想曾经在博客里解释过,为什么即使面临着来自当局的骚扰和威胁,他仍然决定留在中国:

如果敢于反抗的人都离开了,那他们就赢了。

俺想继续留在这个奇葩的天朝。与党国斗,与权贵斗,其乐无穷 :)

可我最后却决定离开这里,是因为我认为在有生之年,很难看到共产党倒台。那些人宁愿让中国变成朝鲜 🇰🇵 那样,也要维持自己的统治。在前段时间,我跟一位在德国留学的朋友提起出国的想法,我们打 FaceTime 聊了很久。末了,我跟他说「民主法制,比什么都重要」。他回答到「Freedom is not free」。

我没有能力去为中国作出选择,但我可以做出自己的选择。

我知道你可能会想问:在这样差的大环境里,这份体面的工作已经比大部份中国人都要好了,为什么我会想要出国呢?因为我不想仅仅只是「活着」,我想要有更加民主的体制、更加独立的法制、更加平等的社会,而不是像现在这样的「橡皮图章人大、接受共产党领导的法院、贫富差距扩大和日益极端的社会」。

我能列举出中国 🇨🇳 的种种优点,也能列举出她的许多缺点。在我毕业的时候我为什么没有选择出国,而是选择留下来,这当然是我希望我们能让她变得越来越好。可是,在我工作的这一年中,现实不断在提醒我,这里正在进行着什么样的改变 —— 六月份连续两起在华外国人遇刺,已经足以提醒所有人这片土地上越来越多的仇外情绪。我感觉这里就像是上世纪三十年代的军国主义日本,这个社会上所有的东西都在将这个国家推向战争

ccp-change

至于编制,这个现在整个社会都在追求的东西,这可是铁饭碗呢,为什么我会将它抛弃呢?你知道九十年代末的国企改革吧,那时的人们也认为国企是铁饭碗,不可能下岗的。结果时代的风向一转,许多四五十岁有着长工龄、却出了工厂什么都不会的工人都失去了铁饭碗。我有些亲戚就是在那时从纺织厂、钢笔厂下岗,领着低保一直贫苦到现在。我见识过这些,所以我并不迷信「铁饭碗」,我知道,它并不是永恒的。

许多人其实都意识到了中国的转向:有些人是从 2013 年习近平借「反腐」名义开始清除政治对手时;有些人是看到 2018 年人大修宪废除国家主席任期限制时;有些人是经过疫情三年「层层加码」式的封锁的时候。我现在下定了决心,希望不会太晚吧。

在回家的路上,我听着 羅大佑和蔣志光 的《皇后大道东》,心情五味杂陈。

皇后大道西又皇后大道東,皇后大道東轉皇后大道中。

皇后大道東上為何無皇宮,皇后大道中人民如潮湧。

前几天,香港 🇭🇰 度过了她回归 27 年的纪念日,但她已经不再是从前的那个香港了。香港人民送走了皇后,却迎来了皇帝。不知那位大人的小学文凭,能否看懂「我們對香港的政策五十年不變,我們說這話是算數的」这句话呢?

post

申请

我喜欢写日记,喜欢记录在我身上发生的事情,所以我希望能尽可能详尽地记述我申请留学的经历。为了现在的自己,为了将来的自己,也为了有这样想法的他人。

2024-05-21:起意

我看到中国越来越转向我害怕的模样,因此产生了移民的想法。既然如此,可不能让身上的编制成为束缚我的东西。

我考虑过比如法国的国立民用航空学院、奥地利的工作移民等。

父母认为去香港科技大学会好一些,不过我拒绝了,并重申我的目的是移民而不是留学。

父亲因此转而建议我看看新西兰。

2024-05-22:咨询

我在奥克兰理工大学的官网上,看到 International — agent 部份有大陆的留学机构,我相中了其中两家:██教育 和 IDP CN。晚些时候我电话咨询他们,其中一个留学机构██教育,聊得蛮好的,我从中了解到许多信息。IDP CN 不知道是什么原因,说很快会有顾问联系我,可是我却从来没有收到。

2024-05-23:

因为我要求用邮件交流,所以██教育的顾问通过邮件给我发送了服务介绍和方案流程等,我很满意。

2024-05-25:参加宣传活动

根据我在 IDP CN 官网上看到的活动详情,我去中国银行的一个分行参加了他们和皇家墨尔本大学的一个招生宣讲。

lecture澳大利亚 🇦🇺 某大学宣讲现场

活动蛮不错的,我也惊讶于 IDP CN 的正规性,居然能在中国银行举办活动,并且能邀请来这样优秀的大学。从此,我基本上决定了要找他们当留学顾问 —— 就算我在这次宣讲上又找了他们,可还是没有给我打电话。

不过,由于我那段时间要考取「民用航空电信人员」的执照,因此我的留学计划搁置了一段时间。

2024-06-29:实地探访

我终于把工作中的各种大大小小的事情处理完了,现在我计划去这两个机构的办公室看看。由于 IDP CN 从来没有联系过我,这次我打了他们的 400 电话,一会儿以后总算是有位顾问联系我了。

他们两家的办公室都在天河,我先去了██教育的地点,与顾问大概聊了一个小时左右,挺顺利的,不过我感觉顾问在移民政策方面了解得不算很多。我记得那天又热又晒,我顶着阳光与高楼大厦玻璃幕墙上的反光,走了大概一刻钟到了 IDP CN 的地方。在沙发上没等多久,顾问就来了。我们也谈了差不多一个小时,我非常满意,因为她不仅仅对学校的招生政策了解许多,也对澳洲的移民及签证政策较为熟悉,我非常满意,基本上就决定选择与 IDP CN 签约了。

2024-07-02:选择 IDP CN

收到了来自 IDP CN 顾问的邮件,本邮件、包括以后的所有邮件在去敏以后,都会附在本文的最后。这天是我的夜班,所以我在凌晨才来得及回复邮件,我向顾问提出了几个问题,并询问签约时间等情况,回复内容一并附在后面。

2024-07-03:确定签约时间

收到了 IDP CN 顾问回复的邮件,签约时间改到了七月六日下午。

2024-07-06:签约

contract与代理正式签约

我在中午的时候到了活动地点,居然还是上次的那家中国银行,原来他们有长期合作啊。今天我与 IDP CN 正式签订了合同,虽然我在之前已经收到过合同模版,但我还是逐字检查了合同再签字 —— 这可是一个好习惯呢,对任何需要签字的文件都保持警惕。我将转账回执单通过邮件发给了顾问,因为现在是周末,他们的财务下周一才会将收据开给我。

之后我问起缴费的事情,顾问还建议我说到时候可以开一个中国银行澳洲的账户,你看吧,这就是合作关系。

另外,今晚是我的夜班,所以我赶着时间,大概在 14:00 — 15:10 这段时间里签好了合同,然后坐地铁去上班了。

2024-07-07:

我联系了在学校的学弟,问他能不能替我去教务处开成绩单。结果我在学校教务处的网站上查到了关于停办全日制本科生中英文出国证明材料的通知,发现他们已经放暑假了,我最早也只能在八月末去办理了。

刚刚发了邮件去问 IDP CN 的顾问,不知道会不会耽误申请……

2024-07-08:三封邮件

这天是周一,我在接触中介机构的时候,就明确表示我们通过邮件交流,并且不需要立刻回复,可以等工作时间再回复邮件。我想可能是因为这个原因,顾问一下子给我发了三封邮件:

  • 第一封:提出了「可以先用以前的成绩单开始申请,后面再补新的」方式;
  • 第二封:给我发送了一系列需要准备的清单、需要填写的资料以及授权书和模版等等。并说明了等到周一才发送邮件的原因,我随后也在微信上给顾问确认「不需立即回复」。
  • 第三封:因为他们公司的财务周末不上班,所以这天才把收据寄出,与我确认收件信息。我当晚便确认了我的信息。

2024-07-09:选校方案

这天顾问给我发送了《IDP 选校及时间的规划方案》邮件,不过我还没来得及看……

2024-07-10

我这段时间真的好忙,各种事情,谁说体制内轻松的?

我打算这周把所需要的资料都准备好,因为我以前曾经申请过香港的大学,所以资料一般都没问题的。

给顾问发了封邮件,确认了一些信息。

2024-07-11:存档文件

这天我将整个过程中准备的所有文件都放在了最后「所有产生文件清单」,供我梳理。

因为顾问近日休假一段时间,虽然她今天还是回复了我昨天的邮件,不过我就暂时不联系了。

2024-07-22:

因为我之前申请过香港的学校,所以这些资料我都整理得蛮好的,所以可能去公证一下,就可以了吧。

顾问的休假应该结束了吧,发了封邮件过去问一下最近的疑惑。

2024-07-23

今天收到了顾问对昨天邮件的回复,在晚些时候她又补充了一封附加邮件,我一并列在后面。

顾问的补充邮件中提到她专门去问了大学招生办,我蛮意外的,也对她的服务非常满意。

2024-07-30

最近又是好忙,因为人手不足,算上开会的时间,我已经连续上了 36 小时的班才回了家……

因为我需要将这份工作作为我最后的路,所以我不能直接辞职(虽然很想就是了)。所以,我不能让单位里的人知道我的打算,也就没有多少机会在这里准备资料、看课件和练习,最多只能背背单词。

我过去的经历告诉我,不要期望着「忙完这一段时间,未来就不忙了」,手上的事情越来越多,未来也只会越来越忙。所以我必须要合理推掉工作中的一些额外的事情,同时也多抽出一些休息的时间,来加紧准备了。

由于太久没有回复顾问了,我只好先给她回复了一封邮件,等我有时间以后再处理相关资料。

我看到广州公证处要求需要「所列的证明材料均应提交原件和相应份数的复印件」(要求的网址备份 在此在此)。根据顾问的建议,我这段时间就准备一下,去公证处一次办完,需要准备的材料我列在存档清单里吧。

2024-08-06

最近计划要不要在去留学之前,先去那边旅游,亲自观察一番。因为我所在的单位是有探亲假的,我可以连着休 20 天,代价是月工资扣完和年终奖减半,还是蛮肉痛的,所以几乎没有人会休。但我就要,我可不想全年无休……

打电话去问了下顾问,她说会将详情通过邮件发给我。

2024-08-15:

最近得知我年末休不了探亲假啦……

邮件附录

邮件中,以 S 开头的表示发送的邮件,而以 R 开头则表示接收到的邮件。

R01-2024-07-02

R01-2024-07-02

Hi ███同学,

我是 IDP 顾问 ███,上周六跟你见过面,咨询新西兰留学。给你汇总一下面询的内容,以及发一下我们服务内容和合同样本。

根据你的学历背景和成绩,推荐院校如下:

  1. 奥克兰大学:Master of Engineering (Electrical and Electronic Engineering)
    学制:120-180 学分制 (1-1.5 年)
    开课:2 月 /7 月
    预估学费:NZ$ 50,810/ 年
  2. 怀卡托大学:Master of Engineering Practice (Electronics)
    学制:120-180 学分(1-1.5 年制)
    开课:3 月 /7 月
    预估学费:NZ$ 63,895 (180 pts) per year
  3. 坎特伯雷大学:Master of Engineering (Electrical and Electronic Engineering)
    学制:120 学分(1 年)
    开课:2 月 /7 月
    预估学费:NZ$ 68,613/ 年
  4. 奥克兰理工大学:Master of Engineering(Coursework pathway)- Power/Energy System Engineering
    学制:120-180 学分(1-1.5 年制)
    开课:3 月 /7 月
    预估学费:NZ$ 45,746/ 年

建议申请 2025 年 7 月开课,雅思最晚 2025 年 3 月底补充。如果需要配语言班,或想继续刷分雅思,也可以申请延期到 2026 年 2 月入读。此外,梅西大学帮你查过了,Aviation 需要本科飞行专业背景,且他们现在工程硕士不收国际学生。

另外,这是新西兰 Green List 查询链接:https://www.immigration.govt.nz/new-zealand-visas/preparing-a-visa-application/working-in-nz/qualifications-for-work/green-list-occupations 。帮你搜过,基本上跟电子和电汽的职业都在列表上的,你可以放心选择。

我们 IDP 教育集团,总部在澳大利亚,全球一共 100 多个办公室,也是雅思主办方之一。目前拥有所有澳洲和新西兰大学的一级代理,你的申请通过咱们可以直接对接新西兰大学。

我们新西兰全程留学服务有三档服务,基础服务 6000 元,也有比较多人选择的 9000 元暖心服务。你可以参考附件,是我们服务流程,合同及第三方费用清单 , 并附最新排名手册供参考。

如果您对咱们合同没有问题,也可以发送以下甲方信息,我通过███发电子合同给你。需要信息包括:姓名、电话、邮箱、住址、身份证号码。 签合同之后,我会整理详细的学校方案,时间规划和资料清单给你。

保持沟通!

Regards,

███
资深顾问 Senior Counsellor
IDP 教育集团
北京诺思国际教育咨询有限公司广州办公室
广州市天河区体育东路 116 号财务广场东塔 1901&1908 室

随邮件附上:2024 新西兰大学详情、顾问服务流程、签约合同模版、协议收费细则 和 第三方费用清单。

S02-2024-07-03

S02-2024-07-03

███,你好:

很感谢您在我们见面以后做了这么多的工作!不过,我这里还有一些问题,想与您确认一下:

  1. 请问以上几个学校的专业 / 我计划申请的专业是 PGD (Postgraduate Diploma) 吗?我看到奥克兰大学官网上说他们只有研究型硕士和授课型硕士,请问 PGD 就是授课型硕士吗?
  2. 请问这几所相关大学的奖学金我有符合申请条件的吗?我看到大学官网说明国际学生亦有奖学金资格,例如 University of Auckland International Student Excellence Scholarship,我想要您帮我了解一下有哪些我符合条件的奖学金可以吗?
  3. 请问新西兰留学的住宿条件及费用如何呢?我在大学官网上看到他们的宿舍一年要价两万纽币,实际情况是怎么样的呢?我看过奥克兰的地图,如果不住在中区,是否有性价比更高的落脚点呢?
  4. 我看过奥克兰大学的 Master of Engineering 课表了,里面有 120、180 和 240 学分的课程,请问 240 学分就是研究型硕士吗?

暂时大概就是这些问题了,随着我的准备,我可能还会有更多的问题,烦请陆老师和我一起解决 : )

如果一切正常的话,我大概在本周日,也就是 2024-07-07 到您的办公地点签约,不知道时间是否方便?

期待您的回复!

███
2024-07-03

R02-2024-07-03

R02-2024-07-03

你好,██:

我回复一下你的问题。

  1. 我给你推荐的课程都是 Master Degree 而非 PGD 课程。PGD 不是学位课程,一般只是背景不足或均分不够,才有可能需要配 PGD 入读。咱们的背景,可以考虑直接申请 Master Degree。Taught Master 才是授课型硕士。

    奥克兰大学有两个 Engineering 的硕士学位课程:

    • Master of Engineering (Research Master) 如果 120 学分是纯 research; 如果 180 学分也会包含一些授课内容。
    • Master of Engineering Studies (Taught & Research) 120-180 学分

    如果你想读偏授课,第二个更合适,也是有 Electrical and Electronic Engineering 方向。

  2. 关于奖学金申请,学校奖学金大体有两种。

    一种是申请期间,学校自动审核,自动发放。根据成绩择优发,或根据入学 intake 限时发。无需额外服务费。另一种需要额外做奖学金申请,这种名额少,竞争更加激烈,需要文书和履历支持。需要额外文书服务费 2000 元且无法保证 100% 申到。

  3. 关于住宿选择,我们可以协助你预定 Homestay 寄宿家庭,约 350-400NZD/ 周左右含餐。如果你考虑租房,比较推荐的做法是入住短期 homestay 到了新西兰当地后,找靠谱的房地产中介看房后再预定。

  4. 这个问题跟第一个问题有点重复,可以参考第一个问题答复。

另外,因为周日咱们公司是休息的。不过我们周六下午 2 点,在中国银行省行那边有个活动。你看看你周六下午能否安排到时间来活动现场签约?我们现场签约,澳新合同有 1000 元优惠和抽奖。活动地址和预约二维码,可以扫二维码先预约,备注顾问是 Sussie,见附件。

Regards,

随邮件附上:周六下午活动详情。

S03-2024-07-06

S03-2024-07-06

███你好,

这是我的缴费回执,请查收!

███
2024-07-06

随邮件附上:转账回执单。

transfer

S04-2024-07-07

S04-2024-07-07

███,你好:

  1. 刚刚我查过了学校教务处的网站,我的双语成绩单最早也要 8 月 28 日才能办理,请问会耽误申请吗?
  2. 请问我们签约以后有大概的时间安排表吗?如果有的话,请发给我看看;如果没有的话,请告诉我接下来的 3 步是什么,感谢!

███
2024-07-07

R04-2024-07-08

R04-2024-07-08

Hello ██,

回复一下你的问题:

  1. 是否完整中文成绩单也要 8 月 28 日?此外,你之前开好的成绩单是双语的吗?如果是,我觉得可以点开始申请,后补更新成绩单。
  2. 时间规划表会有,会跟选校方案一起发给你,这周整理给你。最近其实还是要先准备申请材料,我晚点先给你发资料清单选校方案预计要多两日,需要点时间整理。

Regards,

R05-2024-07-08

R05-2024-07-08

Hi ███同学,

附件为“资料清单”,及清单内提及的附件。建议在 7 月 31 日前准备好申请资料,以便尽早开始申请。选校方案和时间规划表,本周整理好尽早发给你确认选校。

我司亦提供实习项目科研项目等背景提升服务。科研项目难度类似海外本科大三,大四或研一课程,有利于学生做好海外学习生活的预习和适应。如有需要,欢迎跟我一对一咨询沟通。

另外,我们工作时间是周一到周五 9:30-18:30,上班时间会尽快回复你的疑问。有时候,我们在整理学生资料或做学生咨询,下班时间也会忙家务,偶有慢复,望理解!但是只要看到你的消息,都会回复你的哦,请同学放心!

代表 IDP 衷心感谢你的理解,并预祝你申请顺利!

如有疑问,欢迎跟我沟通。

Regards,

随邮件附上:资料清单、Student Declaration Form、申请信息采集表、信用卡授权书、研究生个人陈述问题、英文简历模版。

R06-2024-07-08

R06-2024-07-08

Hi ██,

你的收据开好了,我准备寄给你。确认一下寄件人信息:

██ 133█████ ██市██区████街 █ 号 ███

Regards,

S06-2024-07-08

S06-2024-07-08

你好,███:

是的,收件信息没有问题,请明天寄送吧。

R07-2024-07-09

R07-2024-07-09

Hi ██,

我已经整理好了你的选校方案,请查收附件,最近整理好材料,就可以准备定好 3 个申请学校,开始申请了哦。

对方案有疑问欢迎跟我沟通。

Regards,

随邮件附上:IDP 选校及时间的规划方案。

S08-2024-07-10

S08-2024-07-10

███,你好:

  1. 我确认完整的「中文 / 英文成绩单」最早都只能在八月末开具,我这几天会发送以前的中英文成绩单给您;
  2. 我已经收到收据了,谢谢陆老师!
  3. 有关之前的成绩单、资料清单和留学方案里的材料,我大概在几天内能准备好,到时候发给您。

███
2024-07-10

R08-2024-07-11

R08-2024-07-11

好的,没问题哈 ~

我们也可以先用目前有的成绩单先申请,后补更新成绩单吧。

S09-2024-07-22

S09-2024-07-22

有关公证及专业等几个问题

███,你好:

在这段时间里我又有一些问题,希望能在您这里得到解答。不知道您的假期有没有结束,您可以等到上班以后再回复我的。

  1. 有关「材料清单 - 申请资料」中需要公证的文件,请问是我寄送原件给你们去公证,还是我自己去公证呢?如需我自行公证,可以告知我相关的步骤及推荐的公证处吗?

  2. 我找出了毕业前开具的双语成绩单,是 2023 年 3 月的,给您附在邮件上了。

  3. 请问《IDP 澳新学生申请信息采集表》中的 C4C ID 是您填的项吗?

  4. 对于专业选择,我看到您为我准备的方向是 Electrical and Electronic Engineering,我不知道这类专业是偏向电气还是电子,如果是电气的话,与我专业方向不符。我看过课表了,其中有 Power Systems 电力系统等,这不符合我的本科专业;还有 Radio Engineering 无线电和 Digital Communications 无线通信,这与我的本科专业相符,我不知道专业着重于那一方面,是让我自己选课决定吗?

  5. 对于奥克兰大学的 Electrical and Electronic Engineering 专业,有如下两种学位课程:Master of Engineering 和 Master of Engineering Studies。我想要再与您确认一下,我申请的是前者还是后者呢?是 120 分的项目,还是 180 分的项目呢?

    我在 Master of Engineering Studies 下看到了如下内容:

    • Taught study

    This programme is offered in two options, to suit the existing qualifications and experience of candidates.

    • 120 points for candidates with a four-year bachelors (honours) degree

    • 180 points for candidates with a three-year bachelor’s degree

我就读的是四年制本科,这是否意味着我申请的是 120 分项目呢?

  1. Research study

    In addition to their taught pathways, the Master of Engineering Studies offers a research pathway in two specialisations:

    • 120-points and 180-points Food Engineering

    • 120-points and 180-points Sustainable Resource Recovery

    You will complete a 90-point Research Portfolio alongside 30 points of taught courses for the 120-point research programme and 90 points of taught courses for the 180-point research programme.

    我对这两个描述很困惑,难道我将同时选择的 Taught study 和 Research study 吗?望解答。

    在 Select your study option 下,我看到了:

    • Taught 120 points
    • Taught 180 points
    • Research 120 points

    它们的条件我已看过,我本科专业领域相符,是否意味着我可以申请 180 分项目?可这个结论又与上面的相左。既然我申请的是 Master of Engineering Studies 授课型,为什么还会有研究型的选项呢?是我可以自由选择的吗?

  2. 另外,我在奥克兰大学的官网上了解到,如果申请某领域的研究生专业,我需要本科领域与该专业相符。比如我之前感兴趣的 Master of Aerospace Engineering,我看到它的授课 180 要求:Must have completed an undergraduate degree in a relevant subject area from a recognised university (or similar institution),请问这样的话我是不是不符合该专业的标准呢?

  3. 对于之前提到的奖学金一事,我看过学校官网的这个页面:https://www.auckland.ac.nz/en/study/scholarships-and-awards/scholarship-types/scholarships-for-international-students/postgraduate-scholarships-for-international-students.html

好像只有 University of Auckland International Student Excellence Scholarship 这一个项目符合我的条件,我不知道有没有其他的奖学金 / 其他学校的奖学金亦符合,我希望您能够帮我关注一下。

我大概就这么多问题了,期待您的回复!

███
2024-07-22

随邮件附上:04-毕业前的成绩单.zip。

R09-2024-07-23-1

R09-2024-07-23-1

你好,██:

我已经休完年假啦,我回复一下你的问题:

  1. 公证是需要本人到公证处办理的,建议是一次过把需要的公证都办了。包括完整成绩单,学位证,毕业证和出生公证。指引和样本可以参考附件《公证材料指引》的第 1,2,3,6 项。
  2. 成绩单已收到。
  3. C4C ID 是我们 IDP 系统的学生号,我帮你填就可以。
  4. 奥克兰大学的 Master of Engineering Studies 下,没有单独 Electrical 电子工程,课程设置是 Electrical and Electronic Engineering 电子与电气在一起,只有这个方向。其他几个专业方向更不适合你。至于选课,奥克兰大学是学分制,修满学分毕业。所以选什么科目很大程度上是你自己选择,并不是列出的科目都要全部学。
  5. Master of Engineering Studies 才是 Taught & research 授课型硕士哦,且课程包含了 Research Pathway,如果选了 research pathway 就是比较适合未来读博,推荐选这个。另一个是研究型硕士。中国本科毕业生一般都需要申 180 学分制,大约是 1.5 年课程,因为我们国内没有荣誉学位的概念。
  6. 信息工程跟航天,不属于是 a relevant subject area,所以这个课程基本不用考虑。
  7. 如果有任何适合你的奖学金会告诉你。奥克兰大学很少有大额奖学金,且奖学金本身都比较少人获得,是真的要特别优秀才可以。

最后,剩余的申请资料准备好也要发给我哦(见附件截图)。

Regards,
███

随邮件附上:公证材料清单、公证材料指引、本科毕业证公证模版、本科成绩单公证模版、本科学位证公证模版、出生证明公证模版。

R09-2024-07-23-2

R09-2024-07-23-2

██,

第六个问题,我特别帮你找招生老师问了。

她也认为信息工程跟航天不属于同一个类别,但是你有在机场工作的经历,如果你真的很想尝试一下 Master of Aerospace Engineering,可以提供工作证明来,放第一志愿申请试试,admission CASE BY CASE 审核结果。Master of Engineering Studies 可以放第二志愿。

Regards,

S10-2024-07-30

S10-2024-07-30

███,你好:

很不好意思这么长的时间没有回复你邮件,我非常感谢你回答我的问题,与帮我向招商办老师咨询的问题!

最近我们加班严重,我没有精力来处理这些事情,我稍后几天再回复。

Best regards,
███
2024-07-30

R10-2024-07-30

R10-2024-07-30

Hi dear

好的好的,别太辛苦啊,注意休息。

等你答复,确认申请方案哦。

Regards,

S11-2024-08-04

S11-2024-08-04

███,你好:

非常感谢你的关心!

对于申请方案,我还在与父母商量。根据这段时间的考虑,我可能会将新南威尔士大学纳入考量之内。

Best regards,
███
2024-07-30

R11-2024-08-06

R11-2024-08-06

Hi ██,

我们协助办理澳洲旅游签,以及新西兰旅游签的服务如下。

澳大利亚

一年多次往返服务费 1000 元,不包含第三方签证费 192.66 澳币。

新西兰

旅游签证申请服务费 1500 元,不包含第三方签证费 246 新币。(批单次 / 多次往返签证官决定)

合同样本见附件。

此外,附一份初步的资料清单供前期参考。

如需我们协助,就可以签一份签证申请服务合同,若拒签服务费全退。

Regards,

随邮件附上:IDP留学签证服务合同-模版、600澳大利亚旅游签证清单-General。

R12-2024-08-08-1

R12-2024-08-08-1

Hi ██,

咱们申请资料目前准备得如何了?

目前只有收到成绩单和在读证明,其他材料准备好也可以发给我哦。

Regards,
███

S12-2024-08-10

S12-2024-08-10

███,你好:

  1. 我需要公证的材料中,出生证明还在重庆老家,需要我休假的时候回去拿,大概在九十月份的样子。如果这个时间太晚了的话,那我就拜托父母寄到广州来?望建议。
    • 【原件和复印件】身份证;
    • 【原件和复印件】毕业证书;
    • 【原件和复印件】学位证书;
    • 【原件和复印件】成绩单;
    • 【原件和复印件】就读证明;
    • 【原件和复印件】出生证明;
  2. 我想向您确认一下,需要公证的文件是否为上述材料?
  3. 另外,就读证明是否需要我找学校与成绩单一并开具呢?
  4. 工作证明我是否可以提供入职盖章合同?我对于申请在职证明存有疑虑。
  5. 我的护照也在老家,需要与出生证明一并寄来吗?
  6. 下面是否是我需要准备的全部文件?如有遗漏请告知我:
    • 护照首页(含出入境记录)
    • 工作证明(如在职证明 / 离职证明 / 合同文件)
    • 简历(参考模板,交电子版)
    • 个人陈述素材表(见附件,填写电子版)
    • 留学个人基本信息表填写(见附件,填写电子版)
    • 申请表格签名(打印表格,在 Signature 处签中文名,无需填写表格)
    • 旧护照复印件(含所有出入境记录,过往签证页)
    • 雅思成绩单(如需,最晚 2025.03 底补充)
    • 身份证正反面复印件(需提供申请人、父母)
    • 户口簿复印件(需提供申请人、父母;需要户口簿首页和「常住人口登记卡」单页)
    • 出生公证一份(提供申请人的出生证, 父母结婚证, 申请人以及父母身份证以及户口本复印件到户口所在地公证处办理即可。)
    • AU 简历英文模版;
    • AU 硕士申请 - 信息收集表;
    • FY24 IDP 澳新学生申请信息采集表;
    • IDP Student Declaration;
  7. 另外,我用自己的信用卡缴费,就不用填《信用卡授权书》吧?

除公证文件外,这些文件我争取在下周末之前完成。至于公证文件,等您答复后我也争取尽可能快地提交给公证处。

Best regards,
███
2024-08-10

R12-2024-08-12-2

R12-2024-08-12-2

Hi ██,

我的答复见下方红色字。有疑问可以继续邮件我。(后注:我将红字整理为对应条目)

  1. 申请材料提供扫描件就可以,你可以让父母扫描发给你,或者清晰拍照发原图,可以用手机 app“全能扫描王” 处理成扫描件的,比较方便。我们也能早点递交申请。

    另外,出生证明和出生公证其实是签证需要的文件,只是可以提前准备,但不是申请必须的。申请必须的是:完整成绩单(中英文),学位证(中英文),毕业证(中英文),简历,文书,护照 / 身份证扫描件。

  2. 需要公证的,只是 4 份文件:完整成绩单,学位证,毕业证和出生公证。其他都不需要。

  3. 已经毕业的学生,就不需要再开在读证明了。有学位证和毕业证就可以。

  4. 如果能直接开在职证明,公司盖章,是最好的。如果实在不方便,就提供工作合同扫描件。

  5. 申请阶段,护照也是可以用扫描件即可。之后办理签证期间的体检,才需要用到护照原件,估计体检也到明年 3-4 月份了。

  6. 划掉的是重复的资料;申请阶段,只需要交标黄的部分材料,其他都可以后补。护照如果没办好或过期,就身份证代替。

  7. 正是用自己的信用卡缴费,才需要填写《信用卡授权书》。需要授权 visa 或 master 这类双币卡的信息给我们,操作院校申请费,OSHC 保险或签证申请费扣费。

    因为申请费,一般是填写完申请表信息后,最后一页要输入信用卡信息扣费的,所以需要你授权信息给我们才能扣你的卡。

    若考虑转 RMB 给我代扣,则无需填此表。

Regards,
███

R12-2024-08-12-3

R12-2024-08-12-3

Hi ██,

补充说明一下,关于公证,现阶段是需要办四份公证即可:就是成绩单,毕业证,学位证和出生公证。

如果你最后入读的院校是新西兰,到时候需要多办一份无犯罪公证,但是这个有时效性,一般是 6 个月有效,不需要太早去办,可以等我们通知,签证前办理即可。

Regards,
███

S13-2024-08-15

S13-2024-08-15

你好,███:

感谢您发给我的详情及资料,我最近得知我在年末休不了探亲假,所以多半没有这个行程了。

Best regards,
███
2024-08-15

所有产生文件存档清单

本栏将列出我在这个过程中所准备的所有文件,因为澳洲学校不需要推荐信等文书,所以应该不是很多……吧?

材料清单

申请资料(以下材料可提扫描件)

  • 护照首页(含出入境记录)
  • 本科完整成绩单官方盖章文件(含评分标准)(需要公证,含翻译)
  • 本科学位证官方文件(需要公证,含翻译)
  • 本科毕业证官方文件(需要公证,含翻译)
  • 工作证明(如在职证明/离职证明/合同文件)
  • 简历(参考模板,交电子版)
    (见下:AU 简历英文模版)
  • 个人陈述素材表(见附件,填写电子版)
    (见下:AU 硕士申请 - 信息收集表)
  • 留学个人基本信息表填写(见附件,填写电子版)
    (见下:FY24 IDP 澳新学生申请信息采集表)
  • 申请表格签名(打印表格,在 Signature 处签中文名,无需填写表格)
    (见下:IDP Student Declaration)
  • 雅思成绩单(如需,最晚 2025.03 底补充)

可提前准备的签证资料

  • 旧护照复印件(含所有出入境记录,过往签证页)
  • 身份证正反面复印件(需提供申请人、父母)
  • 户口簿复印件(需提供申请人、父母;需要户口簿首页和「常住人口登记卡」单页)
  • 出生公证一份(提供申请人的出生证, 父母结婚证, 申请人以及父母身份证以及户口本复印件到户口所在地公证处办理即可。)

备注

资金材料具有时效性,无需过早开具。

➢ 新西兰担保金要求:40 万以上(建议存成定期,存期 6 个月以上,签证前冻结 3 个月,签证后可以解冻。)

➢ 澳洲担保金要求:45 万以上(可以活期,定期或银行理财,不硬性要求存期;若存活期,需要 3 个月稳定存入记录。不硬性要求冻结。)

2024-07-08附加资料

2024-07-08附加资料

  • 信用卡授权书;
  • AU 简历英文模版;
  • AU 硕士申请 - 信息收集表;
  • FY24 IDP 澳新学生申请信息采集表;
  • IDP Student Declaration;
2024-07-23 公证资料准备

2024-07-23 公证资料准备

  • 【原件和复印件】身份证;
  • 【原件和复印件】毕业证书;
  • 【原件和复印件】学位证书;
  • 【原件和复印件】成绩单;
  • 【原件和复印件】就读证明;
  • 【原件和复印件】出生证明;

以上文件均需要公证,及英语翻译

插曲

在 2024-07-08 收到不可抗力的影响,要我删除这篇文章。不过,名义上我删除了这篇文章,实际上我为网站做了两个设置:

  • 限制特定地区(中国 🇨🇳)的 IP 访问;
  • 将 原页面/这个页面 强制 302 跳转至 404 页面;

另外,我暂时移除了 RSS 按钮,因为那里面能看到本文部份内容。

限制中国 IP 访问

网站 - 安全性 - WAF - 自定义规则。

ip-ban

过了一天想了想,我或许时有点太极端了,还是将这个 IP-ban 给关掉了。

ip-ban-off

强制 302 跳转

网站 - 规则 - 页面规则。

302-jump

]]>
+ + + 愿我们终将在没有黑暗的地方相见 + + + + + + + + + + + + + + +
+ + + 从零开始建立花园 + + https://mskclover.com/2024/05/26/new-garden-from-scratch/ + 2024-05-26T13:58:34.000Z + 2024-07-05T05:02:10.043Z + + cover

前言

自从今年初换了 MacBook 电脑以来,我每次写的东西都要用磁碟拷贝到原来的 PC 上才能发布,所以一直都想要将原来的博客本地文件迁移到这台新的电脑上。最近工作上的事告一段落,我总算是考完执照了。依照我以前的经验来看,每次以为未来会更有时间的时候,未来都会忙得要命,所以就趁着现在有空把这件事做完吧。

迁移文件其实也不难,主要是很繁琐。为了保证稳定性,我选择将所有的步骤都重新做一遍。这次就记录一下,以后再有迁移的时候,就可以按照现在的经验,知道要安装那些组件、更改哪些配置了。

还是与四年前一样,安装步骤主要是基于 云游前辈 的这篇文章:教你如何从零开始搭建一个属于自己的网站,还有网站主题的参考文档,另外包含了一些遇到的新问题,希望能对以后的我、还有观看这篇博文的朋友有帮助。

迁移/重新安装步骤

就像上面说的一样,与其说是迁移,不如说是重新安装。

⚠️ 注意事项:

  • 如果遇到 权限不足/Authentication 相关的报错,需要尝试 su 或者 sudo 并输入密码,以管理员权限重新执行。
  • 由于中国大陆的防火长城目前已经阻止许多的站点,近日又屏蔽了包括上海交大在内的多所大学镜像站点,因此请确认网络环境是否支持。

6 月 6 日,上海交大的 Docker Hub 镜像加速器宣布因监管要求被下架。
Docker Hub 是目前最大的容器镜像社区,但由于中国防火长城的限制,程序员开发者从 Docker Hub 上获取容器镜像的时候很不方便。Docker Hub 镜像加速器可以帮助开发者更快地下载 Docker 镜像。
post

安装 Node.js

在其官网下载 Node.js长期发行版 LTS,并全部默认下一步安装。过程中会默认安装 npm 包管理器,国内访问会比较困难,因此需要换源或者使用网络代理。

安装完成后,在终端内使用 node --version 查看版本,以确认安装成功。

% node --version v20.15.0

安装 VS Code

Visual Studio Code,在此 下载

安装 Git

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.

Git,在此下载

与 Windows 不同,在 Mac 上无法直接通过安装包的方式获取 Git。因此我们需要先安装 Homebrew,一个专为 macOS/Linux 打造的包管理器。Mac 用户可以无需在命令行中安装,点此即可下载最新版本的 Homebrew

此时,如果直接使用 brew 指令会报错:

% brew install git                                                                               zsh: command not found: brew

这是因为我们没有将 /opt/homebrew/bin/opt/homebrew/sbin 添加到 $PATH 环境中,运行命令以快速添加:

% echo export PATH=$PATH:/opt/homebrew/bin:/opt/homebrew/sbin >> ~/.zshrc% brew doctor# run this to check it

接着输入命令安装:

% brew install git

按 Enter 确认,在「设置—通用—软件更新」中下载 XCode 的相关组件。然后查询其版本,以确认安装成功:

% git -vgit version 2.45.2 (Apple Git-146)

安装 Hexo

这是我目前使用的博客框架,在终端中输入命令全局安装:

% npm install hexo-cli -g# 如果安装失败,可能是没有权限,可以尝试头部加上 sudo 重新执行# sudo npm install hexo-cli -g

然后终端访问到我们打算创建本地文件的目录下,比如我现在的目录是:/Users/clover/github/misaka-clover.github.io

% cd /Users/clover/github% hexo init misaka-clover.github.io 

在使用 Hexo 初始化该文件夹后,输入:

# 进入你的博客文件夹% cd misaka-clover.github.io# 默认安装所有 `package.json` 文件中提到的包% npm install# 你也可以缩写成 hexo s% hexo server

在浏览器中打开:localhost:4000,就可以看到一个默认的 Hexo 主页了。

安装 yun 主题

接下来安装云游前辈制作的主题 hexo-theme-yun

% npm i hexo-theme-yun

在 Hexo 的原始配置文件 _config.yml 中找到 theme 这个字段,将其后的 landscape 修改为 yun

theme: yun

这时打开本地预览界面,发现显示的页面无比苍白(

add-hexo-render

这是因为,由于云游前辈的主题使用了 pug 和 stylus 这两个包,所以也需要安装:

% npm install hexo-render-pug hexo-renderer-stylus

包 pug 和 stylus 的注意事项

不过在安装完以后,却发生重要的安全提示:

3 high severity vulnerabilitiesSome issues need review, and may require choosinga different dependency.Run `npm audit` for details.

运行 npm audit 后,提示:

% npm audit# npm audit reportpug  <=3.0.2Severity: highRemote code execution via the `pretty` option. - https://github.com/advisories/GHSA-p493-635q-r6grPug allows JavaScript code execution if an application accepts untrusted input - https://github.com/advisories/GHSA-3965-hpx2-q597Depends on vulnerable versions of pug-code-genNo fix availablenode_modules/hexo-render-pug/node_modules/pugnode_modules/pug  hexo-render-pug  *  Depends on vulnerable versions of pug  node_modules/hexo-render-pugpug-code-gen  <=2.0.3Severity: highPug allows JavaScript code execution if an application accepts untrusted input - https://github.com/advisories/GHSA-3965-hpx2-q597No fix availablenode_modules/hexo-render-pug/node_modules/pug-code-gen3 high severity vulnerabilitiesSome issues need review, and may require choosinga different dependency.sh-3.2# 

原来是这两个包被发现有致命漏洞,将使得客户端被远程操纵,其 Report 在此:

因此,我们需要更新这两个包至最新版本:

% npm install pug@3.0.3% npm install pug-code-gen@3.0.3

% npm install pug@latest% npm install pug-code-gen@latest

包 core-js 的注意事项

另外,我还遇到了 core-js 的警告:

npm warn deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.

根据这篇贴子,强制更新至最新版本即可:

% npm cache clean --force% npm i -D core-js@latest

自定义主题配置

为了不直接修改主题的默认配置,最好的解决方案就是在博客根目录下(不是主题目录)新建 _config.yun.yml。我直接将原来的配置拷贝过来,覆盖了现有的配置文件,结果在运行时直接报错。我料想应该是一些第三方组件没有安装,却在配置中调用了它们。所以,我不得不逐个检查配置项……

接下来,我依照主题的配置文档检查参数,没有什么需要修改的。

安装第三方包及额外依赖

有一些功能组件已经内置到主题文件中了,比如 Giscus 评论系统,所以我们可以直接在配置文件中设定好参数就可以了。但是,有一些功能并没有内置其中,因此需要手动安装。

安装 RSS 支持

在终端中敲入以下指令,安装 hexo-generator-feed

% npm install hexo-generator-feed --save

另外还需要生成一个文件什么的,详情请参见官方文档

安装 词云 wordcount 组件

% npm install hexo-wordcount

安装 Hexo 的 Git 推送组件

此时,如果想要直接部署到 GitHub Pages 上,会出现如下报错:

% hexo dINFO  Validating configINFO  Yun version 1.10.11. Guide: https://yun.yunyoujun.cnERROR Deployer not found: git

根据这篇博文,这是因为 缺少/我忘记安装 hexo-deployer-git 套件,在当前目录安装套件即可:

npm install hexo-deployer-git --save

推送问题

好了,现在再次执行 hexo d 指令,却发现有 GitHub 的权限问题:

remote: Support for password authentication was removed on August 13, 2021.remote: Please see https://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.fatal: Authentication failed for 'https://github.com/misaka-clover/misaka-clover.github.io/'FATAL Something's wrong. Maybe you can find the solution here: https://hexo.io/docs/troubleshooting.htmlError: Spawn failed    at ChildProcess.<anonymous> (/Users/clover/github/misaka-clover.github.io/node_modules/hexo-deployer-git/node_modules/hexo-util/lib/spawn.js:51:21)    at ChildProcess.emit (node:events:519:28)    at ChildProcess._handle.onexit (node:internal/child_process:294:12)

根据这篇贴子,这是因为 GitHub 在云游前辈发布那篇博文以后,GitHub 更改了命令行认证的方式,因此我们需要去 GitHub 的后台生成一个验证码,在这里当作密码输入才行。

代码高亮问题

我检查完配置文件以后,发现代码高亮失效了。我以为是因为 Hexo 升级到高版本的问题,去查了一下官方文档,发现官方用了一个更新的高亮组件,并将其参数配置到 _config.yml 中了。

# 代码高亮# 只能在 _config.yml 中起作用syntax_highlighter: prismjshighlight:  auto_detect: false  line_number: true  line_threshold: 0  tab_replace: ""  exclude_languages:    - example  wrap: true  hljs: falseprismjs:  preprocess: true  line_number: true  line_threshold: 0  tab_replace: ""

嵌入 Twitter 贴子问题

我想在本文嵌入一个推特的贴子,加入 Twitter Publish 上复制的链接,居然无法变成预览的样子,所以只好使用 Hexo 自带的「标签插件」功能。

本地文件 Git 备份问题

在依照云游君的教程时,我想要将本地文件通过 Git 推送到 GitHub 上,突然想起我好像没有配置本地的 Git,所以就:

# 与远程 Git 仓库建立连接,只此一次即可git remote add origin https://github.com/misaka-clover/misaka-clover.github.io

然后,我将文件推送到缓冲区:

# 添加到缓存区git add -Agit commit -m "这次做了什么更改,简单描述下即可"

但是,在推送的时候,却遇到了问题:

# 推送至远程仓库$ git push# 第一次提交,你可能需设置一下默认提交分支# git push --set-upstream origin hexo# 报错error: src refspec hexo does not match anyerror: failed to push some refs to 'https://github.com/misaka-clover/misaka-clover.github.io'

我查询了一些资料论坛,发现是我的这台新电脑本地并没有我新分支的文件。理论上来说,一个从 GitHub 上将分支文件同步到本地,但实际上我删除了原来的那个分支,然后重新创建了一个一模一样的。因此,执行:

# 初始化 git$ git initReinitialized existing Git repository in /Users/clover/github/misaka-clover.github.io/.git/# 查询 git 下有哪些分支$ git branch -a* master# 创建分支 hexo$ git checkout -b hexoSwitched to a new branch 'hexo'

然后再推送,就一切正常了:

$ git add -A$ git commit -m"transfer my local blog files to new macbook"On branch hexonothing to commit, working tree clean$ git push --set-upstream origin hexoUsername for 'https://github.com':Password for 'https://misaka-clover@github.com':failed to store: -60006Enumerating objects: 14802, done.Counting objects: 100% (14802/14802), done.Delta compression using up to 8 threadsCompressing objects: 100% (10836/10836), done.Writing objects: 100% (14802/14802), 48.70 MiB | 1.38 MiB/s, done.Total 14802 (delta 3264), reused 14799 (delta 3262), pack-reused 0 (from 0)remote: Resolving deltas: 100% (3264/3264), done.remote: remote: Create a pull request for 'hexo' on GitHub by visiting:remote:      https://github.com/misaka-clover/misaka-clover.github.io/pull/new/hexoremote: To https://github.com/misaka-clover/misaka-clover.github.io * [new branch]      hexo -> hexobranch 'hexo' set up to track 'origin/hexo'.

然后,就大功告成啦。

macOS 的终端显示英文

参照有关文章的解决方法:

# 查看本地配置$ localeLANG=""LC_COLLATE="C"LC_CTYPE="UTF-8"LC_MESSAGES="C"LC_MONETARY="C"LC_NUMERIC="C"LC_TIME="C"LC_ALL=# 生效新的配置$ export LANG=en_US.UTF-8

新学到的 git 知识

你知道的,我在计算机程序领域并没有多么深入的了解,像是使用 Git,我只会以上的那几个简单的命令。而在大多数时候,我没办法去解决遇到的问题,只好在网上搜索,比如这个这个这个(但愿不是内容农场🙏)。

不过,感谢前辈们的互联网精神,我在 Git 的官网上找到了一份完整的教程以及简体中文翻译件,我打算在接下来的几个月内好好地学习一下。你知道的,之前我没有学过 SQL,现在不也一样能上手了。

我最喜欢学习了(

npm 包列表

% npm listhexo-site@0.0.0 /Users/clover/github/misaka-clover.github.io├── core-js@3.37.1├── hexo-deployer-git@4.0.0├── hexo-generator-archive@2.0.0├── hexo-generator-category@2.0.0├── hexo-generator-feed@3.0.0├── hexo-generator-index@3.0.0├── hexo-generator-tag@2.0.0├── hexo-render-pug@2.1.4├── hexo-renderer-ejs@2.0.0├── hexo-renderer-marked@6.3.0├── hexo-renderer-stylus@3.0.1├── hexo-server@3.0.0├── hexo-theme-landscape@1.0.0├── hexo-theme-yun@1.10.11├── hexo-wordcount@6.0.1├── hexo@7.2.0├── pug-code-gen@3.0.3└── pug@3.0.3

后记

其实我当时是想要直接用上云游前辈开发的新框架的,可是这中间出了一些我无法解决的问题,想着它还处于开发中的阶段,就算了。

现在可以在 MacBook 上直接发布了吧?那就快多写一点博文吧!

]]>
+ + + 希望以后能多写一点博文 + + + + + + + + + + + + + + +
+ + + 信使 2024|2024 看过的读物及媒体 + + https://mskclover.com/2024/05/16/something-ihv-seen-in-2024/ + 2024-05-16T13:58:34.000Z + 2024-12-31T01:53:23.659Z + +

我之前在周记里,尝试过在「信使」栏目中在那一周我看过的、认为值得记述的各种读物和影视。我这段时间又看了好多东西,我希望能将它们与我当时的感想存档下来,供日后回忆。

2024-06 及之前的日子

读物

影音

新闻报道

链接

tiananmen

Tian an men Square: On this site, in 1989, nothing happened.

2024-07

读物

  • 【书籍】1453:君士坦丁堡之战[英] 罗杰・克劳利,2014,社会科学文献出版社;
    第十三章。
    君士坦丁堡,「世界渴望之城」,会在这一章陷落吗?
  • 【书籍】《李光耀:论中国与世界》李光耀,2013,中信出版社;
    第一章。
    这是我在疫情期间看过的一本书,现在打算重温一下。虽然里面有许多观点早已过时,不过还是有许多地方值得回顾的。
  • 【调查】不利起点带来的长期阴影国际货币基金组织,备份 于此
    这时 2020 年末的一篇调查,大多数人在疫情一年后都过得不好,特别是刚毕业的学生们。我是在 2019 年毕业的,不过正打算出国留学,不知道在那时全球的经济会怎么样,会好些吗?我想,可能永远都好不了了。

    重要的是,要让年轻劳动者知道其将长期面临的负面影响及其原因,让他们知道这并不是因为他们缺乏技能或者个人失败而导致的,借此激励从事低效率工作的劳动者继续寻找机会,使之随着经济复苏而找到更好的工作

  • 【书籍】113 翰林高中教材网翰林出版事業股份有限公司
    今天看到网友贴出了台湾的课本网络下载之方便,就去看了一下,下载了三本公民课本,我觉得很需要学习一下(
  • 【漫画】我的魔女 / 나의 마녀BOMTOON,해윤&MAS,2016—2022;
    这是我近几年来看到的最好的言情漫画了,有 HE,有 BE,有遗憾,有圆满,两位作者扎实的功底让所有的情感都跃然纸上。看到了一个台湾论坛对本漫画的介绍,也非常推荐大家去看看!
    另外,本作标题有汉化组译为《魔女的小跟班》,这是根据第一部的故事情节意译而来,翻犯了与《生化危机》被翻译为《恶灵古堡》、《远哭》被翻译为《孤岛惊魂》和《最后的生还者》被翻译为《美国末日》等,都是根据第一部的内容意义,而与系列后续作品不对应了。(不过,我还挺喜欢《魔女的小跟班》这个译名的)

    而劇情中每一段感情都一定會出現標題名,也就是「我的魔女」,不過我印象最深的只有在米卡爾臨終前說的那一句…「因為柯迪莉亞是我的妻子,所以就是… 我的魔女囉。」
    这也是直译书名以后的一种点题吧。

影音

  • 【视频】Why Living In Australia Is ImpossibleYouTube2 and 20
    因为我近日在考虑到底选择 澳大利亚 🇦🇺 还是 新西兰 🇳🇿,澳洲本来就是世界边缘,我们都了解不多,所以我希望能尽可能地了解这两个地方。这个视频讲了澳大利亚的许多问题,比如政府效率低下、房价飙涨、研究投资不足等,我会更全面地判断的。
  • 【播客】晚点聊 LateTalk:走访锈带:美国大选的反直觉认知与不被看见的人 | 串台硅谷 101,**晚点聊 LateTalk**;
    这期播客做得真的好好!锈带,大家都知道的一个被去工业化的地区,许多人都谈论着它,不过有几个人会亲自去看看呢?
  • 【视频】曾讓百人喪命的撞火槍托 在美國竟又合法?【燒火棍子】YouTube王五咕咕棍
    之前听说美国 🇺🇸 最高法院推翻了之前的裁定,使「撞火枪托」合法化的时候,还想着是不是特朗普时期提名的那三个保守派法官又在犯蠢。这个视频让我了解到:法官们推翻裁定并不是因为支持撞火枪托,而是他们认为 美國菸酒槍炮及爆裂物管理局 ATF 将撞火枪托解释为机枪的行为越权了 —— ATF 是执法机构,并不能修改法律,那是立法机构国会的领域。根据三权分立,最高法院必须推翻这个裁定,由国会来推动禁止撞火枪托的法案。

新闻报道

  • 【分析】拆解上汽、吉利和比亚迪的欧盟税率晚点 Late Post,备份 于此
    欧盟 🇪🇺 之前担心受到中国 🇨🇳 国家补贴的电动车倾销,于是对上汽和比亚迪等代表纯电车企征收了最高达 37.6% 的税,这篇文章为我们提供了对其中数字的分析。不过,根据纽约时报这篇报道,中国本身就对进口汽车征收 15% 的基本关税,而欧洲的基本关税是 10%,美国的是 2.5%。现在中国也在考虑对欧洲和北美的进口汽车征收 40% 的报复性关税。
  • 【访谈】中国富人理财的六个陷阱晚点 Late Post,备份 于此
    这时一个对资本市场投资人和基金经理的一篇访谈,为我们提供了对现在这个复杂的全球金融市场的解读。不过,我想他们可能忘记声明「不构成理财建议」了。
  • 【采访】对话罐车从业者:行业不景气司机内卷,普罐车还会运危险品网易新闻,备份 于此;
    近日,油罐车混装煤油与食用油的事件在中国 🇨🇳 闹得沸沸扬扬,中储粮的公告中并没有道歉与追责,反而是打算自罚三杯就此躲过。网易新闻对此做了一个采访,不出意外的被 404 了……
  • 【分析】以色列如何每月控制 1.88 亿美元的巴勒斯坦资金半岛电视台中文频道,备份 于此
    前几天朋友提到,我才知道原来巴勒斯坦 🇵🇸 的税收一直在以色列 🇮🇱 的控制之下。找到了一份半岛电视台近日的报道,并了解到这段历史是如何发生。如此,岂不是巴勒斯坦一直都没有完整的主权吗?

链接

  • 【公告】关于:BTBTT 站全面崩溃,无法修复的公告,**BT 之家 1LOU 站*;
    *我以前一直都在 BT 之家下载各种影片,但前段时间突然登陆不上去了。现在这个网站**声称
    它是前者的传承,还是由原来的团队负责,不过由于里面大量充斥着某网盘的资源,他们之间应该是由合作关系?我暂时还是观望一下吧。
  • 【文章】无题-偶尔还是能听到轮船的汽笛声X 岛,备份 于此
    这是一个匿名网站上的一篇随笔,写得好有意境啊,便摘了下来。真的,好美。
  • 【文章】从条形码到二维码,沃尔玛和微信如何重塑商业运作的基础设施丨晚点周末晚点 Late Post,备份 于此
    晚点本来是个财经媒体,现在开始涉足科技领域啦?这篇文章写得蛮不错的,蛮有历史中的人情味,不像传统科技那样冷冰冰。
  • 【文章】*Should you get a PhD?*,MediumJason Polak,备份 于此
    作者曾经在读数学的 PHD,现在他成为了一位野生动物摄影师。读博经历对他有用,他说,影响着他每一天的思维方式。不过,除非你读 PHD 的目的是为了兴趣,丰富自己的人生,否则并不应该去浪费好几年的生命。
  • 【倡议】Anti-AI CoalitionQuestioning Global Capitalism and Technology,Dr. Jason Polak,备份 于此
    在阅读上面那篇文章的时候,看到下方有一个「100% AI FREE」的图标,感兴趣点了进去,就看到了反对 AI 联盟的核心宗旨:
    • 我不会使用 AI 生成的内容,例如文本、脚本、图像和视频;
    • 我不会阅读或支持 AI 生成的内容;
    • 我将通过选择那些不使用 AI 的产品,以支持反对 AI 联盟中的其他人。
      感觉很有意思,我考虑了一会儿要不要加入,不过一想到我还要写党团的文章,已经离不开 AI 啦……
  • 【帖文】这个家伙douglas wang,备份 于此于此
    一个阿里员工离职以后,写的一篇回顾的帖文,蛮有文采,感觉还是值得一看的。
  • 【帖文】I guess it’s time for an updategloria.socialSilvio Rizzi,备份 于此
    我一直用着的 RSS 阅读器软件 Reeder 的作者正在开发一个新的软件,他说这并不会取代现在的软件,因为那并不只是一个 RSS Reader,它还能订阅 YouTube 这样的平台,其实现在的 Reeder 作者也加上了这功能喔(
  • 【帖文】新西兰的生活随笔一亩三分地,fuxian1990,备份 于此
    我想要知道在异国他乡应该如何生活。
  • 【博客】(BI4LBK) HP 4192A 阻抗分析仪拆解 / 维修EE Archeology 电子考古学,BI4LBK,备份 于此
    这个博客来自一个实验室的朋友分享,里面有好多旧时代的模拟硬件的分析与拆解,那些复杂电路 —— 至少看起来 —— 与现在这些冷冰冰、方方正正、毫无情趣的芯片比起来,性感多了。
  • 【博客】iOS 14, Big Sur and DNS over HTTPSPaul Miller,备份 于此
    参考这篇文章,使用了 DoH。虽然作者提供了未签名的配置文件,不过由于他开源了,并且我检查了一下其内容,没有发现异常,所以决定暂时使用这个配置文件。其源代码如下:
    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>PayloadContent</key><array><dict><key>DNSSettings</key><dict><key>DNSProtocol</key><string>HTTPS</string><key>ServerAddresses</key><array><string>2606:4700:4700::1111</string><string>2606:4700:4700::1001</string><string>1.1.1.1</string><string>1.0.0.1</string></array><key>ServerURL</key><string>https://cloudflare-dns.com/dns-query</string></dict><key>PayloadDescription</key><string>Configures device to use Cloudflare Encrypted DNS over HTTPS</string><key>PayloadDisplayName</key><string>Cloudflare DNS over HTTPS</string><key>PayloadIdentifier</key><string>com.apple.dnsSettings.managed.9d6e5fdf-e404-4f34-ae94-27ed2f636ac4</string><key>PayloadType</key><string>com.apple.dnsSettings.managed</string><key>PayloadUUID</key><string>35d5c8a0-afa6-4b36-a9fe-099a997b44ad</string><key>PayloadVersion</key><integer>1</integer><key>ProhibitDisablement</key><false/></dict></array><key>PayloadDescription</key><string>Adds the Cloudflare DNS to Big Sur and iOS 14 based systems</string><key>PayloadDisplayName</key><string>Cloudflare DNS over HTTPS</string><key>PayloadIdentifier</key><string>com.paulmillr.apple-dns</string><key>PayloadRemovalDisallowed</key><false/><key>PayloadType</key><string>Configuration</string><key>PayloadUUID</key><string>A4475135-633A-4F15-A79B-BE15093DC97A</string><key>PayloadVersion</key><integer>1</integer></dict></plist>

2024-08

读物

  • 【书籍】翰林高中公民乙版公民第一冊廖翠雰等,2023,翰林出版事業股份有限公司;
    第一章共三节、第二章共三节。
    蛮有条理的,与国际接轨也不错,总比毛概和什么「习近平新时代中国特色社会主义」好吧……
  • 【书籍】巴别塔匡灵秀,2023,中信出版集团,豆瓣链接
    第二卷,章节五至六。

影音

  • 【视频】40 分钟入门英国爵位史:万字精华重制版Bilibili,星白 Knut;
    关注这个 UP 蛮久了,他一直自称为「忠义两全时空顾问」,很好的科普了中世纪的历史,讲述也非常有代入感。此次他的这个长达四十分钟的视频,使我醍醐灌顶,更好地了解了西方的爵位。
  • 【视频】【战地・马奇诺防线】是摆设吗?我在地下 40 米深度解读Bilibili,新雨_Paul;
    许多人都被告诉说:「马其诺防线斥资巨大却一无所是」,但这一切真的只有这么简单吗?这位做二战科普的 UP 主实地参观了一处地下碉堡旧址,通过他的讲解,我知道了其实马其诺防线建立之初的本意便是促使德军绕过它,这样德国将不得不借道低地国家比荷卢,通过这样的方式将大英帝国拖入战争。并且,由于一战发生在法国北部,近乎将那些地方炸成月球表面,所以法国希望将战争阻挡在国境之外。

新闻报道

  • 【文章】How Chinese Students Experience AmericaThe New YorkerPeter Hessler,备份 于此
    今年早些时候看过何伟的这篇文章,今天又看到有人在推荐,于是便记在这里吧。原文英文发表于杂志《纽约客》,不过看到有人做了 中英双语,虽然像是机器翻译的,不过也一起贴在这里吧。

    In “River Town,” a book that I wrote about teaching in Fuling, I described my realization that the kind of young people I once imagined would become dissidents were in fact the most likely to be co-opted by the system: “The ones who were charismatic, intelligent, farsighted, and brave—those were the ones who had been recruited long ago as Party Members.”

链接

  • 【帖文】知乎问题:内存泄露就让他漏,可行吗?的回答知乎Anlin。知乎好像不允许爬取了,所以未能备份;
    看到答主贴出的注释截图很有意思,就想手动抄写在这里:
    From: k...@rational.com (Kent Mitchell)Subject: Re: Does memory leak?Date: 1995/03/31Norman H. Cohen (nco...@watson.ibm.com) wrote:: The only programs I know of with deliberate meeory leaks are those whose: executions are short enough, and whose target machines have enough: virtual memory space, that running out of memory is not a concern.: (This class of programs includes many student programming exercises and: some simple applets and utilities; it includes few if any embedded or: safety-critical programs.)This sparked an interesting memory for me. I was once working with acustomer who was producing on-board software for a missile. In my analysisof the code, I pointed out that they had a number of problems with storageleaks. Imagine my surprise when the customers chief software engineer said"Of course it leaks". He went on to point out that they had calculated theamout of memory the application would leak in the total possible flight timefor the missile and then doubled that number. They added this muchadditional memory to the hardware to "support" the leaks. Since the missilewill explode when it hits its target or at the end of its flight, theultimate in garbage collection is performed without programmer intervention.--Kent Mitchell|One possible reason that things aren'tTechnical Consultant|going according to plan is .....Rational Software Corporation|that there never *was* a plan!

2024-09

这个月看了好多,可是都没有记下来……

读物

链接

  • 【博客】COPYING is the way design worksMatthew Ström,备份 于此

    I’ve only been able to have a career in design because I copied.

    这是一位设计师的博客文章,很有意思,他讲述了「抄袭」是如何影响设计业的。

    Instead of prohibiting the copying or distribution of the software, a free software license guarantees the right of people to use, modify, distribute, and learn from its code.

    包括自由软件的传播,与其之于专利的颠覆,因为「复制 COPY」是设计的基础。

2024-10

读物

影音

  • 【剧集】希尔达 Hilda S03(2024);
    我们跟着蓝发女孩的冒险,终于要画上句号了,好不舍。

新闻报道

  • 【文章】請問端傳媒是一家什麼類型的媒體?端传媒,备份 于此
    一直在关注这个媒体的新闻报道,感觉他们写的新闻与评论都非常有水平,在这个页面也可以看到他们的代表作,下面也会列举数篇我最近看过的专题报道。联想到中国大陆的调查记者基本上都灭绝了的现状,不由得感叹简体中文新闻媒体的式微……
    由于服務條款,我无法将原文分享给大家。另由于付费墙的限制,我也无法将原文备份到互联网档案馆中。
  • 【专题报道】《中國煙癮系列》,端传媒
  • 【文章】潤出中國又回流的人端传媒

    「看不見、摸不着的自由和民主有那麼重要嗎?我的經歷告訴我,沒有。」
    疫情以后,多了许多合法/非法出境的中国 🇨🇳 移民,他们有的是为了追求自由民主,有的是为了更好的生计。说到底,他们心里都怀有对异国他乡的希望。可是,现在经济危机在暗流下涌动、全球各地出现数个战争热点地区的世界上,真的能找到更好的生活吗?我不知道,我不确定。对我来说,中国还没有坏到让人愿意舍弃一切出走的地步,这也是我还仍然留在这里的原因。

  • 【社论】以色列为何升级黎巴嫩战事? 伊朗会如何反应? 中东距全面战争多远?端传媒
    一直以为以色列 🇮🇱 在被哈马斯袭击以后,其不断无视国际调停、执意升级局势的做法只是以牙还牙,要将敌人打痛。看完这篇社论,我才知道原来这场战争也是其内部政治的延续…… 果然应证了普鲁士将军、《战争论》作者卡尔・冯・克劳塞维茨的那句话:

    Der Krieg ist eine bloße Fortsetzung der Politik mit anderen Mitteln.

    战争仅是政治伴以另一个手段的延伸(另译:战争是政治的延续)。

链接

  • 【博客】广义瓦片经济Miao Yu|于淼,备份 于此
    我真的看不清中国经济的未来,会好吗?还是不如现在呢?
  • 【文章】张鸣|义和团始末真相中国数字时代,备份 于此
    想到前段时间正好看到一位网友发帖称「圆明园遗址公园关闭了『火、木、石、土』四劫的展馆,开放日期未知」。
  • 【帖文】【补】小米 MIUI 系统组件监听用户隐私知乎,CAL1C0,备份 于此
    原帖已被删除,真正作者的原文备份 于此
    文章称国产安卓手机均偷偷摸摸内置反诈组件。看到作者在结论中说「我们终将在没有黑暗的地方相见。」我就知道这也是一位《1984》的读者。虽然我用外版外区苹果,但按照现在的国际局势下去,我也担心像我这样的数字移民终将无路可走。
  • 【帖文】业务拓展|“发帖”/“发贴”?“帖子”/“贴子”?更新:应该用 “帖” 豆瓣的地得警队didida,备份 于此
    一直疑惑,到底应该是「帖子」还是「贴子」,因为现在的互联网上大家已经将二者混用了。在网上搜了一下,当然早有网友考证过,所以我也将以前的所有误用都改了过来。
  • 【百科】格里蝾螈Wikipedia,备份 于此
    政客永远是最虚伪的人,就算在民主国家,有些人也会通过重新划分选区,以保证获得自己满意的席位 —— 点名批评新加坡 🇸🇬 的人民进步党。
  • 【百科】饥饿的苏丹Wikipedia,备份 于此
    非常著名的一张照片,今天才发现原来它还有一个名字。
  • 【帖文】94 件可写的小事 ——2024 星际沙特杯Bilibili,赤小兔 TuTu,备份 于此
    深受大家喜爱的中国 🇨🇳 星际选手李培楠与咖啡,在沙特参赛的一些小事。

2024-11

读物

  • 【书籍】巴别塔匡灵秀,2023,中信出版集团,豆瓣链接
    第四卷,章节十九至二十五;第五卷,章节二十六至三十三;尾声。
  • 【书籍】股市长线法宝杰里米・西格尔,2015,机械工业出版社;
    Siegel, Jeremy J. (January 7, 2014). Stocks for the Long Run : The Definitive Guide to Financial Market Returns and Long-Term Investment Strategies (5th ed.). New York: McGraw-Hill. p. 448. ISBN 978-0-07-180051-8.
    序言、前沿、、前言、译者序;第一卷,章节一至四;第二卷,章节五至八;
  • 【书籍】翰林高中公民乙版公民第一冊廖翠雰等,2023,翰林出版事業股份有限公司;
    第六章共三节。
  • 【漫画】女友成雙 カノジョも彼女弘幸 ヒロユキ,2020 —— 2023;
    今年下半年最温暖人心的漫画(

影音

  • 【电影】角斗士2(2024);
  • 【纪录片】空中浩劫S12(2012);

新闻报道

  • 【专题报道】He Made a Daring Escape From China. Then His Real Troubles Began.The New York Times MagazineBy Nyrola Elimä and Ben Mauk,Nov. 10, 2024,备份 于此
    这是《纽约时报》的两名记者历时数年整理出的有关维吾尔人的专题报道,的确是非常令人震惊,我知道维族人和藏族人在中国面临系统性的压迫,但从没想过是这样…… 本报道有志愿者将其翻译为了中文版,翻译的备份于此
    想起最近听闻中国政府关闭吉美坚赞学校 —— 藏区最后的传统藏族学校,又想起中国政府近年来取缔了蒙古语高考,不免有些怀疑:党和政府或许只是嘴上说着要保留各民族的传统文化,实际上却致力于推进少数民族的汉化,就像曾经所有的中原王朝所做的那样。
  • 【文章】救救工厂:工厂真的卷不动了正面连接,备份 于此
    我不能理解,为什么我们国家既然能生产出既便宜又好的商品,各家工厂不做产业升级,反而还相互降价激烈竞争呢?宁愿把灵魂卖给拼多多,放弃品牌,做白牌的工厂商品,这样下去是没有前途的……

链接

  • 【博客】海盗图书馆的关键时期Anna’s Blog,2024-07-16,备份 于此
    自从 Z-Library 被美国 🇺🇸 FBI 查禁以后,就很难找到好用、方便、书籍齐全的海盗图书馆了。好在这一年发现了 Anna’s Archive,使得我可以继续在网络上下载我想要的书籍。这篇博文是他们在近日发表的观点,他们认为随着硬盘每单位容量的价格越来越便宜,在未来项目的成本会越来越低,也会有更多人的加入,帮助互联网实现信息自由的愿景。
  • 【百科】史翠珊效应Wikipedia,备份 于此
    越试图隐瞒某事,反而会使得更多人知道。
  • 【专题报道】“卖命抢时效” 的卡车司机:不敢 “刹车”,无路可退三联生活周刊,备份 于此
    小时候看《小狗钱钱》,主角的父亲是一位卡车司机,常年在外跑车,自由自在地生活令主角很是羡慕,也让我很羡慕。不过现在看来,在中国 🇨🇳 跑卡车应该不是一个好主意。另外,听说美国 🇺🇸 的卡车司机去年罢工,使得 UPS 等公司将年工资提升到高达 35 万美元……
  • 【故事】【短篇】无问无答,便无虚假。豆瓣Reddit 恐怖故事小组,译者:削其骨为笛,原文 于此,原作者 NeonTempo,备份 于此
    非常短小精悍的一篇「故事」—— 虽然原作者声称这是真实发生过的事情 —— 我非常喜欢这篇,很少有故事仅仅依靠两人对话,便吸引住读者的目光,十分巧妙。
  • 【讲座】HSBC 速记汇丰集团,付鹏,备份 于此
    原链接才两个小时不到,又被微信封禁了。付鹏的观点还是很高的,至少比我高吧,看了这篇速记版,还是学到了许多东西。他提到可以看看《朱镕基答记者问》,借鉴一下那个时代,我已经在 Anna’s Archive 下载了一本,下个月就看完!

2024-12

读物

  • 【书籍】《朱鎔基傳:朱鎔基與現代中國的轉型》,**[美]龍安志 (著),丁力 (譯)**,香港中和出版有限公司,2003;
    又开新坑啦,最近这段时间对九十年代的经济状况十分感兴趣,或许可以在历史中找到现在的中国经济发展方向。

影音

  • 【视频】Me at the zooYouTubejawed,2005-04-24;
    看看算法给我推荐了什么?一部 19 年前的影片!
  • 【电影】飞出个未来电影剧集 Futurama:
    • 飞出个未来大电影1:班德大行动(2007)
    • 飞出个未来大电影2:万背之兽(2008)
    • 飞出个未来大电影3:班德的游戏(2008)
    • 飞出个未来大电影4:绿色狂想(2009)
      好诶,我要回顾一下我在大学期间下饭的影集啦。
  • 【视频】我用假新聞騙了台灣媒體YouTube蘇裔非
    原来即使在台湾 🇹🇼 这样已经民主化数十年的地方,媒体精神仍有不足,还是有数家媒体对新闻来源不去查证。
  • 【电影】史密斯夫妇(2005);
    评价为「美版《间谍过家家》」。

新闻报道

  • 【报道】季风再来 :一家独立书店的沉浮 以及公民社会的中国命运歪脑,江雪,10/07/2024,备份 于此
    不必多说,不过,我很喜欢文章中的一段话:

    再一次,在书店隔壁的一家宾馆,警方的几个人找于淼谈话,他们是上海方面的 “国保”,也即思想警察。这次 ,谈话快结束时,于淼问他们:你们真的相信,你们所做的这一切,关掉季风这样的一家人文书店,是正确的吗?

    其中一个看起来颇有 “水平” 的警察回答:你可以把这一切想象成是小说《1984》中的一个场景。

  • 【社论】“自愿” 996 加班还是 “被迫” 5 天 8 小时 ?中国新能源车企工人的无解难题歪脑,真田纳鸡,11/21/2024,备份 于此
    中国现在的一切,基本上都是由底层的工人与农民所创造的。与他们所面临的困境相比,城市中产与小市民的抱怨小得就像洒洒水一样。为什么要这样对待他们呢?为什么党和政府的法律不能允许工人们成立真正的工会,去与大企业主们进行劳资谈判呢?他们这样的待遇根本就不值得。
  • 【报道】一位高调批评中共的异议人士会设下骗局吗?National Public Radio,SEPTEMBER 7, 2024,备份 于此
    好几个月前我就将这篇文章加入了书签,不过一直没有机会看。这个月终于将其翻出来看完了,不得不说,反共可真是一门好生意
  • 【报道】深度报道 | 中国人的下沉年代:破产的城市精英与失败的人生重启,**莽莽 MANG MANG**,Xiaochuan;
    原来那句现在脍炙人口的话,不是什么俗语,而是出自 2020 年的疫情期间来自武汉的《方方日记》:

    我们唯一的事,只能把这一切都扛下来。时代的一粒灰,落在个人头上,就是一座山。可是,不扛,又能怎样?

  • 【报道】朱鎔基談台灣問題全文中華民國大陸委員會,新華社,民國八十九年三月十五日,备份 于此
    最近在研究朱镕基总理,我想知道他是一个什么样的人,推行的政策又是如何考虑的,碰巧看到了有关台湾 🇹🇼 的这篇文章,便摘录于此。

链接

The last day in 2024

又是一年过去了,今年看的书比去年要多,这是非常好的。但是,大部份的书我们都只是看了一部分,没有几本是看完的。看书也是需要激情的嘛,这我是可以理解的,希望新的一年中,能把这些书都看完吧!

]]>
+ + + 我看了好多有意思的,可不想忘记它们 + + + + + + + + + + + + + + +
+ + + 莱斯空管自动化系统管制席界面指南 + + https://mskclover.com/2024/04/19/LES-air-traffic-control-automation-guide/ + 2024-04-19T09:17:34.000Z + 2024-05-06T07:59:52.000Z + + SDD莱斯的自动化界面,与欧洲猫十分相似

写在前面

我在上学的时候一直有整理笔记的习惯,到了工作中也依然如此,所以就想把整理的一些笔记做成文档发上来。民航领域算是一个非常封闭的地方,互联网上总是难以查到相关的资料,特别是在中国大陆地区…… 我相信我们每个人的微薄之举都可以让互联网变得更好!所以,也希望这些资料能对需要的人有帮助吧。

在正文开始之前,想先向不熟悉的朋友介绍一下:

空中交通管制,是为飞机提供引导的地面管制人员/服务。相比于上个世纪初使用望远镜进行目视监视与程序管制,现代空管使用雷达管制,这就需要一套自动化系统,能同时处理多个监视源的数据,并将目标与所有的相关信息显示在频幕上 —— 这就是空管自动化系统(Air Traffic Control Automation)。

一般而言,目前国际上比较流行的自动化系统是 THALES 公司的 欧洲猫 Eurocat (现名 TopSky),非常的经典,也相当稳定。

FIRSFIRs controlled by TopSky - ATC

不过,由于目前国产化的趋势愈演愈烈,早已蔓延到了民航领域,所以中国 🇨🇳 不仅开始自己制造 C919 支线客机,同时也在力推国产化的空管自动化系统,中国电科 CETC 开发的 莱斯 LES 空管自动化系统也开始逐渐替代曾经的进口系统。某种意义上,莱斯在界面上是像素级抄袭了欧洲猫自动化系统,或许可以解释为管制习惯了欧洲猫的界面。另一方面,莱斯系统的稳定性也远不如欧洲猫,相比于后者在二十年间几乎没有出现过严重故障,我们现在甚至都不敢将莱斯长期使用(48 小时以上)。至于厂家简陋的算法、效率低下的技术支持与极不负责的测试,那就是后话了。

闲谈到此为止,接下来让我们来看看莱斯空管自动化系统的管制界面吧。

管制席部份 SDD

整个空管自动化系统的管制席位界面分为三个部份:

  • 通用信息窗口 GIW:工作模式、显示信息、目标属性 和 过滤设置 等
  • 态势界面窗口 SDW:显示雷达目标 和 背景地图 等
  • 命令行窗口 CLW:显示内容设置、飞行计划 和 辅助功能

其中,通用信息窗口和命令行窗口可以打开或者关闭。

通用信息窗口 GIW

GIW

GIW_detail

放像控制 RepCtrl

应该是放像席位的选择(Replay Control),在《1.2 新终端莱斯自动化 V3.5 系统(塔台)维护规程》中,有如下描述:

点击雷达管制界面的左上角的“RepCtrl”项,单击选择控制放像的席位(例POS88),如下图1所示。

系统逻辑组 System Name

如图中的 “APG000” 指示系统当前的逻辑组。

GIW1

席位等级

根据《1.1新终端欧洲猫自动化V10系统(塔台)应知应会》,有:

mode

系统模式:NORM —> DEGD —> NORM(自动)

席位模式:NORM —> DEGD —> LOW —>NORM(手动)

席位物理组与逻辑组 Logical Position

根据《1.1 新终端欧洲猫自动化 V10 系统(塔台)应知应会》,有:

系统物理组:

每个物理组都配置了若干台物理席位,每个席位都有一个物理名称,席位的 物理名称和工作站的物理位置是相对应的,且席位物理名称的更改是下线的。

系统逻辑组:

系统为每个物理组分配了若干个逻辑席位名称,一个物理组可用的逻辑席位名称的个数大于物理席位的个数。逻辑席位主要用于主任管制席的扇区分配,主任管制席把一个或几个功能扇区划分到某个逻辑席位,然后再把这个逻辑席位配置到某个具体的物理席位上。

在实际工作中这种扇区分配模式发挥着重要作用:当某个席位的硬件故障时,主任管制席可以将该席位的逻辑席位配置到另外一个空置的席位上,它所包含的所有功能扇区就相应的被配置到当前空置的席位上。

逻辑席位 TWSMPLGP

本席位配置的逻辑席位(Tower System Monitor Position - Logical Position),点击后会显示该逻辑席位所包含的扇区:

TWSMPLGP

计量单位 UNIT

席位计量单位设置 PUS 共有四种:

  • 公制式 MET

  • 英制式 IMP

  • 公制混合式 MET M

  • 英制混合式 IMP M

单位混合表示席位单位以主单位为主,航迹标牌可以单独切换单位。

指北设置 North

地图显示的校准方向有两种:

  • 真北 TRUE

  • 磁北 MAGN

速度矢量线 VEL 与 短航路探针 SRP

VEL 仅指示飞机的航向,而 SRP 与飞机的飞行计划相关,比如它会将飞机与航路点相连,另一端指向另一个方向:

SRP

尾迹点设置 HIST

历史轨迹(Historical Trail)设置,根据《NUMEN3000 自动化系统 V3.5 版本 - 管制员席操作手册》有:

尾迹点设置:鼠标左键点击 HIST 按钮,控制在 ILS 窗口中是否显示航迹尾迹点,并可设置尾迹点显示个数。
(计划航迹不显示尾迹点)

航空识别码 ACID

航空识别码(Aircraft Identification)用于区别标牌上的识别码类型,上栏有四个选项:

  • ACID:显示航班号
  • SSR:显示二次代码
  • 24 BIT:显示 24 位地址码
  • TRGT ID:同样显示航班号(Target ID)

雷达管制席位,航迹与计划相关或被挂上雷达 radtag 后,航迹标牌上就不再显示二次代码。
鼠标右键点击“ACID”按钮,所有与飞行计划相关或者雷达简标牌航空器的航班号显示处快速切换为二次代码显示。

ACID

下栏的 标牌快看 QLK ALL 是标牌强制显示,如:跑道上未升空但已打开应答机的目标、空中有二次代码但没有飞行计划的不明航迹等。

对于已经被高度过滤、二次代码过滤及区域过滤(SHOEBOX)的航空器,可强制显示其数据块标牌。

上升下降率显示设置 DIR

打开后可在标牌的右边显示各个航班的上升下降率(Descent or Increase Rate)。

标牌格式切换 Normal/Extend 和 Fixed/Shared

飞行相关航迹的标牌有两种显示格式:

  • 正常数据库标牌格式 Normal
  • 扩展型数据块标牌格式 Extend

正常数据库标牌格式显示 4 行飞行数据,扩展型数据块标牌显示 5 行飞行数据。

而扩展型数据块标牌格式 Extend 还有两种显示方式:

  • 固定型 Fixed
  • 分时扩展型 Shared

固定型显示 5 行飞行数据,其中第四行显示目的机场和机型。分时扩展型也显示 5 行数据,但是第四行在目的机场、机型为一组数据,下一报告点,下下报告点为第二组数据两组数据之间进行切换显示。

飞行计划航迹显示过滤 FPASD

可以显示全部计划航迹的功能,根据资料,有:

当功能关闭时航迹的所有显示属性,包括标识符、标牌、引线都被过滤。

第二通用信息窗口 GIW2

点击后打开一排选项:

GIW2

  • Main Window:调整态势界面主窗口的大小

  • Second Window:调整第二态势窗口的大小

  • Display Level:仅显示当前高度范围内的目标(高度过滤)

  • SSR Code Filter:二次代码过滤

    被过滤的航空器不显示数据块标牌。告警的、管制的及处于移交状态的航空器不进行二次代码过滤。

    二次代码集过滤指航空器的二次应答机代码的前两位与输入的过滤条件相同即可过滤,或者激活两个二次代码段后,两个二次代码中间的全部过滤。

    一共可输入两个二次代码集和两个指定二次代码,输入完毕后需回车确认;若想取消过滤设置需清空相关的文本框。

  • Target Address:地址码过滤

    一共可输入两个指定地址码,输入完毕后需回车确认;若想取消过滤设置需清空相关的文本框。

  • All Flights:管制航迹显示过滤

    • 所有航迹 All Flights
    • 本席位管制 Jurisdiction
    • 本系统管制 Controlled

    可过滤除飞行计划航迹、告警航迹、测试点、模拟目标之外的航空器数据块标牌,标识符不过滤。

all_flights

  • T&SM:测试点及模拟目标显示过滤设置

    可过滤系统接收到的监视目标中为测试点和模拟目标的动目标航迹,过滤航迹标识符及标牌。

    T&SM 按钮蓝底灰字表示显示相关目标。

    比如从 SMP 上找到的这个目标,航迹符 I 表明这是一个测试点:

tsm

态势界面窗口 SDW

雷达航迹符类别:略

目标标牌格式:略

命令行窗口 CLW

CLW

相比上面的示意图,我们的则是:

ourCLW

下面按照我们系统的实际顺序介绍。

显示设置 Set up

setup

罗盘 Graphic Options

选项 Compass Bearing 罗盘方位打开后,会在 SDW 四周以正北方向顺时针每 10 度显示方位,默认关闭。

动态文本 Txa Font

网上查到这是一种字体,但不知道在哪里能看到变化。

是动态字体显示,请参见后面的「动态文本」一栏。

标牌字体 Label Font

选择航迹标牌的文字大小。

标牌位置 Label Position

  • Auto Label Offset:自动标牌偏移,系统会自动调整标牌的位置,以避免标牌产生重合;
  • Global Orientation:全局方向,前面的选项用于调整所有标牌的方向;
  • Default:默认,标牌会默认指向同一个方向(目测右上 45 度左右);

边缘标牌旋转 Anti Edge Rotation

选择 Main 时,超出屏幕边缘的标牌将旋转其位置,直到强制显示完整标牌为止。

选项 2nd 和 other 未能看到变化。

标牌引线长度 Leader Size

选择航迹标识符到标牌的连接线长度。

重置自定义方向 Reset Manual Orientation

点击后,SDW 中所有的标牌方向将被重置。

距离环设置 Range Ring Options

打开后一组半径不同的同心圆,右侧可调整各环之间的距离。数值单位与当前席位单位显示制式一致,公制式为公里,英制式为海里。

亮度调节 Brightness

  • 文本/动态文本 Text
  • 管制航迹 Jurisdiction
  • 预管制航迹 Announced
  • 预管制航迹标牌 Announced Label
  • 非管制航迹的标识符 NJUR Symbol
  • 非管制航迹的数据块标牌 NJUR Label
  • 电子进程单 Strip
  • 背景地图 Map
  • 填充图形 Infill:激活的危险区及扇区
  • 工具 Tool

音量调节 Volume

左侧按钮可测试音量。

监视源选择 Surveillance Selection

默认显示综合航迹,系统也提供单雷达、旁路和其他监视源的目标显示,可判断是否为假目标。

Surveillance
  • Class 下有:NORM 综合航迹、BYPS 旁路航迹 和 TSDP 塔台航迹;
  • Type 下有:SYS 融合航迹、RADAR、ADS-B 和 WAN;
  • Source 下:接入的各路雷达,在旧版本的莱斯系统中可以选择某一路的雷达数据,而新版本仅能显示 ALL 所有雷达数据;

地图 Map

点击按钮后打开 MAP WINDOW,有三个栏目是比较重要的:系统地图、全局地图和本地地图:

map

系统地图 System Maps

系统地图是由离线设置的各类基础数据图形,包括空域、扇区、航线、导航台、报告点、机场等位置图形,管制员可以根据工作需要选择所需图形显示在席位 SDW 背景地图中,以此来直观地掌握各元素的地理位置。

一般我们使用:

云层地图 Generated Maps

提供根据云图的浓度进行气象云图的显示控制,气象云图按照浓度划分可分为浓、淡两级,不同浓度的云图显示不同的颜色。

私有地图 User and Local Online Maps

在一般的管制席位可进行本地私有地图的编辑,而在主任管制席位可进行全局私有地图临时危险区的编辑,主任席位编辑的全局私有地图只在本逻辑组范围内进行数据发布和强制显示;当具备主任权限时也可将本地私有地图转换为全局私有地图进行发布。

按照我的理解,本地私有地图 User Maps 仅在本管制席的地图中显示,而全局私有地图 Local Online Maps 可以在整个逻辑组的范围内显示。不过按照这样的话,全局私有地图和全局地图有什么区别呢?

全局地图 Global Maps

在具有主任管制权限的席位,可实现全局地图的创建、删除、保存、私有地图转换成全局地图功能,该功能在本逻辑组内有效。

选择私有地图后,通过右侧的「PrivToGlb」按钮,即可将其全局化(具体步骤请参见手册)。

主任参数设置 Info

在一般的管制席位可查看当前逻辑组范围内所有席位及相关参数的各种主任参数设置,只有在登录具备主任管制权限的管制席位才可对相关的参数进行修改。

info

在进行任何设置之前,需要先在最右侧的 LogIn 按钮登录。

我们的系统中,没有 WTH MAPS 和 HOST,而 RMAP、MIL、SSR INHIB 和 SPARE 按钮是灰色的,它们是灰色的原因为认为是没有登录账户的缘故。

二次代码 SSR

点击按钮后打开 SSR CODES 窗口:

SSR

根据数据库中设置的二次代码组和二次代码组所使用在的范围,可以设置所有的代码组在它所在的范围是否应用。其中:

  • TRANSIT 国际飞行
  • SUPERTRANSIT 国际飞跃飞行
  • DOMISTIC 情报区内飞行
  • SUBDOMISTIC 国内飞行
  • SUPERDOMISTIC 地区飞行
  • MILITARY 军方飞行
  • VFR 目视飞行

不过在我们的系统上,范围顺序为:DOMISTIC、MILITARY、SUBDOMISTIC、SUPERDOMISTIC、SUPERTRANSIT、TRANSIT、VFR。

在主用状态下,飞行计划处理模块将根据二次代码组的启用状态自动分配二次代码,系统为备份系统时不能自动分配该代码段。

扇区分配设置 SECT

点击后打开 CONFIGURATION 窗口:

sect

管制席可以分配一个或多个扇区,一个扇区只能有一个管制席位管制。
助理管制席可以和一个或多个管制席配对,一个管制席只能有一个助理管制席位与之配对。
席位名称为灰色时表示该席位 SDD 软件不正常或不在 FREE 模式和 OPS 模式。

上面的按钮第一行是物理席位 POS;而第二行是逻辑席位,在实际系统中为 BYA 和 BYC;下面的区域显示了分配给各个席位的管制扇区。下面的「配对席位显示区」就没有显示了,可能是因为没有登录账户的缘故。

修正海压 QNH

系统提供对 QNH 修正值的管理。设置的 QNH 值在雷达处理航迹时修正航迹的高度。系统可自动接收 AFTN 电报及 QNH 传感器输出的 QNH 数据,在雷达管制席位上自动更新。

QNH

自动移交 AHO

窗口全称应该为:AUTO HEADOVER STATIS,我们的系统上都是 OFF。

AHO

限制区域 RMAP

我们的系统中的按钮是灰色的,所以看不了,不过知道就好。

RMAP

单位 UNIT

点击按钮打开 LOGICAL POSITION UNIT STATUS 窗口,在这里可以为每个逻辑席位设置四种不同的单位形式,公制单位包括公制和公制混合,英制单位包括英制和英制混合。单位混合表示席位单位以主单位为主,航迹标牌可以单独切换单位。

UNIT

容量 CAP

点击按钮后弹出 FLOW CAP 窗口,可在此设置机场的容量,我们系统设置的值是 66:

CAP

当机场的容量超限时,会弹出提示窗口 CAP WARN MSG:

UNCAP_warningIT

炮射点 SHOOT

我们的系统中并未设置。

在主任席可进行炮射点的添加、修改、删除和激活操作,并可导出炮射点数据,炮射点数据包括:ID、中心点经纬度、作用半径、使用设备、地理信息以及备注。抛射点激活时,在 SDW 中以红色星星显示,如下图所示:

SHOOT

进离场程序 SIDSTAR

根据参考资料 [4] 和 [5],这是这是 标准立场程序 SID 和标准进场程序 STAR 的设置:

进离场航线设置窗口,可设置进、离场单独显示,且只显示当前激活跑道对应的进离场设置,可设置启用或关闭进离场航线上对应点,也可按照条件进行过滤显示,过滤条件包含:进场/离场、机场、点。

我们的系统都 OFF 掉了。

SIDSTAR

军事活动区 MIL

我们系统中的按钮是灰色的。

在主任席可进行军事活动区激活设置,当前时刻处于某一激活时间段内时军事活动区将在背景地图上以填充图形显示,否则军事活动区不显示。

MLT

跑道 RWY

点击按钮后打开 RUNWAY IN USE 窗口:

机场跑道设置窗口是用来设置机场缺省的起飞降落跑道。可以发布使用跑道当前的状态信息。其中,跑道状态有起飞,降落,起降,关闭四种,Local 为本机跑道状态信息,Global 为全局跑道状态信息。

我们系统未使用。

RWY

二次代码告警抑制 SSR INHIB

我们系统的这个按钮是灰色的。

在主任管制权限下,可对指定的二次代码进行告警屏蔽,可屏蔽的告警包括:短期冲突告警、低高度告警、(临时)危险区侵入告警、偏离飞行指令高度告警、进近下滑道监视告警、五边侵入告警。

SSR_INHIB

席位告警状态 PSS

这里可以查看莱斯系统逻辑组各个席位的告警状态,在系统备用的情况下,除了 RA 告警被 OFF 掉,其余告警均设为 VIS。

  • ON:声音+标牌闪烁
  • VIS:标牌闪烁 VISUAL
  • OFF:不提示

这里写错了,中期冲突告警就是 MTCD,正如我们系统中显示的那样,而不是图中 PSS 窗口的 MTCA(注意:短期冲突告警是 STCA,不要把缩写搞混了)。

PSS
告警缩写告警名称
STCA短期冲突告警
MSAW最低高度告警
DAIW危险区域告警
RAM偏航告警
CLAM高度偏离告警
NTZ非侵入区告警/五边侵入告警
MTCD中期冲突告警
COS目标丢失告警
APM下滑道监视告警
DCW起飞冲突告警
ADSBADS-B 告警提示
RVSMRVSM 告警提示
WFSCA尾流间隔告警
RA目标碰撞告警
DUPE重码告警
IC相关不一致告警
RIW错误跑道告警

签到情况 SIGN

用户签到只在管制席可用,主任席无用户签到框。用户签到信息窗口,每台席位的用户签到和退出信息显示在签到信息列表中。

SIGN

切换 SWITCH

系统提供 AIDC 移交开关功能、进程单自动打印功能、协调状态提示显示开关、主飞行数据处理机开关以及主监视数据处理机开关。

其中:DCL 是 数字放行,ADS-B/S 可能是适用 S mode 的 ADS-B。而在我们的系统中,Print Strip 按钮变成了 SSR ALLOC。

SWICTH

主备切换 SPARE

目前莱斯是备用系统,不过可能是因为没有登录用户的缘故,所以按钮是灰色的。

在主任席位可进行主备系统切换的开关设置。

当作为备份系统时,默认所有扇区的自动移交出和自动移交入开关均为开,系统只进行收报不发报,所有类型告警在席位的显示状态均为「VISUAL」。而当系统切换为主用系统时默认所有扇区的自动移交开关为关,系统可自动发报,所有告警类型的席位提示方式为「ON」。而当系统切换为主备中间状态「STAND」后,系统不向外发送飞行计划同步信息,同时也不接收外系统送过来的飞行计划同步信息;

SPARE

第二/局部 窗口 Second

点击后可打开一个可调节其大小的小窗口,其内同样可对航迹进行管制操作,包括移交、弹出飞行计划窗口等。

second

飞行计划 FPL

这是非常重要的一部份,在此可了解航班的状态。

飞行计划窗口分为两大类显示区域:功能按钮区数据显示区。用户可以通过功能区创建、修改和删除飞行计划等,在数据显示区可以显示飞行计划的详细内容:

FPL1

FPL2

飞行计划数据栏目

栏目描述格式/个字符
计划状态 STATUSINHB: 抑制
NACT: 静止
PREA: 预激活
COOR: 协调
CONT: 激活
HND: 移交
FIN: 结束
FUR: 未来
INHI: 抑制
SUPS: 悬挂
UCTL: 未管制
4
CSEC责任扇区或下一个扇区5
PSSR以前用的二次代码(模式和 SSR)5
ASSR分配的二次代码(模式和 SSR)5
OPDATA标牌上的自由文本(管制自填)10
ATD实际起飞时间4
ACID航班号8
FRUL飞行规则1
FTYP飞行类型1
TYP -N机型架数2
TYP -AC-TYP机型4
TYP -WTUR尾流1
ATOWActual Take-off Weight
EQUIP设备8
ADEP起飞机场4
EOBTEstimated Off-Block Time
ETD预计起飞时间4
TAS真空速(巡航速度)5
RFL请求飞行高度(巡航高度)5
RTE航线(ICAO 15),点击后可以显示全程航路报告点的名称、时间和高度1023
ADES目的机场4
EET飞行总时间4
ALTN备降机场9
REGN
DCDC SFRA
OTHERICAO 18 去除 REG250
Update Time计划更新时间 形如:HH:MM:SS8
Obsolete Status如果显示的计划不是最新的,显示 Not Current

飞行计划功能按钮

NEXT 后的第一排具体内容
NEXT显示相同航班号的下一条飞行计划
CRE创建飞行计划
RPL重复性飞行计划显示
EST人工协调
DEP人工起飞
ACC移交接收或强制接收
JTRF对航班进行强制授权扇区功能
MCOU人工航迹相关
INHI抑制状态功能
TRSATC 电报发送
P/CFL预计剖面飞行高度/指令飞行高度
FMF飞行信息功能
PREV 后的第二排具体内容
PREV显示相同航班号的上一条飞行计划
CRTE航路创建
STE模板库中计划显示
BACK飞行计划取消协调
CDEP取消起飞
HND移交
HNDI修改航班移交模式
DCOU人工取消雷达相关
CNL飞行计划取消
AURAirspace Usage Requirements
PRL飞行员报告高度
HSTR飞行计划历史信息
计划次序 后的第三排具体内容
MOD飞行计划修改
PAST过去计划库中计划显示
INAT计划变为静止功能
TMA终端区信息
EXIT退出条件
HOLD等待功能
ATA实际落地时间
SUP添加补充信息
//
TAS真空速
//

点击功能按钮后会出现的特殊内容如下:

栏目描述格式/个字符
GATE停机位4
ARWY到达跑道3
DRWY起飞跑道3
SID标准起飞航线5
STAR标准到达航线5
CFL指令飞行高度5
PCFL预计剖面计算高度5
BPN入界协调点,对于本管制区起飞的飞行计划为空白11
ETN预计起飞时间,预计或实际飞越 BPN 的时间,对于本管制区起飞的飞行计划等于 ETD4
BPX出界协调点,对于进港飞行计划,BPX 为空白11
ETX预计或实际飞越 BPX 的时间4
XFL出界协调点飞行高度4
PRL飞行员报告高度5
FMF飞行情报50
SUP补充信息100

菜单栏选项

菜单栏具体内容
CLEAR清除功能
FPCP
Trial
Add/Del
PRINT STRIP打印进程单
PRINT FDR
Enter确认执行当前的操作
Escape取消当前功能

电子进程单 SSTP A

电子进程单设置窗口允许管制员选择某种类型的电子进程单列表进行显示。

详细信息请参考资料《NUMEN3000 自动化系统 V3.5 版本 - 管制员席操作手册》。

SSTPA

SSTPA_format

丢失航迹列表 Lost

当本席位管制的与飞行计划相关的航空器出现丢失监视目标从而导致与飞行计划自动去相关时,相关的航班信息会出现在目标丢失列表内,每个列表项显示丢失航班的航班号和对于的应答机编码,若目标再次出现并且与飞行计划相关上,相关的丢失信息将自动从列表中消失。出现在列表内的丢失目标信息在系统下线设置 VSP 时间后自动从列表内删除。

Lost

雷达简标牌列表 Tag List

在具备管制权限的席位创建了雷达简标牌后相关的雷达简标牌信息会显示 在简标牌列表内,如下图所示:

在列表内显示雷达简标牌的航班号、二次代码、飞行指令高度和自由文本信息。鼠标左键点击列表信息的航班号字段可打开雷达简标牌编辑窗口;鼠标中键点击航班号可删除雷达简标牌。

Tag_List

雷达简标牌删除 Del Tag

这里可以删除雷达简标牌。

人工挂标牌 Rad Tag

这里可以对未相关航迹人工挂标牌。

下行数据参数 DAP

根据这个名字,我猜这个简写的英文应该是 Downlink Aircraft Parameters,航空器数据下行参数。

DAP 窗口中的数据项内容可通过数据库离线配置,打开下行数据显示窗口后,窗口中的内容会随着雷达所送过来的数据不断地进行更新。

DAP

航班排序管理 TFC MGT

我猜英文的简写可能是 Traffic Management,交通管理。

TFCMGT

航班排序管理窗口可以根据选择的定义点显示电子进程单,并且查询出的电子进程单显示在窗口的自动排序区,自动排序区按照过点时间从大到小进行排序,窗口中间有一条隔离条,下方是人工排序区,可以将自动区的一条或多条进程单移到人工区,在人工区可以人工排序。

对于在该窗口中选择的本场机场起降和相应跑道的条件,在各个席位同条件的窗口中人工区的单子是同步顺序的,也就是说一个席位调整了人工区的顺序, 其他席位同步调整。

该窗口中对于本场起飞的航班可以修改全局信息。

仪表着陆系统 ILS

在这里可以监视航班在进近下滑道道状态:

在管制席位提供仪表着落系统功能,在 ILS 窗口中提供航空器在降落阶段相对于指定跑道的剖面图和俯视图。

ILS

动态文本 TXA

这个缩写应该是 Text Entry,文本输入。通过这个按钮,我们可以在态势界面的任何地方留下提示文字。

CLW 窗口中设有 TXA 按钮,点击 TXA 按钮,在 SDW 窗口中鼠标左键点击一处,弹出文本输入框可进行输入。在 Setup 窗口可设置两种文本字体。

TXA

测距 BRL-L/BRL CLEAR

通过这个按钮,可以对两个目标进行测距操作,测量标牌的显示内容分别为:

  • 直线距离
  • 方位差
  • 高度差

可实现两航迹间相对位置测量,航迹与固定点间相对位置测量,两固定点位置间相对位置测量,在终点处显示测量标牌,每种测量标牌显示内容不一样,显示单位与席位当前显示单位制式一致。鼠标左键点击测量标牌,可再次调节测量的终点;鼠标右键可调整测量标牌的位置;鼠标中键点击测量标牌,可删除 BRL 测量线。

BRL

ETO 告警方式设置 WAYP ON/OFF/VIS

ETO 是 预计结束时间 Estimated Time Over 的缩写,而按钮上的缩写 WAYP 推测是 Waypoint 航路点的缩写,指预计经过航路点的时间告警显示方式设置。

ETO 在席位的告警方式共有三种设置:ON、VISUAL 和 OFF;当选择“ON”时,有 ETO 告警的航迹将出现告警字段闪烁显示并且发出告警提示音;当选择“VISUAL”时,告警航迹仅显示告警闪烁;当选择“OFF”时不显示 ETO 告警。

该设置对席位中所有出现 ETO 告警的航迹有效。

数字放行列表 DCL LIST

系统对预激活或协调的飞行计划收到 RCD 报文,点击塔台席“DCL LIST”按钮,弹出“DCL LIST”界面。

窗口中“Sort ACID”和“Sort ETD”按钮为排序按钮,“Sort ACID”按钮点击后可以按照航班号字母顺序从小到大进行排序,“Sort ETD”按钮点击后可以按照 ETD 时间从小到大进行排序。窗口中显示的内容为 DCL 状态、航班号、预计起飞时间、状态、目的机场、停机位、跑道、离场程序、巡航高度。

其中 ETD 代表 预计到达时间 Estimated Time of Departure。

DCL

跑道预测 RUNWAY QUERY

系统可以根据输入的机场名称预测当前时间至 2 小时之后时间段的跑道流量架次 。蓝色柱状体表示起飞架次,棕色柱状体表示落地架次,黄色部分表示超过告警值的架次。

RUNWAYQUERY

屏幕配置保存 SAVE LOAD

SAVELOAD

屏幕配置是管制席位显示界面在某一时刻的显示布局情况,这些情况包括:地图显示中心、显示范围、系统地图显示调用、距离环、航迹速度矢量线、航迹历史点选择、航迹标牌字体大小以及过滤条件设置。

在管制席位提供本席位当前屏幕配置的存储功能,在席位重启后,可进行人工加载。

登录 LogIn

login

在 CLW 的最右侧按钮是主任席的登录按钮,莱斯手册中所说的在 Info 窗口中打开 LogIn 窗口是错的

输入用户名和密码登录以后,LogIn 按钮会变为 LogOut 按钮。

管制-机师数据链 CPDLC

CPDLC

略缩词列表

略缩词英文对应
通用信息窗口 GIWGeneral Information Window
态势显示窗口 SDWSituational Display Window
命令行窗口 CLWCommand Line Window
回放控制 RepCtrlReplay Control
塔台监控席逻辑席位 TWSMPLGPTower System Monitor Position - Logical Position
速度矢量线 VELVelocity Vector
短航路探针 SRPShort Range Probe
尾迹点设置 HISTHistorical Trail
空管编码 ACIDAircraft Identification
上升下降率显示设置 DIRDescent or Increase Rate
飞行计划航迹显示过滤 FPASDFlight Plan Air Situation Display
非管制航迹的标识符 NJUR SymbolNon-Jurisdiction Route
二次代码 SSR codeSecondary Surveillance Radar code
修正海平面气压高度 QNHA Q(uestion) code, to concisely ask for
atmospheric pressure at mean sea level (MSL)
限制区域 RMAPRestricted Map
容量 CAPCapacity
容量超限警告 CAP WARN MSGCapacity Warning Message
标准离场程序 SIDStandard Instrument Departure Routes
标准进场程序 STARStandard Arrival Routes
二次代码告警抑制 SSR INHIBSSR Inhibit
缩小垂直最小间隔 RVSMReduced Vertical Separation Minimum
短期冲突告警 STCAShort Term Conflict Alert
最低高度告警 MSAWMinimum Safe Altitude Warning
危险区域告警 DAIWDanger area infringement warning
偏航告警 RAMRoute adherence monitoring
高度偏离告警 CLAMCleared level adherence monitoring
非侵入区告警/五边侵入告警 NTZNo Transgression Zone
中期冲突告警 MTCDMedium Term Conflict Detection
目标丢失告警 COS[Confliction of Separation/Continued Operational Safety]
下滑道监视告警 APMApproach Path Monitor
起飞冲突告警 DCWDeparture Conflict Warning
ADS-B 告警提示 ADSB[Automatic Dependent Surveillance-Broadcast]
RVSM 告警提示 RVSM[Reduced Vertical Separation Minimum]
尾流间隔告警 WFSCA[Wake Final Separation Conflict Alert]
目标碰撞告警 RATCAS RA
Traffic Collision Avoidance System Resolution Advisory
重码告警 DUPEDuplicate (A duplicated SSR code)
相关不一致告警 ICInconsistent Correlation
错误跑道告警 RIW[Runway Incursion Warning]
数字放行 DCLDeparture Clearance
预计离港时间 ETDEstimated Time of Departure
预计到达时间 ETAEstimated Time of Arrival
实际离港时间 ATDActual Time of Departure
实际到达时间 ATAActual Time of Arrival
空域使用请求 AURAirspace Usage Requirements
实际起飞重量 ATOWActual Take-off Weight
可变系统参数 VSPVariable System Parameter
航空器下行参数 DAPDownlink Aircraft Parameters
飞行数据记录 FDRlight Data Recorder
仪表着陆系统 ILSInstrument Landing System
预计结束时间 ETOEstimated Time Over
预计着陆时间 ELDTEstimated Landing Time
到达管理 AMANArrival Manager
离港管理 DMANDeparture Manager
管制员-飞行员数据链通信 CPDLCController-Pilot Data Link Communications

参考资料

  1. 《1.1 新终端欧洲猫自动化 V10 系统(塔台)应知应会》

  2. 《1.2 新终端莱斯自动化 V3.5 系统(塔台)维护规程》

  3. 《NUMEN3000 自动化系统 V3.5 版本 - 管制员席操作手册》

  4. 国际民航组织有关 SID/STAR 标准用语的修订中国民用航空局 CAAC,2012-06-06
    https://www.caac.gov.cn/big5/www.caac.gov.cn/XWZX/GJZX/201312/t20131204_16047.html

  5. SID/STAR HomeICAO
    https://www.icao.int/airnavigation/sidstar/Pages/default.aspx

  6. SIDs and STARsSKYbrary
    https://skybrary.aero/articles/sids-and-stars

  7. Traffic Alert and Collision Avoidance System (TCAS),**National Business Aviation Association (NBAA)
    https://nbaa.org/aircraft-operations/communications-navigation-surveillance-cns/tcas/

  8. *What are the differences among ETO, ETA, and ELDT?*,StackExchange,Aviation
    https://aviation.stackexchange.com/questions/91912/what-are-the-differences-among-eto-eta-and-eldt

  9. Controller–pilot data link communicationsWikipedia
    https://en.wikipedia.org/wiki/Controller%E2%80%93pilot_data_link_communications

  10. 聊聊空管自动化系统的各种告警功能VATSIM 中国分部论坛,1681250 Jiaqing Jiang,2022-11
    https://community.vatprc.net/t/topic/7430

]]>
+ + + 第一篇工作文档 + + + + + + + + + + + + + + + + + + +
+ + + 深夜随笔 + + https://mskclover.com/2024/04/14/essay-in-night/ + 2024-04-14T09:24:08.000Z + 2024-07-14T10:11:25.594Z + + cover

很久没认真地写过博文了啊,非常惭愧,我在这大半年里一直都想写些什么,但总是「提笔忘字」,无从下笔。自从工作以来,我的表达欲好像都消失无踪,不知道这是成熟的表现,还是倒退回了牙牙学语的时候…… 我也不知道为什么会变成这样,当时忙于毕业,以为周记只会中断一点时间,我还专门为新的系列写下了「引言」:

大家好!

这次阔别小半年间,我又有了新的想法:过去的周报形式虽然简单,但就如同写命题作文,内容创作比较受限。后来我了解到在个人博客中存在一种「Newsletter」的形式,比如友链朋友 言醴 通过类似信件的方式写作,或许这是一种更好的创作与分享方式 —— 您看,我真的会时不时地去拜访大家的(

我不知道如何重新开始,每次都在犹豫中渡过,到最后什么也没写。或许是想得太多了,至少先开始写点东西吧。

此夜

现在是凌晨,为什么我还没有睡觉呢?

因为今天是夜班,晚上有一个维护要做。现在的航班量还是比较大,为了最大程度上避免对管制运行造成影响,所以我们得等到扇区合并以后才可以做,大概是晚上两点的样子…… 其他人都先去睡一会儿,而我想着平时也常熬夜到一两点,所以就打算做完再睡。

这下我明白了轻松地熬夜与「带着任务地熬夜」有多大区别了,现在我全身上下的每一个细胞好像都在催促着我去睡觉……

喝了点凉水打起精神,等待期间,我在书签里翻出了两年前的一篇文章。

文章

那时还是 2022 年 3 月,我在一个多月前开始了我的考研生涯,所以我很容易地就看到了这篇文章:《2022 浙大计算机考研失败总结教训》 —— 当时肯定是为了学习经验,不过时隔两年以后再次看到,我很容易地就点进了作者主页,想知道他后来的结局。

那是他的第一篇文章,他后来又发表了三篇,我将他的文章列在下面并注明时间:

不做任何价值观上的评价,我非常钦佩他的勤奋与毅力,他达成了自己的目标。在这个浮躁、悲观又竞争激烈的社会,他没有受到流言蜚语的影响,也没有被前两次遗憾落榜的失败所打倒,这已经超过大多数人了(包括我),他值得这一切。不过,这些文章中最能打动我的,其实不是他起得多么早、学习到多晚,而是他的心路历程。

在第一次失败时,他回顾了过去大半年的备考经历、总结经验教训后,写到:

成绩出来的那天,早上我爸说梦到我考上了,虽然我一直估的是 370 分但是当时我真的很害怕就翻车了,下午快两点成绩出来,打开电脑查询成绩,输入准考证号和身份证后看到屏幕上的 353 分总成绩和每科都比预估低的分数,我知道今年考研失败了,瞬间所有的悲伤和愧疚涌上心头。当时我妈正在卧室外等我出去吃饭,正在等着我向她汇报好消息,同时我想到我爸的那句“我梦到你考上了”,一瞬间我的心里就仿佛是有数万根针同时刺入一般,我感觉我对不起我爸妈,对不起他们对我的期待。

告诉家人我失利之后,我妈每天都在网上看考研的相关信息,生怕为我漏掉什么调剂的信息,我爸觉得以后和我待在一起的时间越来越少,吃饭的时候也在悄悄地抹眼泪。虽然他们都说没事大不了再来一年,这一年绝对能考上,但是我的心里还是非常的难受,非常的愧疚。我担心再来一年会再一次失利,毕竟考研一年就一次,一旦失败就是丢掉一年的时间。我也很不甘心,不甘心自己一年的努力没有得到回报,不甘心就这样沉沦下去。我这篇文章记录下来,作为我二战的教训,警醒自己不能重蹈覆辙,不能自甘堕落,坚持下去,来年再战!

老当益壮,宁移白首之心;穷且益坚,不坠青云之志。

我看着也挺难受的,在高考的时候我也有过类似的焦虑:担心发挥不好搞砸了这一切,无法面对家人的付出与期待。所以当时看到作者还能调整状态,重整旗鼓,准备迎接下一次考试时,我也暗暗钦佩。

一战我报的是浙大,今年我报的是科软,我也不知道是不是巧合,去年科软爆冷,今年浙软招不满,科软爆炸。其实我总分应该是够的,但我如果多一点运气,如果考 408 前一晚我没有认为外排不会考所以没有认真看,如果我考场上不会忘记考前那一晚看过的外部排序,那 10 分我拿到手,我也是能进复试的。但感觉就是那么倒霉,就是那么一点的差距,就是那么不凑巧,我轻轻扫了一遍的知识点刚好就是从未考过的新出现的考点。我感觉自己真的好像不适合考研,真的就像是命运在捉弄自己,告诉我考研这条路可能行不通。

现在暂时没有继续考的打算,这两年考研,基本都是自己一个人备战,跟人说话的日子少之又少,差点成了哑巴。现在看到考研的书,说实话都有点犯恶心。脱产一年考研,没有工作和实习的经历,导致现在工作也没那么好找。家人觉得我今年考这么高但又是差了一分单科线,觉得很不甘心,爸妈想让我再来一年,但我有些没心气了,我怕再来一年又会像今年这样,如果数学和英语没有今年发挥的好呢?我也怕自己一个人再孤独的准备一年,身边没有同龄人的情况下到后面抑郁掉,而且我是 99 年的,比别人晚上一年学,再三战,毕业可能就是 27 岁,我觉得那样太晚了年龄太大了,当然更害怕自己再次失败。

最后打算回归现实了,打算在西安找个工作,也可能以后会突然有考的想法,但是计算机考研性价比感觉一年不如一年,最后到底走哪条路我也不确定,这篇文章暂时先就到此为止吧。

这种感觉真的让人绝望,想到两年的光阴、自己的努力,好像被白白浪费了一样。很多人都接受不了这样的结果,特别是那些第二次还没有之前考得好的人,会遭受到很多来自外界的压力与闲言碎语。

25 号中午在家看到官网的拟录取名单,看到自己的名字的时候,反倒是没有多么激动多么感慨,也是比较平淡吧,内心就是想,这三年考研终于结束了,要开启下一个阶段了。晚上和家人一起吃了火锅,爸妈都很高兴,想到这过去三年幻想了多少次被录取的场景终于发生在现实中,我反而觉得有些不现实。三年考研,这其中的痛苦和委屈,好像在这时候都消失不见了,只是我每每想到 2023 年 3.17 日那天安安静静没有什么声音的家,心里还是会难受会伤心。

他终于考上了,他得到了应有的回报,我诚挚地为他高兴,毕竟在这个努力越来越无用的年代,能看到这样的事情,殊为不易。

我是个弱者,没有勇气去真正经历考研,我没有资格去评判作者这三年到底「值不值得」。我也曾经想过,如果高考没考好,要不要再考一次?后来想着还是算了,就算考差了那也是自己的命运。塞翁失马,焉知非福?但是这个目标作者花了三年,整整三年的人生啊,这个代价太大了。另外,现在的竞争这么激烈,经济形势又不好,每晚一年你都要与越来越多的人竞争越来越少的工作岗位。

接下来就是开启下一个阶段吧,考上只是第一步,以后的路还很长,像考研这种人生的关键路口走过了并不意味着就结束了,眼下我也得继续筹划一下未来的方向了,目前第一步就是先把车学了驾照考了。

从来都没有什么终点:人生并不在考上大学那天结束,也不在拿到入职通知时戛然而止。我现在也有新的目标,希望我能在一年后成功实现它。

]]>
+ + + <p><img src="/images/essay-in-night/cover.jpg" alt="cover"></p> + + + + + + + + + + + + +
+ + + 红英再开:域名两周年🎉 + + https://mskclover.com/2024/03/06/domains-second-year/ + 2024-03-06T15:51:34.000Z + 2024-03-06T15:57:42.000Z + + cover烟花也是花!

这次标题中的「红英」一词,取自唐代诗人鱼玄机的《卖残牡丹》,原诗云:

红英只称生宫里,翠叶那堪染路尘。

及至移根上林苑,王孙方恨买无因。

正巧近日古诗文网的 RSS 每日一诗推荐过这首,读过以后感觉很美,就用在了这里。

那就简单地写一下吧。

时间

这是 mskclover.com 域名的第二年啦,她陪着我走过了过去的一年,蛮开心的。

为什么我会记起这个时间呢?我当然在去年记录过确切的日子,不过比起「倒数日」一天天临近给人的感觉,还是 Cloudflare 寄来的信用卡账单更能轻轻地敲醒我……

coverCloudflare 寄来的域名托管账单

Cloudflare

将域名转移至 Cloudflare 差不多一年了,我还是非常满意的:一年不到十美刀的价格,不会随着时间的增长而变贵(说的就是你们!GoDaddy 和 Namecheap);从没出过问题的名称服务器和 DNS;国内一如既往优秀的访问速度(感谢 Cloudflare 免费赞助的 CDN)。总的来说,各方面的体验都要比其他的托管商更好,但愿他们不会像 Google Domains 一样跑路(

由衷地希望 Cloudflare 在未来能发展得越来越好,为所有人带来更加自由、安全的互联网。

红英

既然域名是花园的一道路引,那这里怎么能少得了花呢?

flowers摄自广州白云山

再会

最近还是有些不太适应工作的节奏,精神状态比较差,估计大家看我这些稀碎的文字就能感受一二吧?

跟花有关的古诗,还有一首非常出名的:

花有重开日,人无再少年。

相逢拌酩酊,何必备芳鲜。

《续侄溥赏酴醾劝酒二首・其一》,〔宋〕陈著

现在心花重新感受,与小时背诵的时候相比,感觉大不相同了。

那就不再多写了,我们明年再会!

i-was这张插图依旧是来自香港 🇭🇰 的插画家 PEAR 哥

]]>
+ + + 虽然距离周年还有些日子,不过我们提前一点纪念也无妨 + + + + + + + + + + + + + + + + +
+ + + 【摘录】异星歧途(The Road Not Taken) + + https://mskclover.com/2024/02/10/the-road-not-taken/ + 2024-02-10T14:35:34.000Z + 2024-02-10T14:51:18.000Z + + 作者:哈利·托特达夫(Harry Turtledove)
译者:姚人杰

这次我新转载了一篇小时候在《科幻世界》上看过的小说,现在再读,仍旧是一个令人惊叹的好故事,特意摘录,希望大家也能感受一番科幻的魅力!(所有权利归原作者、译者与出版社所有)

入侵

当“不摧号”凭借超空间引擎而凭空出现时,托格兰姆队长正在如厕。像经常发生的那样,这位罗克索兰人军官感到一阵反胃。他拿起便桶,对着它猛然呕吐起来。

吐完后,他放下了便桶,用棕灰色皮毛光滑的前臂擦拭了流淌出泪水的眼睛。“众神诅咒它!”他大声骂道,“船长们跃迁前为啥不提醒我们?”他手底下的几个士兵更加尖酸地呼应着。

这时候,门口出现一名传令兵。“我们回到正常的太空了。”年轻的士兵尖叫道,又冲向下一间舱室。他身后的人或是嘲弄,或是咒骂:“一堆废话!”“谢谢消息!”“告诉领航员——他们兴许还不知道呢!”

托格兰姆一声叹息,烦恼地挠起鼻子,担忧起自己的烦心事儿来。身为一名军官,他应该为士兵们树立个好榜样。他是低级军官,足以正儿八经地肩负起这些责任,可他服役甚久,早就觉悟到,他永远不应该指望哪个军阶比他高两级以上的长官给予他什么。高级军官能坐上那些位子,要么是老早就双手沾满鲜血,要么是新近砸下一大笔钱财。

他又一次叹息,把便桶放回墙上的凹槽内。凹槽的金属盖被滑下,依旧不能阻挡臭气。在太空中待了十六天后,“不摧号”里弥漫着屎尿、腐败的食物和陈腐躯体的臭味。罗克索兰舰队的其他任何一艘飞船里的情况都不见得有多好,或者说其他任何一支舰队情况都不比眼下好。在星际间航行,就是这个样子。忍受臭味和黑暗,是军人为了让王国蓬勃壮大所付出的一部分代价。

托格兰姆拿起一盏提灯,摇晃几下,唤醒提灯里的发光虫。发光虫受惊后耀出银白色的光芒。队长晓得,有些种族用火炬或蜡烛照亮他们的飞船,但发光虫耗费的空气更少,即便它们只能间歇地发光。

托格兰姆永远是个小心谨慎的军人,趁着光亮还持续时,查看了自己的武器。他总是把手头的四把手枪都装好子弹,时刻准备使用;等着陆行动开始后,一对手枪会挂在他的腰带上,另一对插在皮靴里。他更担心自己的剑,飞船上一直不散的湿气对剑刃不好。不出所料,他发现了一块要擦拭掉的锈迹。

他擦拭双刃长剑的时候,揣想新星系会是什么样子。他祈求这个新星系里有一颗适合居住的行星。等到飞船回到最近的罗克索兰人控制的行星时,“不摧号”里的空气可能会腐臭得无法呼吸。那是“星辰开拓者”要冒的一个风险。这不算最大的风险——小型的黄色恒星通常都会驭御着一两颗能孕育生命的星球——可总归还是有风险。

他情愿自己没有思索此事。担忧犹如令人疼痛的毒牙,一旦咬入你的皮肉,就甩不走了。他从一摞被褥上起身,去看领航员做得怎样。

和以往一样,兰西斯克和学徒奥格伦都在抱怨他们磨制望远镜的玻璃多么劣质。“你俩应该停止埋怨,”托格兰姆一边说,一边眯眼从门口向里面瞅,“你俩至少看东西的时候有光照着。”在长时间借助发光虫提灯看事物之后,他不得不先耐心地等待自己的眼睛适应观察舱内刺眼的阳光,才能进舱室。

奥格伦气恼得耳朵后仰。兰西斯克年纪更大,也更冷静。他把手放在学徒的胳膊上。“假如托格兰姆每嘲弄你一次,你都发脾气,那么你会没时间干别的任何事——他从蛋里孵出来的那天起,就是捣蛋鬼。托格兰姆,对不对?”

“随你怎么说。”托格兰姆喜欢这位白鼻子的资深领航员。兰西斯克不同于他的多数同行,举手投足间不像他们那么高傲,他并不认为自己做着一份重要的差事,反而使得自己在众神计划中占据着某种特殊的地位。

奥格伦突然愣住了,粗短的尾巴末梢抽动起来。“这儿有颗行星!”他呼喊道。

“让我瞧瞧。”兰西斯克说道。奥格伦让开望远镜后的位置。两位领航员一颗颗瞧看那些明亮的恒星,寻找那些显示出星系盘,表明它们确实属于行星的星球。

“确实是行星。”兰西斯克最终说道,“但不适合我们居住——那些有条纹的黄色行星无一例外空气总有毒,这类事见得多了。”他见到奥格伦沮丧的表情,又说道:“也并非一无所得——假如我们沿着一条从那颗行星到它的恒星的直线去观察,我们应该很快就会找到另外的行星。”

“试试那颗星球。”托格兰姆边说边指向一颗微红色的星球,它看上去比他目力所及的其他多数星球都更明亮。

奥格伦嘟哝了几句傲慢的话,说自己对本行当然比外行人了解得多,可兰西斯克厉声呵斥道:“队长从太空见过的星球比你多多了,小子。你应该照队长的吩咐做事。”奥格伦情绪低落地垂下耳朵,依命行事。

他的不悦随即烟消云散。“是一颗有绿色斑点的行星!”他大喊道。

兰西斯克此前一直把望远镜对准天空的另一区块,听到此话,赶紧奔了过去。他推开学徒,调整望远镜的聚焦,久久地凝视放大后的图像。奥格伦在换着脚单脚跳,灰棕色的皮毛膨胀起来,迫不及待地要听到师傅的定论。

“也许吧。”资深领航员说道,奥格伦的脸庞随之亮堂起来,可是当兰西斯克继续说后,奥格伦又变得垂头丧气。“我没看见任何像开阔水面的东西。如果我们没找到任何更有力的证据,我说我们还是试一下,再搜索一段时间。”

“我会让一只洛夫兽非常开心的。”托格兰姆说道。兰西斯克轻声笑起来。罗克索兰人把洛夫兽这种小动物带在身边,用它们测试新发现的行星的空气。假如在飞行器气闸舱的洛夫兽能呼吸星球的空气,那么该星球的空气对洛夫兽的主人应该也安全。

在一连有好几颗星球只看得见几个光点后,领航员恼怒地吼起来。接着,在用望远镜观察的兰西斯克愣在了原地。“是这儿了。”他轻柔地说道,“这儿就是我们想要的。奥格伦,过来。”

“哦,我的天啊,确实。”学徒看了一会儿后惊叹道。

“去把此事报告给斯列冯统帅,问下他,他手头的设备有没有探测我们舰队之外的任何超空间引擎的振动。”奥格伦匆匆离去,兰西斯克示意让托格兰姆过来。“你自己看看。”

步兵队长弯下腰,凑到目镜前。在漆黑太空的映衬下,望远镜里见到的星球看上去酷似罗克索兰星球:蔚蓝色的深海上覆盖着旋涡状的白色云团。一颗相当大的卫星悬挂在附近。两颗星球都差不多在半相期,比“不摧号”更靠近它们的恒星。

“你看见陆地了吗?”托格兰姆问道。

“看图像最上面,冰冠下面。”兰西斯克说,“那些棕色和绿色图案不是通常情况下水面的颜色。假如我们想在这个星系里找到个有生命的星球,那么你现在看到的就是。”

他们轮流观察那颗遥远的星球,试图画下地貌特征,一直到奥格伦回来。“怎样?”托格兰姆说道,不过他见到学徒的耳朵欢快地高耸着。

“整个星系里只有我们的超空间引擎的放射!”奥格伦笑着说。兰西斯克和托格兰姆都拍打起学徒的后背,好像他是好消息产生的原因,而不只是带来好消息的人。

队长甚至笑得比奥格伦更开心。这意味着那将是一次简单的征服行动,作为一名职业军人,他完全赞同。如果附近没有人能够制造超空间引擎,那要么是星系里根本没有智慧生命,要么是居住在星球上的种族依然处在原始状态,对火药、飞行器和星际战争的其他方面一无所知。

他搓了搓手。他迫不及待地要着陆了。

接触

巴克·荷索百无聊赖。在太空中待了足足四个月,还有五个半月在等着他,人变得无聊一点儿也不让人惊讶。地球是“阿瑞斯三号”后面的一颗明亮星球,较为暗淡的月球陪伴左右,火星在前方发出红光。

“巴克,现在轮到你锻炼了。”阿特·施奈德喊道。在五名宇航员之中,他大概是最爱发号施令的那位。

“晓得了,伙计。”荷索叹息道。他把自己推到脚踏车上,踩踏起来,起初无精打采地,接着越来越使劲。锻炼有助于保持骨骼中的钙质,令其尽量少受失重的影响。此外,也让宇航员们有点儿事做。

梅丽莎·奥特正在收听地球传来的新闻。“费南多·巴伦斯瑞拉昨晚过世了。”她说。

“谁?”施奈德不是棒球迷,不知道这位洛杉矶道奇队的天才投手的大名。

荷索是个棒球迷,还是个加利福尼亚人。“我曾经在一次退役球手纪念赛见过他,我还记得老爸和爷爷总是说起他。”他说,“梅尔①,他享年几岁?”

“七十九岁。”梅丽莎答道。

“他总是活得太沉重。”荷索伤感地说。

“耶稣基督啊!”

荷索眨了眨眼。自打从美国太空站起飞开始,阿瑞斯三号上的宇航员从没说话如此激动过。梅丽莎正看着雷达屏幕。“弗雷迪②!”她大喊道。

飞船上的电子专家弗雷德丽卡·林施乔姆刚刚从促狭的浴室里出来。她扑向控制面板,身后依然拖着一串小水滴。她没有费事地用毛巾擦干身子——很久之前,羞怯心在阿瑞斯三号上就已经荡然无存了。

梅丽莎的叫喊甚至令克劳德·琼纳德从生物实验室里探出头来,他的多数时间都花费在这个小小的实验室里。“出了什么情况?”他从舱口喊道。

“雷达不对劲儿。”梅丽莎告诉他。

“什么意思,不对劲儿?”琼纳德气恼地追问。他是那类觉得自己的每分每秒都很宝贵,并认为别人也是如此的讨厌鬼。

“屏幕上有大约一百个、也许一百五十个物体,根本不应该在那儿的物体。”弗雷德丽卡·林施乔姆插嘴说道,她也有点儿惜时如命的毛病,“距离在两百万公里左右。”

“它们一分钟前还没在那儿。”梅丽莎说,“我想知道它们会在什么时候出现。”

当弗雷德丽卡操作起雷达与电脑时,荷索还在健身脚踏车上,觉得自己百无一用:一位地质学家在距离星球有几百万公里的地方有什么用处?他甚至无法让自己的名字被铭刻于历史书上——没人会记得第三批探险队的成员,无论他们的目的地是哪里。

弗雷德丽卡完成了检查。“我找不到任何故障。”她说话的语气像是在生自己和设备的气。

“是时候联系地球了,弗雷迪。”阿特·施奈德说,“假如我要登陆火星的话,不能指望一台闹故障的雷达。”

梅丽莎早已在用话筒与地球通话。“休斯顿,这儿是阿瑞斯三号。我们遇上了个难题——”

即使信号以光速传播,依然得等待好久。宇航员一个接一个地缓缓凑过来。扩音器突然发出声音时,每个人都被惊得跳了起来。“阿瑞斯三号,这儿是休斯顿控制中心。女士们,先生们,我不知该如何告诉你们这件事,但我们也见到它们了。”

联络员还在继续唠叨,但已经没人在听她讲话。荷索觉得头皮刺痛,头发出于原始反射一根根地想要竖起来。他的内心充满惊惧,他从未想到,自己会亲眼目睹人类与外星种族的接触。“梅尔,向它们发信号。”他催促道。

她犹豫不决。“巴克,我不晓得该不该那么做。也许我们应该让休斯顿来处理。”

“去他妈的休斯顿。”他冒出的粗口让自己都惊讶,“等到那里的官僚琢磨出对策的时候,我们那时早就着陆在火星上了。我们才是在场的人。你打算错过两个种族历史上最为重要的时刻吗?”

梅丽莎逐一看向她的同伴。无论她在他们的脸上见到了什么,总之是令她满意的结果,因为她把目标转向天线,开始说话:“这儿是太空飞船阿瑞斯三号,呼叫未知的飞船。致以地球人民的欢迎。”她暂时关掉了无线电发射机问:“我们共能说多少种语言?”

他们依次以俄语、汉语、日语、法语、德语、西班牙语,甚至包括拉丁语发送了呼叫。(“谁知道外星人上一次访问地球是在什么时候?”当施奈德向她投以怪异的眼神时,弗雷德丽卡如此辩护。)

假如说等待地球发来的回复耗时良久,那么这一次等得更久。延迟了好久,远远超过一个光速来回所需的十五秒。“就算他们不会说我们的任何一种语言,他们不也应该说点儿什么吗?”梅丽莎对着空气问道。空气或外星人都没有回答她。

接着,那些古怪的飞船开始背离太阳,向着地球疾驰而去。“我的天啊,它们加速了!”施奈德说,“那些不是火箭吧!”他突然间胆怯起来。“我猜想星际飞船不会携带火箭的,对吧?”

阿瑞斯三号再一次孤零零地漂泊在这一片太空中,循着它的霍曼转移轨道,毫不动摇地继续飞向火星。巴克·荷索不禁想哭。

试探

罗克索兰舰队的飞船和演习时一样,聚拢在这个新发现的行星陆地较多半球的地极上空。因为每个人都会抵达相同的地点,这套准则使得舰队的会合容易一些。很快,只有四艘飞船没有出现。一艘侦察舰赶紧绕到另一面的地极,找到那四艘飞船,把它们带了回来。

“每一次都有几个喜欢水的家伙。”托格兰姆给领航员们带来消息时,咯咯笑着说道。他抓住每一次机会溜到领航员的-圆顶观察舱,不只是因为这儿阳光充沛,还是因为他和许多军人不同,对行星本身感兴趣。要是他有擅长计算的头脑的话,他也许早就尝试成为领航员了。

他有着一只擅长执笔写写画画的手,所以兰西斯克和奥格伦乐意让他待在望远镜旁,为他们正在绘制的行星草图添上几笔。

“真是稀奇的星球。”他评论道,“我从未见过哪颗星球上有如此多的林火或火山,或者黑暗那面的天知道什么着了火的东西。”

“我依然认为那些是城市。”奥格伦说道,公然与兰西斯克针锋相对。

“它们太大也太亮了。”资深领航员耐心地说道。他们的争论显然已经持续了好一会儿。

“奥格伦,这次是你第一趟异星之旅,对不对?”托格兰姆问道。

“是啊,是又如何?”

“你就是看问题还不够全面。罗克索兰星上的伊戈罗克将近有一百万人口,夜里从太空看它,几乎看不见。也没有哪个地方像这些光亮一样明亮。请记住,这是一颗原始的行星。我承认,下面看上去确实居住着智慧生命,但一个尚未意外地发现超空间引擎奥秘的种族怎么可能建造起大小十倍于伊戈罗克的城市?”

“我不知道。”奥格伦闷闷不乐地说,“但是从我借助月光依稀看见的地貌来说,那些光亮都处在建造城市的最佳地点——海岸线上、河流沿线,诸如此类。

兰西斯克叹气道:“托格兰姆,我们得拿他怎么办?他一心以为自己样样都懂,不会听我们讲道理。你年轻时也这副腔调?”

“不管怎样,得一直等到我的氏族家长们把我教训得服服帖帖。不过,无须大惊小怪。很快飞行器就会带着洛夫兽降落星球,我们那时就能知晓答案了。”他强忍下笑声,突然脑袋清醒起来,希望自己年轻时没有像奥格伦这样容易上当。

“我的雷达上显示出一艘外星人的飞船,”SR-81侦察机的飞行员报告说,“它下降到五万米高度,依旧在降落。”侦察机已经达到了上升限度,而这只不过达到了外星人飞船进入大气层时的一半高度。

“看在上帝的份儿上,先别开火。”地面控制中心下令道。在他起飞前,他们已经向他下达过这条命令,但这些军队高层不打算让他忘记此事。他并不是真的责怪他们。一个爱乱开枪的蠢蛋可能永远葬送人类。

“我开始获得视觉图像,”他边说边瞥看着投射在面前的平视显示器上的画面。片刻后,飞行员问道,“我现在就能告诉你们,这是一艘长相怪异的飞船。它的机翼在哪儿?”

“我们现在也在接收图像。”负责地面控制的长官说道,“他们一定是在大气层内飞行器上运用了和宇宙飞船上相同的原理,某种反重力装置,赋予了他们提升和驱使物体的能力。”

外星人的飞船一直没理睬SR-81侦察机,正如所有外星人都没理睬地球向他们发送的信号。外星人的飞行器继续缓缓降落,SR-81侦察机在下面盘旋,希望自己不必下降至空中加油机那儿要求补加燃料。

“一个疑问获得了解答,”他呼叫地面控制中心,“这是一架战机。”抱着和平意图的飞行器不会在机腹上画上那些虎视眈眈的眼睛和满嘴尖牙利齿的血盆大口。美国空军有一些对地攻击机上也画有类似的标志。

外星人的飞行器最终降落至SR-81侦察机巡航的高度。飞行员再次呼叫地面。“可否允许我在外星人飞行器前面飞掠过?”他问道,“也许飞行器里的所有人都睡着了,我此举能弄醒他们。”

地面控制中心沉默许久后,不情不愿地同意了。“不许做敌意的手势。”控制人员警告说。

“你觉得我会做什么,对着外星人竖起中指?”飞行员咕哝着,但他的无线电已关闭。当他控制着SR-81侦察机开始漫长而缓慢的拐弯,飞机的加速度使得他被压在座椅里,这一拐弯会让飞机出现在外星人太空舰队派出的那艘飞船前方五百米左右的地方。

飞机上的摄像头让飞行员瞥见了外星人飞行员的模样,对方坐在一面脏兮兮的小挡风玻璃后面。

外星生物也看见了他。毫无疑问地看见了他。外星人飞行员像只受到惊吓的幼鹿左躲右闪,完成了一连串复杂的机动飞行动作,这些动作会令SR-81侦察机的飞行员被紧紧地压在压力舱的舱壁上——前提是他的飞机性能能跟得上外星人的飞行器。

“我要追赶敌机!”飞行员大喊道。地面控制人员冲着飞行员厉声训斥,可坐在驾驶舱里的是飞行员而不是控制人员。飞机后燃器开启后产生汹涌澎湃的瞬间加速力,相比之下,他之前感受到的压力不过像爱人的轻抚。

他的侦察机拥有更佳的流线型设计,速度比星际飞船派出的飞行器更快,但那并没让他占到便宜。外星人飞行员每次发现他,他们的飞船就能毫不费力的轻松躲开。SR-81侦察机的飞行员觉得自己像个想用短柄斧头杀死一只蝴蝶的笨男人。

更令他受挫的是,他的燃料警示灯亮了起来。不管怎样,他的飞机是针对接近太空的稀薄大气层而设计的,不是用来在外星飞行器所飞经的越来越稠密的大气层里运转的。他骂了句脏话,但不得不飞离了敌机。

当SR-81侦察机从空中加油机里吞进航空煤油时,飞行员不禁想起,假如他刚才发射一枚导弹会发生什么事。他有两次处于极佳的发射位置。他只会在自己心底里想想这事而已。上级们要是知道他有这个想法会有什么可怕反应,单单想到此处,他就不敢深思此事。

托格兰姆参加完军官会议回来时,步兵们把他团团围住。“队长,什么命令?”“洛夫兽还活着吗?”“下面什么模样?”

“伙计们,洛夫兽活下来了!”托格兰姆笑容绽放地说道。

他的连队成员大声欢呼,营房里回响起震耳欲聋的喝彩声。“我们要下去了!”士兵们呼喊起来。一些人兴奋地竖起耳朵。有些士兵在空气腐臭的房内挥动起羽饰帽。其他人的喜好则更像他们的队长,走到各自的地铺,开始检查武器。

“长官,敌人会有多么强硬?”托格兰姆走过时,一位名叫伊灵古阿的,长着灰色皮毛的老兵开口问道,“我听说飞行器飞行员看见了一些奇怪的东西。”

托格兰姆笑得更欢了。“伊灵古阿,老天在上啊,你难道经历得还不够多,不晓得在星球着陆前,比起留意这些你听到的谣言,还有更重要的事要做?”

“长官,我也希望如此。”伊灵古阿说,“但这些谣言如此怪异,我揣想也许有些实情。”见托格兰姆没有回答,老兵自感愚蠢,摇了摇头,摇晃起提灯,这样他就能检查短剑的利刃。

登陆

步兵队长尽量不惹人注意地发出一声叹息。他不晓得自己该相信哪种说法,而他刚才也听了飞行员的汇报。这个星球上的原住民不懂反重力技术,他们又怎么可能拥有飞行器?托格兰姆听说过有个种族在发现更佳的飞行方法前,使用了热气球,但热气球不可能抵达原住民的飞行器出现的高度,也不可能改变方向,飞行员在会议上一直坚持说那架飞行器改变了方向。

必须假定飞行员弄错了,他肯定是弄错了。但是假如兰西斯克之前嘲弄过的那种可能性是真的,这个星球人口如此稠密,只剩下一丁点宝贵的野外空间,如此庞大的城镇又该如何想象?其他飞船发来的提灯信号表明,他们派去侦察的飞行员也汇报了同样疯狂的不可能现象。

甭管了,从长远来看,即使这个种族数目像野餐时的瑞佛虫一样繁多也无关紧要。那样只会是有更多的臣民服膺于罗克索兰。

“这是白白糟蹋了机会。”比利·考克斯一边对众人说道,一边把帆布包甩到肩头,大步流星地奔向那辆正在等他的卡车。“我们应该张开双臂欢迎外星人,不该展示武力。”

“你跟他们说去,教授。”中士桑托斯·阿莫罗斯在后面窃笑,“我呢,只想尽快在哪个有空调的营房里舒舒服服地坐下,不用再面对洛杉矶的炎夏烟雾和大太阳。真可惜,你只是个一级专业军士。如果你是总统,你就能随心所欲地下达命令,而不是在这儿接受命令。”

考克斯觉得那样也不是十分公道。第二次叙利亚危机爆发后,军队招兵买马,他被招募进陆军的时候,正攻读政治科学硕士的他只是少了几个学分。

他必须把自己瘦长的身体像把折刀一样折叠起来,才能钻进卡车橄榄色的顶篷下面,在乘客舱里坐下。座位太硬,也彼此靠得太近。把人都塞进车里比他们坐得舒不舒服更重要,尽管乘客就活生生地在你面前。典型的军人思维,考克斯轻视地想道。

卡车很快就坐满了人。柴油发动机伴着隆隆声启动。一个黑人士兵掏出一副扑克牌,和众人打赌,说他能把二十五张扑克牌变成五手好牌。有两个生手和他赌了起来。考克斯以前赌输了不少钱后,才弄明白这是个骗人的赌局。黑人士兵一边暗笑,一边把扑克牌递给一个上当的蠢蛋,让他洗牌。

嘶!扑克牌撕开的声音响起,使得卡车里的所有人都转头来看。“伙计,你从哪儿学会这样玩扑克牌?”黑人士兵质问道,他名叫吉姆,但大家都喊他小吉。

“在拉斯维加斯玩二十一点的时候。”嘶!

“嘿,小吉,”考克斯喊道,“我突然想要回输给你的十块钱。”

“伙计,你的钱已经花掉了。”小吉一边说,一边郁郁不乐地看着扑克牌移动,仿佛这些纸牌具有生命。

卡车一路向北驶,卡车所在的护卫车队包括了卡车、机械化步兵战车、轻型坦克,延绵数英里。这个整编团正向洛杉矶开拔,以连队为单位,安置在洛杉矶市的不同地区。考克斯很赞同这种安排,这样他就不太可能会与那些外星人正面相遇了。

“桑迪,”他对紧挨着坐在自己身旁的阿莫罗斯说道,“就算我弄错了,外星人并非友善之辈,那手持的武器会有什么用呢?这就好比手持安全别针与大象较量。”

“教授,我早跟你讲过,他们付钱给你我不是让我们思考。思考问题也无妨,但我要执行中尉命令我做的事情,你要执行我叫你做的事情,那样就万事大吉了,对不对?”

“好吧。”考克斯这么说是因为桑迪不是个坏家伙,而且是位中士。然而,倚靠在考克斯靴子中间的那把新式步枪看起来十分无用,他的头盔和护身装甲同脱衣舞女郎的性感睡衣一样轻薄。

随着“不摧号”进入大气层,观察舱外面的天空开始从黑色变成深蓝色。“那儿。”奥格伦指着某个地方说道,“我们会在那里降落。”

“从目前的高度看不见多少。”托格兰姆评论说。

“奥格伦,让他用你的望远镜。”兰西斯克说,“他很快就要回他的连队去了。”

托格兰姆咕哝了起来,兰西斯克的话不那么简单,有着弦外之音。尽管如此,他还是很乐意从目镜里看看外面。大地仿佛向他冲来。他逐渐适应颠倒的映像时,有一阵头晕目眩,映像中的海洋处在视野中错误的一侧。但他对看风景没兴趣,他想要弄明白的是:他手底下的士兵和“不摧号”上的其余部队必须要怎么,才能打出一个滩头堡,并死死守住,对付这个星球上的原住民。

“那儿有个看上去很不错的地点。”他说,“城市东边——不,是西边——区块的建筑物中间的那块绿地。那应该能给予我们一块开阔的着陆场地,一块合适的扎营地,以及让增援部队着陆的基地。”

“让我看看你在说的地方,”兰西斯克边说边把他推攮到一边,“嗯嗯,是的,我看到你说的那片地方了。那地点也许不坏。奥格伦,过来看看这个。你能在统帅的望远镜里再次找到这个地点吗?如果行的话,就去指出给他看。我们建议把那儿当做我们的降落地点。”

学徒匆匆离开。兰西斯克再次俯身凑到目镜上。“嗯嗯,”他再一次说道,“下面的人造建筑挺高,对吧?”

“我觉得是这样。”托格兰姆说,“道路上也车水马龙。他们花费了好大一笔钱给道路都铺上了圆石,我没看见路上扬起半点儿尘土。”

“这次的征服应该能获得很丰富的战利品。”兰西斯克说。

一个仿若猎鸟的金属物体从观察舱窗口旁飞掠而过。“老天啊,他们确实有飞行器,我没眼花吧?”托格兰姆说道。虽然飞行员一直宣称看见飞行器,可在他的内心深处,他并未相信过这种说法,直到他亲眼见到。

他注意到兰西斯克的耳朵在急躁地抽搐着,意识到自己确实在观察舱里滞留了太久。他拿起自己那盏发光虫提灯,回到自己的部队。

有两个士兵因为他离开太久而怨恨地看着他,可是他告知了两人着陆地点的情况,鼓舞了他们的斗志。普通士兵最喜欢的莫过于内部消息了。他们不晓得内部消息的时候,会胡乱猜测上级的心思,但是当他们对上级讨论的事情略知一二的话,这场游戏就更加有趣。

门口出现一名传令兵。“托格兰姆队长,你的连队会从三号气闸舱着陆。”

“三号。”托格兰姆复述了一遍,传令兵跑开了,去传令给其他地面部队的长官。队长戴上羽饰帽(羽毛是猩红色的,这样他的连队即使在战场上也能认出他),最后一次检查了手枪,接着命令自己的部属紧跟着他。

气闸舱内侧门前面和“不摧号”上的其余任何地方一样乌漆墨黑,一样臭不可闻,一样令人不舒服,但不知怎地,待在这儿容易忍受些。很快,舱门就会开启,他会感觉到清新和风吹拂在皮毛上,品味到芬芳好闻的干净空气,享受到和煦的阳光,还不受时间限制。很快,他就会在战斗中与这些新遇到的生物较量一番。

“不摧号”上的飞行器从母舰上发射出去的时候,他感觉到一点点震动。这回飞行器上不会载有洛夫兽,而是载上了火枪手,他们会从上空开火,把罐装的火药引线点燃,再从空中扔下,以此来威吓这颗星球上的原住民。罗克索兰军队总是尽全力给敌人留下凶残的初印象——恐惧能令他们的兵员翻倍。

传来了另一阵震动,与上一次的震动不同。这回是飞船着陆了。

加州大学洛杉矶分校的校园被一片阴影覆盖。小吉伸长脖子,说道:“乖乖隆叮咚,看看这大家伙!”他念叨这句话已经足足有五分钟,在外星飞船缓缓降落时一直没停过。

他每次念叨时,比利·考克斯只能点点头。他的嘴巴干渴,双手紧握在步枪的塑料手柄和冰凉的金属枪管上。新式步枪在这艘趾高气扬地降落的庞大飞船映衬下显得不堪一击。外星人的飞行器在飞船周围飞来飞去,好似鲸鱼旁边的小鲦鱼,它们转而又令更远处盘旋的美国空军战机显得像侏儒。战机的喷气式发动机发出巨响,能刺破地面上紧张不安的士兵和平民的耳膜,而外星飞行器的发动机则安静得可怕。

外星飞船降落在新罗伊斯楼、新海恩斯楼、新金赛楼和新鲍威尔楼中间的方形空地上。飞船比周围随便哪座两层楼红砖建筑都要来得高,这儿的每座楼都是原有楼房在二○三四年洛杉矶大地震中坍塌后重建起来的。考克斯听见空地上的小树苗在外星飞船的重压下断裂的声响。他寻思着,五年前随着那些著名的老楼一起倒下的大树就算依然存在,照样会支撑不住。

“好了,它们着陆了。我们赶紧上去。”肖顿中尉下令道。他其实没能克制住嗓音的颤抖,可他依然快步向南,冲向外星飞船。他带领的排跟在他身后,经过了迪克逊艺术中心,经过了新邦奇楼。距现在还不是太久的时候,比利·考克斯曾赤脚走在这个校园内。此时此刻,他脚上的靴子踩踏在混凝土路面上,砰砰作响。

这个排部署在道德楼前面,向西看,能见到外星飞船。一阵柔风抚弄着小树的叶片,这些尚需壮大的小树种在这儿,是为了取代那些在地震中倒下的茁壮大树。

“尽可能去找掩护。”肖顿中尉平静地下令。这个排匍匐进花坛,蜷伏在细瘦的树干后面。外边的希尔加德大道上,装甲战车都已经找好最佳的射击位置,各就各位,柴油发动机则发出轰鸣声。

对峙

考克斯不悦地想着,这完全是在浪费时间。现在该做的事是与外星人友好相处,而不是一上来就假定外星人是危险的。

至少,有些事正沿着这一方向进行着。一个代表团从墨菲楼里走了出来,躲在一面白旗后面,从这栋行政楼缓缓走向外星飞船。代表团里打头阵的是洛杉矶市长——总统和加州州长正在别处忙碌着。比利·考克斯不惜付出任何代价,只要能成为代表团成员就行,而不是倒卧在这儿,肚子贴着草地。要是外星人等到他五十来岁的时候再过来,让他有机会成为大人物,该有多好……

阿莫罗斯中士用手肘轻推了他。“伙计,看看那儿。有情况——”

阿莫罗斯是对的。好几扇之前还紧闭的舱门徐徐打开,使得地球的空气能够与船舱里的气体混合。

西风变大了。考克斯的鼻子抽紧。他说不明白这些冲他飘来的奇怪气味都是什么来路,可他嗅到味道的时候,闻出了污水和垃圾的气味。“老天,好臭啊!”他说道。

“神灵在上,好臭啊!”托格兰姆惊呼起来。当气闸舱的外侧门放下时,他本来期待着外边新鲜的空气能取代“不摧号”里面陈腐的臭气。这儿的空气闻起来像在用泥煤生火,烟气缭绕,要不就是灯芯尚未被掐灭的油灯气味。它还令眼睛灼痛!他感觉到瞬膜覆盖到眼球上保护双眼。

“准备战斗!”他下达命令之后,就带领着自己的连队往前走。这一步最难处理好。假如这儿的原住民够胆量的话,他们可以趁着罗克索兰人走出飞船的时候发动攻击,那样会引发各种麻烦。然而,多数未掌握超空间引擎技术的种族都会敬畏于外星访客的到来,不会尝试发动那样的攻击。假如他们不迅速发动攻击,那就为时太晚了。

这儿的人没有发起进攻。托格兰姆看见一些原住民,但他们保持着一定距离。他吃不准那儿有多少原住民。他们的皮肤斑驳——或者那其实是衣服?——很难注意到他们,也很难数清楚人数。可他们肯定是战士,从他们的举止和手里拿着的武器就看得出来。

他的连队组成了熟悉的两排阵形,第一排蹲在地上,第二排站着,手里的火枪瞄准了敌方前列部队的脑袋。

“哈,我们去那边。”托格兰姆欣喜地说道。躲在白旗后面上前的那伙人肯定是原住民中的贵族。队长瞧出来了,那色彩斑驳的其实是衣服,因为这些人的穿着独树一帜,颜色暗黑,脖子上还挂着外形怪异的狭长布条。他们比罗克索兰人更高,也更瘦,脸上也没有突起的鼻子。

“伊灵古阿!”托格兰姆大声喊道。这个老兵率领着连队右翼的小队。

“长官!”

“你的部队阵线逆时针转四十五度角。听到命令后,击倒那儿的敌方将官,那样会削弱余下敌军的士气。”托格兰姆按照标准的作战守则下达了命令。

“准备好火绳!”托格兰姆说道。罗克索兰士兵把闷烧着的火绳放落到火枪的火门上。“瞄准目标!”一把把火枪微微地移动。“开火!”

“泰迪熊!”桑迪·阿莫罗斯一声惊呼。同样的念头跃入了考克斯的脑海。外星飞船里出来的外星生物是棕褐色的,圆鼓鼓、毛茸茸,有着长长的鼻子和大大的耳朵。然而,泰迪熊通常可不会手持武器。

考克斯心想道,泰迪熊通常也不会住在一个闻上去像臭水沟的地方。当然,这股气味在他们闻起来可能像香水。可假如真是那样,外星人和地球人相处起来就会有麻烦了。

他注视着泰迪熊各就各位。不知怎地,他们的阵形并没让人觉得他们要构成仪仗队欢迎市长和他的随从。不过,这场景在考克斯看来很眼熟,然而他也想不明白原因。

接着,他突然灵机一动。要不是他眼下在加州大学洛杉矶分校的校园里,他绝不会打通关节。他记得自己上过一门课,课上讲授了十六世纪欧洲民族国家的崛起,以及国王创建的纪律严明的职业军队的重要性。那些早期军队和眼前的外星人军队一模一样。

交火

这是一次滑稽的巧合。他正要向中士提起这一发现,这时突然枪声大响。

外星人的长枪突然喷出火舌,大团的烟气飘入天空。考克斯的耳畔响起了一阵响声,仿若一只愤怒的黄蜂在嗡嗡叫。他听到两边传出叫喊和尖叫声。市长代表团里的多数人都已倒下,一些人不再动弹,另一些人痛得翻来覆去。

外星飞船发出一声动静,瞬息之后,又是一声,同时一发圆炮弹击中了砖砌结构的道德楼。一块碎片打在考克斯的后脖子上。微风带来了爆竹的气味,他已经有很多年没闻到这种气味了。

“继续装填!”托格兰姆喊道,“再齐射一次,然后用刺刀和敌人肉搏!”他部下的士兵疯狂地忙活着,测量每次装填火药的量,再装入实心圆弹。

“他们想跟我们玩这个!”阿莫罗斯叫喊道,“兄弟们,把他们的皮剥下来钉到墙上!”阿莫罗斯的小手指头已经被打掉了,他似乎并没发觉。

考克斯手里的新式步枪早已在开火,吐出一连串烫手的黄铜弹壳,枪身靠在他的肩上砰砰作响。他插入一个又一个弹夹,握在手里的步枪像水管一样倾泻出子弹。假如一发子弹没有击中敌人,那么下一发子弹一定会。

与考克斯同个排的战友同样在开火。考克斯还听见校园内不同地方的自动化武器开火的声响,还有火箭推进榴弹和野战炮更为低沉的声响。人类军队产生的硝烟开始包裹住外星人的飞船和周围的外星士兵。

敌方冲着考克斯所在的排回了一两枪,然后又回了几枪,但他们的反击始终稀稀拉拉,考克斯惊讶得不敢置信,对中士喊道:“这不公平!”

“去他们的!”阿莫罗斯喊话道,“他们想要充老大,他们就得接受风险。他们干的唯一一件好事就是干掉了市长。我一直以来都讨厌那个老疯子。”

在托格兰姆听来,这种刺耳的哒哒哒声一点也不像他听到过任何一种开枪声。开火太过密集,形成了连绵不绝的恐怖枪声。假如原住民在反击他的部队,那么他们阵地上火药产生的呛人浓烟在哪儿?

他不晓得这个问题的答案。他只知道自己的连队会像面对镰刀的谷物一样倒下。有个士兵一次被三枚子弹击中,姿态笨拙地倒在地上,仿佛他的身体不知道该转向哪一边。另一枚子弹打掉了他的天灵盖,场面可怕至极。

队长刚才尖叫着下令齐射,可是还未实现就已泡汤。大概有一个小队的士兵勇敢地走向原住民,日光在这些擦得锃锃亮的长刺刀上闪耀。这些士兵还未踏出七八步,就已纷纷倒下。

伊灵古阿看着托格兰姆,眼睛里充满恐惧,倒伏下的耳朵紧贴着脑袋。队长知道自己也是这个模样。“他们对我们干了什么?”伊灵古阿吼叫着。

托格兰姆只能无助地摇摇头。他俯冲到一具尸体后面,拿起一把手枪对着敌人开了一枪。仍然有机会打赢,他心想道——这些疯狂的原住民怎么经受得住第一轮空中攻击?

一架飞行器俯冲向原住民。火枪手从射击孔里开了一枪,随后退回去装填子弹。

“干掉他们,这群婊子养的!”托格兰姆叫道。不过他并没有在空中挥舞拳头,因为他早已学乖了,知道这样做很危险。

“有飞机!”阿莫罗斯中士咆哮道。他的班组中还未俯卧下的战士纷纷抬起头。同袍受伤的时候,考克斯在战场的喧嚣声中听见了痛苦的惨叫。

肩扛着导弹发射器对准外星人的飞行器发射了“水蝮蛇”对空导弹。对方飞行员一定拥有猫一样的神经反射。他驾驶飞行器在空中避向侧面,没有一架地球上制造的飞机能完成那样的动作。结果,水蝮蛇导弹从敌方飞行器旁飞掠过去,没有造成一丁点儿伤害。

飞行器上扔下许多样子像是陶罐的玩意儿。这些炸弹爆炸时,地面都震动了。耳朵被震聋了的比利·考克斯咒骂开来,再也不担忧这场战斗是否公平。

可敌方的飞行员没有看见跟在他屁股后面的F-29战斗机。这架美国空军的战斗机在不到一英里的近距离内发射了两枚导弹。那枚红外线制导导弹没有寻找到目标,自行爆炸了,但另一枚雷达制导导弹径直冲向地方飞行器。剧烈的爆炸让考克斯把脸埋进地里,双手捂住了耳朵。

他心想着,战争就是这样:我几乎什么也看不见,什么也听不见,我的一方正在赢得战争。对于输家来说,会是什么样的呢?

当第一架飞行器被原住民的飞机击中时,托格兰姆心中的希望之火熄灭了。“不摧号”上其余的飞行器也没撑多久。它们可以躲闪,但反击能力甚至比罗克索兰地面部队更弱。而且,当他们受到来自下方或后面等盲点的攻击时,简直就不堪一击。

飞船上的一座火炮成功地进行了反击,立刻引来了那些会移动的堡垒的回击,移动堡垒在这个像公园的区域外面的街道上就位时,托格兰姆瞥见过几眼。

第一枚炮弹袭来时,这位背运的队长还有一瞬间以为这是“不摧号”上的另一尊火炮开火了。爆炸声一点也不像实心炮弹击中目标时的撞击声。一块炙热的金属碎片在托格兰姆手边的地面上燃烧,这令他觉得是有尊火炮被炸飞了,但飞船的上层建筑发生更多的爆炸,有些未能打中飞船的炮弹使得泥土飞扬,说明这是原住民动用了更多凶恶的武器。

一样大块的坚硬物体击中了队长的后脖子,世界天旋地转,他两眼一黑晕了过去。

“停火!”命令首先下达至野战炮部队,然后是最前线的步兵部队。比利·考克斯推上袖口,看了眼手表,难以置信地看着时间。整场交战持续了不到二十分钟。

他看了眼四周。肖顿中尉正从一棵装饰性的假棕榈树后面爬起身。“我们去看看战果。”他说道。他开始缓缓走向外星飞船,手里的步枪仍然蓄势待发。那儿就是一处黑烟弥散的废墟。而且,周围的楼房也都毁于一旦。以前的楼房在大地震中毁坏更为严重,但波及没这么广。

草坪上散落着外星人的尸首。溅洒在碧绿色的草地上的鲜血和人类的血液一样,都是深红色的。考克斯弯下腰捡起一把手枪。手枪制作得很漂亮,枪柄的浅灰色木材上镌刻了战斗的场景。不过他认出这是把单发手枪,一件至少过世了两百年的轻兵器。他惊讶得直摇头。

阿莫罗斯中士拿起了一件圆锥形状的东西,此前它落在一具外星人尸体旁边。“这是啥玩意儿?”他问道。

考克斯又一次感到碰上了自己弄不明白的事。“这是个装火药的角筒。”他说道。

“像电影里那样?拓荒者用的那玩意儿?”

“非常相像。”

“该死的。”阿莫罗斯感触颇深地说道。考克斯赞同地点了点头。

他们和排里的其他人一道,靠近那艘被炸毁的外星飞船。大多数外星人已经死了,身体依然排成整齐的两排,他们正是以这个阵形向人类士兵开火的。

在一具尸体后面,躺着一位头戴猩红色羽饰帽的军官尸体,正是他下令发动了这次恐怖的、实力悬殊的遭遇战。就在这时,外星人发出呻吟声,翻了身,和人类苏醒时的模样别无二致,考克斯被吓了一大跳。“抓住他。他还活着!”考克斯呼喊起来。

好几个士兵扑到正苏醒过来的外星人身上,外星人身体绵软无力,无法反抗。士兵们开始从外星飞船撕裂的口子向里面张望,有几个胆大的甚至走了进去。他们依旧谨慎小心,这艘飞船庞大得不可思议,比任何一艘人类航天器都大多了,尽管它遭受过炸弹轮番攻击,里面肯定还有幸存者。

善后

和以往一样,士兵们没能享受快乐太久。战斗仅仅持续了几分钟,第一队专家就乘坐着直升机出现了,专家内心怀着保留意见地看着这些普通士兵,发出可怕的耳舌聒噪声,还立刻带走了考克斯所在排俘虏的外星人。

阿莫罗斯中士忿忿不平地看着专家们带走了外星人。“桑迪,你知道这事一定会发生。”考克斯安慰他,“棘手的活由我们做,一等麻烦事办妥当,官员们就来接手。”

“是啊,但是如果这次不一样呢,岂不美妙?”阿莫罗斯不带幽默感地笑了出来,“你不用告诉我:这事机会渺茫。”

托格兰姆仰躺着醒来时,他知道有些事不对劲儿。罗克索兰人睡觉时总是俯卧的。起初他寻思自己怎么会躺在这儿……昨晚他喝了太多生命之水?他的脑袋很痛,极有可能确实是喝醉酒了。

接着记忆涌回了脑海。那些该死的原住民用了带巫术的武器!是不是他的部下重振旗鼓,最终击退了敌人?假如那是真的,他誓愿在余生里一直为战争之主埃迪法女神点还愿灯。

他所处的房间逐渐进入他的眼帘。从他躺的床到房顶的灯,没有一样东西是他所熟悉的。灯光明亮得犹如日光,既没烟气也没见火光闪烁。不,他认为罗克索兰人没有打赢那场仗。

恐惧如同寒冰,落在他的心中。他知道自己的种族是如何对待俘虏的,也从其他人口中听到过太空人的可怕故事。他战栗了一下,想到捉住他的种族如此残暴,他们又能发明出怎样匠心独到的酷刑?

他摇摇晃晃地站起身。他在床尾找到了帽子,几块显然是从“不摧号”上拿来的熏肉,还有一个半透明的罐子,是用某种既非皮革也非玻璃、更不是陶土或金属的材料制成的。不管它到底是什么,它都太过柔韧,无法制成武器。

罐子里有水,但不是“不摧号”上拿来的水,那些水尝起来已经有股馊味了。这些水凉丝丝、新鲜又纯净,一点儿怪味都没有,这么好的水只有他喝过的两口山泉才比得上。

房门悄无声息地打开,铰链没有发出半点响声。走进来两个原住民。一个小个子穿了件白衣服——是个雌性,假如胸部隆起的两团东西是乳房的话。另一个人的装束和打赢了仗的原住民战士一样,不过这身制服在房间里没起到伪装效果。他手里拿着一把步枪,看上去极其警觉。众神诅咒他!

出乎托格兰姆的意料,管事的竟然是雌性。另外一个原住民只是个保镖。队长心想,这一定是位被娇纵惯了的公主,对异族感到好奇。好吧,比起见原住民的行刑人,他更乐于与公主打交道。

她坐了下来,招手让他也坐下。他试着在一把椅子上坐下,发现坐得不舒服——椅背太低,不是一把为他宽大的屁股和粗短的双腿而造的椅子。他转而坐在了地上。

她放了一个小盒子在椅子旁的桌子上。托格兰姆指着东西问道,“这是什么?”

他心想她没有听明白问题——这不能怪她,她对他的语言一无所知。她在玩耍小盒子,揿下这儿的按钮,揿下那儿的按钮。接着,他的耳朵向后倒,颈背处的毛竖立起来,因为这个盒子用罗克索兰语说道“这是什么?”片刻后,他意识到那是他的说话声。他咒骂了一句,冲着这种巫术做了个手势。

她说了些话,又摆弄起小盒子。这次它重复了她的声音。她手指着盒子说:“‘录音机’。”她满怀期待地停了下来。

她到底在期待什么,这件东西的罗克索兰语名称吗?“我一辈子从未见过这种玩意,我希望自己永远不要再看见。”他说道。她挠了挠头。当她再次让小盒子重复了他刚才说的话后,要不是想到旁边的士兵拿着枪,否则他一定会把这鬼玩意儿扔到墙上。

尽管有那些挫折,可他们最终还是在语言沟通上取得了进展。托格兰姆在冒险生涯中零零碎碎地学得了许多语言,这也是尽管他出身卑微、也无人脉,却依然能当上队长的一个原因。这个雌性——托格兰姆听见她名叫希尔达切斯塔——也有天赋,还有那个永远不会忘记的小盒子帮忙。

“你们的人为什么攻击我们?”有天她这么问道,当时她已经学会了不少罗克索兰语词汇,能够组织问题了。

托格兰姆知道自己正在接受审讯,不管她听上去有多么礼貌。他自己也和俘虏们玩过这套把戏。他抽动了耳朵,表示与己无关。他一贯主张直接给出正确的答案,那也是他至今还只是个队长的原因。他说:“为了夺走你们种植和制造的东西,占为己用。为什么所有人都想要征服其他人?”

“究竟为什么呢?”她喃喃自语,沉默了一小会儿。他直率的回答看来令这个审问的方向进入了死胡同。她再次尝试,“你们的人怎么能够以比光还快的速度行走——我的意思是旅行——同时你们其他的技术却如此简陋?”

他的毛发因愤慨而直立起来。“它们一点儿都不简陋!我们制造火药,我们铸铁,我们能冶钢,我们有望远镜帮助领航员指引我们在群星中漫游。我们不是蜷缩在洞穴里,或是用弓箭射击彼此的野蛮人。”

他的一席话自然并非那么简洁易懂。他必须重新说一遍,用详尽累赘的陈述,如同在戏台上表演,让希尔达切斯塔也能听明白。她又挠了挠头,他已经认出这是困惑时的手势。她说:“我们几百年来早已知道你提到过的这些事,但我们认为没有人能以比光还快的速度行走——该死的,我一直说错词,应该是旅行。你们的人是怎么学会那样做的?”

“我们自己发现了奥秘。”他自豪地说,“我们并不是从其他某个能够星际旅行的种族那儿学到了奥秘,许多种族都是那么干的。”

“但你们是怎么发现的?”她继续追问。

“我怎么知道?我是个士兵。我为什么要关心这些事?谁知道是哪个人发明了火药,又是哪个人发现在铁匠铺里使用风箱能让火焰炙热得足以熔铁?这些事确实发生了,就这样。”

她那天早早结束了提问。

收获

“真丢脸啊,”希尔达·切斯特说,“假如这些愚蠢的外星人多等几年再来地球,我们很可能早已自我毁灭了,压根儿不晓得地球周围有更多适合居住的星球。基督啊,从罗克索兰人说的话来看,他们的种族丝毫不懂得如何制造铁质的星际飞船,也从未仔细思量过这个想法。”

“除了星际飞船没有返回母星球的时候。”查理·埃贝茨回答说。他的领带塞在口袋里,衣领解开,这都是因为帕萨迪纳炎热难耐的夏日高温,尽管加州理工学院的雅典娜俱乐部里的空调机卖力地运转着,也不管用。虽然这儿有许多工程师和科学家,但是要与外星人沟通的话,他最依赖的还是希尔达·切斯特这样的语言学家。

“我自己也不是很明白。”她说,“除了超空间引擎和反重力技术,罗克索兰人其他方面都很落后,几乎可说是原始。宇宙里的其他种族一定也一样,否则早就该有人把它们打垮了。”

埃贝茨说:“你看过一眼后,就知道超空间引擎有多简单了。研究人员说,任何一个人都有可能在人类历史中的几乎任何一个时刻误打误撞地发现它的基本原理。最有可能的猜测是多数种族确实这样偶尔发现了超空间引擎,而一旦他们有了这一发现,哎呀,他们所有的创造能力自然而然地会都用在如何提升和改进超空间引擎上。”

“但我们错过了。”希尔达缓缓地说,“于是我们的技术往另一个方向发展了。”

“说对了。所以罗克索兰人才对电力一无所知,更不用说核能了。关键还在于,就我们目前所知的,超空间引擎和反重力技术并不像电磁学光谱那样有从属性的应用。他们所能做的,只是把物体从这儿迅速地移动到那儿。”

“在当时应该也够用了。”希尔达说。埃贝茨点点头。地球上如今差不多塞了九十亿人,一半人都在忍饥挨饿。现在,他们突然间有了可以去的地方,也有了去往那里的途径

“我想,”埃贝茨沉思道,“我们对于宇宙里的其他种族来说,会是个天大的意外。”

希尔达过了几秒,才想明白埃贝茨的意思。“如果那是个笑话,那么一点也不好笑。距离上一场攻伐制敌的战争,已有百年的时间。”

“是啊——战争已经变得太昂贵,也太危险。但是,罗克索兰人或者其他任何同等技术水平的种族会以哪种战斗来对抗我们呢?阿兹特克人和印加人都相当勇猛。在抵御西班牙人时,勇猛又让他们占到多大的便宜?”

“我希望我们已经在最近的五百年内变得更聪明了。”希尔达说,她照样只吃了一半三明治,她觉得自己不再饿了。

“兰西斯克!”资深领航员一瘸一拐地走进他的小囚室时,托格兰姆惊呼道。兰西斯克的人比几个月前登上那艘名不符实的“不摧号”时更细瘦了。他的皮毛上有好几处伤疤,周围长出了白毛,托格兰姆不记得曾见过他身上的这些伤疤。

然而,兰西斯克超然、爱打趣的样子并未改变。“你是不是比子弹还坚强,还是地球人觉得不值得杀掉你?”

“我猜想是后者。他们有那么强大的火力,为什么要担心一个士兵的生死?”托格兰姆苦涩地说道,“我也不晓得你还活着。”

从始至终都不是我的错,我向你保证。”兰西斯克说,“奥格伦,在我身旁——”他的声音戛然而止。对所有事都保持超然是不可能做到的。

“你来这儿做什么?”队长问道,“我并非不乐意见到你,但你是我见到的第一张罗克索兰人面孔,自从——”这时轮到他吞吞吐吐了。

“自从我们着陆起。”托格兰姆听到领航员委婉的说法后,松了一口气,点下了脑袋。兰西斯克继续说,“见到你之前,我已经见过另外好几个人。我怀疑我们被允许见面,那样地球人能偷听我们相互之间的谈话。

“他们怎么能办到?”托格兰姆刚问出口,就想到了答案。“哦,对了,当然是靠录音机。”他这儿必须用英文词汇,“那么,我们会解决这个问题。”

他开始用奥雅格语说话,这是罗克索兰人五十年前征服的一颗星球上最广泛使用的语言。“兰西斯克,我们会有什么遭遇?”

“罗克索兰星球上的人到现在会意识到出事情了吧。”领航员同样以奥雅格语回答。

这个回答让托格兰姆乐呵不起来。“舰队失踪有许多原因,”他阴郁地说道,“就算最高统帅派遣了另一支舰队来找我们,他们的运气也不会比我们好。这些该被众神诅咒的地球人拥有太多战争机器。”他停了下来,心情忧郁地喝了一大口伏特加。原住民酿造的有味道的饮料令他反胃,但伏特加让他很喜欢。“他们怎么会有这么多战争机器,我们却一样也没有,我们知道的任何一个种族也没有。他们一定是巫师,把他们的灵魂出卖给了魔鬼,换取知识。”

兰西斯克抽动了鼻子,表示他并不赞同。“我问过他们之中的一位学者同样的问题。他回复了我一首诗歌,作者是个叫冰雹或雪之类名字的地球人。那首诗讲的是有个人站在岔路口,最终选择走那条较少人走的路①。那就是人类干的事。多数种族发现了超空间引擎,遨游于星际。人类从未发现超空间引擎,于是他们对知识的探索走向了另一个方向。”

“不是的!”托格兰姆回想起那场短暂而可怕的战斗,浑身哆嗦,“那些枪不用重新装弹就能发射出几十枚子弹,火炮装在带盔甲的平台上,平台还可以移动,自己能跟踪目标的火箭……还有我们看不见的东西,地球人都会谈起的东西——能够摧毁一整座城市的炸弹,只需一枚炸弹。”

“我不知道该不该去相信。”兰西斯克说。

“我相信。地球人说起那些炸弹时听起来十分害怕。”

“好吧,也许是那样。但地球人不单单有厉害的武器。他们有机器能让他们从遥远的地方看见另一个人,并和他交谈;还有机器能为他们做计算;他们有录音机,还有许多相关的东西。从他们说起机器的话语来看,我几乎要相信你的说法,认为他们是巫师——他们确实知道是什么引起了疾病,知道如何治疗,甚至知道如何预防疾病。还有他们的农业,这颗星球比我见过或听说过的任何一颗星球都拥挤得多,然而星球上种植的庄稼足以喂饱所有这些地球人。”

托格兰姆悲伤地摇摆起耳朵。“这十分不公平。他们拥有所有这些技术,只是因为没有碰巧发现超空间引擎的奥秘。”

“他们现在拥有了超空间引擎。”兰西斯克提醒他,“多亏了我们。”

两个罗克索兰人惊骇地看着彼此,异口同声地说道:“我们造了什么孽啊?”

]]>
+ + + 第三篇摘录是一个很喜欢的科幻短篇 + + + + + + + + + + + + + + +
+ + + 期待着不久后的阳光 + + https://mskclover.com/2023/12/31/2023-final-summary/ + 2023-12-31T13:18:34.000Z + 2024-03-07T15:27:26.000Z + + cover家里新养的一盆绿植,期待着不久后的阳光

人生并不在考上大学那天结束,也不在拿到入职通知时戛然而止。

—— 《三联生活周刊》总第1110期

大家好!见信如唔,这里是自力更生不久的叶子:

好久不见,首先要祝大家 新年快乐 🎆!希望大家在新的一年里阖家幸福,心想事成!

自从第 24 周的周记后,我的博客便又开始长草了。对此我确实是有些小惭愧 的,因为在我开始写第一篇周记的时候,想过要一直写下去,可没想到从学生到工人的身份转变既复杂又剧烈,所以仅过十三周后周报便再次中断了。待到生活节奏再次稳定下来时,已经是数月之后了。再到后来,越来越多的事情就像泥沼,忙于应付,难以脱身前行。我不喜欢这样的生活,可又无法拒绝,就只好保持现状,与它尴尬地相处着。

不过,让我们先来回顾一下我的这一年吧:

TL; DR

  • 2023-01 —— 2023-06:大学毕业;
  • 2023-07:旅游,陪伴家人,做自己的事,睡觉;
  • 2023-08 —— 2023-12:工作

毕业

graduation领到的毕业证与学位证

今年可以算是我人生中相当重要的年份吧,因为我在六月份从大学毕业,结束了我长达 14 年的学生生涯。

我现在回顾的时候才发现,那段时间里我写了答辩,写了毕业晚会,也写了毕业旅行,却没有写大学毕业这件事本身。现在翻看那时的文字,我只好安慰自己:毕业是一个过程,我记录了它起点到终点间的每一件事。

突然有些愧疚,就好像有人陪伴着你一起度过了四年的时光,当故事结束之时,你在激动与期盼中打开了下一扇门;你的朋友注视着你的背影,你却没有回头,径直走了进去;身后的门砰然合上,你想起与他未曾告别,转身想说些什么,却发现这扇门再也无法打开。

毕业对于我而言,意味着什么呢?当时我认为,这只不过是参加工作之前的一个必要流程 —— 要毕业才能拿证书,要拿证书才能去上班。现在上班半年以后再回顾,这次与之前所有的毕业都不同,它意味着一种生活方式的结束,再也回不到以前那样以读书为主的生活了。

graduated毕业前夕,学校牌坊

在我大学的这四年时间里,有开心也有遗憾,不过这些都已被定格在时间里了。就像数年前高中毕业,一个阶段的生活结束了,但我还是得面对下一段未知的人生。想停下休息一会儿,却做不到,被社会的车轮继续赶着向前。

还是蛮感激在我大学最后一年多的时光里,在实验室里遇见了这么多的小伙伴:他们给了我许多的帮助和启发,带领我见识到了更加广阔的世界,使我认识到世界上还有许多跟我不一样的人,还有着其他的可能性。他们也是我更能理解《了不起的盖茨比》中的那句话:

In my younger and more vulnerable years my father gave me some advice that I’ve been turning over in my mind ever since.

“Whenever you feel like criticizing any one,” he told me, “just remember that all the people in this world haven’t had the advantages that you’ve had.”

He didn’t say any more, but we’ve always been unusually communicative in a reserved way, and I understood that he meant a great deal more than that. In consequence, I’m inclined to reserve all judgments, a habit that has opened up many curious natures to me and also made me the victim of not a few veteran bores. The abnormal mind is quick to detect and attach itself to this quality when it appears in a normal person, and so it came about that in college I was unjustly accused of being a politician, because I was privy to the secret griefs of wild, unknown men.

在我年纪还轻、阅历尚浅的那些年里,父亲曾经给过我一句忠告,直到今天,这句话仍在我心间萦绕。

“每当你想批评别人的时候,” 他对我说,“要记住,这世上并不是所有人,都有你拥有的那些优势。”

他没再多说什么,不过我们总是言语不多就能彼此理解,所以我明白,他想说的远不止这些。于是,我逐渐养成了不对他人妄加评论的习惯,这样一来,许多古怪的人向我敞开心扉,一些世故而无聊的人也把我当成倾诉对象。当这种品质在一个正常人身上显露出来,那些心智不正常的人就会立刻察觉,绝不放过。由于这一点,我在大学时代受到不公平的指责,他们说我是个政客,因为我了解那些放荡、神秘的家伙不为人知的伤痛。

—— 邓若虚译版

我认为自己很幸运,在四个一线城市中选择了广州 —— 一个对任何人都极具包容的城市。我若是在帝都、魔都或社会主义特区那样的城市度过四年,可能到最后也并不会选择留下吧。我有时总会混迹于这里的特色「城中村」里,我看到原来并不是所有的人都可以光鲜亮丽地活着,不过,他们仍旧有着自己的体面。

有时也会后悔来到广州,因为我在这里并没有一段圆满的感情,常去香港的想法也被疫情所隔离。或许当年选择四川大学会更好?我有时也会这样安慰自己。不过要是问我是否后悔这个决定?

不会。未来我的想法可能会变,但至少现在不会。

工作

这些年看到很多人的目标都是「上岸」,人们认为只要达成这个目标,所有问题都迎刃而解了 ——「等到中考/高考之后就好了」—— 我们一直以来都受到这样的教育,当然我也不例外。直到上了大学,在《三联生活周刊》上读到卷首的那句话,我才意识到,原来并没有什么事情是人生的解药,诸如高考、保研考研和找工作这些事,都不过是一个记号而已。人生会有变化,但并不会一下子就天翻地覆。

现在想来,什么是工作呢?

前段时间一个稀松平常的早上,手机亮起,提醒我那天是工作 180 天的日子,除此之外,那天没什么特别的。

你看,这就是工作。

其实在毕业之前,我很期待能早点工作,就像小时候期待能早点长大一样 —— 为什么不呢?我成功地进入了自己感兴趣的民航领域,做着自己擅长的工作,有着背负保障航班和旅客平安起降的公共使命。此外,我的工作也常成为父母的谈资,我成了亲戚口中的「别人家的孩子」。

这一切看起来都那么的美好,是吧?当然,要是能永远停在入职的那一刻就好了。

在最初的新鲜感褪去以后,你总会发现工作内容都是些大同小异的事情 —— 我知道,这是工作的性质所决定的 —— 我们每天都做着同样的巡视、维护、检修和报告。我们并不像大多数人那样,在工作日固定上班然后休息。由于是轮班制,只能在白班和夜班的缝隙中休息一下,然后继续开始下一个循环,全年无休。我不太喜欢这样的生活节奏:工作与生活,原来界限分明的两者被揉杂在了一起,我就好像是一个负心者,与其中一者在一起的时候,心里还想着另一个。

意义

当工作变成生活的一部分以后,不免让人想要思考其间的意义。之前买过英国人詹姆斯・苏兹曼(James Suzman)的一本书《工作的意义》,我想从中知道工作是什么,我们为什么需要工作来确立我们的人生价值。这本书写的蛮不错的,重要的几个方面也都涉及到了,只可惜我还是没有想明白那些问题。

book新买的书

对于这份工作,我当然可以洋洋洒洒地列出许多的重要意义,比如:「我们通过现代化的设备与管理制度,成功地保障了旅客的出行安全与效率」;想要又红又专,我们也有「航空运输是服务行业,我们坚持人民航空为人民,全心全意为人民服务」等套话。但脱离了这些宏大的使命,这份工作对我自己的意义又是什么呢?

我还是没有想清楚。

其实这些工作都特别基础,学过手册以后,我感觉跟生物实验室里摇管子没什么区别。当你熟悉一两年,会发现每天的工作日常都仅仅是重复罢了。是的,它们当然很重要,这牵扯着空中运行的每一架飞机与其上的人们,但日复一日间削弱了这之中的使命感,让它们变得单调 —— 它们只是工作,不再代表什么。

我也不知道这些工作到底有没有意义,去思考它们有无意义的这件事情本身,好像也不知道意义所在。

其实写到这里,与其说是不知道工作的意义在哪里,不如说是我不知道工作除了糊口,还为了什么?我的目标是什么?我想要借助工作去实现什么?钱?肯定不是,虽然每个人都说自己想要更多的钱,但我想,这肯定不是大家最想要的,人们想要的其实是钱带来的其他东西 —— 更好的物质、优渥的生活、他人的尊重或者其他无形的影响,没有人会愿意和数不尽却没有意义的钱待一辈子。

我还是不知道 —— 好在我还年轻,还「有的是时间」。希望在工作满一年之际,我能找到属于自己的道路。

围城

很多时候,人们都会把自己没有的东西给无限美化 —— 例如爱情、财富或是异国他乡,工作也是这样。当真正得到它的时候,我才发现它并不是认为的那样。

我在之前的文章《夜之城》中描述过我对工作的想象:

正好是我感兴趣的领域、能解决最初几年的住宿问题、有编制稳定、专业对口、并且工作也算体面。

毫无疑问,这确实我感兴趣的领域,可是,这个领域并不只有之前作为爱好者看到的地方。自己真正想做的是操纵飞机起降、或者在塔台中指挥飞机的航向,而通导与地勤所做的事情,却跟那些想象少有关系: (

专业倒也对口,但在工作中却很少有用武之地,一切都要重新培训,从头再来。工作在长辈眼中那自然是非常体面,但我并不这么认为:我看到单位里在一线工作的前辈,虽然工作稳定生活体面,但气色并不是太好 —— 尤其是年纪五十多的前辈,为国家为人民奉献这么多年,无数的夜班也摧残掉了他们的身体。问起他们值夜班是什么感受,说年轻的时候,早上下了夜班还能到外面去潇洒;人到中年以后,得中午休息一下;再之后,得休息一下午、一天,甚至两天才能恢复正常的精神状态…… 机场的运转好似永远都不停止,就算是在疫情期间也是如此:明明一架飞机也没有,管制们也得戴着耳麦,在塔台上呆望着空荡荡的跑道;楼下机房的机器在轰轰运转着,却什么也没有计算 —— 这份工作就是这样。

住宿确实没有问题,如果非要说不满意,那可就鸡蛋里挑骨头了。不过与老员工交流过后,不免又有了新的焦虑:这里最多只能住两三年,在这之后就只有租房或者买房了 —— 虽然住房公积金是按照 12% 的标准缴纳的,但我的工资刚到大厂同学的三分之一,很难想象以后背上房租/房贷的生活会怎样。

这些利弊分析,如果我们刻意回避它们与「那房间中的大象」的关系,那一切就都没有意义。

编制,这个曾经在经济繁荣时食之无味弃之可惜的鸡肋,现在却成了许多人所追求的香饽饽。在经济逐年萧条的这个时代,我也选择了曾经不屑一顾的铁饭碗。

「那么古尔丹,代价是什么呢?」

进了体制,就好像领着计划经济的工资,吃着集体主义的食堂,却要为市场经济里的房价发愁,这就是矛盾所在。编制给我带来了稳定的工作,却也只给了我勉强糊口的收入。如果想要在广州买房,那我在银行签下的贷款合同,就变成了一张现代的卖身契。不敢消费,不敢旅游,如此打工三十年 —— 鉴于退休年龄推迟,这个数字可能会是四十或者五十 —— 得到了什么呢?一套偏远的小房子(可能烂尾),一份少得可怜的退休金(可能没有,按照目前的生育情况),以及一副经常夜班和全年无休的身体。

游戏《群星》里面有一种公民权利叫做「契约奴隶/契约劳工」

他们接受了高等教育,足以担任专家工作,只有很少的消费品与人口权力。他们签了几乎一辈子都还不清的借贷,大部份的工作产出都用于还贷。他们赎回自由身的可能性在理论上是存在的,但他们的合同被精心设计过,使得他们根本不可能偿还完债务。他们的孩子也会走同样的老路,从而确保奴隶阶级的人口数量保持稳定。

这真是太傻了,现实中这么会有这种人呢?

未来

我也知道,我现在的条件已经比大多数的同龄人、甚至许多中国人都要好了,那为什么还会有这么多的焦虑与不满呢?长辈们也教育过我:才刚刚参加工作,吃一点苦算什么?但我不可能因为这些就放弃对未来的规划吧……

最近看了一篇文章,看到编制其实也并没有许多人想象得那么好,这也是我上文说它是「围城」的一个原因。毫无疑问,由于国家公权力在某些领域的影响,确实有一座看不见的墙隔开了编制内外,所以体制内的人总是将社会分为「里面」和「外面」。

鲜少有人认真考虑自己的现状和未来。外面的世界每一秒都在变化,但这座城的门闭上了,没人向外看。

这里就是一个舒适圈,晋升的渠道也多是关系户,比例更甚于我进来前的想象 —— 谁能想象机关的人倍多于一线的职工?因为对于行业而言缺乏竞争,对于个人而言也没有多少进步的机会,所以同事之间相处和谐融洽,许多人就将时间浪费在吃喝玩乐上,刚毕业时的初心也被惰性逐渐消磨殆尽。虽然我不想像这样,但我反思这六个月的工作以后,难过地发现我也有这样的迹象…… 值得庆幸的是,我能够在现在意识到,而不是十年之后。

文中还有一句话也很有意思:

寄希望于提高待遇,还不如靠自己找出路,廉价的稳定绝不是出路。

我在进来之前就想过这个问题,对我而言,稳定与风险究竟哪个更重要?我当时也没有想明白,不过我是这样在文末作结的:

必须要一直考虑,如果有一天我不再为单位工作,我应该如何体面的活下去。

在了解工作的内容以后,我发现它们都极其的「特化」,过于狭窄的业务面也注定了,所学技术几乎都只在我们这个领域才会用到 —— 如果想跳槽,我只能去其他地区类似的单位,除此之外别无他法。我能够理解这个特点它为什么存在,但我无法接受,因为这意味着你在「里面」待得越久,你就越不可能离开这里了。

对此我应该如何应对呢?我不知道,先微笑面对总不会错: )

have-to-work热爱工作体操,再循环一遍!

在最后,附上一段某前辈也是在刚参加工作时写的文字吧:

有时候觉得做这份工作就像在鉴赏一幅浮世绘,又或者说我像是人潮中的一颗石子,深刻的介入他们的生活,与他们的思想同步,与他们的情绪共鸣,常常是览卷尽是荒唐事,言者无不辛酸泪。

以至于我觉得我站在那里,就像个 NPC,一个长了脑子的 NPC,就好似有两个错位的我站在那,一个是被冠以了名义的我,一个是带着个人情感的我,前者需要具象的个体的人打交道,依照规程去追溯事情的本源,依靠律法去解决问题,后者则容易依照书生思维把人抽象成人民,妄图通过自己浅薄的学识和粗浅的理论知识去与之共情。这两个我用弗洛伊德他老人家的话来说就是一个叫超我和一个叫本我。

那个超我凭借浅薄的学识完全无法去解构这个现代化的都市的运行机制,也难以参透律法背后的哲学。而那个本我又无法完美的拷贝出他人的思想和三观,一个小镇做题家,无法轻易理解侯门绣户的风流纨绔,更赶不上绳床瓦灶出来的通灵性悟。以至深感自己读书太少,阅历浅薄,感叹前辈的世事洞明,人情练达,对自己的定位常感难以测定。

直到有一天深夜下班,走在路上,抬头看天,发现霓虹灯关掉的时候还是能隐约看到星星,此时脑海里突然就蹦出了康德在《纯粹理性批判》里的那句名言:为我上者,璀璨星空,道德律令,在我心中。

绵薄之力

今年已经是第四个年头啦,节前正好收到了联合国儿童基金会驻华办事处发来的月捐收据,好耶!

UNCIEF_receipt希望明年能帮助到更多的人

每个月的最低捐款额度是 30 元,因为之前一直在上学,生活拮据,也就按着最低标准捐赠的 —— 之前我还接到过基金会从上海打来的电话,希望我能够多捐一些来着(

现在已经自己挣钱啦,想着可以从今年开始每个月捐 50 块,在力所能及的范围内多贡献一些自己的绵薄之力吧!

2023 媒体清单

照例在年终总结里附上去年的媒体清单吧:

书、剧和电影的历程

2023

1月

  • 【播客】枫言枫语:Vol. 80 科技快乐星球 13: TGA, ChatGPT 与苹果允许第三方商店 —— 2023-01-03
  • 【播客】迪幻腕掰腕 Ep 10:从真人版库伊拉聊到Disney+入华之难 —— 2023-01-05
  • 【剧集】人民公仆S01 —— 2023-01-22
  • 【电影】人民公仆2(2016)—— 2023-01-23
  • 【播客】牛油果烤面包:#109 真实的创业者,真实的的挑战 —— 2023-01-26
  • 【书籍】武林是什么 —— 2023-01-27
  • 【纪录片】《惊蛰之时》(广州冲锋队2022赛季纪录片)—— 2023-01-28
  • 【剧集】瑞克和莫蒂S6 —— 2023-01-29
    2月
  • 【播客】迪幻腕掰腕 Ep 8:讲给全球观众的中国故事 —— 2023-02-03
  • 【播客】枫言枫语:Vol. 83 科技快乐星球14: 苹果发布M2 Mac, CES展会等 —— 2023-02-06
  • 【播客】牛油果烤面包:#110. 2022年终感悟与推荐 —— 2023-02-12
  • 【播客】不明白播客:EP-000 不明白播客简介 —— 2023-02-12
  • 【书籍】《刺客信条:王朝》——2023-02-17
    3月
  • 【剧集】人民公仆S02 —— 2023-03-06
  • 【播客】没理想编辑部: Vol.77 瞎聊“春节档”:如果能重生,当个啥好呢?—— 2023-03-09
  • 【播客】枫言枫语:Vol. 85 科技快乐星球15: 全世界都在玩ChatGPT —— 2023-03-14
  • 【播客】迪幻腕掰腕 Ep 18:也许是这档播客最后一次聊奥斯卡 —— 2023-03-18
  • 【电影】穿靴子的猫2:最后的愿望(2022)—— 2023-03-23
  • 【电影】铃芽之旅(2023)—— 2023-03-25
  • 【播客】牛油果烤面包:#113. 缓存 —— “计算机科学的两大难题之一” —— 2023-03-31
    4月
  • 【播客】Sex Chat 談性說愛:寫性給我 #135高雄的米米漿:我幫自己破處了!!太猛了!—— 2023-04-01
  • 【纪录片】意志的胜利(1934,2000 删改版本)—— 2023-04-02
  • 【漫画】不良女家庭教师(2020)共92话 —— 2023-04-08
  • 【电影】龙与地下城:侠盗荣耀(2023)—— 2023-04-09
  • 【漫画】新世界之魔物猎手(親親漫畫版)(2019)—— 2023-04-18
  • 【播客】没理想编辑部:对话经济学学者梁捷 | 想开了,存钱不如花钱 —— 2023-04-25
  • 【漫画】我的宇宙(2019)—— 2023-04-27
    5月
  • 【电影】银河护卫队3(2023)—— 2023-05-05
  • 【电影】俄罗斯方块(2023)—— 2023-05-07
  • 【电影】银河护卫队:圣诞特别篇(2022)—— 2023-05-10
  • 【播客】枫言枫语:Vol. 88 科技快乐星球16: ChatGPT 持续掀起 AI 热潮 —— 2023-05-16
  • 【电影】疾速追杀4(2023)—— 2023-05-25
  • 【漫画】电锯人(チェンソーマン / Chainsaw Man)(2018)—— 2023-05-26
  • 【播客】牛油果烤面包:#114. 分布式数据库 —— 正在进行的迟来革命 —— 2023-05-31
    6月
  • 【播客】迪幻腕掰腕 Ep 17:回顾2022,展望2023 —— 2023-06-02
  • 【电影】蜘蛛侠:纵横宇宙(2023)—— 2023-06-02
  • 【播客】迪幻腕掰腕 Ep 19:到底谁在看《小美人鱼》?我们呀!—— 2023-06-07
  • 【播客】晚点聊 LateTalk:36. OPPO 突然中止造芯,生不逢时的雄心 —— 2023-06-12
  • 【播客】枫言枫语:Vol. 92 科技早知道×枫言枫语: WWDC23 —— 2023-06-14
  • 【播客】没理想编辑部:Vol.86 北漂觉悟:我总有一天会离开 —— 2023-06-15
  • 【播客】牛油果烤面包:#117. 和ARVR老炮一起聊WWDC2023 —— 2023-06-17
  • 【播客】迪幻腕掰腕 Ep 16:是谁允许《魔法奇缘2》拍成这样的!—— 2023-06-22
  • 【电影】猫和老鼠:查理和巧克力工厂(2017)—— 2023-06-22
  • 【电影】猫和老鼠:胡桃夹子的传奇(2007)—— 2023-06-24
  • 【电影】猫和老鼠:火星之旅(2005)—— 2023-06-25
  • 【播客】牛油果烤面包:#115. 不止电动车,电动飞机离我们有多近?—— 2023-06-29
  • 【电影】疯狂元素城(2023)—— 2023-06-29
    7月
  • 【纪录片】空中浩劫S23(2023)—— 2023-07-01
  • 【播客】枫言枫语: Vol. 93 科技快乐星球18: AI 与 MR 齐放异彩 —— 2023-07-03
  • 【电影】夺宝奇兵5:命运转盘(2023)—— 2023-07-06
  • 【播客】迪幻腕掰腕 Ep 20:我们和全场皮粉一起看《疯狂元素城》—— 2023-07-07
  • 【播客】晚点聊 LateTalk:38. 内斗?投资人逼宫?创业 5 年后公司估值超过 20 亿元,他为什么辞任 CEO?—— 2023-07-11
  • 【电影】夺宝奇兵5:命运转盘(2023)—— 2023-07-12
  • 【书籍】四叠半神话大系 —— 2023-07-14
  • 【播客】没理想编辑部:Vol.91 放心吧,你比你的工资值钱多了!—— 2023-07-14
  • 【播客】牛油果烤面包:#118. 风险投资条款中暗藏的玄机 —— 2023-07-15
  • 【电影】碟中谍7:致命清算(上)—— 2023-07-16
  • 【电影】死在西部的一百万种方式(2014)—— 2023-07-18
  • 【电影】灰猎犬号(2020)—— 2023-07-19
  • 【电影】碟中谍7:致命清算(上)—— 2023-07-22
  • 【电影】芭比(2023)—— 2023-07-24
  • 【播客】没理想编辑部:Vol.92 别为穿不进的衣服伤心,你可是花钱的人!—— 2023-07-26
    8月
  • 【播客】牛油果烤面包:#119. 与JustPod杨一聊中文播客:谁在做,谁在听,谁在商业化?—— 2023-08-09
  • 【播客】晚点聊 LateTalk:41: 造梦都市:小红书塑造了什么?而又是谁在塑造小红书?—— 2023-08-18
  • 【播客】没理想编辑部:Vol.94 开始发疯后,我的世界都变大了!—— 2023-08-19
  • 【播客】枫言枫语:Vol. 96 科技快乐星球19: 矩阵破裂的魔幻世界 —— 2023-08-20
  • 【电影】信条(2020)—— 2023-08-21
  • 【播客】不明白播客:EP-059 经济通缩下的中国小企业家(上)—— 2023-08-21
  • 【电影】祝你好运(Luck)—— 2023-08-25
  • 【电影】无敌破坏王(2012)—— 2023-08-27
  • 【电影】无敌破坏王2:大闹互联网(2018)—— 2023-08-28
  • 【播客】不开玩笑 Jokes Aside:#96. 那些失恋教会我的事 —— 2023-08-28
  • 【播客】没理想编辑部:Vol.95 别人恋爱无空窗,本人单恋无空窗!—— 2023-08-30
    9月
  • 【播客】牛油果烤面包:#120. 脚只是装饰而已?智能机器人发展到哪儿了?—— 2023-09-03
  • 【播客】没理想编辑部:Vol.96 我搞不到钱的原因找到了 —— 2023-09-05
  • 【播客】不明白播客:EP-061 刘梦熊:我为什么写《问题在经济,根子在政治》—— 2023-09-09
  • 【播客】晚点聊 LateTalk:43: 美元基金与中国科技说再见?和前律师、现 AI 创业者聊聊拜登最新行政禁令改变了什么 —— 2023-09-11
  • 【播客】晚点聊 LateTalk:42: 产品经理十年沉浮:和少楠、刘飞一起聊聊这个职业这些年 —— 2023-09-12
  • 【播客】晚点聊 LateTalk:35: 别做近视手术、干眼症没救、给眼镜多花钱没用:和英国视光医生聊聊天 —— 2023-09-18
  • 【播客】枫言枫语:Vol. 98 苹果2023秋季发布会: Wonderlust —— 2023-09-24
  • 【播客】迪幻腕掰腕 Ep 15:希望最好的D23 Expo永远是下一届 —— 2023-09-25
    10月
  • 【播客】没理想编辑部:Vol.98 离职是一次重启人生 —— 2023-10-01
  • 【电影】出租车司机(1976)—— 2023-10-05
  • 【播客】牛油果烤面包:#116. 关于人的故事——人类学家在研究什么?—— 2023-10-05
  • 【电影】萨利机长(Sully)(2016)—— 2023-10-16
  • 【播客】晚点聊 LateTalk:46: 没有签证怎么去非洲干活:和丰泽聊聊在非洲不同国家打灰的体验 —— 2023-10-21
  • 【播客】没理想编辑部:果敢的人先享受世界,如何过更自由的人生?—— 2023-10-28
    11月
  • 【电影】康斯坦丁(2005)—— 2023-11-04
  • 【播客】晚点聊 LateTalk:49: 3nm 是谎言?光刻工厂真能造芯片?与汪波聊芯片行业那些流传的误解 —— 2023-11-05
  • 【播客】没理想编辑部:Vol.101 “晴秋上午,随便走走,不一定要快乐”—— 2023-11-09
  • 【播客】晚点聊 LateTalk:50: 在小红书当百万博主有什么体会和经验?流量与商业化背后的人性考验!—— 2023-11-27
  • 【电影】搏击俱乐部(1999)—— 2023-11-28
    12月
  • 【书籍】极品家丁(2008)—— 2023-12-01
  • 【播客】牛油果烤面包:#122. 钢管舞,从爱好到在旧金山开舞蹈教室 —— 2023-12-04
  • 【电影】八恶人(2015)—— 2023-12-06
  • 【电影】全家逃走中(2023)—— 2023-12-16
  • 【剧集】瑞克和莫蒂S7 —— 2023-12-19
  • 【播客】晚点聊 LateTalk:51: 难民之难:到底什么是难民?他们在面对什么困境?—— 2023-12-23
  • 【播客】迪幻腕掰腕 Ep 20:他们不喜欢的《星愿》,我们感动到哭 —— 2023-12-24
  • 【播客】牛油果烤面包:#124. 去京都,看时间与四季 —— 2023-12-31
  • 【播客】不明白播客:EP-079 2023年,我的“不明白”—— 2023-12-31
  • 【剧集】魔咒奇遇记Curses!(2023)—— 2023-12-31

去年看了 4 本书,4 本漫画,28 部电影,5 部剧集,3 部纪录片和听了 56 集播客,相比于 2022 年,看的书真是太少了,电影、剧集和纪录片的数量也少了许多,不过多听了一倍数量多播客,在最后还是希望今年的精神生活能够更丰富些吧。

跟去年一样,也是想做一个「年度推荐」的,不过我现在好累,还是留到明年再说吧(

最后

其实除了这些,我还有很多事情想写一写,可惜再写下去就不是年终总结啦,那就下次再聊咯。

现在外面的炮竹声此起彼伏,即使官方管制烟花已有好些年了,但我总感觉有了它们,过年才算完整吧。

最后,

我们明年再见!

2024年2月10日于单位宿舍

]]>
+ + + 从学生到工人,2023 年终总结 + + + + + + + + + + + + + + + + + + + + +
+ + + 【周记】2023-24:毕业旅行 + + https://mskclover.com/2023/06/18/2023-06-Week-24/ + 2023-06-18T08:44:34.000Z + 2023-06-27T08:58:44.000Z + + 2400_cover夜晚的维多利亚港

本周非常开心,因为在我处理完那些杂事以后,终于开始了我的毕业旅行。本来我与不同的朋友们计划了好几个行程,结果学校突然改变了拍摄毕业照的时间,因此可能有一些行程最后去不了了。也正是由于此,我十分珍惜这次的旅行。

⚠️ 本周有大量照片,请注意流量消耗。

两地之旅

我的旅程,一直都比较随心所欲:出发之前大概定下时间、看看地图,然后买票提着包就走,想到哪玩到哪,玩累了就在附近订个酒店休息。以前确实做过详细的计划 —— 精确到半小时的那种,然后发现这样的旅游比上学还累,就不怎么定计划了。

我最开始计划去香港 🇭🇰 玩两天,澳门 🇲🇴 玩一天,然后赶着回去拍毕业照。不过那个时间改了以后,我这次行程的时间便宽裕多了,所以我能在香港待三天,澳门两天。我以前只去过香港一次,从来没有去过澳门,所以这次的旅行对我来说至少有一半会是全新的(

我上次到香港的时候正是这里社会运动最激烈的时候,在当地朋友的带领下,这里的一切都使我大开眼界。我觉得我很幸运,见到了香港真正的最后一面。而这次,我将回顾一些当时游历过的地方,那年今日。其他的我就没什么想去看的了,就在街上逛到哪里看到哪里吧。

而澳门我想去的地方可就多了,因为澳门被殖民的历史远长于香港或中国的其他地方,所以我最喜欢去看当地在殖民时代留下来的建筑。以前看历史的时候了解到,虽说同样是殖民者,英国 🇬🇧 与葡萄牙 🇵🇹 可截然不同:英国人会在殖民地建设基础设施,恨不得榨干殖民地的每一分资源与财富;而葡萄牙人只是想好好地做生意,若非必要,基本上是不会干扰当地人民的生活 —— 这也在某种程度上造就了香港与澳门的区别。

第一天 - 香港 🇭🇰

2401_buy_ticket广州南站购票处

因为我想要购买学生票的缘故,所以我上午到广州南站的线下售票窗口排队。我看到也有好些外国人在这里排队,看肤色和脸型像是东南亚 / 印度来的,我还看到有两个大妈拿着白头鹰的护照,酸了。

2402_train月台

在月台看到了许多人在等着,不过有好些中途到东莞、深圳就下车了,也有些人上车,最后大概有火车上一半到乘客坐到了香港西九龙

2403_customs大陆侧海关

我这次过关很快,因为我来的时候没什么人,跟上次来香港时差远了。我觉得是有两个原因:

  • 旺季与淡季:我上次是国庆节时来的,这次只是一个寻常日子,人流量肯定不可相提并论;
  • 香港旅游业衰退:因为疫情封关的缘故,香港的国际游客少了许多;也因为香港社会运动的缘故,国内游客也不像以前那么多了;

我从来都没见过人这么少的海关。

2404_code_etc大陆侧填写的健康申报与口岸分界线

于西九龙站下车后,在进入香港前,大陆侧这边要求填写一个表单:除了身份信息和健康申报等,还详细到了抵港班次车号与座位号。出大陆海关后,我还是照例偷偷拍摄了口岸处的黄色分界线(

出关吃完饭后,同香港的朋友去维港散了步,顺便也拍到了来香港展览的小黄鸭

2405_harbour天气晴朗的维多利亚港

我下午和朋友一起去港交所参观,在大厅里看见了「国家安全」的宣传,想必这也是那段日子以后的特色了吧:

2406_national_security港交所的大厅

本来我一直想去港交所交易处参观的 —— 就是电影里的那些人买卖股票的地方,问过工作人员后,才知道他们已经不再有这样的地方了。想想也是,现在都是在线交易,也不需要再有个大屏幕实时显示行情、人们在下面的许多窗口排队交易了。原来的那个地方被封存起来了,工作人员告诉我,现在已经变成了一个博物馆,但只接受团体参观……

无奈,只好在门口拍了张照片,作罢。

2407_hkex港交所博物馆的一侧

后来,我们来到了四年前的地方,在 19 年来香港的时候,这个地方给了我相当深刻的印象,可现在一切都物是人非。这个地方,也是我这一次到香港一定要来的地点之一。

2408_street此时此刻

2409_street19彼时彼刻

晚上跟着朋友,去吃一家口碑相当不错的拉面馆 —— 一兰。他们家好有意思,只卖拉面,因为拉面做得最好。店内排着队,朋友告诉我平时这里人更多,得到店外排更长的队,我一下子就停止抱怨了。

2410_noodle一兰拉面室内

大赞!味道确实相当不错,只是一碗花了我 $130 左右,想想都有些心疼。不过,后来每顿饭都差不多一百来块,也就逐渐习惯香港的物价了……

晚上到街上闲逛散步,偶遇了米忽悠广告,于是便拍下发给米粉朋友看(

2411_mihoyo惊现米忽悠的广告牌

晚上大伙儿分别前,Apple 居然提醒我有不认识的 AirPods 跟了我一天,我还是第一次接到这种警告呢(

2412_apple_warning来自 Apple 的跟踪警告 ⚠️

第二天 - 香港 🇭🇰

因为第一天到汇丰银行问过柜员,得知想要开户的话得一早就到银行排队,所以第二天我早早地就起来了。我本来以为没什么人会开户,结果在银行门口一看,排了好多人……

2413_hsbc_gate尖沙咀汇丰银行门口

我的 local 朋友说,可能是因为小红书什么的推广得太厉害,所以大伙儿不管有用没用,都喜欢过来办张卡。我们拿了号,在大厅里等待:

2414_hsbc_hall汇丰银行大厅

由于我朋友也要办理其他业务,他排到以后就把我也一起拉了过去,所以我就没有等长长的叫号。蹭着 local 的光,我也很快、很顺利地拿到了红色狮子头的卡片,是不是很漂亮?

2415_hsbc_card汇丰银行的红色狮子头银行卡片

我也是听朋友的介绍才知道,汇丰银行的全称应该是「香港上海汇丰银行」,这也是其英文简写 HSBC(The Hongkong and Shanghai Bank)的由来。

后来我们在香港闲逛,去了好些地方,比如不再有蜡烛纪念晚会的维多利亚公园(没有拍照)、香港图书馆、路过的印度尼西亚 🇮🇩 领馆、铜锣湾书店等地,就在下面放些照片吧。

香港图书馆里许多的书都是英文版的,一不留意还以为在国外的什么图书馆里:

2416_hk_library香港图书馆内,随意选的一层

路过了印度尼西亚 🇮🇩 领事馆,算是一个小惊喜吧:

2417_indonesia_building印度尼西亚 🇮🇩 领事馆

被消失的铜锣湾书店,只剩下书店的招牌还孤零零的挂在街上,不知道为什么港府没有派人把它收走:

2418_causeway_bay_bookstore铜锣湾书店招牌

在此处其他书店门外的墙上(并非街上的外墙),还能看到一些在大陆看不到的书籍海报:

2419_book_poster书店墙外的海报

2420_street_view香港街景

晚上和朋友去吃了附近一家备受好评的咖喱菜,这家在居民楼里运营的印度小餐馆里居然还有不少洋人,令我十分惊奇。印度老板的英语口音有些重,不过好在交流还是没问题的。饭菜有些辛辣,我们点了两瓶水才凑合吃下去(

2421_indian_food晚饭吃的印度菜

第三天 - 香港 🇭🇰

本来这天是想去香港迪士尼的,我们票都订好了,可惜天公不作美,遇到了接连数十天的阴雨季节,无奈之下只好退票。因此,我们只好提前动身前往澳门 🇲🇴。

朋友建议我在市中心的港口坐船去,不过一个小时就可以到。可我想去看看大湾区的「奇观」—— 港珠澳大桥,即使我知道一路上都会很无聊,也坚持去亲历一番。扭不过我,朋友也只好一脸生无可恋地跟我一起去了。

首先,我们坐车经过青衣前往口岸:

2422_tour1前面那座大棚建筑便是口岸区

过关后购买港珠澳大桥穿梭巴士的车票:

2423_bus_ticket港珠澳大桥穿梭巴士车票

然后 愉快地 坐了一个多小时的车,看遍海上与海底风景 —— 其实海底隧道也没什么好看的,朋友跟我说他第一次带同学参观时,还以为是像水族馆那样的隧道(

2424_map在海上还有信号的时候截了图

2425_bridge偶然拍到港珠澳大桥与飞机的合影

然后我们到达了口岸,说起来蛮有意思,这个地方是属于中国的 —— 也就是香港与澳门的港珠澳大桥之间,有一个人工岛是属于中国的领土。朋友跟我说了一些都市传说,比如以前有人路过这里的时候无故消失什么的(

2426_chinese_port人工岛上的中国口岸

第三天 - 澳门 🇲🇴

在通关澳门口岸后,还是忍不住拍了张墙上的警示标语 —— 这里可以很清晰地看到,在香港是中英双语,而在澳门则是中葡双语:

2427_macao_warning澳门口岸处的警示标语

乘坐公共巴士,我们来到了订的住宿 —— 葡京酒店!旁边是新葡京,不过那里太贵了住不起,就只好住稍微便宜一些的地方了(

2428_lisboa_hotel洋溢着老派气息的葡京酒店

为什么选择住这个地方呢?是因为这里是前不久过世的澳门赌王何鸿燊的产业,在许多香港电影里也出现过,所以就定了这里,想要瞻仰一番。

进入酒店,内部金碧辉煌,好像再普通的一个东西在这里也会变得金光闪闪起来。第一次来的时候,还差点在一楼迷了路,问过那些「衣冠楚楚」的接待员后 才找到大堂在哪里 —— 他们真的穿得好正式、整洁,让人绝不会怀疑他们的业务能力。

2429_front_dest酒店前台

办理入住时,前台说已经没有我们订的套房了,所以免费给我们升级到高级套房,好耶~

2430_room升级后的高级套房

晚上我们吃过饭后,就没有出门了,因为楼下赌场里应有尽有。在赌场外的周大福看到了一幅清一色,我真的好想要:

2431_gold_card周大福展出的一幅黄金扑克

赌场里有许多人,不过感觉许多人都只是来看看,或者下个三五百的小注,基本上没有见到几十万的数目(可能他们在贵宾厅里吧)。

2432_casino赌场声色

后来在里面玩了下,有些腻了,就出门散散步,放两张我觉得还行的照片吧:

2433_street_view_macao澳门夜间街景

2434_paulo夜晚中的大三巴(背面)

这苹果的相机算法又把晚上当黄昏了…… 不过感觉还蛮好看的(

第四天 - 澳门 🇲🇴

我觉得吧,出来玩就不应该把自己逼得太紧,要是为了打卡把自己弄得太累,那还不如待在家里呢。(没错,这就是我出来玩也要心安理得睡懒觉的理由!)

所以,中午起床,然后出了个午饭。今天的计划主要就是在澳门街头闲逛,不用刻意奔波在各景点间 —— 反正澳门这么小,有缘份的话自然会遇到的。

2435_macao_street_view1白日的澳门街景

2436_macao_street_view2澳门工程师学会

在中午找饭吃的路上,我们还路过了葡萄牙 🇵🇹 驻澳门与香港的领事馆:

2437_consulate_of_portugal葡萄牙领事馆

我们中午吃的是纯正的「本土葡菜」,也就是这个菜系之于葡萄牙就好似美式中餐之于中国,反正会有些怪就是了,不过味道意外地还蛮不错的。

2438_lunch奶油蘑菇牛排饭

晚上钻进了澳门本地人的居民区,的确不如景点那样多人,还有一种年代感:

2439_macao_night澳门居民区的夜景

第五天 - 澳门 🇲🇴

这天就是旅程结束的日子了,没什么可多写的,自珠海口岸,我回到了大陆。

2440_zhuhai珠海口岸

2441_train珠海站的高铁

这次旅程,算是我的毕业旅行了,一路上玩得蛮开心也蛮随意的,很想要一辈子都这么下去,可惜家境贫寒,实在是做不到。出来的这一趟也花了不少钱,等到以后工作了,月薪两千的我可能再也不会有这样写意的机会了。

以前,我想要去这样的地方工作与生活,可是没想到这么短短几年就有如此变化,失去一定的独立性后,香港与广州深圳也越来越像了,小时候的愿望看来是实现不了了。不过,总是还有其他的机会,希望在毕业之后的这一年里不要懈怠,努力去实现自己所追求的东西。

期待与这里再会。

旅程账单

这次港澳之行还是花了不少钱,比预期要高不少,这是临时起意住了葡京酒店的缘故。不过没有关系,这次的旅游体验超级棒,以后来香港澳门就不会像这次一样纯粹的只是游客了。

栏目细目金额(¥)
旅费高铁、地铁与巴士等505.58
吃食正餐869.68
饮水17.13
饮料及甜品154.76
住宿香港与澳门2091.43
杂费电话卡52.86
购书254.19
总计3945.63

最后不得不说,香港的饮食实在是太贵了:均价 $100 的饭菜,大陆人看着就心疼……


本周写了太多文字了,就不再写后续的栏目了,等下次再一起写吧。

]]>
+ + + 2023-06-12 —— 2023-06-18 + + + + + + + + + + + + + + + + + + +
+ + + 【周记】2023-23:多邻国与毕业晚会 + + https://mskclover.com/2023/06/11/2023-06-Week-23/ + 2023-06-11T12:50:34.000Z + 2023-06-16T15:51:42.000Z + + 2300_cover本周的封面图来自推特画师 tarte(@HoDaRaKe)

本周没什么事情,主要考了多邻国的英语测试,和与朋友做最后的聚会。下周倒是打算出去玩,与两波不同的朋友去不同的地方,那可就有得写游记了。

Duolingo English Test

2301_duolingo

本周参加了多邻国的英语考试,为了申请学校之用嘛 —— 因为现在有些学校还在延用原来在疫情期间的申请标准,仍旧接受多邻国以代替雅思、托福的成绩。我想着雅思与托福需要大量的时间与精力去训练,不如准备一两周去考一个小时的多邻国。

申请学校还是算做备选吧,拿了 offer 就去,没拿就继续工作。我倒是希望能够先工作一年,因为我还从来没有工作过呢,这也不失为一种全新的体验。并且,这一年也相当于我的 Gap Year,我在这一年中可以做更充分的准备,为了以后的目标,去更好的国家、申请更好的学校。

无论如何,我都会离开这里,去一个更好的地方。

更新

好消息,我达标了,但结果令人一言难尽…… 我的口语真的太差了,毕竟平时也不怎么说。

2310_result

毕业晚会

这周末晚上数个学院的学生会组织了一场毕业晚会,主要是由各学院多才多艺的同学们的节目组成。我蛮想去的,因为晚会在五山的老电影院举办 —— 这可是疫情之后老电影院第一次重新开放呢!可惜由于人数限制,没能拿到参加的名额,不过我找以前在学生会里认识的好兄弟搭了把手,成功拿到了参加的门票,真不错:

2302_ticket感谢那位因故去不了同学赠送的门票

傍晚时分,久违地去东区五山老电影院,发现门口已经聚集了许多人,可惜我急着停车领票 —— 因为纸质门票有限,先到先得 —— 所以没来得及拍张照片,现在本人感到非常地后悔(

进去以后,许多位置都被坐满了,并且由于音响太给力了,尝试坐在前排的我连心脏都差点与音响共振起来,就只好坐在后排了。看到一个表面赞美、实则讽刺的节目,学生会的同仁果然是懂窝工的:

2303_graduation_party《我爱科研》,爱来自瓷器

晚会相当地精彩:大学四年了,被疫情耽误了三年之后,终于有一次正儿八经的晚会了。

牙齿

上次检查完牙齿后,医生打电话说我门牙的颜色有些不正常,让我去给门牙拍片。我拍完之后,医生发现右侧门牙的牙根钙化(根管钙化)了,我理解大概应该是里面的神经坏死了吧。问医生原因,说大概是受过冲击什么的,我想了想,可能是以前箍牙的时候压迫太紧造成的……

为什么会这个样子呢…… 虽然医生说要是没问题的话还可以继续用,不过还是需要没=每一两年去检查一下。心情一下子变得好沮丧……

晚间漫步

晚上有位群里的朋友到学校附近,就相约着一起喝茶。「喝茶」只是一种形容,因为上个十年 / 二十年里四处常见的茶楼基本上都消失殆尽了,所以我们去的是麦当劳(

我们从学校晃悠到了附近的一些平时我也不常去的地方,比如省农业科学院、广汽研究院与广园路旁的铁道,甚至还有我们学校的牌坊 —— 这是真去的不多,因为里学校的主要部份实在是太远了。

我们聊了蛮多的,从现在的境况,到未来的规划,再到远的比如广园路快速路不快速什么的。他说在公司发展不错,积累了许多的经验,并且因为快要三十了,也想要做出些成果,接大项目。

现在二十二岁可能还感觉不到,等过两年像我一样二十五六时,你就会感觉到三十很近了。

我很是羡慕他:他毕业后有着清晰的规划和强大的执行力,家境比较富裕,运气也蛮不错的,做到现在这个样子已经十分的成功了。而且他在快要奔三时,还能像这样野心勃勃,也是我所期望变成的样子。

我个人没什么雄心野望,就只是想要在一个好的国家,有一份体面的工作,一个爱的与爱我的人,一个幸福的家庭与身体健康的父母长辈们。喔,这样想来,好像也不容易啊,多少人一辈子都无法拥有其中的一个。但对于我来说,这真的就是我想要的生活,就算工作只是简单的重复也没什么。

唉,至少现在看来,实现这些都是很困难的,但我是不会放弃的。

2304_academy_gate广东省农业科学院的一处大门

2305_academy_building广东省农业科学院的一个建筑大厅门口

2306_gac_building远远能看见广汽研究院的牌子

2307_rails广东省的一段重要的铁路,右边是主干道广园快速路

2308_memorial许久都未曾来过的学校牌坊,相册告诉我,上次来这里还得追溯到 21 年 3 月

评论区中的两性矛盾·II

豆瓣小组中,只是一篇很普通的恐怖故事和怪谈:永远不要载搭车客,里面男性想侵犯女性,结果被反杀。

按理来说,朴素正义的伸张,是我们所有人都会有的一种快意。可是,我不理解为什么评论区会说:

什么时候男性也可以和我们换位,体验一下每天生活在随时可能被异性杀死的恐惧中,还要被人们责怪是你自己安全意识不够强

一提到车与谋杀,我就想到了在 2021 年 9 月 8 日,湖南临湘一女子乘坐出租车,在经过京珠高速临湘段时将司机捅伤的案子,男性司机被捅三刀,最后调解的结果竟然是司机反而赔偿 1500 元;还有再之前的货拉拉案,也是判司机责任。这些案件里,难道女性是弱势群体吗?

我理解女性独自在外很容易收到侵犯,但各个群体都有害群之马,为什么要攻击整个群体呢?

我感到很困惑。

一图

刷推时看到了 China in Pictures 分享的老照片,蛮有历史感的,就分享在这里啦。

Beijing, 1973, by American photographer Harrison Forman.

2309_old_pic

高堡奇人

  • 【香港 🇭🇰】2023-06-06 周二,李家超:大量取消器官捐贈假象,做法與2019年港版顏色革命類似(来源);
  • 【乌克兰 🇺🇦】2023-06-06 周二,乌克兰赫尔松州第聂伯河上的大坝被炸毁(来源);
    让我联想起了在过去,国民党军队炸毁大坝以阻挡日军进攻的事。
  • 【中国 🇨🇳】2023-06-07 周三,中国高考;

信使 - Courier

读物

影音

链接

  • 一位推友在 California Cupertino Downtown 遇到砸车窗的事情,所发的几条系列推文:
    第一篇第二篇第三篇第四篇第五篇
    这个事件令人大开眼界,美国 🇺🇸 在疫情后的治安这么混乱的么?
]]>
+ + + 2023-06-05 —— 2023-06-11 + + + + + + + + + + + + + + + + + + + + +
+ + + 【周记】2023-22:大飞机与答辩 + + https://mskclover.com/2023/06/04/2023-05-Week-22/ + 2023-06-04T12:50:34.000Z + 2023-06-16T15:44:12.000Z + + 2200_cover本周的封面图来自推特画师 852 話

第 21 周的周记呢?我不知道你在说什么(

另外,这个标题并不是说大飞机是大便,而是我这周要去做毕业设计的答辩,希望在场的老师们不要认为我的论文是大便 💩,要是能象征性地问几个问题就让我过,那就再好不过了。

国产大飞机

2201_plane忘记在哪存的图了…… 可能是哪位飞友吧

根据媒体报道,国产大型客机 C919 在上周日执行从上海虹桥机场飞往北京首都机场的 MU9191 航班,首次完成商业载客飞行!

这感觉就跟我们首次制造汽车或者高铁一样,具有继美国 🇺🇸 波音公司与欧洲 🇪🇺 的空客公司后,中国 🇨🇳 也有了自己的大型客机(支线飞机日常无机权) —— 总算是有新的飞机加入民航大家庭了,这使得我这样的爱好者相当激动。但美中不足的是,中国商飞公司的 C919 目前还使用的是 CFM International 的 LEAP-1C 引擎,并且有相当比例的关键部件仍旧来自欧美的合作供应商。这固然是全球化的结果,我还是希望中国能够有着完整的产业链,但也不强求,因为全套国产化需要的投入可能对整个产业而言并不划算。

另外,我还是有些担心 C919 的安全性,根据维基百科的记述:

2023年2月1日,中国东方航空注册编号为 B-919A 的 C919 客机原订早上从上海虹桥国际机场飞往北京大兴国际机场,然后转往合肥新桥国际机场。然而客机当天并未飞往合肥,北京至合肥的 MU7819 航班和合肥至上海的 MU7820 航班均于航班追踪网站上标示取消。网传飞机左发动机反推故障,但东航并未就此回应。

文章来源:《传陆国产大飞机 C919 验证飞行受挫 未如期飞往合肥》,中时新闻网。

不过,这次头等舱坐了许多大飞机项目的大佬,看到推上有人转载的图片与描述:

2202_people_on_plane至少这次是让领导先走了(

第一排左起开始依次是:国家民航局局长、中国商飞董事长、东航总经理、工信部部长(原商飞董事长);

第二排左二起是:总设计师吴光辉、大飞机专项组组长张彦仲、原中航工业总经理(商飞 ARJ 总指挥)罗荣怀。

既然领导们这么有信心,想必整个飞机应该也没什么大问题,希望在后面几年的运营中能吸取前人的经验,不要出大型事故就好了。

答辩

近日做好了答辩的 PPT,下午按着老师通知的时间到了答辩现场。答辩的地点在导师所在建筑的一楼,是一个很不起眼的小房间,平日从来都没有注意到过。

按照学校的规定,有四位老师将听我们的答辩,可恰巧我的导师在那天突然有事,来不了,所以就另补了一位老师过来。我上午得知这个消息的时候,有些不知所措,因为担心导师不在场的话,被其他老师指指点点的时候就没有人能打圆场了。不过是我多虑了,当我们被其他老师叼的时候,那位递补的老师居然会为我们开脱,真是太棒了(

因为不允许其他学生旁听的缘故,所以我与相同导师的同学就一起聚在外面,希望能听到答辩房间飘出的「只言片语」,等到答辩完的同学出来也能及时问问他。

每一轮的时间都比我们预料的要久得多:本来听到 PPT 的讲述环节严格不超过五分钟、且一下午有二十多个人参加答辩时,我们估计每个人的答辩大概不超过十分钟。可真等到答辩开始,我们看到第一个同学进去了二十多分钟还没有出来,我心想,坏了。

在苦等许久以后,终于轮到我了。整个答辩的过程还是蛮顺利的,除了被问了两个技术性的问题,老师们其他的意见几乎都是格式问题,而论文的内容是没有问题的。出门时我长舒一口气,因为在我之前才有个同学被要求「大改」论文……

现在答辩已经结束了,距离我大学本科生活的真正结束,好像也只差一次毕业照和毕业典礼了吧。

2203_before_defence答辩前夕

洗牙

这周跟医生约了个时间,去中山三院检查了牙齿。因为我小时候动过手术的原因,所以就一直比较注意口腔,大概一年去检查一次。

今年牙齿也没什么大问题,医生说我有一点慢性龈炎 —— 我知道这是牙石、或者是里面的牙菌斑引起的,就顺带着洗了下牙,感觉有点小痛……

2208_tooth医院的费用单

一图

2205_mask

当我在推上看到它的时候,我意识到本周的一图非它莫属了,这张图真的太漂亮了。说真的,这样的一幅「人民企业家」的构图、服饰与表情,连 AI 都很难画出来吧。马斯克最近访华的时候,看来是真入党了(

完了,改革找不到拍摄这张图的媒体来源,不会真是 AI 画的吧,完蛋了。

盯了这张图 10 分钟、与同学讨论了一下后,达成共识:这张图可能真的是 AI 画的,因为马斯克应该没在这种场合出现过。

另外再补一张其他网友留言的图,笑死:

2206_macron

高堡奇人

在这方面,我很像好龙的叶公:自己十分喜欢高堡奇人所构造的世界,却在此时害怕它真正地来临。

上周

  • 【香港 🇭🇰】2023-05-23 周二,因陆港开展器官移植共享,不少捐赠者取消器官捐赠申请,香港行政长官李家超谴责取消申请的捐赠者,称行为是「破坏整个系统的行径」,并要求警方调查当中是否有违法行为(来源);
    只能说,不愧是李家超。
  • 【中国 🇨🇳】2023-05-24 周三,苹果公司因发布虚假广告被处以 20 万元的行政处罚(来源);
    终于等到苹果因为广告被罚款了,苹果的营销好是好,但看起来就那么有点一言难尽。
  • 【台湾 🇹🇼】2023-05-25 周四,台湾行政院宣布,停用「大陆地区人民亦为中华民国人民」的相关函示,行政院长陈建仁称这是为了避免国际误解(来源);
    这下被开除国民身份了(
  • 【香港 🇭🇰】2023-05-27 周六,香港第二大民主党派「公民党」解散(来源);
  • 【中国 🇨🇳】2023-05-28 周日,国产大飞机 C919 今日商业首飞(来源);

本周

  • 【印度 🇮🇳】2023-05-30 周二,中国与印度在近几周相互驱逐了几乎所有对方的记者(来源);
    听说是因为从 G20 决定在克什米尔举办开始后,就逐渐这样了。
  • 【澳门 🇲🇴】2023-05-31 周三,中国澳门特区《维护国家安全法》修订版本本周实施,「分裂国家罪」扩展到非暴力行为(来源);
  • 【中国 🇨🇳】2023-06-01 周四,中国高考报名人数 1291 万人,创历史新高(来源);
    怎么还有这么多人啊。
  • 【澳门 🇲🇴】2023-06-03 周六,主办澳门「六四」悼念晚会的澳门民主联合会确认解散(来源);

信使 - Courier

因为答辩结束的缘故,所以本周看的杂七杂八的东西也满多的:

读物

  • 【漫画】电锯人电锯人(チェンソーマン / Chainsaw Man)(2018);
    选了个空闲的晚上,把电锯人漫画的公安篇一口气看完了。这是一部很热血的青年漫画,打斗的场景、分镜与血浆残肢都画得很好,令人热血沸腾。我唯一不喜欢的一点是里面有些角色死得太随意了,不过想想,会有这种感觉,可能也是因为我看了太多的英雄主义作品吧。但是,我还是希望《周刊少年 Jump》的编辑们能带着藤本树去医院检查一下精神状态……
  • 【知乎问答】《现在大量 33 层的高层住宅未来怎么拆迁?拆得动吗?》,作者是 TANG,存档于此
    这位博主写了各国在几十年前兴建的高层住宅的后续情况,研究得慢深入的,感觉对当今中国大量高楼大厦的未来十分有参考意义,值得一读!
  • 【视角】《移民北欧,真能迎来 “躺平” 的人生吗?》,三联生活周刊,存档于此
    就像之前推荐的文章一样,我总是喜欢借助新的视角看待世界。
  • 【故事】《只需89.99 美元即可与逝者约会》,来自豆瓣 Reddit 恐怖故事,存档于此
    这故事…… 中间两人的感情颇有莫泊桑的味道,而结尾的悬念与反转可跟欧亨利一样惊人!只不过太恶趣味了点(
  • 【故事】《我减掉的 400 磅昨晚来找我了》,来自豆瓣 Reddit 恐怖故事,存档于此
    其实我感觉,虚幻的欲望是最难以克制的,而这个400磅的怪物将欲望具象化后,反而比较容易控制自己不去吃双人份冰淇淋了(
  • 【采访】《第一批读人工智能的双非学生,困在风口中》,来自《人物》杂志,微信公众号;
    别说人工智能这种新开设的专业了,就连我们学校的一些有很长历史的专业,它们的教学规划也有许多不合理的地方……

影音

2204_john_wick_4

  • 【电影】疾速追杀 4(2023);
    年度枪战爽片,更别提这次还有甄子丹参演呢!(虽然又在演盲人

  • 【电影】蜘蛛侠:纵横宇宙(2023);
    我就说怎么电影的节奏这么慢,原来高潮都在下一部里啊…… Sony 你坏事做尽!

  • 【解析】《僵尸肖恩》剧本解析 - 为什么喜剧需要人物塑造,上传者是 zxc9668,原作者视频在此
    很喜欢其中引用约翰·特鲁比(John Truby)在《故事剖析》(The Anatomy of Story)中的一句话:

    In good stories, the characters come first, and the writer designs the world to be an infinitely detailed manifestation of those characters.

    在好的故事中,人物角色是第一位的,而作者所创造的世界,是人物身上无限细节的体现。

  • 【播客】枫言枫语:Vol. 88 科技快乐星球16: ChatGPT 持续掀起 AI 热潮;

  • 【播客】迪幻腕掰腕 Ep 17:回顾2022,展望2023;

  • 【视频】空中浩劫 S23E02:独立航空 1851 号班机ACI 中文字幕组
    很难想象,事故起源于机上的半双工无线电,导致机组弄错了空管的指令,而他们没有严格遵守程序,也彻底错失了拯救飞机的最后机会。

  • 【视频】【官方双语】我要从 CEO 上退下来了,来自 Linus Tech TipsB 站上的频道;
    老莱几年前谈过他想要退休,没想到现在真的不管事了,不过他还是会出现在视频中的。

2207_concrete

]]>
+ + + 2023-05-29 —— 2023-06-04 + + + + + + + + + + + + + + +
+ + + 【周记】2023-19-20:毕业设计与宣讲会 + + https://mskclover.com/2023/05/21/2023-05-Week-19-20/ + 2023-05-21T11:56:34.000Z + 2023-05-27T12:13:52.000Z + + 1900_cover与第十五周一样,图片还是来自 Klta_卡

这段时间都在做毕业设计的最后工作与撰写我的论文,所以每天都是同样、一成不变的生活,再则本来也没什么时间写周记,所以干脆就两周合成一周了。

跳闸

傍晚时分,实验室突然跳闸了。还好我用的是笔记本电脑,所以断电没有让我的仿真突然暴毙。大家被迫并开心地停下了手中的活儿 —— 除了明天要去给导师做汇报的同学 —— 起身去电闸看看发生了什么事。大伙们七嘴八舌地给实验设备断电、打灯和检查线路,平时安静的实验室变得十分热闹。

很快就排查出了结果,是一个空调漏电了。在照明恢复之前,一旁的好友 Monkey L 拍了张照片,光影非常好看。这张照片拍摄时使用了长曝光,外面的天色本来已经是很黑了,没想到在曝光的最后一刻突然来电了,所以就变成了这样非常好看的颜色,还有着难以言说的朦胧感。这也是我在看到这张照片的第一眼,就喜欢上它的原因。

我就想让他传给我,「你不会又要拿去发你的博客吧」他问,我跟他说只是想拿来收藏,不会发上去的。他回道,「那不行,你得发在上面,还得署我的名字」,所以就发在这里了(

1901_photo摄影大师 Monkey L 的作品《Light before the light》

宣讲会

周末宣讲会上的表现,还是可以算蛮成功的吧,不过还有一点小遗憾,就是我准备得不太充分,毕竟提交毕业论文以后只有两三天的时间给我准备了。

被同学拍了许多黑照,太羞耻了,就不多放了,简单地贴几张吧:

1905_prepare

上台准备时朋友抓拍的

1904_card

感谢学弟学妹们写的卡片

一图

如果冒犯到了尼采,我是真的很抱歉,不过真的好好笑。

1903_pic

高堡奇人

看到这几年发生了这么多奇幻、毫无逻辑的事件,越来越感觉像是生活在「高堡奇人」的世界中了。

  • 【国际 🇨🇦】2023-05-08 周一,加拿大宣布将中国驻多伦多总领事馆领事赵巍列为「不受欢迎人物 persona non grata」,并驱逐出境。
  • 【国际 🇨🇳】2023-05-09 周二,中国宣布将加拿大驻上海总领事馆领事甄逸慧同样列为「不受欢迎人物」,并限令其在 5 月 13 日前离境(来源)。
    加拿大与中国互逐外交官了,对等相待。梦回 2020 年,那时各国也喜欢这样做,美国 🇺🇸 甚至一口气驱逐了四十多位俄罗斯 🇷🇺 外交官,并且在与中国 🇨🇳 互逐外交官后,直到现在成都的美领馆也仍处于关闭中。
  • 【国内 🇨🇳】2023-05-13 周六,脱口秀艺人李昊石被指责侮辱解放军,随后被文旅局官方通报并罚款、取消演出与演员表除名,并被公安机关立案调查(来源)。
    大陆就不应该有脱口秀,我们又能够讽刺什么呢?太荒诞了,这也能被认为是侮辱人民军队,再次有了文字狱的即视感。还好我基本上从不在国内的平台上发言……
  • 【国内 🇨🇳】2023-05-16 周二,中国国家统计局公布的数据显示,四月 16 至 24 岁青年失业率在 4 月升至 20.4%(来源:新浪新闻,备份于此联合早报)。
    四月的 16-24 岁青年的失业率创下了新高,虽然这相当令人担忧,不过因为快到毕业季了,大量毕业生将进入劳动市场,所以这项指标的增加还是属正常状况,在预期之内。另外,25-29 岁的劳动力失业率在 4.2%,这至少说明我们的经济还没有到太差的地步……
  • 【国内 🇨🇳】特斯拉中国向国家市场监督管理总局备案了召回计划,共计召回 1104622 辆(来源,备份于此)。
    召回并不都是返厂维修,比如这次就是 OTA 远程推送。特斯拉终于把他那油门和刹车的控制方式改了,我在后面的「读物」中也有提到。
  • 【国际 🇬🇧】2023-05-18 周四,哈里王子夫妇在美国 🇺🇸 纽约被卷入了「近乎灾难般」的车祸。

信使 - Courier

读物

影音

1902_tetris

  • 【电影】俄罗斯方块 Tetris(2023)
    上周看到有推友推荐这部上线于 Apple 的流媒体电影,蛮感兴趣的,也就找来看了下。感觉拍的挺不错的,但我还是不理解为什么争夺版权的商战搞得像谍战一样,剧情也有些太夸张了,给人一种不真实感。俄罗斯方块风靡全球,而发明它的作者从中却没能得到多少的钱,也挺不公平的。里面有一句话给我印象很深:「共产主义从来就不是为了阻止自由,但不幸的是,人类的贪婪阻碍了我们」。
  • 【纪录片】空中浩劫 S23E01:地区航空 5966 号班机ACI 中文字幕组
  • 【纪录片】空中浩劫 S23E03:日本航空 123 号班机ACI 中文字幕组
  • 【纪录片】空中浩劫 S23E06:四川航空 8633 号班机ACI 中文字幕组
    在五年前的那次事故中,川航机长刘传建在青藏高原上空驾驶着空客 A319,驾驶舱挡风玻璃破碎、副驾驶半身被吸出窗外时,成功地带着飞机和乘客安全迫降。从那一刻起,他成为了可以与迫降哈德逊河的机组相提并论的传奇。可是,他没有接受 ACI 制作组的邀请而参与到节目的录制,真是太遗憾了。

链接

]]>
+ + + 2023-05-08 —— 2023-05-21 + + + + + + + + + + + + + + + + + + + + +
+ + + 【周记】2023-18:劳动节与电影院 + + https://mskclover.com/2023/05/07/2023-05-Week-18/ + 2023-05-07T15:27:34.000Z + 2023-05-07T17:07:28.000Z + + 1800_born_to_retail准备的本期封面图意外地应景,来自香港 🇭🇰 的插画家 PEAR 哥

本周一是五一劳动节,在此预祝大家节日快乐!(虽然大伙儿看到这篇周记的时候,肯定已经是下一周了)

这周还是蛮普通的一周,毕竟就跟往常一样,在实验室里做着自己的毕业设计。不过还是少不了上网冲浪,也寻闲再次去电影院看了电影。

说起来蛮有意思的,曾经相比起去影院,我更喜欢和朋友或独自一人关了灯,在房间里看下载的电影;而在有了被封控的经历、现在社会重新开放以后,我反而开始珍惜走出去的机会,更偏好去电影院看电影了。电影票基本上也无纸化了,扫码就能进去。不过我还是特意请票务员帮我打印了纸质的电影票,主要是为了能贴在我的手帐里,也为了一点怀旧感(

没有什么比这样的生活更美好的了。

1804_cinema坐得满满当当的影院

炮姐生日快乐!

就算是我,也可以战斗,就算是我,也可以成为你的力量!

超炮可以说是我看的第一部番,其中的御坂美琴也一直是我最喜欢的动漫角色,这也是我网名与头像的来源。

以前大家都以为美琴的生日是 4 月 5 日,后来官方公布她的生日在 5 月 2 日 —— 与其声优佐藤利奈相同 —— 可这么多年过去了,她还在 14 岁,像柯南一样(

不过没有关系,很高兴今年还能看到这么多插画家创作她的生日贺图,祝御坂美琴生日快乐啦!

我们明年再见~

1801_misaka来自日本 🇯🇵 插画家ひまねこ。

同学聚会

以前的一个很聊得来的学长当了警察,最近回学校开政审资料,就一起去以前的一家小店吃了饭。

说实话,蛮羡慕能够当警察的,穿警服多帅啊不是吗?而且每个月还能有枪打(训练),可惜那种受限制太多的生活方式还是与我不太相符。现在说这种话很有意思,颇有一种吃不到葡萄说葡萄酸的美。

成功的推友

看了推友三咲智子的第一篇生活博文旅行篇 - 欧洲,相当惊讶 —— 我一直以为他是已经工作了好些年的前辈,所以才有能力参与到这么多的开源项目中,没想到他比我还要晚一年高考……

我是在教育体制中「卷」出来的标准品,很难想象在中学时还有与读书完全无关的事。我在中学最大的娱乐就是读闲书和看漫画;电脑在人们眼中则被视为上网、炒股和打游戏的产品,而非是生产所需的工具。

一开始感觉自己虚度了好多光阴,就像大家都是小孩的时候,自己还穿着尿布吸着奶嘴,而他已经穿西装打领带了。后来翻到他的自我介绍,了解到他是如何走到现在的轨迹后,再对比一下相应的时候我在干嘛,也就想通了。智子六年级时就在网上接单子,我直到大学才开始学写代码 —— 对我而言是新大陆,而别人早就在极点插下旗帜了,这样的技不如人再正常不过。并且,我虽然在程序领域不如他,但也不用自怨自艾,或许我可以在其他方面有自己的建树。

没关系,那就继续崇拜他吧(得找个机会成为他的 Sponsor,不过得等工作以后办张外币卡才行


PS. 看到有推友留言说:

工作后恰恰没那么多时间和精力参与开源了……
特别是在国内996……

感觉好有道理,并对上班以后生活的想象更加灰暗了。

一图

漫画里的等级,会不会是人年龄与经验的一种体现呢?看到这么高等级的人仍旧过得不快乐、整天忧心忡忡的,新人会不会直接失去奋斗的意愿呢?所以不显示等级是为了我们好吧。

对了,要是漫画里的新人在经历这些后,睡在床上时等级涨到了 LVL 87 就更有意思了。

1802_pic

内外大事记

  • 【国际 🇺🇳】2023-05-01 周一,劳动节快乐!
  • 【国内 🇭🇰】2023-05-02 周二,香港特区政府将地区议会「去政治化」,行政长官李家超指责部分区议员危害国家安全,计划整顿其选举制度,将原来的全部直选议席降至 20%(来源)。
  • 【国内 🇨🇳】2023-05-04 周四,湖南农民种植生姜被农管强制铲除(来源)。
    这是自媒体的文章,所以其可信度存疑。不过我想,如果农管真的强制要求种植特定的作物,这是否侵犯了农民的权利?这样对待农民,是否又符合我们最初以工农联盟为基础的共和国精神?
  • 【国际 🇺🇳】2023-05-05 周五,世界卫生组织宣布新冠疫情「国际关注的突发公共卫生事件」状态结束(来源)。
    太棒了,三年了,疫情终于被宣布结束了。但它对世界带来的改变,至少在可预见的未来,将一直持续下去。

1803_hkgov

  • 【国内 🇭🇰】2023-05-05 周五,香港警察国安处持「搜查令」,于元朗港大嘉道理中心内取走一件「煽动他人颠覆国家政权」案件的证物,据悉为「国殇之柱」(港府官方声明,备份链接,媒体「香港 01」报道链接)。
    看吧,突发新闻,世界被改变了,从这里开始。欲对此物了解更多,请参见下文「信使 - 读物」栏的专题报道。
  • 【国际 🇬🇧】2023-05-06 周六,英王查尔斯三世于伦敦威斯敏斯特大教堂(西敏寺)加冕(来源)。

信使 - Courier

本周只看了一点点真正的书籍,大部分的阅读还只是碎片化的,比如浏览网页 / 文档这种,继续注意些吧。

读物

  • 【研究】民主指数 Democracy Index,来自 经济学人信息社
    听到有人提了 2022 年的指数,就去翻了一下,没想到居然有比朝鲜 🇰🇵 还低的国家……
  • 【推荐】Fire on the Horizon,来自 Cat Chen推荐
    他在后面的系列贴子中讲了好多书中钻井平台的事,使我对未知的事物非常感兴趣,打算也去找来读一读。
  • 【采访】结婚有淡季,但离婚的人永不缺席,来自 人物杂志
    以民政局婚姻登记处工作人员的视角,讲述了她在这些年遇到了人们与事情,对婚姻的意义有了更深的理解。
  • 【故事】每天都有两只鸟拜访我。一只带来好消息,另一只带来坏消息,来自豆瓣 Reddit 恐怖故事
    又是一篇美好的文字,作者很巧妙地借助鸽子与乌鸦借喻命运,节奏扣人心弦,非常好看!
  • 【故事】找不到身体的头在垃圾桶里对我笑,原文是 A 岛的匿名作者写的。A 岛沉了以后,很多东西都散失了,这是我碰巧撞见的一篇转载,原文标题应为:《找不到身体的头在垃圾桶里对我笑》。
    转载者感叹说「想象力和创意真的需要天赋啊」,我也非常赞同,这篇文章非常的意识流,我感觉作者在语言上的天赋与理解都很高,比如:「房间里的盆栽被吓哭了,它给自己浇了水」,我从来都没有看到过这些新奇的表述。忍不住多读了几遍后,甚至感觉自己的语言表达快被同化了似的。结尾制造了相当精彩的悬念,一下子将故事的骇人程度提高了。
  • 【专题报道】臉 —— 大寫的人,無處安放的自由,来自 端传媒 Initium Media,2021。
    看见端传媒在近日新闻下挂出了这篇专题报道,我对这篇印象很深刻,可惜我什么也做不了。

影音

]]>
+ + + 2023-05-01 —— 2023-05-07 + + + + + + + + + + + + + + + + + + + + +
+ + + 夜之城 + + https://mskclover.com/2023/05/01/night_city/ + 2023-05-01T07:58:34.000Z + 2023-05-07T16:57:00.000Z + + cover大卫的下一句话是:说得轻巧

那我一直工作是为了什么?我这么卖命工作就是为了让你…… 可是现在…… 你以为这段时间我都在做什么?你这么聪明,又有才华,所以我才这么努力赚钱培养你,如果你不想读书了,那我该怎么办?我知道他们是怎么对你的,因为我也经历过同样的事,所以我们才要证明给他们看!我希望你好好努力,成为精英,爬到荒坂塔的顶端,我知道你有这样的潜力,一定做得到!

—— 葛洛莉亚·马丁内斯

今晚跟妈妈打了电话,没说什么新鲜的事,都是关于我后续时日的安排。她在电话里苦口婆心地劝我,坚持我一定要去考雅思、申请国外大学的 MPhil 研究生。我嫌太累,想尽早工作,不想再读书了,就嘴上应付着,心思早就飘到一旁的北湖上了。但《边缘行者》中的这一幕却突然出现在我眼前,在晚上剩余的时间里,它一直我的头脑里挥之不去。想起这些日子的经历,便想写点东西。

现状

我在大约两年多以前也有类似的感觉,都是对未来的不确定性与自身的局限感到心烦:当时是困惑于自己当时的选择是否做错了,焦虑未来又会如何变化;而现在大学生活已经快结束了,我却又面临着相同的困惑与焦虑,这不免使我思考这两年是不是一点成长也没有,依旧在原地踏步?其实现在回想起当时的事,会感觉自己蛮幼稚的,那些问题在已经经历过一遍的我看来根本不算什么,也不知道几年后的我对今日对问题会不会是同样的想法。

至于现在的我,又是什么样的状态呢?

大家可以看到我去年的博文,其实从二月起,我就开始在准备考研了。这个决定,是我自己的意愿,加上受到我爸妈的督促,可能还带点效仿实验室师兄的意思,这几个因素共同影响下做出的。后来随着动态清零政策毫无预警地宣布结束,校园疫情管控突然放开,接踵而至的是奥密克戎席卷了整个校园。在那段时间,我每天寝室和食堂两点一线,极力避免自己在考前被感染,却不曾想到在考试的前一天 —— 也就是 23 号下午开始发烧,最后没能取得好的结果。

the_night

学校疏散的那天晚上,朋友发给我的照片:
图中的同学连夜收拾行李离开学校,避免被封控在学校里而影响接下来的安排。

不过,好在当时听了妈妈的建议,做了两手准备,在备考之余,我还向一些单位投了简历。抱着试试、不行无妨的心态,我居然拿到了其中一个单位的 offer。这是机场旁边事业单位的工程师,钱不多,事情多,不过好在有编制。了解我的朋友应该知道,算是民用航空的小粉丝,经常给大家分享《空中浩劫》的剧集,也收藏有 NTSB(美国国家运输安全委员会)的周边。本来这个单位只是我用来保底的,不至于到最后没书读又没工作,只能家里蹲。后来我看这个单位越看越顺眼:正好是我感兴趣的领域、能解决最初几年的住宿问题、有编制稳定、专业对口、并且工作也算体面,所以我就想着要不就不努力了,就这样吧。

所以后来当实验室里别的同学对找工作 / 留学正焦头烂额的时候,我在一旁做自己感兴趣的事;而在不久前陪跑选调生与公务员考试后,我便一直处于一种无欲无求的状态,就想着赶紧做完毕设去上班。妈妈自然也在日常的交流中发现我心态的转变,一直在推动我去申请香港的学校,她与半年前一样,说:「如果你入职后不喜欢那个工作,还可以出来读书」,但我却与当初截然不同了。

当时的我,不名一文,反正多投份简历也要不了多久,拿不到 offer 也没有什么损失,还能去亲身体验一番找工作的流程;但现在的我变得患得患失,即使确实也很想去留学,但一想到有可能费劲去考试与申请,却不一定能有结果、被录取,便不想再去了。

这些日子里我们在群里发了很多讯息,打了许多电话,其内容除了日常聊天,不外乎都是妈妈劝我再去拼搏一次,而我在电话的另一端嗯嗯啊啊,敷衍了事。然后就到了今晚,这一通电话,我想到了开头所引用的这一幕。

世俗

我与大卫·马丁内斯一点也不像。

他出身在单亲家庭,缺少完整的家庭关怀,而我的家庭幸福圆满;他青年丧母,我至今还未曾经历过亲人离世;他成长于底层,而我小时家境不错,比他好太多了。但我与大卫在有些地方却是一样的:我们的母亲都望子成龙,大卫被送去了荒坂的贵族学院,而我一直以来也就读的是当地最好的学校;两位母亲都为了家庭拼命工作、执着付出;大卫生活在一座繁华却腐朽、吃人不吐骨头的夜之城,而我进入社会后必然也会背上数十年的广州巨额房贷。

记得不久前在网上看到弱智吧的年度精选,其中有两句话给我印象很深:其中一句是「工人罢工后,就变成了人」,而另一句就是今天写这篇文章的另外一个原因:

有的人说自己看不到未来,其实他们已经看到了未来。

很多人都说,看完《边缘行者》后,给人的后劲很大,几天都缓不过来。我想,大家可能都是先同情于大卫的遭遇,再愤怒于亚当·重锤的冷血与荒坂的残忍,继而想到了夜之城这座城市体制本身的罪恶,最后想到了自己。正所谓「有人看乐子,有人照镜子」,本想着看好莱坞式的打斗、阴谋、友谊与爱情的观众,在某一刻却忽然发现自己成为了剧中人。但不同的是,大卫敢于为了所爱之人轰轰烈烈地牺牲在荒坂塔,而我们现实中的绝大多数人还要在睡前算算自己还能睡多久,天亮后仍旧得继续去上班、挣钱还贷和养家。大卫有对抗社会不公的资格,而我们好像连这个都没有。

几天前又看到了小土豆在 18 年写的《看不到希望的未来》,里面说:

至于未来,那是不敢想象的。不知道是看不到希望的未来,还是看不到未来的希望。这个未来,可怕的不在于未知,而在于看不到希望。

其实我是非常热爱广州的,也很喜欢这里的生活方式,我在这里学了粤语,打算一直生活在这里。可一想到动辄三、五万一平的房价,这些激情一下子便消失得无影无踪。越接近毕业,与同学讨论的内容就越具有本地特色:「为什么有的人收房租一个月四五万还不用交税,而有的人辛辛苦苦一个月连交税标准都够不着」。人越长大,就越需要面对现实:小时候不用考虑柴米油盐,所以可以有很大的梦想;但现在的梦想就算再小,也很容易被社会上各种尖锐东西戳破。我有段时间想要出国生活,相当程度的考虑就是这个。我不明白为什么我的祖国会让我想要让我背井离乡,我能明白这一切的原因,却不能理解为什么。

这也是为什么,我以前瞧不起的、编制里像是混日子又没有什么前途的工作,现在却成了我的唯一出路

逐梦之城

当大卫的妈妈说出她对大卫寄予的期望之后,大卫把头偏向另一侧的窗边,「说得轻巧」,这基本上也是他对妈妈说的最后一句话,我也是这么说的。今天回去翻原剧集的时候,看到这一段和后面在医院的那一段,我感到有些愧疚:大卫没机会对他的妈妈许下新的承诺了,但我还可以

我也知道,我的父母在同龄人里算是相当好的了,他们在学习上给我充分的资源和支持,在成年前也给了我相当的自由,现在也很是尊重我的意见,比我看到的有些父母可是好太多了。说到底,妈妈喋喋不休地让我去申请学校,也是觉得我不读硕士好可惜,想让我继续读书而已。我呢,在学校的舒适圈里待久了,变得有些好逸恶劳,不想再继续努力下去了。

不过,我是真的有这样的想法:我从小到大努力了十几年,经历了一次又一次的考试,完成了父母的期望,终于越过了高考。当时我想发誓,这辈子再也不想去经历哪怕再一次统一考试了。但事后证明,人总是会走向现实的,即使父母对你没有了更多的要求,也并不等于可以不需要再努力了。由于脱离了父母经济关系的庇护,见到了世俗社会露出了獠牙,以前的事情变复杂了。对自己的要求不再是父母「为你好」的、恒定不变的,而是与我们的欲望相挂钩、变得隐性了。想要住房子?你得有户口、缴足社保年限等等;想要升职?除了能力好,还得同事人缘好受赏识云云;想要休息一段时间?不好意思,社保可不能中断。当对我们的要求不再只是与我们自身相关的时候,那我们努力还是为了自己吗?我们还能这样说服自己吗?

night_city

在粉丝制作的夜之城官方主页,写着这座城市的历史:

夜之城的历史源于一位伟大企业家的远见梦想,他就是理查德 · 奈特。二十世纪末,奈特便构思了这座未来之城,一座不被旧观念沾染,不被陈规束缚的城市。

不幸的是,根深蒂固的利益集团和眼红心热的竞争对手疯狂地想要破坏奈特的这个梦想。于是不堪设想的事情发生了:理查德 · 奈特在家中惨遭不知名袭击者杀害。为了纪念他和他留下的伟大创造,人们将这座城市改名为——奈特之城 (惯称「夜之城」)。在之后的岁月里,它成功摆脱了美国制度的束缚,在没有依靠任何懒散臃肿的国家政府的帮助下,灵活地应对了不可想象的灾难,包括一场摧毁了其中心地带——公司广场的核爆。作为一座成功的灯塔,夜之城的坚韧仍在照耀着整个世界。

这是一个全新的梦想之城,相信任何新来者看到网页上光鲜亮丽的文字,都会对自己未来在夜之城的生活充满期待吧。但现实情况是什么呢?公司之间相互倾轧,他们并不关心谁会因此丧命;街上帮派混战、枪击事件层出不穷,死人可是家常便饭;而警察受公司与帮派制衡,无法有效地保护市民;学校与医院更是充满了铜臭味,没有钱连最基本的治疗都享受不到。但这里有有着大量的机会,虽然鱼龙混杂,危机四伏,但又绚烂夺目独树一帜。

好在我们在一个社会主义国家的大城市,这里不会变成这样,对吧?

广州,这个引领着我「广州梦」的城市,会不会变得跟深圳、甚至是夜之城一样,吸引着络绎不绝的「逐梦之人」前来,吸干他们的血,再敲骨吸髓,最后弃置不顾。我听说,深圳的地皮大多批给了商业用地和工业用地,而很少批居住用地,导致住宅、医疗、吃食和出行都很贵 —— 就是想在发展经济的同时,让那些来深圳工作的人把钱都花在深圳,贡献完几十年青春后,从哪里来就回哪里去好了,不要成为城市的负担。虽然可能只是都市传说罢了,但不免让人对未来的希望雪上加霜。

shenzhen_people
着实令人失望

何去何从

古谚云「树挪死,人挪活」。既然夜之城如此糟糕,为什么不干脆离开这里,去更好的地方生活呢?为什么大卫与露西不隐姓埋名、远走高飞呢?

他们有剧情里的「迫不得已」,而现实里的人们也有自己的苦衷。

就像夜之城最著名的公众人物之一、第 54 广播网的贝斯伊西斯所说的那样:

没人能离开夜之城,除非躺在裹尸袋里。

离不开

大卫重情重义,背负着母亲的遗愿与前帮派领袖曼恩的遗志,他不断接活为团队负责。他装上了越来越好的义体,同时也承担着相应的代价。最开始大卫三天的药钱就花光了露西这段日子的所有收获,而曼恩在第一个任务后大手一挥就直接给了一个月的药;后来大卫有了更多的钱,但因为装上了更好的义体,他得支出更多的钱去购买维持生命的抑制药物。这即意味着,只有一直干活才能使自己和露西活下去

义体改造本就是取死之道,只会不断向赛博精神病的深渊滑落。就算拆掉部份义体也不会止住滑落的趋势,只是苟延残喘罢了。或许大卫的体质足够特殊,能抗住部份的改造得以善终。但在夜之城,没有足够的力量,随时都可能被一茬又一茬前仆后继拥抱改造的新人踩在脚下。那么,完全抛却义体做个普通人呢?且不说有没有能力守住财富,在这个意外频发的夜之城,普通人可能莫名其妙就死在了突如其来的交火中,就像大卫的妈妈一样。

大卫离不开夜之城了,这就像是《肖申克的救赎》中的瑞德所说的「体制化」那样。

话题「逃离北上广」已经被提出许多年了,可为何这些地方的工作者数量仍居高不下、甚至年年增长?因为只有这里才能为人们提供丰富的机会,与一份足够的工资:这份工资在这里或许普普通通,但在二三线小县城却足以算是十分丰厚了。在习惯了这份工资后,如果有一天离开了这里,我们还能负担得起自己与家人的日常开销吗?

能去哪

正如上文提到的,人们除了夜之城,哪也去不了

大卫和露西他们能去哪?他们自出生始,就只见过夜之城,外面是一片荒芜,只有流浪者依托城市的残羹剩饭生活着。要是离开了这个熟悉的环境,他们又能去哪里谋生呢?为了防止人工智能病毒再次毁灭城市的网络,夜之城筑起了防火墙建造了局域网。即使外面的世界那么大,即使新美国、欧盟与跨国公司在其他地方仍在激烈地进行权力争夺,可是他们只知道夜之城,只知道海伍德与太平州。

虽然父母在小时带我去了许多国家旅游,但现在我想到要去那些地方生活时,虽然十分向往,但也常常对此感到恐惧。我并不是对外国不了解,也经常看当地的新闻与生活实况,不过这样并不够 —— 我不了解的实际上是如何在那里生活

在一个地方旅游和生活是完全不同的:我在美国的时候,在纽约的第五大道住了大半个月,常常去不远处的麦当劳点一份 Big Mac Combo 果腹,每天醒了就是去博物馆和中央公园溜达,晚上回去时还能买大盒牛奶与薯片,生活十分惬意。为什么呢?因为父母出了钱,我除了花钱,其他的都不用考虑。而一旦在那里生活,就需要养活自己,暂且不论其他的难关,仅是合法的身份就能让大部份人碰壁;并且工作也可能不像论坛上说的那样「白菜」,可能好几个月都没有收入;更别提还有潜在的文化差异与可能遭到的歧视,这些都不是在旅游期间能认识到的。

大卫和露西当然也会为此顾虑重重,因为对外界不甚了解,他们无法评估抛弃一切远走他乡是否值得。外面的世界可能并不像传说中的那么美好,可能跟夜之城一样差劲,甚至还不如夜之城呢。

对他乡的陌生、不确定性与恐惧,使人担心远方有无自己的容身之处,那里是否真的合适。很多人都会犹豫不决,除非在已经走投无路,否则很难做出这个决定。

值得吗

他们对待生活的态度不同,最后阴阳两隔,令人扼腕叹息。

其实露西所求很简单:逃脱公司的追捕,存下足够的钱去月球。如果她想要当传奇,那么她就不会中途离开团队去当大卫的隐形守护者、也不会最终一个人登上月球无尽孤独;而是与大卫一起,用一场壮丽的烟火,轰轰烈烈地结束一生。

在一开始夜之城的中间人德克斯特找到大卫时,就问过他:

你是愿意当个无名之辈,一辈子安生,插着尿管死在床上?还是就算活不到三十岁,也要名留青史呢?

如果大卫只是想像维克托大夫一样过普通日子,那他就不会在曼恩大哥死后接过担子,不会继续加装义体,而是和露西一起隐姓埋名,平平安安地度过余生。但他不能这样做,他最初想成为夜之城的传奇,到后来身上又背负了太多的期许与责任,他不能弃之不顾。

那么,我们对生活又是什么样的价值评判与态度呢?

变革

离开夜之城固然可以一了百了,但这又何尝不是一种逃避呢?对于那些热爱夜之城的人,为什么不能使她重新变为「理想城」呢?

因为这里有亚当重锤,所有想要挑战现有体制的人,最后都被他捏碎了脑子。

words

知乎有一个贴子对我印象极深,这部分就在这里附上,结束这部分吧:

贴子原文摘录

我们站在一个更加旁观者的角度,既不带入大卫也不带入荒坂,我们用现实来模拟一下这个剧情,会得到一个特别残酷凛冽的观感:

一个成长于地县级城镇的少年,自幼丧父,母亲单亲带大小孩,为了生计带着孩子挤进大城市,东拼西凑层层借贷用尽全力打拼送小孩进入高等学府,怎奈由于出身和时不时展现出的贫瘠,孩子在学校经常被花式霸凌,虽然头脑天资聪颖,但这种强弩之末一般的努力最终还是渐渐落得下风,突如其来的变故让母亲撒手人寰,缺少学费的孩子只能辍学,没有毕业就无法参加工作恶性循环,结识了地方上的混混帮派干起偷鸡摸狗扰乱治安的活计,青春在这短短的几年里急剧燃烧,经历了同样出身的一批伙伴之间的爱情友情,终于被社会安保和利益长期受损的企业报复,在明确了失去同伴和所爱之人无从挣扎的残酷现实之后,少年毅然决然制作了卡车炸弹去冲击了市政大楼……

而这一切的一切都不会被外人所知,只有网络上一张蓝底白字的昨日我市一犯罪分子驾驶自制爆炸卡车冲击市政大楼被当场击毙的警情通知,也只有当地的混混酒吧流传着「大哥」的丰功伟绩,吸引着又一批年轻的鬼火少年向大都市的魅影义无反顾地奔去。

动画后劲很大,主要就是因为动画把整个故事的表象以最直观的叙述手法直接展现给作为观众的我们,在这些强劲的情绪渲染背后,当我们经历了这激烈的感官刺激之后,会分析得出剧中众人都有自己难以走出的心结,都有不成熟的心理欠缺,在做重大的事务决断的时候都缺乏考量,年轻人常有的「不要怂、不能逃避」成为了他们想要弥补这些缺憾的精神盾牌,而事实上更多的团队友人爱人之间的开诚布公以及应对困难的冷静思考和详尽规划才是解决问题的最好办法,主角一行人完全是被夜之城带了人生的节奏,靠着本能燃烧自己生命那样活着,而夜之城恰恰最喜欢吞噬这类年轻人的血肉 —— 这一点尤其像极了现实中的几大集中型都市,给你营造一个灯红酒绿的幻梦,设下重重名利陷阱,等你一步一步随着它沉沦,再把你抽筋剥皮敲骨吸髓。

所以,大卫本性善良,但却悲情,在巨大的社会潮流中被席卷淹没,他的性格令他偏执激进,他可以做一个很好的执行者,但严格意义上讲和胶泥银手一样无法真正担当改变赛博朋克 2077 大背景时代的角色。

最后

没想到这篇文章写了这么久。

我在三月二十一日晚上与家里人通完电话,思绪繁多,一写就到了凌晨两点。后来这些文字还是在脑内挥之不去,就偶尔再加一些。本来我是没想发出来的,因为通篇给人的一种悲观、失望与焦虑的情绪,甚至有比较极端的想法,就留着以后自己看算了。

后来与同学的交流中,我发现朋友们或多或少都有类似的想法。记得某位博主说过,他「不想再保持沉默,想写些技术以外的东西」。想到自己三年前的那篇《大二前的迷惘,思考,和一点决心》,在现在看来非常不成熟的文章,却表现出了我那时真实的焦虑与困惑,此时此刻,恰如彼时彼刻,于是我就把这些文字整理和删改了一下,打算也同样发出来。

我写这些并不想要传递这些焦虑与情绪,我只是想记录自己在人生某个时刻真实的想法而已。

我在后来又想了许多,回到文章开头我不想再努力的想法,一个多月后想来真是蛮幼稚的:自己既懒惰、不想努力,又想要把现状的原因归咎于社会的不公与固化,以此来推卸自己的责任。要是真的不思进取,那与那些躺在功劳簿上享福、被人唾弃的二代子弟又有何不同呢?

我希望自己能变得更优秀,这并不仅像大卫一样只是为了别人,也是为了自己,让自己以后能有更多的选择。达则兼济天下,穷则独善其身。另一方面,或许以后也能为有需要的人提供一点微薄的帮助吧。

最后,祝大家五一节快乐!

感谢您读到这里,谢谢。

]]>
+ + + <p><img src="/images/night_city/cover.jpg" alt="cover"><em>大卫的下一句话是:说得轻巧</em></p> + + + + + + + + + + + + + + +
+ + + 【周记】2023-17:本周无事·II + + https://mskclover.com/2023/04/30/2023-04-Week-17/ + 2023-04-30T12:29:34.000Z + 2023-05-07T16:56:18.000Z + + 1700_cover

本周没有发生什么大事,还是很平凡的一周。

不过还是有好消息,舍友们都陆陆续续地回来了,我猜是因为快要到提交毕业论文的时候了吧(

毕业季讲座

上午接到辅导员的电话,他希望我能在不久后的新老生交流会上做个讲座,交流一下考研、考公和找工作的经验。我当然也很高兴能有机会与后辈分享,就像前几年师兄们做的那样。我还是有些担心讲座会不会与毕设的时间冲突,因为那个时候也是我们提交论文的时候。不过具体的时间还没有定下来,就先答应下来了。

正是因此,我这次的周记封面才会选择这张图,

Helping one person might not change the world, but it could change the world for one person.

更少的麦当劳……

上次体检的时候,被医生检查出有一点轻微脂肪肝的症状,虽然并没有写到报告里,但我还是非常的重视。根据维基百科,脂肪肝是:

  • 肝脏中积聚过多脂肪的状态,以含甘油三酸酯的巨液泡形式积累在肝细胞中,而造成脂肪变性;
  • 分为酒精性脂肪肝与非酒精性脂肪肝,病因分别主要为酗酒与肥胖;
  • 轻度脂肪肝通常可逆,非酒精性脂肪肝的治疗方法主要是通过适当饮食与运动将体重减轻;
  • 脂肪肝严重者可能造成肝硬化与肝癌。

所以从现在开始,我得多多运动,少吃重油重盐的食物了,希望能早日好起来吧。

新词

读书看报时学到了一个新词语:「老根」。

实际上「老根」应作为「老庚」,指年岁相仿,性情爱好相投的发小好友。这是四川那边的俗语。还有人解释为:

童年时两人相处得来,就结下老庚。从此这两人就应该互相帮助,互相提高。关系也比一般的人好的多。起源于旧社会,在旧社会里结老庚还要双方家人见面过礼,举行小仪式,拜见双方家,从此没有亲戚关系的两家人就要以亲戚的关系交往。

一图

1701_pic又是这只喜闻乐见的塑料袋兔子!来自茫茫兔 Nuffin

内外大事记

因为感觉周记会一直写下去,在以后回顾的时候,也能回忆起这个时代发生了什么事情,不要忘记。所以想要在这个栏目里,记下于本周发生的国内社会和国际之间的重要事件,不过都是很主观的(

顺便也补一下上周的:

  • 【国内】2023-04-18,北京长峰医院大火,致 29 人死亡。
  • 【国际】2023-04-21,中国驻法大使称前苏联加盟国没有主权也没有国籍法承认,后续驻法使馆的声明大使的言论为个人观点,不代表中国官方立场,Web Archive 链接存档于此
  • 【国际】2023-04-25,美国总统拜登宣布启动连任竞选活动。
    拜登今年 81 岁了,特朗普今年也 77 岁了,两党候选人都这么老了,难道美国就没有年轻人了吗?好怀念推动 NASA 开启太空竞赛的肯尼迪,他成为总统时年仅 44 岁。
  • 【国际】2023-04-26,国家主席习近平与乌克兰总统泽连斯基通话,系战争爆发以来首次。
  • 【国内】2023-04-27,国办发文称:支持国企扩大招聘规模,稳定机关事业单位岗位规模,募集不少于一百万个青年见习岗位(来源)。目前全国 16-24 岁城镇青年的失业率已经高达 19.9% 了……

信使 - Courier

本周的阅读经历可以说是非常丰富,各种内容来者不拒,但总感觉自己上网冲浪有些过了

读物

1702_myuniverse
  • 【漫画】《我的宇宙 / 나의 우주》(2019),作者是 Gong-Yi。

    最初,是看到这位画风超级好看的短发妹子后,才将这本漫画加入清单的。看标签是科幻,结果基本上通篇都是韩式爱情故事,最后外星人入侵地球的剧段还是差点没笑喷(

    不过总的来说,韩式漫画的优点一应俱全:感情处理细腻,故事节奏恰当,人物性格刻画独特,画风稳定,分镜舒服,不失为一部精彩的短篇漫画。至于缺点?我一般只喜欢夸人,不太喜欢损人,就说一点吧:剧情十分老套,我愿称之为《来自星星的你》漫画版。

    最后,这位短发妹子真的好好看啊!

影音

1703_linus
  • 【访谈】The TRUTH about working for Linus - Employees Answer,来自 Linus Tech Tips 频道。
    这是对 Linus Sebastian 媒体公司员工的一个访谈视频,让观众得以再一窥公司的日常、发展与老莱本人在镜头之外的样子,上次此类视频还是在四年前呢。老莱称管理层没有干涉视频的创作与剪辑,所以其内容可以算是比较可信的。视频里的员工在被问及「最不能忍受公司的一点是什么」时,大部份都吐槽说因为一周要发太多的视频,感觉非常的累,也无法提高视频的质量;还有一些人抱怨公司的停车位不够,来晚了只能停路边了,这些可太真实了吧(
]]>
+ + + 2023-04-23 —— 2023-04-30 + + + + + + + + + + + + + + + + + + +
+ + + 【笔记】ns-3 与 openai-gym 初入门 + + https://mskclover.com/2023/04/24/beginner-of-ns-3-and-openai-gym/ + 2023-04-24T11:49:34.000Z + 2024-07-05T08:09:21.465Z + + cover

最近因为在做毕设时需要学习一些更新的知识、与使用更复杂的工具,所以我想还是像以往那样,通过记下学习笔记的方式辅助自己学习,所以就开始写这篇笔记。

既然是笔记,那就不用那么多修饰的字词了,简单就好:

前置环境搭建

写在前面:

在一切开始之前,需要先准备好合适的环境:

  • 虚拟机:VMware® Workstation 16 Pro(16.2.5 build-20904516)
  • 系统:Ubuntu 22.04.2 LTS(此时更推荐使用 Ubuntu 20)
  • ⚠️ 注意:请至少为虚拟机分配 50 G 以上的空间,以保证在后续步骤中不会遇到空间不足的问题。

首先,对于一个全新的系统,我们需要安装一个代码编辑器:比如 VS Code 或者 PyCharm,可以在官网或者 Ubuntu 的官方商店下载安装。虽然我两个都安装了,不过因为师兄推荐用后者,所以在下文我就以 PyCharm 为主吧。

Anaconda

anaconda

Anaconda 是一个开源的 Python 和 R 语言的发行版本,具有管理 Python 的环境和包的工具,提供数据科学和机器学习的开发环境。根据官方的安装教程,我们立刻进行一个安装:

先决条件

# 首先,个人建议先更新软件源列表:sudo apt update# 升级已安装的软件包sudo apt upgradesudo apt-get update# Prerequisites# To use GUI packages with Linux, you will need to install # the following extended dependencies for Qt:# 要在 Linux 中使用 GUI 包,您需要为 Qt 安装以下扩展依赖项:# Debiansudo apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6

安装

对于 x86 系统,也就是我们现在所使用的大多数系统,其安装方式如下:

# 1. In your browser, download the [Anaconda installer for Linux]#    https://www.anaconda.com/download/#linux/.-----# 2. Search for “terminal” in your applications and click to open.-----# 3. (Recommended) [Verify the installer’s data integrity with SHA-256].#    For more information on hash verification, see [cryptographic hash validation].# In the terminal, run the following:# shasum -a 256 /PATH/FILENAMEshasum -a 256 ./Downloads/Anaconda3-2023.03-1-Linux-x86_64.sh# Replace /PATH/FILENAME with your installation's path and filename.-----# 4. Install for Python 3.7 or 2.7 in the terminal:#    For Python 3.7, enter the following:# Include the bash command regardless of whether or not you are using the Bash shell# 无论您是否使用 Bash shell,都包括 bash 命令# bash ~/Downloads/Anaconda3-2020.05-Linux-x86_64.shbash ./Downloads/Anaconda3-2023.03-1-Linux-x86_64.sh# Replace ~/Downloads with your actual path# Replace the .sh file name with the name of the file you downloaded-----# 5. Press Enter to review the license agreement.#    Then press and hold Enter to scroll.# 6. Enter “yes” to agree to the license agreement.-----# 7. Use Enter to accept the default install location, use CTRL+C to cancel the installation, or enter another file path to specify an alternate installation directory. If you accept the default install location, the installer displays `PREFIX=/home/<USER>/anaconda<2/3>` and continues the installation. It may take a few minutes to complete.  # 7. 使用 Enter 接受默认安装位置,使用 CTRL+C 取消安装,或输入另一个文件路径以指定备用安装目录。如果您接受默认安装位置,安装程序将显示 `PREFIX=/home/<USER>/anaconda<2/3>` 并继续安装。可能需要几分钟才能完成。# NOTE: Anaconda recommends you accept the default install location. Do not choose the path as `/usr` for the Anaconda/Miniconda installation.# 注意:Anaconda 建议您接受默认安装位置。不要为 Anaconda/Miniconda 安装选择 `/usr` 路径。-----# 8. Anaconda recommends you enter “yes” to initialize Anaconda Distribution by running `conda init`.# 8. Anaconda 建议您输入“yes”以通过运行 `conda init` 来初始化 Anaconda Distribution。# 9. The installer finishes and displays, “Thank you for installing Anaconda<2/3>!”# 10. Close and re-open your terminal window for the installation to take effect, or enter the command `source ~/.bashrc` to refresh the terminal.# 10. 关闭并重新打开终端窗口以使安装生效,或输入命令 `source ~/.bashrc` 刷新终端。

好的,这样就可以算是将 Anaconda 安装完成了。别急,还有一件事:我们还需要将 ~/anaconda3/bin 环境配置到我们的环境变量文件 PATH 之中,于是

# 获取当前的路径cd ~/anaconda3/binpwd# 我的环境返回:/home/ubuntu/anaconda3/bin# 使用编辑器 nano 修改 bashrc 文件nano ~/.bashrc# 滑到最下面的位置,输入:export PATH="/home/ubuntu/anaconda3/bin:$PATH"

然后保存并退出,再刷新命令行,此时我们的 conda 就已经成功地安装到 Linux 系统当中了。

使用

打开终端,在命令行中输入:

anaconda-navigator

即可开启 Anaconda 的图形化界面,此时可以打开另一个终端进行操作。或者,也可以不使用 GUI,直接在命令行中使用 conda 命令。在 Anaconda Navigator 界面中,我们通过 GUI 管理环境和安装包,可以创建新的环境、激活/停用环境、安装/卸载包等。由于图形化界面大家都会,所以在下文我们以命令行为主:

此时,我们的系统环境是 base(root),为了防止在这里一通折腾导致我像前几次一样暴毙,我们需要创建一个新的工作环境。在命令行中,使用如下指令创建新环境:

# 创建新的工作环境conda create --name ns3-gym# 激活/切换到新的环境conda activate ns3-gym

但是别急,最好不要这样做,因为新的环境里的包会很少,你做到后面不知道少了哪个包,就会很麻烦,所以直接克隆现有的 base(root) 环境为好:

# 先切换到之前的环境conda activate base# 删除之前的虚拟环境:conda env remove --name ns3-gym# 将本已激活环境的依赖包配置信息到处到应该 YAML 文件:conda env export > environment.yml# 这将生成一个名为 environment.yml 的文件,其中包含当前环境的依赖包列表。# 然后创建一个新的环境,并从导出的 YAML 文件中导入依赖包:conda env create -f environment.yml --name ns3-gym

在等待一段时间后,我们就可以在新环境中使用与原始环境相同的依赖包和配置了。不过需要注意的是,克隆环境是一个逐字复制环境的过程,包括所有依赖包和配置信息。这可能会占用一定的时间和磁盘空间,具体取决于环境的大小和复杂度。

最后,我们切换到新的环境中:

conda activate ns3-gym

好啦,到这里我们就已经切换到工作环境啦,到时候一个不小心把它搞坏了也不怕。不过,我强烈建议像我这样的萌新,在这里为虚拟机存一个快照(

ns-3

ns3_web

官网https://www.nsnam.org/

ns-3 is a discrete-event network simulator for Internet systems, targeted primarily for research and educational use. ns-3 is free, open-source software, licensed under the GNU GPLv2 license, and maintained by a worldwide community.

官方教程https://www.nsnam.org/docs/tutorial/html/

ns-3 is a discrete-event simulator typically run from the command line. It is written directly in C++, not in a high-level modeling language; simulation events are simply C++ function calls, organized by a scheduler.

简单来说,ns-3 是一个网络协议的研究与仿真工具。

安装

先决条件

根据官方的教程,首先要检查 / 安装相关的第三方依赖软件包。下面的命令都是使用的 apt 工具管理,这些都是官方文档给出的;不过,由于我们使用了 conda 环境,所以最好能使用 conda install 命令安装;如果 conda 中没有,再使用也不迟。因为如果使用了 sudo apt install 指令,那就是在全局安装包了,与我们环境隔离的打算相去甚远。

# 个人建议还是先更新软件源列表:sudo apt update# 升级已安装的软件包sudo apt-get upgradesudo apt-get update# 检查 gitsudo apt install gitgit --version# 检查 tartar --version# 检查 python3python3 -V# 安装 cmakesudo apt install cmakecmake --version# 安装 g++sudo apt install g++g++ --version

报错·I

此时我遇到一个问题,报错信息为:

$ sudo apt install g++Reading package lists... DoneBuilding dependency tree... DoneReading state information... DoneSome packages could not be installed. This may mean that you haverequested an impossible situation or if you are using the unstabledistribution that some required packages have not yet been createdor been moved out of Incoming.The following information may help to resolve the situation:The following packages have unmet dependencies: libc6-dev : Depends: libc6 (= 2.35-0ubuntu3) but 2.35-0ubuntu3.1 is to be installedE: Unable to correct problems, you have held broken packages.

Ubuntu 无法安装 g++,这个问题困扰了我很长时间,我在 stackoverflow 上找到了这样的解决方法:这个错误提示是因为 libc6-dev 这个软件包依赖的 libc6 软件包版本不一致。具体来说,当前系统中安装的 libc6 版本是 2.35-0ubuntu3.1,而 libc6-dev 要求的版本是 2.35-0ubuntu3。所以需要手动安装更低版本的指定软件包:

sudo apt install libc6=2.35-0ubuntu3

然后就可以继续愉快地使用 Ubuntu 啦!

下载源码

mkdir ns-3cd ns-3mkdir workspacecd workspace# 下载wget https://www.nsnam.org/release/ns-allinone-3.29.tar.bz2# 解压tar xjf ns-allinone-3.29.tar.bz2cd ns-allinone-3.29/

构建

我们会使用 build.py 进行 ns-3 的构建:

# 在构建前先查看指令./build.py --help

报错·II

此时又报错:

/usr/bin/env: ‘python’: No such file or directory

在查询我的好朋友 stackoverflow 后,我了解到:

Since running the script explicitly with python3 worked OK, it sounds like you’re on a distro where by default you only have python3 and no python. As other answers suggest, you may install python-is-python3 (which basically creates a python symlink pointing to python3)

于是我按照好心人的指导,安装了 python-is-python3,命令如下:

sudo apt-get install python-is-python3

好了,现在我们又可以愉快地下一步了(救救孩子吧,我真不想再配环境了

# 编译与安装./build.py --enable-examples --enable-tests

然后就是漫长的等待。如果中途因故暂停或中断了编译进程,只需要在下次重新输入相同的命令即可。在重新开始编译时,编译器会自动跳过已编译的文件,并显示:

Consolidate compiler generated dependencies of target xxx

在这之后当然仍旧是漫长地等待。在编译完成后,会显示:

...[2616/2618] Compiling src/tap-bridge/model/tap-encode-decode.cc[2617/2618] Compiling src/tap-bridge/model/tap-creator.cc[2618/2618] Linking build/src/tap-bridge/ns3.29-tap-creator-debugWaf: Leaving directory `/home/ubuntu/ns-3/workspace/ns-allinone-3.29/ns-3.29/build'Build commands will be stored in build/compile_commands.json'build' finished successfully (6m35.643s)

⚠️记住,一定要为 Linux 分配足够的磁盘空间,否则会编译失败。

测试

同样的,使用 test.py 进行测试:

# 测试cd ns-3.29# 官方给的指令是下面这个:./test.py --no-build# 上面那个是官方最新的 ns-3.38 的指令,# 不过在 ns-3.29 的版本中,test.py 后面不支持这个参数,使用直接 test 就好./test.py

如果没有问题,继续保持耐心等待,会显示如下内容云云:

PASS: TestSuite configPASS: TestSuite attributesPASS: TestSuite object...614 of 624 tests passed (614 passed, 10 skipped, 0 failed, 0 crashed, 0 valgrind errors)List of SKIPped tests:    examples/routing/simple-routing-ping6.py    examples/tutorial/first.py    examples/wireless/mixed-wired-wireless.py    examples/wireless/wifi-ap.py    ns3-tcp-cwnd    ns3-tcp-interoperability    nsc-tcp-loss    src/bridge/examples/csma-bridge.py    src/core/examples/sample-simulator.py    src/flow-monitor/examples/wifi-olsr-flowmon.py

跳过了 10 个文件,应该也不会有问题吧……

Hello World

在万事俱备后,我们照例跑一下实例程序:

./ns3 run hello-simulator# 输出Hello Simulator

官方描述得很好,但在 ns-3.29 里不是这样的,得使用在高级版本中已经被淘汰的 waf 才行:

./waf --run hello-simulator# 输出:Waf: Entering directory `/home/ubuntu/ns-3/workspace/ns-allinone-3.29/ns-3.29/build'Waf: Leaving directory `/home/ubuntu/ns-3/workspace/ns-allinone-3.29/ns-3.29/build'Build commands will be stored in build/compile_commands.json'build' finished successfully (7.094s)Hello Simulator

就此,我们的安装步骤就完全结束了。很喜欢 ns-3 官网的一句话:

Congratulations! You are now an ns-3 user!


ns3-gym

ns3_gym_web

GitHub 处https://github.com/openai/gym/

OpenAI Gym is a toolkit for reinforcement learning (RL) widely used in research. The network simulator ns–3 is the de-facto standard for academic and industry studies in the areas of networking protocols and communication technologies. ns3-gym is a framework that integrates both OpenAI Gym and ns-3 in order to encourage usage of RL in networking research.

简单来说,这是一个强化学习工具包,也是我研究路由协议的必备工具,它的框架结构如下图:

Architecture-of-ns3-gym-framework

安装

根据官方的安装教程:

# 首先 cd 到自己的安装环境中,在本机上的环境是:cd ns-3/workspace/ns-allinone-3.29/ns-3.29-----# 1. Install all required dependencies required by ns-3.# 1. 安装 ns-3 所需的所有依赖项。# Check ns-3 requirements# 检查 ns-3 要求# minimal requirements for C++:apt-get install gcc g++ python# 注:记得加上sudo 以 root,下同。# 注:另外,python 包现在应该是 python3 了。-----# 2. Install ZMQ and Protocol Buffers libs:# 2. 安装 ZMQ 和 Protocol Buffers 库:# sudo apt-get update 若已执行,则此处可不再执行apt-get install libzmq5 libzmq3-devapt-get install libprotobuf-devapt-get install protobuf-compiler-----# 3. Clone ns3-gym repository in to contrib directory and change the branch:# 3. 将 ns3-gym 存储库克隆到 contrib 目录并更改分支:cd ./contribgit clone https://github.com/tkn-tub/ns3-gym.git ./opengymcd opengym/git checkout app# It is important to use the `opengym` as the name of the ns3-gym app directory.  # 使用 `opengym` 作为 ns3-gym 应用程序目录的名称很重要。-----# 4. Configure and build ns-3 project (if you are going to use Python virtual environment,#    please execute these commands inside it):# 4. 配置并构建 ns-3 项目(如果你打算使用 Python 虚拟环境,请在其中执行这些命令):# 注:此时应该先回到 ./ns-3.29 目录# cd ../.../waf configure --enable-examples./waf build# Note: Opengym Protocol Buffer messages (C++ and Python) are build during configure.  # 注意:Opengym 协议缓冲区消息(C++ 和 Python)是在配置期间构建的。

然后再次开始编译,输出:

...[2339/2340] Compiling src/tap-bridge/model/tap-creator.cc[2340/2340] Linking build/src/tap-bridge/ns3.29-tap-creator-debugWaf: Leaving directory `/home/ubuntu/ns-3/workspace/ns-allinone-3.29/ns-3.29/build'Build commands will be stored in build/compile_commands.json'build' finished successfully (5m3.762s)Modules built:antenna                   aodv                      applications              bridge                    buildings                 config-store              core                      csma                      csma-layout               dsdv                      dsr                       energy                    fd-net-device             flow-monitor              internet                  internet-apps             lr-wpan                   lte                       mesh                      mobility                  mpi                       netanim (no Python)       network                   nix-vector-routing        olsr                      opengym (no Python)       point-to-point            point-to-point-layout     propagation               sixlowpan                 spectrum                  stats                     tap-bridge                test (no Python)          topology-read             traffic-control           uan                       virtual-net-device        wave                      wifi                      wimax                     Modules not built (see ns-3 tutorial for explanation):brite                     click                     openflow                  visualizer                

报错·III

没有问题,我们继续进行后面的步骤:

# 注:在下一步之前,请事先安装 pip3,# 如果你像我一样没有安装 pip3,则需要先执行安装命令sudo apt install python3-pip

这里又遇到一个包版本错误:

The following information may help to resolve the situation:The following packages have unmet dependencies: python3-distutils : Depends: python3-lib2to3 (= 3.10.4-0ubuntu1) but 3.10.6-1~22.04 is to be installedE: Unable to correct problems, you have held broken packages.

没关系,参照上文的解决方式,我们安装对应的包即可:

sudo apt install python3-lib2to3=3.10.4-0ubuntu1

在安装好 pip3 后,我们继续进行第 5 步骤:

# 5. Install ns3gym located in model/ns3gym (Python3 required)  # 5. 安装位于 model/ns3gym 的 ns3gym(需要 Python3)cd ./contrib/opengym/pip3 install --user ./model/ns3gym

看命令行的反馈,好像还帮我们初始化好了,不过还是有一个路径警告:

...Installing collected packages: gym-notices, pyzmq, numpy, cloudpickle, gym, ns3gym  WARNING: The scripts f2py, f2py3 and f2py3.10 are installed in '/home/ubuntu/.local/bin' which is not on PATH.  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.Successfully installed cloudpickle-2.2.1 gym-0.26.2 gym-notices-0.0.8 ns3gym-0.1.0 numpy-1.24.3 pyzmq-25.0.2

这个警告提示 f2py 等脚本被安装在 /home/ubuntu/.local/bin 目录下,但该目录不在系统的环境变量 PATH 中。因此,如果想要在终端中运行这些脚本,则需要手动添加该目录到 PATH 中,或者将这些脚本复制到在 PATH 中的 /usr/local/bin 目录中。

针对后者,输入以下命令即可复制到目录中:

sudo cp /home/ubuntu/.local/bin/f2py /usr/local/binsudo cp /home/ubuntu/.local/bin/f2py3 /usr/local/binsudo cp /home/ubuntu/.local/bin/f2py3.10 /usr/local/bin

后面的安装步骤就比较简单了:

# 6. (Optional) Install all libraries required by your agent (like tensorflow, keras, etc.).  # 6. (可选)安装代理所需的所有库(如 tensorflow、keras 等)。-----# 7. Run example:cd ./contrib/opengym/examples/opengym/ ./simple_test.py

测试结果输出:

Got new port for ns3gm interface:  6927Observation space:  Box(0, 10, (5,), uint64) uint64Action space:  Discrete(5) int64Step:  0---obs:  [4, 9, 5, 3, 9]---action:  1Step:  1---obs, reward, done, info:  [7, 4, 0, 3, 8] 2.0 False testInfo|123---action:  4Step:  2---obs, reward, done, info:  [6, 9, 9, 5, 6] 3.0 False testInfo|123---action:  2Step:  3---obs, reward, done, info:  [5, 8, 6, 9, 3] 4.0 False testInfo|123---action:  3Step:  4---obs, reward, done, info:  [8, 4, 6, 10, 5] 5.0 False testInfo|123---action:  0Step:  5---obs, reward, done, info:  [10, 6, 8, 1, 1] 6.0 False testInfo|123---action:  0Step:  6---obs, reward, done, info:  [10, 3, 10, 4, 7] 7.0 False testInfo|123---action:  1Step:  7---obs, reward, done, info:  [4, 8, 4, 8, 9] 8.0 False testInfo|123---action:  0Step:  8---obs, reward, done, info:  [10, 10, 5, 0, 4] 9.0 False testInfo|123---action:  2Step:  9---obs, reward, done, info:  [2, 2, 0, 9, 1] 10.0 False testInfo|123---action:  4Step:  10---obs, reward, done, info:  [5, 5, 4, 9, 1] 11.0 True testInfo|123Done

没有问题,那么下一步呢?

# 8. (Optional) Start ns-3 simulation script and Gym agent separately #    in two terminals (useful for debugging):# 8. (可选)在两个终端分别启动ns-3模拟脚本和Gym agent(对调试有用):# Terminal 1# 我需要:cd ns-3/workspace/ns-allinone-3.29/ns-3.29./waf --run "opengym"# Terminal 2cd ./contrib/opengym/examples/opengym/ ./test.py --start=0

运行一点问题也没有!恭喜,现在重要的环境配置均已结束,下面就可以真正开始做我的仿真了。


其他遇到的问题

作为一个 Linux 萌新,我在这个过程中,遇到了许多的问题。

安装方式出现问题

按照官方的教程,通过 Git 方式下载 ns-3:

$ mkdir ns-3$ cd ns-3$ mkdir workspace$ cd workspace$ git clone https://gitlab.com/nsnam/ns-3-allinone.git$ cd ns-3-allinone$ python3 download.py# 然后会下载大概 200M 左右的文件# 包括 ns-3,NetAnim 和 bake

在通过 Git 下载完 ns-3 后,发现官方并没有针对这种情况给出构建方式,称:

Note: This build step is only available from a source archive release described above; not from downloading via git or bake.

试图直接运行构建文件会报错:

$ ./build.py --enable-examples --enable-tests# Build NetAnimEntering directory `netanim' =>  qmake -vCould not find qmake in the default path =>  qmake-qt5 -vCould not find qmake-qt5 in the default path =>  qmake-qt4 -vCould not find qmake-qt4 in the default path =>  qmake NetAnim.proError building NetAnim. Ensure the path to qmake is correct.Could not find qmake or qmake-qt5 in the default PATH.Use ./build.py --qmake-path <Path-to-qmake>, if qmake is installed in a non-standard locationNote: Some systems use qmake-qt5 instead of qmakeSkipping NetAnim ....Leaving directory `netanim'# Building examples (by user request)# Building tests (by user request)# Build NS-3Entering directory `/home/clover/ns-3/workspace/ns-3-allinone/./ns-3-dev' =>  /usr/bin/python3 ns3 configure --enable-examples --enable-testsTraceback (most recent call last):  File "/home/clover/ns-3/workspace/ns-3-allinone/ns-3-dev/ns3", line 1615, in <module>    main()  File "/home/clover/ns-3/workspace/ns-3-allinone/ns-3-dev/ns3", line 1508, in main    current_cmake_cache_folder, current_cmake_generator = search_cmake_cache(build_profile)  File "/home/clover/ns-3/workspace/ns-3-allinone/ns-3-dev/ns3", line 561, in search_cmake_cache    raise Exception("No generator available.")Exception: No generator available.Traceback (most recent call last):  File "/home/clover/ns-3/workspace/ns-3-allinone/./build.py", line 155, in <module>    sys.exit(main(sys.argv))  File "/home/clover/ns-3/workspace/ns-3-allinone/./build.py", line 146, in main    build_ns3(config, build_examples, build_tests, args, build_options)  File "/home/clover/ns-3/workspace/ns-3-allinone/./build.py", line 65, in build_ns3    run_command(cmd) # ns3 configure ...  File "/home/clover/ns-3/workspace/ns-3-allinone/util.py", line 25, in run_command    raise CommandError("Command %r exited with code %i" % (argv, retval))util.CommandError: Command ['/usr/bin/python3', 'ns3', 'configure', '--enable-examples', '--enable-tests'] exited with code 1

介于我十分小白,大概能理解到这样直接的方式不容易,可我又不愿意使用 CMake,于是就回档重新开始了。

虚拟机注意事项

在创建 VMWare 虚拟机时,因为常听说 Linux 非常节省资源,所以就只分配了 20G 的磁盘空间。结果编译到一半中断了,系统提示我磁盘空间不足,这时我才知道才刚构建 50% 就已经快要把磁盘空间用完了……

另外,一定要为虚拟机分配足够的 CPU 核心,不要像我傻乎乎地只分配了两个小核,然后傻乎乎地等了半天……

所以说,Linux 节约资源根本就是误解,主要是取决于我们要拿它做什么。

另外,相比于分配 16 个处理器、每个处理器一个核心,为 Ubuntu 分配 8 个处理器、每个处理器两个核心更好。根据 Ubuntu 官方的表述,建议减少处理器的数量,因为操作系统或应用程序对多个处理器的利用可能不够高效。

版本注意事项

从一开始,我的师兄就推荐我用 ns-3.29 版本。不过我年少轻狂,看到官方更推荐新版本,并且官网也只有新版本的安装教程,所以我就被忽悠着安装了 ns-3.38,这让我后来吃足了苦头。

由于我需要安装 ns3-gym,而这个工具一开始就是基于 ns-3.29 构建的。虽然官方提供了高级版本的安装方式,但我这里总是不明不白地报错。比如:

我的 ns3 项目文件夹下没有 waf 文件,这令我有些困惑。在网上查询资料后,发现 ns3 在 3.36 版本就取消了 waf.py 编译器,使用了 ns3.py 替代。而这一步的编译,用的是 CMake。

即使我不断地将错误一一解决,但最终碰到了一个我无法解决、无法查到的问题,我放弃了。

真是血泪教训啊。

Ubuntu 系统问题

linux_error

现在我算是理解为什么基本没人将 Linux 作为日常使用的系统了,这破玩意儿三天两头出问题,一出问题就要重装,而且每次出的问题还不一样!我这一周已经重装了三次系统了!我受不了了,天知道我用 sudo 的时候干掉了什么东西……

有了快照后,我们遇到问题就可以回滚,而不是重装系统了。

后记

现在看来,好庆幸当时一边做一边写了笔记:有时环境报错,我需要检查之前的配置;有时某几步需要重新做,我也不用再像第一次一样翻那么多的标签页,就简简单单地回看笔记就好。并且笔记中也记下了当时遇到了问题,使我也能够帮助到有需要的同学,真是太棒了!

其他参考资料:

  • 首先感谢各官方网站上详尽的文档。
  • Anaconda安装【Linux系统】小L-Daily,Bilibili。
  • ns-3 网络模拟中文入门视频教程系列开源文摘,Bilibili。
  • ns-3 快速上手Pinvon’s Blog
  • 感谢 stackoverflow 上的世界友人们给予我的大力支持(
  • 感谢我实验室的好兄弟 Monkey L 和 Boss G 给我的许多帮助
  • 最后,感谢 OpenAI 公司开发的 ChatGPT 为我的 Linux 实践释惑
    我真是太感动了,在最后我跟 ChatGPT 说:「好的,多谢!」,它回答我说:「不客气!如果你还有其他问题,随时都可以问我。祝你配置和构建顺利,顺利使用 ns-3 和 openai-gym!」
]]>
+ + + 又学习了新的东西 + + + + + + + + + + + + + + + + + + + + +
+ +
diff --git a/categories/index.html b/categories/index.html new file mode 100644 index 000000000..c02245855 --- /dev/null +++ b/categories/index.html @@ -0,0 +1,70 @@ +分类 | 叶子的花园 + + + + + + + + + + +
\ No newline at end of file diff --git "a/categories/\344\270\215\347\237\245\351\201\223\350\257\245\346\200\216\344\271\210\345\210\206\347\261\273\345\260\261\346\224\276\350\277\231\351\207\214\345\245\275\344\272\206/index.html" "b/categories/\344\270\215\347\237\245\351\201\223\350\257\245\346\200\216\344\271\210\345\210\206\347\261\273\345\260\261\346\224\276\350\277\231\351\207\214\345\245\275\344\272\206/index.html" new file mode 100644 index 000000000..a3c858952 --- /dev/null +++ "b/categories/\344\270\215\347\237\245\351\201\223\350\257\245\346\200\216\344\271\210\345\210\206\347\261\273\345\260\261\346\224\276\350\277\231\351\207\214\345\245\275\344\272\206/index.html" @@ -0,0 +1,68 @@ +分类 - 不知道该怎么分类就放这里好了 | 叶子的花园 + + + + + + + + +

不知道该怎么分类就放这里好了

2020

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git "a/categories/\345\217\266\345\255\220\344\270\216\350\200\203\347\240\224/index.html" "b/categories/\345\217\266\345\255\220\344\270\216\350\200\203\347\240\224/index.html" new file mode 100644 index 000000000..46f863cc2 --- /dev/null +++ "b/categories/\345\217\266\345\255\220\344\270\216\350\200\203\347\240\224/index.html" @@ -0,0 +1,68 @@ +分类 - 叶子与考研 | 叶子的花园 + + + + + + + + +

叶子与考研

2022

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git "a/categories/\345\217\266\345\255\220\347\232\204\345\221\250\350\256\260/index.html" "b/categories/\345\217\266\345\255\220\347\232\204\345\221\250\350\256\260/index.html" new file mode 100644 index 000000000..f19842aa4 --- /dev/null +++ "b/categories/\345\217\266\345\255\220\347\232\204\345\221\250\350\256\260/index.html" @@ -0,0 +1,68 @@ +分类 - 叶子的周记 | 叶子的花园 + + + + + + + + +
\ No newline at end of file diff --git "a/categories/\345\217\266\345\255\220\347\232\204\345\260\217\347\237\245\350\257\206/index.html" "b/categories/\345\217\266\345\255\220\347\232\204\345\260\217\347\237\245\350\257\206/index.html" new file mode 100644 index 000000000..79b8f3864 --- /dev/null +++ "b/categories/\345\217\266\345\255\220\347\232\204\345\260\217\347\237\245\350\257\206/index.html" @@ -0,0 +1,68 @@ +分类 - 叶子的小知识 | 叶子的花园 + + + + + + + + +
\ No newline at end of file diff --git "a/categories/\345\217\266\345\255\220\347\232\204\345\267\245\344\275\234\346\226\207\346\241\243/index.html" "b/categories/\345\217\266\345\255\220\347\232\204\345\267\245\344\275\234\346\226\207\346\241\243/index.html" new file mode 100644 index 000000000..996f41d91 --- /dev/null +++ "b/categories/\345\217\266\345\255\220\347\232\204\345\267\245\344\275\234\346\226\207\346\241\243/index.html" @@ -0,0 +1,68 @@ +分类 - 叶子的工作文档 | 叶子的花园 + + + + + + + + +

叶子的工作文档

2024

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git "a/categories/\345\217\266\345\255\220\347\232\204\345\271\264\347\273\210\346\200\273\347\273\223/index.html" "b/categories/\345\217\266\345\255\220\347\232\204\345\271\264\347\273\210\346\200\273\347\273\223/index.html" new file mode 100644 index 000000000..9f67626a4 --- /dev/null +++ "b/categories/\345\217\266\345\255\220\347\232\204\345\271\264\347\273\210\346\200\273\347\273\223/index.html" @@ -0,0 +1,68 @@ +分类 - 叶子的年终总结 | 叶子的花园 + + + + + + + + +

叶子的年终总结

2023

2022

2021

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git "a/categories/\345\217\266\345\255\220\347\232\204\346\221\230\345\275\225/index.html" "b/categories/\345\217\266\345\255\220\347\232\204\346\221\230\345\275\225/index.html" new file mode 100644 index 000000000..dff0ea8a3 --- /dev/null +++ "b/categories/\345\217\266\345\255\220\347\232\204\346\221\230\345\275\225/index.html" @@ -0,0 +1,68 @@ +分类 - 叶子的摘录 | 叶子的花园 + + + + + + + + +

叶子的摘录

2024

2022

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git "a/categories/\345\217\266\345\255\220\347\232\204\347\242\216\347\242\216\345\277\265/index.html" "b/categories/\345\217\266\345\255\220\347\232\204\347\242\216\347\242\216\345\277\265/index.html" new file mode 100644 index 000000000..d492ed771 --- /dev/null +++ "b/categories/\345\217\266\345\255\220\347\232\204\347\242\216\347\242\216\345\277\265/index.html" @@ -0,0 +1,68 @@ +分类 - 叶子的碎碎念 | 叶子的花园 + + + + + + + + +
\ No newline at end of file diff --git "a/categories/\345\217\266\345\255\220\347\232\204\347\277\273\350\257\221/index.html" "b/categories/\345\217\266\345\255\220\347\232\204\347\277\273\350\257\221/index.html" new file mode 100644 index 000000000..8cb3eb334 --- /dev/null +++ "b/categories/\345\217\266\345\255\220\347\232\204\347\277\273\350\257\221/index.html" @@ -0,0 +1,68 @@ +分类 - 叶子的翻译 | 叶子的花园 + + + + + + + + +

叶子的翻译

2022

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git "a/categories/\345\217\266\345\255\220\347\232\204\350\257\273\347\211\251\345\222\214\345\275\261\350\247\206/index.html" "b/categories/\345\217\266\345\255\220\347\232\204\350\257\273\347\211\251\345\222\214\345\275\261\350\247\206/index.html" new file mode 100644 index 000000000..3eb6d3356 --- /dev/null +++ "b/categories/\345\217\266\345\255\220\347\232\204\350\257\273\347\211\251\345\222\214\345\275\261\350\247\206/index.html" @@ -0,0 +1,68 @@ +分类 - 叶子的读物和影视 | 叶子的花园 + + + + + + + + +

叶子的读物和影视

2024

2023

没有更多的黑历史了_(:з」∠)_
\ No newline at end of file diff --git a/css/README.html b/css/README.html new file mode 100644 index 000000000..28b00d5c2 --- /dev/null +++ b/css/README.html @@ -0,0 +1,4 @@ +

styl 命名规则

不会被包含至最终生成的 css 中的文件,如变量、辅助函数,使用下划线开头命名。

+ diff --git a/css/hexo-theme-yun.css b/css/hexo-theme-yun.css new file mode 100644 index 000000000..9cdf1f759 --- /dev/null +++ b/css/hexo-theme-yun.css @@ -0,0 +1,2220 @@ +html:not(.dark) { + --prism-foreground: #393a34; + --prism-background: #f8f8f8; + --prism-comment: #758575; + --prism-namespace: #444; + --prism-string: #bc8671; + --prism-punctuation: #80817d; + --prism-literal: #36acaa; + --prism-keyword: #248459; + --prism-function: #4d9375; + --prism-deleted: #9a050f; + --prism-class: #2b91af; + --prism-builtin: #800000; + --prism-property: #ce9178; + --prism-regex: #ad502b; +} +html.dark { + --prism-foreground: #a6accd; + --prism-background: #242424; + --prism-namespace: #aaa; + --prism-comment: #758575; + --prism-namespace: #444; + --prism-string: #c3e88d; + --prism-punctuation: #a6accd; + --prism-literal: #36acaa; + --prism-keyword: #89ddff; + --prism-function: #82aaff; + --prism-deleted: #9a050f; + --prism-class: #4ec9b0; + --prism-builtin: #d16969; + --prism-property: #c792ea; + --prism-regex: #ad502b; + --prism-selector: #c3e88d; +} +:root { + --hty-primary-color: #0078e7; + --hty-success-color: #21ba45; + --hty-warning-color: #f2711c; + --hty-danger-color: #db2828; + --hty-info-color: #42b8dd; + --hty-link-color: #0078e7; + --hty-gray-color: #999; + --hty-yellow-color: #ff8718; + --blockquote-border-left-color: var(--smc-border-color); +} +.primary { + color: #005eb4; + --blockquote-border-left-color: var(--hty-primary-color); + --blockquote-bg-color: rgba(0,120,231,0.1); +} +.success { + color: #198f35; + --blockquote-border-left-color: var(--hty-success-color); + --blockquote-bg-color: rgba(33,186,69,0.1); +} +.warning { + color: #cf590c; + --blockquote-border-left-color: var(--hty-warning-color); + --blockquote-bg-color: rgba(242,113,28,0.1); +} +.danger { + color: #b21e1e; + --blockquote-border-left-color: var(--hty-danger-color); + --blockquote-bg-color: rgba(219,40,40,0.1); +} +.info { + color: #24a1c8; + --blockquote-border-left-color: var(--hty-info-color); + --blockquote-bg-color: rgba(66,184,221,0.1); +} +.link { + color: #005eb4; + --blockquote-border-left-color: var(--hty-link-color); + --blockquote-bg-color: rgba(0,120,231,0.1); +} +.gray { + color: #808080; + --blockquote-border-left-color: var(--hty-gray-color); + --blockquote-bg-color: rgba(153,153,153,0.1); +} +.yellow { + color: #e46e00; + --blockquote-border-left-color: var(--hty-yellow-color); + --blockquote-bg-color: rgba(255,135,24,0.1); +} +html:not(.dark) { + --prism-foreground: #393a34; + --prism-background: #f8f8f8; + --prism-comment: #758575; + --prism-namespace: #444; + --prism-string: #bc8671; + --prism-punctuation: #80817d; + --prism-literal: #36acaa; + --prism-keyword: #248459; + --prism-function: #4d9375; + --prism-deleted: #9a050f; + --prism-class: #2b91af; + --prism-builtin: #800000; + --prism-property: #ce9178; + --prism-regex: #ad502b; +} +html.dark { + --prism-foreground: #a6accd; + --prism-background: #242424; + --prism-namespace: #aaa; + --prism-comment: #758575; + --prism-namespace: #444; + --prism-string: #c3e88d; + --prism-punctuation: #a6accd; + --prism-literal: #36acaa; + --prism-keyword: #89ddff; + --prism-function: #82aaff; + --prism-deleted: #9a050f; + --prism-class: #4ec9b0; + --prism-builtin: #d16969; + --prism-property: #c792ea; + --prism-regex: #ad502b; + --prism-selector: #c3e88d; +} +:root { + --hty-mode: 'light'; + --hty-bg-color: #f5f5f5; + --hty-text-color: #333; + --hty-secondary-text-color: #555; + --post-block-bg-color: #fff; + --smc-link-color: #0078e7; + --yun-bg-image: url("/images/background.jpg"); + --banner-line-color: #000; + --banner-char-color: #000; +} +html.dark { + --hty-mode: 'dark'; + --hty-bg-color: #303030; + --hty-text-color: #f2f2f2; + --hty-secondary-text-color: #eee; + --post-block-bg-color: #1b1f2e; + --smc-link-color: #3ca1ff; + --yun-bg-image: url("/images/galaxy.jpg"); + --banner-line-color: #fff; + --banner-char-color: #fff; + --banner-char-bg-color: rgba(0,0,0,0.5); + --banner-char-hover-color: #000; + --post-card-bg-color: rgba(27,31,46,0.8); + --post-card-shadow: 0 1px 8px rgba(27,31,46,0.1); + --sidebar-bg-color: rgba(27,31,46,0.95); + --sidebar-bg-image: url(""); + --page-btn-bg-color: rgba(0,0,0,0.5); + --page-btn-hover-bg-color: rgba(199,228,255,0.9); + --page-btn-active-bg-color: #0078e7; +} +.disable-hover, +.disable-hover * { + pointer-events: none !important; +} +@-moz-keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@-webkit-keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@-o-keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +::-webkit-input-placeholder { + color: #fff; +} +.dark .aplayer { + color: #000; +} +body { + font-family: 'PingFang SC', 'Microsoft YaHei', Roboto, Arial, sans-serif; + font-weight: 400; + margin: 0; + padding: 0; + line-height: 2; +} +::selection { + color: #fff; + background: #8e71c1; +} +a { + color: var(--smc-link-color); + text-decoration: none; + transition: color 0.1s; +} +a:hover, +a:focus { + color: #db2828; +} +a:active { + color: #2094ff; +} +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: inherit; +} +h1 { + font-size: 2.5rem; + font-weight: 400; +} +h2 { + font-size: 2.2rem; + font-weight: 400; +} +h3 { + font-size: 1.9rem; + font-weight: 400; +} +h4 { + font-size: 1.6rem; + font-weight: 400; +} +h5 { + font-size: 1.3rem; + font-weight: 400; +} +h6 { + font-size: 1rem false; +} +button { + outline: none; +} +p { + font-size: inherit; + font-weight: inherit; +} +p:first-child { + margin-top: 0; +} +hr { + opacity: 0.2; + margin: 1rem; +} +details { + border: 1px solid var(--smc-secondary); + margin: 1rem 0; +} +details[open] { + padding: 1rem 1rem 0 1rem; +} +summary { + font-weight: bold; + padding: 0.8rem 0.8rem 0.8rem 1rem; + background-color: rgba(0,120,231,0.1); +} +details[open] summary { + border-bottom: 1px solid var(--smc-secondary); + margin: -1rem -1rem 1rem -1rem; +} +html { + scroll-behavior: smooth; +} +body { + color: var(--hty-text-color); + overflow-y: scroll; + background-color: var(--hty-bg-color, #f5f5f5); +} +body::before { + content: ''; + position: fixed; + width: 100%; + height: 100%; + z-index: -1; + background-image: var(--yun-bg-image); + background-size: cover; + background-position: center; + background-repeat: no-repeat; + animation-name: bgFadeIn; + animation-duration: 2s; + opacity: 0.8; + filter: blur(3px); +} +@-moz-keyframes bgFadeIn { + from { + opacity: 0; + } + to { + opacity: 0.8; + } +} +@-webkit-keyframes bgFadeIn { + from { + opacity: 0; + } + to { + opacity: 0.8; + } +} +@-o-keyframes bgFadeIn { + from { + opacity: 0; + } + to { + opacity: 0.8; + } +} +@keyframes bgFadeIn { + from { + opacity: 0; + } + to { + opacity: 0.8; + } +} +body { + cursor: url("https://cdn.yunyoujun.cn/css/md-cursors/pointer.cur"), auto; +} +a { + cursor: url("https://cdn.yunyoujun.cn/css/md-cursors/link.cur"), auto; +} +a:hover { + cursor: url("https://cdn.yunyoujun.cn/css/md-cursors/link.cur"), auto; +} +.hty-icon-button { + cursor: url("https://cdn.yunyoujun.cn/css/md-cursors/link.cur"), pointer; +} +input { + cursor: url("https://cdn.yunyoujun.cn/css/md-cursors/text.cur"), auto; +} +:root { + --banner-char-bg-color: rgba(255,255,255,0.5); + --banner-char-hover-color: #fff; +} +#banner { + position: relative; + display: flex; + flex-direction: column; + align-items: center; + height: 100vh; +} +#banner .char { + font-family: 'Songti SC', 'Noto Serif SC', STZhongsong, STKaiti, KaiTi, Roboto, serif; + font-size: var(--banner-char-size, 1rem); + font-weight: 900; + background-color: var(--banner-char-bg-color); + line-height: 1; + transition-property: all; + transition-duration: 0.3s; + transition-delay: 0s; +} +#banner .char:hover { + color: var(--banner-char-hover-color); + background-color: var(--banner-char-color); +} +#banner .char-left, +#banner .char-right { + display: flex; + color: var(--banner-char-color); + opacity: 0; +} +#banner .char-left { + border-left: 1px solid var(--banner-line-color); + border-right: 0px solid rgba(0,120,231,0.1); + border-right-width: 0px; + animation-duration: 0.4s; + animation-delay: 0.4s; + animation-fill-mode: forwards; + animation-timing-function: ease-out; +} +#banner .char-right { + border-left: 0px solid rgba(0,120,231,0.1); + border-right: 1px solid var(--banner-line-color); + border-left-width: 0px; + animation-duration: 0.4s; + animation-delay: 0.4s; + animation-fill-mode: forwards; + animation-timing-function: ease-out; +} +.banner-char-container { + display: flex; + flex-direction: column; + align-items: center; +} +.vertical-line-top, +.vertical-line-bottom { + display: flex; + background-color: var(--banner-line-color); + width: 1px; + height: 0; + animation-duration: 0.4s; + animation-fill-mode: forwards; + animation-timing-function: ease-in; +} +.vertical-line-bottom { + position: absolute; + bottom: 0; +} +.cloud { + display: flex; + width: 100%; + position: absolute; + bottom: 0; + left: 0; + right: 0; + z-index: 8; + box-sizing: border-box; + mix-blend-mode: overlay; +} +.cloud .waves { + display: flex; + position: relative; + width: 100%; + height: 100px; +} +@media (max-width: 768px) { + .cloud .waves { + height: 40px; + } +} +.cloud .parallax > use { + animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite; +} +.cloud .parallax > use:nth-child(1) { + animation-delay: -2s; + animation-duration: 7s; +} +.cloud .parallax > use:nth-child(2) { + animation-delay: -3s; + animation-duration: 10s; +} +.cloud .parallax > use:nth-child(3) { + animation-delay: -4s; + animation-duration: 13s; +} +.cloud .parallax > use:nth-child(4) { + animation-delay: -5s; + animation-duration: 20s; +} +@-moz-keyframes move-forever { + 0% { + transform: translate3d(-90px, 0, 0); + } + 100% { + transform: translate3d(85px, 0, 0); + } +} +@-webkit-keyframes move-forever { + 0% { + transform: translate3d(-90px, 0, 0); + } + 100% { + transform: translate3d(85px, 0, 0); + } +} +@-o-keyframes move-forever { + 0% { + transform: translate3d(-90px, 0, 0); + } + 100% { + transform: translate3d(85px, 0, 0); + } +} +@keyframes move-forever { + 0% { + transform: translate3d(-90px, 0, 0); + } + 100% { + transform: translate3d(85px, 0, 0); + } +} +#goDown { + display: inline-flex; + position: absolute; + bottom: 1rem; + z-index: 9; + animation: float 2s ease-in-out infinite; +} +#goDown .icon { + color: #0078e7; + width: 3rem; + height: 3rem; +} +@-moz-keyframes float { + 0% { + opacity: 1; + transform: translateY(0); + } + 50% { + opacity: 0.8; + transform: translateY(-0.8rem); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +@-webkit-keyframes float { + 0% { + opacity: 1; + transform: translateY(0); + } + 50% { + opacity: 0.8; + transform: translateY(-0.8rem); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +@-o-keyframes float { + 0% { + opacity: 1; + transform: translateY(0); + } + 50% { + opacity: 0.8; + transform: translateY(-0.8rem); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +@keyframes float { + 0% { + opacity: 1; + transform: translateY(0); + } + 50% { + opacity: 0.8; + transform: translateY(-0.8rem); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +@-moz-keyframes extend-line { + from { + height: 0; + } + to { + height: var(--banner-line-height); + } +} +@-webkit-keyframes extend-line { + from { + height: 0; + } + to { + height: var(--banner-line-height); + } +} +@-o-keyframes extend-line { + from { + height: 0; + } + to { + height: var(--banner-line-height); + } +} +@keyframes extend-line { + from { + height: 0; + } + to { + height: var(--banner-line-height); + } +} +@-moz-keyframes char-move-left { + from { + opacity: 0; + border-right-width: 0; + } + to { + opacity: 1; + border-right-width: var(--banner-empty-border-size, var(--banner-char-size)); + } +} +@-webkit-keyframes char-move-left { + from { + opacity: 0; + border-right-width: 0; + } + to { + opacity: 1; + border-right-width: var(--banner-empty-border-size, var(--banner-char-size)); + } +} +@-o-keyframes char-move-left { + from { + opacity: 0; + border-right-width: 0; + } + to { + opacity: 1; + border-right-width: var(--banner-empty-border-size, var(--banner-char-size)); + } +} +@keyframes char-move-left { + from { + opacity: 0; + border-right-width: 0; + } + to { + opacity: 1; + border-right-width: var(--banner-empty-border-size, var(--banner-char-size)); + } +} +@-moz-keyframes char-move-right { + from { + opacity: 0; + border-left-width: 0; + } + to { + opacity: 1; + border-left-width: var(--banner-empty-border-size, var(--banner-char-size)); + } +} +@-webkit-keyframes char-move-right { + from { + opacity: 0; + border-left-width: 0; + } + to { + opacity: 1; + border-left-width: var(--banner-empty-border-size, var(--banner-char-size)); + } +} +@-o-keyframes char-move-right { + from { + opacity: 0; + border-left-width: 0; + } + to { + opacity: 1; + border-left-width: var(--banner-empty-border-size, var(--banner-char-size)); + } +} +@keyframes char-move-right { + from { + opacity: 0; + border-left-width: 0; + } + to { + opacity: 1; + border-left-width: var(--banner-empty-border-size, var(--banner-char-size)); + } +} +#footer { + font-size: 0.9rem; + color: var(--hty-secondary-text-color); + text-align: center; + padding-top: 1rem; + padding-bottom: 0.5rem; +} +#footer .footer-separator { + margin: 0 0.5rem; +} +#footer .footer-custom-text { + margin-top: 0.3rem; + line-height: 0; +} +#footer .footer-support { + display: flex; + justify-content: center; + align-items: center; +} +#footer .footer-support-logo { + display: inline-flex; + justify-content: center; + align-items: center; + margin: 0.2rem; +} +#animate { + animation: iconAnimate 1.33s ease-in-out infinite; +} +.with-love { + display: inline-block; + margin: 5px 5px 0 5px; + color: #0078E7; +} +.moe-text { + margin: 0 5px; +} +@-moz-keyframes iconAnimate { + 0%, 100% { + transform: scale(1); + } + 10%, 30% { + transform: scale(0.9); + } + 20%, 40%, 60%, 80% { + transform: scale(1.1); + } + 50%, 70% { + transform: scale(1.1); + } +} +@-webkit-keyframes iconAnimate { + 0%, 100% { + transform: scale(1); + } + 10%, 30% { + transform: scale(0.9); + } + 20%, 40%, 60%, 80% { + transform: scale(1.1); + } + 50%, 70% { + transform: scale(1.1); + } +} +@-o-keyframes iconAnimate { + 0%, 100% { + transform: scale(1); + } + 10%, 30% { + transform: scale(0.9); + } + 20%, 40%, 60%, 80% { + transform: scale(1.1); + } + 50%, 70% { + transform: scale(1.1); + } +} +@keyframes iconAnimate { + 0%, 100% { + transform: scale(1); + } + 10%, 30% { + transform: scale(0.9); + } + 20%, 40%, 60%, 80% { + transform: scale(1.1); + } + 50%, 70% { + transform: scale(1.1); + } +} +.link-items { + display: flex; + padding: 0 0.5rem; + text-align: center; + justify-content: center; + flex-wrap: wrap; +} +.link-item { + display: inline-flex; +} +.link-url { + display: inline-flex; + text-align: center; + justify-self: center; + line-height: 1.5; + padding: 0.5rem 1rem; + margin: 0.5rem; + width: 15rem; + transition: 0.2s; + color: var(--primary-color, #000); + border: 1px solid var(--primary-color, #808080); +} +.link-url:hover { + color: #fff; + background-color: var(--primary-color, #808080); + box-shadow: 0 2px 20px var(--primary-color, #808080); +} +@media screen and (max-width: 768px) { + .link-url { + display: flex; + } +} +.link-url .link-left { + display: inline-block; + line-height: 0; +} +.link-url .link-avatar { + width: 4rem; + height: 4rem; + border-radius: 50%; + background-color: #fff; + border: 1px solid var(--primary-color, #808080); + transition: 0.5s; +} +.link-url .link-avatar:hover { + box-shadow: 0 0 20px rgba(0,0,0,0.1); +} +.link-url .link-info { + padding-left: 0.6rem; +} +.link-url .link-blog { + font-family: 'Songti SC', 'Noto Serif SC', STZhongsong, STKaiti, KaiTi, Roboto, serif; + font-weight: 900; + margin: 0.42rem 0; +} +.link-url .link-desc { + font-size: 0.8rem; + margin-top: 0.5rem; + width: 10.5rem; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +#content { + overflow: visible; +} +#recent-posts { + row-gap: 1rem; + padding: 1rem 0; +} +#page, +#archive, +#tag, +#category { + margin: 0 1rem 1rem 1rem; + background-color: var(--post-block-bg-color); + padding: 1rem 0.5rem; +} +@media screen and (max-width: 768px) { + #page, + #archive, + #tag, + #category { + margin: 0 0 1rem 0; + } +} +.page-subtitle { + text-align: center; + color: var(--hty-secondary-text-color); + font-size: 1rem; + margin: 0.5rem; +} +.category-lists, +.tag-cloud { + text-align: center; + padding: 1rem 2rem; +} +.category-lists a, +.tag-cloud a { + display: inline-block; + margin: 0 0.4rem; + text-decoration: none; +} +.category-lists { + text-align: left; +} +.category-lists .category-list { + padding-inline-start: 0px; +} +.category-lists .category-list-item { + list-style: none; + color: var(--hty-text-color); +} +.category-lists .category-list-item:hover::before { + color: #0078e7; +} +.category-lists .category-list-item::before { + content: '📂'; +} +.category-lists .category-list-child .category-list-item::before { + content: '📁'; +} +.category-lists .category-list-link { + color: var(--hty-text-color); + border-bottom: 1px dotted #999; +} +.category-lists .category-list-count::before { + content: ' [ '; +} +.category-lists .category-list-count::after { + content: ' ] '; +} +.wordcloud { + position: relative; + display: block; + margin: 0 auto; + text-align: center; +} +.wordcloud #wordcloud-canvas, +.wordcloud #wordcloud-sidebar-canvas { + cursor: url("https://cdn.yunyoujun.cn/css/md-cursors/link.cur"), pointer; +} +.wordcloud #wordbox { + pointer-events: none; + position: absolute; + box-shadow: 0 0 100px 100px rgba(0,0,0,0.1); + border-radius: 50px; +} +.wordcloud #wordbox-sidebar { + pointer-events: none; + position: absolute; +} +:root { + --page-btn-bg-color: rgba(255,255,255,0.5); + --page-btn-hover-bg-color: rgba(0,120,231,0.7); + --page-btn-active-bg-color: rgba(32,148,255,0.9); +} +.page-number-basic, +.pagination .space, +.pagination .prev, +.pagination .next, +.pagination .page-number { + display: inline-block; + width: 2rem; + height: 2rem; + margin: 0; + background-color: var(--page-btn-bg-color); + transition: 0.2s; +} +.pagination { + text-align: center; +} +.pagination .prev, +.pagination .next, +.pagination .page-number, +.pagination .space { + color: var(--hty-text-color) !important; + text-decoration: none; + background-color: var(--page-btn-bg-color); +} +.pagination .prev:hover, +.pagination .next:hover, +.pagination .page-number:hover, +.pagination .space:hover { + font-weight: normal; + color: var(--hty-bg-color) !important; + background: var(--page-btn-hover-bg-color); +} +.pagination .prev:active, +.pagination .next:active, +.pagination .page-number:active, +.pagination .space:active { + color: var(--hty-bg-color) !important; + background: var(--page-btn-active-bg-color); +} +.pagination .prev.current, +.pagination .next.current, +.pagination .page-number.current, +.pagination .space.current { + font-weight: normal; + background: var(--page-btn-active-bg-color); + color: var(--hty-bg-color) !important; + cursor: default; +} +.post-block { + color: var(--hty-text-color); + margin: 0 1rem; + padding: 1rem; + background-color: var(--post-block-bg-color); +} +@media screen and (max-width: 768px) { + .post-block { + margin: 0; + padding-top: 2.5rem; + } +} +.post-body { + padding: 0 5rem; +} +@media screen and (max-width: 1024px) { + .post-body { + padding: 0 0.5rem; + } +} +@media screen and (max-width: 768px) { + .post-body { + padding: 0 0.5rem; + } +} +.post-meta { + font-size: 14px; + color: var(--hty-secondary-text-color); +} +.post-meta .icon { + margin-bottom: -1px; +} +.post-description { + font-weight: normal; + padding: 0.5rem; +} +.post-author { + display: flex; + justify-content: center; +} +.post-author .author-avatar { + display: inline-flex; + justify-content: center; + align-items: center; + line-height: 0; +} +.post-author .author-avatar img { + border-radius: 50%; + height: 1rem; + width: 1rem; + padding: 2px; + border: 2px solid #d3d3d3; +} +.post-author .author-name { + margin-left: 0.5rem; + font-size: 1rem; +} +.post-meta-item-icon { + display: inline-block; + color: var(--text-color, --hty-secondary-text-color); +} +.post-meta-divider { + height: 25px; + color: var(--hty-secondary-text-color); + margin: 0 0.5rem; +} +.post-eof { + margin: 50px auto; + width: 50%; + height: 1px; + background: #0078e7; + opacity: 0.1; +} +.post-copyright { + font-size: 0.9rem; + margin: 0.5rem 5rem 1rem 5rem; + padding: 0.5rem 1rem; + border-left: 4px solid #ff5252; + background-color: var(--hty-bg-color); + list-style: none; + word-break: break-all; + position: relative; + overflow: hidden; +} +@media screen and (max-width: 768px) { + .post-copyright { + margin: 0.5rem 0; + } +} +.post-copyright::after { + position: absolute; + color: #fff; + background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath fill='gray' d='M245.8 214.9l-33.2 17.3c-9.4-19.6-25.2-20-27.4-20-22.2 0-33.3 14.6-33.3 43.9 0 23.5 9.2 43.8 33.3 43.8 14.4 0 24.6-7 30.5-21.3l30.6 15.5a73.2 73.2 0 01-65.1 39c-22.6 0-74-10.3-74-77 0-58.7 43-77 72.6-77 30.8-.1 52.7 11.9 66 35.8zm143 0l-32.7 17.3c-9.5-19.8-25.7-20-27.9-20-22.1 0-33.2 14.6-33.2 43.9 0 23.5 9.2 43.8 33.2 43.8 14.5 0 24.7-7 30.5-21.3l31 15.5c-2 3.8-21.3 39-65 39-22.7 0-74-9.9-74-77 0-58.7 43-77 72.6-77C354 179 376 191 389 214.8zM247.7 8C104.7 8 0 123 0 256c0 138.4 113.6 248 247.6 248C377.5 504 496 403 496 256 496 118 389.4 8 247.6 8zm.8 450.8c-112.5 0-203.7-93-203.7-202.8 0-105.5 85.5-203.3 203.8-203.3A201.7 201.7 0 01451.3 256c0 121.7-99.7 202.9-202.9 202.9z'/%3E%3C/svg%3E"); + content: ' '; + height: 10rem; + width: 10rem; + right: -2rem; + top: -2rem; + opacity: 0.1; +} +.tag-name { + padding: 0 0.1rem; +} +.hty-button { + font-family: Roboto, sans-serif; + background-color: transparent; + margin: 0 1rem; + padding: 0 0.5rem; + border-radius: 2px; + color: #0078e7; + transition-property: all; + transition-duration: 0.3s; + transition-delay: 0s; + display: inline-flex; + align-items: center; + justify-content: center; + border: none; + min-height: 2rem; + min-width: 4rem; + outline: none; + line-height: 2; + font-size: 0.9rem; + font-weight: 500; + letter-spacing: 0.09rem; + -webkit-font-smoothing: antialiased; +} +.hty-button:hover { + background-color: rgba(0,120,231,0.05); +} +.hty-button--raised { + background-color: var(--hty-primary-color, #0078e7); + box-shadow: 0px 2px 10px -1px rgba(0,0,0,0.3); + color: #fff; +} +.hty-button--raised:focus { + color: #eee; +} +.hty-button--raised:hover { + color: #fff; + background-color: rgba(0,120,231,0.9); +} +.hty-icon-button { + display: inline-flex; + border: none; + width: 3rem; + height: 3rem; + align-items: center; + justify-content: center; + border-radius: 50%; + line-height: 1; + transition-property: all; + transition-duration: 0.3s; + transition-delay: 0s; +} +.hty-icon-button:hover { + background-color: rgba(0,120,231,0.1); +} +.hty-icon-button:active { + background-color: rgba(0,120,231,0.3); +} +.button-glow { + animation-duration: 2s; + animation-iteration-count: infinite; + animation-name: glowing; + animation-direction: alternate; +} +@-moz-keyframes glowing { + from { + box-shadow: 0 0 0 rgba(0,0,0,0); + } + to { + box-shadow: 0 0 20px rgba(0,120,231,0.3); + } +} +@-webkit-keyframes glowing { + from { + box-shadow: 0 0 0 rgba(0,0,0,0); + } + to { + box-shadow: 0 0 20px rgba(0,120,231,0.3); + } +} +@-o-keyframes glowing { + from { + box-shadow: 0 0 0 rgba(0,0,0,0); + } + to { + box-shadow: 0 0 20px rgba(0,120,231,0.3); + } +} +@keyframes glowing { + from { + box-shadow: 0 0 0 rgba(0,0,0,0); + } + to { + box-shadow: 0 0 20px rgba(0,120,231,0.3); + } +} +.hty-card { + position: relative; + display: flex; + flex-direction: column; + box-sizing: border-box; + transition-property: all; + transition-duration: 0.3s; + transition-delay: 0s; +} +.hty-card:hover { + box-shadow: 0 0 1rem rgba(0,0,0,0.1); +} +::-webkit-scrollbar { + width: 8px; + height: 8px; +} +::-webkit-scrollbar-track { + border-radius: 2px; + background-color: rgba(255,255,255,0.1); +} +::-webkit-scrollbar-thumb { + border-radius: 2px; + background-color: rgba(0,120,231,0.5); +} +::-webkit-scrollbar-thumb:window-inactive { + background-color: rgba(0,120,231,0.3); +} +::-webkit-scrollbar-thumb:hover { + background-color: rgba(0,120,231,0.7); +} +::-webkit-scrollbar-thumb:active { + background-color: rgba(0,120,231,0.9); +} +.iconfont { + font-size: 1.2rem; +} +.icon { + width: 1rem; + height: 1rem; + vertical-align: -0.15em; + fill: currentColor; + overflow: hidden; +} +.fireworks { + position: fixed; + left: 0; + top: 0; + z-index: 11; + pointer-events: none; +} +.spinner { + width: 60px; + height: 60px; + border: 1px solid #0078e7; + margin: 100px auto; + animation: rotateplane 1.2s infinite ease-in-out; +} +@-moz-keyframes rotateplane { + 0% { + transform: perspective(120px) rotateX(0deg) rotateY(0deg); + -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg); + } + 50% { + transform: perspective(120px) rotateX(-180deg) rotateY(0deg); + -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); + } + 100% { + transform: perspective(120px) rotateX(-180deg) rotateY(-180deg); + -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-180deg); + } +} +@-webkit-keyframes rotateplane { + 0% { + transform: perspective(120px) rotateX(0deg) rotateY(0deg); + -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg); + } + 50% { + transform: perspective(120px) rotateX(-180deg) rotateY(0deg); + -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); + } + 100% { + transform: perspective(120px) rotateX(-180deg) rotateY(-180deg); + -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-180deg); + } +} +@-o-keyframes rotateplane { + 0% { + transform: perspective(120px) rotateX(0deg) rotateY(0deg); + -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg); + } + 50% { + transform: perspective(120px) rotateX(-180deg) rotateY(0deg); + -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); + } + 100% { + transform: perspective(120px) rotateX(-180deg) rotateY(-180deg); + -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-180deg); + } +} +@keyframes rotateplane { + 0% { + transform: perspective(120px) rotateX(0deg) rotateY(0deg); + -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg); + } + 50% { + transform: perspective(120px) rotateX(-180deg) rotateY(0deg); + -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); + } + 100% { + transform: perspective(120px) rotateX(-180deg) rotateY(-180deg); + -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-180deg); + } +} +:root { + --post-card-bg-color: rgba(255,255,255,0.8); + --post-card-shadow: 0 0 10px rgba(255,255,255,0.1); +} +.post-card { + position: relative; + max-width: 900px; + margin: 0 auto; + transition-property: all; + transition-duration: 0.3s; + transition-delay: 0s; + background-color: var(--post-card-bg-color); + box-shadow: var(--post-card-shadow); +/* tag 容器 */ +} +.post-card:hover { + box-shadow: 0 0px 25px rgba(0,0,0,0.05); +} +.post-card-header { + padding-top: 0.5rem; +} +.post-card-excerpt, +.post-card-excerpt p { + overflow: hidden; + text-overflow: ellipsis; + text-align: left; +} +.post-card-content { + padding: 0.5rem 1rem; +} +.post-card-title { + margin: 0; +} +.post-card__actions { + display: flex; + align-items: center; + min-height: 3rem; + border-top: 1px solid rgba(0,120,231,0.05); + padding-left: 1rem; + padding-right: 1rem; + justify-content: space-between; +} +.post-card__actions .icon { + margin-bottom: -1px; +} +.post-card-tag { + display: inline-flex; + justify-content: flex-end; +} +.tag-item, +.category-item { + font-size: 0.8rem; + position: relative; + color: var(--text-color, #000); + letter-spacing: 1px; +} +.tag-item::before, +.category-item::before { + content: ''; + position: absolute; + bottom: 0; + height: 100%; + width: 0; + right: 0; + background: rgba(0,120,231,0.08); + border-radius: 4px; + transition: width 0.2s ease; +} +.tag-item:hover::before, +.category-item:hover::before { + width: 104%; + left: -2%; +} +.tag-item .icon, +.category-item .icon { + width: 0.8rem; + height: 0.8rem; + padding-left: 0.1rem; +} +.post-top-icon { + position: absolute; + top: 1rem; + right: 1rem; + color: #f2711c; +} +.post-top-icon .icon { + width: 1.5rem; + height: 1.5rem; +} +.code-container { + position: relative; +} +.code-container:hover .copy-btn { + opacity: 1; +} +.copy-btn { + position: absolute; + opacity: 0; + color: #808080; + cursor: pointer; + line-height: 1.5; + padding: 1px 4px; + transition: opacity 0.2s; + top: 2px; + right: 2px; + border-radius: 4px; +} +.copy-btn:hover { + background-color: rgba(255,255,255,0.1); +} +.post-collapse { + position: relative; + margin: 0 5rem 2rem 5rem; +} +@media screen and (max-width: 1024px) { + .post-collapse { + margin: 0 2rem 1rem 2rem; + } +} +@media screen and (max-width: 768px) { + .post-collapse { + margin: 0 1rem 0.5rem 1rem; + } +} +.post-collapse-title { + font-size: 2rem; + text-align: center; +} +.post-collapse .collection-title { + position: relative; + margin: 0; + border-bottom: 2px solid rgba(0,120,231,0.6); +} +.post-collapse .collection-title::before { + content: ''; + position: absolute; + top: 50%; + width: 2px; + height: 50%; + background: rgba(0,120,231,0.3); +} +.post-collapse .collection-title .archive-year { + font-family: 'Source Code Pro', Consolas, Monaco, SFMono-Regular, 'Ubuntu Mono', Menlo, monospace; + color: #0078e7; + margin: 0 1.5rem; +} +.post-collapse .collection-title .archive-year::before { + content: ''; + position: absolute; + left: 0; + top: 35%; + margin-left: -11px; + margin-top: -4px; + width: 1.5rem; + height: 1.5rem; + background: #0078e7; + border-radius: 50%; +} +.post-collapse .post-item { + position: relative; +} +.post-collapse .post-item::before { + content: ''; + position: absolute; + width: 2px; + height: 100%; + background: rgba(0,120,231,0.3); +} +.post-collapse .post-header { + position: relative; + border-bottom: 2px solid rgba(0,120,231,0.3); + display: flex; +} +.post-collapse .post-header::before { + content: ''; + position: absolute; + left: 0; + top: 1.6rem; + width: 0.5rem; + height: 0.5rem; + margin-left: -4px; + border-radius: 50%; + border: 1px solid #0078e7; + background-color: #fff; + z-index: 1; + transition-property: all; + transition-duration: 0.3s; + transition-delay: 0s; + transition-property: background; +} +.post-collapse .post-header:hover::before { + background: #0078e7; +} +.post-collapse .post-header .post-title { + margin-left: 0.1rem; + padding: 0; + font-size: 1rem; + display: inline-flex; + align-items: center; +} +.post-collapse .post-header .post-title .post-title-link .icon { + width: 1.1rem; + height: 1.1rem; + margin-right: 0.3rem; +} +.post-collapse .post-header .post-meta { + font-family: 'Source Code Pro', Consolas, Monaco, SFMono-Regular, 'Ubuntu Mono', Menlo, monospace; + font-size: 1rem; + margin: 1rem 0 1rem 1.2rem; + white-space: nowrap; +} +.last-word { + font-size: 1rem; + margin-top: 1rem; + margin-bottom: 0; +} +.post-header { + position: relative; + text-align: center; +} +.post-header .post-title { + margin: 0; + padding: 10px; + font-size: 1.5rem; + font-weight: 900; + font-family: 'Songti SC', 'Noto Serif SC', STZhongsong, STKaiti, KaiTi, Roboto, serif; +} +.post-header .post-title .icon { + width: 1.6rem; + height: 1.6rem; + margin-right: 0.3rem; +} +.post-header .post-title .post-title-link { + position: relative; + padding: 0.7rem 1.2rem; +} +.post-header .post-title .post-title-link .icon { + width: 1.6rem; + height: 1.6rem; + margin-right: 0.4rem; +} +.post-header .post-title .post-title-link::before, +.post-header .post-title .post-title-link::after { + content: ''; + position: absolute; + width: 10px; + height: 10px; + opacity: 0; + border: 2px solid; + transition: 0.3s; + transition-timing-function: cubic-bezier(0.17, 0.67, 0.05, 1.29); +} +.post-header .post-title .post-title-link::before { + top: 0; + left: 0; + border-width: 2px 0 0 2px; + transform: translate3d(10px, 10px, 0); +} +.post-header .post-title .post-title-link::after { + right: 0; + bottom: 0; + border-width: 0 2px 2px 0; + transform: translate3d(-10px, -10px, 0); +} +.post-header .post-title .post-title-link:hover::before, +.post-header .post-title .post-title-link:hover::after { + opacity: 1; + transform: translate3d(0, 0, 0); +} +.post-edit-link { + padding: 0 0.2rem; + color: #999; +} +.post-edit-link .icon { + width: 1.5rem; + height: 1.5rem; +} +.markdown-body { + color: var(--hty-text-color); + font-weight: 400; + font-family: 'PingFang SC', 'Microsoft YaHei', Roboto, Arial, sans-serif; + padding: 1rem 0; +} +.markdown-body code, +.markdown-body pre { + font-family: 'Source Code Pro', Consolas, Monaco, SFMono-Regular, 'Ubuntu Mono', Menlo, monospace; +} +.markdown-body blockquote { + padding: 0.6rem 1rem; + border-left: 4px solid var(--blockquote-border-left-color, --smc-border-color); + background-color: var(--blockquote-bg-color, rgba(0,120,231,0.05)); +} +.markdown-body blockquote p { + margin: 0; +} +.markdown-body video { + width: 100%; + max-height: 100vh; +} +.markdown-body iframe { + border: none; + width: 100%; +} +.post-nav { + display: flex; + justify-content: space-between; + margin: 0 1rem; +} +@media screen and (max-width: 768px) { + .post-nav { + margin: 0; + } +} +.post-nav-item { + display: inline-flex; + outline: none; + font-size: 0.9rem; + font-weight: bold; + text-transform: uppercase; + height: 3rem; + transition: 0.4s; +} +.post-nav-item:hover { + background-color: rgba(0,120,231,0.1); + box-shadow: 0 0 15px rgba(0,0,0,0.1); +} +.post-nav-prev { + padding: 0 0.6rem 0 0.1rem; +} +.post-nav-next { + padding: 0 0.1rem 0 0.6rem; +} +.post-nav-prev, +.post-nav-next { + display: flex; + height: 3rem; + align-items: center; + justify-content: center; + color: var(--smc-link-color); + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + transition-property: all; + transition-duration: 0.3s; + transition-delay: 0s; +} +@media screen and (max-width: 768px) { + .post-nav-prev, + .post-nav-next { + max-width: 10rem; + } +} +.post-nav-prev .icon, +.post-nav-next .icon { + width: 1.5rem; + height: 1.5rem; +} +.post-nav-text { + display: inline-block; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +#reward-container { + padding: 1rem 0; + margin: auto; + text-align: center; +} +#reward-button { + display: inline-flex; + justify-content: center; + align-items: center; + width: 2.5rem; + height: 2.5rem; + color: #df667f; + border-radius: 100%; +} +#reward-button .icon { + width: 1.2rem; + height: 1.2rem; +} +#reward-comment { + margin-top: 0.5rem; +} +#qr img { + width: 10rem; + height: 10rem; + display: inline-block; + margin: 1rem 1rem 0 1rem; + padding: 5px; + border: 1px solid #ccc; + border-radius: 5px; + transition-property: all; + transition-duration: 0.3s; + transition-delay: 0s; + box-shadow: 0 0 2px rgba(0,0,0,0.2); +} +#qr img:hover { + box-shadow: 0 0 15px rgba(0,0,0,0.1); +} +#qr .icon { + width: 1.5rem; + height: 1.5rem; +} +.hamburger { + padding: 0px 0px; + display: inline-block; + transition-property: opacity, filter; + transition-duration: 0.15s; + transition-timing-function: linear; + font: inherit; + color: inherit; + text-transform: none; + background-color: transparent; + border: 0; + margin: 0; + overflow: visible; +} +.hamburger:hover { + opacity: 0.7; +} +.hamburger.is-active:hover { + opacity: 0.7; +} +.hamburger.is-active .hamburger-inner, +.hamburger.is-active .hamburger-inner::before, +.hamburger.is-active .hamburger-inner::after { + background-color: #0078e7; +} +.hamburger-box { + outline: none; + width: 25px; + height: 18px; + display: inline-block; + position: relative; +} +.hamburger-inner { + display: block; + top: 50%; +} +.hamburger-inner, +.hamburger-inner::before, +.hamburger-inner::after { + width: 25px; + height: 2px; + background-color: #0078e7; + border-radius: 3px; + position: absolute; +} +.hamburger-inner::before, +.hamburger-inner::after { + content: ''; + display: block; +} +.hamburger-inner::before { + top: -8px; +} +.hamburger-inner::after { + bottom: -8px; +} +.hamburger--spin .hamburger-inner { + transition-duration: 0.22s; + transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); +} +.hamburger--spin .hamburger-inner::before { + transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; +} +.hamburger--spin .hamburger-inner::after { + transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); +} +.hamburger--spin.is-active .hamburger-inner { + transform: rotate(225deg); + transition-delay: 0.12s; + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); +} +.hamburger--spin.is-active .hamburger-inner::before { + top: 0; + opacity: 0; + transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; +} +.hamburger--spin.is-active .hamburger-inner::after { + bottom: 0; + transform: rotate(-90deg); + transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); +} +.sidebar-nav { + padding-left: 0px; + margin-top: 1rem; + margin-bottom: 0; +} +.sidebar-nav .sidebar-nav-item { + border: 1px solid #0078e7; + color: #0078e7; + margin: 0 1.25rem; +} +.sidebar-nav .sidebar-nav-item:hover { + transition-property: all; + transition-duration: 0.3s; + transition-delay: 0s; + background-color: #0078e7; + color: #fff; +} +.sidebar-nav .sidebar-nav-item .icon { + width: 1.5rem; + height: 1.5rem; +} +.sidebar-nav .sidebar-nav-active { + background-color: #0078e7; + color: #fff; + box-shadow: 0 0 10px rgba(0,120,231,0.2); +} +.post-toc { + line-height: 1.8; + padding: 1rem; + font-size: 1.1rem; + font-family: 'Songti SC', 'Noto Serif SC', STZhongsong, STKaiti, KaiTi, Roboto, serif; +} +.post-toc ol { + list-style: none; + text-align: left; + padding-left: 1rem; + margin: 0; +} +.post-toc ol .toc-link { + color: var(--smc-link-color); +} +.post-toc ol .toc-link:hover { + color: #db2828; +} +.post-toc ol .toc-number { + font-family: 'Source Code Pro', Consolas, Monaco, SFMono-Regular, 'Ubuntu Mono', Menlo, monospace; +} +.post-toc ol .toc-child { + font-size: 1rem; + overflow: hidden; + transition: max-height 0.6s ease-in; + max-height: 0; +} +.post-toc ol .toc-item.active>.toc-link { + color: #f2711c; + border-bottom: 1px solid #f2711c; +} +.post-toc ol .toc-item.active>.toc-child { + max-height: 10000px; +} +:root { + --sidebar-bg-image: url("https://cdn.jsdelivr.net/gh/YunYouJun/cdn/img/bg/stars-timing-1.jpg"); +} +#menu-btn { + display: none; + position: fixed; + left: 0.8rem; + top: 0.6rem; + line-height: 1; + z-index: 20; + cursor: pointer; +} +@media screen and (max-width: 768px) { + #menu-btn { + display: flex; + } +} +.is-home #menu-btn { + display: flex; +} +.is-home .sidebar { + left: -20rem; + transform: translateX(0); + visibility: hidden; +} +.is-home .sidebar-translate { + transition-property: all; + transition-duration: 0.3s; + transition-delay: 0s; + padding-left: 0; +} +.is-home .sidebar-open .sidebar { + transform: translateX(20rem); + visibility: visible; +} +.is-home .sidebar-open .sidebar-translate { + padding-left: 20rem; +} +@media screen and (max-width: 768px) { + .is-home .sidebar-open .sidebar-translate { + padding-left: 0; + } +} +.sidebar { + position: fixed; + overflow-y: auto; + top: 0; + bottom: 0; + left: 0; + width: 20rem; + background-image: var(--sidebar-bg-image, none); + background-color: var(--sidebar-bg-color, #fff); + background-size: contain; + background-repeat: no-repeat; + background-position: bottom 3rem center; + text-align: center; + z-index: 10; + transition-property: all; + transition-duration: 0.3s; + transition-delay: 0s; + box-shadow: 0 0 2px rgba(0,0,0,0.2); +} +.sidebar:hover { + box-shadow: 0 0 15px rgba(0,0,0,0.1); +} +@media screen and (max-width: 768px) { + .sidebar { + left: -20rem; + transform: translateX(0); + } +} +.sidebar-translate { + padding-left: 20rem; +} +@media screen and (max-width: 768px) { + .sidebar-translate { + padding-left: 0; + } +} +.sidebar .sidebar-panel { + padding: 0.5rem; + display: none; +} +.sidebar .sidebar-panel-active { + display: block; +} +.sidebar .links { + display: block; +} +.sidebar .links-item { + display: inline-flex; +} +.sidebar .links-item .icon { + width: 2rem; + height: 2rem; +} +.sidebar .links-of-author { + display: flex; + flex-wrap: wrap; + justify-content: center; +} +.sidebar .links-of-author .icon { + width: 1.5rem; + height: 1.5rem; +} +.sidebar .links-of-author-item { + line-height: 1; + font-size: 0.9rem; +} +@media screen and (max-width: 768px) { + .sidebar-open .sidebar { + transform: translateX(20rem); + visibility: visible; + } + .sidebar-open .sidebar-overlay { + background-color: rgba(0,0,0,0.3); + position: fixed; + width: 100%; + height: 100vh; + z-index: 9; + transition: 0.4s; + } +} +#site-overview-wrap { + padding-top: 2rem; +} +.site-info.fix-top { + margin-top: -1.5rem; +} +.site-author-avatar { + display: inline-block; + line-height: 0; + position: relative; +} +.site-author-avatar img { + height: 96px; + width: 96px; + max-width: 100%; + margin: 0px; + padding: 4px; + background-color: #fff; + box-shadow: 0 0 10px rgba(0,0,0,0.2); + transition: 0.4s; +} +.site-author-avatar img:hover { + box-shadow: 0 0 30px rgba(0,120,231,0.2); +} +.site-author-avatar img { + border-radius: 50%; +} +.site-author-name { + margin-top: 0; + margin-bottom: 1rem; + line-height: 1.5; +} +.site-author-status { + position: absolute; + height: 1.8rem; + width: 1.8rem; + bottom: 0; + right: 0; + line-height: 1.8rem; + border-radius: 50%; + box-shadow: 0 1px 2px rgba(0,0,0,0.2); + background-color: #fff; +} +.site-name { + color: var(--hty-text-color); + font-family: 'Songti SC', 'Noto Serif SC', STZhongsong, STKaiti, KaiTi, Roboto, serif; + font-weight: 900; +} +.site-subtitle { + color: #999; + display: block; +} +.site-description { + color: var(--hty-secondary-text-color); + font-size: 0.8rem; +} +.site-state { + display: flex; + justify-content: center; + overflow: hidden; + line-height: 1.5; + white-space: nowrap; + text-align: center; + margin-top: 1rem; +} +.site-state-item { + display: flex; + padding: 0 15px; + align-items: center; + border-left: 1px solid #999; +} +.site-state-item:first-child, +.site-state-item:last-child { + line-height: 1; + padding: 0; +} +.site-state-item:first-child { + border-left: none; + border-right: 1px solid #999; +} +.site-state-item:last-child { + border-left: 1px solid #999; +} +.site-state-item:nth-child(2) { + border: none; +} +.site-state-item-icon { + color: var(--hty-text-color); + line-height: 1; +} +.site-state-item-icon .icon { + width: 1.5rem; + height: 1.5rem; +} +.site-state-item-count { + color: var(--hty-text-color); + display: block; + text-align: center; + font-size: 1rem; +} +#back-to-top { + position: relative; + position: fixed; + right: -0.9rem; + bottom: 1.1rem; + z-index: 20; + opacity: 0; + color: #0078e7; + transition-property: all; + transition-duration: 0.3s; + transition-delay: 0s; +} +#back-to-top.show { + transform: translateX(-30px) rotate(360deg); + opacity: 1; +} +#back-to-top .icon { + width: 2.5rem; + height: 2.5rem; +} +.progress-circle { + transition: 0.3s stroke-dashoffset; + transform: rotate(-90deg); + transform-origin: 50% 50%; +} +.progress-circle-container { + position: absolute; +} +.search-popup { + backdrop-filter: blur(30px); + -webkit-backdrop-filter: blur(30px); + background-position: center; + background-size: cover; + background-repeat: no-repeat; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + text-align: center; + padding-top: 4.5rem; + margin: 0; + opacity: 0; + z-index: 30; + transition: 0.6s; + visibility: hidden; +} +.search-popup.show { + visibility: visible; + opacity: 1; +} +.search-header .close-icon { + position: fixed; + top: 0.6rem; + right: 0.8rem; +} +.search-input { + background: transparent; + color: var(--hty-text-color); + font-size: 1.5rem; + border-radius: 3rem; + padding: 1rem 1.5rem; + border: 1px solid #999; + box-sizing: border-box; + width: 90%; + max-width: 800px; + font-family: 'Songti SC', 'Noto Serif SC', STZhongsong, STKaiti, KaiTi, Roboto, serif; + font-weight: 900; + text-align: center; +} +.popup .search-icon, +.popup .close-icon { + display: inline-block; + width: 2rem; + height: 2rem; + padding: 0.5rem; +} +.popup .search-icon .icon, +.popup .close-icon .icon { + width: 2rem; + height: 2rem; +} +#search { + position: fixed; + top: 0.6rem; + right: 0.8rem; +} +#search .icon { + color: #0078e7; +} +#comment { + margin: 0 1rem; + padding: 1rem; + background-color: var(--post-block-bg-color); +} +@media screen and (max-width: 768px) { + #comment { + margin: 0; + } +} +.comment-tooltip { + font-size: 0.8rem; + color: var(--hty-text-color); + padding: 0.5rem; + border: 1px solid #f0f0f0; + margin-bottom: 1rem; +} +#github-issues { + margin: 1rem; +} +#say { + color: var(--hty-text-color); + display: block; + text-align: center; + font-family: 'Songti SC', 'Noto Serif SC', STZhongsong, STKaiti, KaiTi, Roboto, serif; + font-weight: bold; + padding: 0.5rem; + border-top: 1px solid var(--hty-secondary-text-color); + border-bottom: 1px solid var(--hty-secondary-text-color); +} +#say #say-content { + display: block; +} +#say #say-from { + display: block; +} +iframe.bilibili-video { + width: 100%; + max-width: 800px; + aspect-ratio: 16/9; +} +.heimu { + background-color: var(--hty-text-color); + transition: 0.2s; +} +.heimu:hover { + cursor: pointer; + background-color: transparent; +} +.hidden { + display: none; +} +.text-center { + text-align: center; +} +.text-uppercase { + text-transform: uppercase; +} +.flex { + display: flex; +} +.flex-col { + flex-direction: column; +} +.justfiy-center { + justify-content: center; +} +.items-center { + align-items: center; +} +.flex-center { + display: flex; + justify-content: center; + align-items: center; +} +.w-full { + width: 100%; +} +.shadow-none { + --tw-shadow: 0 0 rgba(0,0,0,0); + --tw-shadow-colored: 0 0 rgba(0,0,0,0); + box-shadow: none !important; +} +.prompt-block { + display: none; + padding: 1rem; + border: 1px solid #d3d3d3; +} diff --git a/data/sentences.json b/data/sentences.json new file mode 100644 index 000000000..7f3a3cdc0 --- /dev/null +++ b/data/sentences.json @@ -0,0 +1 @@ +[{"content":"Hello, World!","author":"Brian Kernighan","from":"The C Programming Language"},{"content":"是啊,我所爱的,即非群星,也非银河。","author":"云游君","from":"yunyoujun.cn"},{"content":"当你老了,回顾一生,就会发觉:什么时候出国读书,什么时候决定做第一份职业、何时选定了对象而恋爱、什么时候结婚,其实都是命运的巨变。只是当时站在三岔路口,眼见风云千樯,你作出选择的那一日,在日记上,相当沉闷和平凡,当时还以为是生命中普通的一天。","author":"陶杰","from":"《杀鹌鹑的少女》"},{"content":"无论如何,我警告自己,不要陷入某种潮流或派别之中,我宁愿是一个怀疑者,以自己有限的眼睛和知识去亲历某些东西。我害怕我的判断蕴含着某种偏见,而这种偏见总是以真理的面目出现。","author":"梁鸿","from":"《中国在梁庄》"},{"content":"时光就像一只口袋,一路走来,不停地往里面加东西,也不停地将里面的东西拿出来,然后某一天,你会蓦然发现,原来口袋里应该有的珍藏早就不见了,更多的是看似重要,实则无用的东西。丢弃于心不忍,存放需要空间,于是口袋变得大而无当,并且东西越多,越觉得空无一物。","author":"郭龙","from":"《逃亡》,新概念作文一等奖"},{"content":"我们于日用必需的东西以外,必须还有一点无用的游戏与享乐,生活才觉得有意思。我们看夕阳,看秋河,看花,听雨,闻香,喝不求解渴的酒,吃不求饱的点心,都是生活上必要的———虽然是无用的装点,而且是愈精炼愈好。可怜现在的中国生活,却是极端地干燥粗鄙,别的不说,我在北京彷徨了十年,终未曾吃到好点心。","author":"周作人","from":"《北京的茶食》"},{"content":"我已经四十岁了,除了这只猪,还没见过谁敢于如此无视对生活的设置。相反,我倒见过很多想要设置别人生活的人,还有对被设置的生活安之若素的人。因为这个原故,我一直怀念这只特立独行的猪。","author":"王小波","from":"《一只特立独行的猪》"},{"content":"别人也许不同意,但我以为,见到一种差异,就以为这里有优劣之分,这是一种市侩心理。","author":"王小波","from":"《我是哪一种女权主义者》"},{"content":"反思能力是精神生活的关键,而独处则是反思的前提。","author":"威廉・德雷谢维奇","from":"《优秀的绵羊》"},{"content":"你观察到众人都在追逐同一样东西的时候,你判断它肯定是有价值的。","author":"威廉・德雷谢维奇","from":"《优秀的绵羊》"},{"content":"在众人做出相似的决定之时,能做出一个不同的选择绝非易事。","author":"威廉・德雷谢维奇","from":"《优秀的绵羊》"},{"content":"巧言令色,鲜矣仁。","author":"孔子","from":"《论语》"},{"content":"君子求诸己,小人求诸人。","author":"孔子","from":"《论语》"},{"content":"往者不可谏,来者犹可追。","author":"孔子","from":"《论语》"},{"content":"楼下一个男人病得要死,那间壁的一家唱着留声机;对面是弄孩子。楼上有两人狂笑;还有打牌声。河中的船上有女人哭着她死去的母亲。人类的悲欢并不相通,我只觉得他们吵闹。","author":"鲁迅","from":"《而已集·小杂感》"},{"content":"There are many who pretend to despise that which is beyond their reach. (有些人若是得不到自己想要的,就会把那样东西贬得一文不值)","from":"《伊索寓言》,狐狸与葡萄"},{"content":"落在一个人一生中的雪,我们不能全部看见。每个人都在自己的生命中,孤独地过冬。","author":"刘亮程","from":"《寒风吹彻》"},{"content":"当一种文明不能正视自己的外部世界,也就一定不能正视自己的历史,结果只能削弱自己的体质。","author":"余秋雨","from":"《文化苦旅·北极寒夜》"},{"content":"The best time to plant a tree is 20 years ago. The second-best time is now.","author":"Dambisa Moyo","from":"Dead Aid"},{"content":"程序写出来是给人看的,附带能在机器上运行。","from":"《计算机程序的结构与解释》"},{"content":"无知的兴趣一定是苍白的。","from":"《上海交通大学生存手册》"},{"content":"正确的浪费剩下的时间。","from":"《上海交通大学生存手册》"},{"content":"人生并不在考上大学那天结束,也不在拿到入职通知时戛然而止。","from":"《三联生活周刊》,总第1110期"},{"content":"有时候,人最不能容忍在别人身上看到自己的影子。","author":"刘慈欣","from":"《球状闪电》"},{"content":"正如这篇试图浅尝辄止的关于纸质杂志的文章,也是通过手机的入口,推送到你的面前。这样带有象征性和黑色幽默的举动,也是一场默认了权力交替的仪式。","from":"《今天纸质杂志死掉了吗》,少数派"},{"content":"我曾数次设想一个场景,宛若梦魇:多年之后,生活不如意的我回首现今,后悔没能选择另一条道路。但反复纠结之后,我意识到我别无他法,只能坦然:谁又能预知未来呢?即便给我一万次机会,站在此时此刻,不借助更多的后验知识,我想,我也无法做出更好的选择。所以,直面选择之后,只管一往无前吧。","author":"无辄","from":"《二十一岁,直面选择,一往无前》"},{"content":"You can’t skip chapters, that’s not how life works. You have to read every line, meet every character. You won’t enjoy all of it. Hell, some characters will make you cry for weeks. You will read things you don’t want to read, you will have moments when you don’t want the pages end. But you have to keep going. Stories keep the world revolving. Live yours, don’t miss out.","from":"pillow thoughts"},{"content":"The problem is, if we don’t deal with politics, politics will deal with us.","author":"Don Ho","from":"Notepad++ v7.8.1 : Free Uyghur"},{"content":"Helping one person might not change the world, but it could change the world for one person.","from":"@anxiety_positive"},{"content":"“We shall meet in the place where there is no darkness,” he had said. Winston did not know what it meant, only that in some way or another it would come true.","author":"George Orwell","from":"1984"}] \ No newline at end of file diff --git a/feed/atom.xml b/feed/atom.xml new file mode 100644 index 000000000..32e32c701 --- /dev/null +++ b/feed/atom.xml @@ -0,0 +1,58 @@ + + + {{ config.title }} + {% if icon %}{{ icon }}{% endif %} + {% if config.subtitle %}{{ config.subtitle }}{% endif %} + + {% if config.feed.hub %}{% endif %} + + {% if posts.first().updated %}{{ posts.first().updated.toISOString() }}{% else %}{{ posts.first().date.toISOString() }}{% endif %} + {{ url | uriencode }} + {% if config.author %} + + {{ config.author }} + {% if config.email %}{{ config.email }}{% endif %} + + {% endif %} + Hexo + {% for post in posts.toArray() %} + + {{ post.title }} + + {{ post.permalink | uriencode }} + {{ post.date.toISOString() }} + {% if post.updated %}{{ post.updated.toISOString() }}{% else %}{{ post.date.toISOString() }}{% endif %} + {% if config.feed.content and post.content %} + + {% endif %} + {% if post.description %} + {{ post.description }} + {% elif post.intro %} + {{ post.intro }} + {% elif post.excerpt %} + {{ post.excerpt }} + {% elif post.content %} + {% set short_content = post.content.substring(0, config.feed.content_limit) %} + {% if config.feed.content_limit_delim %} + {% set delim_pos = short_content.lastIndexOf(config.feed.content_limit_delim) %} + {% if delim_pos > -1 %} + {{ short_content.substring(0, delim_pos) }} + {% else %} + {{ short_content }} + {% endif %} + {% else %} + {{ short_content }} + {% endif %} + {% endif %} + {% if post.image %} + + {% endif %} + {% for category in post.categories.toArray() %} + + {% endfor %} + {% for tag in post.tags.toArray() %} + + {% endfor %} + + {% endfor %} + \ No newline at end of file diff --git a/girls/index.html b/girls/index.html new file mode 100644 index 000000000..7e820e9a5 --- /dev/null +++ b/girls/index.html @@ -0,0 +1,72 @@ +我的纸片人女友们 | 叶子的花园 + + + + + + + + + + +

我的纸片人女友们

如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
\ No newline at end of file diff --git a/images/2020-final-summary/brave-biograghy.jpg b/images/2020-final-summary/brave-biograghy.jpg new file mode 100644 index 000000000..77fcd8a37 Binary files /dev/null and b/images/2020-final-summary/brave-biograghy.jpg differ diff --git a/images/2020-final-summary/campus.JPG b/images/2020-final-summary/campus.JPG new file mode 100644 index 000000000..f6c3f21c4 Binary files /dev/null and b/images/2020-final-summary/campus.JPG differ diff --git a/images/2020-final-summary/dengxiaoping.jpg b/images/2020-final-summary/dengxiaoping.jpg new file mode 100644 index 000000000..351616261 Binary files /dev/null and b/images/2020-final-summary/dengxiaoping.jpg differ diff --git a/images/2020-final-summary/potala-palace.jpg b/images/2020-final-summary/potala-palace.jpg new file mode 100644 index 000000000..a9b8175ef Binary files /dev/null and b/images/2020-final-summary/potala-palace.jpg differ diff --git a/images/2021-blog-posts-writting-plan/hit-your-dog-head.JPG b/images/2021-blog-posts-writting-plan/hit-your-dog-head.JPG new file mode 100644 index 000000000..196dffc5b Binary files /dev/null and b/images/2021-blog-posts-writting-plan/hit-your-dog-head.JPG differ diff --git a/images/2021-blog-posts-writting-plan/my-words.png b/images/2021-blog-posts-writting-plan/my-words.png new file mode 100644 index 000000000..670cf69df Binary files /dev/null and b/images/2021-blog-posts-writting-plan/my-words.png differ diff --git a/images/2022-final-summary/cover.jpg b/images/2022-final-summary/cover.jpg new file mode 100644 index 000000000..af8da4616 Binary files /dev/null and b/images/2022-final-summary/cover.jpg differ diff --git a/images/2022-final-summary/un_donation.jpg b/images/2022-final-summary/un_donation.jpg new file mode 100644 index 000000000..81c19d901 Binary files /dev/null and b/images/2022-final-summary/un_donation.jpg differ diff --git a/images/2023-03-Week-11/1100_cover.jpg b/images/2023-03-Week-11/1100_cover.jpg new file mode 100644 index 000000000..562f84f1f Binary files /dev/null and b/images/2023-03-Week-11/1100_cover.jpg differ diff --git a/images/2023-03-Week-11/1101_food.jpg b/images/2023-03-Week-11/1101_food.jpg new file mode 100644 index 000000000..924585b1f Binary files /dev/null and b/images/2023-03-Week-11/1101_food.jpg differ diff --git a/images/2023-03-Week-11/1102_baogao.jpg b/images/2023-03-Week-11/1102_baogao.jpg new file mode 100644 index 000000000..02154740b Binary files /dev/null and b/images/2023-03-Week-11/1102_baogao.jpg differ diff --git a/images/2023-03-Week-11/1103_feedback.jpg b/images/2023-03-Week-11/1103_feedback.jpg new file mode 100644 index 000000000..cca48ae2c Binary files /dev/null and b/images/2023-03-Week-11/1103_feedback.jpg differ diff --git a/images/2023-03-Week-12/1200_cover.jpg b/images/2023-03-Week-12/1200_cover.jpg new file mode 100644 index 000000000..c2661a58e Binary files /dev/null and b/images/2023-03-Week-12/1200_cover.jpg differ diff --git a/images/2023-03-Week-12/1201_hail.jpg b/images/2023-03-Week-12/1201_hail.jpg new file mode 100644 index 000000000..b82c95bd8 Binary files /dev/null and b/images/2023-03-Week-12/1201_hail.jpg differ diff --git a/images/2023-03-Week-13/1300_cover.jpg b/images/2023-03-Week-13/1300_cover.jpg new file mode 100644 index 000000000..6f2ad6e9c Binary files /dev/null and b/images/2023-03-Week-13/1300_cover.jpg differ diff --git a/images/2023-03-Week-13/1301_unesco.jpg b/images/2023-03-Week-13/1301_unesco.jpg new file mode 100644 index 000000000..25a54b63a Binary files /dev/null and b/images/2023-03-Week-13/1301_unesco.jpg differ diff --git a/images/2023-03-Week-13/1302_sakamoto.jpg b/images/2023-03-Week-13/1302_sakamoto.jpg new file mode 100644 index 000000000..ac5f27f87 Binary files /dev/null and b/images/2023-03-Week-13/1302_sakamoto.jpg differ diff --git a/images/2023-03-Week-13/1303_courier.jpg b/images/2023-03-Week-13/1303_courier.jpg new file mode 100644 index 000000000..0b5a9fbbe Binary files /dev/null and b/images/2023-03-Week-13/1303_courier.jpg differ diff --git a/images/2023-03-Week-13/1304_negotiate.jpg b/images/2023-03-Week-13/1304_negotiate.jpg new file mode 100644 index 000000000..18b7357bf Binary files /dev/null and b/images/2023-03-Week-13/1304_negotiate.jpg differ diff --git a/images/2023-04-Week-14/1400_dragon.jpg b/images/2023-04-Week-14/1400_dragon.jpg new file mode 100644 index 000000000..0168f1079 Binary files /dev/null and b/images/2023-04-Week-14/1400_dragon.jpg differ diff --git a/images/2023-04-Week-14/1401_wrongnumber.jpg b/images/2023-04-Week-14/1401_wrongnumber.jpg new file mode 100644 index 000000000..efb69707a Binary files /dev/null and b/images/2023-04-Week-14/1401_wrongnumber.jpg differ diff --git a/images/2023-04-Week-14/1402_web_email.jpg b/images/2023-04-Week-14/1402_web_email.jpg new file mode 100644 index 000000000..057f038e4 Binary files /dev/null and b/images/2023-04-Week-14/1402_web_email.jpg differ diff --git a/images/2023-04-Week-14/1403_movie.jpg b/images/2023-04-Week-14/1403_movie.jpg new file mode 100644 index 000000000..7f1118bf7 Binary files /dev/null and b/images/2023-04-Week-14/1403_movie.jpg differ diff --git a/images/2023-04-Week-14/1404_chris.jpg b/images/2023-04-Week-14/1404_chris.jpg new file mode 100644 index 000000000..395618cea Binary files /dev/null and b/images/2023-04-Week-14/1404_chris.jpg differ diff --git a/images/2023-04-Week-14/1405_sophia.jpg b/images/2023-04-Week-14/1405_sophia.jpg new file mode 100644 index 000000000..18c6893f4 Binary files /dev/null and b/images/2023-04-Week-14/1405_sophia.jpg differ diff --git a/images/2023-04-Week-15/1500_cover.jpg b/images/2023-04-Week-15/1500_cover.jpg new file mode 100644 index 000000000..35cc64f6d Binary files /dev/null and b/images/2023-04-Week-15/1500_cover.jpg differ diff --git a/images/2023-04-Week-15/1501_difference.jpg b/images/2023-04-Week-15/1501_difference.jpg new file mode 100644 index 000000000..48bfe1022 Binary files /dev/null and b/images/2023-04-Week-15/1501_difference.jpg differ diff --git a/images/2023-04-Week-15/1502_friend_taiwan.jpg b/images/2023-04-Week-15/1502_friend_taiwan.jpg new file mode 100644 index 000000000..e52964d23 Binary files /dev/null and b/images/2023-04-Week-15/1502_friend_taiwan.jpg differ diff --git a/images/2023-04-Week-16/1600_cover.jpg b/images/2023-04-Week-16/1600_cover.jpg new file mode 100644 index 000000000..014de7aec Binary files /dev/null and b/images/2023-04-Week-16/1600_cover.jpg differ diff --git a/images/2023-04-Week-16/1601_dungeon.jpg b/images/2023-04-Week-16/1601_dungeon.jpg new file mode 100644 index 000000000..63cc9910b Binary files /dev/null and b/images/2023-04-Week-16/1601_dungeon.jpg differ diff --git a/images/2023-04-Week-16/1602_lie.jpg b/images/2023-04-Week-16/1602_lie.jpg new file mode 100644 index 000000000..85b7043ff Binary files /dev/null and b/images/2023-04-Week-16/1602_lie.jpg differ diff --git a/images/2023-04-Week-16/1603_goose.jpg b/images/2023-04-Week-16/1603_goose.jpg new file mode 100644 index 000000000..86b8911be Binary files /dev/null and b/images/2023-04-Week-16/1603_goose.jpg differ diff --git a/images/2023-04-Week-17/1700_cover.jpg b/images/2023-04-Week-17/1700_cover.jpg new file mode 100644 index 000000000..83959a9b2 Binary files /dev/null and b/images/2023-04-Week-17/1700_cover.jpg differ diff --git a/images/2023-04-Week-17/1701_pic.jpg b/images/2023-04-Week-17/1701_pic.jpg new file mode 100644 index 000000000..b360d64cc Binary files /dev/null and b/images/2023-04-Week-17/1701_pic.jpg differ diff --git a/images/2023-04-Week-17/1702_myuniverse.jpg b/images/2023-04-Week-17/1702_myuniverse.jpg new file mode 100644 index 000000000..540101186 Binary files /dev/null and b/images/2023-04-Week-17/1702_myuniverse.jpg differ diff --git a/images/2023-04-Week-17/1703_linus.jpg b/images/2023-04-Week-17/1703_linus.jpg new file mode 100644 index 000000000..d9464a574 Binary files /dev/null and b/images/2023-04-Week-17/1703_linus.jpg differ diff --git a/images/2023-05-Week-18/1800_born_to_retail.jpg b/images/2023-05-Week-18/1800_born_to_retail.jpg new file mode 100644 index 000000000..579c99b24 Binary files /dev/null and b/images/2023-05-Week-18/1800_born_to_retail.jpg differ diff --git a/images/2023-05-Week-18/1801_misaka.jpg b/images/2023-05-Week-18/1801_misaka.jpg new file mode 100644 index 000000000..fa6689790 Binary files /dev/null and b/images/2023-05-Week-18/1801_misaka.jpg differ diff --git a/images/2023-05-Week-18/1802_pic.jpg b/images/2023-05-Week-18/1802_pic.jpg new file mode 100644 index 000000000..6e0fc9f90 Binary files /dev/null and b/images/2023-05-Week-18/1802_pic.jpg differ diff --git a/images/2023-05-Week-18/1803_hkgov.jpg b/images/2023-05-Week-18/1803_hkgov.jpg new file mode 100644 index 000000000..cf73c0a9b Binary files /dev/null and b/images/2023-05-Week-18/1803_hkgov.jpg differ diff --git a/images/2023-05-Week-18/1804_cinema.jpg b/images/2023-05-Week-18/1804_cinema.jpg new file mode 100644 index 000000000..f87a832e1 Binary files /dev/null and b/images/2023-05-Week-18/1804_cinema.jpg differ diff --git a/images/2023-05-Week-19-20/1900_cover.jpg b/images/2023-05-Week-19-20/1900_cover.jpg new file mode 100644 index 000000000..9857d8fb1 Binary files /dev/null and b/images/2023-05-Week-19-20/1900_cover.jpg differ diff --git a/images/2023-05-Week-19-20/1901_photo.jpg b/images/2023-05-Week-19-20/1901_photo.jpg new file mode 100644 index 000000000..b7de7c1e8 Binary files /dev/null and b/images/2023-05-Week-19-20/1901_photo.jpg differ diff --git a/images/2023-05-Week-19-20/1902_tetris.jpg b/images/2023-05-Week-19-20/1902_tetris.jpg new file mode 100644 index 000000000..2692f7df5 Binary files /dev/null and b/images/2023-05-Week-19-20/1902_tetris.jpg differ diff --git a/images/2023-05-Week-19-20/1903_pic.jpg b/images/2023-05-Week-19-20/1903_pic.jpg new file mode 100644 index 000000000..fa842d362 Binary files /dev/null and b/images/2023-05-Week-19-20/1903_pic.jpg differ diff --git a/images/2023-05-Week-19-20/1904_card.jpg b/images/2023-05-Week-19-20/1904_card.jpg new file mode 100644 index 000000000..d17d9566c Binary files /dev/null and b/images/2023-05-Week-19-20/1904_card.jpg differ diff --git a/images/2023-05-Week-19-20/1905_prepare.jpg b/images/2023-05-Week-19-20/1905_prepare.jpg new file mode 100644 index 000000000..4b3553a21 Binary files /dev/null and b/images/2023-05-Week-19-20/1905_prepare.jpg differ diff --git a/images/2023-05-Week-22/2200_cover.jpg b/images/2023-05-Week-22/2200_cover.jpg new file mode 100644 index 000000000..f5eaf184f Binary files /dev/null and b/images/2023-05-Week-22/2200_cover.jpg differ diff --git a/images/2023-05-Week-22/2201_plane.jpg b/images/2023-05-Week-22/2201_plane.jpg new file mode 100644 index 000000000..89d359bc0 Binary files /dev/null and b/images/2023-05-Week-22/2201_plane.jpg differ diff --git a/images/2023-05-Week-22/2202_people_on_plane.jpg b/images/2023-05-Week-22/2202_people_on_plane.jpg new file mode 100644 index 000000000..157965171 Binary files /dev/null and b/images/2023-05-Week-22/2202_people_on_plane.jpg differ diff --git a/images/2023-05-Week-22/2203_before_defence.jpg b/images/2023-05-Week-22/2203_before_defence.jpg new file mode 100644 index 000000000..ad5aa064e Binary files /dev/null and b/images/2023-05-Week-22/2203_before_defence.jpg differ diff --git a/images/2023-05-Week-22/2204_john_wick_4.jpg b/images/2023-05-Week-22/2204_john_wick_4.jpg new file mode 100644 index 000000000..5d581a945 Binary files /dev/null and b/images/2023-05-Week-22/2204_john_wick_4.jpg differ diff --git a/images/2023-05-Week-22/2205_mask.jpg b/images/2023-05-Week-22/2205_mask.jpg new file mode 100644 index 000000000..3a937083a Binary files /dev/null and b/images/2023-05-Week-22/2205_mask.jpg differ diff --git a/images/2023-05-Week-22/2206_macron.jpg b/images/2023-05-Week-22/2206_macron.jpg new file mode 100644 index 000000000..7d156eb4e Binary files /dev/null and b/images/2023-05-Week-22/2206_macron.jpg differ diff --git a/images/2023-05-Week-22/2207_concrete.jpg b/images/2023-05-Week-22/2207_concrete.jpg new file mode 100644 index 000000000..079f1a9d5 Binary files /dev/null and b/images/2023-05-Week-22/2207_concrete.jpg differ diff --git a/images/2023-05-Week-22/2208_tooth.jpg b/images/2023-05-Week-22/2208_tooth.jpg new file mode 100644 index 000000000..618402819 Binary files /dev/null and b/images/2023-05-Week-22/2208_tooth.jpg differ diff --git a/images/2023-06-Week-23/2300_cover.jpg b/images/2023-06-Week-23/2300_cover.jpg new file mode 100644 index 000000000..611737e37 Binary files /dev/null and b/images/2023-06-Week-23/2300_cover.jpg differ diff --git a/images/2023-06-Week-23/2301_duolingo.jpg b/images/2023-06-Week-23/2301_duolingo.jpg new file mode 100644 index 000000000..50f729734 Binary files /dev/null and b/images/2023-06-Week-23/2301_duolingo.jpg differ diff --git a/images/2023-06-Week-23/2302_ticket.jpg b/images/2023-06-Week-23/2302_ticket.jpg new file mode 100644 index 000000000..5378f1800 Binary files /dev/null and b/images/2023-06-Week-23/2302_ticket.jpg differ diff --git a/images/2023-06-Week-23/2303_graduation_party.jpg b/images/2023-06-Week-23/2303_graduation_party.jpg new file mode 100644 index 000000000..1738b3abb Binary files /dev/null and b/images/2023-06-Week-23/2303_graduation_party.jpg differ diff --git a/images/2023-06-Week-23/2304_academy_gate.jpg b/images/2023-06-Week-23/2304_academy_gate.jpg new file mode 100644 index 000000000..7a21e1ee5 Binary files /dev/null and b/images/2023-06-Week-23/2304_academy_gate.jpg differ diff --git a/images/2023-06-Week-23/2305_academy_building.jpg b/images/2023-06-Week-23/2305_academy_building.jpg new file mode 100644 index 000000000..e002b6d02 Binary files /dev/null and b/images/2023-06-Week-23/2305_academy_building.jpg differ diff --git a/images/2023-06-Week-23/2306_gac_building.jpg b/images/2023-06-Week-23/2306_gac_building.jpg new file mode 100644 index 000000000..00401e928 Binary files /dev/null and b/images/2023-06-Week-23/2306_gac_building.jpg differ diff --git a/images/2023-06-Week-23/2307_rails.jpg b/images/2023-06-Week-23/2307_rails.jpg new file mode 100644 index 000000000..6a5cf494a Binary files /dev/null and b/images/2023-06-Week-23/2307_rails.jpg differ diff --git a/images/2023-06-Week-23/2308_memorial.jpg b/images/2023-06-Week-23/2308_memorial.jpg new file mode 100644 index 000000000..2d5c018f4 Binary files /dev/null and b/images/2023-06-Week-23/2308_memorial.jpg differ diff --git a/images/2023-06-Week-23/2309_old_pic.jpg b/images/2023-06-Week-23/2309_old_pic.jpg new file mode 100644 index 000000000..e11fb8914 Binary files /dev/null and b/images/2023-06-Week-23/2309_old_pic.jpg differ diff --git a/images/2023-06-Week-23/2310_result.jpg b/images/2023-06-Week-23/2310_result.jpg new file mode 100644 index 000000000..b11cd954d Binary files /dev/null and b/images/2023-06-Week-23/2310_result.jpg differ diff --git a/images/2023-06-Week-24/2400_cover.jpg b/images/2023-06-Week-24/2400_cover.jpg new file mode 100644 index 000000000..4dd2a6f62 Binary files /dev/null and b/images/2023-06-Week-24/2400_cover.jpg differ diff --git a/images/2023-06-Week-24/2401_buy_ticket.jpg b/images/2023-06-Week-24/2401_buy_ticket.jpg new file mode 100644 index 000000000..c566d8f6f Binary files /dev/null and b/images/2023-06-Week-24/2401_buy_ticket.jpg differ diff --git a/images/2023-06-Week-24/2402_train.jpg b/images/2023-06-Week-24/2402_train.jpg new file mode 100644 index 000000000..8251e1f84 Binary files /dev/null and b/images/2023-06-Week-24/2402_train.jpg differ diff --git a/images/2023-06-Week-24/2403_customs.jpg b/images/2023-06-Week-24/2403_customs.jpg new file mode 100644 index 000000000..fdfd27edd Binary files /dev/null and b/images/2023-06-Week-24/2403_customs.jpg differ diff --git a/images/2023-06-Week-24/2404_code_etc.jpg b/images/2023-06-Week-24/2404_code_etc.jpg new file mode 100644 index 000000000..53e42ca01 Binary files /dev/null and b/images/2023-06-Week-24/2404_code_etc.jpg differ diff --git a/images/2023-06-Week-24/2405_harbour.jpg b/images/2023-06-Week-24/2405_harbour.jpg new file mode 100644 index 000000000..eeb501c6c Binary files /dev/null and b/images/2023-06-Week-24/2405_harbour.jpg differ diff --git a/images/2023-06-Week-24/2406_national_security.jpg b/images/2023-06-Week-24/2406_national_security.jpg new file mode 100644 index 000000000..a5adecb38 Binary files /dev/null and b/images/2023-06-Week-24/2406_national_security.jpg differ diff --git a/images/2023-06-Week-24/2407_hkex.jpg b/images/2023-06-Week-24/2407_hkex.jpg new file mode 100644 index 000000000..efd8980d0 Binary files /dev/null and b/images/2023-06-Week-24/2407_hkex.jpg differ diff --git a/images/2023-06-Week-24/2408_street.jpg b/images/2023-06-Week-24/2408_street.jpg new file mode 100644 index 000000000..bfd475a4c Binary files /dev/null and b/images/2023-06-Week-24/2408_street.jpg differ diff --git a/images/2023-06-Week-24/2409_street19.jpg b/images/2023-06-Week-24/2409_street19.jpg new file mode 100644 index 000000000..ff78c1d13 Binary files /dev/null and b/images/2023-06-Week-24/2409_street19.jpg differ diff --git a/images/2023-06-Week-24/2410_noodle.jpg b/images/2023-06-Week-24/2410_noodle.jpg new file mode 100644 index 000000000..067a89833 Binary files /dev/null and b/images/2023-06-Week-24/2410_noodle.jpg differ diff --git a/images/2023-06-Week-24/2411_mihoyo.jpg b/images/2023-06-Week-24/2411_mihoyo.jpg new file mode 100644 index 000000000..5d7408ed5 Binary files /dev/null and b/images/2023-06-Week-24/2411_mihoyo.jpg differ diff --git a/images/2023-06-Week-24/2412_apple_warning.jpg b/images/2023-06-Week-24/2412_apple_warning.jpg new file mode 100644 index 000000000..90199913d Binary files /dev/null and b/images/2023-06-Week-24/2412_apple_warning.jpg differ diff --git a/images/2023-06-Week-24/2413_hsbc_gate.jpg b/images/2023-06-Week-24/2413_hsbc_gate.jpg new file mode 100644 index 000000000..3161c109b Binary files /dev/null and b/images/2023-06-Week-24/2413_hsbc_gate.jpg differ diff --git a/images/2023-06-Week-24/2414_hsbc_hall.jpg b/images/2023-06-Week-24/2414_hsbc_hall.jpg new file mode 100644 index 000000000..ae2b92e93 Binary files /dev/null and b/images/2023-06-Week-24/2414_hsbc_hall.jpg differ diff --git a/images/2023-06-Week-24/2415_hsbc_card.jpg b/images/2023-06-Week-24/2415_hsbc_card.jpg new file mode 100644 index 000000000..4aa78ec38 Binary files /dev/null and b/images/2023-06-Week-24/2415_hsbc_card.jpg differ diff --git a/images/2023-06-Week-24/2416_hk_library.jpg b/images/2023-06-Week-24/2416_hk_library.jpg new file mode 100644 index 000000000..5f0248281 Binary files /dev/null and b/images/2023-06-Week-24/2416_hk_library.jpg differ diff --git a/images/2023-06-Week-24/2417_indonesia_building.jpg b/images/2023-06-Week-24/2417_indonesia_building.jpg new file mode 100644 index 000000000..a9b17e3ab Binary files /dev/null and b/images/2023-06-Week-24/2417_indonesia_building.jpg differ diff --git a/images/2023-06-Week-24/2418_causeway_bay_bookstore.jpg b/images/2023-06-Week-24/2418_causeway_bay_bookstore.jpg new file mode 100644 index 000000000..117ee7ec3 Binary files /dev/null and b/images/2023-06-Week-24/2418_causeway_bay_bookstore.jpg differ diff --git a/images/2023-06-Week-24/2419_book_poster.jpg b/images/2023-06-Week-24/2419_book_poster.jpg new file mode 100644 index 000000000..34206bbf5 Binary files /dev/null and b/images/2023-06-Week-24/2419_book_poster.jpg differ diff --git a/images/2023-06-Week-24/2420_street_view.jpg b/images/2023-06-Week-24/2420_street_view.jpg new file mode 100644 index 000000000..a290d9a2f Binary files /dev/null and b/images/2023-06-Week-24/2420_street_view.jpg differ diff --git a/images/2023-06-Week-24/2421_indian_food.jpg b/images/2023-06-Week-24/2421_indian_food.jpg new file mode 100644 index 000000000..7c7937c38 Binary files /dev/null and b/images/2023-06-Week-24/2421_indian_food.jpg differ diff --git a/images/2023-06-Week-24/2422_tour1.jpg b/images/2023-06-Week-24/2422_tour1.jpg new file mode 100644 index 000000000..294d1053d Binary files /dev/null and b/images/2023-06-Week-24/2422_tour1.jpg differ diff --git a/images/2023-06-Week-24/2423_bus_ticket.jpg b/images/2023-06-Week-24/2423_bus_ticket.jpg new file mode 100644 index 000000000..cdc0bff6e Binary files /dev/null and b/images/2023-06-Week-24/2423_bus_ticket.jpg differ diff --git a/images/2023-06-Week-24/2424_map.jpg b/images/2023-06-Week-24/2424_map.jpg new file mode 100644 index 000000000..a51377cb9 Binary files /dev/null and b/images/2023-06-Week-24/2424_map.jpg differ diff --git a/images/2023-06-Week-24/2425_bridge.jpg b/images/2023-06-Week-24/2425_bridge.jpg new file mode 100644 index 000000000..2ff8e88fb Binary files /dev/null and b/images/2023-06-Week-24/2425_bridge.jpg differ diff --git a/images/2023-06-Week-24/2426_chinese_port.jpg b/images/2023-06-Week-24/2426_chinese_port.jpg new file mode 100644 index 000000000..32b66590d Binary files /dev/null and b/images/2023-06-Week-24/2426_chinese_port.jpg differ diff --git a/images/2023-06-Week-24/2427_macao_warning.jpg b/images/2023-06-Week-24/2427_macao_warning.jpg new file mode 100644 index 000000000..50456285b Binary files /dev/null and b/images/2023-06-Week-24/2427_macao_warning.jpg differ diff --git a/images/2023-06-Week-24/2428_lisboa_hotel.jpg b/images/2023-06-Week-24/2428_lisboa_hotel.jpg new file mode 100644 index 000000000..2de06bbe5 Binary files /dev/null and b/images/2023-06-Week-24/2428_lisboa_hotel.jpg differ diff --git a/images/2023-06-Week-24/2429_front_dest.jpg b/images/2023-06-Week-24/2429_front_dest.jpg new file mode 100644 index 000000000..dcba1d532 Binary files /dev/null and b/images/2023-06-Week-24/2429_front_dest.jpg differ diff --git a/images/2023-06-Week-24/2430_room.jpg b/images/2023-06-Week-24/2430_room.jpg new file mode 100644 index 000000000..66a3e36b5 Binary files /dev/null and b/images/2023-06-Week-24/2430_room.jpg differ diff --git a/images/2023-06-Week-24/2431_gold_card.jpg b/images/2023-06-Week-24/2431_gold_card.jpg new file mode 100644 index 000000000..ab6c52b12 Binary files /dev/null and b/images/2023-06-Week-24/2431_gold_card.jpg differ diff --git a/images/2023-06-Week-24/2432_casino.jpg b/images/2023-06-Week-24/2432_casino.jpg new file mode 100644 index 000000000..c3cae384f Binary files /dev/null and b/images/2023-06-Week-24/2432_casino.jpg differ diff --git a/images/2023-06-Week-24/2433_street_view_macao.jpg b/images/2023-06-Week-24/2433_street_view_macao.jpg new file mode 100644 index 000000000..4118cc180 Binary files /dev/null and b/images/2023-06-Week-24/2433_street_view_macao.jpg differ diff --git a/images/2023-06-Week-24/2434_paulo.jpg b/images/2023-06-Week-24/2434_paulo.jpg new file mode 100644 index 000000000..ba68b9f71 Binary files /dev/null and b/images/2023-06-Week-24/2434_paulo.jpg differ diff --git a/images/2023-06-Week-24/2435_macao_street_view1.jpg b/images/2023-06-Week-24/2435_macao_street_view1.jpg new file mode 100644 index 000000000..be7232796 Binary files /dev/null and b/images/2023-06-Week-24/2435_macao_street_view1.jpg differ diff --git a/images/2023-06-Week-24/2436_macao_street_view2.jpg b/images/2023-06-Week-24/2436_macao_street_view2.jpg new file mode 100644 index 000000000..815e1a6ac Binary files /dev/null and b/images/2023-06-Week-24/2436_macao_street_view2.jpg differ diff --git a/images/2023-06-Week-24/2437_consulate_of_portugal.jpg b/images/2023-06-Week-24/2437_consulate_of_portugal.jpg new file mode 100644 index 000000000..3d2d1395c Binary files /dev/null and b/images/2023-06-Week-24/2437_consulate_of_portugal.jpg differ diff --git a/images/2023-06-Week-24/2438_lunch.jpg b/images/2023-06-Week-24/2438_lunch.jpg new file mode 100644 index 000000000..8069b84ad Binary files /dev/null and b/images/2023-06-Week-24/2438_lunch.jpg differ diff --git a/images/2023-06-Week-24/2439_macao_night.jpg b/images/2023-06-Week-24/2439_macao_night.jpg new file mode 100644 index 000000000..e0677bb52 Binary files /dev/null and b/images/2023-06-Week-24/2439_macao_night.jpg differ diff --git a/images/2023-06-Week-24/2440_zhuhai.jpg b/images/2023-06-Week-24/2440_zhuhai.jpg new file mode 100644 index 000000000..891e09bff Binary files /dev/null and b/images/2023-06-Week-24/2440_zhuhai.jpg differ diff --git a/images/2023-06-Week-24/2441_train.jpg b/images/2023-06-Week-24/2441_train.jpg new file mode 100644 index 000000000..806c51bd4 Binary files /dev/null and b/images/2023-06-Week-24/2441_train.jpg differ diff --git a/images/2023-final-summary/UNCIEF_receipt.jpg b/images/2023-final-summary/UNCIEF_receipt.jpg new file mode 100644 index 000000000..b869d2cd5 Binary files /dev/null and b/images/2023-final-summary/UNCIEF_receipt.jpg differ diff --git a/images/2023-final-summary/book.jpg b/images/2023-final-summary/book.jpg new file mode 100644 index 000000000..02a0198d8 Binary files /dev/null and b/images/2023-final-summary/book.jpg differ diff --git a/images/2023-final-summary/cover.jpg b/images/2023-final-summary/cover.jpg new file mode 100644 index 000000000..80602df6c Binary files /dev/null and b/images/2023-final-summary/cover.jpg differ diff --git a/images/2023-final-summary/graduated.jpg b/images/2023-final-summary/graduated.jpg new file mode 100644 index 000000000..8d875e4ee Binary files /dev/null and b/images/2023-final-summary/graduated.jpg differ diff --git a/images/2023-final-summary/graduation.jpg b/images/2023-final-summary/graduation.jpg new file mode 100644 index 000000000..31bbd92de Binary files /dev/null and b/images/2023-final-summary/graduation.jpg differ diff --git a/images/2023-final-summary/have-to-work.jpg b/images/2023-final-summary/have-to-work.jpg new file mode 100644 index 000000000..851bd8469 Binary files /dev/null and b/images/2023-final-summary/have-to-work.jpg differ diff --git a/images/CF_logo_stacked_blktype.svg b/images/CF_logo_stacked_blktype.svg new file mode 100644 index 000000000..ea934ab20 --- /dev/null +++ b/images/CF_logo_stacked_blktype.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/Give-my-blog-a-new-name/cover.JPG b/images/Give-my-blog-a-new-name/cover.JPG new file mode 100644 index 000000000..1b312146e Binary files /dev/null and b/images/Give-my-blog-a-new-name/cover.JPG differ diff --git a/images/Give-my-blog-a-new-name/domain.jpg b/images/Give-my-blog-a-new-name/domain.jpg new file mode 100644 index 000000000..d50f743f8 Binary files /dev/null and b/images/Give-my-blog-a-new-name/domain.jpg differ diff --git a/images/Give-my-blog-a-new-name/example_1.jpg b/images/Give-my-blog-a-new-name/example_1.jpg new file mode 100644 index 000000000..dc33f7934 Binary files /dev/null and b/images/Give-my-blog-a-new-name/example_1.jpg differ diff --git a/images/Give-my-blog-a-new-name/example_2.jpg b/images/Give-my-blog-a-new-name/example_2.jpg new file mode 100644 index 000000000..5f9d6209b Binary files /dev/null and b/images/Give-my-blog-a-new-name/example_2.jpg differ diff --git a/images/Give-my-blog-a-new-name/example_3.jpg b/images/Give-my-blog-a-new-name/example_3.jpg new file mode 100644 index 000000000..edc7ce8de Binary files /dev/null and b/images/Give-my-blog-a-new-name/example_3.jpg differ diff --git a/images/Give-my-blog-a-new-name/example_4.jpg b/images/Give-my-blog-a-new-name/example_4.jpg new file mode 100644 index 000000000..63ebc7c3d Binary files /dev/null and b/images/Give-my-blog-a-new-name/example_4.jpg differ diff --git a/images/Give-my-blog-a-new-name/example_5.jpg b/images/Give-my-blog-a-new-name/example_5.jpg new file mode 100644 index 000000000..5392b4daf Binary files /dev/null and b/images/Give-my-blog-a-new-name/example_5.jpg differ diff --git a/images/Give-my-blog-a-new-name/example_6.jpg b/images/Give-my-blog-a-new-name/example_6.jpg new file mode 100644 index 000000000..e46659721 Binary files /dev/null and b/images/Give-my-blog-a-new-name/example_6.jpg differ diff --git a/images/Give-my-blog-a-new-name/example_7.jpg b/images/Give-my-blog-a-new-name/example_7.jpg new file mode 100644 index 000000000..622118930 Binary files /dev/null and b/images/Give-my-blog-a-new-name/example_7.jpg differ diff --git a/images/Give-my-blog-a-new-name/mess_around.jpg b/images/Give-my-blog-a-new-name/mess_around.jpg new file mode 100644 index 000000000..333bf6d1d Binary files /dev/null and b/images/Give-my-blog-a-new-name/mess_around.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/ACID.jpg b/images/LES-air-traffic-control-automation-guide/ACID.jpg new file mode 100644 index 000000000..e2866fc57 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/ACID.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/AHO.jpg b/images/LES-air-traffic-control-automation-guide/AHO.jpg new file mode 100644 index 000000000..42913bf0b Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/AHO.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/BRL.jpg b/images/LES-air-traffic-control-automation-guide/BRL.jpg new file mode 100644 index 000000000..45ce76bd1 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/BRL.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/CAP.jpg b/images/LES-air-traffic-control-automation-guide/CAP.jpg new file mode 100644 index 000000000..19b07ab8c Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/CAP.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/CAP_warning.jpg b/images/LES-air-traffic-control-automation-guide/CAP_warning.jpg new file mode 100644 index 000000000..61ad8b13e Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/CAP_warning.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/CLW.jpg b/images/LES-air-traffic-control-automation-guide/CLW.jpg new file mode 100644 index 000000000..a6c17ad7b Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/CLW.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/CPDLC.jpg b/images/LES-air-traffic-control-automation-guide/CPDLC.jpg new file mode 100644 index 000000000..16c1cb5df Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/CPDLC.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/DAP.jpg b/images/LES-air-traffic-control-automation-guide/DAP.jpg new file mode 100644 index 000000000..8dc21bcf5 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/DAP.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/DCL.jpg b/images/LES-air-traffic-control-automation-guide/DCL.jpg new file mode 100644 index 000000000..8f286ce9a Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/DCL.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/FIRS.jpg b/images/LES-air-traffic-control-automation-guide/FIRS.jpg new file mode 100644 index 000000000..3dc380783 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/FIRS.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/FPL1.jpg b/images/LES-air-traffic-control-automation-guide/FPL1.jpg new file mode 100644 index 000000000..af5587831 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/FPL1.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/FPL2.jpg b/images/LES-air-traffic-control-automation-guide/FPL2.jpg new file mode 100644 index 000000000..52198c6c6 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/FPL2.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/GIW.jpg b/images/LES-air-traffic-control-automation-guide/GIW.jpg new file mode 100644 index 000000000..791c3e507 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/GIW.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/GIW1.jpg b/images/LES-air-traffic-control-automation-guide/GIW1.jpg new file mode 100644 index 000000000..7b5a9eca7 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/GIW1.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/GIW2.jpg b/images/LES-air-traffic-control-automation-guide/GIW2.jpg new file mode 100644 index 000000000..3cf8e41ef Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/GIW2.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/GIW_detail.jpg b/images/LES-air-traffic-control-automation-guide/GIW_detail.jpg new file mode 100644 index 000000000..35bfb7ad3 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/GIW_detail.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/ILS.jpg b/images/LES-air-traffic-control-automation-guide/ILS.jpg new file mode 100644 index 000000000..7d1f746aa Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/ILS.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/Lost.jpg b/images/LES-air-traffic-control-automation-guide/Lost.jpg new file mode 100644 index 000000000..c4defb270 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/Lost.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/MLT.jpg b/images/LES-air-traffic-control-automation-guide/MLT.jpg new file mode 100644 index 000000000..5a138b7ea Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/MLT.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/PSS.jpg b/images/LES-air-traffic-control-automation-guide/PSS.jpg new file mode 100644 index 000000000..8060bac26 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/PSS.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/QNH.jpg b/images/LES-air-traffic-control-automation-guide/QNH.jpg new file mode 100644 index 000000000..5831ba55a Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/QNH.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/RMAP.jpg b/images/LES-air-traffic-control-automation-guide/RMAP.jpg new file mode 100644 index 000000000..8953bbf4f Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/RMAP.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/RUNWAYQUERY.jpg b/images/LES-air-traffic-control-automation-guide/RUNWAYQUERY.jpg new file mode 100644 index 000000000..138485d0c Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/RUNWAYQUERY.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/RWY.jpg b/images/LES-air-traffic-control-automation-guide/RWY.jpg new file mode 100644 index 000000000..eaf022b70 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/RWY.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/SAVELOAD.jpg b/images/LES-air-traffic-control-automation-guide/SAVELOAD.jpg new file mode 100644 index 000000000..c21def06c Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/SAVELOAD.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/SDD.jpg b/images/LES-air-traffic-control-automation-guide/SDD.jpg new file mode 100644 index 000000000..aec169765 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/SDD.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/SHOOT.jpg b/images/LES-air-traffic-control-automation-guide/SHOOT.jpg new file mode 100644 index 000000000..c47b49d3f Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/SHOOT.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/SIDSTAR.jpg b/images/LES-air-traffic-control-automation-guide/SIDSTAR.jpg new file mode 100644 index 000000000..5cec5e22b Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/SIDSTAR.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/SIGN.jpg b/images/LES-air-traffic-control-automation-guide/SIGN.jpg new file mode 100644 index 000000000..52493c107 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/SIGN.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/SPARE.jpg b/images/LES-air-traffic-control-automation-guide/SPARE.jpg new file mode 100644 index 000000000..4d1346f0a Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/SPARE.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/SRP.jpg b/images/LES-air-traffic-control-automation-guide/SRP.jpg new file mode 100644 index 000000000..2836e8287 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/SRP.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/SSR.jpg b/images/LES-air-traffic-control-automation-guide/SSR.jpg new file mode 100644 index 000000000..86b57cae6 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/SSR.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/SSR_INHIB.jpg b/images/LES-air-traffic-control-automation-guide/SSR_INHIB.jpg new file mode 100644 index 000000000..ee603c37f Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/SSR_INHIB.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/SSTPA.jpg b/images/LES-air-traffic-control-automation-guide/SSTPA.jpg new file mode 100644 index 000000000..88d430e26 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/SSTPA.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/SSTPA_format.jpg b/images/LES-air-traffic-control-automation-guide/SSTPA_format.jpg new file mode 100644 index 000000000..76e08de59 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/SSTPA_format.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/SWICTH.jpg b/images/LES-air-traffic-control-automation-guide/SWICTH.jpg new file mode 100644 index 000000000..3ac38e943 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/SWICTH.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/Surveillance.jpg b/images/LES-air-traffic-control-automation-guide/Surveillance.jpg new file mode 100644 index 000000000..4eb815b4a Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/Surveillance.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/TFCMGT.jpg b/images/LES-air-traffic-control-automation-guide/TFCMGT.jpg new file mode 100644 index 000000000..c4532f262 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/TFCMGT.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/TWSMPLGP.jpg b/images/LES-air-traffic-control-automation-guide/TWSMPLGP.jpg new file mode 100644 index 000000000..bf2534893 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/TWSMPLGP.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/TXA.jpg b/images/LES-air-traffic-control-automation-guide/TXA.jpg new file mode 100644 index 000000000..d2db286ac Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/TXA.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/Tag_List.jpg b/images/LES-air-traffic-control-automation-guide/Tag_List.jpg new file mode 100644 index 000000000..4dbf73c53 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/Tag_List.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/UNIT.jpg b/images/LES-air-traffic-control-automation-guide/UNIT.jpg new file mode 100644 index 000000000..1acadde79 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/UNIT.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/all_flights.jpg b/images/LES-air-traffic-control-automation-guide/all_flights.jpg new file mode 100644 index 000000000..58abef7d7 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/all_flights.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/info.jpg b/images/LES-air-traffic-control-automation-guide/info.jpg new file mode 100644 index 000000000..f8bf7a475 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/info.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/login.jpg b/images/LES-air-traffic-control-automation-guide/login.jpg new file mode 100644 index 000000000..d43382187 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/login.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/map.jpg b/images/LES-air-traffic-control-automation-guide/map.jpg new file mode 100644 index 000000000..3b017910d Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/map.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/mode.jpg b/images/LES-air-traffic-control-automation-guide/mode.jpg new file mode 100644 index 000000000..f7117933c Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/mode.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/ourCLW.jpg b/images/LES-air-traffic-control-automation-guide/ourCLW.jpg new file mode 100644 index 000000000..54ba9cd51 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/ourCLW.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/second.jpg b/images/LES-air-traffic-control-automation-guide/second.jpg new file mode 100644 index 000000000..2967ea26c Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/second.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/sect.jpg b/images/LES-air-traffic-control-automation-guide/sect.jpg new file mode 100644 index 000000000..4bb0d8cbb Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/sect.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/setup.jpg b/images/LES-air-traffic-control-automation-guide/setup.jpg new file mode 100644 index 000000000..392508361 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/setup.jpg differ diff --git a/images/LES-air-traffic-control-automation-guide/tsm.jpg b/images/LES-air-traffic-control-automation-guide/tsm.jpg new file mode 100644 index 000000000..be41250f3 Binary files /dev/null and b/images/LES-air-traffic-control-automation-guide/tsm.jpg differ diff --git a/images/OpenMV-learing-note/OpenMV.jpg b/images/OpenMV-learing-note/OpenMV.jpg new file mode 100644 index 000000000..9e54a0a53 Binary files /dev/null and b/images/OpenMV-learing-note/OpenMV.jpg differ diff --git a/images/OpenMV-learing-note/QR_code.jpg b/images/OpenMV-learing-note/QR_code.jpg new file mode 100644 index 000000000..11f4b5e8c Binary files /dev/null and b/images/OpenMV-learing-note/QR_code.jpg differ diff --git a/images/OpenMV-learing-note/Threshold_Editor.jpg b/images/OpenMV-learing-note/Threshold_Editor.jpg new file mode 100644 index 000000000..d02464824 Binary files /dev/null and b/images/OpenMV-learing-note/Threshold_Editor.jpg differ diff --git a/images/OpenMV-learing-note/black_distance.jpg b/images/OpenMV-learing-note/black_distance.jpg new file mode 100644 index 000000000..f7961f587 Binary files /dev/null and b/images/OpenMV-learing-note/black_distance.jpg differ diff --git a/images/OpenMV-learing-note/blob.jpg b/images/OpenMV-learing-note/blob.jpg new file mode 100644 index 000000000..f52a13ea6 Binary files /dev/null and b/images/OpenMV-learing-note/blob.jpg differ diff --git a/images/OpenMV-learing-note/cover.jpg b/images/OpenMV-learing-note/cover.jpg new file mode 100644 index 000000000..e9c96c8ff Binary files /dev/null and b/images/OpenMV-learing-note/cover.jpg differ diff --git a/images/OpenMV-learing-note/past_and_future.jpg b/images/OpenMV-learing-note/past_and_future.jpg new file mode 100644 index 000000000..deb251ff8 Binary files /dev/null and b/images/OpenMV-learing-note/past_and_future.jpg differ diff --git a/images/OpenMV-learing-note/useful.jpg b/images/OpenMV-learing-note/useful.jpg new file mode 100644 index 000000000..8194d742c Binary files /dev/null and b/images/OpenMV-learing-note/useful.jpg differ diff --git a/images/QT-learning-note-01/hellorect-cmd.jpg b/images/QT-learning-note-01/hellorect-cmd.jpg new file mode 100644 index 000000000..ebed7327d Binary files /dev/null and b/images/QT-learning-note-01/hellorect-cmd.jpg differ diff --git a/images/QT-learning-note-01/hellorect-list.jpg b/images/QT-learning-note-01/hellorect-list.jpg new file mode 100644 index 000000000..d9dbfadbe Binary files /dev/null and b/images/QT-learning-note-01/hellorect-list.jpg differ diff --git a/images/QT-learning-note-01/helloworld-cmd.jpg b/images/QT-learning-note-01/helloworld-cmd.jpg new file mode 100644 index 000000000..c9ec7aa66 Binary files /dev/null and b/images/QT-learning-note-01/helloworld-cmd.jpg differ diff --git a/images/QT-learning-note-01/helloworld-list.jpg b/images/QT-learning-note-01/helloworld-list.jpg new file mode 100644 index 000000000..ff968b374 Binary files /dev/null and b/images/QT-learning-note-01/helloworld-list.jpg differ diff --git a/images/QT-learning-note-01/iloveprogramming.jpg b/images/QT-learning-note-01/iloveprogramming.jpg new file mode 100644 index 000000000..93b539064 Binary files /dev/null and b/images/QT-learning-note-01/iloveprogramming.jpg differ diff --git a/images/QT-learning-note-01/make-cmd1.jpg b/images/QT-learning-note-01/make-cmd1.jpg new file mode 100644 index 000000000..f333716ec Binary files /dev/null and b/images/QT-learning-note-01/make-cmd1.jpg differ diff --git a/images/QT-learning-note-01/make-cmd2.jpg b/images/QT-learning-note-01/make-cmd2.jpg new file mode 100644 index 000000000..9b4677c7a Binary files /dev/null and b/images/QT-learning-note-01/make-cmd2.jpg differ diff --git a/images/QT-learning-note-01/make-list.jpg b/images/QT-learning-note-01/make-list.jpg new file mode 100644 index 000000000..b78fe7733 Binary files /dev/null and b/images/QT-learning-note-01/make-list.jpg differ diff --git a/images/QT-learning-note-02/coordinate_1.jpg b/images/QT-learning-note-02/coordinate_1.jpg new file mode 100644 index 000000000..627674fbb Binary files /dev/null and b/images/QT-learning-note-02/coordinate_1.jpg differ diff --git a/images/QT-learning-note-02/coordinate_2.jpg b/images/QT-learning-note-02/coordinate_2.jpg new file mode 100644 index 000000000..1ee8f38a4 Binary files /dev/null and b/images/QT-learning-note-02/coordinate_2.jpg differ diff --git a/images/QT-learning-note-02/coordinate_3.jpg b/images/QT-learning-note-02/coordinate_3.jpg new file mode 100644 index 000000000..295d36b49 Binary files /dev/null and b/images/QT-learning-note-02/coordinate_3.jpg differ diff --git a/images/QT-learning-note-02/cover.jpg b/images/QT-learning-note-02/cover.jpg new file mode 100644 index 000000000..03c426a20 Binary files /dev/null and b/images/QT-learning-note-02/cover.jpg differ diff --git a/images/QT-learning-note-02/helloqtgui-program.jpg b/images/QT-learning-note-02/helloqtgui-program.jpg new file mode 100644 index 000000000..1a580a6df Binary files /dev/null and b/images/QT-learning-note-02/helloqtgui-program.jpg differ diff --git a/images/QT-learning-note-02/qwidget_1.jpg b/images/QT-learning-note-02/qwidget_1.jpg new file mode 100644 index 000000000..967385708 Binary files /dev/null and b/images/QT-learning-note-02/qwidget_1.jpg differ diff --git a/images/QT-learning-note-02/qwidget_2.jpg b/images/QT-learning-note-02/qwidget_2.jpg new file mode 100644 index 000000000..ed070153c Binary files /dev/null and b/images/QT-learning-note-02/qwidget_2.jpg differ diff --git a/images/QT-learning-note-02/qwidget_3.jpg b/images/QT-learning-note-02/qwidget_3.jpg new file mode 100644 index 000000000..c98a9e89f Binary files /dev/null and b/images/QT-learning-note-02/qwidget_3.jpg differ diff --git a/images/QT-learning-note-02/qwidget_4.jpg b/images/QT-learning-note-02/qwidget_4.jpg new file mode 100644 index 000000000..8355f620c Binary files /dev/null and b/images/QT-learning-note-02/qwidget_4.jpg differ diff --git a/images/QT-learning-note-02/qwidget_5.jpg b/images/QT-learning-note-02/qwidget_5.jpg new file mode 100644 index 000000000..01a2d7ec0 Binary files /dev/null and b/images/QT-learning-note-02/qwidget_5.jpg differ diff --git a/images/QT-learning-note-02/qwidget_6.jpg b/images/QT-learning-note-02/qwidget_6.jpg new file mode 100644 index 000000000..d4020ac1b Binary files /dev/null and b/images/QT-learning-note-02/qwidget_6.jpg differ diff --git a/images/SQL-learning-note-01/cover.jpg b/images/SQL-learning-note-01/cover.jpg new file mode 100644 index 000000000..c05f001a1 Binary files /dev/null and b/images/SQL-learning-note-01/cover.jpg differ diff --git a/images/SQL-learning-note-02/sql02-01-01.jpg b/images/SQL-learning-note-02/sql02-01-01.jpg new file mode 100644 index 000000000..f5b3fc25a Binary files /dev/null and b/images/SQL-learning-note-02/sql02-01-01.jpg differ diff --git a/images/SQL-learning-note-02/sql02-01-02.jpg b/images/SQL-learning-note-02/sql02-01-02.jpg new file mode 100644 index 000000000..e39f97729 Binary files /dev/null and b/images/SQL-learning-note-02/sql02-01-02.jpg differ diff --git a/images/SQL-learning-note-02/sql02-02-01.jpg b/images/SQL-learning-note-02/sql02-02-01.jpg new file mode 100644 index 000000000..3c56fffad Binary files /dev/null and b/images/SQL-learning-note-02/sql02-02-01.jpg differ diff --git a/images/SQL-learning-note-02/sql02-02-02.jpg b/images/SQL-learning-note-02/sql02-02-02.jpg new file mode 100644 index 000000000..a7e2444d8 Binary files /dev/null and b/images/SQL-learning-note-02/sql02-02-02.jpg differ diff --git a/images/SQL-learning-note-02/sql02-02-03.jpg b/images/SQL-learning-note-02/sql02-02-03.jpg new file mode 100644 index 000000000..9294d8af2 Binary files /dev/null and b/images/SQL-learning-note-02/sql02-02-03.jpg differ diff --git a/images/SQL-learning-note-02/sql02-04-01.jpg b/images/SQL-learning-note-02/sql02-04-01.jpg new file mode 100644 index 000000000..e5f451f04 Binary files /dev/null and b/images/SQL-learning-note-02/sql02-04-01.jpg differ diff --git a/images/SQL-learning-note-02/sql02-04-02.jpg b/images/SQL-learning-note-02/sql02-04-02.jpg new file mode 100644 index 000000000..30250dcde Binary files /dev/null and b/images/SQL-learning-note-02/sql02-04-02.jpg differ diff --git a/images/SQL-learning-note-02/sql02-cover.jpg b/images/SQL-learning-note-02/sql02-cover.jpg new file mode 100644 index 000000000..bbece2297 Binary files /dev/null and b/images/SQL-learning-note-02/sql02-cover.jpg differ diff --git a/images/SQL-learning-note-03/cover.jpg b/images/SQL-learning-note-03/cover.jpg new file mode 100644 index 000000000..d5fb6fb63 Binary files /dev/null and b/images/SQL-learning-note-03/cover.jpg differ diff --git a/images/SQL-learning-note-03/sql03-05-01.jpg b/images/SQL-learning-note-03/sql03-05-01.jpg new file mode 100644 index 000000000..ff7876c91 Binary files /dev/null and b/images/SQL-learning-note-03/sql03-05-01.jpg differ diff --git a/images/SQL-learning-note-03/sql03-05-02.jpg b/images/SQL-learning-note-03/sql03-05-02.jpg new file mode 100644 index 000000000..416df3de0 Binary files /dev/null and b/images/SQL-learning-note-03/sql03-05-02.jpg differ diff --git a/images/SQL-learning-note-03/sql03-05-03.jpg b/images/SQL-learning-note-03/sql03-05-03.jpg new file mode 100644 index 000000000..89ef856de Binary files /dev/null and b/images/SQL-learning-note-03/sql03-05-03.jpg differ diff --git a/images/SQL-learning-note-03/sql03-05-04.jpg b/images/SQL-learning-note-03/sql03-05-04.jpg new file mode 100644 index 000000000..2cbe79508 Binary files /dev/null and b/images/SQL-learning-note-03/sql03-05-04.jpg differ diff --git a/images/SQL-learning-note-03/sql03-05-05.jpg b/images/SQL-learning-note-03/sql03-05-05.jpg new file mode 100644 index 000000000..7ded33cd4 Binary files /dev/null and b/images/SQL-learning-note-03/sql03-05-05.jpg differ diff --git a/images/SQL-learning-note-03/sql03-05-06.jpg b/images/SQL-learning-note-03/sql03-05-06.jpg new file mode 100644 index 000000000..48095994c Binary files /dev/null and b/images/SQL-learning-note-03/sql03-05-06.jpg differ diff --git a/images/SQL-learning-note-03/sql03-05-07.jpg b/images/SQL-learning-note-03/sql03-05-07.jpg new file mode 100644 index 000000000..c4ce0c933 Binary files /dev/null and b/images/SQL-learning-note-03/sql03-05-07.jpg differ diff --git a/images/SQL-learning-note-03/sql03-05-08.jpg b/images/SQL-learning-note-03/sql03-05-08.jpg new file mode 100644 index 000000000..9d154563d Binary files /dev/null and b/images/SQL-learning-note-03/sql03-05-08.jpg differ diff --git a/images/SQL-learning-note-03/sql03-06-01.jpg b/images/SQL-learning-note-03/sql03-06-01.jpg new file mode 100644 index 000000000..e03070ef7 Binary files /dev/null and b/images/SQL-learning-note-03/sql03-06-01.jpg differ diff --git a/images/SQL-learning-note-03/sql03-06-02.jpg b/images/SQL-learning-note-03/sql03-06-02.jpg new file mode 100644 index 000000000..44851cedb Binary files /dev/null and b/images/SQL-learning-note-03/sql03-06-02.jpg differ diff --git a/images/SQL-learning-note-03/sql03-06-03.jpg b/images/SQL-learning-note-03/sql03-06-03.jpg new file mode 100644 index 000000000..a535da889 Binary files /dev/null and b/images/SQL-learning-note-03/sql03-06-03.jpg differ diff --git a/images/SQL-learning-note-03/sql03-06-04.jpg b/images/SQL-learning-note-03/sql03-06-04.jpg new file mode 100644 index 000000000..a75243974 Binary files /dev/null and b/images/SQL-learning-note-03/sql03-06-04.jpg differ diff --git a/images/SQL-learning-note-03/sql03-06-05.jpg b/images/SQL-learning-note-03/sql03-06-05.jpg new file mode 100644 index 000000000..970cc2922 Binary files /dev/null and b/images/SQL-learning-note-03/sql03-06-05.jpg differ diff --git a/images/SQL-learning-note-03/sql03-06-06.jpg b/images/SQL-learning-note-03/sql03-06-06.jpg new file mode 100644 index 000000000..ec91745dc Binary files /dev/null and b/images/SQL-learning-note-03/sql03-06-06.jpg differ diff --git a/images/about_site/garden.jpg b/images/about_site/garden.jpg new file mode 100644 index 000000000..e4732cd4c Binary files /dev/null and b/images/about_site/garden.jpg differ diff --git a/images/about_site/guestbook.jpg b/images/about_site/guestbook.jpg new file mode 100644 index 000000000..3646d6faa Binary files /dev/null and b/images/about_site/guestbook.jpg differ diff --git a/images/avatar/Alendia.jpg b/images/avatar/Alendia.jpg new file mode 100644 index 000000000..c004653ee Binary files /dev/null and b/images/avatar/Alendia.jpg differ diff --git a/images/avatar/BeautyYu.jpg b/images/avatar/BeautyYu.jpg new file mode 100644 index 000000000..c4b11f9bc Binary files /dev/null and b/images/avatar/BeautyYu.jpg differ diff --git a/images/avatar/BnnyThinks.jpg b/images/avatar/BnnyThinks.jpg new file mode 100644 index 000000000..fa77e56f9 Binary files /dev/null and b/images/avatar/BnnyThinks.jpg differ diff --git a/images/avatar/CWKSC.jpg b/images/avatar/CWKSC.jpg new file mode 100644 index 000000000..af1ddd424 Binary files /dev/null and b/images/avatar/CWKSC.jpg differ diff --git a/images/avatar/Raptazure.jpg b/images/avatar/Raptazure.jpg new file mode 100644 index 000000000..100a3e686 Binary files /dev/null and b/images/avatar/Raptazure.jpg differ diff --git a/images/avatar/Sora.jpg b/images/avatar/Sora.jpg new file mode 100644 index 000000000..38857e890 Binary files /dev/null and b/images/avatar/Sora.jpg differ diff --git a/images/avatar/Travis.png b/images/avatar/Travis.png new file mode 100644 index 000000000..3e5fcf3a2 Binary files /dev/null and b/images/avatar/Travis.png differ diff --git a/images/avatar/avatar.jpg b/images/avatar/avatar.jpg new file mode 100644 index 000000000..b6491aa1d Binary files /dev/null and b/images/avatar/avatar.jpg differ diff --git a/images/avatar/edward40.jpg b/images/avatar/edward40.jpg new file mode 100644 index 000000000..01012cd26 Binary files /dev/null and b/images/avatar/edward40.jpg differ diff --git a/images/avatar/exec.jpg b/images/avatar/exec.jpg new file mode 100644 index 000000000..92aa6507f Binary files /dev/null and b/images/avatar/exec.jpg differ diff --git a/images/avatar/favicon.webp b/images/avatar/favicon.webp new file mode 100644 index 000000000..80aa05747 Binary files /dev/null and b/images/avatar/favicon.webp differ diff --git a/images/avatar/izfsk.webp b/images/avatar/izfsk.webp new file mode 100644 index 000000000..722c4f6a1 Binary files /dev/null and b/images/avatar/izfsk.webp differ diff --git a/images/avatar/lemonhx.png b/images/avatar/lemonhx.png new file mode 100644 index 000000000..ee800f89b Binary files /dev/null and b/images/avatar/lemonhx.png differ diff --git a/images/avatar/maomao.jpg b/images/avatar/maomao.jpg new file mode 100644 index 000000000..556e4865f Binary files /dev/null and b/images/avatar/maomao.jpg differ diff --git a/images/avatar/miRoox.jpg b/images/avatar/miRoox.jpg new file mode 100644 index 000000000..6d2d26120 Binary files /dev/null and b/images/avatar/miRoox.jpg differ diff --git a/images/avatar/nek0ri.jpg b/images/avatar/nek0ri.jpg new file mode 100644 index 000000000..a4bcf3db8 Binary files /dev/null and b/images/avatar/nek0ri.jpg differ diff --git a/images/avatar/noesis-yu.jpg b/images/avatar/noesis-yu.jpg new file mode 100644 index 000000000..0d47cd886 Binary files /dev/null and b/images/avatar/noesis-yu.jpg differ diff --git a/images/avatar/oskyla.jpg b/images/avatar/oskyla.jpg new file mode 100644 index 000000000..ce428ca0e Binary files /dev/null and b/images/avatar/oskyla.jpg differ diff --git a/images/avatar/pancake.jpg b/images/avatar/pancake.jpg new file mode 100644 index 000000000..52dfe4c44 Binary files /dev/null and b/images/avatar/pancake.jpg differ diff --git a/images/avatar/pennp.jpg b/images/avatar/pennp.jpg new file mode 100644 index 000000000..930dc9b4b Binary files /dev/null and b/images/avatar/pennp.jpg differ diff --git a/images/avatar/springwood.jpg b/images/avatar/springwood.jpg new file mode 100644 index 000000000..fe57c068c Binary files /dev/null and b/images/avatar/springwood.jpg differ diff --git a/images/avatar/xiaoniuhululu.jpg b/images/avatar/xiaoniuhululu.jpg new file mode 100644 index 000000000..8649fd48e Binary files /dev/null and b/images/avatar/xiaoniuhululu.jpg differ diff --git a/images/background.jpg b/images/background.jpg new file mode 100644 index 000000000..7d3bb7e29 Binary files /dev/null and b/images/background.jpg differ diff --git a/images/beginner-of-ns-3-and-openai-gym/Architecture-of-ns3-gym-framework.png b/images/beginner-of-ns-3-and-openai-gym/Architecture-of-ns3-gym-framework.png new file mode 100644 index 000000000..8681db1b4 Binary files /dev/null and b/images/beginner-of-ns-3-and-openai-gym/Architecture-of-ns3-gym-framework.png differ diff --git a/images/beginner-of-ns-3-and-openai-gym/anaconda.jpg b/images/beginner-of-ns-3-and-openai-gym/anaconda.jpg new file mode 100644 index 000000000..8afd15adf Binary files /dev/null and b/images/beginner-of-ns-3-and-openai-gym/anaconda.jpg differ diff --git a/images/beginner-of-ns-3-and-openai-gym/cover.jpg b/images/beginner-of-ns-3-and-openai-gym/cover.jpg new file mode 100644 index 000000000..ad410cbb2 Binary files /dev/null and b/images/beginner-of-ns-3-and-openai-gym/cover.jpg differ diff --git a/images/beginner-of-ns-3-and-openai-gym/linux_error.jpg b/images/beginner-of-ns-3-and-openai-gym/linux_error.jpg new file mode 100644 index 000000000..791a86ed1 Binary files /dev/null and b/images/beginner-of-ns-3-and-openai-gym/linux_error.jpg differ diff --git a/images/beginner-of-ns-3-and-openai-gym/ns3_gym_web.jpg b/images/beginner-of-ns-3-and-openai-gym/ns3_gym_web.jpg new file mode 100644 index 000000000..65ffd0ceb Binary files /dev/null and b/images/beginner-of-ns-3-and-openai-gym/ns3_gym_web.jpg differ diff --git a/images/beginner-of-ns-3-and-openai-gym/ns3_web.jpg b/images/beginner-of-ns-3-and-openai-gym/ns3_web.jpg new file mode 100644 index 000000000..862d2eb43 Binary files /dev/null and b/images/beginner-of-ns-3-and-openai-gym/ns3_web.jpg differ diff --git a/images/bewilderment-thought-and-a-little-determining/circuit-experiment.jpg b/images/bewilderment-thought-and-a-little-determining/circuit-experiment.jpg new file mode 100644 index 000000000..ea95f7905 Binary files /dev/null and b/images/bewilderment-thought-and-a-little-determining/circuit-experiment.jpg differ diff --git a/images/bewilderment-thought-and-a-little-determining/our-comfidence.jpg b/images/bewilderment-thought-and-a-little-determining/our-comfidence.jpg new file mode 100644 index 000000000..c2faaef63 Binary files /dev/null and b/images/bewilderment-thought-and-a-little-determining/our-comfidence.jpg differ diff --git a/images/bewilderment-thought-and-a-little-determining/promising-future.jpg b/images/bewilderment-thought-and-a-little-determining/promising-future.jpg new file mode 100644 index 000000000..98fcd1a80 Binary files /dev/null and b/images/bewilderment-thought-and-a-little-determining/promising-future.jpg differ diff --git a/images/build-my-blog/my-blog.jpg b/images/build-my-blog/my-blog.jpg new file mode 100644 index 000000000..6b1eada74 Binary files /dev/null and b/images/build-my-blog/my-blog.jpg differ diff --git a/images/build-my-blog/watched-disc.jpg b/images/build-my-blog/watched-disc.jpg new file mode 100644 index 000000000..83c6812b4 Binary files /dev/null and b/images/build-my-blog/watched-disc.jpg differ diff --git a/images/choices-made-by-others/cover.jpg b/images/choices-made-by-others/cover.jpg new file mode 100644 index 000000000..dfef696e1 Binary files /dev/null and b/images/choices-made-by-others/cover.jpg differ diff --git a/images/convolution-of-two-rectangular/dinosaur.JPG b/images/convolution-of-two-rectangular/dinosaur.JPG new file mode 100644 index 000000000..1c43da9a4 Binary files /dev/null and b/images/convolution-of-two-rectangular/dinosaur.JPG differ diff --git a/images/convolution-of-two-rectangular/handpaint.jpg b/images/convolution-of-two-rectangular/handpaint.jpg new file mode 100644 index 000000000..2293b061a Binary files /dev/null and b/images/convolution-of-two-rectangular/handpaint.jpg differ diff --git a/images/convolution-of-two-rectangular/rectangular-pulse.jpg b/images/convolution-of-two-rectangular/rectangular-pulse.jpg new file mode 100644 index 000000000..d36a69af6 Binary files /dev/null and b/images/convolution-of-two-rectangular/rectangular-pulse.jpg differ diff --git a/images/convolution-of-two-rectangular/triangular-pulse.jpg b/images/convolution-of-two-rectangular/triangular-pulse.jpg new file mode 100644 index 000000000..d4eaaa1df Binary files /dev/null and b/images/convolution-of-two-rectangular/triangular-pulse.jpg differ diff --git a/images/custom-email-on-gmail-by-cloudflare/DNS.jpg b/images/custom-email-on-gmail-by-cloudflare/DNS.jpg new file mode 100644 index 000000000..c407e5549 Binary files /dev/null and b/images/custom-email-on-gmail-by-cloudflare/DNS.jpg differ diff --git a/images/custom-email-on-gmail-by-cloudflare/add-account.jpg b/images/custom-email-on-gmail-by-cloudflare/add-account.jpg new file mode 100644 index 000000000..8d7c71b54 Binary files /dev/null and b/images/custom-email-on-gmail-by-cloudflare/add-account.jpg differ diff --git a/images/custom-email-on-gmail-by-cloudflare/add-another-email.jpg b/images/custom-email-on-gmail-by-cloudflare/add-another-email.jpg new file mode 100644 index 000000000..03ab3e491 Binary files /dev/null and b/images/custom-email-on-gmail-by-cloudflare/add-another-email.jpg differ diff --git a/images/custom-email-on-gmail-by-cloudflare/apppasswords.jpg b/images/custom-email-on-gmail-by-cloudflare/apppasswords.jpg new file mode 100644 index 000000000..fba6a4040 Binary files /dev/null and b/images/custom-email-on-gmail-by-cloudflare/apppasswords.jpg differ diff --git a/images/custom-email-on-gmail-by-cloudflare/catch-all.jpg b/images/custom-email-on-gmail-by-cloudflare/catch-all.jpg new file mode 100644 index 000000000..dcc59662b Binary files /dev/null and b/images/custom-email-on-gmail-by-cloudflare/catch-all.jpg differ diff --git a/images/custom-email-on-gmail-by-cloudflare/confirm.jpg b/images/custom-email-on-gmail-by-cloudflare/confirm.jpg new file mode 100644 index 000000000..34c321463 Binary files /dev/null and b/images/custom-email-on-gmail-by-cloudflare/confirm.jpg differ diff --git a/images/custom-email-on-gmail-by-cloudflare/cover.jpg b/images/custom-email-on-gmail-by-cloudflare/cover.jpg new file mode 100644 index 000000000..b5929d55d Binary files /dev/null and b/images/custom-email-on-gmail-by-cloudflare/cover.jpg differ diff --git a/images/custom-email-on-gmail-by-cloudflare/creat-email.jpg b/images/custom-email-on-gmail-by-cloudflare/creat-email.jpg new file mode 100644 index 000000000..a4ce9d77d Binary files /dev/null and b/images/custom-email-on-gmail-by-cloudflare/creat-email.jpg differ diff --git a/images/custom-email-on-gmail-by-cloudflare/enter-email.jpg b/images/custom-email-on-gmail-by-cloudflare/enter-email.jpg new file mode 100644 index 000000000..b1651bcec Binary files /dev/null and b/images/custom-email-on-gmail-by-cloudflare/enter-email.jpg differ diff --git a/images/custom-email-on-gmail-by-cloudflare/registrar-pricing.jpg b/images/custom-email-on-gmail-by-cloudflare/registrar-pricing.jpg new file mode 100644 index 000000000..808067a98 Binary files /dev/null and b/images/custom-email-on-gmail-by-cloudflare/registrar-pricing.jpg differ diff --git a/images/custom-email-on-gmail-by-cloudflare/set-action.jpg b/images/custom-email-on-gmail-by-cloudflare/set-action.jpg new file mode 100644 index 000000000..99f600ba1 Binary files /dev/null and b/images/custom-email-on-gmail-by-cloudflare/set-action.jpg differ diff --git a/images/domains-second-year/bill.jpg b/images/domains-second-year/bill.jpg new file mode 100644 index 000000000..07b0ae52d Binary files /dev/null and b/images/domains-second-year/bill.jpg differ diff --git a/images/domains-second-year/cover.jpg b/images/domains-second-year/cover.jpg new file mode 100644 index 000000000..aa89496d6 Binary files /dev/null and b/images/domains-second-year/cover.jpg differ diff --git a/images/domains-second-year/flowers.jpg b/images/domains-second-year/flowers.jpg new file mode 100644 index 000000000..c75e2123d Binary files /dev/null and b/images/domains-second-year/flowers.jpg differ diff --git a/images/domains-second-year/i-was.jpg b/images/domains-second-year/i-was.jpg new file mode 100644 index 000000000..f5ae7696f Binary files /dev/null and b/images/domains-second-year/i-was.jpg differ diff --git a/images/electronic-scale-design/amplifier.jpg b/images/electronic-scale-design/amplifier.jpg new file mode 100644 index 000000000..8c85c0fb1 Binary files /dev/null and b/images/electronic-scale-design/amplifier.jpg differ diff --git a/images/electronic-scale-design/circuit.jpg b/images/electronic-scale-design/circuit.jpg new file mode 100644 index 000000000..1acf8e2b5 Binary files /dev/null and b/images/electronic-scale-design/circuit.jpg differ diff --git a/images/electronic-scale-design/comparison_1.jpg b/images/electronic-scale-design/comparison_1.jpg new file mode 100644 index 000000000..7a46b54fa Binary files /dev/null and b/images/electronic-scale-design/comparison_1.jpg differ diff --git a/images/electronic-scale-design/comparison_2.jpg b/images/electronic-scale-design/comparison_2.jpg new file mode 100644 index 000000000..6aabfaaf5 Binary files /dev/null and b/images/electronic-scale-design/comparison_2.jpg differ diff --git a/images/electronic-scale-design/delay.jpg b/images/electronic-scale-design/delay.jpg new file mode 100644 index 000000000..44323bf3a Binary files /dev/null and b/images/electronic-scale-design/delay.jpg differ diff --git a/images/electronic-scale-design/display.jpg b/images/electronic-scale-design/display.jpg new file mode 100644 index 000000000..bee49ecb1 Binary files /dev/null and b/images/electronic-scale-design/display.jpg differ diff --git a/images/electronic-scale-design/plan_a.jpg b/images/electronic-scale-design/plan_a.jpg new file mode 100644 index 000000000..9d68cffa4 Binary files /dev/null and b/images/electronic-scale-design/plan_a.jpg differ diff --git a/images/electronic-scale-design/plan_b.jpg b/images/electronic-scale-design/plan_b.jpg new file mode 100644 index 000000000..bdf79e90c Binary files /dev/null and b/images/electronic-scale-design/plan_b.jpg differ diff --git a/images/electronic-scale-design/power.jpg b/images/electronic-scale-design/power.jpg new file mode 100644 index 000000000..e22f789bb Binary files /dev/null and b/images/electronic-scale-design/power.jpg differ diff --git a/images/electronic-scale-design/range.jpg b/images/electronic-scale-design/range.jpg new file mode 100644 index 000000000..b46c7f198 Binary files /dev/null and b/images/electronic-scale-design/range.jpg differ diff --git a/images/electronic-scale-design/reference.jpg b/images/electronic-scale-design/reference.jpg new file mode 100644 index 000000000..5f3164851 Binary files /dev/null and b/images/electronic-scale-design/reference.jpg differ diff --git a/images/electronic-scale-design/selector.jpg b/images/electronic-scale-design/selector.jpg new file mode 100644 index 000000000..6266e0f3e Binary files /dev/null and b/images/electronic-scale-design/selector.jpg differ diff --git a/images/electronic-scale-design/wheatstone_bridge.jpg b/images/electronic-scale-design/wheatstone_bridge.jpg new file mode 100644 index 000000000..418b05ece Binary files /dev/null and b/images/electronic-scale-design/wheatstone_bridge.jpg differ diff --git a/images/electronic-scale-design/work.jpg b/images/electronic-scale-design/work.jpg new file mode 100644 index 000000000..4194a1d0f Binary files /dev/null and b/images/electronic-scale-design/work.jpg differ diff --git a/images/essay-in-night/cover.jpg b/images/essay-in-night/cover.jpg new file mode 100644 index 000000000..bc03c2a07 Binary files /dev/null and b/images/essay-in-night/cover.jpg differ diff --git a/images/film_review_of_puss_in_boots_2/cover.jpg b/images/film_review_of_puss_in_boots_2/cover.jpg new file mode 100644 index 000000000..3e4d6ee1f Binary files /dev/null and b/images/film_review_of_puss_in_boots_2/cover.jpg differ diff --git a/images/film_review_of_puss_in_boots_2/everyone.jpg b/images/film_review_of_puss_in_boots_2/everyone.jpg new file mode 100644 index 000000000..ab3e5d1f6 Binary files /dev/null and b/images/film_review_of_puss_in_boots_2/everyone.jpg differ diff --git a/images/film_review_of_puss_in_boots_2/finalfight.jpg b/images/film_review_of_puss_in_boots_2/finalfight.jpg new file mode 100644 index 000000000..ac183cae7 Binary files /dev/null and b/images/film_review_of_puss_in_boots_2/finalfight.jpg differ diff --git a/images/film_review_of_puss_in_boots_2/firstfight.jpg b/images/film_review_of_puss_in_boots_2/firstfight.jpg new file mode 100644 index 000000000..8e72ff82e Binary files /dev/null and b/images/film_review_of_puss_in_boots_2/firstfight.jpg differ diff --git a/images/film_review_of_puss_in_boots_2/galdysdraw.jpg b/images/film_review_of_puss_in_boots_2/galdysdraw.jpg new file mode 100644 index 000000000..4b8ad4391 Binary files /dev/null and b/images/film_review_of_puss_in_boots_2/galdysdraw.jpg differ diff --git a/images/film_review_of_puss_in_boots_2/goldy_family.jpg b/images/film_review_of_puss_in_boots_2/goldy_family.jpg new file mode 100644 index 000000000..748f9866c Binary files /dev/null and b/images/film_review_of_puss_in_boots_2/goldy_family.jpg differ diff --git a/images/film_review_of_puss_in_boots_2/goldy_family_color.jpg b/images/film_review_of_puss_in_boots_2/goldy_family_color.jpg new file mode 100644 index 000000000..3539d754c Binary files /dev/null and b/images/film_review_of_puss_in_boots_2/goldy_family_color.jpg differ diff --git a/images/film_review_of_puss_in_boots_2/loanform.jpg b/images/film_review_of_puss_in_boots_2/loanform.jpg new file mode 100644 index 000000000..9036e67c0 Binary files /dev/null and b/images/film_review_of_puss_in_boots_2/loanform.jpg differ diff --git a/images/film_review_of_puss_in_boots_2/perro.jpg b/images/film_review_of_puss_in_boots_2/perro.jpg new file mode 100644 index 000000000..6be5edb5d Binary files /dev/null and b/images/film_review_of_puss_in_boots_2/perro.jpg differ diff --git a/images/film_review_of_puss_in_boots_2/thecat.jpg b/images/film_review_of_puss_in_boots_2/thecat.jpg new file mode 100644 index 000000000..7412e3a1f Binary files /dev/null and b/images/film_review_of_puss_in_boots_2/thecat.jpg differ diff --git a/images/film_review_of_puss_in_boots_2/wolfandgoldcoins.jpg b/images/film_review_of_puss_in_boots_2/wolfandgoldcoins.jpg new file mode 100644 index 000000000..cee1b38bb Binary files /dev/null and b/images/film_review_of_puss_in_boots_2/wolfandgoldcoins.jpg differ diff --git a/images/galaxy.jpg b/images/galaxy.jpg new file mode 100644 index 000000000..1734db381 Binary files /dev/null and b/images/galaxy.jpg differ diff --git a/images/girls/Blaze.jpg b/images/girls/Blaze.jpg new file mode 100644 index 000000000..cffe4629d Binary files /dev/null and b/images/girls/Blaze.jpg differ diff --git a/images/girls/Blemishine.jpg b/images/girls/Blemishine.jpg new file mode 100644 index 000000000..95d28d9fd Binary files /dev/null and b/images/girls/Blemishine.jpg differ diff --git a/images/girls/Kaltsit.jpg b/images/girls/Kaltsit.jpg new file mode 100644 index 000000000..9c3ea352c Binary files /dev/null and b/images/girls/Kaltsit.jpg differ diff --git a/images/girls/Mostima.jpg b/images/girls/Mostima.jpg new file mode 100644 index 000000000..749b851b5 Binary files /dev/null and b/images/girls/Mostima.jpg differ diff --git a/images/girls/Platinum.jpg b/images/girls/Platinum.jpg new file mode 100644 index 000000000..d8ec3fd1c Binary files /dev/null and b/images/girls/Platinum.jpg differ diff --git a/images/girls/amiya.jpg b/images/girls/amiya.jpg new file mode 100644 index 000000000..af5773855 Binary files /dev/null and b/images/girls/amiya.jpg differ diff --git a/images/how-to-open-voice-mail-on-iphone/cover.jpg b/images/how-to-open-voice-mail-on-iphone/cover.jpg new file mode 100644 index 000000000..bab184818 Binary files /dev/null and b/images/how-to-open-voice-mail-on-iphone/cover.jpg differ diff --git a/images/how-to-open-voice-mail-on-iphone/voice-mail.jpg b/images/how-to-open-voice-mail-on-iphone/voice-mail.jpg new file mode 100644 index 000000000..7558be617 Binary files /dev/null and b/images/how-to-open-voice-mail-on-iphone/voice-mail.jpg differ diff --git a/images/messages-and-replies/cover.jpg b/images/messages-and-replies/cover.jpg new file mode 100644 index 000000000..67e7d5a2c Binary files /dev/null and b/images/messages-and-replies/cover.jpg differ diff --git a/images/moeicp.png b/images/moeicp.png new file mode 100644 index 000000000..408d9a82c Binary files /dev/null and b/images/moeicp.png differ diff --git a/images/my-next-plan/302-jump.jpg b/images/my-next-plan/302-jump.jpg new file mode 100644 index 000000000..aa99232ad Binary files /dev/null and b/images/my-next-plan/302-jump.jpg differ diff --git a/images/my-next-plan/50-years-promise.jpg b/images/my-next-plan/50-years-promise.jpg new file mode 100644 index 000000000..9b87c8e01 Binary files /dev/null and b/images/my-next-plan/50-years-promise.jpg differ diff --git a/images/my-next-plan/ccp-change.jpg b/images/my-next-plan/ccp-change.jpg new file mode 100644 index 000000000..e196076b9 Binary files /dev/null and b/images/my-next-plan/ccp-change.jpg differ diff --git a/images/my-next-plan/contract.jpg b/images/my-next-plan/contract.jpg new file mode 100644 index 000000000..74a7187b7 Binary files /dev/null and b/images/my-next-plan/contract.jpg differ diff --git a/images/my-next-plan/cover.jpg b/images/my-next-plan/cover.jpg new file mode 100644 index 000000000..e7ca397ac Binary files /dev/null and b/images/my-next-plan/cover.jpg differ diff --git a/images/my-next-plan/ip-ban-off.jpg b/images/my-next-plan/ip-ban-off.jpg new file mode 100644 index 000000000..c76de15ae Binary files /dev/null and b/images/my-next-plan/ip-ban-off.jpg differ diff --git a/images/my-next-plan/ip-ban.jpg b/images/my-next-plan/ip-ban.jpg new file mode 100644 index 000000000..d47531be6 Binary files /dev/null and b/images/my-next-plan/ip-ban.jpg differ diff --git a/images/my-next-plan/lecture.jpg b/images/my-next-plan/lecture.jpg new file mode 100644 index 000000000..2a47fe1a2 Binary files /dev/null and b/images/my-next-plan/lecture.jpg differ diff --git a/images/my-next-plan/transfer.jpg b/images/my-next-plan/transfer.jpg new file mode 100644 index 000000000..f5f5c0c8a Binary files /dev/null and b/images/my-next-plan/transfer.jpg differ diff --git a/images/new-garden-from-scratch/add-hexo-render.jpg b/images/new-garden-from-scratch/add-hexo-render.jpg new file mode 100644 index 000000000..0a86a7a05 Binary files /dev/null and b/images/new-garden-from-scratch/add-hexo-render.jpg differ diff --git a/images/new-garden-from-scratch/cover.jpg b/images/new-garden-from-scratch/cover.jpg new file mode 100644 index 000000000..a2d1f038e Binary files /dev/null and b/images/new-garden-from-scratch/cover.jpg differ diff --git a/images/new-garden-from-scratch/post.jpg b/images/new-garden-from-scratch/post.jpg new file mode 100644 index 000000000..1a23508f6 Binary files /dev/null and b/images/new-garden-from-scratch/post.jpg differ diff --git a/images/night_city/cover.jpg b/images/night_city/cover.jpg new file mode 100644 index 000000000..dba311db1 Binary files /dev/null and b/images/night_city/cover.jpg differ diff --git a/images/night_city/night_city.jpg b/images/night_city/night_city.jpg new file mode 100644 index 000000000..038367894 Binary files /dev/null and b/images/night_city/night_city.jpg differ diff --git a/images/night_city/shenzhen_people.jpg b/images/night_city/shenzhen_people.jpg new file mode 100644 index 000000000..de11c1982 Binary files /dev/null and b/images/night_city/shenzhen_people.jpg differ diff --git a/images/night_city/the_night.jpg b/images/night_city/the_night.jpg new file mode 100644 index 000000000..10adbd6a9 Binary files /dev/null and b/images/night_city/the_night.jpg differ diff --git a/images/night_city/words.jpg b/images/night_city/words.jpg new file mode 100644 index 000000000..e9db572b6 Binary files /dev/null and b/images/night_city/words.jpg differ diff --git a/images/project-in-Apr/altogether.jpg b/images/project-in-Apr/altogether.jpg new file mode 100644 index 000000000..47985b6d7 Binary files /dev/null and b/images/project-in-Apr/altogether.jpg differ diff --git a/images/project-in-Apr/cover.jpg b/images/project-in-Apr/cover.jpg new file mode 100644 index 000000000..3a64228dc Binary files /dev/null and b/images/project-in-Apr/cover.jpg differ diff --git a/images/project-in-Apr/deal_with.jpg b/images/project-in-Apr/deal_with.jpg new file mode 100644 index 000000000..05aa91e79 Binary files /dev/null and b/images/project-in-Apr/deal_with.jpg differ diff --git a/images/project-in-Apr/happy_dog.jpg b/images/project-in-Apr/happy_dog.jpg new file mode 100644 index 000000000..7f0e81399 Binary files /dev/null and b/images/project-in-Apr/happy_dog.jpg differ diff --git a/images/project-in-Apr/laborer.jpg b/images/project-in-Apr/laborer.jpg new file mode 100644 index 000000000..87d1d6b9c Binary files /dev/null and b/images/project-in-Apr/laborer.jpg differ diff --git a/images/project-in-Apr/note.jpg b/images/project-in-Apr/note.jpg new file mode 100644 index 000000000..d0e96ff0e Binary files /dev/null and b/images/project-in-Apr/note.jpg differ diff --git a/images/project-in-Apr/time.jpg b/images/project-in-Apr/time.jpg new file mode 100644 index 000000000..fa5b82409 Binary files /dev/null and b/images/project-in-Apr/time.jpg differ diff --git a/images/project-in-June/Algebra_Dance.jpg b/images/project-in-June/Algebra_Dance.jpg new file mode 100644 index 000000000..6b0dc26c2 Binary files /dev/null and b/images/project-in-June/Algebra_Dance.jpg differ diff --git a/images/project-in-May/cover.jpg b/images/project-in-May/cover.jpg new file mode 100644 index 000000000..04d3990da Binary files /dev/null and b/images/project-in-May/cover.jpg differ diff --git a/images/project-in-summer/air_conditioner.jpg b/images/project-in-summer/air_conditioner.jpg new file mode 100644 index 000000000..2d8410418 Binary files /dev/null and b/images/project-in-summer/air_conditioner.jpg differ diff --git a/images/project-in-summer/cover.jpg b/images/project-in-summer/cover.jpg new file mode 100644 index 000000000..6c184612e Binary files /dev/null and b/images/project-in-summer/cover.jpg differ diff --git a/images/project-in-summer/grind.jpg b/images/project-in-summer/grind.jpg new file mode 100644 index 000000000..e97f6ff4e Binary files /dev/null and b/images/project-in-summer/grind.jpg differ diff --git a/images/project-in-summer/happy.jpg b/images/project-in-summer/happy.jpg new file mode 100644 index 000000000..8db56b678 Binary files /dev/null and b/images/project-in-summer/happy.jpg differ diff --git a/images/project-in-summer/learning.jpg b/images/project-in-summer/learning.jpg new file mode 100644 index 000000000..c38612e39 Binary files /dev/null and b/images/project-in-summer/learning.jpg differ diff --git a/images/project-in-summer/my_note.jpg b/images/project-in-summer/my_note.jpg new file mode 100644 index 000000000..91ebeb4b5 Binary files /dev/null and b/images/project-in-summer/my_note.jpg differ diff --git a/images/project-in-summer/week-3-time.jpg b/images/project-in-summer/week-3-time.jpg new file mode 100644 index 000000000..56655f9c8 Binary files /dev/null and b/images/project-in-summer/week-3-time.jpg differ diff --git a/images/question-of-graduate-student/cover.jpg b/images/question-of-graduate-student/cover.jpg new file mode 100644 index 000000000..48fa88f7f Binary files /dev/null and b/images/question-of-graduate-student/cover.jpg differ diff --git a/images/something-ihv-seen-in-2024/cover.jpg b/images/something-ihv-seen-in-2024/cover.jpg new file mode 100644 index 000000000..1d74b210b Binary files /dev/null and b/images/something-ihv-seen-in-2024/cover.jpg differ diff --git a/images/something-ihv-seen-in-2024/tiananmen.jpg b/images/something-ihv-seen-in-2024/tiananmen.jpg new file mode 100644 index 000000000..95b51674f Binary files /dev/null and b/images/something-ihv-seen-in-2024/tiananmen.jpg differ diff --git a/images/thoughts-on-delayed-retirement/cover.jpg b/images/thoughts-on-delayed-retirement/cover.jpg new file mode 100644 index 000000000..850c42723 Binary files /dev/null and b/images/thoughts-on-delayed-retirement/cover.jpg differ diff --git a/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lock_down_7.jpg b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lock_down_7.jpg new file mode 100644 index 000000000..bd22b1a6f Binary files /dev/null and b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lock_down_7.jpg differ diff --git a/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown.jpg b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown.jpg new file mode 100644 index 000000000..46fc676d4 Binary files /dev/null and b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown.jpg differ diff --git a/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_10.jpg b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_10.jpg new file mode 100644 index 000000000..5709a17b4 Binary files /dev/null and b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_10.jpg differ diff --git a/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_2.jpg b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_2.jpg new file mode 100644 index 000000000..ae92d3f7e Binary files /dev/null and b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_2.jpg differ diff --git a/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_3.jpg b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_3.jpg new file mode 100644 index 000000000..c09b06add Binary files /dev/null and b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_3.jpg differ diff --git a/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_4.jpg b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_4.jpg new file mode 100644 index 000000000..1254c17fd Binary files /dev/null and b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_4.jpg differ diff --git a/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_5.jpg b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_5.jpg new file mode 100644 index 000000000..29532e6a6 Binary files /dev/null and b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_5.jpg differ diff --git a/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_6.jpg b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_6.jpg new file mode 100644 index 000000000..c02cb238b Binary files /dev/null and b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_6.jpg differ diff --git a/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_8.jpg b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_8.jpg new file mode 100644 index 000000000..2c3b10410 Binary files /dev/null and b/images/translation-of-shanghais-stunning-fall-from-grace/shanghai_lockdown_8.jpg differ diff --git a/index.html b/index.html new file mode 100644 index 000000000..5b691a85b --- /dev/null +++ b/index.html @@ -0,0 +1,78 @@ +叶子的花园 + + + + + + + + +

写给过去的自己

cover作者没有在作品上签名,我找不到他啦……

+

中秋节的时候收到了一位读者的留言,对他的文字深有共情,却一直不知道应该怎么回复他。今天回复了一大段,感觉也算是我对过去自己说的一些话吧,就一并放在这里了。

博文高中游戏朋友

cover近期电影《异形:罗穆路斯》中的片段

+
+

Do not go gentle into that good night, Old age should burn and rave at close of day; Rage, rage against the dying of the light.

+

—— Do not go gentle into that good night, Dylan Thomas (1914-1953), Botteghe Oscure (1951)

+
博文国家政策延迟退休

希望以后能多写一点博文

cover

+

前言

自从今年初换了 MacBook 电脑以来,我每次写的东西都要用磁碟拷贝到原来的 PC 上才能发布,所以一直都想要将原来的博客本地文件迁移到这台新的电脑上。最近工作上的事告一段落,我总算是考完执照了。依照我以前的经验来看,每次以为未来会更有时间的时候,未来都会忙得要命,所以就趁着现在有空把这件事做完吧。

博文博客HexoGit

第一篇工作文档

SDD莱斯的自动化界面,与欧洲猫十分相似

+

写在前面

我在上学的时候一直有整理笔记的习惯,到了工作中也依然如此,所以就想把整理的一些笔记做成文档发上来。民航领域算是一个非常封闭的地方,互联网上总是难以查到相关的资料,特别是在中国大陆地区…… 我相信我们每个人的微薄之举都可以让互联网变得更好!所以,也希望这些资料能对需要的人有帮助吧。

博文笔记莱斯空管自动化系统管制席
\ No newline at end of file diff --git a/javascript/googlead.js b/javascript/googlead.js new file mode 100644 index 000000000..c61f1f5ca --- /dev/null +++ b/javascript/googlead.js @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/js/analytics/leancloud-visitors.js b/js/analytics/leancloud-visitors.js new file mode 100644 index 000000000..148a5a313 --- /dev/null +++ b/js/analytics/leancloud-visitors.js @@ -0,0 +1 @@ +function u(){function c(e){return e=encodeURI(e),document.getElementById(e).querySelector(".leancloud-visitors-count")}function p(e){let s=document.querySelector(".leancloud_visitors"),n=decodeURI(s.id),t=s.dataset.flagTitle;e("get",`/classes/Counter?where=${encodeURIComponent(JSON.stringify({url:n}))}`).then(o=>o.json()).then(({results:o})=>{if(o.length>0){let r=o[0];c(n).innerText=r.time+1,e("put",`/classes/Counter/${r.objectId}`,{time:{__op:"Increment",amount:1}}).catch(l=>{console.error("Failed to save visitor count",l)})}else e("post","/classes/Counter",{title:t,url:n,time:1}).then(r=>r.json()).then(()=>{c(n).innerText=1}).catch(r=>{console.error("Failed to create",r)})}).catch(o=>{console.error("LeanCloud Counter Error",o)})}function h(e){let n=[...document.querySelectorAll(".leancloud_visitors")].map(t=>decodeURI(t.id));e("get",`/classes/Counter?where=${encodeURIComponent(JSON.stringify({url:{$in:n}}))}`).then(t=>t.json()).then(({results:t})=>{for(let o of n){let r=t.find(l=>l.url===o);c(o).innerText=r?r.time:0}}).catch(t=>{console.error("LeanCloud Counter Error",t)})}let{app_id:i,app_key:f,server_url:m}=CONFIG.leancloudVisitors;function a(e){let s=(n,t,o)=>fetch(`${e}/1.1${t}`,{method:n,headers:{"X-LC-Id":i,"X-LC-Key":f,"Content-Type":"application/json"},body:JSON.stringify(o)});CONFIG.page.isPost?p(s):document.querySelectorAll(".post-title-link").length>=1&&h(s)}let d=m||`https://${i.slice(0,8).toLowerCase()}.api.lncldglobal.com`;d?a(d):fetch(`https://app-router.leancloud.cn/2/route?appId=${i}`).then(e=>e.json()).then(({api_server:e})=>{a(`https://${e}`)})}document.addEventListener("DOMContentLoaded",u);document.addEventListener("pjax:success",u); diff --git a/js/chunk-72ZP56JR.js b/js/chunk-72ZP56JR.js new file mode 100644 index 000000000..bfccbf0ba --- /dev/null +++ b/js/chunk-72ZP56JR.js @@ -0,0 +1 @@ +import{a as d}from"./chunk-FEIY7W7S.js";var w={};d(w,{copyright:()=>u,getScript:()=>y,insertCopyCodeBtn:()=>g,isHome:()=>p,registerScrollPercent:()=>f,registerToggleSidebar:()=>b,renderKatex:()=>h,wrapTable:()=>m});HTMLElement.prototype.wrap=function(t){this.parentNode.insertBefore(t,this),this.parentNode.removeChild(this),t.appendChild(this)};function u(){console.log(`%c \u2601\uFE0F hexo-theme-yun ${window.CONFIG.version} %c https://github.com/YunYouJun/hexo-theme-yun`,"color: white; background: #0078E7; padding:5px 0;","padding:4px;border:1px solid #0078E7;")}var p=()=>window.location.pathname===window.CONFIG.root,m=()=>{document.querySelectorAll("table").forEach(t=>{let o=document.createElement("div");o.className="table-container",t.wrap(o)})};function y(t,o,n){if(n)o();else{let r=document.createElement("script");r.onload=()=>{setTimeout(o)},r.src=t,document.head.appendChild(r)}}function g(){document.querySelectorAll("pre[class*='language-']").forEach(o=>{if(!window.CONFIG.copycode)return;let n=document.createElement("div");n.className="code-container",o.wrap(n),n.insertAdjacentHTML("beforeend",'
');let r=n.querySelector(".copy-btn");r.addEventListener("click",()=>{let i=(n.querySelector("code[class*='language-']")||n.querySelector(".token")).innerText,e=document.createElement("textarea");e.style.top=`${window.scrollY}px`,e.style.position="absolute",e.style.opacity="0",e.readOnly=!0,e.value=i,document.body.append(e),e.select(),e.setSelectionRange(0,i.length),e.readOnly=!1;let s=document.execCommand("copy"),a=s?"ri:check-line":"ri:timer-line",l=r.querySelector(".iconify");l.dataset.icon=a,l.setAttribute("style",`color:${s?"green":"red"}`),e.blur(),r.blur(),document.body.removeChild(e)}),n.addEventListener("mouseleave",()=>{setTimeout(()=>{let c=r.querySelector(".iconify");c.dataset.icon="ri:file-copy-line",c.setAttribute("style","color:gray")},200)})})}function h(t){typeof window.renderMathInElement<"u"?window.renderMathInElement(document.body,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}],...t}):console.error("Please check if you have introduced KaTeX(https://github.com/KaTeX/KaTeX) CDN.")}function f(){let t=document.querySelector("#back-to-top"),o=document.querySelector("#progressCircle");if(!t)return;function n(r){let c=document.body.clientHeight,i=window.innerHeight,e=o.r.baseVal.value*2*Math.PI,s=e-r/(c-i)*e;o.setAttribute("stroke-dasharray",`${e} ${e}`),o.setAttribute("stroke-dashoffset",s.toString())}window.addEventListener("scroll",()=>{t.classList.toggle("show",window.scrollY>64),n(window.scrollY)})}function b(){document.querySelectorAll(".sidebar-toggle").forEach(o=>{o.addEventListener("click",()=>{document.querySelector(".hamburger").classList.toggle("is-active"),document.querySelector(".container").classList.toggle("sidebar-open")})})}export{u as a,p as b,m as c,y as d,g as e,h as f,f as g,b as h,w as i}; diff --git a/js/chunk-FEIY7W7S.js b/js/chunk-FEIY7W7S.js new file mode 100644 index 000000000..d98ecd669 --- /dev/null +++ b/js/chunk-FEIY7W7S.js @@ -0,0 +1 @@ +var d=Object.defineProperty;var e=(c,a)=>{for(var b in a)d(c,b,{get:a[b],enumerable:!0})};export{e as a}; diff --git a/js/comments/disqus.js b/js/comments/disqus.js new file mode 100644 index 000000000..bb405d5f9 --- /dev/null +++ b/js/comments/disqus.js @@ -0,0 +1 @@ +function t(){let e=typeof window<"u",s=e&&!("onscroll"in window)||typeof navigator<"u"&&/(gle|ing|ro|msn)bot|crawl|spider|yand|duckgo/i.test(navigator.userAgent),o=e&&"IntersectionObserver"in window;if(!s&&o){let n=new IntersectionObserver(i=>{i[0].isIntersecting&&(window.loadDisqus(),n.disconnect())},{threshold:[0]});n.observe(document.getElementById("disqus_thread"))}else window.loadDisqus()}setTimeout(t,100); diff --git a/js/comments/waline.js b/js/comments/waline.js new file mode 100644 index 000000000..fcc6a2f07 --- /dev/null +++ b/js/comments/waline.js @@ -0,0 +1 @@ +import{d as n}from"../chunk-72ZP56JR.js";import"../chunk-FEIY7W7S.js";function i(){n(window.CONFIG.waline.cdn,()=>{window.Waline.init(window.CONFIG.waline.config)},window.Waline)}document.addEventListener("DOMContentLoaded",i);document.addEventListener("pjax:success",i); diff --git a/js/gallery-decrypt.js b/js/gallery-decrypt.js new file mode 100644 index 000000000..8ff790083 --- /dev/null +++ b/js/gallery-decrypt.js @@ -0,0 +1 @@ +import"./chunk-FEIY7W7S.js";function s(e,t){return window.CryptoJS.AES.decrypt(e,t).toString(window.CryptoJS.enc.Utf8)}function i(){let t=document.getElementById("decrypt-password").value,p=document.getElementById("decryptContainer"),m=document.getElementById("lightgallery");if(t){let o=document.querySelectorAll(".photo-list-item"),d=s(o[0].dataset.src,t);d.startsWith("http")||d.startsWith("/")?(p.style.display="none",m.style.display="flex",o.forEach(n=>{let a=s(n.dataset.src,t);n.dataset.src=a;let r=n.querySelector(".photo-list-cover"),c=s(r.alt,t),l=s(r.title,t);n.dataset.subHtml=`

${c}

${l}

`,r.src=a,r.alt=c,r.title=l,n.querySelector("figcaption").innerText=c})):(alert("Decrypt Error!"),window.location.reload())}}function y(){let e=document.getElementById("decryptButton");e&&(e.onclick=i,document.getElementById("decrypt-password").addEventListener("keydown",t=>{t.key==="Enter"&&i()}))}document.addEventListener("DOMContentLoaded",y);document.addEventListener("pjax:success",y);export{s as decrypt,i as decryptAll,y as initGalleryDecrypt}; diff --git a/js/hexo-theme-yun.js b/js/hexo-theme-yun.js new file mode 100644 index 000000000..399ff603e --- /dev/null +++ b/js/hexo-theme-yun.js @@ -0,0 +1 @@ +import{a as n,d as t,i as e}from"./chunk-72ZP56JR.js";import"./chunk-FEIY7W7S.js";window.Yun.utils=e;function i(){window.Yun.utils.registerToggleSidebar(),window.Yun.utils.registerScrollPercent(),window.Yun.utils.insertCopyCodeBtn(),window.Yun.utils.wrapTable(),t(window.CONFIG.vendors.darken,()=>{new window.darken({container:"html",class:"dark",toggle:"#toggle-mode-btn"})},window.darken)}n();document.addEventListener("DOMContentLoaded",i);export{e as utils}; diff --git a/js/pjax.js b/js/pjax.js new file mode 100644 index 000000000..3b7b15c86 --- /dev/null +++ b/js/pjax.js @@ -0,0 +1 @@ +import{b as e,f as n}from"./chunk-72ZP56JR.js";import"./chunk-FEIY7W7S.js";function t(){new window.Pjax({selectors:["title",".js-Pjax","main","aside"]})}function d(){e(),n()}document.addEventListener("DOMContentLoaded",t);document.addEventListener("DOMContentLoaded",e);document.addEventListener("pjax:success",d); diff --git a/js/say.js b/js/say.js new file mode 100644 index 000000000..01f2e832c --- /dev/null +++ b/js/say.js @@ -0,0 +1 @@ +import{b as s}from"./chunk-72ZP56JR.js";import"./chunk-FEIY7W7S.js";function n(o,e,t){let i=document.querySelector("#say-content"),c=document.querySelector("#say-author"),a=document.querySelector("#say-from");i.innerText=o,e&&(c.innerText=e),t&&(a.innerText=`\u300C${t}\u300D`)}function r(){window.CONFIG.say.api&&fetch(window.CONFIG.say.api).then(o=>{if(o.ok)o.json().then(e=>{if(window.CONFIG.say.hitokoto)n(e.hitokoto,e.from_who,e.from);else{let t=e[Math.floor(Math.random()*e.length)];t.content?n(t.content,t.author,t.from):n(t)}});else throw new Error(`${window.CONFIG.say.api}, HTTP error, status = ${o.status}`)}).catch(o=>{console.error(o.message)})}document.addEventListener("DOMContentLoaded",r);document.addEventListener("pjax:success",()=>{s()&&r()});export{r as fetchApiToSay,n as say}; diff --git a/js/search/algolia-search.js b/js/search/algolia-search.js new file mode 100644 index 000000000..446a7e84a --- /dev/null +++ b/js/search/algolia-search.js @@ -0,0 +1,7 @@ +document.addEventListener("DOMContentLoaded",()=>{let a=window.CONFIG.algolia,{indexName:t,appID:n,apiKey:o}=a,s=window.instantsearch({indexName:t,searchClient:window.algoliasearch(n,o),searchFunction:i=>{document.querySelector(".search-input").value&&i.search()}});s.addWidgets([window.instantsearch.widgets.configure({hitsPerPage:a.hits.per_page||8}),window.instantsearch.widgets.searchBox({container:".search-input-container",placeholder:window.CONFIG.i18n.placeholder,showReset:!1,showSubmit:!1,showLoadingIndicator:!1,cssClasses:{input:"search-input"}}),window.instantsearch.widgets.stats({container:"#algolia-stats",templates:{text:i=>`${window.CONFIG.i18n.hits_time.replace(/\$\{hits}/,i.nbHits).replace(/\$\{time}/,i.processingTimeMS)} + + Algolia + +
`}}),window.instantsearch.widgets.hits({container:"#algolia-hits",templates:{item:i=>`${i._highlightResult.title.value}`,empty:i=>`
+ ${window.CONFIG.i18n.empty.replace(/\$\{query}/,i.query)} +
`},cssClasses:{item:"algolia-hit-item"}}),window.instantsearch.widgets.pagination({container:"#algolia-pagination",scrollTo:!1,showFirst:!1,showLast:!1,templates:{first:'',last:'',previous:'',next:''},cssClasses:{root:"pagination",item:"pagination-item",link:"page-number",selectedItem:"current",disabledItem:"disabled-item"}})]),s.start()}); diff --git a/js/search/local-search.js b/js/search/local-search.js new file mode 100644 index 000000000..14015a3c1 --- /dev/null +++ b/js/search/local-search.js @@ -0,0 +1,3 @@ +document.addEventListener("DOMContentLoaded",()=>{let c=window.CONFIG,d=window.CONFIG.local_search.path;if(!d){console.warn("`hexo-generator-searchdb` plugin is not installed!");return}let t=new LocalSearch({path:d,top_n_per_article:c.localsearch.top_n_per_article,unescape:c.localsearch.unescape}),i=document.querySelector(".search-input"),o=()=>{if(!t.isfetched)return;let s=i.value.trim().toLowerCase(),l=s.split(/[-\s]+/),n=document.querySelector(".search-result-container"),a=[];if(s.length>0&&(a=t.getResultItems(l)),l.length===1&&l[0]==="")n.classList.add("no-result"),n.innerHTML='
';else if(a.length===0)n.classList.add("no-result"),n.innerHTML='
';else{a.sort((e,r)=>e.includedCount!==r.includedCount?r.includedCount-e.includedCount:e.hitCount!==r.hitCount?r.hitCount-e.hitCount:r.id-e.id);let u=c.i18n.hits.replace(/\$\{hits}/,a.length);n.classList.remove("no-result"),n.innerHTML=`
${u}
+
+ `}};t.highlightSearchWords(document.querySelector(".post-body")),c.localsearch.preload&&t.fetchData(),c.localsearch.trigger==="auto"?i.addEventListener("input",o):(document.querySelector(".search-icon").addEventListener("click",o),i.addEventListener("keypress",s=>{s.key==="Enter"&&o()})),window.addEventListener("search:loaded",o),document.querySelectorAll(".popup-trigger").forEach(s=>{s.addEventListener("click",()=>{document.body.classList.add("search-active"),setTimeout(()=>i.focus(),500),t.isfetched||t.fetchData()})})}); diff --git a/js/sidebar.js b/js/sidebar.js new file mode 100644 index 000000000..47910d60f --- /dev/null +++ b/js/sidebar.js @@ -0,0 +1 @@ +function u(o){if(o.classList.contains("active-current"))return;document.querySelectorAll(".post-toc .active").forEach(s=>{s.classList.remove("active","active-current")}),o.classList.add("active","active-current");let c=o.parentNode;for(;!c.matches(".post-toc");)c.matches("li")&&c.classList.add("active"),c=c.parentNode}function f(){let o=document.querySelectorAll(".post-toc li");if(!o.length)return;let c=[...o].map(t=>{let e=t.querySelector(".toc-link"),n=document.getElementById(decodeURI(e.getAttribute("href")).replace("#",""));return e.addEventListener("click",a=>{a.preventDefault(),window.scrollTo(0,n.offsetTop+1)}),n});function s(t){let e=0,n=t[e];if(n.boundingClientRect.top>0)return e=c.indexOf(n.target),e===0?0:e-1;for(;e{let i=document.documentElement.scrollHeight+100;if(i>t){a.disconnect(),r(i);return}let l=s(n);u(o[l])},{rootMargin:`${t}px 0px -100% 0px`,threshold:0});c.forEach(n=>{n&&e.observe(n)})}r(document.documentElement.scrollHeight)}function d(){let o="sidebar-nav-active",c="sidebar-panel-active";function s(){let t=document.querySelector(".sidebar-nav-toc"),e="ri:list-ordered",n="ri:list-unordered";t&&t.addEventListener("click",()=>{if(console.log("click"),t.classList.contains(o)){let i=t.querySelector(".iconify");i.dataset.icon=i.dataset.icon===e?n:e,document.querySelectorAll(".toc-number").forEach(l=>{l.classList.toggle("hidden")})}})}function r(){document.querySelectorAll(".sidebar-nav li").forEach(e=>{e.onclick=function(){this.classList.contains(o)||(document.querySelector(`.${c}`).classList.remove(c),document.querySelector(`#${this.dataset.target}`).classList.add(c),document.querySelector(`.${o}`).classList.remove(o),this.classList.add(o))}})}s(),r(),f()}document.addEventListener("DOMContentLoaded",d);document.addEventListener("pjax:success",d); diff --git a/js/ui/banner.js b/js/ui/banner.js new file mode 100644 index 000000000..fa5f908ed --- /dev/null +++ b/js/ui/banner.js @@ -0,0 +1 @@ +import"../chunk-FEIY7W7S.js";function u(t,a){return Math.random()*(a-t)+t}function y(t){let a=0,r=document.querySelector(".vertical-line-top"),o=document.querySelector(".vertical-line-bottom"),s=document.querySelector(".banner-char-container");s.innerHTML="";for(let n=0;n${m}`;let d=`${c}rem`;e.classList.add("char-box"),s.appendChild(e),n%2===0?(e.classList.add("char-left"),e.style.animationName="char-move-left"):(e.classList.add("char-right"),e.style.animationName="char-move-right"),e.style.setProperty("--banner-char-size",d);let h=window.getComputedStyle(document.getElementsByClassName("char-box")[n]).getPropertyValue("width");e.style.setProperty("--banner-empty-border-size",h),a+=c}let i=`calc(50vh - ${a/2}rem)`;r.style.setProperty("--banner-line-height",i),o.style.setProperty("--banner-line-height",i),r.style.animationName="extend-line",o.style.animationName="extend-line"}function l(){document.getElementById("banner")&&setTimeout(()=>{y(window.CONFIG.title)},50)}document.addEventListener("DOMContentLoaded",l);document.addEventListener("pjax:success",l);export{u as random}; diff --git a/js/ui/fireworks.js b/js/ui/fireworks.js new file mode 100644 index 000000000..0134fad26 --- /dev/null +++ b/js/ui/fireworks.js @@ -0,0 +1 @@ +function P(e){let s=["102, 167, 221","62, 131, 225","33, 78, 194"];e=Object.assign({colors:s,numberOfParticles:20,orbitRadius:{min:50,max:100},circleRadius:{min:10,max:20},diffuseRadius:{min:50,max:100},animeDuration:{min:900,max:1500}},e);let u=0,l=0,c=e.colors||s,o=document.querySelector(".fireworks"),t=o.getContext("2d");function m(n){n.width=window.innerWidth,n.height=window.innerHeight,n.style.width=`${window.innerWidth}px`,n.style.height=`${window.innerHeight}px`}function h(n){u=n.clientX||(n.touches[0]?n.touches[0].clientX:n.changedTouches[0].clientX),l=n.clientY||(n.touches[0]?n.touches[0].clientY:n.changedTouches[0].clientY)}function f(n){let a=window.anime.random(0,360)*Math.PI/180,i=window.anime.random(e.diffuseRadius.min,e.diffuseRadius.max),d=[-1,1][window.anime.random(0,1)]*i;return{x:n.x+d*Math.cos(a),y:n.y+d*Math.sin(a)}}function x(n,a){let i={x:n,y:a,color:`rgba(${c[window.anime.random(0,c.length-1)]},${window.anime.random(.2,.8)})`,radius:window.anime.random(e.circleRadius.min,e.circleRadius.max),endPos:null,draw(){}};return i.endPos=f(i),i.draw=function(){t.beginPath(),t.arc(i.x,i.y,i.radius,0,2*Math.PI,!0),t.fillStyle=i.color,t.fill()},i}function b(n,a){let i={x:n,y:a,color:"#000",radius:.1,alpha:.5,lineWidth:6,draw(){}};return i.draw=function(){t.globalAlpha=i.alpha,t.beginPath(),t.arc(i.x,i.y,i.radius,0,2*Math.PI,!0),t.lineWidth=i.lineWidth,t.strokeStyle=i.color,t.stroke(),t.globalAlpha=1},i}function w(n){for(let a=0;a{t.clearRect(0,0,o.width,o.height)}});document.addEventListener("mousedown",n=>{p.play(),h(n),g(u,l)},!1),m(o),window.addEventListener("resize",()=>{m(o)},!1)}document.addEventListener("DOMContentLoaded",()=>{let e={};window.CONFIG.fireworks.colors&&(e.colors=window.CONFIG.fireworks.colors),P(e)}); diff --git a/js/utils.js b/js/utils.js new file mode 100644 index 000000000..5e8e8e6d2 --- /dev/null +++ b/js/utils.js @@ -0,0 +1 @@ +import{a,b,c,d,e,f,g,h}from"./chunk-72ZP56JR.js";import"./chunk-FEIY7W7S.js";export{a as copyright,d as getScript,e as insertCopyCodeBtn,b as isHome,g as registerScrollPercent,h as registerToggleSidebar,f as renderKatex,c as wrapTable}; diff --git a/links/index.html b/links/index.html new file mode 100644 index 000000000..9ae7ecf37 --- /dev/null +++ b/links/index.html @@ -0,0 +1,81 @@ +我的小伙伴们 | 叶子的花园 + + + + + + + + + + +
如果您有任何关于博客内容的相关讨论,欢迎前往 GitHub Discussions 与我交流。
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/page/2/index.html b/page/2/index.html new file mode 100644 index 000000000..d9056bbc4 --- /dev/null +++ b/page/2/index.html @@ -0,0 +1,96 @@ +叶子的花园 + + + + + + + + +

虽然距离周年还有些日子,不过我们提前一点纪念也无妨

cover烟花也是花!

+

这次标题中的「红英」一词,取自唐代诗人鱼玄机的《卖残牡丹》,原诗云:

+
+

红英只称生宫里,翠叶那堪染路尘。

+

及至移根上林苑,王孙方恨买无因。

+
+

正巧近日古诗文网的 RSS 每日一诗推荐过这首,读过以后感觉很美,就用在了这里。

+

那就简单地写一下吧。

博文Cloudflare域名周年红英

第三篇摘录是一个很喜欢的科幻短篇

作者:哈利·托特达夫(Harry Turtledove)
译者:姚人杰

+
+

这次我新转载了一篇小时候在《科幻世界》上看过的小说,现在再读,仍旧是一个令人惊叹的好故事,特意摘录,希望大家也能感受一番科幻的魅力!(所有权利归原作者、译者与出版社所有)

+
摘录科幻短篇异星歧途

2023-06-12 —— 2023-06-18

2400_cover夜晚的维多利亚港

+

本周非常开心,因为在我处理完那些杂事以后,终于开始了我的毕业旅行。本来我与不同的朋友们计划了好几个行程,结果学校突然改变了拍摄毕业照的时间,因此可能有一些行程最后去不了了。也正是由于此,我十分珍惜这次的旅行。

+
+ +
+

⚠️ 本周有大量照片,请注意流量消耗。

+
+
周记照片毕业旅行香港澳门那年今日

2023-05-29 —— 2023-06-04

2200_cover本周的封面图来自推特画师 852 話

+

第 21 周的周记呢?我不知道你在说什么(

+

另外,这个标题并不是说大飞机是大便,而是我这周要去做毕业设计的答辩,希望在场的老师们不要认为我的论文是大便 💩,要是能象征性地问几个问题就让我过,那就再好不过了。

周记国产大飞机 C919答辩洗牙
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/page/3/index.html b/page/3/index.html new file mode 100644 index 000000000..c2e7f7034 --- /dev/null +++ b/page/3/index.html @@ -0,0 +1,87 @@ +叶子的花园 + + + + + + + + +

2023-04-03 —— 2023-04-09

1400_dragon虽然我觉得这只地下的胖龙有失龙族颜面,不过还是打算将它作为封面吉祥物啦(绘图来自画师 @Ashley Bond

+

前言

这周过得不算好,因为申请学校准备文书的关系,作息也非常的糟糕,运动也没怎么顾得上。好在我在周末已经基本上完成了所有的申请准备工作,周末看了 DND 的电影,现在已经满血复活啦!

周记潜意识域名邮件Cloudflare龙与地下城:侠盗荣耀DND语言学习

2023-03-27 —— 2023-04-02

1300_cover这是一个非周期单密铺的图形,是不是好漂亮!

+

前言

本周的 real life 非常的充实,online life 也在充实之余为我提供了好些慰藉。运动与锻炼也没有落下,就是雨水太多了,有一天甚至跑到一半就下雨了……

+

这周室友们依然不在寝室,虽然也蛮想念他们的,不过不被人打扰的作息真是太棒了(

周记三方协议拓扑数学UNESCO坂本龙一信使

2023-03-20 —— 2023-03-26

1200_cover

+

前言

本周其实是蛮寻常的一周,少有新鲜的事情,所以就写得少了些。哎呀,其实不是我想窝在学校里,因为广州这周一连下了好多天的大雨,我想出去也无处可去嘛……

+

但我的室友们都去外地玩/回家了,我却没有这个机会,真是太羡慕他们了。

周记冰雹宣讲会博客影评运动

2023-03-13 —— 2023-03-19

1100_cover封面图来自上官绯樱(@jokanhiyou),欢迎大家在Twitter上关注她!

+

凡事都有第一次的嘛……

+

前段时间看到好些推油每周都会写些周记,记录日常生活。我其实也一直在记,但多是给自己看的,想了想自己长草多日的博客,还是太惭愧了。所以就想尝试一下,写一些新的周记放在博客上面,以免博客变得微风卷绿浪,草原暗花香(

周记博客除草生日

未完待续,或者没有后续了

cover

+

不同于我的第一篇笔记,仅仅是对 SQL 语句做了最基础的了解;在上一篇文章中,我们跟着《SQL 基础教程》成体系地学习了数据库语言的基础操作,现在我们将对数据库进行更深一步地学习。在完成这段学习以后,相信在面对相关领域的问题时,我们都不会再一头雾水、不知所措了。

+

这应该是这段时间的《SQL 学习笔记》的最后一篇了。

博文笔记知识SQL《SQL基础教程》

开始深入(我仿佛逐渐理解了一切)

cover题图还是来自于网络

+

紧接「上篇」,我认为虽然在 SQL 语句方面已经入门、有开箱即用的水平了,但对数据库相关知识的理解还是半瓶水的状态,所以我找了一本日本人 MICK 写的《SQL 基础教程》,想作进一步的学习。本书中所有的例程均以 ISO 制定的标准语法 SQL:2011 展现,虽然这最初出版于 2011 年,已经有些老了,但入门嘛,老一点也没关系,先学好基础,再徐徐图之。

博文笔记知识SQL《SQL基础教程》
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/page/4/index.html b/page/4/index.html new file mode 100644 index 000000000..6c04c01dc --- /dev/null +++ b/page/4/index.html @@ -0,0 +1,97 @@ +叶子的花园 + + + + + + + + +

开始入门

cover题图来自网络

+

作为一个只会增删查改、从来没有系统性学习数据库的小白,这些天有了一个契机来学习相关的知识,便想到以此开一篇新的学习博文,记录一些关键语句与自己的理解。

+

本篇笔记主要是基于菜鸟教程的内容进行初步的学习。至少在快速入门这方面,菜鸟教程还从未让我失望过。

博文笔记知识SQL

我的考研生活
cover + +
+

Space: the final frontier. These are the voyages of the starship Enterprise. Its continuing mission: to explore strange new worlds, to seek out new life and new civilizations, to boldly go where no one has gone before.

+

—— Star Trek

+
计划杂思考研简记

我的考研生活

Algebra_DanceAlgebra Dance

+
+

Wine can’t satisfy my needs, food in my throat to dust, once how I drunk a lavish life can satisfy my desire. Forget those horrible ghost story, I was living in the real nightmare, I am not living, but also won’t die, moonlight will let I betray oneself, let me in the living body walking in the world.

+

—— Hector Barbossa (Pirates of the Caribbean)

+
计划杂思考研简记

第二篇摘录是鲁迅的文章

作者:鲁迅

+

鲁迅文集・杂文集・三闲集①
一九二七年二月十六日在香港青年会②讲

+
+

我在写下个月计划、查阅鲁迅某话来源时,读到了这篇文章,感受到了前人的精神气,就摘录在这里了。

+
摘录鲁迅演讲

尝试翻译了 Jaap 的一篇博文
+

这是一名生活在上海的荷兰人 Jaap Grolleman 所写的一篇博客文章,原文 Shanghai’s stunning fall from grace 于 2022 年 4 月 9 日发表在他的个人博客上。我看到后心血来潮,取得作者同意后,尝试翻译了这篇文章,译文在经 Jaap 过目后发表在这里。

+

虽然我在翻译过程中,始终秉持着严复先生提出的「信达雅」,但我的英语水平很一般,这也是我第一次翻译这样长的文本。如果对拙作有疑义,请点开原文链接阅读,若能为我指出错误,我将感激不尽!

+

最后,感谢 QP 与 GYY 对本文的润色帮助,谢谢你们帮我改正了文中许多 Chinglish 的翻译,非常感谢!

+
翻译上海疫情生活
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/page/5/index.html b/page/5/index.html new file mode 100644 index 000000000..203fb4723 --- /dev/null +++ b/page/5/index.html @@ -0,0 +1,95 @@ +叶子的花园 + + + + + + + + +

摘录了一篇很喜欢的文章

作者:梁遇春

+
+

我第一次读到,是在高中时的一次语文考试中,这篇文章作为阅读理解,给我留下了极其深刻的印象。一直到现在,社会上的一些事情还时常能让我想起梁遇春先生的这篇散文。所以我就想在博客上也摘录一份,算是收藏在这里了。

+
摘录梁遇春散文

关于这次寒假写什么和想写什么

hit-your-dog-head图源自网络(我知道是鸡汤但他说得好有道理.jpg)

+
+

“你需要的是一个截稿日,以及一个不交稿就能打爆你狗头的人。”

+
博文计划写作

和关于我为什么想要搭建自己的博客

我的博客.png

+

这几天我按照云游前辈(@YunYouJun)的教程终于搭建了自己的博客,还是蛮有成就感的。虽然我在博客的搭建和运行的过程中,仍是有许多的地方理解不了,但这个博客至少现在“五脏俱全”了。而其他的高级和自定义的功能,在以后的日子里慢慢学习、摸索也不迟。

+

可是,为什么想要搭建一个自己的博客呢?

杂思
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/page/6/index.html b/page/6/index.html new file mode 100644 index 000000000..9381c1de2 --- /dev/null +++ b/page/6/index.html @@ -0,0 +1,68 @@ +叶子的花园 + + + + + + + + +

Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/placeholder b/placeholder deleted file mode 100644 index e69de29bb..000000000 diff --git a/tags/2023/index.html b/tags/2023/index.html new file mode 100644 index 000000000..1e317e576 --- /dev/null +++ b/tags/2023/index.html @@ -0,0 +1,68 @@ +标签 - 2023 | 叶子的花园 + + + + + + + + +

2023

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/tags/Cloudflare/index.html b/tags/Cloudflare/index.html new file mode 100644 index 000000000..477cd41dc --- /dev/null +++ b/tags/Cloudflare/index.html @@ -0,0 +1,68 @@ +标签 - Cloudflare | 叶子的花园 + + + + + + + + +
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/tags/DND/index.html b/tags/DND/index.html new file mode 100644 index 000000000..8baabea75 --- /dev/null +++ b/tags/DND/index.html @@ -0,0 +1,68 @@ +标签 - DND | 叶子的花园 + + + + + + + + +

DND

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/tags/Git/index.html b/tags/Git/index.html new file mode 100644 index 000000000..cbed93b9d --- /dev/null +++ b/tags/Git/index.html @@ -0,0 +1,68 @@ +标签 - Git | 叶子的花园 + + + + + + + + +

Git

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/tags/Hexo/index.html b/tags/Hexo/index.html new file mode 100644 index 000000000..c928c66d5 --- /dev/null +++ b/tags/Hexo/index.html @@ -0,0 +1,68 @@ +标签 - Hexo | 叶子的花园 + + + + + + + + +

Hexo

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/tags/OpenMV/index.html b/tags/OpenMV/index.html new file mode 100644 index 000000000..20c0d769b --- /dev/null +++ b/tags/OpenMV/index.html @@ -0,0 +1,68 @@ +标签 - OpenMV | 叶子的花园 + + + + + + + + +

OpenMV

2021

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/tags/QT/index.html b/tags/QT/index.html new file mode 100644 index 000000000..bf79ac449 --- /dev/null +++ b/tags/QT/index.html @@ -0,0 +1,68 @@ +标签 - QT | 叶子的花园 + + + + + + + + +
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/tags/SQL/index.html b/tags/SQL/index.html new file mode 100644 index 000000000..d1fb3d612 --- /dev/null +++ b/tags/SQL/index.html @@ -0,0 +1,68 @@ +标签 - SQL | 叶子的花园 + + + + + + + + +

SQL

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/tags/UNESCO/index.html b/tags/UNESCO/index.html new file mode 100644 index 000000000..0aaaae201 --- /dev/null +++ b/tags/UNESCO/index.html @@ -0,0 +1,68 @@ +标签 - UNESCO | 叶子的花园 + + + + + + + + +

UNESCO

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/tags/Ubuntu/index.html b/tags/Ubuntu/index.html new file mode 100644 index 000000000..0c717f3b1 --- /dev/null +++ b/tags/Ubuntu/index.html @@ -0,0 +1,68 @@ +标签 - Ubuntu | 叶子的花园 + + + + + + + + +

Ubuntu

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/tags/iPhone/index.html b/tags/iPhone/index.html new file mode 100644 index 000000000..da5949ce4 --- /dev/null +++ b/tags/iPhone/index.html @@ -0,0 +1,68 @@ +标签 - iPhone | 叶子的花园 + + + + + + + + +

iPhone

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 000000000..635b7b81f --- /dev/null +++ b/tags/index.html @@ -0,0 +1,70 @@ +标签 | 叶子的花园 + + + + + + + + + + +
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/tags/ns-3/index.html b/tags/ns-3/index.html new file mode 100644 index 000000000..88df748a8 --- /dev/null +++ b/tags/ns-3/index.html @@ -0,0 +1,68 @@ +标签 - ns-3 | 叶子的花园 + + + + + + + + +

ns-3

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/tags/opai-gym/index.html b/tags/opai-gym/index.html new file mode 100644 index 000000000..8a4ab6b1e --- /dev/null +++ b/tags/opai-gym/index.html @@ -0,0 +1,68 @@ +标签 - opai-gym | 叶子的花园 + + + + + + + + +

opai-gym

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/tags/test/index.html b/tags/test/index.html new file mode 100644 index 000000000..ad5100a99 --- /dev/null +++ b/tags/test/index.html @@ -0,0 +1,68 @@ +标签 - test | 叶子的花园 + + + + + + + + +

test

2020

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\343\200\212SQL\345\237\272\347\241\200\346\225\231\347\250\213\343\200\213/index.html" "b/tags/\343\200\212SQL\345\237\272\347\241\200\346\225\231\347\250\213\343\200\213/index.html" new file mode 100644 index 000000000..911eeb028 --- /dev/null +++ "b/tags/\343\200\212SQL\345\237\272\347\241\200\346\225\231\347\250\213\343\200\213/index.html" @@ -0,0 +1,68 @@ +标签 - 《SQL基础教程》 | 叶子的花园 + + + + + + + + +

《SQL基础教程》

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\344\270\211\346\226\271\345\215\217\350\256\256/index.html" "b/tags/\344\270\211\346\226\271\345\215\217\350\256\256/index.html" new file mode 100644 index 000000000..2878a3ef7 --- /dev/null +++ "b/tags/\344\270\211\346\226\271\345\215\217\350\256\256/index.html" @@ -0,0 +1,68 @@ +标签 - 三方协议 | 叶子的花园 + + + + + + + + +

三方协议

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\344\270\212\346\265\267/index.html" "b/tags/\344\270\212\346\265\267/index.html" new file mode 100644 index 000000000..822c4c6f3 --- /dev/null +++ "b/tags/\344\270\212\346\265\267/index.html" @@ -0,0 +1,68 @@ +标签 - 上海 | 叶子的花园 + + + + + + + + +

上海

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\344\270\255\344\273\213/index.html" "b/tags/\344\270\255\344\273\213/index.html" new file mode 100644 index 000000000..d3712d7e3 --- /dev/null +++ "b/tags/\344\270\255\344\273\213/index.html" @@ -0,0 +1,68 @@ +标签 - 中介 | 叶子的花园 + + + + + + + + +

中介

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\344\271\246\345\275\261\345\211\247\345\215\225/index.html" "b/tags/\344\271\246\345\275\261\345\211\247\345\215\225/index.html" new file mode 100644 index 000000000..b4b2630a6 --- /dev/null +++ "b/tags/\344\271\246\345\275\261\345\211\247\345\215\225/index.html" @@ -0,0 +1,68 @@ +标签 - 书影剧单 | 叶子的花园 + + + + + + + + +

书影剧单

2023

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\344\277\241\344\275\277/index.html" "b/tags/\344\277\241\344\275\277/index.html" new file mode 100644 index 000000000..1472cbc62 --- /dev/null +++ "b/tags/\344\277\241\344\275\277/index.html" @@ -0,0 +1,68 @@ +标签 - 信使 | 叶子的花园 + + + + + + + + +

信使

2024

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\206\205\345\244\226\345\244\247\344\272\213\350\256\260/index.html" "b/tags/\345\206\205\345\244\226\345\244\247\344\272\213\350\256\260/index.html" new file mode 100644 index 000000000..385408005 --- /dev/null +++ "b/tags/\345\206\205\345\244\226\345\244\247\344\272\213\350\256\260/index.html" @@ -0,0 +1,68 @@ +标签 - 内外大事记 | 叶子的花园 + + + + + + + + +

内外大事记

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\206\231\344\275\234/index.html" "b/tags/\345\206\231\344\275\234/index.html" new file mode 100644 index 000000000..8c0edae34 --- /dev/null +++ "b/tags/\345\206\231\344\275\234/index.html" @@ -0,0 +1,68 @@ +标签 - 写作 | 叶子的花园 + + + + + + + + +

写作

2021

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\206\231\347\202\271\344\273\200\344\271\210/index.html" "b/tags/\345\206\231\347\202\271\344\273\200\344\271\210/index.html" new file mode 100644 index 000000000..87688fbeb --- /dev/null +++ "b/tags/\345\206\231\347\202\271\344\273\200\344\271\210/index.html" @@ -0,0 +1,68 @@ +标签 - 写点什么 | 叶子的花园 + + + + + + + + +

写点什么

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\206\260\351\233\271/index.html" "b/tags/\345\206\260\351\233\271/index.html" new file mode 100644 index 000000000..fec9872df --- /dev/null +++ "b/tags/\345\206\260\351\233\271/index.html" @@ -0,0 +1,68 @@ +标签 - 冰雹 | 叶子的花园 + + + + + + + + +

冰雹

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\207\272\345\233\275/index.html" "b/tags/\345\207\272\345\233\275/index.html" new file mode 100644 index 000000000..001d561d4 --- /dev/null +++ "b/tags/\345\207\272\345\233\275/index.html" @@ -0,0 +1,68 @@ +标签 - 出国 | 叶子的花园 + + + + + + + + +

出国

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\212\263\345\212\250\350\212\202/index.html" "b/tags/\345\212\263\345\212\250\350\212\202/index.html" new file mode 100644 index 000000000..7ffecc01a --- /dev/null +++ "b/tags/\345\212\263\345\212\250\350\212\202/index.html" @@ -0,0 +1,68 @@ +标签 - 劳动节 | 叶子的花园 + + + + + + + + +

劳动节

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\215\201\344\270\207\344\270\252\344\270\272\344\273\200\344\271\210/index.html" "b/tags/\345\215\201\344\270\207\344\270\252\344\270\272\344\273\200\344\271\210/index.html" new file mode 100644 index 000000000..11faaf803 --- /dev/null +++ "b/tags/\345\215\201\344\270\207\344\270\252\344\270\272\344\273\200\344\271\210/index.html" @@ -0,0 +1,68 @@ +标签 - 十万个为什么 | 叶子的花园 + + + + + + + + +

十万个为什么

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\215\232\345\256\242/index.html" "b/tags/\345\215\232\345\256\242/index.html" new file mode 100644 index 000000000..22b6c8905 --- /dev/null +++ "b/tags/\345\215\232\345\256\242/index.html" @@ -0,0 +1,68 @@ +标签 - 博客 | 叶子的花园 + + + + + + + + +

博客

2024

2023

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\215\232\345\256\242\351\231\244\350\215\211/index.html" "b/tags/\345\215\232\345\256\242\351\231\244\350\215\211/index.html" new file mode 100644 index 000000000..5448da1dd --- /dev/null +++ "b/tags/\345\215\232\345\256\242\351\231\244\350\215\211/index.html" @@ -0,0 +1,68 @@ +标签 - 博客除草 | 叶子的花园 + + + + + + + + +

博客除草

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\215\232\346\226\207/index.html" "b/tags/\345\215\232\346\226\207/index.html" new file mode 100644 index 000000000..3cb9ca1fd --- /dev/null +++ "b/tags/\345\215\232\346\226\207/index.html" @@ -0,0 +1,68 @@ +标签 - 博文 | 叶子的花园 + + + + + + + + +
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\215\232\346\226\207/page/2/index.html" "b/tags/\345\215\232\346\226\207/page/2/index.html" new file mode 100644 index 000000000..bad16b9e5 --- /dev/null +++ "b/tags/\345\215\232\346\226\207/page/2/index.html" @@ -0,0 +1,68 @@ +标签 - 博文 | 叶子的花园 + + + + + + + + +
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\217\266\345\255\220/index.html" "b/tags/\345\217\266\345\255\220/index.html" new file mode 100644 index 000000000..60fa67d8e --- /dev/null +++ "b/tags/\345\217\266\345\255\220/index.html" @@ -0,0 +1,68 @@ +标签 - 叶子 | 叶子的花园 + + + + + + + + +

叶子

2021

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\217\266\345\255\220\345\241\253\347\232\204\345\235\221/index.html" "b/tags/\345\217\266\345\255\220\345\241\253\347\232\204\345\235\221/index.html" new file mode 100644 index 000000000..94628e173 --- /dev/null +++ "b/tags/\345\217\266\345\255\220\345\241\253\347\232\204\345\235\221/index.html" @@ -0,0 +1,68 @@ +标签 - 叶子填的坑 | 叶子的花园 + + + + + + + + +

叶子填的坑

2021

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\217\266\345\255\220\347\232\204\345\235\221/index.html" "b/tags/\345\217\266\345\255\220\347\232\204\345\235\221/index.html" new file mode 100644 index 000000000..cda52f875 --- /dev/null +++ "b/tags/\345\217\266\345\255\220\347\232\204\345\235\221/index.html" @@ -0,0 +1,68 @@ +标签 - 叶子的坑 | 叶子的花园 + + + + + + + + +

叶子的坑

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\220\214\345\255\246\350\201\232\344\274\232/index.html" "b/tags/\345\220\214\345\255\246\350\201\232\344\274\232/index.html" new file mode 100644 index 000000000..43347cb40 --- /dev/null +++ "b/tags/\345\220\214\345\255\246\350\201\232\344\274\232/index.html" @@ -0,0 +1,68 @@ +标签 - 同学聚会 | 叶子的花园 + + + + + + + + +

同学聚会

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\221\250\345\271\264/index.html" "b/tags/\345\221\250\345\271\264/index.html" new file mode 100644 index 000000000..11555b676 --- /dev/null +++ "b/tags/\345\221\250\345\271\264/index.html" @@ -0,0 +1,68 @@ +标签 - 周年 | 叶子的花园 + + + + + + + + +

周年

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\221\250\350\256\260/index.html" "b/tags/\345\221\250\350\256\260/index.html" new file mode 100644 index 000000000..ecc0b2037 --- /dev/null +++ "b/tags/\345\221\250\350\256\260/index.html" @@ -0,0 +1,68 @@ +标签 - 周记 | 叶子的花园 + + + + + + + + +
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\233\275\344\272\247\345\244\247\351\243\236\346\234\272-C919/index.html" "b/tags/\345\233\275\344\272\247\345\244\247\351\243\236\346\234\272-C919/index.html" new file mode 100644 index 000000000..adb7d6c14 --- /dev/null +++ "b/tags/\345\233\275\344\272\247\345\244\247\351\243\236\346\234\272-C919/index.html" @@ -0,0 +1,68 @@ +标签 - 国产大飞机 C919 | 叶子的花园 + + + + + + + + +

国产大飞机 C919

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\233\275\345\256\266\346\224\277\347\255\226/index.html" "b/tags/\345\233\275\345\256\266\346\224\277\347\255\226/index.html" new file mode 100644 index 000000000..b12733c57 --- /dev/null +++ "b/tags/\345\233\275\345\256\266\346\224\277\347\255\226/index.html" @@ -0,0 +1,68 @@ +标签 - 国家政策 | 叶子的花园 + + + + + + + + +

国家政策

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\233\275\346\256\207\344\271\213\346\237\261/index.html" "b/tags/\345\233\275\346\256\207\344\271\213\346\237\261/index.html" new file mode 100644 index 000000000..27245766e --- /dev/null +++ "b/tags/\345\233\275\346\256\207\344\271\213\346\237\261/index.html" @@ -0,0 +1,68 @@ +标签 - 国殇之柱 | 叶子的花园 + + + + + + + + +

国殇之柱

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\235\202\346\234\254\351\276\231\344\270\200/index.html" "b/tags/\345\235\202\346\234\254\351\276\231\344\270\200/index.html" new file mode 100644 index 000000000..0e3be951a --- /dev/null +++ "b/tags/\345\235\202\346\234\254\351\276\231\344\270\200/index.html" @@ -0,0 +1,68 @@ +标签 - 坂本龙一 | 叶子的花园 + + + + + + + + +

坂本龙一

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\237\237\345\220\215/index.html" "b/tags/\345\237\237\345\220\215/index.html" new file mode 100644 index 000000000..191aec50b --- /dev/null +++ "b/tags/\345\237\237\345\220\215/index.html" @@ -0,0 +1,68 @@ +标签 - 域名 | 叶子的花园 + + + + + + + + +

域名

2024

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\237\237\345\220\215\351\202\256\344\273\266/index.html" "b/tags/\345\237\237\345\220\215\351\202\256\344\273\266/index.html" new file mode 100644 index 000000000..0bc795548 --- /dev/null +++ "b/tags/\345\237\237\345\220\215\351\202\256\344\273\266/index.html" @@ -0,0 +1,68 @@ +标签 - 域名邮件 | 叶子的花园 + + + + + + + + +

域名邮件

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\237\237\345\220\215\351\202\256\347\256\261/index.html" "b/tags/\345\237\237\345\220\215\351\202\256\347\256\261/index.html" new file mode 100644 index 000000000..fb2a5601e --- /dev/null +++ "b/tags/\345\237\237\345\220\215\351\202\256\347\256\261/index.html" @@ -0,0 +1,68 @@ +标签 - 域名邮箱 | 叶子的花园 + + + + + + + + +

域名邮箱

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\244\232\351\202\273\345\233\275/index.html" "b/tags/\345\244\232\351\202\273\345\233\275/index.html" new file mode 100644 index 000000000..0fa01710e --- /dev/null +++ "b/tags/\345\244\232\351\202\273\345\233\275/index.html" @@ -0,0 +1,68 @@ +标签 - 多邻国 | 叶子的花园 + + + + + + + + +

多邻国

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\255\246\344\270\232/index.html" "b/tags/\345\255\246\344\270\232/index.html" new file mode 100644 index 000000000..978e41a47 --- /dev/null +++ "b/tags/\345\255\246\344\270\232/index.html" @@ -0,0 +1,68 @@ +标签 - 学业 | 叶子的花园 + + + + + + + + +
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\255\246\344\271\240/index.html" "b/tags/\345\255\246\344\271\240/index.html" new file mode 100644 index 000000000..0ec0d9dde --- /dev/null +++ "b/tags/\345\255\246\344\271\240/index.html" @@ -0,0 +1,68 @@ +标签 - 学习 | 叶子的花园 + + + + + + + + +

学习

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\256\211\350\243\205\347\216\257\345\242\203/index.html" "b/tags/\345\256\211\350\243\205\347\216\257\345\242\203/index.html" new file mode 100644 index 000000000..a9354dd17 --- /dev/null +++ "b/tags/\345\256\211\350\243\205\347\216\257\345\242\203/index.html" @@ -0,0 +1,68 @@ +标签 - 安装环境 | 叶子的花园 + + + + + + + + +

安装环境

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\256\243\350\256\262\344\274\232/index.html" "b/tags/\345\256\243\350\256\262\344\274\232/index.html" new file mode 100644 index 000000000..4a989bcd7 --- /dev/null +++ "b/tags/\345\256\243\350\256\262\344\274\232/index.html" @@ -0,0 +1,68 @@ +标签 - 宣讲会 | 叶子的花园 + + + + + + + + +

宣讲会

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\260\274\351\207\207/index.html" "b/tags/\345\260\274\351\207\207/index.html" new file mode 100644 index 000000000..d0eb17b15 --- /dev/null +++ "b/tags/\345\260\274\351\207\207/index.html" @@ -0,0 +1,68 @@ +标签 - 尼采 | 叶子的花园 + + + + + + + + +

尼采

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\267\245\344\275\234/index.html" "b/tags/\345\267\245\344\275\234/index.html" new file mode 100644 index 000000000..2a3fd1e22 --- /dev/null +++ "b/tags/\345\267\245\344\275\234/index.html" @@ -0,0 +1,68 @@ +标签 - 工作 | 叶子的花园 + + + + + + + + +

工作

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\271\264\347\273\210\346\200\273\347\273\223/index.html" "b/tags/\345\271\264\347\273\210\346\200\273\347\273\223/index.html" new file mode 100644 index 000000000..055c78e12 --- /dev/null +++ "b/tags/\345\271\264\347\273\210\346\200\273\347\273\223/index.html" @@ -0,0 +1,68 @@ +标签 - 年终总结 | 叶子的花园 + + + + + + + + +

年终总结

2023

2022

2021

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\273\266\350\277\237\351\200\200\344\274\221/index.html" "b/tags/\345\273\266\350\277\237\351\200\200\344\274\221/index.html" new file mode 100644 index 000000000..20a0e316a --- /dev/null +++ "b/tags/\345\273\266\350\277\237\351\200\200\344\274\221/index.html" @@ -0,0 +1,68 @@ +标签 - 延迟退休 | 叶子的花园 + + + + + + + + +

延迟退休

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\274\202\346\230\237\346\255\247\351\200\224/index.html" "b/tags/\345\274\202\346\230\237\346\255\247\351\200\224/index.html" new file mode 100644 index 000000000..d3b819d8c --- /dev/null +++ "b/tags/\345\274\202\346\230\237\346\255\247\351\200\224/index.html" @@ -0,0 +1,68 @@ +标签 - 异星歧途 | 叶子的花园 + + + + + + + + +

异星歧途

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\275\261\350\247\206/index.html" "b/tags/\345\275\261\350\247\206/index.html" new file mode 100644 index 000000000..dc7b1cdfa --- /dev/null +++ "b/tags/\345\275\261\350\247\206/index.html" @@ -0,0 +1,68 @@ +标签 - 影视 | 叶子的花园 + + + + + + + + +

影视

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\345\275\261\350\257\204/index.html" "b/tags/\345\275\261\350\257\204/index.html" new file mode 100644 index 000000000..ba40b1b77 --- /dev/null +++ "b/tags/\345\275\261\350\257\204/index.html" @@ -0,0 +1,68 @@ +标签 - 影评 | 叶子的花园 + + + + + + + + +

影评

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\200\247\345\210\253\347\237\233\347\233\276/index.html" "b/tags/\346\200\247\345\210\253\347\237\233\347\233\276/index.html" new file mode 100644 index 000000000..c699ce5b1 --- /dev/null +++ "b/tags/\346\200\247\345\210\253\347\237\233\347\233\276/index.html" @@ -0,0 +1,68 @@ +标签 - 性别矛盾 | 叶子的花园 + + + + + + + + +
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\201\213\346\203\205/index.html" "b/tags/\346\201\213\346\203\205/index.html" new file mode 100644 index 000000000..7b6151fc0 --- /dev/null +++ "b/tags/\346\201\213\346\203\205/index.html" @@ -0,0 +1,68 @@ +标签 - 恋情 | 叶子的花园 + + + + + + + + +

恋情

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\210\221\347\232\204\345\256\207\345\256\231/index.html" "b/tags/\346\210\221\347\232\204\345\256\207\345\256\231/index.html" new file mode 100644 index 000000000..940927ce9 --- /dev/null +++ "b/tags/\346\210\221\347\232\204\345\256\207\345\256\231/index.html" @@ -0,0 +1,68 @@ +标签 - 我的宇宙 | 叶子的花园 + + + + + + + + +

我的宇宙

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\212\200\346\234\257/index.html" "b/tags/\346\212\200\346\234\257/index.html" new file mode 100644 index 000000000..6b40d31e2 --- /dev/null +++ "b/tags/\346\212\200\346\234\257/index.html" @@ -0,0 +1,68 @@ +标签 - 技术 | 叶子的花园 + + + + + + + + +

技术

2021

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\213\223\346\211\221/index.html" "b/tags/\346\213\223\346\211\221/index.html" new file mode 100644 index 000000000..60baca9db --- /dev/null +++ "b/tags/\346\213\223\346\211\221/index.html" @@ -0,0 +1,68 @@ +标签 - 拓扑 | 叶子的花园 + + + + + + + + +

拓扑

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\216\250\345\217\213\346\210\220\345\212\237/index.html" "b/tags/\346\216\250\345\217\213\346\210\220\345\212\237/index.html" new file mode 100644 index 000000000..41daffa2d --- /dev/null +++ "b/tags/\346\216\250\345\217\213\346\210\220\345\212\237/index.html" @@ -0,0 +1,68 @@ +标签 - 推友成功 | 叶子的花园 + + + + + + + + +

推友成功

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\221\230\345\275\225/index.html" "b/tags/\346\221\230\345\275\225/index.html" new file mode 100644 index 000000000..ff87b8b8f --- /dev/null +++ "b/tags/\346\221\230\345\275\225/index.html" @@ -0,0 +1,68 @@ +标签 - 摘录 | 叶子的花园 + + + + + + + + +
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\225\243\346\226\207/index.html" "b/tags/\346\225\243\346\226\207/index.html" new file mode 100644 index 000000000..4227c30ac --- /dev/null +++ "b/tags/\346\225\243\346\226\207/index.html" @@ -0,0 +1,68 @@ +标签 - 散文 | 叶子的花园 + + + + + + + + +

散文

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\225\260\345\255\246/index.html" "b/tags/\346\225\260\345\255\246/index.html" new file mode 100644 index 000000000..71a4205a7 --- /dev/null +++ "b/tags/\346\225\260\345\255\246/index.html" @@ -0,0 +1,68 @@ +标签 - 数学 | 叶子的花园 + + + + + + + + +

数学

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\231\232\351\227\264\346\274\253\346\255\245/index.html" "b/tags/\346\231\232\351\227\264\346\274\253\346\255\245/index.html" new file mode 100644 index 000000000..802b50d67 --- /dev/null +++ "b/tags/\346\231\232\351\227\264\346\274\253\346\255\245/index.html" @@ -0,0 +1,68 @@ +标签 - 晚间漫步 | 叶子的花园 + + + + + + + + +

晚间漫步

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\234\213\345\217\213/index.html" "b/tags/\346\234\213\345\217\213/index.html" new file mode 100644 index 000000000..3a952dc5f --- /dev/null +++ "b/tags/\346\234\213\345\217\213/index.html" @@ -0,0 +1,68 @@ +标签 - 朋友 | 叶子的花园 + + + + + + + + +

朋友

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\234\252\346\235\245/index.html" "b/tags/\346\234\252\346\235\245/index.html" new file mode 100644 index 000000000..36441990f --- /dev/null +++ "b/tags/\346\234\252\346\235\245/index.html" @@ -0,0 +1,68 @@ +标签 - 未来 | 叶子的花园 + + + + + + + + +

未来

2022

2020

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\235\202\346\200\235/index.html" "b/tags/\346\235\202\346\200\235/index.html" new file mode 100644 index 000000000..1adbdb05b --- /dev/null +++ "b/tags/\346\235\202\346\200\235/index.html" @@ -0,0 +1,68 @@ +标签 - 杂思 | 叶子的花园 + + + + + + + + +
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\240\271\347\256\241\351\222\231\345\214\226/index.html" "b/tags/\346\240\271\347\256\241\351\222\231\345\214\226/index.html" new file mode 100644 index 000000000..d5f8da66b --- /dev/null +++ "b/tags/\346\240\271\347\256\241\351\222\231\345\214\226/index.html" @@ -0,0 +1,68 @@ +标签 - 根管钙化 | 叶子的花园 + + + + + + + + +

根管钙化

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\242\201\351\201\207\346\230\245/index.html" "b/tags/\346\242\201\351\201\207\346\230\245/index.html" new file mode 100644 index 000000000..3adbfbb68 --- /dev/null +++ "b/tags/\346\242\201\351\201\207\346\230\245/index.html" @@ -0,0 +1,68 @@ +标签 - 梁遇春 | 叶子的花园 + + + + + + + + +

梁遇春

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\242\246\345\267\245\345\216\202/index.html" "b/tags/\346\242\246\345\267\245\345\216\202/index.html" new file mode 100644 index 000000000..cbc5d53e7 --- /dev/null +++ "b/tags/\346\242\246\345\267\245\345\216\202/index.html" @@ -0,0 +1,68 @@ +标签 - 梦工厂 | 叶子的花园 + + + + + + + + +

梦工厂

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\255\273\344\272\241/index.html" "b/tags/\346\255\273\344\272\241/index.html" new file mode 100644 index 000000000..628f56141 --- /dev/null +++ "b/tags/\346\255\273\344\272\241/index.html" @@ -0,0 +1,68 @@ +标签 - 死亡 | 叶子的花园 + + + + + + + + +

死亡

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\257\225\344\270\232\346\227\205\350\241\214/index.html" "b/tags/\346\257\225\344\270\232\346\227\205\350\241\214/index.html" new file mode 100644 index 000000000..61d90788f --- /dev/null +++ "b/tags/\346\257\225\344\270\232\346\227\205\350\241\214/index.html" @@ -0,0 +1,68 @@ +标签 - 毕业旅行 | 叶子的花园 + + + + + + + + +

毕业旅行

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\257\225\344\270\232\346\231\232\344\274\232/index.html" "b/tags/\346\257\225\344\270\232\346\231\232\344\274\232/index.html" new file mode 100644 index 000000000..734492810 --- /dev/null +++ "b/tags/\346\257\225\344\270\232\346\231\232\344\274\232/index.html" @@ -0,0 +1,68 @@ +标签 - 毕业晚会 | 叶子的花园 + + + + + + + + +

毕业晚会

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\257\225\344\270\232\350\256\276\350\256\241/index.html" "b/tags/\346\257\225\344\270\232\350\256\276\350\256\241/index.html" new file mode 100644 index 000000000..b2d4260a7 --- /dev/null +++ "b/tags/\346\257\225\344\270\232\350\256\276\350\256\241/index.html" @@ -0,0 +1,68 @@ +标签 - 毕业设计 | 叶子的花园 + + + + + + + + +

毕业设计

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\257\225\350\256\276/index.html" "b/tags/\346\257\225\350\256\276/index.html" new file mode 100644 index 000000000..fd1dd7de2 --- /dev/null +++ "b/tags/\346\257\225\350\256\276/index.html" @@ -0,0 +1,68 @@ +标签 - 毕设 | 叶子的花园 + + + + + + + + +

毕设

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\264\227\347\211\231/index.html" "b/tags/\346\264\227\347\211\231/index.html" new file mode 100644 index 000000000..70ae75953 --- /dev/null +++ "b/tags/\346\264\227\347\211\231/index.html" @@ -0,0 +1,68 @@ +标签 - 洗牙 | 叶子的花园 + + + + + + + + +

洗牙

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\270\270\346\210\217/index.html" "b/tags/\346\270\270\346\210\217/index.html" new file mode 100644 index 000000000..871647171 --- /dev/null +++ "b/tags/\346\270\270\346\210\217/index.html" @@ -0,0 +1,68 @@ +标签 - 游戏 | 叶子的花园 + + + + + + + + +

游戏

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\274\224\350\256\262/index.html" "b/tags/\346\274\224\350\256\262/index.html" new file mode 100644 index 000000000..b2fa0a938 --- /dev/null +++ "b/tags/\346\274\224\350\256\262/index.html" @@ -0,0 +1,68 @@ +标签 - 演讲 | 叶子的花园 + + + + + + + + +

演讲

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\274\253\347\224\273/index.html" "b/tags/\346\274\253\347\224\273/index.html" new file mode 100644 index 000000000..f198726c3 --- /dev/null +++ "b/tags/\346\274\253\347\224\273/index.html" @@ -0,0 +1,68 @@ +标签 - 漫画 | 叶子的花园 + + + + + + + + +

漫画

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\275\234\346\204\217\350\257\206/index.html" "b/tags/\346\275\234\346\204\217\350\257\206/index.html" new file mode 100644 index 000000000..39f24c5a6 --- /dev/null +++ "b/tags/\346\275\234\346\204\217\350\257\206/index.html" @@ -0,0 +1,68 @@ +标签 - 潜意识 | 叶子的花园 + + + + + + + + +

潜意识

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\346\276\263\351\227\250/index.html" "b/tags/\346\276\263\351\227\250/index.html" new file mode 100644 index 000000000..c541076f1 --- /dev/null +++ "b/tags/\346\276\263\351\227\250/index.html" @@ -0,0 +1,68 @@ +标签 - 澳门 | 叶子的花园 + + + + + + + + +

澳门

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\202\256\345\247\220\347\224\237\346\227\245/index.html" "b/tags/\347\202\256\345\247\220\347\224\237\346\227\245/index.html" new file mode 100644 index 000000000..bf3faa0a7 --- /dev/null +++ "b/tags/\347\202\256\345\247\220\347\224\237\346\227\245/index.html" @@ -0,0 +1,68 @@ +标签 - 炮姐生日 | 叶子的花园 + + + + + + + + +

炮姐生日

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\205\247\347\211\207/index.html" "b/tags/\347\205\247\347\211\207/index.html" new file mode 100644 index 000000000..425913418 --- /dev/null +++ "b/tags/\347\205\247\347\211\207/index.html" @@ -0,0 +1,68 @@ +标签 - 照片 | 叶子的花园 + + + + + + + + +

照片

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\224\237\346\227\245/index.html" "b/tags/\347\224\237\346\227\245/index.html" new file mode 100644 index 000000000..425a351fd --- /dev/null +++ "b/tags/\347\224\237\346\227\245/index.html" @@ -0,0 +1,68 @@ +标签 - 生日 | 叶子的花园 + + + + + + + + +

生日

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\224\237\346\264\273/index.html" "b/tags/\347\224\237\346\264\273/index.html" new file mode 100644 index 000000000..72c3627ec --- /dev/null +++ "b/tags/\347\224\237\346\264\273/index.html" @@ -0,0 +1,68 @@ +标签 - 生活 | 叶子的花园 + + + + + + + + +

生活

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\224\265\350\265\233/index.html" "b/tags/\347\224\265\350\265\233/index.html" new file mode 100644 index 000000000..06fbd7dee --- /dev/null +++ "b/tags/\347\224\265\350\265\233/index.html" @@ -0,0 +1,68 @@ +标签 - 电赛 | 叶子的花园 + + + + + + + + +

电赛

2021

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\225\231\345\255\246/index.html" "b/tags/\347\225\231\345\255\246/index.html" new file mode 100644 index 000000000..faeca5c4b --- /dev/null +++ "b/tags/\347\225\231\345\255\246/index.html" @@ -0,0 +1,68 @@ +标签 - 留学 | 叶子的花园 + + + + + + + + +

留学

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\226\253\346\203\205/index.html" "b/tags/\347\226\253\346\203\205/index.html" new file mode 100644 index 000000000..efd50479e --- /dev/null +++ "b/tags/\347\226\253\346\203\205/index.html" @@ -0,0 +1,68 @@ +标签 - 疫情 | 叶子的花园 + + + + + + + + +

疫情

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\237\245\350\257\206/index.html" "b/tags/\347\237\245\350\257\206/index.html" new file mode 100644 index 000000000..e7ed6fd23 --- /dev/null +++ "b/tags/\347\237\245\350\257\206/index.html" @@ -0,0 +1,68 @@ +标签 - 知识 | 叶子的花园 + + + + + + + + +
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\237\255\347\257\207/index.html" "b/tags/\347\237\255\347\257\207/index.html" new file mode 100644 index 000000000..f05afa6a4 --- /dev/null +++ "b/tags/\347\237\255\347\257\207/index.html" @@ -0,0 +1,68 @@ +标签 - 短篇 | 叶子的花园 + + + + + + + + +

短篇

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\237\255\351\223\276\346\216\245/index.html" "b/tags/\347\237\255\351\223\276\346\216\245/index.html" new file mode 100644 index 000000000..5a9aa3ba2 --- /dev/null +++ "b/tags/\347\237\255\351\223\276\346\216\245/index.html" @@ -0,0 +1,68 @@ +标签 - 短链接 | 叶子的花园 + + + + + + + + +

短链接

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\244\276\344\274\232/index.html" "b/tags/\347\244\276\344\274\232/index.html" new file mode 100644 index 000000000..62ea009fd --- /dev/null +++ "b/tags/\347\244\276\344\274\232/index.html" @@ -0,0 +1,68 @@ +标签 - 社会 | 叶子的花园 + + + + + + + + +

社会

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\247\221\345\271\273/index.html" "b/tags/\347\247\221\345\271\273/index.html" new file mode 100644 index 000000000..40e0d4c67 --- /dev/null +++ "b/tags/\347\247\221\345\271\273/index.html" @@ -0,0 +1,68 @@ +标签 - 科幻 | 叶子的花园 + + + + + + + + +

科幻

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\251\272\344\270\255\346\265\251\345\212\253/index.html" "b/tags/\347\251\272\344\270\255\346\265\251\345\212\253/index.html" new file mode 100644 index 000000000..2b6657232 --- /dev/null +++ "b/tags/\347\251\272\344\270\255\346\265\251\345\212\253/index.html" @@ -0,0 +1,68 @@ +标签 - 空中浩劫 | 叶子的花园 + + + + + + + + +

空中浩劫

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\251\272\347\256\241/index.html" "b/tags/\347\251\272\347\256\241/index.html" new file mode 100644 index 000000000..0b940b490 --- /dev/null +++ "b/tags/\347\251\272\347\256\241/index.html" @@ -0,0 +1,68 @@ +标签 - 空管 | 叶子的花园 + + + + + + + + +

空管

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\251\277\351\235\264\345\255\220\347\232\204\347\214\2532/index.html" "b/tags/\347\251\277\351\235\264\345\255\220\347\232\204\347\214\2532/index.html" new file mode 100644 index 000000000..5e1bbf96e --- /dev/null +++ "b/tags/\347\251\277\351\235\264\345\255\220\347\232\204\347\214\2532/index.html" @@ -0,0 +1,68 @@ +标签 - 穿靴子的猫2 | 叶子的花园 + + + + + + + + +

穿靴子的猫2

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\254\224\350\256\260/index.html" "b/tags/\347\254\224\350\256\260/index.html" new file mode 100644 index 000000000..1c6bcd122 --- /dev/null +++ "b/tags/\347\254\224\350\256\260/index.html" @@ -0,0 +1,68 @@ +标签 - 笔记 | 叶子的花园 + + + + + + + + +
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\255\224\350\276\251/index.html" "b/tags/\347\255\224\350\276\251/index.html" new file mode 100644 index 000000000..9865b4150 --- /dev/null +++ "b/tags/\347\255\224\350\276\251/index.html" @@ -0,0 +1,68 @@ +标签 - 答辩 | 叶子的花园 + + + + + + + + +

答辩

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\256\200\350\256\260/index.html" "b/tags/\347\256\200\350\256\260/index.html" new file mode 100644 index 000000000..7fb13b8fc --- /dev/null +++ "b/tags/\347\256\200\350\256\260/index.html" @@ -0,0 +1,68 @@ +标签 - 简记 | 叶子的花园 + + + + + + + + +

简记

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\256\241\345\210\266\345\270\255/index.html" "b/tags/\347\256\241\345\210\266\345\270\255/index.html" new file mode 100644 index 000000000..f4ad751ef --- /dev/null +++ "b/tags/\347\256\241\345\210\266\345\270\255/index.html" @@ -0,0 +1,68 @@ +标签 - 管制席 | 叶子的花园 + + + + + + + + +

管制席

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\272\242\350\213\261/index.html" "b/tags/\347\272\242\350\213\261/index.html" new file mode 100644 index 000000000..01042057d --- /dev/null +++ "b/tags/\347\272\242\350\213\261/index.html" @@ -0,0 +1,68 @@ +标签 - 红英 | 叶子的花园 + + + + + + + + +

红英

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\272\277\344\270\212\344\270\216\347\272\277\344\270\213/index.html" "b/tags/\347\272\277\344\270\212\344\270\216\347\272\277\344\270\213/index.html" new file mode 100644 index 000000000..e659c0cb8 --- /dev/null +++ "b/tags/\347\272\277\344\270\212\344\270\216\347\272\277\344\270\213/index.html" @@ -0,0 +1,68 @@ +标签 - 线上与线下 | 叶子的花园 + + + + + + + + +

线上与线下

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\273\265\350\226\204\344\271\213\345\212\233/index.html" "b/tags/\347\273\265\350\226\204\344\271\213\345\212\233/index.html" new file mode 100644 index 000000000..270237f89 --- /dev/null +++ "b/tags/\347\273\265\350\226\204\344\271\213\345\212\233/index.html" @@ -0,0 +1,68 @@ +标签 - 绵薄之力 | 叶子的花园 + + + + + + + + +

绵薄之力

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\347\277\273\350\257\221/index.html" "b/tags/\347\277\273\350\257\221/index.html" new file mode 100644 index 000000000..66abc24e7 --- /dev/null +++ "b/tags/\347\277\273\350\257\221/index.html" @@ -0,0 +1,68 @@ +标签 - 翻译 | 叶子的花园 + + + + + + + + +

翻译

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\350\200\201\346\240\271/index.html" "b/tags/\350\200\201\346\240\271/index.html" new file mode 100644 index 000000000..3dbfe4d7c --- /dev/null +++ "b/tags/\350\200\201\346\240\271/index.html" @@ -0,0 +1,68 @@ +标签 - 老根 | 叶子的花园 + + + + + + + + +

老根

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\350\200\203\347\240\224/index.html" "b/tags/\350\200\203\347\240\224/index.html" new file mode 100644 index 000000000..8d8e10176 --- /dev/null +++ "b/tags/\350\200\203\347\240\224/index.html" @@ -0,0 +1,68 @@ +标签 - 考研 | 叶子的花园 + + + + + + + + +

考研

2024

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\350\204\202\350\202\252\350\202\235/index.html" "b/tags/\350\204\202\350\202\252\350\202\235/index.html" new file mode 100644 index 000000000..bbbc314e4 --- /dev/null +++ "b/tags/\350\204\202\350\202\252\350\202\235/index.html" @@ -0,0 +1,68 @@ +标签 - 脂肪肝 | 叶子的花园 + + + + + + + + +

脂肪肝

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\350\207\252\345\212\250\345\214\226\347\263\273\347\273\237/index.html" "b/tags/\350\207\252\345\212\250\345\214\226\347\263\273\347\273\237/index.html" new file mode 100644 index 000000000..a3841cfcd --- /dev/null +++ "b/tags/\350\207\252\345\212\250\345\214\226\347\263\273\347\273\237/index.html" @@ -0,0 +1,68 @@ +标签 - 自动化系统 | 叶子的花园 + + + + + + + + +

自动化系统

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\350\216\261\346\226\257/index.html" "b/tags/\350\216\261\346\226\257/index.html" new file mode 100644 index 000000000..60b4592f2 --- /dev/null +++ "b/tags/\350\216\261\346\226\257/index.html" @@ -0,0 +1,68 @@ +标签 - 莱斯 | 叶子的花园 + + + + + + + + +

莱斯

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\350\256\241\345\210\222/index.html" "b/tags/\350\256\241\345\210\222/index.html" new file mode 100644 index 000000000..7acdf62ed --- /dev/null +++ "b/tags/\350\256\241\345\210\222/index.html" @@ -0,0 +1,68 @@ +标签 - 计划 | 叶子的花园 + + + + + + + + +

计划

2022

2021

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\350\256\262\345\272\247/index.html" "b/tags/\350\256\262\345\272\247/index.html" new file mode 100644 index 000000000..d254d6dd3 --- /dev/null +++ "b/tags/\350\256\262\345\272\247/index.html" @@ -0,0 +1,68 @@ +标签 - 讲座 | 叶子的花园 + + + + + + + + +

讲座

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\350\257\255\350\250\200\345\255\246\344\271\240/index.html" "b/tags/\350\257\255\350\250\200\345\255\246\344\271\240/index.html" new file mode 100644 index 000000000..4911395a7 --- /dev/null +++ "b/tags/\350\257\255\350\250\200\345\255\246\344\271\240/index.html" @@ -0,0 +1,68 @@ +标签 - 语言学习 | 叶子的花园 + + + + + + + + +

语言学习

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\350\257\255\350\250\200\350\200\203\350\257\225/index.html" "b/tags/\350\257\255\350\250\200\350\200\203\350\257\225/index.html" new file mode 100644 index 000000000..5631ea561 --- /dev/null +++ "b/tags/\350\257\255\350\250\200\350\200\203\350\257\225/index.html" @@ -0,0 +1,68 @@ +标签 - 语言考试 | 叶子的花园 + + + + + + + + +

语言考试

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\350\257\255\351\237\263\344\277\241\347\256\261/index.html" "b/tags/\350\257\255\351\237\263\344\277\241\347\256\261/index.html" new file mode 100644 index 000000000..42c19f9c1 --- /dev/null +++ "b/tags/\350\257\255\351\237\263\344\277\241\347\256\261/index.html" @@ -0,0 +1,68 @@ +标签 - 语音信箱 | 叶子的花园 + + + + + + + + +

语音信箱

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\350\257\273\347\211\251/index.html" "b/tags/\350\257\273\347\211\251/index.html" new file mode 100644 index 000000000..921ffb327 --- /dev/null +++ "b/tags/\350\257\273\347\211\251/index.html" @@ -0,0 +1,68 @@ +标签 - 读物 | 叶子的花园 + + + + + + + + +

读物

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\350\257\273\347\240\224/index.html" "b/tags/\350\257\273\347\240\224/index.html" new file mode 100644 index 000000000..f5a55d171 --- /dev/null +++ "b/tags/\350\257\273\347\240\224/index.html" @@ -0,0 +1,68 @@ +标签 - 读研 | 叶子的花园 + + + + + + + + +

读研

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\350\267\263\351\227\270/index.html" "b/tags/\350\267\263\351\227\270/index.html" new file mode 100644 index 000000000..26752993a --- /dev/null +++ "b/tags/\350\267\263\351\227\270/index.html" @@ -0,0 +1,68 @@ +标签 - 跳闸 | 叶子的花园 + + + + + + + + +

跳闸

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\350\277\220\345\212\250/index.html" "b/tags/\350\277\220\345\212\250/index.html" new file mode 100644 index 000000000..13de5df83 --- /dev/null +++ "b/tags/\350\277\220\345\212\250/index.html" @@ -0,0 +1,68 @@ +标签 - 运动 | 叶子的花园 + + + + + + + + +

运动

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\351\200\211\346\213\251\345\233\260\351\232\276\347\227\207/index.html" "b/tags/\351\200\211\346\213\251\345\233\260\351\232\276\347\227\207/index.html" new file mode 100644 index 000000000..a56b629b1 --- /dev/null +++ "b/tags/\351\200\211\346\213\251\345\233\260\351\232\276\347\227\207/index.html" @@ -0,0 +1,68 @@ +标签 - 选择困难症 | 叶子的花园 + + + + + + + + +

选择困难症

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\351\202\243\345\271\264\344\273\212\346\227\245/index.html" "b/tags/\351\202\243\345\271\264\344\273\212\346\227\245/index.html" new file mode 100644 index 000000000..6d0085b5c --- /dev/null +++ "b/tags/\351\202\243\345\271\264\344\273\212\346\227\245/index.html" @@ -0,0 +1,68 @@ +标签 - 那年今日 | 叶子的花园 + + + + + + + + +

那年今日

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\351\223\266\346\262\263\346\212\244\345\215\253\351\230\2373/index.html" "b/tags/\351\223\266\346\262\263\346\212\244\345\215\253\351\230\2373/index.html" new file mode 100644 index 000000000..e05799520 --- /dev/null +++ "b/tags/\351\223\266\346\262\263\346\212\244\345\215\253\351\230\2373/index.html" @@ -0,0 +1,68 @@ +标签 - 银河护卫队3 | 叶子的花园 + + + + + + + + +

银河护卫队3

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\351\223\276\346\216\245/index.html" "b/tags/\351\223\276\346\216\245/index.html" new file mode 100644 index 000000000..7989e1d6e --- /dev/null +++ "b/tags/\351\223\276\346\216\245/index.html" @@ -0,0 +1,68 @@ +标签 - 链接 | 叶子的花园 + + + + + + + + +

链接

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\351\232\217\347\254\224/index.html" "b/tags/\351\232\217\347\254\224/index.html" new file mode 100644 index 000000000..e702d409b --- /dev/null +++ "b/tags/\351\232\217\347\254\224/index.html" @@ -0,0 +1,68 @@ +标签 - 随笔 | 叶子的花园 + + + + + + + + +

随笔

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\351\246\231\346\270\257/index.html" "b/tags/\351\246\231\346\270\257/index.html" new file mode 100644 index 000000000..3dbb3b9f0 --- /dev/null +++ "b/tags/\351\246\231\346\270\257/index.html" @@ -0,0 +1,68 @@ +标签 - 香港 | 叶子的花园 + + + + + + + + +

香港

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\351\253\230\344\270\255/index.html" "b/tags/\351\253\230\344\270\255/index.html" new file mode 100644 index 000000000..804c8d676 --- /dev/null +++ "b/tags/\351\253\230\344\270\255/index.html" @@ -0,0 +1,68 @@ +标签 - 高中 | 叶子的花园 + + + + + + + + +

高中

2024

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\351\262\201\350\277\205/index.html" "b/tags/\351\262\201\350\277\205/index.html" new file mode 100644 index 000000000..bddfd6eb4 --- /dev/null +++ "b/tags/\351\262\201\350\277\205/index.html" @@ -0,0 +1,68 @@ +标签 - 鲁迅 | 叶子的花园 + + + + + + + + +

鲁迅

2022

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git "a/tags/\351\276\231\344\270\216\345\234\260\344\270\213\345\237\216\357\274\232\344\276\240\347\233\227\350\215\243\350\200\200/index.html" "b/tags/\351\276\231\344\270\216\345\234\260\344\270\213\345\237\216\357\274\232\344\276\240\347\233\227\350\215\243\350\200\200/index.html" new file mode 100644 index 000000000..113a3c589 --- /dev/null +++ "b/tags/\351\276\231\344\270\216\345\234\260\344\270\213\345\237\216\357\274\232\344\276\240\347\233\227\350\215\243\350\200\200/index.html" @@ -0,0 +1,68 @@ +标签 - 龙与地下城:侠盗荣耀 | 叶子的花园 + + + + + + + + +

龙与地下城:侠盗荣耀

2023

没有更多的黑历史了_(:з」∠)_
Hexo 驱动 v7.2.0|主题 - Yun v1.10.11
本花园已长草(¯﹃¯)
\ No newline at end of file diff --git a/yun.png b/yun.png new file mode 100644 index 000000000..fb6026b74 Binary files /dev/null and b/yun.png differ diff --git a/yun.svg b/yun.svg new file mode 100644 index 000000000..f54921e85 --- /dev/null +++ b/yun.svg @@ -0,0 +1,21 @@ +