[MySQL] Character Sets & Collations (字符集與排序規則) – utf8 or utf8mb4

Intro Character Set: 字符集合,定義資料如何儲存與表示。 MySQL 支援多種字符集,例如: latin1, utf8mb4 Collation: 基於字符集,定義了字符集中的字符如何進行排序和比較。 MySQL 的 Collation 一般以以下格式命名,舉 utf8mb4_general_ci 為例: utf8mb4: 字符集名稱 general: 簡化的排序規則 (unicode為精準 Unicode 排序規則) ci(case insensitive): 大小寫不敏感 MySQL 字符集上在 8.4 版本後已經清楚且標準很多 MySQL 8.4 Reference Manual :: 12.2 Character Sets and Collations […]

[Windows] 電腦硬體問題排查指南 – 系統狀態監測軟體

Intro 目前 PC 比較方便自行檢測替換組件,本篇提供目前 Windows OS 主流軟體工具以利排查硬體問題 Softwares / Apps Hardware Information CPU-Z – CPUID CPU-Z 為一個可查詢 CPU、記憶體、主機板及顯示卡資訊的 Windows 平台免費軟體。 Hardware Status HWMonitor – CPUID 電腦溫度即時監控工具,能夠即時監控顯示卡處理器(ACPI)、CPU、硬碟溫度與電池效能。 CrystalDiskInfo 硬碟資訊檢測工具 (提供健康度與項目),支援SSD固態硬碟檢測 Download ZIP

[HTTP] API Timeout 指南 (connect / read timeout)

Intro 關於 API Timeout 的網路資料略顯不足,Wikipedia 目前也只有廣義 Timeout (computing) 資訊。 本篇將分享個人對 Timeout 的所知,如有錯誤歡迎告知修正 Timeout 定義 Client Connect Timeout Read Timeout TCP Client TCP handshake 中從發出 SYN 後,至等待收到 SYN-ACK 的時間 送出 PSH-ACK packet,至等待收到對應 PSH-ACK packet 的時間 HTTP Client TCP handshake 中從發出 SYN […]

[Web] Browser Developer Tools 技巧

Intro Web development tools / devtools – Wikipedia 本篇將以 Chrome 瀏覽器為主,介紹 Developer Tools 的實作技巧 Window.open() 新視窗監測 現行要監測某個 button click 會開啟轉導去哪,在前端框架下從 JS code 很難找出目的,若又是 window.open 效果則無法持續透過 developer tool 監測 Network 歷程 比較簡單暴力的做法是在該 web page 的 console 覆寫 window.open() 看要 console.log() 出來還是改成 […]

[SMTP] 簡易郵件傳輸通訊協定 SMTP (Simple Mail Transfer Protocol) 指南

Intro 簡易郵件傳輸通訊協定 SMTP 是什麼? | Cloudflare 簡單郵件傳送協定(Simple Mail Transfer Protocol / SMTP)可用在傳送和接收電子郵件的資訊,但 SMTP 通常用作傳送電子郵件而不是接收。 SMTP 是一個相對簡單的基於文字的協定,可以透過協定指定將訊息傳送至一或多個接收者,通過 telnet 程式可以簡單的測試一個 SMTP伺服器。SMTP 主要 TCP port 以前為 25 現今為 587 (TLS) 。DNS 的 MX record 決定 SMTP 伺服器。 角色 Agent Software for example MUA […]

[Linux] SSH Login Hook 自動發信通知

Intro 可以利用/etc/pam.d/下檔案的 hook 效果去觸發執行外部 Shell script file,而 Shell 中去抓取登入者資訊並寄送 email,以達到 SSH Login 自動發信通知 作法 先撰寫建立好 Shell script file 作為發送信件程式: $ vim /etc/ssh/login-notify.sh #!/bin/sh # Change these two lines: sender="sender-address@example.com" recepient="notify-address@example.org" if [ "$PAM_TYPE" != "close_session" ]; then host="`hostname`" subject="SSH Login: […]

[WSL] Windows Subsystem for Linux (WSL2) 環境指南

Intro 適用於Linux的Windows子系統 – Wikipedia Windows Subsystem for Linux (WSL2) 環境設定 – HackMD Windows Subsystem for Linux 為相容層系統,共用 host 檔案管理及網路,目前已相當成熟,適合取代 Cygwin。 WSL 架構 Reference: Ravindu Senal Fernando – Medium 程式軟體搭配 Ubuntu terminal environment – Microsoft Store 可以自行選擇 WSL 發行版,這裡使用 Ubuntu 為例 […]