《奇特的一生》笔记

 

概述

 

bookcard

从一排旧书里取出这本书页发黄的小册子,借书卡上记录的最后一个借阅者是1989年化工专业的陈秋民。书里面还夹着他的一封叠起来的家书,不知道为什么没有寄出。已经过去快三十年了呢。还是要感叹一下,生活真奇妙。

这本薄薄的小册子讲了柳比歇夫和他的时间统计法。他的时间统计法说来也简单,就是在记事本上记下每一件事情花费的时间,然后每个月,每一年做出详细的总结和分析。这样的时间统计,他坚持了五十六年。在这五十六年里,他发表了七十来部学术著作,五百多印张各种各样的论文和专著。还有其他数不清的成就。

我推荐每一个想在某个领域内有所成就的人都尝试进行时间统计,这也暗合了《异类》中所提出的一万个小时理论。(推荐使用aTimeLogger来进行统计,参见我的介绍

像是书里说的:“如果每个人都知道自己能干些什么,那生活会变得多么美好!因为每个人的能力都比他自己感觉到的大得多,也就不会有那么多的人感叹自己因能力有限而一事无成”。他用自己的人生做了一个实验,希望我们不要辜负他,也不要辜负自己的潜能和才华。

 

摘录

(依照阅读顺序排列,段落标题自取)

屁股

我说,他的坐功当然是极好的。坐功好,不也是某些天才的特点么。说起来,这种本事在昆虫学之类的专业中颇为普遍,同时也是必需的。柳比歇夫自己就说过,他属于这样一类的学者,给他们照相,不该照脸,该照臀部。

 

时间感

多年来经常看表的结果,柳比歇夫肯定形成了一种特殊的时间感。在我们集体深处滴答滴答走着的生物钟,在他身上已成为一种感觉兼知觉器官。

他借助一种内在的注意力,感觉得到时针在表面上移动——对他来说,时间的急流是看得见摸得着的,他仿佛置身于这一急流之中,觉得出来光阴在冷冰冰地流逝。

 

自我解剖

做这样的分析(此处指分析自己的日常时间花销),比作忏悔需要更大的精神力量。在上帝面前坦白,总要比在凡人面前坦白容易些。把自己的弱点、恶习、空虚等等统统暴露在众人面前和自己面前,是需要勇气的。德鲁克说的对,只有让-雅克·卢梭或托尔斯泰这样的人,才能严格无情地解剖自己。

 

时间下脚料

“我在一天之内是怎么安排读书时间的?清早,头脑清醒,我看颜色的书籍(哲学、数学方面的)。钻研一个半到两个小时以后,看比较轻松的读物——历史或生物学方面的著作。脑子累了,就看文艺作品。”

“在路上看书有什么好处?第一,路途的不便你感觉不到,很容易将就;第二,神经系统的状况比在其他条件下良好。”

工作越深入,面也越宽。先是需要认真研究一下数学,后来又轮到哲学。……已经晚了,但他终于明白,他不懂历史不懂文学是不行的;不知道为什么,他还需要懂得一点音乐……

 

纯时间

应该挖掘一切时间潜力。明摆着,人不能老是每天工作十四五个小时。应当正确利用工作时间。从时间中找时间。

“工作中的任何间歇,我都要刨除。我计算的是纯时间。纯时间要比毛时间少得多。所谓毛时间,就是你花在这项工作上的时间。”

“工作经验表明,约有十二三小时毛时间可以用于非标准活动,诸如上班办公、学术工作、社会工作、娱乐等等。”

 

有效时间

计划的复杂性在于如何安排一天的时间。他决定,用去的时间应该同他从事的工作相称。也就是说,比方写一篇有独特见解的论文吧,占用的时间既不能太少,也不能太多。

计划就是挑选时间,规定节律,是一切都各得其所。头脑清醒的时候应该钻研数学,累了边看书。

应当学会不受环境的干扰,用在工作上的三个小时应当是真正做工作的三个小时,不干不相干的事,不听同事的谈话,不听铃声和笑声,也不听收音机……

这个方法之所以能够存在,是依靠经常的计算和检查。没有计算的计划是盲目的计划,就像某些研究所一样,光会做计划,却不去操心着计划能不能完成。

应当学会计算一切时间。

他把一昼夜中的有效时间即纯时间算成十个小时,分成三个单位,或六个“半单位”,正负误差不超过十分钟。

除了最富于创造性的第一类工作外,所有规定的工作量他都竭力按时完成。

要采用这种方法,必须知道一切有效时间,洞察时间中一切曲里拐弯的地方和空白点。这个方法不承认有什么不能利用的时间。所有的时间一视同仁,一样的宝贵。对于人,不应当有什么坏的,无用的,多余的时间。也没有休息的时间。所谓休息,是两种工作的交替,就像是正确的田间轮作制。

 

计划的制定

结算同时也是对计划的总结。一总结马上提出下个月的计划。

制定年度计划或月计划时,不得不依靠过去的经验。例如我计划要看一本什么书。根据老经验我知道我一小时能卡看……我就根据这个老经验来定计划。

“所有看过的东西,我都要仔细研究。怎么研究?如果一本书谈的是我不大了解的新东西,我就尽量做摘要。凡是比较重要的书,我都尽量写一份评论性的简介。”

除了年度计划,柳比歇夫还把他一生的时间制订成一个个五年计划。每过五年,他把度过的时间和干过的事分析一通,可以说是做个总的鉴定。

 

观察自己

做年度总结,要求进行自我分析,自我研究:效率有什么变化,什么没有完成,为什么……

柳比歇夫以他的总结作为镜子。这面镜子的水银有点儿特别:它找出来的不是人现在的面目,而是他过去的面目,才过去不久的。

柳比歇夫的总结公正客观的反应了过去一年的历史。柳比歇夫的方法,以它细密的网眼,抓住了变化无常的、老想溜掉的日常生活,抓住了我们没有察觉到的、损失掉的、不知去向的时间。

 

心境

个人的悲剧仿佛没有波及他的工作精力,在日记、总结和计划中没有留下任何痕迹。

私生活和心境不能妨碍工作。心境及其它的喜怒哀乐自有它们的时间,统统放在“家务”栏里。

 

精神面貌

人的精华中,最值得称道的、最牢固的,是精神价值。一年年过去,学生们没有一点遗憾,若无其事地换了导师、师傅、老师,换了头头,换了心爱的画家和作家。但是,谁要有福气遇见一个纯洁的、精神世界很美的人,你恨不得把心都掏给他这样的一个人,——谁要是遇见了这样一个人,就没有什么可换了。因为人不可能长进得超过身量或真诚。

 

衣着

稍有些故作“癫狂”,并不坏:小市民会对你有些讥讽嘲笑,这是一种有益的心理上的锻炼,能让你我行我素的精神……

 

科学家的文化修养

这些人的文化修养,广度和深度都比得上文艺复兴时代的意大利人和法国的百科全书派。当时,科学家兼是思想家。科学家善于使本学科与整个文化之间保持和谐一致。科学与思想携手并进。如今,这种友好合作关系被破坏了。

 

分类与整理

对一位科学家来说,整理和组织材料的过程本身,就是一种享受。即使这一工作没有什么重大的意义,例如坐坐复制品的卡片目录,但从事这一工作时,感到很愉快。这种快感,实际上就是意义本身。

这种为科学家和分类学家所独具的想法,在柳比歇夫身上也可以找到。每个科学家在某种程度上都有一种特性,那就是要把混乱的东西归纳成体系,发现其内在的联系,总结其规律性。

 

特别的事业

在我们的时代,决心献身于一种旁人看来极不严肃的工作,是需要有一定的勇气的。需要勇气和热爱。当然,每一个真正的科学家总是热爱自己那一门科学的。特别是当科学研究的对象本身是很没的时候。不过,除了星星、蝴蝶、云彩、矿物而外,还有美的东西,不过这种美,除了专家,谁也看不见。这大部分还是抽象的东西,如数学、力学、光学。

一个上了年纪的、仪态端庄的人,突然无视身旁的行人,跨过水洼去追一个甲壳虫,一个人要做到这一点,必须有婴儿般的纯洁和不顾一切的品质。他说,人们把昆虫学家看成是傻瓜,这又是反而是一件好事,因为这样,昆虫学家们就可以毫无危险地闯入最富“掠夺性”的地点,反正人们会把他们当作无害的怪物加以嘲笑的。

 

深入与全面的矛盾

有这么一句古老的谚语:一个医生,如果他仅仅是一个好医生,那他就不可能是一个好医生。对科学家当然也可以这么说。一个科学家如果他仅仅是一个科学家。那他就不可能是一个大科学家。当想象力和灵感消失时,创造性的源泉也就枯竭了。创造性的源泉也要求兼及旁骛。否则科学家就只剩下追求事实了。

了解一个人——这就是要看到他的矛盾之处。

他常说:谁要是同现实妥协,谁就是对未来没有信心。

几条守则

除了时间统计法之外,他还有几条守则:

  • 我不承担必须完成的任务
  • 我不接受紧急的任务
  • 一累马上停止工作去休息
  • 睡得很多,十小时左右
  • 把累人的工作同愉快的工作结合在一起

他几乎从未抱怨过自己没有时间,我早就注意到,善于工作的人,时间总是够用的。不,最好还是用另一种说法:他们的时间要比别人多些。

 

时时考虑时效

他对时间就象对不可或缺的生活口粮那样重视。“消磨时间”——这是不可能在他头脑中产生的念头。任何时间对他来说都是宝贝。时间是进行创造的时间,认识事物的时间,享受生活乐趣的时间。他对时间满心崇敬。原来,一生完全不象通常人们所认为的那么短暂。这里问题不在寿命长短,也不在工作安排得满腾腾的。柳比歇夫的经验在于充分使用一天中的每一个小时,一小时中的每一分钟,时时考虑实效。一生的时间是极长的时间,在一生中可以把工作干个够,可以读大量的书籍,可以学会好几种语言,可以出门旅行,可以饱听音乐,可以教育子女,可以在乡下居住,也可以在城里居住,可以栽培花园,可以培养青年一代……
如果我们自己慢慢吞吞,那么生活就不等人。

我们好象只能使用经过精选的时间。我们记得的只是一生中最精彩的时刻。半个小时对我们来说不算时间。我们只承认整段整段的时间,只承认不受客观环境和偶然事件干扰的大段时间。只有在这样的时间里,我们才打算大显身手。短一点的时间,我们马上会借口外界干扰、借口客观条件而认为不适用。啊,不依我们意志为转移的客观条件,具有充分权力和理由的客观条件真是威力无比!把责任往它们身上互推,那是多么轻而易举啊……

我们没有注意到,这些借口是怎样在削弱和腐蚀我们的灵魂……

他不去为出版自己的著作而钻营,不到编辑部去奔走,他也不去讲情求告……
他舍不得把时间耗费在这些事上。
他避免必要的串门和喜庆活动。

 

写信的原则以及为何写信

“紧急的书信,我立即答复,其它的书信,则暂缓作复。在写重要著作时,除紧急者外,一切书信都搁置一段时间再作回答。
“我力求答复每一封信,因为我的书信来往,数量适度,从中我得到一种满足,还因为通信不但并不妨碍我的基本目标,相反,还在很大程度上有助于达到这些基本目标。”

写信是柳比歇夫实际能够给予人们的一种小小的帮助。由于有可能帮助人,他变得十分慷慨,他忘掉了时间,不惜一切,全力以赴。他的评语实际上是一篇非常详细的评论。他无私、无偿地做这些事。他分析错误,找出可疑之处,进行论争;他还做编辑的工作——改正错误、指出问题、提出建议。不太认识的人、完全不认识的人来向他求教,他也不拒绝。

 

争论

柳比歇夫利用每次机会去寻求真心诚意和摆事实讲道理的论争,他要求双方都能容忍不同的意见。他属于那么一种罕见的人,当人们同这种人争论时,感到很愉快。当他开始同强有力的对手争论时,他力求理解透彻对方正确的一面。

 

物质

时间统计法为他创造了高度理智和健康的生活。他的时间统计法,使他如此繁忙,以致他很容易忽视很多日常饮食起居方面的不利条件。它使他轻松地、宽宏大度地去忍受人们所做的一些蠢事以及公务中的例行公事和杂乱无章,而不去同人怄气。因此他心神安宁、神经健全。

他需要的东西极有限:有一个放书的地方和工作的地方,有一个宁静安详的工作环境就够了。当然,宁静安谧这一个要求不算低。在我们的时代,宁静安谧是奇货。不过柳比歇夫需要的宁静安谧是最简朴的一种——只要寂静和摆脱紧张任务就是了。

 

能力

他不是按照自己的能力去衡量任务,而是按照任务去衡量能力。他认为,有一种精神上的义务,要比保持心灵上的安全感好。

德漠克利特有句话:决定人的精神品质的,不是他的行为本身,而是他的意图。过去我不了解这个想法,也没有接受它。

柳比歇夫有很多事没有来得及做——没有搞出成果,但对我来说,主要的是他想做的事,他的意图:他这个人精神上的吸引力正是来自他的意图。

柳比歇夫通过他的时间统计法对自己进行了研究和试验:试验在写、读、听、工作、思索各方面,他到底能干多少?干多少?怎么干?他不让自己负担过重,力不胜任;他总是循着他能力的边缘前进,他对自己能力的掂量愈来愈精确。这是一条永不停顿的自我认识的道路。他为什么这样做?是为了自我修养?是为了最大限度的自我献身?还是为了大显身手?

如果每个人都能知道自己能干些什么,那生活会变得多么美好!因为每个人的能力都比他自己感觉到的大得多。他会变得比自己想象的更为勇敢;他会变得更坚韧、更有力,更能适应环境。

 

激情

他深信,“一种、然而是一种炽烈的激情”会排除和谐的发展。激情妨碍人全面发展——这倒是一个令人惬意的处世秘诀。最好没有激情,这样要保险得多。什么都要有一点。似乎一切为人称道的志趣的总和就构成了和谐。似乎真的存在着没有激情的和谐一致的人。

可能这对某些人很相宜,很符合愿望,但不知为什么作者经常想起我们一些伟大的作家、科学家、艺术家的范例——他们既是学识渊博的人,又是具有炽烈激情的人,有时甚至过了头。

然而他们的激情不是狂热,而是忘我的热情,是创造性精神不可或缺的热情。

柳比歇夫既全面发展,又具有他必不可少的、独一无二的激情。两者之间的不相协调并没有妨碍他——他放弃了青年时代立下的禁欲主义的誓言,这是有道理的。

 

对待时间的态度

大多数人对时间都持有自己的态度,各不相同,而柳比歇夫对时间的态度格外与众不同。他的时间不是取得成就的时间。他摆脱了赶过别人,夺取第一,超越什么,获得什么……的愿望。他热爱时间,珍惜时间,不是把它当作工具,而是把它看成是进行创造的条件。他对时间十分虔敬,同时又体贴入微,他认为时间对人们如何使用它并不是无所谓的。时间不是个物理概念,不是时针的转动,而好象是个道德概念。在他看来,浪费时间就好比夺走科学研究的时间,就好比滥用和抢走他服务对象的时间。他坚信,时间是最宝贵的财富,不能乱用到怄气上,不能乱用到竞争角逐或满足虚荣心上。在他看来,对待时间的态度是个道德问题。

一个人在什么地方有权使用自己一生的时间,在什么地方无权滥用。在这方面,柳比歇夫为自己订出了一些道德上的禁令,规定了使用时间的道德限度。能干的人和有计划的人使人感到他们是时间的主人。当作者随心所欲地支配自己的时间时,他体验到一种解放的幸福。这样的时间充满了光明和安宁。一天全部的时间都吸取着最重要和最本质的东西,如同绿叶的表层吸收阳光一般。

对宇宙时间或世界时间——作者不敢妄加判断;至于人类的时间,他深信人可以学会去感觉的,甚至能听到它潺潺的流逝声。时间弯过来,首尾相接,结成一个圆圈,过去的时间追过了现在的时间,如同在阿丽丝漫游的奇境中一样。在作者眼前,不断流过浪费了的、溜走了的时间,流过了白白荒废的、曾经充满了青春活力和希望的年华——这是空虚的、被吮干了的时间的残骸。

 

延伸阅读

道:

《幸福之路》
《少有人走的路》

术:

《把时间当作朋友》
《高效能人士的七个习惯》

器:

aTimeLogger官网

其他:

三个目标(时间统计法的应用)
我的GTD方法论2.0
aTimeLogger2 使用心得

 

Python入门书评价与总结

从开始学习Python以来,读了几本入门书,在这里做一些总结,给需要的人做个参考。

几个个人观点

视频/书?

一开始看了UdacityPython入门课程,虽然也了解了一些基本概念,但最终还是没有什么具体的收获(但认识到了Python的神奇……)。因为视频不会仔细的讲语法,也没有具体的指导。视频更偏向于实现项目,而不是语言的细节。所以,一开始建议还是从书开始。

 

电子书/纸质书?

iPad上看了《ThinkPython》前十章,最后却把书打印出来重看了一遍。电子书虽然有好处,便携啦,方便查词啦,但弊端太大。比如摘录不方便查看,做笔记也不方便。所以,一开始建议从纸质书开始。

 

译本/原版?

一开始可以暂时阅读译本,了解的差不多后就该看原版书了。一来译本的质量常常很差,二来平时查google都是英文内容,一些关键的词汇中英文混淆会导致概念理解不清。所以,一开始建议从译本开始,但要尽早脱离译本。

 

评价与总结

(按阅读顺序排列)

A Byte of Python》(《Python简明教程》)

评价:概念初认识

网站:http://python.swaroopch.com/

第一本Python书(中文译本),写的很简单,没有过多涉及细节。也许是因为这是接触Python的第一本书,所以读起来不是很顺畅。很多东西看得云里雾里。

 

Learn Python the Hard Way》(《“笨”方法学Python》)

评价:入门的练习册

网站:http://learnpythonthehardway.org/book/

看这本书时,已经看完了《Python简明教程》,但对Python还是没有什么具体的了解。这本书是在网站上读的。对于新手来说还不错,它借由大量的誊写代码而实现对Python语法的记忆和掌握,作者给的一些建议也都很中肯。虽然最后几课的作业我没有完成,但是命令行游戏倒是完成了,收获了不少乐趣。

 

Core Python Programming》(《Python核心编程》)

评价:大而全的参考书和习题集

网站:http://corepython.com/cpp2e (不提供在线阅读)

我做的习题答案:https://github.com/lihuii/CorePythonProgrammingExercise-

亚马逊买的第二版中文译本。书中错误比较多,大部分不影响阅读,少数几个课后题目让人无法理解。开始看这本书,才有了一些豁然开朗的感觉。也许是因为看了前两本书的缘故,书里的内容大部分都可以看懂。而且一些之前的困惑的都在这里找到了答案,比如说sort方法不返回整理后的列表,“if __name__ == ‘__main__:’”的意思等等。这本书目前还没有看完,一边做题一边看,目前看到了第十三章。

 

Think python

评价:进阶必备的思考书

网站:http://greenteapress.com/wp/think-python/

这本书是和《Python核心编程》一起看的,当时坐在回家的车上,半天就看完了前几章。英文原版读起来很顺畅,作者有时很幽默,有时也会有思考。本书的副标题是“How to think like a computer scientist”,书中普及了很多通用的编程思想,而且每一章节后面都有debugger和术语解释。很多容易被忽略的或是关键的细节作者都会提到,要是早些看这本书,我会省下不少力气。

待读:

Dive into Python
invent with python

 

推荐阅读顺序

  1. Learn Python the Hard Way(肌肉记忆)
  2. Think Python(思考课)
  3. Core Python Programming(思考+实践+延伸)

 

另外,编辑器推荐使用PyCharm,超好用!

pycharm

pycharm

CSShake——元素摇晃特效

效果演示

所谓的摇晃特效,就是当你把光标移到文字上的时候……我可以轻微的晃慢慢的晃猛烈晃疯狂晃,甚至左右晃上下晃旋转着闪烁着 ……

摇晃的驴子

光标移到驴子身上就可以摇晃它

 

前段时间在家没事做,突然想到之前看到的CSS特效,觉得文字摇晃很好玩。google了一下,原来是一个开源的css包。心血来潮,便想做个网页试一下。

下面是css shake的用法介绍,整理翻译自github页面的介绍:
首先在html里声明包含css文件,最简单的方法是通过CDN加载(你也可以将https://csshake.surge.sh/csshake.min.css下载到本地然后加载):

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/csshake/1.5.3/csshake.min.css" />

然后通过添加class来使用不同的效果:

<div class="shake">Foo</div> 
<div class="shake shake-hard">Bar</div> 
<div class="shake shake-slow">Baz</div> 
<div class="shake shake-little">Qux</div> 
<div class="shake shake-horizontal">Egg</div> 
<div class="shake shake-vertical">Ham</div> 
<div class="shake shake-rotate">Snake</div> 
<div class="shake shake-opacity">Apple</div> 
<div class="shake shake-crazy">Orange</div>

还可以通过增加class来控制动画的状态(比如一直摇晃,还是光标放上去摇晃)

<!-- Freeze the animation at that point when :hover --> 
<div class="shake shake-freeze">Hello</div> 
<!-- Continuous animation instead on :hover --> 
<div class="shake shake-constant">Hola</div> 
<!-- and stop when :hover --> 
<div class="shake shake-constant shake-constant-hover">Halo</div>

另外,还可以自定义摇晃类型,具体的用法请参考https://elrumordelaluz.github.io/csshake/

 

在 VPS 上使用 WordPress 建站流程记录

这次域名和主机转移花掉了大约四天的时间。第一次使用VPS(Linux系统),遇到了很多问题,查google查得头疼>_<。在这里记下大致的过程和与遇到的问题,也许可以帮到别人,或是未来的自己。

 

买域名和VPS

花钱的事情总是容易的,所以买vps和域名的过程就不谈了。最终选了bandwagon上一个130元的套餐,10G硬盘,512内存,1000G月流量。域名仍然在Godaddy上,换了一个.com域名(有优惠码可以用)。

 

域名解析

更新:最近Godaddy的域名服务器不稳定,或者是被GFW屏蔽?建议直接使用DNSpod来解析域名。打开网址,注册然后按照提示添加记录。

有两步,分别在域名提供商和vps内设置。简单来说,就是把域名(注册的网址)指向你vps的那个IP地址,然后再在vps里把你的域名指向网站文件的目录(见下面“在VPS上建多个网站的方法”)。

1 2 3

修改或添加A记录,host代表你的域名,而points to 那一栏是你vps的IP地址。如果不需要设置子域名,那么只需要添加@那一条记录就可以了,@代表你的域名的完整地址。接着保存设置,等待生效就可以了。

4

顺便说一下,我在这里使用的是godaddy的域名服务器(nameserver),如果想要使用其他的域名服务器(比如说DNSpod,生效更快),那么需要在DNS管理界面SETTINGS页面修改nameserver为dnspod的dns地址        

f1g1ns1.dnspod.net
f1g1ns2.dnspod.net

然后前往Dnspod解析域名。

详情参见:Godaddy注册商域名修改DNS地址

 

安装LAMP

接下来是VPS上LAMP的配置,也就是Linux,Apache,MySQL,PHP。关于LAMP,援引一下维基百科上的说明:

LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写:Linux,操作系统
Apache,网页服务器
MariaDB或MySQL,数据库管理系统(或者数据库服务器)
PHP、Perl或Python,脚本语言

关于LAMP

关于LAMP

由Shmuel Csaba Otto Traian,CC BY-SA 3.0,https://commons.wikimedia.org/w/index.php?curid=28224098

linux在vps上已经装好了,初始linux版本是centos 6。试了一下一键安装包,没有成功。各种尝试之后找到了digitalocean上的许多文章,帮了大忙。

首先是服务器的初始化设置:Initial Server Setup with CentOS 6
然后是LAMP的安装:How To Install Linux, Apache, MySQL, PHP (LAMP) stack On CentOS 6
还有SSL设置:How To Create a SSL Certificate on Apache for CentOS 6
防火墙的安装(可选):How To Set Up a Basic Iptables Firewall on Centos 6

 

wordpress转移

方法一:重新安装wordpress

  1. 方法见官网文档 Installing WordPress
  2. 在原站的仪表盘—工具—导出—导出所有内容(会生成一个xml文件 )
  3. 安装好(这中间可能会有很多问题,参见下面的问题及处理)新站后,选择工具—导入—wordpress,安装相关插件后导入之前生成的xml文件。

方法二:整站打包

  1. 这个方法太麻烦,而且很容易出错,不推荐使用。
  2. 大致的思路是:打包整站文件—导出数据库—修改数据库中的链接—上传文件—创建新表,导入数据库—修改wp-config文件。

 

安装设置Shadowsocks服务器

Shadowsocks(中文名称:影梭)是使用Python等语言开发的、基于Apache许可证开源的代理软件。Shadowsocks使用socks5代理,用于保护网络流量。在中国大陆被广泛用于突破防火长城(GFW),以浏览被封锁的内容。

Shadowsocks分为服务器端和客户端。在使用之前,需要先将服务器端部署在支持Python的服务器上面,然后通过客户端连接并创建本地代理。此外用户也可以选择购买基于Shadowsocks的商业服务,以获得更加稳定可靠的服务,或者免去自行部署的麻烦。

目前开发者已宣布停止维护。但仍有更新陆续推送[2]

——以上引用自维基百科页面https://zh.wikipedia.org/wiki/Shadowsocks

在bandwagon上有一键设置ss服务器功能,所以只需要将相关的密码等数据填入下载的客户端就可以了。客户端在官网可以下载到:https://shadowsocks.org/en/index.html

 

问题解决

思考方式

整个过程中收获了一些思考方式,比如我执行nano /xxx/xxx/xxx时,报错没有找到这个命令。这时我会知道,这个报错的意思是没有nano这个程序,所以我会去执行安装命令 yum install nano 而不是再去google。

 

命令

学习了一些linux下(包括mysql)基本的命令。

 

vps上建多个网站的实现方法

linux下默认的http服务器的目录为var/www/html/,网站可以理解成一个文件,访问一个网址其实是在访问存放在服务器上对应的文件。如果只放一个网站,那么可以把文件放在这个目录下,并且在/etc/httpd/conf下的httpd.conf末尾加入下面这段,这段可以理解成是对特定的网址对应的文件位置的声明。

#######################################################

<VirtualHost 23.83.239.241>
ServerName www.greyli.com
DocumentRoot "/var/www/html/myblog"

</VirtualHost>

#######################################################

<VirtualHost 23.83.239.241>
ServerName withlihui.com
DocumentRoot "/var/www/html/myblog"
</VirtualHost>

这两段的意思是,所有对www.greyli.com 和 withlihui.com 的访问都将指向目录/var/www/html/myblog。同样的,假如想要放多个网站,那就需要为不同的网站在/var/www/html/下建立一个文件夹,然后在httpd.conf加入相应的字段来为各自的域名指定相应的文件夹位置。具体操作就是在httpd.conf末尾加入上面两段,只需更改相应的域名和对应的文见路径。

顺便说一下,如果在域名服务商那里设置了子域,那么就可以添加任意个子站在服务器上,当然前提是内存足够大。设置子域的方法是在域名管理中添加A记录,地址填写*.xxx.xxx(比如*.withlihui.com),并且指向你的服务器IP。*号代表任意。设置好之后,把上述地址中的*号改为任意字段都可以作为一个子域名使用(比如talk.withlihui.com)。

另外,还可以IP地址作为网址访问,只需在末尾加上这段:

#########################################################

ServerName 23.83.239.241
NameVirtualHost 23.83.239.241

<VirtualHost 23.83.239.241>
ServerName 23.83.239.241
DocumentRoot "/var/www/html/main"
</VirtualHost>

当然,你得修改相应的IP和文件目录。

 

远程文件管理

远程文件连接推荐使用SFTP来连接,SFTP 为 SSH的一部分,是一种安全的文件传输协议。它不用在VPS中安装组件,事实上,从你付钱拿到VPS后,就可以使用了。支持SFTP连接的工具包括Core FTP,FileZilla, WinSCP,Xftp等等,我使用的是WinSCP,免费简单。连接时新建一个连接,输入IP,用户名和密码就可以连接了。

 

wordpress安装可能遇到的问题

简单说明一下具体几个重要步骤:

  1. 下载wordpress到网站目录
  2. 创建数据库表(此时创建的用户名和密码是mysql用户,用来读写相应的表)
  3. 重命名wp-config-sample.php为wp-config.php并修改相关内容(此处修改的用户名和密码是创建表时的用户密码
  4. 执行安装,创建帐户(此处的用户名和密码用来登录wordpress后台

 

The requested URL /cgi-sys/defaultwebpage.cgi was not found

遇到这个问题,我的解决方法是清除chrome的缓存。

 

无法连接数据库

这个问题查了很多资料,还是没解决。最后重启了一下vps,done!

 

安装插件需要连接ftp,输入密码后无法连接.

这时可以在wp-config.php中加入下面这行

define('FS_METHOD', 'direct');

 

安装插件或主题显示无法创建目录

这个是由于linux下文件的权限问题,解决方法见更改文件权限

 

Briefly unavailable for scheduled maintenance

这个是因为wordpress的自动更新。只要把根目录中的.maintenance文件删除就可以了。

选错了专业怎么办?

解决办法有两个:

1申请转专业/课程免修/课程免听

后两个作为补充选项。每个学校都有相关的规定和限制,越早了解越好。我就是因为错过了转专业的时间而头疼了好长时间(不过那时候我也不知道转什么专业),后来成了本校第一个申请课程免听的人。

2打开www.google.com

打不开?恭喜你!一个崭新的世界还在等着你去探索。还记得童年时问问题把大人搞烦的你吗?现在又来了一个问题,快去解决它。等到你可以打开这个网站了,你就借此明白了好多事情。然后,一个新世界出现在你的面前。凭借这个网站,你可以获取所有和你想学习的专业有关的信息,资源和课程。

同一个关键词,在谷歌里搜和在百度里搜,用英文搜和用中文搜,会得到完全不同的结果,由此也就导致了不同的人生。所以,在此之前,你还需要学会英语,只要学到能够流畅阅读的水平就可以了。怎么学?去查,去试,方法到处都是。接下来怎么做,你到时会知道的。

但是,如果你只有选错了专业这一个想法,那就完蛋了。

三个目标(兼谈时间统计法)

今年的三个目标: 

  1. 编程学习800小时

  2. 英语学习500小时

  3. 阅读300小时

为什么设置这样的时间目标?

 

人都有惰性,这毫无疑问,至少我身边的人(包括我)都这样。这也是为什么人们喜欢许新年愿望而不是做新年计划。很多人的目标(愿望)无非就是变瘦,长高,拿证,有钱。但说到底,这些都只是一个空泛的事件,如何实现却没有考虑。再稍好一些的,会设定这样的目标:读二十本书,瘦掉20斤,长三厘米,挣两万块。这的确是进了一大步,但具体的步骤和计划却没有,即使有也未必能坚持。一年过去了,(假如还记得起来的话)才突然想起去年的目标。但如果这些目标折算成相应的时间花销,比如这样:阅读730小时,运动365小时。细化下来就是每天阅读2小时,运动1小时。每一天都以完成目标为生活重心,就不会那么容易忘记了。每一天你的手机里都有两个进度条(使用atimelogger),完不成它们,你是不会心安理得的睡觉的(?)。

设立这样的目标,最好再配合每天的时间统计。真正体会到时间统计的意义,是在我读完《奇特的一生》。书中有这样一段话:

做这样的分析(此处指分析自己的日常时间花销),比作忏悔需要更大的精神力量。在上帝面前坦白,总要比在凡人面前坦白容易些。把自己的弱点、恶习、空虚等等统统暴露在众人面前和自己面前,是需要勇气的。德鲁克说的对,只有让-雅克·卢梭或托尔斯泰这样的人,才能严格无情地解剖自己。

的确,像这样记录每天的时间开销,一天下来,你会清楚的知道自己这一天是怎么度过的,玩了多久游戏,上了多久网,看了多久书。在这样的统计下,没有梦想和运气,一切的努力和浪费都被记录在案,所有的失败和成功也都有凭有据。你也会明白,失败不是一击毙命,成功也不是一蹴而就。坚持下去,你还可以验证马克西姆在《异数》中提出的一万个小时理论的正确性,一举两得。

对我来说,珍惜时间已经变成了一种美德。对时间的珍惜改变了我对很多事情的看法,我不再去念及梦想,更多的去规划和细分目标;失败发生了,我没有话说,因为数据说明了一切。我不再沉沦在(无用的)碎片信息里,更不相信所谓的“娱乐式学习”。开始每一件事情之前,我都得在atimelogger中选择一个分类,这让我对任何事情的性质和重要性都要做一个预判,无数的时间从这一动作中解放出来。这一预判,也让我产生对日常事务的思考,和对自己的剖析。(atimelogger的使用和简单介绍见我的另一篇文章

 

为什么是这三项?

 

之所以是这三项,是因为编程和英语是我的爱好和职业发展方向。而阅读是所有(心智,技能,方法论,价值观)成长,进步的基本。

至于为什么时间总数这样设置,因为编程要用来找工作和发展超能力(不开玩笑……),时间最多;而英语是相当重要的学习工具,对于阅读和编程都是基础工具,时间其次;阅读,重要但不紧急,所以时间相对少一些。

之所以设置的是时间目标,而不是考个什么证书,读xx本书,是因为结果有时候是不确定的,而我能控制的只有我的努力。再说,学习本身是有乐趣的,非要设置个目标来强迫自己学习,那完全是舍本逐末。我认为学习本身才是目标,至于考证,挣钱只是顺带完成的次要目标而已。那些一年要读xx本书的人(虽然我以前也订过这样的目标),有没有考虑过读哪些书?如何分辨好书和坏书?如何读?如何记笔记?如何整理知识?很多时候,Less Is More

最后还有一句话,是胡适说的,要怎么收获,先怎么栽。送给我,也送给你。

新手使用WordPress最常见的三个问题

 

一、链接或页面找不到

一般这个问题都是由中文的分类名或是标题造成。

解决方法:下载一个WP Slug Translate插件。在仪表盘—插件中搜索,安装并启用;而分类或菜单需要将别名设置成英文才可以被正确的访问,如图所示:

 url

 

二、不能输入空格

因为wordpress默认自动清除掉文章里的空格,所以编辑好文章发布之后就会发现格式全都乱了。

解决办法:下载TinyMCE Advanced插件。然后在仪表盘-设置-TinyMCE Advanced –高级选项里勾选上

Stop removing the <p> and <br /> tags when saving and show them in the Text editor

 space

 

三、访问速度慢

通常是因为wordpress默认采用google字体,而谷歌多数服务被墙,自然不会好用。另外,如果是在Godaddy注册的域名,最好使用DNSpod解析域名(详见这里)。

解决方法:安装Disable Google Fonts 插件。

我的第一个GUI程序

100Words

每天一篇英语日记

这是一个英语日记写作程序,可以作为英语学习辅助使用。假如你正在学习英语,每天都有一定量的输入,比如说阅读或是听播客,那么你可以使用它来进行复习和回顾。每天一百个单词也许很少,但是通过长久的积累,同时搭配语法的学习和大量语料的输入,写作水平就会得到指数级的提高。

100Words v1,1

100Words v1,1

功能说明

1.自动创建 ‘C:UsersAdministratorMyDiary年月’ 目录树及文件。
2.以日为文件名创建txt文件,txt文件开头写入日期与时间。
3.每篇日记要求字数100。
4.查看以往日记点击File-Reflect。
5.查看以往日记不支持再编辑,点击保存会添加到当天内容。
6.数据统计。

使用说明

1.点击这儿下载文件。
2.双击安装字体文件(Purisa.ttf)。
3.然后就可以打开程序(100 Words.exe)了。

Rules

Rule 1: You must write no less than 100 words. Rule 2: You can only use one emoji in one day. Rule 3: You can not change the previous diary.

打包说明

1.根目录下的exe文件是用pyinstaller打包。
2.Diary.spec为打包后生成的配置文件。
3.代码中的音频调用使用了一个resource_path(relative_path)函数,在调用文件的地方使用这个函数包裹。 然后在.spec文件中指向具体的文件地址,打包后即可正常调用。 4.详情见注释。

待实现功能

1.图形界面;————√
2.拼写检查;
3.年底自动总结完成情况,包括每月完成量,生成折线图;
4.添加表情;
5.activity calendar。
6.图标问题。
7.反馈。————√

Python打包总结(pyinstaller)

 

在学《Leanrn Python the Hard Way》时做了一个文字游戏,想要分享给朋友玩。于是便想把程序打包成 .exe 文件,尝试了py2exe,出了很多问题,花了很多时间查来查去最后还是没有成功。然后试了pyinstaller,虽然也遇到了一些问题,但终于完成了。

(英文好的建议直接去看官方文档

 

、安装及基本操作

 

Pyinstaller可以使用pip安装,在命令行下输入下面这行就可以了。

 

pip install pyinstaller

 

如果下载安装包,那么要注意下载相应的win32/64版本,建议所有的程序都统一成32位或是64位版本,这样会减少很多问题。

 

安装完毕之后,就可以通过以下命令打包了

先转到主脚本所在的地址,例如:

 

cd C:UsersAdministratorprojectstomato

 

然后执行如下命令:

pyinstaller start.py -F

 

其中start.py为主脚本,主脚本中调用的模块文件会被自动打包。第三个参数是操作命令,常用的命令有

-F 打包成单个文件
-D 打包成单个文件夹形式
 
-c 控制台模式,执行程序会跳出控制台,
-w 窗口模式,不会跳出控制台 

 

基础的命令就这些,程序名和图标等建议在spec文件中设置。

 

二、文件调用(音频,图片等)

 

一开始打包时便不清楚文件调用问题,因此文件一旦移动到别处就没法正常调用。后来看到别人的教程,但这部分也是模棱两可,让人理解不了。后来结合官方文档和别人的教程,终于弄清楚了。

 

首先在脚本定义一个读取相对路径的函数:

Import os
Import sys 

def resource_path(relative_path):
    """
    定义一个读取相对路径的函数
   """
    if hasattr(sys, "_MEIPASS"):
       base_path = sys._MEIPASS
    else:
       base_path = os.path.abspath(".")
    return os.path.join(base_path, relative_path)

 

然后在需要调用文件的地方用如下格式包裹:

resource_path('resources/complete.wav')

 

然后在生成的.spec文件exe = EXE()中加入下面这行:

[('resources/complete.wav',r'C:UsersAdministratorresourcescomplete.wav','music'),],

 

元组内的三个项:

第一个为代码中resource_path包裹的地址;

第二个是文件的实际地址;

第三个是打包进程序的文件名字。

 

这样打包后文件会被正确引用。

如下所示:

exe = EXE(pyz,
      a.scripts,
      a.binaries,
      a.zipfiles,
         a.datas,               
         [('resources/complete.wav',r'C:UsersAdministratorprojectsDiaryresourcescomplete.wav','music'),],
      name='Diary',  # 这里可以设置可执行文件的名字
      icon='diary.ico',# 设置图标
      debug=False,
      strip=None,
      upx=True,
      console=True ) # 是否开启控制台模式

注意加地址前的r以及行尾的逗号,更新过spec文件后,再重新打包只需要执行pyinstaller start.spec 就可以了。

 

三、添加图标

 

图标的设置有两种方式,一种是在执行打包命令时加入下面这句:

--icon=xxx.ico

 

第二种(推荐)是用文本编辑器或记事本打开执行打包后文件夹内新生成的xxx.spec文件,然后在exe =()中加入一行:

icon = ’xxx.ico‘

(见上面的代码第八行)

xxx.ico 为你要设置的图标文件,其他格式需要转换成ico格式,可在这里在线转换。

(图标文件要放在程序根目录下)

 

四、其他

 

  1. 64windows上打包的程序不能在32位上运行,反之却可以。
  2. 每次更改完代码或是spec文件,只需要再重新执行一下pyinsyaller start.spec -F就可以了

 

五、替代品

 

如果pyinstaller没有解决你的问题,那么你可以尝试一下下面这两个替代品:

py2exe

cx_Freeze

 

英文标点符号用法整理

 

最近突然发现自己学了那么久英语,但连最基本的标点符号用法都不清楚。于是花时间整理了一下各个标点的用法。

 

一、英文名

 

. period or full stop 句号

, comma 逗号

: colon 冒号

; semicolon 分号

! exclamation mark 惊叹号

? question mark 问号

– hyphen 连字符

* asterisk 星号

‘ apostrophe 所有格符号,单词内部的省略

— dash 破折号

_ underscore

‘ ’ single quotation marks 单引号

“ ” double quotation marks 双引号

( ) parenthesis or round brackets 圆括号

[ ] square brackets 方括号

<> Angle brackets 尖括号

{} curly brackets or braces 大括号

《 》French quotes 法文引号;书名号

… ellipsis 省略号

¨ tandem colon 双点号

” ditto 同上

‖ parallel 双线号

/ slash or virgule or diagonal mark 斜线号

& ampersand = and

~ tilde or swung dash 代字号

§ section; division 分节号

→ arrow 箭号;参见号

| vertical bar 竖线

backslash 反斜线

 

二、用法

 

单边符号

 

  1. 大多数符号其后需要空出一格。
  2. 标点用于表示缩写词、数位、金额(1,000,000)、时间(5:30)、比例(1:3:4)其后不用加空格。撇号()、连字号()前后均不加空格。
  3. 表示称呼缩略词(Mr. Hui)、时间(12′ 13” 14” )其后需加一个空格。

 

 

成对符号

 

  1. 需要在符号的两边各空一格,符号内不用空格。符号内的其他符号也不需空格。

 

He said, “I may forget your name, but I never forget a face.”

 

三、常见误用

 

  1. 书名号问题

英文中没有书名号,引用的标题通常用斜体或加下划线表示。

 

  1.  hyphen (-)、en dash (–) 和 em dash (—)

 hyphen (-)长度最短的是连字号,用于单词换行,连接前后缀,复合词,分割数字。

en dash (–)是连接号,用法类似中文下的~,常用于表示起止范围。

em dash (—)用法类似中文下的破折号。

三者使用时前后均不加空格。

 

 

 

四、相关链接

 

 

 

 

 

 

 

我的GTD方法论2.0

概述

之前沉迷豆瓣和知乎的时候,像是饿久的人,胡乱朝嘴里塞满了各种各样的理论、观念和方法。每一种理论或产品都有一大群支持者,他们将其运用的无比熟练,所以写出来的推荐也让你为之倾倒。但在实验了一大堆方法和App,买了一大堆据说可以提高生活质量的小玩意后,生活似乎还是没多大改变。为什么?因为他们或许并不适合你,或者你并不需要。那么问题来了,如果找到适合自己的GTD工具?

答案是:简单来说,就是从需求出发寻找方法和工具,而不是从工具出发来创造需求(比如想买个kindle来培养读书习惯)。具体来说,一开始不要听取和尝试他人的建议。先去了解自己的需求,发展自己的需求,自己用纸笔去创作和设计你所想要的工具,绘出它的蓝图后,去网上寻找和它功能最接近的工具。若是找不到,那就去学编程吧(笑)!

(顺便说一句,到处寻找最好的工具、方法和材料的人总是会一直找,一直找,然后就忘了最初要学的东西。)

照此说来,我在这里推荐自己使用的工具似乎没有必要了。不,好的东西当然是值得尝试的。而且我在这里推荐的不光是工具,还有各种工具的搭配使用方案。感兴趣的人自然可以为之一试。

PS:不论什么工具,一定要做好数据备份工作。

 

工具推荐

时间管理(GTD) 

atimelogger 2

以前常常想要一个打卡的软件,求而不得。便常常用画格子打勾的方式打卡,但每每落下或拖延也并没有什么羞愧感,成就感更无从谈起。用了一段时间这个app后,才发现最好的度量工具是时间。时间对于每一天都是平等的,每一项任务投入了多少时间都是不可变更的。而且把时间作为目标,你可以专注于目标本身,只需要保证时间使用的质量。通过对自己每天的各项活动的时间统计,你可以无情的剖析自己,面对精确的数据,你没法去美化记忆。

做这样的分析(此处指分析自己的日常时间花销),比作忏悔需要更大的精神力量。在上帝面前坦白,总要比在凡人面前坦白容易些。把自己的弱点、恶习、空虚等等统统暴露在众人面前和自己面前,是需要勇气的。德鲁克说的对,只有让-雅克·卢梭或托尔斯泰这样的人,才能严格无情地解剖自己。奇特的一生

这个app通过对每天各种活动的统计,最终生成各种数据(饼图,表格等)。

首先你需要对每天所涉及的各种活动进行分类,项目多寡与细分程度依据你所要采取的记录方式而定:全天记录(记录全天时间,统计各项花销)、专项记录(记录你对某一项目所投入的时间)。

我目前采取的是全天记录,这样我就可以清楚自己花费多少时间在低产出活动上,并且逐日递减之。

一天过后,就会生成这样的一个饼图:

atimelogger

一天的时间数据生成的饼图

 

 

然后通过我设定的时间目标,可分为每天、周、月/xx时。然后通过进度条来激励自己不断前进。

因为每进行一项活动前都要更改,我会清楚的意识到自己将要进行什么样的活动,并且会考虑要不要进行,而不是直接开始。这样就有效减少了低效率或无益之事的发生概率。

Tips:

  • 把重要目标设定为每天循环,次要目标设定为每周循环(Reach duration)。而娱乐等活动设定为Limit duration,并且把每次休息时间限定为10分钟。
  • 通过设定时间目标可以用于番茄工作法的实践工具:设定一个25分钟的Reach duration,项目包括所有有工作和学习性质的项目。另外设置一个5~10分钟的休息(Limit duration)。

 

Wunderlist(任选)

用来做任务管理,建议以周为单位来规划任务。
目前我用纸笔做任务管理,详见我的纸笔任务管理系统(待写>_<)。

 

日记

日记是日常管理的有效工具。总结回顾,自我对话,大脑风暴,信手涂鸦,均可胜任。在每一次日记时,我会跳出自身的局限,以更高的角度来审视自己最近的生活,做出反省与总结。或是推想目前所遭遇的困境的解决之道。

 

知识管理(KPM)

Evernote(存储文章)

Evernote主要用来存储优质文章和信息,做好大类,其他的打标签分类。定期清理,删除或是整理重点后入Onenote相关分类下。
可在Chrome上安装相关插件,直接剪藏网页。

 

Pocket(待读文章)

我把Pocket当作一个inbox来用,在网上看到的文章,信息,或是在rss订阅器看到的值得读的文章,统统集中起来。读后值得保存的文章则分享到Evernote,次类文章则直接存档。

Chrome上也有相关插件,建议保存前打上Tag,便于分类。

 

Onenote(碎片知识整理、写作、项目实施、素材收集、计划与总结)

功能强大,就不介绍了。
用途广泛,我的主要用途举例:

  • 用来整理Pocket阅读后不值得保存但包含有价值信息的文章;
  • 整理读书笔记;
  • 写作;
  • 整理从各处获取的零碎知识(网络,演讲,纪录片,电影,言谈);
  • 项目构想;
  • 写作素材的收集;
  • ……

 

相关书籍推荐

幸福之路
高效能人士的七个习惯
奇特的一生
把时间当作朋友

 

 

新手写给更新的新手的编程入门建议(Python)

引文

我是从去年开始学习编程(Python)的,到现在仍然还在入门阶段。之所以我的入门阶段如此之长,我想大概有以下几个原因:

一、没有选对教材

一开始我看了《Python简明教程》,书中大部分概念都很简单,只能算是有了一个基本的了解。然后做了某个网络在线教程,一味的强调语法规则,反觉枯燥乏味,像是做填空题。再后来,看了Udacity上的教程,发现Python原来能做这么多有趣的事情,这才有了更大的兴趣。但Udacity上的课程仅仅是几个小项目,适合刚开始学习时培养兴趣。然后,我有发现了《Learn Python The Hard Way》,觉得这才是初学者应该接触的东西。作者不仅强调了很多重要的概念,还指出了很多新手易掉入的误区,比如不该纠结于操作系统和文本编辑器等。

二、听从其他人的建议

当然不是说不能听从他人的建议,我的意思是不要听从太多的建议。大部分权威的建议肯定是有价值的,但新手得去分辨他的建议是不是适合新手,假如我早一些看到知乎上萧井陌的这篇编程入门指南的话,那么我将少走很多弯路。而我的经历是这样的,当我纠结于操作系统时,便去找关于操作系统的建议,然后掉进了Linux的大坑,从虚拟机、Linux版本、命令行、软件配置……这其中每一项都花费了大把的时间。接着我又开始纠结编辑器,又去找建议了,试了各种各样的编辑器,每一个都有或多或少各种各样的问题。每一个工具的支持者都列出各种各样的优点了。但你却不知道自己适合哪一个,最后只能是试来试去浪费时间。

三、投入的时间太少

这个是我自身的问题,但如果非要找些借口也能找得到,比如说当初没脑子选错专业,有女朋友……但最近情况好了许多,我已经彻底放弃专业课的学习,每天只专注三件事:阅读,英语,编程。

我的建议

下面以我过去一年的经验,给比我还新的新手一些建议(仅适用于入门阶段):

一、为什么学编程?

开始学编程之前,要问自己这个问题。没有目标的学习算什么?修身养性,锻炼智力?不管是想要开发程序,做网站,或是找工作挣钱。总之要有一个目标。这是你坚持下去的前提。

二、操作系统

不要一开始就换Linux,作为编程新手,Windows已经足够了。

三、编辑器

用Notepad++。不要问为什么。

  1. 制表符Tab设置转换为空格。
  2. 运行快捷键设为F5。
  3. 语言样式依喜好来。
  4. 其他设置默认,学习一段时间后根据需求再去改设置。
  5. 再知道自己需要什么样的功能之前,不要换工具。
  6. 学完基础内容后可以试用一些PyCharm。

四、教程

看看专家们怎么说,不要看太多的建议。比如萧井陌的那篇入门指南就很好。知乎上技术类的问答可以只看高票答案。

五、如何坚持?

定期回顾自己的目标是否现实,自己是否有能力实现。觉得不能的话立刻放弃,不要浪费时间。心智不成熟的人多去看看书(当然看烂书没用),等长大了再来谈坚持。对于心智健全的人,我的建议是:

  1. 抛弃娱乐式学习。
  2. 做自己感兴趣的小项目。
  3. 使用纸笔做任务管理。
  4. 远离媒体和社交网站。
  5. 简化生活方式和人际关系。
  6. 一周只留半天休息娱乐。

六、其他

用写博客或记笔记(推荐OneNote)的方式记录经验和总结。牛犊应该安心吃草长大。慢慢来,不要急。