03 2018 档案

企业IT项目开发之七宗罪
只有注册用户登录后才能阅读该文。

posted @ 2018-03-30 20:07 AlanTu 阅读(20) 评论(0) 推荐(0) 编辑

一个架构师谈什么是架构以及怎么成为一个架构师
只有注册用户登录后才能阅读该文。

posted @ 2018-03-30 19:59 AlanTu 阅读(24) 评论(0) 推荐(0) 编辑

架构师之路
只有注册用户登录后才能阅读该文。

posted @ 2018-03-30 19:45 AlanTu 阅读(44) 评论(0) 推荐(0) 编辑

C++ 虚函数表解析
只有注册用户登录后才能阅读该文。

posted @ 2018-03-22 11:55 AlanTu 阅读(27) 评论(0) 推荐(0) 编辑

linux select函数详解
摘要:linux select函数详解 在Linux中,我们可以使用select函数实现I/O端口的复用,传递给 select函数的参数会告诉内核: •我们所关心的文件描述符 •对每个描述符,我们所关心的状态。(我们是要想从一个文件描述符中读或者写,还是关注一个描述符中是否出现异常) •我们要等待多长时间 阅读全文

posted @ 2018-03-20 21:16 AlanTu 阅读(70944) 评论(1) 推荐(6) 编辑

ARM与X86 CPU架构对比区别
摘要:CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构。它们的区别在于不同的CPU设计理念和方法。早期的CPU全部是CISC架构,它的设计目的是 CISC要用最少的机器语言指令来完成所需的计算任务。RISC和CISC是设计制造微处理器的两种典型技术,虽然它们都是试图在体系结 阅读全文

posted @ 2018-03-19 11:09 AlanTu 阅读(3140) 评论(0) 推荐(1) 编辑

读《王垠-天才是什么》有感
摘要:有人说我是天才。我一直“谦虚”得很, 从来不承认。可是纵观像 John Nash,Richard Feynman 这些公认的天才的各种特征和生活遭遇,我发现自己还真的是一个天才。我知道这个事实已经很久了,这一方面让我开心,另一方面又让我痛苦。可是除非洗脑技术 高度发展,一旦成为了天才,就很难再还原成 阅读全文

posted @ 2018-03-19 10:21 AlanTu 阅读(2105) 评论(0) 推荐(1) 编辑

谈代码质量
摘要:程序员往往渴望加入的是一支“30%的时间在写代码,而70%的时间在喝着咖啡讨论着如何将产品做好”的团队。软件工作应该成为一项技术和艺术融合的高智力活动,而项目经理应该是一个高度理解质量、范围和进度客观规律的明白人,“高效工作,快乐生活”才应该是程序员的座右铭。 可现实情况却是,团队在一边超负荷的做着 阅读全文

posted @ 2018-03-18 18:15 AlanTu 阅读(387) 评论(0) 推荐(1) 编辑

Linux深入理解Socket异常
摘要:在各种网络异常情况的背后,TCP是怎么处理的?又是怎样把处理结果反馈给上层应用的?本文就来讨论这个问题。分为两个场景来讨论 建立连接时的异常情况 1 正常情况下 经过三次握手,客户端连接成功,服务端有一个新连接到来。 2 客户端连接了服务端未监听的端口 在这种情况下,服务端会对收到的SYN回应一个R 阅读全文

posted @ 2018-03-14 13:45 AlanTu 阅读(1595) 评论(2) 推荐(1) 编辑

虚函数表指针、虚析构函数、object slicing与虚函数、C++对象模型图
只有注册用户登录后才能阅读该文。

posted @ 2018-03-14 06:21 AlanTu 阅读(32) 评论(0) 推荐(0) 编辑

system函数遇到的问题
摘要:这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数中调用的命令也都一切正常.就没理这个bug,以为是其他的代码影响到这个,或是内核驱动文件系统什么的异常导致,昨天有出现了这个问题,就随手百了一下度, 阅读全文

posted @ 2018-03-13 10:20 AlanTu 阅读(8985) 评论(0) 推荐(0) 编辑

Linux虚拟文件系统
摘要:从文件 I/O 看 Linux 的虚拟文件系统 1 引言 Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等。通过使用同一套文件 I/O 系统 调用即可对 Linux 中的任意文件进行操作而无需考虑其所在的具体文件系统格式;更进一步,对文件的 操作可以跨文件系统而执行 阅读全文

posted @ 2018-03-12 11:17 AlanTu 阅读(1065) 评论(0) 推荐(0) 编辑

湾区求职分享:三个月刷题拿到 Google offer,欢迎踊跃提问
摘要:本文仅以个人经历和个人观点作为参考。如能受益,不胜荣幸。 本文会不断的修正,更新。希望通过大家的互动最后能写出一份阅者受益的文章。 本文纯手打,会有错别字,欢迎指出,虚心接受及时更改。 小马过河,大牛觉得轻松,松鼠觉得可怕。 湾区求职经验分享:我是如何通过三个月努力拿到Google offer,欢迎 阅读全文

posted @ 2018-03-12 10:32 AlanTu 阅读(1596) 评论(0) 推荐(0) 编辑

【转】关于写书
摘要:关于写书 写书计划已经进入策划阶段。这篇文章是因为之前那篇的最后部分的一些想法越改越长,开始具有独立的价值,所以截取下来放在这里。其中加入的一些想法,也许可以帮助某些人跳出他们心里的“坎”。我觉得这是很有意义的,这些内容也许会成为我的另外一本书的一部分,这本书也许可以起名叫『怎样解放你自己』。 动机 阅读全文

posted @ 2018-03-12 09:48 AlanTu 阅读(368) 评论(0) 推荐(0) 编辑

【转】真相
摘要:真相 金钱,是万恶之源。容易得来的金钱,就更加吸引愚蠢的人。这一句,解释了我在美国硅谷看到的一切怪异现象。那些现象在中国也很猖獗。 每当我批评像 Google 这样的公司里面的风气,就有人把我包装成一个自高自大的人,仿佛错的人是我。作为一个善良的人,我也曾经以为我在某些方面做得不对。然而看透了这一切 阅读全文

posted @ 2018-03-12 09:47 AlanTu 阅读(319) 评论(0) 推荐(0) 编辑

【转】iPhone X
摘要:iPhone X 在 CIIA 第一期报告中,我剖析了 iPhone 从诞生以来就存在的,以及后来产生的一些设计问题。昨天在苹果店里玩了一下 iPhone X,发现它不但继承了以往的 iPhone 的设计问题,把它们加深加重了,而且具有一些它特有的问题。 最初看到 iPhone X 的设计,我就猜到 阅读全文

posted @ 2018-03-12 09:42 AlanTu 阅读(240) 评论(0) 推荐(0) 编辑

【转】网络用语
摘要:网络用语 不知道有人注意到没有,凡是在跟我的对话中使用过“吐槽”,“喷”,“low”,…… 这类词汇的人,都会被我自动在心理上进行隔离。也许他们对我用了这些词,也许对其他人用了,也许对他们自己用了。不管怎样,他们被我自动划为“另一类人”。 使用了这类词的商家或者 app,也会被我划到“低级”的行列。 阅读全文

posted @ 2018-03-12 09:37 AlanTu 阅读(464) 评论(0) 推荐(0) 编辑

【转】AlphaGo Zero 和强人工智能
摘要:AlphaGo Zero 和强人工智能 前段时间比较热门的是 AlphaGo(阿法狗)的升级版:AlphaGo Zero(阿法狗零)。跟阿法狗不同,阿法狗零不依赖于任何人类对弈记录,完全从围棋的规则出发,“自学成才”,推导出所有的战略,在与阿法狗的对战中完胜。有人问我,阿法狗零是否改变了我对人工智能 阅读全文

posted @ 2018-03-12 09:36 AlanTu 阅读(423) 评论(0) 推荐(0) 编辑

【转】理性的力量
摘要:理性的力量 曾经有一个显得自己地位挺高的人给我来信,谈论我的博客和一些他对工程的看法。这两天回忆起过去的一些经历,想把这段故事讲一下。当然我不会点名这个人是谁,他只是有类似想法的人其中一个。 他说,你应该等自己有了地位再说那些话,那时候听你说话的人会多一些。我当时给了他一个礼貌而中肯的回复。我告诉他 阅读全文

posted @ 2018-03-12 09:34 AlanTu 阅读(220) 评论(0) 推荐(0) 编辑

【转】旅行的智慧
摘要:旅行的智慧 每一次旅行都是一场修行。通过每一次旅行,我都会总结出一些简化生活,让它变得更舒适的方法。有了『编程的智慧』和『生活的智慧』,我现在在机场发呆,观察到自己和其他人的一些旅行用品和方式,所以想试试写个『旅行的智慧』。当然有一些绝密的技巧我不方便公开,但还是有很多可以分享的东西,也许可以帮助人 阅读全文

posted @ 2018-03-12 09:31 AlanTu 阅读(140) 评论(0) 推荐(0) 编辑

【转】我为什么爱猫
摘要:我为什么爱猫 从小就喜欢猫,可惜由于母亲“凡是会拉屎的都不养”的政策,一直都没有机会自己养一只。所以邻居家的猫,对我来说都有一种难以抵抗的诱惑。我还记得小时候住平房,自己学了一声喵叫录到磁带里,然后用最大的音量放出来,结果邻居家的小白猫听见了,窜进我家的纱门,那种欣喜是难以言表的。然而别人家的猫毕竟 阅读全文

posted @ 2018-03-12 09:29 AlanTu 阅读(311) 评论(0) 推荐(0) 编辑

【转】生活的智慧
摘要:生活的智慧 我曾经写过一篇文章,叫『编程的智慧』。再加上我总写一些技术性的文章,不认识我的人可能还以为我是个技术狂人,只知道谈论技术,不会生活。其实跟我接触紧密的人都知道,我是一个很会生活的人。 确实,我花了很多心思来研究各种物品,它们的用法和组织方式。我用一种理性而智慧的方式对待生活中的方方面面, 阅读全文

posted @ 2018-03-12 09:28 AlanTu 阅读(239) 评论(0) 推荐(0) 编辑

【转】带猫回国经历
摘要:带猫回国经历 经过一番折腾,我和小莫奈已经顺利到达成都家里。在此我感谢各位朋友给我的信息和指点。第一次带宠物回国的人,不免面临困惑和压力,所以我想把我的经验总结一下。 带宠物回国,这个事情说起来轻松,做起来压力其实蛮大的。我为这个事情,处心积虑至少有两个月,每一个环节弄得不好都可能出问题。网络上的信 阅读全文

posted @ 2018-03-12 09:27 AlanTu 阅读(3466) 评论(0) 推荐(0) 编辑

【转】DSL
摘要:DSL DSL 时不时地会成为一个话题,所以今天想专门说一下。 DSL 也就是 Domain Specific Language 的简称,是指为某些特定领域(domain)设计的专用语言。举个例子,Linux 系统下有很多配置文件,每个配置文件格式都不大一样,它们可以被看成是多种 DSL。IP Ta 阅读全文

posted @ 2018-03-12 09:25 AlanTu 阅读(355) 评论(0) 推荐(0) 编辑

【转】Kotlin 和 Checked Exception
摘要:Kotlin 和 Checked Exception 最近 JetBrains 的 Kotlin 语言忽然成了热门话题。国内小编们传言说,Kotlin 取代了 Java,成为了 Android 的“钦定语言”,很多人听了之后热血沸腾。初学者们也开始注意到 Kotlin,问出各种“傻问题”,很“功利” 阅读全文

posted @ 2018-03-12 09:24 AlanTu 阅读(267) 评论(0) 推荐(0) 编辑

【转】什么是现实理想主义者
摘要:什么是现实理想主义者 曾经有人看了我的文章,以为我是一个“理想主义者”,来找我聊天。他说:“你知道吗,我跟你一样喜欢简单优雅的代码。上次我在某公司工作,看到他们的代码乱得不成样子,二话没说给他们重写了,结果有几个小地方跟原来的代码不大一样,后来系统因此当掉了。老板对我说,明天你不用再来上班了!你说我 阅读全文

posted @ 2018-03-12 09:23 AlanTu 阅读(1209) 评论(0) 推荐(0) 编辑

【转】美国企业的装嫩问题
摘要:美国企业的装嫩问题 不知道从什么时候开始,美国的大小公司,都开始重视所谓“企业文化”,仿佛企业一定要有自己独特的文化,不然就不够“酷”,就不能吸引人了。没见过世面的大学毕业生,很容易因为某些公司鼓吹的“年轻文化”而加入他们,进去之后才发现不爽。作为一个经历过这一切的人,我觉得有必要把这个问题拿出来专 阅读全文

posted @ 2018-03-12 09:22 AlanTu 阅读(180) 评论(0) 推荐(0) 编辑

【转】人工智能的局限性
摘要:人工智能的局限性 有人听说我想创业,给我提出了一些“忽悠”的办法。他们说,既然你是程序语言专家,而现在人工智能(AI)又非常热,那你其实可以搞一个“自动编程系统”,号称可以自动生成程序,取代程序员的工作,节省许许多多的人力支出,这样就可以趁着“AI 热”拉到投资。 有人甚至把名字都给我想好了,叫“深 阅读全文

posted @ 2018-03-12 09:21 AlanTu 阅读(445) 评论(0) 推荐(0) 编辑

【转】美国公司管理层的洗脑技巧
摘要:美国公司管理层的洗脑技巧 在美国工作过的人,都对美国公司管理层的心理战术深有感受。很多人都感觉跟上司之间有某种难以言表的问题,总是感觉自己的价值不受尊重,然而由于上司说话客气,所以又不好发作,难以说清楚这到底是怎么回事。 其实美国公司的管理者,使用着一些强大的意识控制(mind control)技巧 阅读全文

posted @ 2018-03-12 09:16 AlanTu 阅读(424) 评论(0) 推荐(0) 编辑

【转】C# 的 IDisposable 接口
摘要:C# 的 IDisposable 接口 我在微软的团队快被微软 C# 里面的各种 IDisposable 对象给折腾疯了…… 故事比较长,先来科普一下。如果你没有用过 C#,IDisposable 是 C# 针对“资源管理”设计的一个接口,它类似于 Java 的 Closeable 接口。这类接口一 阅读全文

posted @ 2018-03-12 09:15 AlanTu 阅读(658) 评论(1) 推荐(0) 编辑

【转】C 编译器优化过程中的 Bug
摘要:C 编译器优化过程中的 Bug 一个朋友向我指出一个最近他们发现的 GCC 编译器优化过程(加上 -O3 选项)里的 bug,导致他们的产品出现非常诡异的行为。这使我想起以前见过的一个 GCC bug。当时很多人死活认为那种做法是正确的,跟他们说不清楚。简言之,这种有问题的优化,喜欢利用 C 语言的 阅读全文

posted @ 2018-03-12 09:12 AlanTu 阅读(579) 评论(0) 推荐(0) 编辑

【转】对 Rust 语言的分析
摘要:对 Rust 语言的分析 Rust 是一门最近比较热的语言,有很多人问过我对 Rust 的看法。由于我本人是一个语言专家,实现过几乎所有的语言特性,所以我不认为任何一种语言是新的。任何“新语言”对我来说,不过是把早已存在的语言特性(或者毛病),挑一些出来放在一起。所以一般情况下我都不会去评论别人设计 阅读全文

posted @ 2018-03-12 09:10 AlanTu 阅读(7999) 评论(3) 推荐(0) 编辑

【转】测试的道理
摘要:测试的道理 在长期的程序语言研究和实际工作中,我摸索出了一些关于测试的道理。然而在我工作过的每一个公司,我发现绝大多数人都不明白这些道理,很多团队集体性的采用错误的做法而不自知。很多人把测试当成一种主义和教条,进行过度的测试,不必要的测试,不可靠的测试,并且把这些错误的做法传授给新手,造成恶性循环。 阅读全文

posted @ 2018-03-12 09:08 AlanTu 阅读(164) 评论(0) 推荐(0) 编辑

【转】Tesla autopilot 引起致命车祸
摘要:Tesla autopilot 引起致命车祸 好一段时间没关心 Tesla 了,今天才发现他们的 autopilot 终于引起了致命的车祸。这场 Model S 撞上18轮大卡车的车祸,发生于5月7号,距今已经两个月了。 Tesla 把这事隐瞒了两个月之久,直到现在美国国家公路交通安全管理局(NHT 阅读全文

posted @ 2018-03-12 09:07 AlanTu 阅读(124) 评论(0) 推荐(0) 编辑

【转】养生节目的危害
摘要:养生节目的危害 国内总是流行各种各样的“养生节目”,深受中老年人的欢迎。比如我爸妈,有时无聊了,就会转发给我一些养生节目,比如这个:『多喝白开水带来的危害』。这节目说,有人得了过敏性鼻炎,喷嚏鼻涕不断,严重脱发,头都半秃了,虚弱无力,性能力衰退…… 最后专家得出结论,是因为他每天早上喝一杯凉水导致的 阅读全文

posted @ 2018-03-12 09:04 AlanTu 阅读(208) 评论(0) 推荐(0) 编辑

【转】IT业给世界带来的危机
摘要:IT业给世界带来的危机 昨天写了文章之后,回忆起这几年在湾区的经历,觉得自己是一个很不幸的人。然而就在今天,我的自怜奇妙的转换成了另一种感情,因为我看到了更不幸的人…… 正在女朋友 Cinny 的父母家吃饭,忽然窗外来了一个人。仔细一看,是个约莫十来岁年纪的漂亮白人女孩,她说:“亲爱的,你们想要一些 阅读全文

posted @ 2018-03-12 09:02 AlanTu 阅读(216) 评论(0) 推荐(0) 编辑

【转】美国社会的信息不平等现象
摘要:美国社会的信息不平等现象 在美国工作过的人都知道,进入一个公司之前,雇员都要经过一种“背景调查”(background check)。这种调查一般由专门的“背景调查公司”来协助进行,他们可以通过各种渠道来获取你的信息,包括身份,住址,犯罪记录,学位信息,之前雇主信息,职位,工资,工作时间,离职原因等 阅读全文

posted @ 2018-03-12 09:00 AlanTu 阅读(729) 评论(0) 推荐(0) 编辑

【转】Java 有值类型吗?
摘要:Java 有值类型吗? 有人看了我之前的文章『Swift 语言的设计错误』,问我:“你说 Java 只有引用类型(reference type),但是根据 Java 的官方文档,Java 也有值类型(value type)和引用类型的区别的。比如 int,boolean 等原始类型就是值类型。” 现 阅读全文

posted @ 2018-03-12 08:57 AlanTu 阅读(919) 评论(0) 推荐(0) 编辑

【转】Swift 语言的设计错误
摘要:Swift 语言的设计错误 在『编程的智慧』一文中,我分析和肯定了 Swift 语言的 optional type 设计,但这并不等于 Swift 语言的整体设计是完美没有问题的。其实 Swift 1.0 刚出来的时候,我就发现它的 array 可变性设计存在严重的错误。Swift 2.0 修正了这 阅读全文

posted @ 2018-03-12 08:56 AlanTu 阅读(208) 评论(0) 推荐(0) 编辑

【转】为什么自动车完全不可以犯错误
摘要:为什么自动车完全不可以犯错误 有人跟我讲,我对Google的自动车要求太苛刻了。人无完人,所以Google的产品也不需要是完美的,只要“够好用”就有市场。世界上有那么多糟糕的司机,酒后驾车的,开车时发短信的,打瞌睡的,判断失误的…… 导致了那么多的车祸,可比Google的自动车差多了。所以自动车不需 阅读全文

posted @ 2018-03-12 08:53 AlanTu 阅读(157) 评论(0) 推荐(0) 编辑

【转】Google 的眼光
摘要:Google 的眼光 你知道吗,Google(Alphabet)要卖掉 Boston Dynamics,一个它收购才没多久的机器人公司。这也意味着,Google 准备完全退出机器人的领域。新闻传言说,是因为 Google 觉得这些机器人太吓人了,把它踢倒在地,居然能像终结者一样爬起来!还有舆论说 G 阅读全文

posted @ 2018-03-12 08:52 AlanTu 阅读(212) 评论(0) 推荐(0) 编辑

【转】不要去SeaWorld
摘要:不要去SeaWorld 很多人喜欢海洋动物,比如海豚和“杀人鲸”(orca),但是我建议不要去海洋世界看它们。海豚和杀人鲸都是有灵性的,跟人类的智慧很接近,而且对人极其友好的动物。“杀人鲸”名字吓人,但是其实根本不吃人,野生的杀人鲸从来没有伤过人。 事实是,像SeaWorld之类的所谓“海洋世界”, 阅读全文

posted @ 2018-03-12 08:51 AlanTu 阅读(735) 评论(0) 推荐(0) 编辑

【转】我看自动驾驶技术
摘要:我看自动驾驶技术 这段时间,Google的自动车,Tesla的autopilot,经常出现在新闻头条。人们热烈的讨论自动驾驶技术,对这“科幻般”的技术充满了憧憬,好奇,甚至恐惧。Google说:“自动车很安全。人类是糟糕的驾驶员。” 很多人不假思索就接受了这种观点,以为自己不久以后就会被自动车所代替 阅读全文

posted @ 2018-03-12 08:50 AlanTu 阅读(169) 评论(0) 推荐(0) 编辑

【转】Tesla Model X的车门设计问题
摘要:Tesla Model X的车门设计问题 Tesla即将推出的SUV(Model X),不但继承了以上提到的Model S的各种问题(触摸屏,门把,……),而且还制造了新的问题。Model X具有一个别出心裁的车门设计,这车子看起来像一只展翅的鸟: 这样开的车门貌似更省空间,方便在狭窄的地方开门,而 阅读全文

posted @ 2018-03-09 15:35 AlanTu 阅读(2728) 评论(0) 推荐(0) 编辑

【转】Tesla Autopilot
摘要:Tesla Autopilot 以下内容是《Tesla Model S的设计失误》一文中新加入的小节。由于写作时间相距太远,而且由于它的时效性,现在也把它单独提出来,独立成文。 两个月前,Tesla通过“软件更新”,使Model S具有了初级的“自动驾驶”(autopilot)功能。这个功能可以让M 阅读全文

posted @ 2018-03-09 15:35 AlanTu 阅读(364) 评论(0) 推荐(0) 编辑

【转】编程的智慧
摘要:编程的智慧 编程是一种创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋。然而由于软件行业喜欢标新立异,喜欢把简单的事情搞复杂,我希望这些文字能给迷惑中的人们指出一些正确的方向,让他们少走一些弯路,基本做 阅读全文

posted @ 2018-03-09 15:33 AlanTu 阅读(180) 评论(0) 推荐(0) 编辑

【转】所谓软件工程
摘要:所谓软件工程 很多编程的人包括我,头衔叫做“软件工程师”(software engineer),然而我却不喜欢这个名字。我喜欢把自己叫做“程序员”(programmer)或者“计算机科学家”(computer scientist)。这是为什么呢?这需要从“软件工程”(software enginee 阅读全文

posted @ 2018-03-09 15:31 AlanTu 阅读(241) 评论(0) 推荐(0) 编辑

【转】智商的圈套
摘要:智商的圈套 上次买了个任天堂3DS游戏机,觉得里面的游戏很无聊,所以第二天就把游戏机连同游戏一起,转手倒卖给了别人。从那天之后,我开始琢磨一个问题——到底是什么让我觉得一个游戏好玩或者不好玩。我似乎对事物有一种很特别的品味,很多别人说“好玩”,“有趣”的游戏或者电影,我一看就觉得很无趣,或者很自虐。 阅读全文

posted @ 2018-03-09 15:29 AlanTu 阅读(131) 评论(0) 推荐(0) 编辑

【转】不要做聪明人
摘要:不要做聪明人 世界上有三种人:聪明人,傻瓜,傻b。傻瓜和傻b的区别是,傻b是令人讨厌的傻瓜。很多人想做聪明人,比其他人都聪明,结果他们变成了傻b。为什么会这样呢? 其实很多人所谓的“聪明”,要么是能够高效的完成一些机械化的任务,要么是能够高效的绕过一些前人的设计失误。他们的所谓“知识”,建立在一堆历 阅读全文

posted @ 2018-03-09 15:28 AlanTu 阅读(192) 评论(0) 推荐(0) 编辑

【转】人的价值
摘要:人的价值 我具有世界上最先进的文明。做我的朋友本来应该是一件容易的事,可我却很不容易找到一个朋友,因为很少有人具有跟我匹配的“个人价值”。我对人的“估价”,不是取决于他拥有多少金钱或者知识,而是取决于他的内心认为自己有多大价值,取决于他有多尊重和爱戴他自己。具有高价值的人,不需要通过外在事物来凸显自 阅读全文

posted @ 2018-03-09 15:27 AlanTu 阅读(149) 评论(0) 推荐(0) 编辑

【转】创造者的思维方式
摘要:创造者的思维方式 我不知道人们是怎么回事,缺乏想象力还是怎么的,所以我跟其他人对话常常遇到类似的问题。 我:A其实不怎么好。 其他人:你说A不好,难道你要我用B? (对于政治爱好者,如果A是资本主义,B就是社会主义;如果A是美国,B就是中国,等等。对于IT人员,如果A是Unix,B就是Windows 阅读全文

posted @ 2018-03-09 15:27 AlanTu 阅读(365) 评论(0) 推荐(0) 编辑

【转】恶评《星际穿越》
摘要:恶评《星际穿越》 <img src=”http://www.yinwang.org/images/interstellar.png” height=400> (Spoiler 警告,本文含有大量具体情节!) 上周末受朋友之邀,去看了红极一时的《星际穿越》(Interstellar)。因为是在首映的第 阅读全文

posted @ 2018-03-09 15:26 AlanTu 阅读(302) 评论(0) 推荐(0) 编辑

【转】谈创新
摘要:谈创新 有人告诉我,我所说的很多事情只是在已有的事物上面挑出毛病来,那不能引起真正的“创新”。这使我想到了一个很久以来思索的问题:什么是创新?创新真的那么重要吗,它的意义何在?最后我得到的结论相当的惊讶,世界上并不缺少创新,而是创新过剩了!大量的所谓“创新”,让人们的生活变得纷繁复杂,导致他们需要记 阅读全文

posted @ 2018-03-09 15:25 AlanTu 阅读(202) 评论(0) 推荐(0) 编辑

【转】贡献和价值
摘要:贡献和价值 在我写了那篇关于天才的文章之后,有人发信来跟我说,你鼓吹自己聪明,其实毫无价值。一个人不是聪明就可以的,还要看他对社会的贡献。接着他举例说,比如马云,他虽然不是天才,但是他做了阿里巴巴,让小商小贩赚到了钱…… 首先,这种把一个人跟另一个人(而不是跟他自己)比较的作法,貌似是自卑或者嫉妒的 阅读全文

posted @ 2018-03-09 15:24 AlanTu 阅读(425) 评论(0) 推荐(0) 编辑

【转】电视编剧的问题
摘要:电视编剧的问题 听一朋友说“远离韩剧,保护智商”,誓死不看脑残剧《来自星星的你》。觉得好奇,于是乎想看看它为何脑残。开头还觉得挺有创意,风趣幽默,前后呼应,逻辑严密。对它看法大有改观,于是继续看下去。直到第11集的时候开始发现上当,及时悬崖勒马。 公式 是什么问题呢?问题在于,当坏人都已经打倒在地, 阅读全文

posted @ 2018-03-09 15:22 AlanTu 阅读(166) 评论(0) 推荐(0) 编辑

【转】我的第一次和最后一次 Hackathon 经历
摘要:我的第一次和最后一次 Hackathon 经历 在旧金山地区经常有一些叫做“Hackathon”的活动,吸引挺多人参加。我一直听说这个名字,可是一直不知道它到底是什么。我从来对竞赛式的活动不感兴趣,我觉得那是在降低我的身份:你给了一群笨蛋权力来给自己打分排名 :p 我从来没参加过 ACM,IOI,T 阅读全文

posted @ 2018-03-09 15:21 AlanTu 阅读(304) 评论(0) 推荐(0) 编辑

【转】我离开了 Coverity
摘要:我离开了 Coverity 在写这篇博文的时候,我已经不再是 Coverity 的员工了,我已经在今天下午向公司正式辞职。 走出公司的大门,我觉得一身的轻松。这是我几个月以来第一次感受到加州美丽的阳光,AT&T Park 到处是欢笑的人群,他们是来看巨人队的棒球赛的。我第一次发现他们的面庞是那么的美 阅读全文

posted @ 2018-03-09 15:20 AlanTu 阅读(5754) 评论(0) 推荐(0) 编辑

【转】编辑器与IDE
摘要:编辑器与IDE 无谓的编辑器战争 很多人都喜欢争论哪个编辑器是最好的。其中最大的争论莫过于 Emacs 与 vi 之争。vi 的支持者喜欢说:“看 vi 打起字来多快,手指完全不离键盘,连方向键都可以不用。”Emacs 的支持者往往对此不屑一顾,说:“打字再快又有什么用。我在 Emacs 里面按一个 阅读全文

posted @ 2018-03-09 15:18 AlanTu 阅读(251) 评论(0) 推荐(0) 编辑

【转】一种新的操作系统设计
摘要:一种新的操作系统设计 我一直在试图利用程序语言的设计原理,设计一种超越“Unix 哲学”的操作系统。这里是我的设想: 这种系统里面的程序间通信不使用无结构的字符串,而是使用带有类型和结构的数据。在这样的系统里面,Unix 和其它类似操作系统(比如 Windows)里的所谓“应用程序”的概念基本上完全 阅读全文

posted @ 2018-03-09 15:17 AlanTu 阅读(158) 评论(0) 推荐(0) 编辑

【转】几个超炫的专业词汇
摘要:几个超炫的专业词汇 从同事的博客上学会了几个超炫的专业词汇,激动不已。觉得这些词汇可以言简意赅的概括我的好几篇博文,自己的文章水准真是自愧不如。现在来见识一下真正大师级的英语词汇: Yoda Notation(Yoda 表示法) 在 C/C++ 里面使用这样的表达式顺序: if ("blue" == 阅读全文

posted @ 2018-03-09 15:17 AlanTu 阅读(479) 评论(0) 推荐(0) 编辑

【转】Markdown 的一些问题
摘要:Markdown 的一些问题 把我之前的博文基本上转换成了 markdown 格式。我发现 markdown 虽然在编辑器里看起来比 HTML 清晰一些,但也有一些不足。 这些 markup 语言的格式都有点像我本科的时候给我爸做的一种“标准化试卷标记语言”(因为他是中学英语老师)。当时我写了一个1 阅读全文

posted @ 2018-03-09 15:16 AlanTu 阅读(236) 评论(0) 推荐(0) 编辑

【转】论“我”和“我们”
摘要:论“我”和“我们” 在之前一篇《爱因斯坦对美国的第一印象》里面,他提到: “相对于欧洲人,美国的个人主义更少…… 许多的重心,放在‘我们’,而不是‘我’…… 所以更加重视习俗和传统。” 这貌似一个褒义的评价,可是我觉得美国的这个喜欢用“我们”的习惯,其实并不像爱因斯坦说的那么好。一个人应该尽量用“我 阅读全文

posted @ 2018-03-09 15:15 AlanTu 阅读(281) 评论(0) 推荐(0) 编辑

【转】什么是启发
摘要:什么是启发 我喜欢用“启发”这个词。比如我经常会对人说:“你启发了我。”然而听到这话的人有时候不明白我的意思,自以为高我一筹,于是顿显傲气。其实我用“启发”这个词,是有深刻含义的。“启发”的意思并不等于“我没有你懂得多”或者“你比我聪明”,而是一个很含糊的词。 如果 A 受到了 B 启发,有几种可能 阅读全文

posted @ 2018-03-09 15:14 AlanTu 阅读(365) 评论(0) 推荐(0) 编辑

【转】Scheme 编程环境的设置
摘要:Scheme 编程环境的设置 介绍了这么久的 Scheme,却没有讲过如何配置一个高效的 Scheme 的编程环境。有些人开始学习 Scheme 的时候感觉无从下手,所以今天讲一下它的配置。 Scheme 的配置有很多种方式,我不想介绍太多东西,免得有人看花了眼,所以这里只介绍一下我自己的配置。我不 阅读全文

posted @ 2018-03-09 15:13 AlanTu 阅读(340) 评论(0) 推荐(0) 编辑

【转】我为什么离开 Cornell
摘要:我为什么离开 Cornell 很多人都知道,我曾经在 Cornell 博士就读,两年之后转学到了 Indiana 大学。几乎所有人,包括 Indiana 大学的人都感觉奇怪,为什么会有人从 Cornell 这样的“牛校”转学到 Indiana。我曾经在之前的博文里提到 Cornell 的情况,比如学 阅读全文

posted @ 2018-03-09 15:11 AlanTu 阅读(302) 评论(0) 推荐(0) 编辑

【转】Currying 的局限性
摘要:Currying 的局限性 很多基于 lambda calculus 的程序语言,比如 ML 和 Haskell,都习惯用一种叫做 currying 的手法来表示函数。比如,如果你在 Haskell 里面这样写一个函数: f x y = x + y 然后你就可以这样把链表里的每个元素加上 2: ma 阅读全文

posted @ 2018-03-09 15:09 AlanTu 阅读(216) 评论(0) 推荐(0) 编辑

【转】惰性求值
摘要:从之前的几篇博文里面你也许已经看到了,Haskell 其实是问题相当严重的语言,然而这些问题却没有引起足够的重视。我能看到的 Haskell 的问题在于: 复杂的基于缩进的语法,使得任何编辑器都不能高效的编辑 Haskell 程序,并且使得语法分析难度加倍。对这个观点,请参考我的博文《谈语法》以及我 阅读全文

posted @ 2018-03-09 15:08 AlanTu 阅读(962) 评论(0) 推荐(0) 编辑

【转】函数式语言的宗教
摘要:函数式语言的宗教 很早的时候,“函数式语言”对于我来说就是 Lisp,因为 Lisp 可以在程序的几乎任意位置定义函数,并且把它们作为值来传递(这叫做 first-class function)。可是到后来有人告诉我,Lisp 其实不算“函数式语言”,因为 Lisp 的函数不“纯”(pure)。 所 阅读全文

posted @ 2018-03-09 15:07 AlanTu 阅读(206) 评论(0) 推荐(0) 编辑

【转】爱因斯坦对美国的第一印象
摘要:爱因斯坦对美国的第一印象 今天从 Amazon 买了一本书,叫做《Ideas and Opinions》,它收集了爱因斯坦的一些非常精辟的短文。一直觉得自己的很多观点没人可以理解,谁知一看这本书就发现,其实自己有一位知音,他跨越了时空的界限在向我点头。真想不到,爱因斯坦对于科学,宗教,教育,社会,国 阅读全文

posted @ 2018-03-09 15:06 AlanTu 阅读(444) 评论(0) 推荐(0) 编辑

【转】论对东西的崇拜
摘要:论对东西的崇拜 在之前的几篇博文里面,我多次提到了 Lisp,它相对于其它语言的优势,以及 Lisp Machine 相对于 Unix 的优点。于是有人来信请教我如何学习 Lisp,也有人问我为什么 Lisp Machine 没有“流行”起来。我感觉到了他们言语中对 Lisp 的敬畏和好奇心,但也感 阅读全文

posted @ 2018-03-09 15:05 AlanTu 阅读(126) 评论(0) 推荐(0) 编辑

【转】Lisp 已死,Lisp 万岁!
摘要:Lisp 已死,Lisp 万岁! 有一句古话,叫做“国王已死,国王万岁!”它的意思是,老国王已经死去,国王的儿子现在继位。这句话的幽默,就在于这两个“国王”其实指的不是同一个人,而你咋一看还以为它自相矛盾。今天我的话题仿效了这句话,叫做“Lisp 已死,Lisp 万岁!”希望到最后你会明白这是什么意 阅读全文

posted @ 2018-03-09 15:05 AlanTu 阅读(637) 评论(0) 推荐(0) 编辑

【转】怎样写一个解释器
摘要:怎样写一个解释器 写一个解释器,通常是设计和实现程序语言的第一步。解释器是简单却又深奥的东西,以至于好多人都不会写,所以我决定写一篇这方面的入门读物。 虽然我试图从最基本的原理讲起,尽量不依赖于其它知识,但这并不是一本编程入门教材。我假设你已经理解 Scheme 语言,以及基本的编程技巧(比如递归) 阅读全文

posted @ 2018-03-09 15:01 AlanTu 阅读(260) 评论(0) 推荐(0) 编辑

c/c++基础零散补充
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 16:25 AlanTu 阅读(31) 评论(0) 推荐(0) 编辑

C语言可变参数
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 16:24 AlanTu 阅读(19) 评论(0) 推荐(0) 编辑

exit与return区别
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 16:23 AlanTu 阅读(26) 评论(0) 推荐(0) 编辑

函数指针和指针函数
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 16:23 AlanTu 阅读(28) 评论(0) 推荐(0) 编辑

纯虚函数、抽象类、虚析构函数
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 16:22 AlanTu 阅读(43) 评论(0) 推荐(0) 编辑

神经网络入门
摘要:眼下最热门的技术,绝对是人工智能。 人工智能的底层模型是"神经网络"(neural network)。许多复杂的应用(比如模式识别、自动控制)和高级模型(比如深度学习)都基于它。学习人工智能,一定是从它开始。 什么是神经网络呢?网上似乎缺乏通俗的解释。 前两天,我读到 Michael Nielsen 阅读全文

posted @ 2018-03-08 14:32 AlanTu 阅读(637) 评论(0) 推荐(0) 编辑

蒙特卡罗方法入门
摘要:本文通过五个例子,介绍蒙特卡罗方法(Monte Carlo Method)。 一、概述 蒙特卡罗方法是一种计算方法。原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值。 它非常强大和灵活,又相当简单易懂,很容易实现。对于许多问题来说,它往往是最简单的计算方法,有时甚至是唯一可行的方法。 它 阅读全文

posted @ 2018-03-08 14:31 AlanTu 阅读(493) 评论(0) 推荐(0) 编辑

理解矩阵乘法
摘要:大多数人在高中,或者大学低年级,都上过一门课《线性代数》。这门课其实是教矩阵。 刚学的时候,还蛮简单的,矩阵加法就是相同位置的数字加一下。 矩阵减法也类似。 矩阵乘以一个常数,就是所有位置都乘以这个数。 但是,等到矩阵乘以矩阵的时候,一切就不一样了。 这个结果是怎么算出来的? 教科书告诉你,计算规则 阅读全文

posted @ 2018-03-08 14:30 AlanTu 阅读(42563) 评论(1) 推荐(8) 编辑

区块链入门教程
摘要:区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来。 可是,简单易懂的入门文章却很少。区块链到底是什么,有何特别之处,很少有解释。 下面,我就来尝试,写一篇最好懂的区块链教程。毕竟它也不是很难的东西,核心概念非常简单,几句话就能说清楚。我希望读完本文,你不仅可以理解区块 阅读全文

posted @ 2018-03-08 14:25 AlanTu 阅读(3760) 评论(1) 推荐(0) 编辑

汇编语言入门教程
摘要:学习编程其实就是学高级语言,即那些为人类设计的计算机语言。 但是,计算机不理解高级语言,必须通过编译器转成二进制代码,才能运行。学会高级语言,并不等于理解计算机实际的运行步骤。 计算机真正能够理解的是低级语言,它专门用来控制硬件。汇编语言就是低级语言,直接描述/控制 CPU 的运行。如果你想了解 C 阅读全文

posted @ 2018-03-08 14:23 AlanTu 阅读(4149) 评论(0) 推荐(0) 编辑

深度解析(十四)斐波那契堆
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 14:12 AlanTu 阅读(18) 评论(0) 推荐(0) 编辑

深度解析(十三)二项堆
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 14:11 AlanTu 阅读(6) 评论(0) 推荐(0) 编辑

深度解析(十二)斜堆
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 14:10 AlanTu 阅读(8) 评论(0) 推荐(0) 编辑

深度解析(十一)左倾堆
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 14:09 AlanTu 阅读(6) 评论(0) 推荐(0) 编辑

深度解析(十)二叉堆
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 14:07 AlanTu 阅读(7) 评论(0) 推荐(0) 编辑

深度解析(九)红黑树
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 14:05 AlanTu 阅读(8) 评论(0) 推荐(0) 编辑

深度解析(八)伸展树
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 14:04 AlanTu 阅读(7) 评论(0) 推荐(0) 编辑

深度解析(七)AVL树
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 14:03 AlanTu 阅读(3) 评论(0) 推荐(0) 编辑

深度解析(六)二叉查找树
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 14:01 AlanTu 阅读(8) 评论(0) 推荐(0) 编辑

深度解析(五)队列
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 14:00 AlanTu 阅读(10) 评论(0) 推荐(0) 编辑

深度解析(四)栈
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:58 AlanTu 阅读(9) 评论(0) 推荐(0) 编辑

深度解析(三)数组、单链表和双链表
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:54 AlanTu 阅读(14) 评论(0) 推荐(0) 编辑

深度解析(二)散列表
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:53 AlanTu 阅读(19) 评论(0) 推荐(0) 编辑

深度解析(一)数据结构与算法系列目录
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:49 AlanTu 阅读(28) 评论(0) 推荐(0) 编辑

生产者/消费者模式之深入理解
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:47 AlanTu 阅读(27) 评论(0) 推荐(0) 编辑

read write函数
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:45 AlanTu 阅读(14) 评论(0) 推荐(1) 编辑

linux下多线程编程
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:42 AlanTu 阅读(30) 评论(0) 推荐(0) 编辑

关于同步、异步与阻塞、非阻塞的理解
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:41 AlanTu 阅读(16) 评论(0) 推荐(0) 编辑

套接字通信
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:41 AlanTu 阅读(13) 评论(0) 推荐(0) 编辑

网络IO之阻塞、非阻塞、同步、异步总结
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:40 AlanTu 阅读(17) 评论(0) 推荐(0) 编辑

基于生产者-消费者模型实现先进先出的共享内存段
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:39 AlanTu 阅读(16) 评论(0) 推荐(0) 编辑

死锁、信号量与PV原语简介
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:39 AlanTu 阅读(11) 评论(0) 推荐(0) 编辑

互斥锁和条件变量
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:37 AlanTu 阅读(10) 评论(0) 推荐(0) 编辑

信号量
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:37 AlanTu 阅读(10) 评论(0) 推荐(0) 编辑

共享内存
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:35 AlanTu 阅读(10) 评论(0) 推荐(0) 编辑

消息队列
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:34 AlanTu 阅读(9) 评论(0) 推荐(0) 编辑

消息队列和管道的区别
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:34 AlanTu 阅读(35) 评论(0) 推荐(0) 编辑

匿名管道
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:33 AlanTu 阅读(7) 评论(0) 推荐(0) 编辑

命名管道
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:33 AlanTu 阅读(7) 评论(0) 推荐(0) 编辑

管道和命名管道
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:32 AlanTu 阅读(16) 评论(0) 推荐(0) 编辑

TCP连接的建立和断开、滑动窗口
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:30 AlanTu 阅读(16) 评论(0) 推荐(0) 编辑

HTTP 协议详解
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:30 AlanTu 阅读(6) 评论(0) 推荐(0) 编辑

互联网协议入门
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:29 AlanTu 阅读(7) 评论(0) 推荐(0) 编辑

TCP连接的建立和终止
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:29 AlanTu 阅读(6) 评论(0) 推荐(0) 编辑

TCP 的那些事儿(下)
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:28 AlanTu 阅读(14) 评论(0) 推荐(0) 编辑

Linux下动态库(.so)和静态库(.a) 的区别
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:27 AlanTu 阅读(29) 评论(0) 推荐(0) 编辑

Linux动态链接库的使用
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:27 AlanTu 阅读(23) 评论(0) 推荐(0) 编辑

TCP 的那些事儿(上)
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:27 AlanTu 阅读(18) 评论(0) 推荐(0) 编辑

C++静态库与动态库
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:26 AlanTu 阅读(11) 评论(0) 推荐(0) 编辑

链接
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:25 AlanTu 阅读(8) 评论(0) 推荐(0) 编辑

静态库、共享库
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:25 AlanTu 阅读(10) 评论(0) 推荐(0) 编辑

装载与动态链接
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:24 AlanTu 阅读(13) 评论(0) 推荐(0) 编辑

静态链接
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:23 AlanTu 阅读(11) 评论(0) 推荐(0) 编辑

linux内核物理内存空间分布
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:22 AlanTu 阅读(55) 评论(0) 推荐(0) 编辑

linux arm的高端内存映射
摘要:linux arm的高端内存映射(1) vmalloc 高端内存映射 与高端映射对立的是低端映射或所谓直接映射,内核中有关变量定义它们的它们的分界点,全局变量high_memory,该变量定义在mm/memory.c文件中(存在MMU的前提下),可见不区分体系结构,对于当前我手头的marvell的a 阅读全文

posted @ 2018-03-08 13:20 AlanTu 阅读(1015) 评论(0) 推荐(0) 编辑

Linux内存管理中的slab分配器
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:18 AlanTu 阅读(24) 评论(0) 推荐(0) 编辑

Linux伙伴算法
摘要:Linux内存管理伙伴算法 伙伴算法 Linux内核内存管理的任务包括: 遵从CPU的MMU(Memory Management Unit)机制 合理、有效、快速地管理内存 实现内存保护机制 实现虚拟内存 共享 重定位 遵从CPU的MMU(Memory Management Unit)机制 合理、有 阅读全文

posted @ 2018-03-08 13:09 AlanTu 阅读(4793) 评论(0) 推荐(0) 编辑

缓存更新的套路
摘要:看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还 阅读全文

posted @ 2018-03-08 13:03 AlanTu 阅读(879) 评论(0) 推荐(0) 编辑

Linux Cache 机制探究
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:01 AlanTu 阅读(16) 评论(0) 推荐(0) 编辑

内存管理概述
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 13:00 AlanTu 阅读(21) 评论(0) 推荐(0) 编辑

TLB flush操作
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 12:58 AlanTu 阅读(10) 评论(0) 推荐(0) 编辑

linux用户空间和内核空间
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 12:56 AlanTu 阅读(21) 评论(0) 推荐(0) 编辑

linux内存管理概述
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 12:56 AlanTu 阅读(15) 评论(0) 推荐(0) 编辑

linux内存管理 malloc、vmalloc、kmalloc的区别
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 12:55 AlanTu 阅读(20) 评论(0) 推荐(0) 编辑

linux内核内存管理(zone_dma zone_normal zone_highmem)
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 12:55 AlanTu 阅读(15) 评论(0) 推荐(0) 编辑

Linux内存管理-高端内存
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 12:54 AlanTu 阅读(19) 评论(0) 推荐(0) 编辑

Linux内核空间-理解高端内存
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 12:53 AlanTu 阅读(18) 评论(0) 推荐(0) 编辑

linux内存管理---虚拟地址、逻辑地址、线性地址、物理地址的区别
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 12:52 AlanTu 阅读(18) 评论(0) 推荐(0) 编辑

Linux内存管理
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 12:52 AlanTu 阅读(29) 评论(0) 推荐(0) 编辑

Linux虚拟存储器
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 12:51 AlanTu 阅读(18) 评论(0) 推荐(0) 编辑

Linux中断概述
摘要:中断和异常 1.1中断的由来及实质 Linux内核要管理计算机上的硬件设备,首先要和他们通信。而处理器的速度跟外围硬件设备的速度往往不在一个数量级上,因此,如果内核采取让处理器向硬件发出一个请求,然后专门等待回应的办法,显然差强人意。既然硬件的响应这么慢,那么内核就应该在此期间处理其他事务,等到硬件 阅读全文

posted @ 2018-03-08 12:49 AlanTu 阅读(811) 评论(0) 推荐(0) 编辑

Linux内核同步:RCU
摘要:linux内核 RCU机制详解 简介 RCU(Read-Copy Update)是数据同步的一种方式,在当前的Linux内核中发挥着重要的作用。RCU主要针对的数据对象是链表,目的是提高遍历读取数据的效率,为了达到目的使用RCU机制读取数据的时候不对链表进行耗时的加锁操作。这样在同一时间可以有多个线 阅读全文

posted @ 2018-03-08 12:42 AlanTu 阅读(799) 评论(0) 推荐(0) 编辑

Linux内核同步:自旋锁
摘要:linux内核--自旋锁的理解 自旋锁:如果内核配置为SMP系统,自旋锁就按SMP系统上的要求来实现真正的自旋等待,但是对于UP系统,自旋锁仅做抢占和中断操作,没有实现真正的“自旋”。如果配置了CONFIG_DEBUG_SPINLOCK,那么自旋锁按照SMP系统来编译。 但是为什么在UP系统中不需要 阅读全文

posted @ 2018-03-08 12:24 AlanTu 阅读(1024) 评论(0) 推荐(0) 编辑

Linux软中断、tasklet和工作队列
摘要:Linux内核中的软中断、tasklet和工作队列详解 引言 软中断、tasklet和工作队列并不是Linux内核中一直存在的机制,而是由更早版本的内核中的“下半部”(bottom half)演变而来。下半部的机制实际上包括五种,但2.6版本的内核中,下半部和任务队列的函数都消失了,只剩下了前三者。 阅读全文

posted @ 2018-03-08 11:06 AlanTu 阅读(2287) 评论(0) 推荐(0) 编辑

Linux中断上下文
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 10:59 AlanTu 阅读(19) 评论(0) 推荐(0) 编辑

Linux信号机制
摘要:Linux信号(signal) 机制分析 【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。最后介绍了应用层的相关处理,主要包括信号处理函 阅读全文

posted @ 2018-03-08 10:58 AlanTu 阅读(3668) 评论(0) 推荐(0) 编辑

Linux系统调用
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 10:53 AlanTu 阅读(11) 评论(0) 推荐(0) 编辑

缺页异常处理
摘要:linux内存管理--缺页异常处理 1 缺页异常在linux内核处理中占有非常重要的位置,很多linux特性,如写时复制,页框延迟分配,内存回收中的磁盘和内存交换,都需要借助缺页异常来进行,缺页异常处理程序主要处理以下四种情形:1请求调页: 当进程调用malloc()之类的函数调用时,并未实际上分配 阅读全文

posted @ 2018-03-08 10:49 AlanTu 阅读(12266) 评论(0) 推荐(1) 编辑

linux的0号进程和1号进程
摘要:linux的 0号进程 和 1 号进程 Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2) * idle进程由系统自动创建, 运行在内核态 idle进程其pid=0,其前身是系统创建的第一个进程,也是唯一一个没有通过fo 阅读全文

posted @ 2018-03-08 10:37 AlanTu 阅读(25341) 评论(0) 推荐(1) 编辑

linux进程地址空间浅析
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 10:37 AlanTu 阅读(20) 评论(0) 推荐(0) 编辑

普通线程和内核线程
摘要:Linux内核线程kernel thread详解 内核线程 为什么需要内核线程 Linux内核可以看作一个服务进程(管理软硬件资源,响应用户进程的种种合理以及不合理的请求)。 内核需要多个执行流并行,为了防止可能的阻塞,支持多线程是必要的。 内核线程就是内核的分身,一个分身可以处理一件特定事情。内核 阅读全文

posted @ 2018-03-08 10:28 AlanTu 阅读(15975) 评论(0) 推荐(5) 编辑

fork,vfork和clone区别
只有注册用户登录后才能阅读该文。

posted @ 2018-03-08 10:18 AlanTu 阅读(19) 评论(0) 推荐(0) 编辑

进程概述
摘要:又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操作系统中可以说是最重要的一个概念--进程。操作系统最主要的两个职能是管理各种资源和为应用程序提供系统调用接口。这其中关键的部分是,cpu到进程的抽象,物理内存到地址空间(虚拟内存)的抽象, 阅读全文

posted @ 2018-03-08 09:23 AlanTu 阅读(730) 评论(0) 推荐(0) 编辑

进程简述
摘要:简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口 阅读全文

posted @ 2018-03-08 09:22 AlanTu 阅读(556) 评论(0) 推荐(0) 编辑

Linux进程切换(1) 基本框架
只有注册用户登录后才能阅读该文。

posted @ 2018-03-07 22:01 AlanTu 阅读(58) 评论(0) 推荐(0) 编辑

Linux进程切换(2) TLB处理
只有注册用户登录后才能阅读该文。

posted @ 2018-03-07 22:01 AlanTu 阅读(32) 评论(0) 推荐(0) 编辑

Linux进程切换(3) 同步处理
只有注册用户登录后才能阅读该文。

posted @ 2018-03-07 22:01 AlanTu 阅读(33) 评论(0) 推荐(0) 编辑

进程和线程的区别
只有注册用户登录后才能阅读该文。

posted @ 2018-03-07 22:00 AlanTu 阅读(26) 评论(0) 推荐(0) 编辑

可变参数: va_start和va_end使用详解
只有注册用户登录后才能阅读该文。

posted @ 2018-03-07 14:58 AlanTu 阅读(8) 评论(0) 推荐(0) 编辑

并发编程
只有注册用户登录后才能阅读该文。

posted @ 2018-03-07 14:48 AlanTu 阅读(21) 评论(0) 推荐(0) 编辑

内存寻址:存储保护机制
摘要:cpu的保护模式由来 分段机制 8086的诞生,标志着Intel 正式进入了x86时代,这是个多么具有纪念意义的日子:1978-6-8。同时,8086的诞生也是处理器内存寻址技术的第一次飞跃。 对于一根实际的、实实在在的、物理的、可看得见、摸得着的内存条而言,处理器把它当做8位一个字节的序列来管理和 阅读全文

posted @ 2018-03-07 14:35 AlanTu 阅读(2180) 评论(0) 推荐(1) 编辑

计算机科学基础知识(五)动态链接
只有注册用户登录后才能阅读该文。

posted @ 2018-03-07 13:13 AlanTu 阅读(11) 评论(0) 推荐(0) 编辑

计算机科学基础知识(四)动态库和位置无关代码
只有注册用户登录后才能阅读该文。

posted @ 2018-03-07 13:12 AlanTu 阅读(13) 评论(0) 推荐(0) 编辑

计算机科学基础知识(三)静态库和静态链接
只有注册用户登录后才能阅读该文。

posted @ 2018-03-07 13:10 AlanTu 阅读(11) 评论(0) 推荐(0) 编辑

计算机科学基础知识(二)Relocatable Object File
只有注册用户登录后才能阅读该文。

posted @ 2018-03-07 13:08 AlanTu 阅读(10) 评论(0) 推荐(0) 编辑

进程切换
只有注册用户登录后才能阅读该文。

posted @ 2018-03-07 06:23 AlanTu 阅读(21) 评论(0) 推荐(0) 编辑

unlink与close关系
只有注册用户登录后才能阅读该文。

posted @ 2018-03-07 06:16 AlanTu 阅读(9) 评论(0) 推荐(0) 编辑

C++对象布局(一)
只有注册用户登录后才能阅读该文。

posted @ 2018-03-06 21:00 AlanTu 阅读(19) 评论(0) 推荐(0) 编辑

C++虚函数在对象中的内存布局
只有注册用户登录后才能阅读该文。

posted @ 2018-03-06 20:59 AlanTu 阅读(10) 评论(0) 推荐(0) 编辑

编程的智慧
只有注册用户登录后才能阅读该文。

posted @ 2018-03-05 16:50 AlanTu 阅读(12) 评论(0) 推荐(0) 编辑

C++对象的内存布局
只有注册用户登录后才能阅读该文。

posted @ 2018-03-05 16:41 AlanTu 阅读(11) 评论(0) 推荐(0) 编辑

用Unix的设计思想来应对多变的需求
只有注册用户登录后才能阅读该文。

posted @ 2018-03-05 09:50 AlanTu 阅读(11) 评论(0) 推荐(0) 编辑

SteveY对Amazon和Google平台的吐槽
摘要:Steve Yegge, Amazon的前员工,现任Google员工,其本来想在Google+上和Google的员工讨论一些关于平台的东西,结果不小心把圈子设成了Public,结果这篇文章就公开给了全世界,引起了剧烈的反应。发布后很快他就马上把这篇文章删了,不过,互联网上早备份了下来——SteveY 阅读全文

posted @ 2018-03-05 09:35 AlanTu 阅读(553) 评论(0) 推荐(0) 编辑

一些软件设计的原则
只有注册用户登录后才能阅读该文。

posted @ 2018-03-05 09:22 AlanTu 阅读(8) 评论(0) 推荐(0) 编辑

从面向对象的设计模式看软件设计
只有注册用户登录后才能阅读该文。

posted @ 2018-03-05 09:18 AlanTu 阅读(8) 评论(0) 推荐(0) 编辑

如此理解面向对象编程
只有注册用户登录后才能阅读该文。

posted @ 2018-03-05 09:09 AlanTu 阅读(9) 评论(0) 推荐(0) 编辑

谈程序的正确性
只有注册用户登录后才能阅读该文。

posted @ 2018-03-05 01:06 AlanTu 阅读(13) 评论(0) 推荐(0) 编辑

测试的道理
只有注册用户登录后才能阅读该文。

posted @ 2018-03-05 01:01 AlanTu 阅读(11) 评论(0) 推荐(0) 编辑

谈创新
只有注册用户登录后才能阅读该文。

posted @ 2018-03-05 01:00 AlanTu 阅读(10) 评论(0) 推荐(0) 编辑

代码优化概要
只有注册用户登录后才能阅读该文。

posted @ 2018-03-05 00:52 AlanTu 阅读(20) 评论(0) 推荐(0) 编辑

性能调优攻略
只有注册用户登录后才能阅读该文。

posted @ 2018-03-05 00:51 AlanTu 阅读(16) 评论(0) 推荐(0) 编辑

如何成为全栈工程师-Full Stack Developer
只有注册用户登录后才能阅读该文。

posted @ 2018-03-05 00:51 AlanTu 阅读(41) 评论(0) 推荐(0) 编辑

由12306.cn谈谈网站性能技术
摘要:12306.cn网站挂了,被全国人民骂了。我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题。因为仓促,而且完全基于本人有限的经验和了解,所以,如果有什么问题还请大家一起讨论和指正。(这又是一篇长文,只讨论性能问题,不讨论那些UI,用户体验,或是是否把支付和购票下单环节分开的功 阅读全文

posted @ 2018-03-04 23:47 AlanTu 阅读(209) 评论(0) 推荐(0) 编辑

mmap映射文件至内存( 实现 共享内存 与 文件的另类访问 )
摘要:Linux提供了内存映射函数mmap, 它把文件内容映射到一段内存上(准确说是虚拟内存上), 通过对这段内存的读取和修改, 实现对文件的读取和修改, 先来看一下mmap的函数声明: 头文件: <unistd.h><sys/mman.h> 原型: void *mmap(void *addr, size 阅读全文

posted @ 2018-03-04 21:51 AlanTu 阅读(11336) 评论(0) 推荐(0) 编辑

豆瓣上9分以上的IT书籍-编程技术篇
摘要:在豆瓣上9分以上的IT书籍-编程语言篇中,收集了很多优秀的编程语言书籍,也得到了不少读者的喜欢。不过也有一些读者留言说某某书为什么没有,一种是因为某些书并不算讲某种编程语言的,一种是由于豆瓣9分以上这个设定。不过确实有些书籍虽然没有达到9分,但也十分优秀,所以在编程技术篇中,我会收集那些和编程有关的 阅读全文

posted @ 2018-03-04 20:58 AlanTu 阅读(1215) 评论(0) 推荐(0) 编辑

豆瓣上9分以上的IT书籍-编程语言篇
摘要:我当要学习某些技术时,第一时间就是去找相关的书籍。而豆瓣读书是我主要的参考依据,主要是它的评分基本比较靠谱,对于技术书籍,一般来说评分在8分以上就是不错的书籍了,而达到9分就可以列入"必读"系列了,所以我就打算总结一下豆瓣上评分9以上的技术书籍,本想一片文章完成的,可是经典著作太多了,因此这篇文章先 阅读全文

posted @ 2018-03-04 20:56 AlanTu 阅读(613) 评论(0) 推荐(0) 编辑

函数式编程
摘要:当我们说起函数式编程来说,我们会看到如下函数式编程的长相: 函数式编程的三大特性: immutable data 不可变数据:像Clojure一样,默认上变量是不可变的,如果你要改变变量,你需要把变量copy出去修改。这样一来,可以让你的程序少很多Bug。因为,程序中的状态不好维护,在并发的时候更不 阅读全文

posted @ 2018-03-04 12:55 AlanTu 阅读(152) 评论(0) 推荐(0) 编辑

Web开发中需要了解的东西
摘要:在StackExchange上有人问了这样一个问题:What should every programmer know about web development?(关于Web开发,什么是所有程序员需要知道的?)里面给出的答案非常不错,所以,我翻译转载过来。 顺便说一下,StackExchange真 阅读全文

posted @ 2018-03-04 12:54 AlanTu 阅读(112) 评论(0) 推荐(0) 编辑

技术人员的发展之路
摘要:2012年的时候写过一篇叫《程序算法与人生选择》的文章,我用算法来类比如何做选择,说白了就是怎么去计算,但是并没有讲程序员可以发展的方向有哪些。 所以,就算是有这些所谓的方法论,我们可能对自己的发展还是会很纠结和无所事从,尤其是人到了30岁,这种彷徨和迷惑越来越重。虽然我之前也写过一篇《编程年龄和编 阅读全文

posted @ 2018-03-04 12:52 AlanTu 阅读(172) 评论(0) 推荐(0) 编辑

分布式系统的事务处理
摘要:当我们在生产线上用一台服务器来提供数据服务的时候,我会遇到如下的两个问题: 1)一台服务器的性能不足以提供足够的能力服务于所有的网络请求。 2)我们总是害怕我们的这台服务器停机,造成服务不可用或是数据丢失。 于是我们不得不对我们的服务器进行扩展,加入更多的机器来分担性能上的问题,以及来解决单点故障问 阅读全文

posted @ 2018-03-04 12:51 AlanTu 阅读(421) 评论(0) 推荐(0) 编辑

二维码的生成细节和原理
摘要:二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇 阅读全文

posted @ 2018-03-04 12:50 AlanTu 阅读(73654) 评论(4) 推荐(11) 编辑

编程能力与编程年龄
摘要:程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到30岁,然后就需要转型,就像《程序员技术练级攻略》这篇文章很多人回复到这种玩法会玩死人的一样。我在很多面试中,问到应聘者未来的规划都能听到好些应聘都说程序员是个青春饭。因为,大多数程序员都认为,编程这个事只能干到30岁,最多3 阅读全文

posted @ 2018-03-04 12:42 AlanTu 阅读(576) 评论(0) 推荐(0) 编辑

加班与效率
摘要:微博上看到了这么一个贴子,就像以前在《腾讯,竞争力 和 用户体验》中批评过腾讯说自己的核心竞争力是员工加班一样,我顺着Winter的回复也批评了一下这个微博—— “靠加班超越对手?!劳动密集型么?我要是对手的话,我就来趁机挖人了,直接摁死你……//@寒冬winter: 当一个管理者的智慧无法衡量一支 阅读全文

posted @ 2018-03-04 12:39 AlanTu 阅读(349) 评论(0) 推荐(0) 编辑

20本最好的Linux免费书籍
摘要:前些天Neo推荐了一个网站有《超过100本的linux免费书籍》,这里,我也向大家推荐20本最好的Linux免费书籍,当然,也是英文版的。 1. Ubuntu Pocket Guide and Reference 一本介绍关于Ubuntu 8.04和8.10的使用书。 Website www.ubu 阅读全文

posted @ 2018-03-04 12:31 AlanTu 阅读(3252) 评论(0) 推荐(1) 编辑

Linux 的僵尸(zombie)进程
摘要:可能很少有人意识到,在一个进程调用了exit之后,该进程 并非马上就消失掉,而是留下一个称为僵尸进程(Zombie)的数据结构。在Linux进程的5种状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所 有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态 阅读全文

posted @ 2018-03-04 12:30 AlanTu 阅读(334) 评论(0) 推荐(0) 编辑

高级Unix命令
摘要:在Unix操作中有太多太多的命令,这些命令的强大之处就是一个命令只干一件事,并把这件事干好。Do one thing, do it well。这是unix的哲学。而且Unix首创的管道可以把这些命令任意地组合,以完成一个更为强大功能。这些哲学到今天都在深深地影响着整个计算机产业。比如今天最流行的“云 阅读全文

posted @ 2018-03-04 12:28 AlanTu 阅读(197) 评论(0) 推荐(0) 编辑

Linux/Unix 新手和专家教程
摘要:你正在找一些高质量的Linux 和 UNIX 的教程吗?如果是,这篇文章会告诉你到哪去找到这些教程。这里我们将给出超过30个相当的不错的 Linux 和 UNIX 在线的教程。 需要大家注意的是,他们都是英文的,也许有一些也经被翻译到了中文社区,你可以搜索一下。但不管怎么样,我的建议是应该尽可能的去 阅读全文

posted @ 2018-03-04 12:27 AlanTu 阅读(360) 评论(0) 推荐(0) 编辑

如何调试bash脚本
摘要:Bash 是Linux操作系统的默认Shell脚本。Shell是用来处理操作系统和用户交互的一个程序。Shell的脚本可以帮助用户自动化地和操作系统进行交互。你也可以理解为一种脚本式的编程。即然有编程,那么,程序的编译器,解释器,调试器就必不可少了,Bash也一样,但在调试方面可能会有一些和编程语言 阅读全文

posted @ 2018-03-04 12:26 AlanTu 阅读(730) 评论(0) 推荐(0) 编辑

导航