Langkau ke kandungan
faizal.biz

Pautan harian: CFML, ColdFusion, Lucee, E-mel, CSS3 & MySQL — 11 Nov 2026

Mohd Faizal3 minit bacaanBeginner

Kongsi ke WhatsApp

Tujuh pautan untuk 4–11 November 2026. Minggu ini Adobe tunjuk passkey asli dalam ColdFusion 2025 (tak perlu tulis WebAuthn sendiri), Gregory senaraikan tujuh benda yang gigit dia masa masukkan app Lucee dalam Docker, dan ada siri baru pasal diagnosis MySQL 8.4 yang turun sampai ke peringkat latch buffer pool dan purge lag.

CFML

  • Galaxie Blog 5.0 Roadmap — Where Galaxie Blog Goes From Here — Galaxie dah jadi salah satu projek open source ColdFusion paling besar, dan komponen utamanya hampir 17,000 baris, banyak masih dalam bentuk tag. Rancangan enam bulan: pecahkan ia jadi servis script kecil, dan tambah BoxLang sebagai enjin ketiga sebelah Adobe ColdFusion dan Lucee — installer dah siap jalan atas BoxLang, tinggal isu modul ORM yang Ortus sedang bantu. Lepas itu baru lapisan luar: page builder atas enjin scenes, tema baru atas satu set nilai reka bentuk, backup terbina dalam yang boleh pindah blog antara SQL Server dan MariaDB, dan pemeriksaan scheduled task yang senyap (update ColdFusion Oktober 2026 hentikan banyak task tanpa ralat).

ColdFusion

  • Native Passkeys in Adobe ColdFusion 2025 Part 1: Registering Your First Passkey — ColdFusion 2025 kini ada fungsi passkey asli: passkeyRegister(), passkeyAuthenticate() dan passkeyGetResult(). Maksudnya kau tak perlu implement protokol Web Authentication sendiri. Aliran dia ringkas — peranti jana pasangan kunci, app simpan kunci awam sahaja, dan masa log masuk app hantar cabaran yang peranti tandatangan selepas pengguna buka kunci tempatan. Tiada password untuk di-hash, bocor atau reset. Bahagian 1 tunjuk cara daftar passkey pertama dan sambung ke user sedia ada, plus beberapa silap keselamatan yang senang terlepas.

Lucee

  • Running a Lucee App in Docker: Seven Things That Bit Me — Container pertama memang naik elok, kata dia; masalah datang kemudian. Tujuh yang dia kena: datasource kena datang dari environment variable melalui .CFConfig.json dengan {env:NAMA} (kalau tak, ia hilang setiap kali image dibina semula), extension kena dipasang masa Lucee start, scheduled task yang langsung tak jalan, Lucee dapat 512 MB heap kalau tak set sendiri, CRLF Windows patahkan skrip start, jangan salin projek masuk container masa update, dan extension dimuat turun semula setiap kali container dicipta. Semua bukan khusus Galaxie — kena pada mana-mana app Lucee dalam container.

E-mel

  • Stalwart v1.0.3 — Server mel Rust ini tambah penyulitan blob masa rehat (AES-256-GCM atau ChaCha20-Poly1305), mampatan zstd, dan task BlobRecode untuk tulis semula blob sedia ada dengan pilihan mampatan dan penyulitan baru. Ada tiga OAuth scope baru supaya app pihak ketiga boleh urus app password, API key dan tetapan akaun — app lama yang login melalui Stalwart atau penyedia OIDC luar kena minta scope itu, WebUI tak terjejas. Dua benda untuk yang naik taraf: restart sekali dengan STALWART_UPDATE_ROLE_PERMISSIONS=true sebab role lalai hanya dicipta pada pemasangan baru, dan edit role lalai kini batalkan access token cache.

CSS3

  • Taming Typography: Building a Modern CSS Reset — Stu Robson himpun tidy-typography.css, satu reset tipografi yang guna ciri CSS baru. Antaranya text-wrap: pretty untuk elak satu perkataan tergantung di hujung perenggan, unit cqi dalam clamp() supaya saiz tajuk ikut lebar kolum dan bukan viewport, dan text-box-trim: trim-both dengan text-box-edge: cap alphabetic untuk buang half-leading yang buat text susah nak align rapat. Ada juga font-synthesis: none supaya browser tak reka bold/italic palsu, font-size-adjust: from-font untuk kurangkan lonjakan saiz masa webfont tukar, hyphenation, hanging punctuation dan optical sizing. Semua deklarasi eksperimen dijinakkan — yang tak disokong browser cuma diabaikan, jadi boleh ambil sebahagian sahaja.

MySQL

  • Diagnosing MySQL at Scale (Part 2): Storage Subsystems, Buffer Pool Latches, and Memory Spills — Tesis dia: masalah storage dalam MySQL jarang selesai dengan tambah IOPS, sebab latensi selalu datang dari dalam enjin. Enam punca yang dia bedah untuk MySQL 8.4 LTS — redo-log checkpoint tertinggal dari kelajuan tulis sampai transaksi terpaksa flush sendiri, doublewrite yang naikkan write amplification, fsync binlog yang siri-kan commit, latch buffer pool yang siri-kan worker masa page churn, temp table dan filesort yang melimpah ke disk, dan undo tablespace membesar sebab purge tertinggal. Satu teguran berguna: purge_worker_cond tinggi bukan bukti bottleneck — tengok History List Length yang naik berterusan dan transaksi panjang yang pegang read view lama.
  • How to reduce lock contention in high-traffic MySQL databases — Lock contention pada DB sibuk biasanya bukan satu setting salah, tapi senarai pendek transaksi yang pegang row dan gap lock lebih lama dari yang workload mampu telan. Tiga perkara yang dia tekankan: tukar REPEATABLE READ ke READ COMMITTED buang hampir semua gap-lock blocking pada scan index bukan unik, punca utama lock wait timeout selalunya kod app yang pegang transaksi terbuka (kerja bukan DB dibuat dalam transaksi), dan pecahkan update pukal jadi 500–1000 baris sekali tanpa usik skema.

← Semua tulisanAda soalan? Hubungi saya