SlideShare a Scribd company logo
老司機帶你上手 PostgreSQL 關聯式資料庫系統
Kewang, Funliday
Kewang
●
王慕羣 Kewang
●
Java / JavaScript
●
HBase / PostgreSQL / MongoDB / Elasticsearch
●
Git / DevOps
●
熱愛開源
Linkedin
Linkedin kewangtw
kewangtw
SlideShare
SlideShare kewang
kewang
Gmail
Gmail cpckewang
cpckewang
Facebook
Facebook Kewang 的資訊進化論
Kewang 的資訊進化論
devopsday taipei
devopsday taipei '17
'17
hadoopcon
hadoopcon '14 '15
'14 '15
jcconf
jcconf '16 '17 '18
'16 '17 '18
modernweb
modernweb '18 '19 '20
'18 '19 '20
GitHub
GitHub kewang
kewang
Funliday
Funliday kewang
kewang
mopcon
mopcon '14 '20
'14 '20
coscupcoscup '20'21'20'21
coscup
coscup '20 '21
'20 '21
老司機帶你上手 PostgreSQL 關聯式資料庫系統
4
本日大綱
5
本日大綱
6
本日大綱
1. Migration 資料庫版本管理
7
本日大綱
1. Migration 資料庫版本管理
2. Node.js 整合
8
本日大綱
1. Migration 資料庫版本管理
2. Node.js 整合
3. PostGIS 實務應用
9
本日大綱
1. Migration 資料庫版本管理
2. Node.js 整合
3. PostGIS 實務應用
4. DB 儲存資料用
10
本日大綱
1. Migration 資料庫版本管理
2. Node.js 整合
3. PostGIS 實務應用
4. DB 儲存資料用
5. Blurhash 顯示
11
開始
12
安裝 PostgreSQL - 主角
13
安裝 PostgreSQL - 主角
14
安裝 pgAdmin 4 - 管理介面
15
安裝 pgAdmin 4 - 管理介面
16
安裝 flyway - 資料庫版本管理
17
安裝 flyway - 資料庫版本管理
18
Migration 資料庫版本管理
19
Flyway
20
Flyway
1.資料庫版本管理
21
Flyway
1.資料庫版本管理
2.慣例優於設定
22
Flyway
1.資料庫版本管理
2.慣例優於設定
3.所有 DDL 都要版本管理
23
Flyway
1.資料庫版本管理
2.慣例優於設定
3.所有 DDL 都要版本管理
4.支援各種 RDBMS
24
conf/flyway.conf
25
conf/flyway.conf
26
flyway migrate
27
flyway migrate
28
flyway_schema_history
29
flyway_schema_history
30
DEMO 一下
31
Node.js 整合
32
node-postgres
33
node-postgres
1. Node.js 的 PostgreSQL client
34
node-postgres
1. Node.js 的 PostgreSQL client
2.支援 Promise (async/await)
35
慣例寫法
36
慣例寫法
37
慣例寫法
所有機密資料記得從 .env 取得
38
慣例寫法
所有機密資料記得從 .env 取得
application_name 方便識別
39
慣例寫法
所有機密資料記得從 .env 取得
操作 DB 都寫成 object 管理
application_name 方便識別
40
一次查詢多筆資料
41
一次查詢多筆資料
42
一次查詢多筆資料
使用 ANY 及 array 處理
43
一次查詢多筆資料
使用 ANY 及 array 處理
使用 array 帶入參數
44
取得 aggregate 內容
45
取得 aggregate 內容
46
取得 aggregate 內容
row 及 array_agg 組成 aggregation 內容
47
取得 aggregate 內容
row 及 array_agg 組成 aggregation 內容
array_to_json 讓 node-postgres 直接轉換 JSON
48
新增多筆資料
49
新增多筆資料
50
新增多筆資料
unnest 將 array 轉換為 row
51
新增多筆資料
unnest 將 array 轉換為 row
使用 array 寫入多筆資料
52
DEMO 一下
53
PostGIS 實務應用
54
PostGIS
55
PostGIS
1.讓 PostgreSQL 變成地理空間資料庫
56
PostGIS
1.讓 PostgreSQL 變成地理空間資料庫
2.可以使用各種 ST 函式操作空間資料
57
找出特定座標最近的 10 個景點
58
找出特定座標最近的 10 個景點
59
找出特定座標最近的 10 個景點
KNN 算法
60
找出特定座標的所在行政區
61
找出特定座標的所在行政區
62
找出特定座標的所在行政區
ST_Contains 算出包含特定座標的 geometry
63
DEMO 一下
64
DB 儲存資料用
65
DB 儲存資料用
66
DB 儲存資料用
1.使用者的行為,看文遠大於發文
67
DB 儲存資料用
1.使用者的行為,看文遠大於發文
2.硬碟便宜,空間換取時間
68
DB 儲存資料用
1.使用者的行為,看文遠大於發文
2.硬碟便宜,空間換取時間
3.單一動作多 table 操作,需加上 transaction
69
當做 cache
70
當做 cache
client AP Redis
DB
71
當做 cache
client AP Redis
DB
run
72
當做 cache
client AP Redis
DB
run get cache
73
當做 cache
client AP Redis
DB
run get cache
return cache
74
當做 cache
client AP Redis
DB
run get cache
return cache
if hits, get cache
75
當做 cache
client AP Redis
DB
run get cache
return cache
if hits, get cache
return cache
76
當做 cache
client AP Redis
DB
run get cache
return cache
if hits, get cache
return cache
if misses, store cache
77
當做 cache
client AP Redis
DB
run get cache
return cache
if hits, get cache
return cache
if misses, store cache
store OK
78
當做 cache
client AP Redis
DB
run get cache
return cache
if hits, get cache
return cache
done
if misses, store cache
store OK
79
不要重複計算 count
80
不要重複計算 count
舊設計
81
不要重複計算 count
舊設計
新設計
82
不要重複計算 count - 語法
83
不要重複計算 count - 語法
84
Blurhash 顯示
85
Blurhash
86
Blurhash
●
別讓你的 designer 笑你笨
87
Blurhash
●
別讓你的 designer 笑你笨
●
用有意義的色塊顯示在畫面上
88
Blurhash
●
別讓你的 designer 笑你笨
●
用有意義的色塊顯示在畫面上
●
別讓你的 DBA 笑你笨
89
Blurhash
●
別讓你的 designer 笑你笨
●
用有意義的色塊顯示在畫面上
●
別讓你的 DBA 笑你笨
●
用極短 (20 bytes) 的字串存入 DB
90
Blurhash
●
別讓你的 designer 笑你笨
●
用有意義的色塊顯示在畫面上
●
別讓你的 DBA 笑你笨
●
用極短 (20 bytes) 的字串存入 DB
91
Blurhash encode diagram
92
Blurhash encode diagram
client
CDN
S3
MQ
origin
DB
93
Blurhash encode diagram
client
CDN
S3
1. get image from CDN
MQ
origin
DB
94
Blurhash encode diagram
client
CDN
S3
1. get image from CDN
MQ
origin
2. get image from origin
DB
95
Blurhash encode diagram
client
CDN
S3
1. get image from CDN
MQ
origin
2. get image from origin
3
.
g
e
t
i
m
a
g
e
f
r
o
m
S
3
DB
96
Blurhash encode diagram
client
CDN
S3
1. get image from CDN
MQ
origin
2. get image from origin
4.push
im
age id
to
M
Q
3
.
g
e
t
i
m
a
g
e
f
r
o
m
S
3
DB
97
Blurhash encode diagram
client
CDN
S3
1. get image from CDN
MQ 5. get image from S3
origin
2. get image from origin
4.push
im
age id
to
M
Q
3
.
g
e
t
i
m
a
g
e
f
r
o
m
S
3
DB
98
Blurhash encode diagram
client
CDN
S3
1. get image from CDN
MQ 5. get image from S3
6. store blurhash to DB
origin
2. get image from origin
4.push
im
age id
to
M
Q
3
.
g
e
t
i
m
a
g
e
f
r
o
m
S
3
DB
99
Blurhash encode package
100
Blurhash encode package
101
Blurhash encode package
High performance Node.js image processing
102
Blurhash encode package
High performance Node.js image processing
A very compact representation of a placeholder for an image
103
Blurhash encode source code
104
Blurhash encode source code
105
Blurhash encode source code
轉成 jpeg 降低檔案大小
106
Blurhash encode source code
轉成 jpeg 降低檔案大小
縮小尺寸降低檔案大小
107
Blurhash encode source code
轉成 jpeg 降低檔案大小
縮小尺寸降低檔案大小
加入透明度確保 encode 不會失敗
108
Blurhash encode source code
轉成 jpeg 降低檔案大小
縮小尺寸降低檔案大小
加入透明度確保 encode 不會失敗
轉成 bitmap
109
Blurhash encode source code
轉成 jpeg 降低檔案大小
縮小尺寸降低檔案大小
加入透明度確保 encode 不會失敗
轉成 bitmap
Blurhash encode
110
Blurhash encode source code
轉成 jpeg 降低檔案大小
縮小尺寸降低檔案大小
加入透明度確保 encode 不會失敗
轉成 bitmap
Blurhash encode
將 blurhash 存入資料庫
111
Blurhash decode diagram
112
Blurhash decode diagram
client
server
CDN
DB
113
Blurhash decode diagram
client
server
1. send API request to server
CDN
DB
114
Blurhash decode diagram
client
server
1. send API request to server
CDN
DB
2. get blurhash & data from DB
115
Blurhash decode diagram
client
server
1. send API request to server
CDN
DB
2. get blurhash & data from DB
3. get image from CDN
116
DEMO 一下
117
講完了
118
想看更多
119
想看更多
●
https://www.facebook.com/kewang.information
●
https://techblog.funliday.com
120
工商時間
121
工商時間
https://hahow.in/cr/kewang-backend https://bit.ly/3AueOxt
122

More Related Content

What's hot (20)

你畢業後要任職的軟體業到底都在做些什麼事
你畢業後要任職的軟體業到底都在做些什麼事你畢業後要任職的軟體業到底都在做些什麼事
你畢業後要任職的軟體業到底都在做些什麼事
Mu Chun Wang
 
Monitor is all for ops
Monitor is all for opsMonitor is all for ops
Monitor is all for ops
琛琳 饶
 
DNS协议与应用简介
DNS协议与应用简介DNS协议与应用简介
DNS协议与应用简介
琛琳 饶
 
Yet another introduction to Git - from the bottom up
Yet another introduction to Git - from the bottom upYet another introduction to Git - from the bottom up
Yet another introduction to Git - from the bottom up
Wen-Tien Chang
 
[PHP 也有 Day #64] PHP 升級指南
[PHP 也有 Day #64] PHP 升級指南[PHP 也有 Day #64] PHP 升級指南
[PHP 也有 Day #64] PHP 升級指南
Shengyou Fan
 
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
rewinx
 
JCConf2015: groovy to gradle
 JCConf2015: groovy to gradle JCConf2015: groovy to gradle
JCConf2015: groovy to gradle
Ching Yi Chan
 
高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用
redhat9
 
淺談 Groovy 與 Gradle
淺談 Groovy 與 Gradle淺談 Groovy 與 Gradle
淺談 Groovy 與 Gradle
Justin Lin
 
Git basis - usage
Git basis - usageGit basis - usage
Git basis - usage
Eason Cao
 
Golang 高性能实战
Golang 高性能实战Golang 高性能实战
Golang 高性能实战
rfyiamcool
 
独爽不如众乐
独爽不如众乐独爽不如众乐
独爽不如众乐
Zheng Biao
 
Golang advance
Golang advanceGolang advance
Golang advance
rfyiamcool
 
Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)
振揚 陳
 
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CIContinuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CI
Chu-Siang Lai
 
gRPC - 打造輕量、高效能的後端服務
gRPC - 打造輕量、高效能的後端服務gRPC - 打造輕量、高效能的後端服務
gRPC - 打造輕量、高效能的後端服務
升煌 黃
 
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Chu-Siang Lai
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
cachowu
 
從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用
謝 宗穎
 
Continuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CIContinuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CI
Chu-Siang Lai
 
你畢業後要任職的軟體業到底都在做些什麼事
你畢業後要任職的軟體業到底都在做些什麼事你畢業後要任職的軟體業到底都在做些什麼事
你畢業後要任職的軟體業到底都在做些什麼事
Mu Chun Wang
 
Monitor is all for ops
Monitor is all for opsMonitor is all for ops
Monitor is all for ops
琛琳 饶
 
DNS协议与应用简介
DNS协议与应用简介DNS协议与应用简介
DNS协议与应用简介
琛琳 饶
 
Yet another introduction to Git - from the bottom up
Yet another introduction to Git - from the bottom upYet another introduction to Git - from the bottom up
Yet another introduction to Git - from the bottom up
Wen-Tien Chang
 
[PHP 也有 Day #64] PHP 升級指南
[PHP 也有 Day #64] PHP 升級指南[PHP 也有 Day #64] PHP 升級指南
[PHP 也有 Day #64] PHP 升級指南
Shengyou Fan
 
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
rewinx
 
JCConf2015: groovy to gradle
 JCConf2015: groovy to gradle JCConf2015: groovy to gradle
JCConf2015: groovy to gradle
Ching Yi Chan
 
高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用
redhat9
 
淺談 Groovy 與 Gradle
淺談 Groovy 與 Gradle淺談 Groovy 與 Gradle
淺談 Groovy 與 Gradle
Justin Lin
 
Git basis - usage
Git basis - usageGit basis - usage
Git basis - usage
Eason Cao
 
Golang 高性能实战
Golang 高性能实战Golang 高性能实战
Golang 高性能实战
rfyiamcool
 
独爽不如众乐
独爽不如众乐独爽不如众乐
独爽不如众乐
Zheng Biao
 
Golang advance
Golang advanceGolang advance
Golang advance
rfyiamcool
 
Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)
振揚 陳
 
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CIContinuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CI
Chu-Siang Lai
 
gRPC - 打造輕量、高效能的後端服務
gRPC - 打造輕量、高效能的後端服務gRPC - 打造輕量、高效能的後端服務
gRPC - 打造輕量、高效能的後端服務
升煌 黃
 
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Chu-Siang Lai
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
cachowu
 
從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用
謝 宗穎
 
Continuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CIContinuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CI
Chu-Siang Lai
 

Similar to 老司機帶你上手 PostgreSQL 關聯式資料庫系統 (20)

Big Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDBBig Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDB
Monster Supreme
 
改善Programmer生活的sql技能
改善Programmer生活的sql技能改善Programmer生活的sql技能
改善Programmer生活的sql技能
Rack Lin
 
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
開放原始碼 Ch2.4   app - oss - db (ver 1.0)開放原始碼 Ch2.4   app - oss - db (ver 1.0)
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
My own sweet home!
 
深入淺出 autocomplete
深入淺出 autocomplete深入淺出 autocomplete
深入淺出 autocomplete
Mu Chun Wang
 
PostGIS 初入門應用
PostGIS 初入門應用PostGIS 初入門應用
PostGIS 初入門應用
Chengtao Lin
 
Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結
James Chen
 
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Justin Lin
 
架構設計-資料存取的選擇
架構設計-資料存取的選擇架構設計-資料存取的選擇
架構設計-資料存取的選擇
國昭 張
 
Nosql及其主要产品简介
Nosql及其主要产品简介Nosql及其主要产品简介
Nosql及其主要产品简介
振林 谭
 
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Justin Lin
 
如何在有限資源下實現十年的後端服務演進
如何在有限資源下實現十年的後端服務演進如何在有限資源下實現十年的後端服務演進
如何在有限資源下實現十年的後端服務演進
Mu Chun Wang
 
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
NTC.im(Notch Training Center)
 
10. 資料永續與交換
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換
Justin Lin
 
Ch09 整合資料庫
Ch09 整合資料庫Ch09 整合資料庫
Ch09 整合資料庫
Justin Lin
 
資料永續與交換
資料永續與交換資料永續與交換
資料永續與交換
Justin Lin
 
Kid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese VersionKid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese Version
Frank S.C. Tseng
 
Scaling Offline Database Usage On GCP @ Dcard
Scaling Offline Database Usage On GCP @ DcardScaling Offline Database Usage On GCP @ Dcard
Scaling Offline Database Usage On GCP @ Dcard
Jui An Huang (黃瑞安)
 
現代資料庫
現代資料庫現代資料庫
現代資料庫
Jasper Chen
 
Mongo db 簡介
Mongo db 簡介Mongo db 簡介
Mongo db 簡介
昱劭 劉
 
Java SE 8 技術手冊第 16 章 - 整合資料庫
Java SE 8 技術手冊第 16 章 - 整合資料庫Java SE 8 技術手冊第 16 章 - 整合資料庫
Java SE 8 技術手冊第 16 章 - 整合資料庫
Justin Lin
 
Big Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDBBig Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDB
Monster Supreme
 
改善Programmer生活的sql技能
改善Programmer生活的sql技能改善Programmer生活的sql技能
改善Programmer生活的sql技能
Rack Lin
 
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
開放原始碼 Ch2.4   app - oss - db (ver 1.0)開放原始碼 Ch2.4   app - oss - db (ver 1.0)
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
My own sweet home!
 
深入淺出 autocomplete
深入淺出 autocomplete深入淺出 autocomplete
深入淺出 autocomplete
Mu Chun Wang
 
PostGIS 初入門應用
PostGIS 初入門應用PostGIS 初入門應用
PostGIS 初入門應用
Chengtao Lin
 
Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結
James Chen
 
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Justin Lin
 
架構設計-資料存取的選擇
架構設計-資料存取的選擇架構設計-資料存取的選擇
架構設計-資料存取的選擇
國昭 張
 
Nosql及其主要产品简介
Nosql及其主要产品简介Nosql及其主要产品简介
Nosql及其主要产品简介
振林 谭
 
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Justin Lin
 
如何在有限資源下實現十年的後端服務演進
如何在有限資源下實現十年的後端服務演進如何在有限資源下實現十年的後端服務演進
如何在有限資源下實現十年的後端服務演進
Mu Chun Wang
 
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
NTC.im(Notch Training Center)
 
10. 資料永續與交換
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換
Justin Lin
 
Ch09 整合資料庫
Ch09 整合資料庫Ch09 整合資料庫
Ch09 整合資料庫
Justin Lin
 
資料永續與交換
資料永續與交換資料永續與交換
資料永續與交換
Justin Lin
 
Kid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese VersionKid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese Version
Frank S.C. Tseng
 
Scaling Offline Database Usage On GCP @ Dcard
Scaling Offline Database Usage On GCP @ DcardScaling Offline Database Usage On GCP @ Dcard
Scaling Offline Database Usage On GCP @ Dcard
Jui An Huang (黃瑞安)
 
Mongo db 簡介
Mongo db 簡介Mongo db 簡介
Mongo db 簡介
昱劭 劉
 
Java SE 8 技術手冊第 16 章 - 整合資料庫
Java SE 8 技術手冊第 16 章 - 整合資料庫Java SE 8 技術手冊第 16 章 - 整合資料庫
Java SE 8 技術手冊第 16 章 - 整合資料庫
Justin Lin
 
Ad

More from Mu Chun Wang (19)

大解密!用 PostgreSQL 提升 350 倍的 Funliday 推薦景點計算速度
大解密!用 PostgreSQL 提升 350 倍的 Funliday 推薦景點計算速度大解密!用 PostgreSQL 提升 350 倍的 Funliday 推薦景點計算速度
大解密!用 PostgreSQL 提升 350 倍的 Funliday 推薦景點計算速度
Mu Chun Wang
 
如何使用 iframe 製作一個易於更新及更安全的前端套件
如何使用 iframe 製作一個易於更新及更安全的前端套件如何使用 iframe 製作一個易於更新及更安全的前端套件
如何使用 iframe 製作一個易於更新及更安全的前端套件
Mu Chun Wang
 
pppr - 解決 JavaScript 無法被搜尋引擎正確索引的問題
pppr - 解決 JavaScript 無法被搜尋引擎正確索引的問題pppr - 解決 JavaScript 無法被搜尋引擎正確索引的問題
pppr - 解決 JavaScript 無法被搜尋引擎正確索引的問題
Mu Chun Wang
 
Git 可以做到的事
Git 可以做到的事Git 可以做到的事
Git 可以做到的事
Mu Chun Wang
 
如何與 Git 優雅地在樹上唱歌
如何與 Git 優雅地在樹上唱歌如何與 Git 優雅地在樹上唱歌
如何與 Git 優雅地在樹上唱歌
Mu Chun Wang
 
API Blueprint - API 文件規範的三大領頭之一
API Blueprint - API 文件規範的三大領頭之一API Blueprint - API 文件規範的三大領頭之一
API Blueprint - API 文件規範的三大領頭之一
Mu Chun Wang
 
團體共同協作與版本管理 - 01認識共同協作
團體共同協作與版本管理 - 01認識共同協作團體共同協作與版本管理 - 01認識共同協作
團體共同協作與版本管理 - 01認識共同協作
Mu Chun Wang
 
Git 經驗分享
Git 經驗分享Git 經驗分享
Git 經驗分享
Mu Chun Wang
 
手把手教你如何串接 Log 到各種網路服務
手把手教你如何串接 Log 到各種網路服務手把手教你如何串接 Log 到各種網路服務
手把手教你如何串接 Log 到各種網路服務
Mu Chun Wang
 
你有想過畢業九年後的你會變什麼樣子嗎?
你有想過畢業九年後的你會變什麼樣子嗎?你有想過畢業九年後的你會變什麼樣子嗎?
你有想過畢業九年後的你會變什麼樣子嗎?
Mu Chun Wang
 
HR Search - 輕鬆管理面試者
HR Search - 輕鬆管理面試者HR Search - 輕鬆管理面試者
HR Search - 輕鬆管理面試者
Mu Chun Wang
 
Hedis - GET HBase via Redis
Hedis - GET HBase via RedisHedis - GET HBase via Redis
Hedis - GET HBase via Redis
Mu Chun Wang
 
104學年度行動裝置程式設計課程說明
104學年度行動裝置程式設計課程說明104學年度行動裝置程式設計課程說明
104學年度行動裝置程式設計課程說明
Mu Chun Wang
 
Webduino introduction
Webduino introductionWebduino introduction
Webduino introduction
Mu Chun Wang
 
Lightning Hedis
Lightning HedisLightning Hedis
Lightning Hedis
Mu Chun Wang
 
職涯之路
職涯之路職涯之路
職涯之路
Mu Chun Wang
 
Firebase introduction
Firebase introductionFirebase introduction
Firebase introduction
Mu Chun Wang
 
How to build a scalable SNS via Polling & Push
How to build a scalable SNS via Polling & PushHow to build a scalable SNS via Polling & Push
How to build a scalable SNS via Polling & Push
Mu Chun Wang
 
How to build a scalable SNS using HBase
How to build a scalable SNS using HBaseHow to build a scalable SNS using HBase
How to build a scalable SNS using HBase
Mu Chun Wang
 
大解密!用 PostgreSQL 提升 350 倍的 Funliday 推薦景點計算速度
大解密!用 PostgreSQL 提升 350 倍的 Funliday 推薦景點計算速度大解密!用 PostgreSQL 提升 350 倍的 Funliday 推薦景點計算速度
大解密!用 PostgreSQL 提升 350 倍的 Funliday 推薦景點計算速度
Mu Chun Wang
 
如何使用 iframe 製作一個易於更新及更安全的前端套件
如何使用 iframe 製作一個易於更新及更安全的前端套件如何使用 iframe 製作一個易於更新及更安全的前端套件
如何使用 iframe 製作一個易於更新及更安全的前端套件
Mu Chun Wang
 
pppr - 解決 JavaScript 無法被搜尋引擎正確索引的問題
pppr - 解決 JavaScript 無法被搜尋引擎正確索引的問題pppr - 解決 JavaScript 無法被搜尋引擎正確索引的問題
pppr - 解決 JavaScript 無法被搜尋引擎正確索引的問題
Mu Chun Wang
 
Git 可以做到的事
Git 可以做到的事Git 可以做到的事
Git 可以做到的事
Mu Chun Wang
 
如何與 Git 優雅地在樹上唱歌
如何與 Git 優雅地在樹上唱歌如何與 Git 優雅地在樹上唱歌
如何與 Git 優雅地在樹上唱歌
Mu Chun Wang
 
API Blueprint - API 文件規範的三大領頭之一
API Blueprint - API 文件規範的三大領頭之一API Blueprint - API 文件規範的三大領頭之一
API Blueprint - API 文件規範的三大領頭之一
Mu Chun Wang
 
團體共同協作與版本管理 - 01認識共同協作
團體共同協作與版本管理 - 01認識共同協作團體共同協作與版本管理 - 01認識共同協作
團體共同協作與版本管理 - 01認識共同協作
Mu Chun Wang
 
手把手教你如何串接 Log 到各種網路服務
手把手教你如何串接 Log 到各種網路服務手把手教你如何串接 Log 到各種網路服務
手把手教你如何串接 Log 到各種網路服務
Mu Chun Wang
 
你有想過畢業九年後的你會變什麼樣子嗎?
你有想過畢業九年後的你會變什麼樣子嗎?你有想過畢業九年後的你會變什麼樣子嗎?
你有想過畢業九年後的你會變什麼樣子嗎?
Mu Chun Wang
 
HR Search - 輕鬆管理面試者
HR Search - 輕鬆管理面試者HR Search - 輕鬆管理面試者
HR Search - 輕鬆管理面試者
Mu Chun Wang
 
Hedis - GET HBase via Redis
Hedis - GET HBase via RedisHedis - GET HBase via Redis
Hedis - GET HBase via Redis
Mu Chun Wang
 
104學年度行動裝置程式設計課程說明
104學年度行動裝置程式設計課程說明104學年度行動裝置程式設計課程說明
104學年度行動裝置程式設計課程說明
Mu Chun Wang
 
Webduino introduction
Webduino introductionWebduino introduction
Webduino introduction
Mu Chun Wang
 
Firebase introduction
Firebase introductionFirebase introduction
Firebase introduction
Mu Chun Wang
 
How to build a scalable SNS via Polling & Push
How to build a scalable SNS via Polling & PushHow to build a scalable SNS via Polling & Push
How to build a scalable SNS via Polling & Push
Mu Chun Wang
 
How to build a scalable SNS using HBase
How to build a scalable SNS using HBaseHow to build a scalable SNS using HBase
How to build a scalable SNS using HBase
Mu Chun Wang
 
Ad

老司機帶你上手 PostgreSQL 關聯式資料庫系統