[SQL] 產生唯一的交易編號 – Generating unique transaction IDs

Intro 在交易的應用場景下,可能需求為透過資料庫符合 ACID 快速產生唯一的交易編號作為 Primary key 或是 Unique key。 MySQL 實作 假設定義一組16碼的交易編號,格式為YYYYMMDD(8) + 流水號(8)。 這前提下代表一天內不建立超過8位數的 record,就可以利用 MySQL auto_increment 搭配 last_insert_id() 來實現: START TRANSACTION; INSERT INTO transactions (transaction_date, amount) VALUES (NOW(), 100); SET @last_id = LAST_INSERT_ID(); SET @fixed_length = 8; SET […]

[GEO] ESRI Shapefile (.shp .shx .dbf .prj) 空間資料開放格式

Intro Shapefile – Wikipedia ESRI Shapefile(shp)是美國環境系統研究所公司(ESRI)開發的空間資料開放格式。目前該檔案格式已經成為了地理訊息軟體界的開放標準,是重要的交換格式,能夠在ESRI與其他公司的產品之間進行資料互操作。 Tools mapshaper 可以將 Shapefile 轉成 GEO JSON,以便倒入如 Elastic Search 或 MongoDB 等 Index Storage。 mbloch/mapshaper: Tools for editing Shapefile, GeoJSON, TopoJSON and CSV files – GitHub mapshaper online

[SMTP] DMARC 基於網域的消息認證,報告和一致性 (Domain-based Message Authentication, Reporting and Conformance)

Intro 基於域的消息認證,報告和一致性 – Wikipedia 基於域的消息認證,報告和一致性(DMARC,Domain-based Message Authentication, Reporting and Conformance)是一套以SPF及DKIM為基礎的電子郵件認證機制,可以檢測及防止偽冒身份、對付網路釣魚或垃圾電郵。 網域管理員可以在域名系統公佈相關政策,讓外界得知旗下域名的電子郵件提供何種方式(SPF及/或DKIM)認證身份,以及如果寄件者身份未能百分之百確認時,收件者可以如何處理郵件(放進垃圾信箱或直接回絕)及回報。回報機制可以讓網域管理員了解是否有第三者正在偽冒其網域身份寄出電郵。 [SMTP] DNS 設定 SPF 記錄(TXT) 設定範例指南 [SMTP] DKIM 域名金鑰辨識郵件 (DomainKeys Identified Mail) DNS Record DMARC DNS Record – Wikipedia 範例 未通過 DMARC 檢查時採取的處理方式 TXT 記錄內容 對於未通過 DMARC 檢查的郵件,不採取任何處置,僅透過電子郵件將每日報告傳送至 dmarc@domain.com。 […]

[SMTP] DKIM 域名金鑰辨識郵件 (DomainKeys Identified Mail)

Intro DomainKeys Identified Mail – Wikipedia DKIM 搭配寄件者原則架構 (SPF) 和基於網域的郵件驗證、報告和一致性 (DMARC),讓攻擊者更難以透過這種方式冒充網域。未通過 DKIM 和 SPF 的電子郵件被標記為「垃圾郵件」或不會被電子郵件伺服器傳送。 原理 DKIM 主要有兩個層面: DKIM 記錄(儲存在網域的 Domain Name System (DNS) 記錄中) DKIM 標頭(附加至來自網域的所有電子郵件)。 DKIM 使用以公用金鑰加密法為基礎的數位簽章配置來驗證電子郵件的來源。寄件者簽署訊息使用私密金鑰,收件者用公用金鑰驗證簽章。 電子郵件提供者產生公用金鑰和私密金鑰。將公用金鑰提供給網域擁有者以儲存在 DNS 記錄(DKIM 記錄)中。寄件時使用私密金鑰簽署數位簽章於標頭。收件的電子郵件伺服器可以檢查 DKIM DNS 記錄、取得公用金鑰,以及使用公用金鑰驗證數位簽章。 DNS Record DKIM Verification […]

[PHP] PHP Web 開發環境與語言架構指南

Intro PHP – Wikipedia Installation – 安裝 PHP – Installation and Configuration Ubuntu APT可以參考Debian系列官網說明: PHP – Debian GNU/Linux installation notes LNMP/LEMP (Linux+Nginx+MySQL+PHP) Stack安裝可以參考: [Linux] Web Service環境安裝建置 by LNMP – Ubuntu 16.04 CLI 預設版本切換 $ sudo update-alternatives –set php /usr/bin/phpX.X Quick […]

[Andriod] APK 編譯/反編譯工具指南

Intro APK (Android application package) – Wikipedia 工具 – Tools ADB (Android Debug Bridge)用於調試Android設備的命令行工具,使用戶可以借ADB工具與Android設備進行通信(支援Emulator)。 Android Debug Bridge (adb) | Android Developers Download – SDK Platform Tools release notes | Android Developers adb commands cheatsheet adb logcat –buffer=crash How to get […]

[Web] Mobile app 模擬器 WebView 除錯/開發者工具

Intro 本篇介紹在 Mobile 裝置模擬器上針對 WebView 除錯/開發的方式 Andriod 利用電腦OS上的Chrome DevTools去抓取連接裝置上正在運行的app Webview,限制是只會列出有開Webview debug(setWebContentsDebuggingEnabled)的app。 Run apps on the Android Emulator – Android Developers Using Google Chrome Dev tools on Android (emulator) – Stackoverflow 安裝 Andriod Studio (以此為例) 在 Project 中建立一個 Android Virtual Device […]