2017 年 11 月

在 C++ 中,如果一个类的所有成员——包括构造函数、析构函数——都是 private 的,那么访问这个类的成员就只有一种方式:通过友元。

因此,如果一个类的所有成员都是私有的,那么

  • 一方面可以认定,该类的所有操作,都是由其友元发起的;
  • 另一方面可以推出,对类使用友元,实际上会导致类的封装被破开一个口子,将内部数据和操作泄露出去(因此要慎重)。

考虑问题的本质是什么,再定义一个类来抓住这个本质,并确保这个类能独立地工作。
只要类定义正确,我就只能按照我编写它的初衷那样去使用它。


通过抽象,将细节隐藏在内部,从而在编程时忽略不重要的部分,将精力放在更精确地表达意图之上。


曾经我自诩半个诗人,见山是深情伟岸,见海是热情澎湃,见花见草信他们皆有故事,云海江潮,虫鸣鸟啼都暗藏情愫。唯独见了你,山川沉默,海面静谧,云海不再翻涌,江潮不再澎湃,花鸟鱼虫被光与尘凝固,世界万籁俱寂,只剩下你。


我是个俗气至顶的人,见山是山,见海是海,见花便是花。唯独见了你,云海开始翻涌,江潮开始澎湃,昆虫的小触须挠着全世界的痒。你无需开口,我和天地万物便通通奔向你。


有位文豪说得好:「看一个作家的水平,不是看他发表了多少文字,而要看他的废纸篓里扔掉了多少。」我觉得同样的理论适用于编程。好的程序员,他们删掉的代码,比留下来的还要多很多。如果你看见一个人写了很多代码,却没有删掉多少,那他的代码一定有很多垃圾。

2017 年 10 月

这个假设非常强,因此和实际情况会有所不符。

2017 年 9 月

成就感是短暂的,焦虑才是永恒的。


GCC 技巧


毁掉一个人,最好的办法,就是放任他的缺点不管。


累到质壁分离。

2017 年 8 月

在历史上,文治总是比武功来得长久。武功很快就会过去,但文治会给下一个时代的世界留下宝贵财富。

人们谈到秦始皇的时候,一般会说这么几件事情:统一六国、书同文车同轨、焚书坑儒。然而,秦始皇给中国留下最宝贵的财富,当属他采纳法家学说继承者李斯提出的中央集权郡县分治的策略。书同文车同轨、焚书坑儒,都是秦始皇在达成这一愿望的过程中的作为。虽然秦始皇至死未能达成它的愿望,但是事实上自秦汉之后,中国的所有政权体系都是中央集权郡县分治。

这一体系在汉景帝刘启时期得以验证是唯一的管理大面积疆域靠谱的策略(类似周王朝的分封制在景帝时期引发的七国之乱),同时由汉武帝刘彻第一次实现(推恩令削藩之后达成)。

秦始皇依靠军事力量统一六国得到的疆域,在刘邦、项羽的军事力量下,以子婴向刘邦献出象征皇权的印玺为标志土崩瓦解。然而,他采纳的中央集权郡县分治的治国策略,则影响至今。正是文治比武功来的长久的典型。


自然法精神的贡献,是法理中的基本假设,也就是所谓「不言而喻的真理」:

  • 作为法律主体的人生而平等;
  • 每个人有追求生命、自由、财产和幸福的自然权利。

法律的一切规定都需以这些基本假设为最高原则。


法律是自然的力量,是明理之人的智慧和理性,也是衡量合法与非法的尺度。
法律乃是自然中固有的最高理性,它允许做应该做的事情,禁止相反的事情。当这种理性确认在人的心智之上并得到实现,就是法律。
——Marcus Tullius Cicero


物权法是私法的一部分,其核心是「谁的东西就是谁的」。也就是说,物权法提出了「所有权」的概念。现代社会的所有权即源自于此。


到了共和时期,罗马出现了很多团体。这里出现了一些观点:

  • 这些团体也应当有「人格」;
  • 团体中的个人(自然人)和团体是两码事;
  • 团体中的个人的财产和团体的财产是两码事;
  • 同样团体中个人的债务和团体的宅舞是两码事。

因此,出现了「法人」的概念。


公法私法的分别,从罗马的十二铜表法开始。

危害公共利益的行为,适用公法,由「公诉人」提起诉讼。个人之间的纠纷,则用私法处理。


汉武帝时代,卫青、霍去病在漠北之战中,将匈奴赶至西伯利亚地区。霍去病拒汉武帝赏赐,言称:「匈奴不灭,何以家为?」

汉元帝时期,匈奴南单于归附称臣,北单于依旧与汉朝作对。陈子公矫诏出兵灭了北匈奴郅支单于,而后在给朝廷的上疏中言称:「明犯强汉者,虽远必诛」。

今有人问起,「『明犯强汉者,虽远必诛』在当时是否算是『胡吹大气』」。须知,这句话是在陈汤斩了郅支单于之后说的。所谓「出来混,最重要的是讲信用,说杀你全家,就一定要杀你全家」,「毕竟一家人最重要的就是整整齐齐」。所以,一点也不胡吹大气。


有夺取天下之功的称为祖,有治理天下之德的称为宗。


第一祈祷词
唐不遇

世界上有无数的祷词,都不如
我四岁女儿的祷词,
那么无私、善良,
她跪下,对那烟雾缭绕中
微闭着双眼的观世音说
菩萨,祝你身体健康。


霍去病发挥骑兵的优势:

  • 锥子战:以小股精锐部队,奔袭作战。
  • 闪电战:打完就走,来得快去得也快。
  • 右勾拳:避实就虚,绕开敌主力部队,从侧面进攻。

星云内部的原子密度不同。高密度区域的原子,首先因为万有引力收缩到一起,然后再进一步地吸引远处低密度的物质。这种现象在天文学上称之为「坍缩」。


宇宙万物都有产生、发展、消亡的过程,日月星辰也是如此。


只强调集体主义,那么集体主义就变成了片面的集体主义,就失去了制约。那么,这样的主义,最终会沦为某些人的牟利工具。若是先保护好个人的合法利益,再自然而然地伸张集体主义。这样的集体主义,当是我们愿意拥护的。


细节见人品,日久见人心。

2017 年 7 月

智能的本质是降熵的能力。


真实的历史就是这样,我姥爷家族民国时候在江苏是大地主,家族跟着张謇搞纺织面粉薄荷油,很早就在搞外贸出口大赚美元活的要多滋润有多滋润。他老人家少年的梦想就是在大学泡泡妞,将来留校当个数学家开开心心混日子。结果日本人侵略过来,家乡变成一片火海,从小认识的好基友也被杀了。从此怒转化工成为新中国工业制铝奠基人之一。长辈谈起民国,除了姥姥喜欢念叨老家八万步田如何如何(笑),都说当年真正的精英只有一个念头就是救亡图存,跟现在的精神民国粉们想的根本不是一回事。
知乎用户:santos227


你们对我的百般注解和识读,并不构成万分之一的我,却是一览无遗的你们。


C++ 的哲学之一:只为用到的东西付出代价。


继承是一种抽象,它允许程序员在某些时候忽略相似对象之间的差异(基类),又在其它时候利用这些差异(子类)。


使用垃圾回收(Garbage Collection)管理动态分配的内存,至少存在三个问题:

  1. 这样的系统,必然使得系统在运行速度、编译器和运行时系统的复杂度方面付出代价;
  2. 垃圾收集主动发现「不需要的内存」的时机是不确定的;
  3. 基于上述 (2),如果内存释放是有顺序方面的约定的,那么 GC 可能打破这种约定,从而产生其他问题。

抽象是有选择的忽略。


C++ 的类(相对 C 来说)将状态和动作绑定在了一起。
因此更能抵御需求变化带来的程序修改的风险。


首先考虑效率问题,是 C/C++ 文化的商标。

2017 年 6 月

知乎的新版首页真的是[友善度],简直是全天下最[友善度]的改版了。


《读史方舆纪要》这样形容北京的地形:「沧海环其东,太行拥其右,漳、卫襟带于南,居庸锁钥于北。幽燕形胜,实甲天下。」


如果是骗子呢,他骗你的罪孽是他的因果报应,你只是抱着做好事儿的心去做的,你没错。但万一不是骗子,你就相当于帮人一下,也是你的福气。


怕什么真理无穷,进一寸有一寸的欢喜。


个人知乎首个千赞答案诞生:如何看待阿里「步数垫底罚站一周」?

2017 年 5 月

最后还是情不自禁想说一句,莆田医院我操你妈!
尤其是厦门前埔医院,你妈我要反复操!
https://www.zhihu.com/question/59323854/answer/174384116


不被理性升华的愤怒只会成为恶产生的源头。


关于「情怀」。

我觉得吧,什么是情,是你对某个事物,某一项工作的投入,你身在其中,你专注你付出,你觉得这个是值得的。而这个怀,就是在这个过程中,你若遇到的事情,合不合你意,你都能装下,能包容,能坚持一直以来的方向。这样在遇到一些选择的时候,你即使心中有其他声音干扰,也仍然能做出正确的抉择。从某种意义上来说,也算是一种信仰吧。有的人说是装逼,其实情怀这东西,每个人都有,只不过大家用的不同罢了。

作者:Helianthus
链接:https://www.zhihu.com/question/19744711/answer/173643687
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


不管你曾经被伤害得有多深,总会有一个人的出现,让你原谅之前生活对你所有的刁难。
——「幽灵公主」。


惊悉崔永元为了「反转」,开始攻击他人亡妻。对于对于这种泯灭人性的傻屄,有以下评价。

  • 如果人类的缺德程度可以量化的话,那么由于崔永元的存在,我们将不得不使用对数坐标。
  • 天下德缺一石,崔氏獨缺八斗。
  • 如果人的智商可以量化的话,他在坐标轴的负半轴熠熠生辉——「人」就免了。
  • 当你觉得他已经无耻到不能再无耻,下流到不能再下流的时候——他总是能突破你想象的极限。
  • 崔永元让我明白一个道理:对付有些人,有时候只能用「肏你妈」解决。反正,谁要是在讨论中拿我的家人做讽刺,我一定毫不犹豫的回他一句「肏你妈」。

让自己一点点了解自己的身体,哪个地方强壮,哪个地方还需要锻炼。这件事情难道不有趣吗?


虽然中国人说家丑不外扬,但看到国内环境如此,如果自己已经失去了表达的权利,再耻辱「我也希望至少能借助他人之力来让这个世界铭记。」

——关于「磁爆步兵」事件的评价


毫无盛气凌人的自信。


国家没希望而去追求个人的希望,是这天底下最荒唐的笑话。


今天是周六,赋闲在家。突然想起苏运莹在「中国好歌曲」上首次演唱的「野子」,就想要搜出来听。其实,野子已经听过很多遍了,不管是网易云音乐还是 QQ 音乐,或者虾米酷狗上,都有很多翻唱的版本。哪怕是苏运莹本人,也唱过很多遍。但是,心中永远最好的版本,还是好歌曲第二季第一集的版本。两分多不到三分钟的绽放,纯洁而灿烂。

在 YouTube 上找到最爱的版本,听着听着,就开始激动。等到一曲听完,眼睛里不知道何时已经有了激动的眼泪。

——原来激动的泪水,这也是真的。

2017 年 4 月

顶尖大学的顶尖课堂,就真正是顶尖的。太令人羡慕了。


世界上没有局座黑,只有局座蜜和丧心病狂的局座蜜。


道在前方,不容退让。

2017 年 3 月

作者:毛豆
链接:https://www.zhihu.com/question/54405230/answer/149668604
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

在我婚姻的前几年,饱受冷暴力的困扰,而我是施暴者。

有一次,老公因为一点小事惹我生气以后,我决定在接下来的一天里不和他说话。我待在一个房间,他跟随我到那个房间,我又换到另一个房间,从他身边走过时当他根本不存在。最后我在卧室的床上心乱如麻但表情木然地看电脑时,余光里看到他坐在卧室窗边的一盆绿植旁的背影从呆坐到轻轻起伏到压抑地颤抖。他后来流着泪告诉我,我们好的时候他感觉特别幸福,但是一旦他有什么做的或者说的让我不满意,我生气的时候,他就感觉到被我完全地抛弃了。

那之后不久我参加了一个心理学的工作坊,带领人是一位近90多岁的加拿大家庭治疗师。她可以无视主办方准备的沙发站着讲一天的课,也会干脆直接地拒绝下课时学员随机合影的要求,理由是她需要休息。她说,前几天路过台湾时买了很多书,但是没有时间看,只好等到老了再读。几天下来我被老太太精准的同理心、健康的自我价值感和高度的一致性深深折服。

最后一天的提问环节,我鼓起勇气争取到了一个提问的机会。我的问题被一句一句完整地翻译给她听:我说我有一个非常困扰我的问题,就是当我和我先生发生冲突的时候,我总是用冷暴力的方式去惩罚他,我已经意识到这样的沟通方式对他造成了深深的伤害,而他是这个世界上我最不愿意去伤害的人……我又说起小时候被妈妈忽略的经历,妈妈喜欢打麻将,经常半夜才回到家,而我就一直等到她的脚步声出现在楼道里才能睡觉;有一年我把我的生日愿望郑重地写在家里的台历上想让妈妈看到:希望妈妈再也不要打麻将了……我说我觉得小时候被忽视的经历让我在自己的亲密关系中缺乏安全感所以会用这种不健康的沟通模式来应对……我说我特别特别不想伤害我先生,可是当情绪上来的时候真的无法控制自己,这真的很困扰我,我该怎么办?

在整个翻译过程中,老太太一言未发,待翻译翻完最后一句话时,她说:“你当然可以控制自己,只要你想,并没有一支枪在那里抵着你。Next one.” 然后她就不理我了!!!转头去回答下一个问题了。

Boing! 当我从震惊中清醒过来后我意识到我刚刚听到一句极度深刻的话,一个新的世界即将由此展现。

一个年轻人未必幼稚,但是一个幼稚的人心里一定住着一个没有力量的小孩。我甚至能清楚地感知到听到老太太那句话的一刻,我心里的那个原本双手抱膝耷拉着头蜷缩着坐在角落里的小孩,猛然间抬起了头。那个心里从某个年纪就被冻住的、从此不再长大的小孩,在那个瞬间被现在已成年的我看见。


当一个地方的司法系统无法有效确保一个社会的公正与安全时,法治外的绿林好汉式的丛林社会奖惩系统就会自发蔓延。


准确是两个概念。准是 bias 小,确是 variance 小。准确是相对概念,因为 bias-variance tradeoff。


道可道,非常道;人比人,气死人。


居然有人对乙酰胆碱过敏。这真是,太惨了……

胆碱能性荨麻疹


生而为人,我很抱歉啊。然而,光是活着,就已经竭尽全力了。

2017 年 2 月

恰如猛虎卧荒丘,潜伏爪牙忍受。


真正厉害的人,是不会用「厉害感」来装饰自己的。其一,他们知道自己的水平,不需要依赖别人认为他们厉害来确认自己的内心。其二,对于真正厉害的人来说,学到一点东西就沾沾自喜带来的智力上升的厉害感,其实是一种逃避现实的快感。所以,看起来很厉害的人,其实不是真正厉害的人。这两类人之间,差着 10086 本书。

付出 30% 的努力做到 50% 的人,只能收获内心虚幻的成就感;而那些付出 200% 的人,也许只做到了 80%。可是后面这类人却能得到这个世界的奖励。


设计模式存在的意义就是为了抵御需求的变更。


今天是小平逝世 20 周年的纪念日。我很少谈政治相关的话题,但是今天多少想说一点。

人说,小平是中国改开的总设计师。这没错,在国家的层面上,这是对小平一生贡献最精炼的总结。但是我以为,在人民的层面上,小平更大的贡献在于:他将人的本真、常识和温情带了回来;真正让我们生活在一个有温情、有秩序、有期盼的世界中;而后以此唤醒了整个中国大地的生机与活力,成为了改开后蓬勃发展的基石。

小平说:「我从不走回头路」。惟愿中华,坚定前行。


你无法阻止有人选择黑暗,但是也没有人能阻止你选择光明。所以,善恶只是一念之间的选择,任何其它,都是借口。不要失去善恶观,不要失去良知。


任何事情,当你仔细探究,你就会理解它的量和质;当你对一个领域的神韵足够了解,并开始连接这个领域的表现形式和实现细节的时候,任何一个领域都会变得引人入胜 。
——Emanuel Derman

2017 年 1 月

她就像个小公主——站在森林里双臂一张,蝴蝶都飞过来、小鹿都跑过来,森林里的生灵都围着坐着听她唱歌。 ​​​​


Wit beyond measure is man’s greatest treasure. ​​​​
— Luna Lovegood


I95 N72 T78 J92

2016 年 12 月

一个很重要的原则就是,在进攻敌人的时候,一定要找到敌人最珍贵的资产,想办法去攻击他的核心价值点,一定要让战火在别人的家园里燃烧。这样打败了也无所谓,败了就退出来。


陈佩斯的经历让黑暗中的人相信,这个世界最终是需要有本事又有骨气的人的,小鲜肉老了就老了,权贵们嘚瑟了就该栽了,而你大爷却永远都是你大爷!
——https://www.zhihu.com/question/20334202/answer/135523386


1
foo, bar, baz, qux, quux, garply, waldo, fred, plugh, xyzzy, thud

我想一手握着知识,一手握着兴趣,开启开挂的人生。


不迷信、不盲从,不崇拜任何东西,永远对现状不满足,永远想改造世界,也永远拥抱世界的美好。

2016 年 11 月

互联网下半场对于个人而言,信息不对称以另外的方式呈现:不善于学习和不敢于尝试新东西的人会在这波被落下。也就是说,社会的平均信息水平提高,而个人信息水平与对事物的接触早晚程度关系不大,主要决定于个人的学习能力。


那些会生活的女孩总能让平淡的生活发着光
手帐少年: 微博


如果你发现你叫不醒一个装睡的人,那就别叫了。叫不醒,是因为他还有张床可以睡。若要他醒来,直接把床拆了就是了。



Lissajous 曲线,来自 Matrix67 的博客


客户是不听你解释的,他给了你钱,买了你的东西,就是要你给他解决问题。你的产品解决不了问题,那客户就有理由把你叫过去解决问题。你一边解决他一边骂你。
——《周鸿祎自述》


任何企业都可以找最强的竞争对手打,但有一个对手你是打不过的,那就是趋势。趋势一旦爆发,就不会是一种线性的发展。它会蓄积力量于无形,最后突然爆发出雪崩效应。任何不愿改变的力量都会在雪崩面前被毁灭,被市场边缘化。
——《周鸿祎自述》


中关村电子大厦的没落,源自电商冲击波。而电商之所以能冲击中关村,根子在于一些商铺不讲诚信。俗话说,一粒老鼠屎坏了一锅汤。确实如此,一些商铺不讲诚信,蒙骗顾客,导致顾客对中关村产生了坏口碑,一传十、十传百,这顶帽子一旦戴上,就再也摘不下来了
——《周鸿祎自述》


努力了不一定会成功,但是不努力一定会很轻松。

这大概就是堕落的原因。


有逻辑的大脑,真是性感得令人无法自拔。


比起对容易逝去事物的怀旧,更重要的是世事无常中的坚持。
——井上雄彦


要强又怎样呢,这个世界并不因为自己要强而公道一些。
老舍·骆驼祥子


我是对的,我便是对的。不需要和你争辩。


胡家终究还是没落了,我母亲这一辈兄弟姐妹,再没出过比肩先辈的人物。他们无论男女,都不曾做过越轨出格之事。他们身上具有鲜明的特点:忍耐,韧性,接受命运的荒诞与屠戮,但从未彻底的一败涂地过。对抗苦难,是从有记忆就开始的必修课,他们有心得,更有办法。所以不会像大姑奶奶那样用命抗争,也不会像我姥爷那样逞匹夫之勇。他们是外婆的孩子,受她教养,懂得棉比钢长久,又可温暖人生。
https://www.zhihu.com/question/19999821/answer/30964363

2016 年 10 月

真正改变我们一生的道理,都不是别人交给我们的。


作者:南宫铃
链接:https://www.zhihu.com/question/42616937/answer/126786060
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

他们所缺乏的,正是你所拥有的。

林妹妹姣花照水,可惜一身的病。放在如今,医生会让她多运动、多呼吸新鲜空气,而不是足不出户和吃药、吃药、吃药。

宝钗、探春女中英杰。如今她们可以上名牌大学,出国深造,把家族企业经营得风生水起,而不是将一身才智用于讨好嫡母和寻找一个不爱自己的丈夫。

湘云风流女英豪。走三川,跨五岳。马纵云山,杯转星河。她的命运本该是开画展,做脱口秀,给国家地理杂志当专栏记者。而不是在衰败昏暗的家族命运里老去,怀念当年烤焦的那一块鹿肉。

探春可把鸳鸯袭人讨了去当左膀右臂。酒桌上应酬完一群油头粉面的小开和老男人,姑娘们在回家的车上爆爆粗口,说一席体己话,相互慰藉。

晴雯不必死于肺结核。我们有利福平。她该平平安安活到九十五,开一家刺绣馆,三五高徒,上百门人。一辈子多少情事孽债。多年后宝玉给她的微博点个赞,她看了嗤笑一声,“当年我竟迷恋过这轻狂小子。”

妙玉开一家茶道馆。门前一株梅树,三五青柏。智能化的煮茶机,自动化的洗碗器。一流的安保系统。夜里往大洋彼岸的服务器上提交新的代码。人生的终点是土馒头,但人间仍然有这么多可爱的东西。

红楼是一部艺术悲剧。悲剧在于,书中所有人无法选择地成了鲜花着锦、烈火烹油的祭献品。但现实又太可爱。在这么多黑暗、陈腐、丑恶的事实、历史和叙说里,一代又一代的人仍在寻找新的可能,试图创造一种不成为祭牲的命运。

悲观绝望吗?就看你想活在一种确定的艺术想像里,还是学习这个世界的不确定和可能性。


我没什么才华,所以只能拼命。


欧式几何如初恋般美好。


所以谓人皆有不忍人之心者,今人乍见孺子将入于井,皆有怵惕恻隐之心;非所以内交于孺子之父母也,非所以要誉于乡党朋友也,非恶其声而然也。无恻隐之心,非人也;无羞恶之心,非人也;无辞让之心,非人也;无是非之心,非人也。


用户 = 资源
资源 = 一切附加值的开发

所以,将用户的刚需做好做强,免费提供给用户,养成用户粘性,然后不断开发附加值。
这是圈养绵羊,定期薅羊毛的节奏。


人的一生有五件事情。

  1. 争取自己的权利、实现自己的价值;
  2. 照顾好自己的家人;
  3. 帮助善良的人;
  4. 为自己的种群和同类发出声音;
  5. 为自己的民族和国家奋斗。

你这一生,做到前两件事就不错了;做到前三件事,你就是一个伟人了。但是,任何颠倒上述次序的人,都不值得信任。


德不近佛者不可为医,所以,医生不是个普通的职业。

2016 年 9 月

Protobuf 生成的符号,不同版本之间会冲突。目前没有什么好办法解决。考虑着用 objcopy 整个刷一遍,加个 prefix 之类的。不过好 hacky,而且工作量好大。

崩溃脸。


map.py
1
2
3
inIter = ['adam', 'LISA', 'barT']
regNames = lambda iter: map ((lambda inStr: inStr.capitalize()), iter)
print regNames (inIter)
reduce.py
1
2
3
inIter = [1, 2, 3, 4, 5]
prod = lambda iter: reduce ((lambda x, y: x * y), iter)
print prod (inIter)

Linux 信号与 Python 的 signal 库。

Linux 信号是一些 INT 值,用来与进程通信。进程可以选择忽略(ignore)、默认(default)和捕获(catch)三种方式处理收到的信号。常见的信号可以用 man signal 来查看。

Python 的 signal 库提供了 Linux 信号的整数定义,并提供了 signal.signal(SIG, handler) 方法来为当前进程注册捕获信号后的处理方法。


评曹操:虽有经天纬地之才,却无济世救民之心。


https://github.com/Liam0205/LaTeX_hard_way
坑开了,前言已经写好。
欢迎 star。


为什么阻塞异步是没有意义的?

老张爱喝茶,废话不说,煮开水。
出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。
1 老张把水壶放到火上,立等水开。(同步阻塞)
老张觉得自己有点傻
2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)
老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。
3 老张把响水壶放到火上,立等水开。(异步阻塞)
老张觉得这样傻等意义不大
4 老张把响水壶放到火上,去客厅看电视,水壶响之前不再去看它了,响了再去拿壶。(异步非阻塞)
老张觉得自己聪明了。

所谓同步异步,只是对于水壶而言。
普通水壶,同步;响水壶,异步。
虽然都能干活,但响水壶可以在自己完工之后,提示老张水开了。这是普通水壶所不能及的。
同步只能让调用者去轮询自己(情况2中),造成老张效率的低下。

所谓阻塞非阻塞,仅仅对于老张而言。
立等的老张,阻塞;看电视的老张,非阻塞。
情况1和情况3中老张就是阻塞的,媳妇喊他都不知道。虽然3中响水壶是异步的,可对于立等的老张没有太大的意义。所以一般异步是配合非阻塞使用的,这样才能发挥异步的效用。


怎样理解阻塞非阻塞与同步异步的区别?

「阻塞」与”非阻塞”与”同步”与「异步”不能简单的从字面理解,提供一个从分布式系统角度的回答。
1.同步与异步
同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)
所谓同步,就是在发出一个调用时,在没有得到结果之前,该调用就不返回。但是一旦调用返回,就得到返回值了。
换句话说,就是由调用者主动等待这个调用的结果。

而异步则是相反,调用在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在调用发出后,被调用者通过状态、通知来通知调用者,或通过回调函数处理这个调用。

典型的异步编程模型比如Node.js

举个通俗的例子:
你打电话问书店老板有没有《分布式系统》这本书,如果是同步通信机制,书店老板会说,你稍等,」我查一下”,然后开始查啊查,等查好了(可能是5秒,也可能是一天)告诉你结果(返回结果)。
而异步通信机制,书店老板直接告诉你我查一下啊,查好了打电话给你,然后直接挂电话了(不返回结果)。然后查好了,他会主动打电话给你。在这里老板通过「回电」这种方式来回调。

  1. 阻塞与非阻塞
    阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态.

阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。
非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。

还是上面的例子,
你打电话问书店老板有没有《分布式系统》这本书,你如果是阻塞式调用,你会一直把自己「挂起」,直到得到这本书有没有的结果,如果是非阻塞式调用,你不管老板有没有告诉你,你自己先一边去玩了, 当然你也要偶尔过几分钟check一下老板有没有返回结果。
在这里阻塞与非阻塞与是否同步异步无关。跟老板通过什么方式回答你结果无关。


回调函数是什么?

你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。


少不入蜀,老不出川。


我有一群朋友,平时不相见——有些人甚至从没见过。但是,每一次聊起,都会发现,他们比上一次都更优秀更厉害了。这群朋友,每每激励着我往前走,让我不敢有丝毫松懈,并最终让我变成更好的人。我想谢谢你们。:)


有没有道理其实是其次,重要的是对方听起来要开心,这样你才能把事情做成。光证明自己正确,没有任何价值。

2016 年 8 月

CPU 资源宝贵,所以不能让 CPU 打盹,要做CPU 调度

最开始,叫多道程序,谁不用 CPU 就交出使用权让别人使用。缺点是有些任务需要立即响应。

后来用分时策略。缺点是如果有程序死循环,整个系统就挂了。

现在用多任务系统——各个进程相对独立,寻址空间相互隔离,操作系统有最高的优先级可以去分配 CPU 资源。现代操作系统几乎都是这种形式。


操作系统的一个主要功能是提供抽象的接口,另外一个主要功能是管理硬件资源。


计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决。


维护法律本身比维护是非对错更重要。

2016 年 7 月

太平本是将军定,不许将军见太平。


礼恒敬之,心恒爱之。
——卫鞅致白雪


君有此言,白雪足矣。古人云,冬有雷电,夏有霜雪,然则寒暑之势不易,所谓小变不足以妨大节。只要心正,金钱未必不能用于官场。君之内性,强毅刚烈,疾恶如仇,初入秦国,万莫以官场瑕疵萌生退意啊。
——白雪致卫鞅


Mac 中获取 MD5/SHA-1/SHA-256 的方法

1
2
3
md5 foo
shasum -a 1 bar
shasum -a 256 baz

关于英语中表示民族的后缀:-an/-ian/-ese/-i/-man

https://www.byvoid.com/zhs/blog/londoner-parisian-milanese-baghdadi

2016 年 6 月

世界上有两种「没有bug」的代码。一种是「没有明显的bug的代码」,另一种是「明显没有bug的代码」。第一种情况,由于代码复杂不堪,加上很多测试,各种coverage,貌似测试都通过了,所以就认为代码是正确的。第二种情况,由于代码简单直接,就算没写很多测试,你一眼看去就知道它不可能有bug。你喜欢哪一种「没有bug」的代码呢?

摘自:http://www.yinwang.org/blog-cn/2015/11/21/programming-philosophy


神奇的俄勒冈人民:

http://www.kiro7.com/news/trending-now/man-on-horseback-lassos-thief-at-walmart/336152462

有个女性的自行车被小偷骑跑了,见义勇为的牛仔骑上马,用套索把小偷套住,然后一路拖回了沃尔玛,交给警察后要回套索潇洒离去……


幻灯片的英文是 slide(show),是用来做演示(presentation)的文稿。beamer 是 LaTeX 的一种文档类,可以制作 PDF 格式的幻灯片(演示文稿);PowerPoint 是微软 Office 系列的一部分,可以制作 PPT 格式的幻灯片(演示文稿)。


但凡开口便声称「中国人不靠中医早死了」的,大多数是没有生物学常识;但凡开口便声称「古人经验如何如何云云」的,大多数是循证医学不及格;但凡开口便声称「中医有千年级别经验」的,则是双通道立体式傻逼。

2016 年 5 月

什么样的能量才能支撑一个人走过人生的低谷和迷茫?

一只船孤独的航行在海上,它既不寻求幸福,也不逃避幸福,它只是向前航行,底下是沉静碧蓝的大海,而头顶是金色的太阳。
莱蒙托夫


我认为,不管碰壁多少次都不放弃的人,才有可能成功。


今天看见新闻,讲广东省人民医院的退休医生陈仲伟不治身亡。砍伤他的凶手,曾是陈医生二十余年前的病人。

今次不对陈医生和这位凶手做任何评价,因为不了解事情。然而看到一些同样不明就里的人,辱骂、污蔑、恶意揣测逝者,甚至尝试为凶手开脱、洗地,实在无法接受。因此,翻出鲁迅先生于上世纪写下的文章,摘录两条如下。

我觉得中国人所蕴蓄的怨愤已经够多了,自然是受强者的蹂躏所致的。但他们却不很向强者反抗,而反在弱者身上发泄,兵和匪不相争,无枪的百姓却并受兵匪之苦,就是最近便的证据。再露骨地说,怕还可以证明这些人的卑怯。卑怯的人,即使有万丈的愤火,除弱草以外,又能烧掉甚么呢?
——鲁迅《杂忆》一九二五年

在中国,尤其是在都市里,倘使路上有暴病倒地,或翻车捽摔伤的人,路人围观或甚至高兴的人尽有,有肯伸手来扶助一下的人却是极少的。
——鲁迅《经验》一九三三年


今天在看「食梦者」的时候,听到爷爷的一句话,瞬间哭出来。

将一件事情做到自己满意为止,因为:那是你自己选择的

「自己的选择」,重若千钧。


Cpp 中标准类型初始化的情况:

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
#include <iostream>

using namespace std;

struct Foo {
Foo () : f () {}
int f;
int g;
};

int main () {

int a;
int b = int();
int *c = new int;
int *d = new int();
int e;
new (&e) int ();

printf ("a:%d, b:%d, c:%d, d:%d, e:%d\n",
a, b, *c, *d, e);

if (nullptr != c) { delete c; c = nullptr; }
if (nullptr != d) { delete d; d = nullptr; }

Foo bar;

printf ("bar.f:%d, bar.g:%d\n",
bar.f, bar.g);

return 0;
}

输出:

1
2
a:1624367158, b:0, c:0, d:0, e:0
bar.f:0, bar.g:0

编译器:

1
2
3
4
$ gcc -v
Apple LLVM version 6.0 (clang-600.0.45.3) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin15.4.0
Thread model: posix

推一篇 Rachael Zhang 的博文:12 篇 NLP 论文通读


本质上,我们都是在用生命换取才华,生命流逝,才华却不见涨,你是不是活该叹息?


弱者表演和平,下场必然万劫不复。


无情的现实时而如怪物一样,意图破坏我们的理想蜂拥而来。


有些人的存在就是让你不舒服的。他们出身比你好,比你有钱,水平比你高,最最关键的是还比你努力。每当遇到这种人,我就感觉自己存在的意义不啻遭到了一次粉碎性骨折。

2016 年 4 月

程序:一般是一组CPU指令的集合构成的文件,静态存储在诸如硬盘之类的存储设备上。
进程:当一个程序要被计算机运行时,就是在内存中产生该程序的一个运行时实例,我们就把这个实例叫做进程。
装载:上述从硬盘上的静态「程序」到内存中动态的「进程」之间的转变过程就叫做装载。往通俗里讲,就是启动一个进程。


孙燕姿的歌太有味道,以至于学习、工作的时候不能放燕姿的歌,否则就会跟着唱起来,完全无法进入学习工作状态。

这真是……


Linux 中的环境变量 LIBRARY_PATH 是在 gcc 编译过程中寻找库的路径;环境变量 LD_LIBRARY_PATH 则是程序运行过程中,寻找动态库(.so 相当于 Windows 里的 .dll)的路径。

将所需 .so 放在特定目录,然后修改 LIBRARY_PATH 可以解决无 root 权限时缺库无法编译的问题。

修改 LD_LIBRARY_PATH 通常是危险的。因为,如果有人在 LD_LIBRARY_PATH 下放入了植入恶意代码的重名动态库文件,那么程序运行时加载就可能出现不可预知的错误。


设计模式的存在就是为了抵御需求变更。
https://segmentfault.com/a/1190000004907985


GitCafe 被 Coding 收购了,好多东西要转移。


RSA 公钥验证和匹配的已知可信远程主机是一种有效防止中间人攻击的手段。不过在批量 scp 或者 ssh 的时候,可能会出现一水儿的 RSA 公钥验证请求。这种时候,要不然需要手工输入一长串的 yes;要不然连输入的机会都没有,就被刷屏了。

避免这种情况,可以在 scp 或者 ssh 的时候加上 -o StrictHostKeyChecking=no 即可。

例如

1
ssh -o StrictHostKeyChecking=no remotehost

Boom Boom Boom!


再见我科。


咏春中的「日字冲拳」的「日」指的是拳头握住之后,指缝形成的「日」字。


幸福如同太阳和口渴:你无法把太阳看的清清楚楚,也不能一劳永逸地解决口渴的问题。
——Aurelius Augustinus


最近在补老番:食梦者。高木和真城真是很好很好的朋友啊。

「当在低估有人以行动拉你一把,当你被人羞辱有人上去给他一拳」。这种感觉,真是好极了呢!少年の热血!


看着出身比你好、年纪比你小的人,水平比你高,还比你优秀。这种感觉,真是一刻也不敢放松自己,停下学习。

要更加努力啊!


Mac 迅雷用户拟集体诉讼迅雷公司

我也是迅雷的 Vip 用户,之前充了 2 年的会员,就为了在 Mac 上有一个好使的下载工具。然而,在 Mac 上使用迅雷可谓是磕磕绊绊,经常遇到高速通道无速度、下载进度在 90%–99% 循环的现象。我以为是个例,是我计算机或者网络环境的问题,直到在知乎上看到孙先生指出这是一个普遍现象。

哎,如果在 Mac 上不好使,那迅雷你就别搞这些名堂嘛。搞出来,然后撂挑子不干,这不是耍流氓嘛?


网站原来用的 MathJax 是 StaticFile 的 CDN。结果 StaticFile 更新 MathJax 的速度太慢了,与 Chrome 的版本更新脱节,导致数学公式在 Chrome 里总会多显示一条竖线。

现在用 BootCDN:<//cdn.bootcss.com>,用上了最新 2.6.1 版本的 MathJax,一切就正常了;它支持 HTTP 与 HTTPS 自适应,而且访问速度还比原来提高了一些。

可见 BootCDN 是个好同志。


曹晔(我不认识)在知乎上回答了一个问题,内里的说辞,我很赞同。

于是我回了一句话:挣钱和养家,是两件事情。

养家不在乎男人挣多少,而在乎男人心里是不是把这儿当家,是不是把他老婆孩子当家人。


Right-BICEP 法则是一个有关「单元测试」的标准。其中 Right 指程序的正确性,BICEP 每个字母代指一个测试的方面。具体来说:

  • Right: 传入程序单元期待的参数、数据,是否能够得到正确的结果。
  • Boundary Conditions: 程序单元是否能够正确处理所有的边界条件。
  • Inverse relationships: 反向测试。比如你写了一个求平方根的函数,那么它的反向就应该是求平方。因此,你需要验证 $x = (\sqrt{x})^2$。
  • Cross-check: 交叉测试。比如你写了一个求平方根的函数,那么你可以用你的函数产生的结果与系统库里对应函数产生的结果做对比。它们应该得到相同的结果。
  • Error-condition: 异常情况。你应该验证在发生异常情况时,你的程序能够正确处理。比如:硬盘满了、当前目录无写入权限、网络通讯中断了等等。
  • Performance: 性能。你应该检查,在程序有大量输入的情况下,程序是否正常运作。

一颗心


一个不是 58 同城的神奇的网站

嗯,用来搜各种整数序列的。


CCTV2 以前有个节目叫赢在中国,节目组出些题目考一些想创业融资的创业者一些情景问题,创业者回答,一些商业大佬做嘉宾点评。

有一期给创业者出的题目是出现了公关危机怎么办。有个选手上来大谈危机其实是竖立形象,宣传营销的好机会,要利用危机证明企业其实是个优质企业云云。

作为当期嘉宾的马云点评说:「在我看来抱有这种想法就是蠢,出现危机了第一件事就应该是反思自己,把造成危机的原因解决掉。你处理的好了,才有可能谈竖立形象宣传营销,哪些都是后面的事。」


正难则反的另一种解释:

Matrix 67 描述了一个很有意思的问题

这个问题从正向证明十分困难,因为我们很难罗列所有可能的面积小于 1 的图形,也很难找到这些图形有什么规律可以描述。于是,我们可以转而证明:对于任何面积小于 1 的图形,我们总能找到某种画网格的方式,使得所有的网格交点巧妙地绕过该图形。