Nic Lin's Blog

喜歡在地上打滾的 Rails Developer

Postgres 中的 analyse 與 analyze 有什麼不一樣?

其實也沒什麼,就是貼心的支持英國和美國英語,在功能上並沒有區別,即時是源代碼也提到是英國的拼寫,所以是完全沒有差異的。

Read more

Share Comments

[Rails] 大量呼叫 AASM 的 i18n 根本是災難

看輸出結果就不必多說了,整個慢到不行,如果不是大量輸出 csv row 還真的不會注意到,猜測是呼叫太多層導致,不如直接拿 i18n 來的乾脆。

Read more

Share Comments

為什麼 Query 忽快忽慢

如果是相同的語句執行時間不一樣,那就是有其他的會話在搶佔資源

Read more

Share Comments

[Rails] 用串流的方式讓用戶下載 CSV

在 Rails 中其實可以實現串流下載,這樣當資料準備到多少,用戶就會下載到多少,當用戶中斷下載,執行的部分也會直接斷掉。

Read more

Share Comments

如何避免 JavaScript 中的科學計數法 1e-5, 1e-6...

在 JavaScript 中的整數與浮點數其實都是屬用 Number 的數據類型,所有數字都是以 64 位浮點

Read more

Share Comments

在 Server 上自動監控 Sidekiq

很不幸運地,sidekiq 並不是一個非常可靠的 process。有時候會自己死掉,造成非常大的困擾。所以實務上還會需要額外再裝一個監控工具,如果發現它掛了,就自動重開它。

Read more

Share Comments

開發前端時,如何關閉 Chrome 跨域的安全策略

前端開發有可能會遇到一個問題,在前後端分離的狀況下,要再開發進行調試時,比方說希望從現在 Production 上的網域拿到 session 來做登入,或是拿後端的接口等問題,就

Read more

Share Comments

PostgreSQL Poor performance ORDER BY / LIMIT

最近研究一個在 Postgres 奇怪的效能問題。

Read more

Share Comments

在 Rails 中能夠使用 explain + analyze

平常開發 Rails 在效能瓶頸時,除了會進 Database 測 explain 以外,也會在 console 裡面下同樣的語句。 不過遺憾的是,Rails 只能夠單純用 explain 而已,在 Postgres 中,如果僅僅只用 explain 分析

Read more

Share Comments

unique index 與 non-unique index 的效能差異

常理來說,unique index 在做查詢的時候,可以想像約等同於 `SELECT 1 AS one LIMIT 1`,因為不需花費力氣找尋其他相同的數據,所以理論上會快一些。

Read more

Share Comments

什麼是 B+ Tree

上一篇學習 什麼是 B-Tree 這篇就來補 B+ Tree 囉

Read more

Share Comments

什麼是 B-tree (Balance tree)

一般像是 MySQL PostgreSQL 都是用 Btree 的方式建立索引。

Read more

Share Comments

AWS S3 + CloudFront SSL 靜態網站架設教學

最近把部落格搬家到靜態網站,用了 Hugo 架設的,包含圖床也都一併放到 S3, 這過程有點艱辛就記錄下來了,希望可以幫助到大家。

Read more

Share Comments

[Rails] 如何快速的對大資料量建立索引,避免 Downtime

Postgres 在建立索引時,會阻塞 DML 也就是 lock 整個 table 的寫入(讀取則不影響),所以當需要對大資料量的 Table 打 index 時,會造成有 Downtime 時間,這在 Production 這種高並發的環境下是不適合的。

Read more

Share Comments

為什麼 Postgres 不選擇 index scan 卻選擇 seq scan?

最近在分析影響效能的 Query,發現 PostgreSQL 有時的查詢效能不如我們預期,用了 EXPLAIN 下去分析索引,發現確實新增的 index 並沒有在 query plain 裡面,我想瞭解為什麼。

Read more

Share Comments