文章

高效能 MySQL 分頁

剛開始學寫程式時,是照著書本上的範例利用 LIMIT offset, row_count 來達到分頁的功能,但是隨著資料量越來越大,這種分頁方式會造成越後面的頁數 query 時間越長。因為在 MySQL 中有指定 offset 的情況下,並不會直接從該 offset 開始進行資料查詢,而是依照 where 條件取得所有資料之後,再從 offset 開始取出所需要的資料筆數。

Posted on  May 29, 2016  in  MySQL  by  Amo Chen  ‐ 2 min read

Data Scientist 不可不知的 csvkit

CSV 大概是目前最直覺方便的資料格式,除了可以用 Excel, OpenOffice , LibreOffice 等文書處理軟體編輯之外,也可以用程式語言進行處理與分析。不過有時候還是會需要在終端機(Terminal)上進行 CSV 的簡單操作,這時候就需要方便的工具來幫我們節省時間,在此推薦 csvkit 給大家!

以下節錄幾個 csvkit 支援的好用功能:

  • csv, dbf, fixed, geojson, json, ndjson, xls, xlsx 等資料格式的轉換(轉成 CSV)
  • CSV 檔案的 grep, sort, join 等
  • CSV 欄位的簡單統計

Posted on  May 14, 2016  in  Python 模組/套件推薦  by  Amo Chen  ‐ 3 min read

DNS prefetching - 加速網頁載入速度的祕技

對網路程式比較熟悉的人都會知道,當我們在 Browser 輸入網址(或在頁面點一個連結)後,同時也可能發出 DNS 的域名解析請求,將網址的域名轉成 IP 位址後,再向遠端伺服器發出要資料的請求。對於追求高效能網頁系統的人來說,十分可能會想把這段時間也一併省去,以提升整體網頁速度。現在 Browser 也有一種機制能預先將域名先解析好,節省域名解析時間。

一般稱為:

  • DNS prefetching
  • Pre-Resolve DNS

Last updated on  Sep 9, 2024  in  資訊技術探索  by  Amo Chen  ‐ 1 min read

Python 測試資料產生模組 - Faker

Faker 是一個有趣的 Python 模組,蠻適合用來產生測試資料集的,包含常見的姓名、地址以及隨機文章段落都能夠產生,甚至還支援各種不同語系。若能夠掌握的話,對於測試資料集的產生可以說是相當方便。

Posted on  May 2, 2016  in  Python 模組/套件推薦  by  Amo Chen  ‐ 1 min read

tcpdump 實用指令

遠端作業時不見得每次都能夠有 GUI 環境能夠使用,如果要針對監聽網路封包就得使用 tcpdump ,本篇將記錄一些實用的 tcpdump 指令。

Posted on  Apr 17, 2016  in  Unix-like 命令列教學  by  Amo Chen  ‐ 1 min read