LSP和LLVM有感

试想这样一种场景:如果你是一个电话提供商。现在有一个比较贫困的地区,你去那边建立这样一个电话系统。当然,最开始会很少的人愿意安装,毕竟大家都比较穷,能装得起电话的人呢有限。比如只有3个人。这个时候,这三个人需要彼此能够联通。从我们最直观的角度想,我们会怎么去做这个拓扑结构?因为电话原理比较简单,我们最开始会想到的方案可能就是,这三个人彼此连接一条线,3个电话,3条线,就能满足要求了。

……

阅读全文

我的推荐

电影

  • 《功夫》:最喜欢的电影,看了不下二十遍了,里面的每句台词我都记得,无论看多少遍,都没有找到一处觉得尴尬的剧情。

电视剧

  • 《毛骗》:第二季&终结季。是个网剧,名字难登大雅之堂,我觉得改名叫做《侠骗》比较好。虽然设定上是有借鉴《飞天大盗》,但自第二季开始,完全就是青出于蓝而远胜于蓝了。真的是个好网剧。
  • 《隐秘的角落》:开放的结局,两条主线。许多细节铺垫丝丝入扣。现在听到小白船、去爬山吗等字眼都让我瘆得慌。

纪录片

  • 《地球脉动》:豆瓣评分9.9的超高分纪录片,高清画质,记录真实的自然,地球环境,动物等,看了之后让人震撼。
  • 《河西走廊》:记录河西走廊历史的一个国产纪录片。制作精良,当时看了个开头,然后我真的去了甘青大环线旅游,深刻地感受了我国大西北的这个河西走廊的原貌,再回来看这个纪录片,感触良多。再看看敦煌和莫高窟的修建,不去敦煌,就很难理解敦煌文化,“中国的甘肃,世界的敦煌!”

小说

  • 《红楼梦》: 这个确实是我们中华最伟大的小说。凡是否定这个说法的基本都是没有看过小说的人吧。

    ……

阅读全文

数据库软件简介

Question

科普类型:美国的数据库软件在什么地方先进,我们差距在哪?有什么卡脖子的?现在全球竞争格局是怎样的?

1 数据类型

数据库是用来存储数据的,先简单介绍一下数据有哪些类型。

常见的数据类型有:

1.1 关系型数据

其实就类似于Excel表格通常所呈现的数据那样,每一行每一列整整齐齐,井井有条。同一个表之间有可能有唯一性关系,不同的表之间也可能存在一些关联。

……

阅读全文

英语语法核心体系

造句

  • Simple Sentence 什么怎么样
    • substract
      • 名词(人或者物体)
      • 代词
    • predicate
      • 可以独立完成的动作(不及物动词)
      • 有一个动作的承受者(单及物动词+宾语)
      • 两个动作承受者(双及物动词+ 间接宾语 + 直接宾语)
      • 只有一个动作承受者(复杂及物动词+宾语+宾语补语)
      • 不是个动作 (连系动词 + 主语补语(表语))

句子成分

  • 定语 Attributive 修饰主语或者宾语
  • 状语 Adverbial 修饰动作
  • 同位语 Appositive 将主语、宾语再说一遍

复合句

Compound Sentence,表并列连接

……

阅读全文

开源的一些感悟

从事开源软件开发已经有一年多了。从原来对开源一无所知,甚至是一些错误的认知,到现在已经能够深入参与到开源社区,并成为一些软件的Committer,走过了许许多多的弯路,也对开源有了许多的新的认识。突然对开源有了一些感悟,所以紧急插入一篇感悟。

“开源” ≠ “免费”

这是几乎所有没有从事过开源软件开发工作的人的一个基本认识错误。如果你问以前的我,“你认为开源软件是什么?”,那我肯定会回答你:“就是开放源代码的免费软件!”。

……

阅读全文

《C陷阱和缺陷》读书笔记(2)- 语法”陷阱“

词法、语法构成语言的一个基本条件。光有一个个的单词符号是不够的,这些符号的不同组合可以表达不同的含义。 例如,声明是什么,表达式什么,语句是什么,程序是什么等等。

理解函数声明

看看下面一个语句:

1
(*(void(*)())0)();

乍一看到这个语句,肯定当场吓尿!啥鬼玩儿意!

……

阅读全文

《C陷阱和缺陷》读书笔记(2)- 语法”陷阱“

词法、语法构成语言的一个基本条件。光有一个个的单词符号是不够的,这些符号的不同组合可以表达不同的含义。 例如,声明是什么,表达式什么,语句是什么,程序是什么等等。

理解函数声明

看看下面一个语句:

1
(*(void(*)())0)();

乍一看到这个语句,肯定当场吓尿!啥鬼玩儿意!

……

阅读全文

《C陷阱和缺陷》读书笔记(1)- 词法”陷阱“

为了敦促自己读书,特地开了一个读书笔记系列。

自上大学学习了谭浩强版本的《C程序设计》以来,以及经过这么多年遭受的C/C++面试和工作的毒打,就有一个感觉,C/C++语言的设计处处充满了陷阱。编译器设计之复杂,条目细则之多,感觉远远超出了其他语言。掌握了越多的这些”细则“或者”陷阱“,就离大师就更近了一步。而这些大师们,也津津乐道于讲述自己所掌握的这些”陷阱”以彰显自己大师之风范,以在面试中能够用这些“陷阱”困住面试者为骄傲!难怪人们常说,“细节决定成败”!而程序员最需要掌握的更加是一些编程语言、编译器的细节。

……

阅读全文

《C陷阱和缺陷》读书笔记(1)- 词法”陷阱“

为了敦促自己读书,特地开了一个读书笔记系列。

自上大学学习了谭浩强版本的《C程序设计》以来,以及经过这么多年遭受的C/C++面试和工作的毒打,就有一个感觉,C/C++语言的设计处处充满了陷阱。编译器设计之复杂,条目细则之多,感觉远远超出了其他语言。掌握了越多的这些”细则“或者”陷阱“,就离大师就更近了一步。而这些大师们,也津津乐道于讲述自己所掌握的这些”陷阱”以彰显自己大师之风范,以在面试中能够用这些“陷阱”困住面试者为骄傲!难怪人们常说,“细节决定成败”!而程序员最需要掌握的更加是一些编程语言、编译器的细节。

……

阅读全文

如何写一个漂亮的Markdown

一、概述

作为一个技术人员,善于利用工具提升生产效率是一个合格的技术人员的基本修养,也是提升效率的一个重要途径。作为一个程序员,有许许多多的工具来提升生产效率,使用规范化和大统一的规则规范是与优秀程序员世界接轨、交流和孜孜不倦的追求。

这里,想写很多工具和方法。但是,这里想先讲讲怎么将自己的内容完美呈现出来,让更多的人能够理解自己的思想。

……

阅读全文