分类目录归档:学习

《程序员的呐喊》读书笔记

书籍信息

书名:程序员的呐喊

作者:Steve Yegge

豆瓣连接:https://book.douban.com/subject/25884108/

书摘

首先,再垃圾的语言和技术也一样有机会赢,甚至赢面可能还会大一点,因为改正起来会更快。

营销才是关键,追求公平竟争只会导致你的语言无人问津

这两句话我个人深有感触,很多程序员只会写代码,不懂得营销。无论是工具、还是语言,都需要营销,才能获得更多的用户。

而我的少数派观点是,对任何人、团队或者公司来说,没有比一大坨代码更精粗的东西了。代码量太大会压项目和公司,而且代码到了一定规模后除了重写别无也法,任何聪明的团队都会尽一切努力免代码成山。不管有没有工具。

别让你自己陷入到一大坨代码中,保持尽可能的精简,这样才能尽可能的保证不出错。当你写5个字的时候,出错的概率很低;但当你要写5000个字时,难免有错别字。

如果你想要上进的话,唯一要做的就是持之以恒,不管你是想要提高自己的程水平,还是数学水平,或是想要健身,玩风答,甚至克服人类比害怕死亡更甚的第一恐惧:公开演讲。只要脚踏实地,就能循序渐进。我无法许诺你能从学习中获得任何快感。你会长更多东西,会对很多事情有独到的见解。甚至可能会有更好的工作,或是写出让你扬名立万的软件,或是让你的工作变得更有乐趣,但是你会没时向看电视,有才有得嘛。我们都必须选择怎么分配自己的时间,这是零和博弈

坚持让胜利成为可能。你不需要在一时超越别人,你需要一世超越别人。坚持很难,但值得。

这正是另一半讽刺的地方。程序员非常在意性能,他们愿意为此花费无数时间去摆弄算法和数据结构,压榨程序里的每个指令周期和字节,但却不愿意用这些时间去学习在新硬件上的新语言。哪怕这门新语言能让他在相同的时间里写出快1000倍的程序,或是只要千分之一的时间就能写出性能相等的程序。

激进的学习新的工具、语言,让自己接触到最新的科技,掌握最新的工具,能力,学习到更多的东西,更好的优化自己的工具链。

决定是否继续学业其实有个简单到发指的判断标准,那就是:不劳无获,学习是一件很困难的事情。要是你觉得很简单,那你肯定是在摸鱼,不去挑战自己做些过去做不到的新事物,你是不可能提高自己的。

学习是一件痛苦的事情,如果你不吃力,说明这些东西对你来说,已经不足以让你掌握更多新的东西了,你需要适当的换个方向。

下面我们用一些例子来说明这些本质上的分歧,保守派比自由派更看重这理念

– 软件在发布之前应该尽量修复所有bug
– 程序员应该回避错误
– 程序员学不会新语法
– 产品生产系统里绝不允许存在危险或有风险的后门。
– 假如一个组件的安全性存在任何疑虑,那它就不能发布上线——不管团队怎么哀求哭嚎说没它没法继续工作。
– 快比慢好。
– 代码必须通过编译器的安全检查数据

– 必须遵循事先定义好的格式

– 公共接口必须严格建模。

尽可能的保证激进,这对于想要战胜同侪的你来说,很重要。

本质上,保守主义就是风险管理。

正视风险的存在,并看到风险背后的机遇是一项很重要的能力。

为躲避风吹雨打,人类会本能地寻找庇护所,庇护所越强大,我们就越有安全感。Java国有很多这样坚固的东西可以满足国民安全感。他们在惊叹宏伟架构的同时会觉得这样的设计“一定是非常了不起的“。当需要修改结构时,这种感觉尤为强烈。架构上的强度过于惊人,没人相信这样的结构会倾倒。

架构束缚了我们的创造力

还有一点需要格外小心的就是,任何语言都一样,你很容易碰到那种对语言环很熟悉,但是对品味以及计算本身等真正重要的东西却一无所知的人。
若是吃不准要找什么样的 Java 程序员,不妨考虑一下这些条件:会玩好几门语言,讨厌J2EE和EJB那类牌肿框架,还有用Emas编程。这些都是不错的指标。

这些人至少学习能力过关、也有足够的兴趣和爱好。

可惜,大多数自认为“会写程序”的程序员都会狼隘地给异己者贴上“错”的标签。这是人的本性,是我们最容易犯的误之一,我自己也不曾幸免。

与自己不同不意味着错。求同存异

事实证明,编程和开车非常像,只要写几年代码,行了!自己就算是“会写程序”了,好像用微波炉加热玉米煎饼一样,大多数程序员这时都会陷入舒适区,再也走不出来,就像司机会尽量避开自己不熟悉的情况一样。要是有人给他们提点建议和意见,那这个人肯定是有毛病,要么就是搞不清楚状况



程序员和司机一样,总是自我安慰说等到需要的时候再去学新技能也来得及但是在内心深处他们都明白,其实当需求出现的时候就已经太晚了。因此现实情况是这样的,早鸭子会和水保持距离,司机会绕开泥泞的路段,而程序员会在舒适区里,搭建围栏把自己保护起来,然后析椅世界和平。

改变应当是潜移默化的;前进也应当是。

个人感受

这本书是一本很好的书,在理念上会让你对一些原本没有印象的东西有了一些初步的了解,同时,作者对于程序员的看法也值得我们去学习。做一个更好的程序员,让自己努力成长。

值得推荐的一本书!

《失恋28天》书摘

– 失恋是一个重新接受和拥抱自己的旅程,就如同当初你接受你的伴侣那样,你们有过磨合、有过争吵。
– 在刚刚失恋这个节骨眼上,你有权放肆袒露你所有的软弱,“死撑着”既战胜不了自己,也感动不了别人。真实地面对自己的脆弱,承认它,接受它,最后才能用海纳百川的心境来接纳它。 人啊,如果在最脆弱的时候不宠爱自己,那么也难赢得别人的宠爱。
– 人啊,如果在最脆弱的时候不宠爱自己,那么也难赢得别人的宠爱。爱如同尊重,没有自爱自重,即没有赢得别人的爱和尊重的立场和条件。
– 冰激凌彻骨的冷意会像CPR的电流那样,激活你麻木的心脏;而薯片这种吃起来“咔嚓咔嚓”的小零嘴,能从听觉上刺激你的神经。
– 爱情如瀑布,它美妙绝伦,壮观无比,飞流直下激起万千水花飞溅,让观者不由得感叹其壮阔。而友情如溪流,它默默无声地流淌在山间林
– 感情不可持续或感情的优质性不可持续。
– 如果恋情的质量无法得到保证,那么继续坚守一段千疮百孔的恋爱便成为无意义的举动。
– 千万不要轻易说出“分手”二字。同样的,分手了之后不要轻言复合。
– 1.分手主因是什么?有几点? 2.针对每一个主因的解决方案是什么?具体实施策略是什么?成功率有多少? 3.你愿意实施,那么他愿意和你携手同行吗?他的意愿如你一般强烈和坚决吗?
– 一个充斥重重矛盾和原则问题的恋爱,绝对比不上一个充实的单身生活。
– 最值得复合的,其实是一个拥有健全人格的自己,这样,你反而能赢得对方的尊重和欣赏。
– 问问你的内心,你还信任他吗?你还尊重他吗?你还欣赏他吗?爱情里的底线有很多,但这三个是最容易拿出来权衡的。即使看到他的眼睛不再小鹿乱撞,如果这三个底线还在,那么大体上可以说,你还爱他。 除了这三条底线,你对于爱情还有什么其他要坚守的原则?他的所作所为或者你的所作所为,是否已经打破了这些原则?如果是,那么或许你已经“不再爱他”,只是单纯“不想失去他”。这段爱情,已经失去了爱,你这最后的挣扎,不是为了得到爱,只是想不那么痛罢了。
– 想想看他对你的不满,你改得掉吗?想想看你对他的失望,你能重燃对他的信任和坚持吗?想想看你心中扎满的刺,你拔得掉吗?爱情不是恩赐,绝不可能唾手可得,唾手可得的只可能是同情。
– 付出只是“有可能”兑换得到,而不是绝对。既然是一场“有可能”的兑奖游戏,那不如就潇洒一点地去面对“谢谢惠顾,下次好运”这张空头奖励吧!
– 小毛驴啊,没有什么好心有不甘的。纵使原地踏步了一万圈,一直吃不到眼前的萝卜,可你也锻炼出了强健的体魄和不断进取的毅力。如果有一天,你放下吃到萝卜的执念,挣脱身上的桎梏,你坚忍的意志会引你在广阔的田间奔驰。
– 女性的欲望赤裸而直接,女人渴望被渴望,女人是极度自恋的生物。
– 男人喜欢听到“她选择了我”,女人喜欢听到“他想要我”。一个关于权衡,一个关于欲望。
– 失恋了,吵吵嚷嚷的朋友聚会就像精神的麻醉药,也许让你暂时感受不到那种撕心裂肺的疼痛,但在所有人散去以后,夜晚的安静会让人抓狂。此时不如走到一个真正宁静的地方,没了白天喧闹的反差,晚上你反而不会那么想他。
– 会想念,是因为我们有感情和记忆。感情是想念的根,记忆是土壤。发疯般地想念一个人的时候,我们最羡慕的就是只有短暂记忆的鱼。感情是人最美好的特质,能爱、会痛,是一种珍贵的特质。可有时真的痛得受不了了,就宁可抹去所有的记忆,幻想自己是一台机器,只要轻轻按下“重置”按钮,就能从头来过。
– 每天早上睁眼和晚上躺在床上的时候。当夜晚降临,一个人躺在偌大的床上,翻过身,好像就能看到那双曾经紧抱住自己的双手,感受到那温柔的体温,强装了一整天的坚强总会在入睡前土崩瓦解。
– 人为什么会内疚?如果做了一件别人都说是错误的事情,而自己没有觉得错,那你不会内疚,而会委屈。内疚和外界压力无关,纯属个人的内部矛盾。内疚是自我谴责,自我谴责比外在谴责更能磨灭自我肯定,没有什么比人从心底里发出的力量更有侵略性了。
– 只怪当时自己太年轻,以为扔掉的只是分手的前任,没发现那个爱哭爱笑的自己也一起丢了。一段恋情哪里会只有一个人参与呢,忘记恋情,否定恋情,不可避免地会连自己在恋爱中参与的那部分都一起抹去。
– 时间,它拥有抚平一切事物的能力,它会在不经意间愈合你的伤口。不管一切是否会变好,有一件事情是肯定的——一切都会过去。
– 世界之初有三种人——男人、女人和“圆球人”。“圆球人”指的是一种男女两性的合体。“圆球人”除只有一个脑袋之外,其余的都是我们现代人的双份,比如四只耳朵、四只手、四只脚等,而他的脑袋是圆球形的,上面有两张脸。这种人的体力和精力都非常旺盛,因此自高自大,甚至图谋向诸神造反。于是宙斯和诸神便将圆球人劈为两半,并吩咐太阳神阿波罗将他们的头转向两侧,这样他们就会穷尽一生来寻找自己的“另一半”。
– 暧昧就像一个人一直站在跷跷板中间,战战兢兢地保持着平衡,并享受着刺激的欢愉。刚分手的你,向前一步就是前功尽弃,向后一步则是万丈深渊。这个平衡木,还是不要站上去为好,免得失去了平衡而两相怨恨。
– 这么早遇到你,却为时已晚。
– 1.能爱吗? 2.能恋爱吗? 3.恋爱中要的是什么? 4.恋爱中不要的是什么? 5.你现阶段容得下恋爱吗?
– 不断地和自己分手,不断地和别人分手;或者不断地和自己复合,不断地和别人恋爱。

IEEE 期刊列表

A – C

D – F

G – J

K – O

P – S

T – Z

WX20171012 230742@2x

如何从微信读书中提取书摘和笔记?

一直以来都是在用 Kindle 读书,一方面是我可以使用 Klib 来导出读书笔记,另一方面是我买了 Kindle Unlimited ,很多社科类的图书我都可以直接借阅。
最近由于通勤时间变短,没有用 Kindle 再读书,换为微信读书。
 
微信读书的阅读+社交的模式很好,读书时长兑换书币的福利也很棒,但是一直以来我不喜欢微信读书的原因就是他的笔记和书签只能生成图片分享。这样就太不方便了,于是一直不喜。
最近发现原来微信读书也可以导出书摘,之前都是因为我自己没有找到,所以无法提取出书摘。在这里我也把提取书摘的方法教给你,帮助你更好的使用微信读书。
第一步,打开微信读书,进入 “我” 菜单项,点击笔记,进入笔记页面
 
rs1ry
第二步:点击你要复制的书,进入书的页面
f3yj3
第三步,如果你要复制单个笔记,可以点击笔记的文字,进入到笔记在整本书的具体位置
t9z1n
这时,你可以点击红线,会弹出一个选择框,点击其中的复制,就可以将这段文字没有任何格式的复制出来了。
第四步,如果你要批量复制笔记的话,可以点击右上角的“编辑”
0mkvb
进入编辑状态后,选择你要复制的笔记,并点击下方的复制。
将其粘贴到一个合适的地方即可,这时的笔记是包含一个还算不错的样式的。
wqna8

science 683264 640

那些无用的研究是真的无用么?

很多人在吐槽高校、研究机构在进行无用的研究,在这里,我希望能够给你一些不同的视角。
首先,我承认有一些研究消耗了与其不匹配的项目资金,但是具体数目,我不清楚,这个更适合由纪检委来进行审查。
但是,我并不认可这些研究都是无用的。
首先,我们要知道,科学理论必须是可被证伪,并且仍未被证伪的。
这句话出自卡尔·波普尔的《猜想与反驳》一书,这句话定义了什么是科学,我们任何对于现有结论的验证,可以说都是一次证实和证伪的过程,借助这个过程,我们可以验证这个结论是否是可信的。我们的每一次实验,都是在对结论进行证实,同时尝试证伪。
此外,我们也要注意,科技是不断进步的,科技的进步会为我们研究科学带来更多细节上的内容,一次实验我们不能只做一次,因只做一次会受到研究条件的限制,只有不断的去做,不断的去更新数据,提供更为细致的结果,才能帮助我们更好的去做好科研。
以及,科学的进步并不是每一次都能突飞猛进的,爱因斯坦、爱迪生、特斯拉这样的人还是太少了。
有兴趣的可以去看看果壳网的一篇文章,更加细致的去说明什么是可证伪性 :http://www.guokr.com/post/50111/
说这么多,还是屁股决定脑袋:)

euro 1353420 640

经济机器是怎样运行的

这个视频是之前朋友在朋友圈中分享的,后来他删除后,我觉得视频实在是不错,于是又跑到 Youtube 下载了这部视频,并在此分享给大家。

这个视频的官方页面在:http://www.economicprinciples.org/zh-hans/index.html ,你可以访问这个网站获取更多的信息(官网的视频在 YouTuBe,需要特殊渠道查看)。 继续阅读

Evernote Logo 1200 640x334 1

我的高效 Evernote 生活

Evernote 是目前我作为主要的笔记应用的这样一款工具。这里分享一些高效使用的技巧,也欢迎你来分享。
本文将持续更新。
 

第一部分:我自己实践中的高效技巧

这一部分的技巧是我自己目前已经在使用的、将继续使用、确定可行的操作技巧。

  1. 为笔记本和笔记本组设置编号来强制排序:通过为笔记本、笔记本组设置特殊的前缀,可以达到强制排序的效果,从而让你在进行笔记本切换时形成习惯(因为笔记本的位置基本固定)。我采用的是“001@收集箱”这样的形式,还有譬如 ?收集箱 A-收集箱 这样的形式。具体可以根据个人的习惯来实现。
  2. 为笔记本设置收集箱这个方法一方面来自于 GTD 思想,另外一方面,是让我们对收集到的内容进行二次处理。通过设置其他软件的导入笔记本、默认笔记本和笔记自带的默认笔记本,来使得新的内容强制放入收集箱,每天再对收集箱进行整理,以免出现收集到了记事本,但是再也没有看过的问题(在收集箱进行分类时进行了处理,可以有效的提高利用率)。操作:新建一个笔记本,起名为“收件箱”,右键点击,设置为默认笔记本。这样一来,任何新建的笔记或者剪藏下来的网页都会默认存储在这个笔记本中,在你有空整理的时候,随时可以把其中的笔记迁移到其他的笔记本中。
  3. 利用标签进行归档:单纯依赖分类没有办法很好的区别笔记的各种属性。举个例子,我收集到了很多文章,作为我某个方向的素材,那么我只能根据笔记本来判别是那种素材,而无法判别这个素材的来源、状态、是否处理,我可以在收集箱分发到各笔记本时进行标签的设置,来实现相关的工作。比如,添加“已处理”标签、添加“注意力商人”等来源标签等等,通过标签的使用,可以提升笔记的检索效率。
  4. 使用剪藏的隐藏广告模式,而不是网页全文模式:隐藏广告模式其实是以前的 Evernote Clearly ,相比于网页全文模式,可以将我们切换到阅读模式下,无视页面内的非主要资源的其他资源。这样做可以节省我们的注意力,在存储笔记时,也可以降低无关信息的引入。
  5. 使用 Evernote 的 Schame URL 来进行跳转:在笔记上右击,按下 Option 键,菜单中的复制笔记链接就会变成复制笔记内部链接。通过笔记内部链接,可以很方便的给笔记做上大纲的功能,提升笔记的组织程度。

第二部分:我准备动手实践的高效技巧

这一部分是我希望学习、希望实践的技巧

  1. 在 Evernote 中启动代码块的支持:在印象笔记 Mac 版中,点击左上角–Evernote, 偏好设置–软件更新—开启代码块,编辑栏中就会显示代码块图标。印象笔记 Windows 版默认开启代码块功能。虽然我是个码农,但是目前来说,代码习惯直接发布在博客,很少在笔记中发布代码,这个可以用起来。要结合我自己的场景来考虑。
  2. 在 Evernote 中保存 PDF、图片:Evernote 支持图片、PDF 的引入和自动识别,在自动识别完成后,我们可以在搜索框内直接搜索图片中的文字和 PDF 中的文字。虽然我是印象笔记的年付高级会员,每个月的流量用不完,但是长期以来使用微云的习惯还是让我把图片优先存储在微云。不过确实可以将一些包含着文字内容的笔记存在 Evernote 中,来提升自己的文字整理效率。
  3. 不止为自己的知识进行存储:PARA 笔记存储方法分别是 projects(项目), areas(地区), resources(资源)和 archive(档案)的首字母,灵感来自于包以德循环(OODA loop),它是 observe(观察)、orient(调整)、decide(决策)和 act(行动)的缩写。
  4. 建立自己的图书馆:可以借助剪藏来收集互联网的知识,进行整理。可以将觉得不错的句子加粗、变色,保存。并添加标签:表达、名句、好词等等,当你写文章时会用到的。其实有所实践,但是我是通过读书笔记来实现的,并没有存储原文。
  5. 使用 Evernote 建立自己的听力库:在笔记中加入听力MP3与文本后,在给笔记添加“npr news” 、“社会时事”和“偏难”的标签,方便下次根据听力来源、类型、以及难易程度寻找这条听力笔记。创建好笔记后保存在印象笔记里,下次方便的时候打开就可以直接听到符合自己水平的听力材料。在精听的过程中,首先听2-3遍掌握大意,然后开始选一个片段进行听写练习。在尽自己最大的努力听写完之后,下一步就是将自己的听写与原文核对,检查自己听错和听不懂的地方,总结原因,吸取教训。新学到的单词以及容易听错的地方要用高亮在原文中标注出来,方便回顾。
  6. 使用 Evernote 进行课堂笔记:在听课前新建一条笔记,记录时间、课目,课程内容上课时记录在纸质笔记本上,看到重要的板书直接使用笔记的拍照功能拍下来。重点内容可以借助录音功能。课后对借助笔记的拍照功能对手写笔记进行扫描,加入到电子笔记中。进行合理的整理、排版、归纳后,就成了一篇完整的课程笔记了。恨不得早一些明白这些技巧。还可以在课前将课程的资料整理到课堂笔记当中,方便学习。
  7. 使用 Evernote 快速查找资料:可以将资料的 PDF 文件放入 Evernote ,这样在使用时可以直接搜索 PDF 中的文字,提升效率。
  8. Team Work 使用共享笔记本和工作群聊来提升效率:对于需要团队协同工作的内容,可以设置一个共享笔记本和工作群聊来进行资源和信息的共享,提升工作的效率。减少信息多处存储,降低数据不一致的可能。
  9. 使用私有邮箱来管理邮件:借助印象的私有邮箱,我们可以将重要的邮箱转发到私有邮箱当中,从而实现对邮件的备份,方便后续查询。还可以对备份的邮件发出提醒,提醒我们完成相关任务。发送邮件时,加上@已有笔记本名称,#已有标签名称,就可以将邮件放入指定邮箱,加上特定的标签。个人依然推荐你使用收集箱来进行处理。
  10. 在印象笔记中起草邮件:邮件的内容要言简意赅,可以从这几个点来关注:
    • 你是谁?
    • 你想要做什么?
    • 为什么要问我?
    • 我为什么要按照你说的做?
    • 下一步,我该怎么办?

    把邮件限制在五句话之内。自己写的时候可以更专注,更有条理。邮件接收者也可以更快做出决定,采取下一步的行动。赞扬多多益善。邮件限制在5句话之内,是为了提高行动力和沟通效率,但如果你写一封信表扬对方,就无需任何约束,尽情抒发吧。

  11. 创建职业笔记本,提升求职材料的管理效率:新建一个笔记本,命名为“Offer快来”, 来存放所有与工作相关的资料;
    捋一捋找工作需要的材料。求职时手头都需要用到哪些材料?

    • 简历
    • 求职信
    • 之前工作的项目经历
    • 证件照
    求职材料的文件格式往往不尽相同:Word文档、PDF文档、图片,甚至是多媒体文件。将这些材料都放进笔记中。对于自己的履历等音视频资料,可以单独建立一个笔记来存放。同时,定期更新你的简历,明白自己是否偏离了规划的路线等等。
    递出申请后,将所有申请资料在印象笔记里备份。等到对方回复你时,你可以清楚知道自己申请时提交了哪些材料,避免出现弄混公司的尴尬情况。每当事业有了新的发展,也不要忘了更新笔记内容。确保记下联系人信息、申请状态、公司调研笔记以及面试要提的问题。
    如果某份申请的某一部分斩获招聘单位的青睐,记得记在笔记里。如果是一份非常成功的求职信,更要移动到“Offer快来”笔记本里。获得面试机会的工作申请也要记在笔记里。除此之外,面试中出其不意的问题也可以记录下来,为下次做好准备。

印象笔记之禅

  1. 用的越多,价值越大:你在印象笔记存储的资源越多,你就有越多的机会去更好的借助印象笔记的诸功能实现更好的管理。要将印象笔记设置为默认的笔记本、剪藏工具、参考资料的收集箱,从而使其发挥最大的效用。
  2. 使用剪藏:使用剪藏来提升数据收集的效率。剪藏后的数据我们可以轻松的进行批注和修改,同时还可以加入标签,来方便数据的搜索。比浏览器自带的书签会更有用。
  3. 别太纠结笔记本和笔记的数量:不要过于关注笔记和笔记本的数量,借助标签和搜索功能来管理他们会让你的工作更加高效。
  4. 已保存搜索+标签=筛选笔记:可以为适用于多个笔记本的内容添加标签,同时将可能会经常搜索的属性设置为标签,提升筛选的效率。但是也别搞太多的标签,只有那些真正重要和经常的标签才值得留下来。
  5. 使用笔记链接,查看相关内容 :使用笔记链接和笔记内部链接来完成笔记间的跳转工作,可以减少搜索的麻烦。你可以为每一个笔记本创建一个目录的笔记,用来记录同笔记本的所有笔记。
  6. 把其他的一些东西也放进来:你可以把菜单、食谱、名片、收据、白板等都存入笔记当中。借助笔记的文字识别功能来提升效率。
  7. 简化你的笔记本和标签:当你发现你的很多笔记本都空置没有使用时,你就要考虑合并一些笔记本来使得你的笔记本变得更少,让你有足够的精力去对付那些重要的笔记本。同理可以去除一些不常用的、无意义的标签。

一种笔记本的架构

将自己的生活进行高度的概括,来优化笔记本的结构

  • 个人生活
  • 职业工作
  • 参考资料
  • 共享内容
  • 个人提升

我们可以将我们的所有的笔记本归为上述的五类,你也可以适当添加适合你自己的(记得高度概括)。