PostgreSQL 表继承使用详解

继承是来自于面向对象数据库的概念,其为数据库设计带来了新的可能性。 先看一个例子:假定我们正在构建一个数据模型来存储所有的城市,而城市中有的是普通城市,有的是省会城市,如何进行表设计呢?继承特性就能很巧妙的表示这种关系。 下面为建表语句: -- 城市表 CREATE TABLE cities ( name varchar(100) PRIMARY KEY, -- 名称 population float8, -- 人口,单位为百万 elevation int, -- 平均海拔,单位为米 province varchar(100) -- 省份 ); -- 省会表 CREATE TABLE capitals () INHERITS (cities); 上面的capitals表继承了cities表的所有列。

阅读更多

關於漢字

今天在群裏看到一個朋友分享了一篇文章,說「中國迅速成爲科技大國,漢語在背後發揮了很重要的優勢」。 乍一看這個標題可能覺得有一點牽强,但仔細想想,的確有一定的道理。 我從事計算機行業,關於專業知識的一手資料基本都是英文的,所以平日裏接觸英文也比較多。不知是西方人的思維方式還是文字本身的緣由,英文資料給我的感覺是,不喜歡抽象而喜歡具體,知識之間的邊界比較明顯。爲了講清楚一個稍微大一點的概念會細分出很多相對隔離的枝節,每個部分講的事無巨細,生怕哪個點有歧義,簡直就是單一領域專研者的圭臬之選。但各個類別之間缺乏連通,少了一些匯總與歸納,當涉及的問題大一點的時候,需要翻閲大量相對獨立的枝葉,無法從最開始建立整體觀。 中文資料給人的感覺正好與前一種模式相反,喜歡抽象卻不喜歡具體,特別擅長做提綱挈領,容易一開始就能抓住事情的主幹,但到細節部分卻非常惜墨。這可能是我們的思維習慣造成的。對於一些細枝末節,中文思維可能會默認別人已心領神會,不屑於將其描述的明明白白,但到具體落地時,往往理解的千差萬別,容易出現問題。 這是我對英文與中文這兩種語言在使用現象上感受到的不同。因兩者一個代表表音文字,一個代表表意文字,這些語言使用者的習慣與思維模式的不同是否源於文字本身呢?哪種文字更能映射真實的世界呢?下面便作淺析。

阅读更多

2023 國慶假期回顧

9 月 29 號中秋節,我、太太和孩子一起乘坐大巴往岳父家趕,開始了我們的假期模式。大巴車上坐滿了人,幾乎不剩一個空餘的座位,果然是過節,路上非常的堵,大巴行駛極其緩慢。因早上沒吃主食,又喝了一大碗粥,上車沒多久就開始尿急了,痛苦難忍,趕緊上前告訴了司機師傅。恨不得車馬上就停下來,想著路邊只一顆能遮躰的樹就好,也理解了高速路上那些路邊小便的不文明的行爲,不經歷不知道,有的時候真的是不得已爲之。好不容易遇到了一個加油站,車停了下來,我便徑直飛向那裏邊的厠所,一撒爾儘,那叫一個酣暢淋漓,人生幾大樂事應該有一條「久憋逢厠所」。 到家後,和岳父收割了幾天玉米,做了些家務,帶了幾天孩子,看望了太太的親戚,還趕了農村的大集,吃了很甜的秋桃。

阅读更多

如何使用 Kotlin Web 框架 Ktor 构建 RESTful API 服务?

前面两篇文章「如何使用 Spring Boot 和 Kotlin 构建 RESTful API 服务?」、「如何使用 Kotlin HTTP 工具包 http4k 构建 RESTful API 服务?」分别介绍了 Kotlin 使用 Spring Boot,以及 Kotlin 使用 http4k 开发 RESTful API 的方法。本文则关注如何使用 Kotlin 官方主推的 Web 框架 Ktor 来开发 RESTful API?

阅读更多