12 cdai

尚未进行身份认证

暂无相关简介

等级
TA的排名 336

疯狂的罗素

原书《Logicomix》,中文名《罗素的故事》或《疯狂的罗素》。讲述的是逻辑学家、哲学家罗素追寻真理的故事。以罗素的回忆为主线,穿插了许多史实和一些虚构的情节,比如罗素与一些人物的会面和对话。主要内容上与《逻辑的引擎》类似,毕竟如罗素悖论、哥德尔不完备性等大事件是一定会提及的。不同的是轻松有趣的漫画风格,而且是制作漫画的画师和数学家、演讲中的罗素、以及罗素回忆的故事三重场景不断转换,像盗梦空间一...

2019-10-13 06:36:18

超越离散数学

早些时候曾写过一篇程序员的数学修养,介绍了一些程序员可以学习的数学分支。虽然与编程有一定的相关,但自学起来也不是一件容易的事。所以本文再推荐一些专门为程序员写的数学书,可以用作入门。有了一定基础知识,可以再根据需要去学习和选读一些更偏向数学的书。说到程序员数学,可能第一反应就是离散数学,再就是算法。国外的几本经典教材可能大家也都耳熟能详,所以本文会侧重一些不是很热门或者新出版的书籍。1.抽象代...

2019-10-13 06:03:48

如何实现语义分析中的类型检查

之前曾写过一篇语义分析的概念性介绍:https://daichen.blog.csdn.net/article/details/100097850。最近,终于开发完了一套基于SQL的语义分析器,算是对之前学习到的理论的一次工程实践。本文只是点出一下实践时的一些关键点和经验,具体细节还请看这里的设计文档:https://github.com/opendistro-for-elasticsearch/...

2019-10-12 13:47:13

编译器中的语义分析

最近一直在看编译原理方面的书,之前着重研究过词法解析和语法解析,这一次因为工作原因比较侧重语义分析。简单来说,语义分析是发生在词法和语法解析之后,输入是ConcreteSyntaxTree又名ParseTree。语义分析器对ParseTree进行分析,同时可以产生AbstractSyntaxTree(AST)。AST即忽略了语法细节的语法树,可能大家更熟悉一些。AST一般作为编译器前端...

2019-08-27 13:34:35

逻辑的引擎

最近利用通勤时间又读完了一本好书,《EnginesofLogic——MathematiciansandtheOriginoftheComputer》。可能由于作者本身也是数学和计算方面的牛人,所以这本书并不那么容易读。一是字里行间可以立即感受到的不舒服,即句式有些太复杂,随便翻开一页就能发现很多可以用作GRE阅读理解的长难句。二是每一章都大概用了至少一半的篇幅,对年代和人物生平进行...

2019-07-20 13:14:19

如何高效地做设计评审

设计评审(DesignReview),即在真正开始开发之前,组织一次或多次会议,先评审设计,以降低日后返工甚至项目失败的风险。相信工作过一段时间,开始主导一个功能模块甚至整个系统的同学,都对设计评审不会陌生。今天偶然看到了一篇亚马逊VP及Distinguished工程师BradPorter的一篇博客,讲述了设计评审容易陷入的问题以及他主张的一些最佳实践。也许并不适用于所有公司和项目组,但不妨一...

2019-07-17 13:46:46

Linux Mint从HDD升级到SSD

LinuxMint从HDD升级到SSD两年前的黑五,几乎不到五折入手了ThinkpadP50,一款非常不错的个人工作站。可因为当时预算有限,所以买的是“乞丐版”配置,处理器、内存、屏幕、背光键盘都还是次要的,最主要的是没有固态硬盘。之后便一直嫌麻烦没有升级。最近恰逢打折,于是直接买了三星的970Pro固态硬盘,又从联想官网买了支架,准备折腾一下。1.拆机安装首先要感慨的一点就是这SS...

2019-07-16 13:52:42

有品位的程序员

本文主要是一本老书《黑客与画家》部分章节的读后感,包括了我个人最最喜欢的两章《HackersandPainters》和《TasteforMakers》。两个观点深入我心:不管做什么行业,一定要做一个Maker,方式不重要,重要的是你想不想表达自己的思想。能站在别人角度写出好代码是一种天赋,即同情心和同理心,它远比想象的难,甚至无法后天习得。1.创造者们黑客与画家,看似没有什么...

2019-07-01 04:36:44

ElasticSearch近实时搜索的实现

ElasticSearch近实时搜索的实现1.近实时搜索1.1实时与近实时实时搜索(Real-timeSearch)很好理解,对于一个数据库系统,执行插入以后立刻就能搜索到刚刚插入到数据。而近实时(NearReal-time),所谓“近”也就是说比实时要慢一点点。1.2近实时的挑战对于一个单机系统来说,这也并不容易实现,因为还要保证数据的持久化,还要利用缓存等技术加快数据的访问...

2019-06-30 03:38:15

AWS开源Elasticsearch插件

今天AmazonWebService发布了Elasticsearch的开源分发包,项目名为OpenDistributionforElasticsearch。其中包括了Security,Alerting,SQL,performance工具等一组套件。因为有幸参与了其中SQL插件的开发,所以在这里打一打广告,欢迎大家Fork!官方介绍:https://opendistro.github.i...

2019-03-12 07:16:24

2019想要完善的几点

最近发现了自己学习时的一些不足,先简单地列在这里。以后发现了好的解决方法,或者更多可以改善的地方,再继续补充。1.勤做读书笔记读书笔记是这个博客的主要组成部分,但如何能做好却不是一件简单的事。主要原因就在做笔记的频率。过频则会不断打断阅读思路,纯粹成了为了做笔记而做笔记。而过晚则会导致当时的短时记忆都不在,就剩下书上的一些划线和旁注,最终很多书读过就忘了,这也是我现在最想改正的问题。一个简单...

2019-02-25 14:08:00

启发式面向对象设计(上)

前一阵子断断续续读完了一本老书《Object-OrientedDesignHeuristics》,中文名被译作《面向对象沉思录》。虽然是一本老书,但里面的一些观点对我真的是很新奇,比如对象的动态语义、类之间的关系、关系的拓扑结构、对象树与编译器中抽象语法树的相似等,总而言之非常值得一读。1.面向对象的积木:类与对象面向对象范式使用类和对象的概念,作为分析、设计、实现的一致性模型。1.1...

2019-01-02 15:13:12

我的2018年总结

转眼又是一年,2018年也要离我们远去。最近半年没有怎么更新博客,落笔有些生疏,但其实一直都零星地写一些。只不过写作时间碎片化,导致好多文章半途而废。趁着这年底最后的几天,赶紧好好总结一下这充实的一年。以下是前几年的总结,记录着自己成长的轨迹:我的2015技术学习流水账:https://blog.csdn.net/dc_726/article/details/50437464春夏秋冬又一年:...

2018-12-31 04:05:39

那些年我错过的Java

最近在看面向对象设计的书,有了一些新的感悟。于是周末闲来无事,想写个小东西练练手。最近一直用Python,所以想回归一下更面向对象、更“静态”一些的Java。正研究怎么升级到Java9尝尝鲜,结果发现再有80天Java11都要发布了!真是山中方一日,世上已千年。才不关注Java没多久,已经快成版本帝了。索性直接上了Java10,把最近落下的都补上。在这个夏天,补上那些年我错过的Java。...

2018-08-26 06:34:20

当我通勤时我该读什么

今年夏天房子到期后搬出了西雅图市区,从此开始了通勤上下班的生活。可能因为公交不太拥挤的缘故,在车上经常能看见捧着书读的人,有的还是厚厚的精装书。坐的每一趟车上平均都会有三到五个,甚至还有没有座位站着也要读书的。本以为亚马逊的Kindle会更为流行,结果好像很少见到,没想到实体书还如此顽强地生存着。于是信箱既然读书氛围这么好,我还一直有座位,那我也来读点什么吧。但以前晚上读的书有些比较费脑,感觉不是...

2018-08-24 12:22:14

优雅的对象

最近一口气读完了二百多页的《ElegantObjects》。可能因为整理自博客所以排版一般,而且才二百多页定价却40多刀。但读过之后发现超值,甚至还想去买第二卷。作者观点大多比较激进,对自己的理念异常坚定,所以经常使用诸如“绝对不要使用XXX”、“记住XXX,就这样,句号”。但作者绝不故弄玄虚,在批判之后,一定会给出自己的建议和代码示例。除去个别章节个人觉得很有争议,大部分内容读过之后都是很震撼...

2018-07-16 08:38:19

在GitHub上轻松搭建博客

从2011年开始正式定期地写文章,最开始在GoogleAppEngine搭建了Wordpress,几个月后又将文章都转移到了CSDN。时间飞逝,一看自己的历史文章列表发现都快七年整了。CSDN也在进步,美观方面加了各种皮肤,功能方面支持了Markdown。用得时间长了也觉得有很不方便的地方,可能也是因为一直以来的需求比较低,本地写好后能发表就行。最近偶然间在知乎上看到一篇对CSDN博客系统的吐槽...

2018-07-16 01:43:05

Haskell带你玩转函数

函数,再简单不过的概念。不管是什么范式的编程语言,都离不开用函数来表达逻辑。而函数式编程,当然核心就是函数。但函数式编程中的函数与其他语言有什么区别呢?本节都带着大家领略一下Haskell中强大的函数。这也是我们最应该从Haskell中学习,如果你觉得Haskell或其他函数式语言中的其他概念都太复杂太学术,那函数就是你至少应该从中收益的。再回到日常项目的非函数式语言时,学会领悟如何识别概念、分析...

2018-07-01 03:15:10

程序员的数学修养

1.什么是数学按照维基百科上的解释,数学没有准确的概念,它可以笼统地分为纯数学和应用数学。纯数学研究数量(Quantity)、结构(Structure)、空间(Space)、变化(Change),使用各种符号找寻规律,将各种猜想形式化,并证明其真伪。数学的基础包括了:数理逻辑、集合论、范畴论、计算理论。数量主要就是数字系统的建立,结构涉及组合、数论、图论、群论、代数等,空间涉及几何、差...

2018-06-10 07:46:17

程序员的理想桌面

最近搬家换了新公寓,地方大了一些,配了一个书桌,于是又开始折腾起了自己的开发环境。之前近一年的时间,连个书桌都没有,基本上处于晚上在床上看看书,白天工作时间有空就整理一下。但经常忙起来就搁浅了,所以写文章的时间也少了不少。现在准备重新弄好自己的环境,继续奋笔疾书:)1.显示器关于屏幕大小和分辨率着实研究(纠结)了一段时间。从便宜的低分辨率32寸,到宽屏34寸,再到4K高分辨率的27寸。...

2018-06-04 01:13:41

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。