Pautan harian: CFML, Lucee, E-mel, CSS3 & MySQL — 2 Nov 2026
Isnin pagi — enam pautan dari hujung minggu: satu polyfill CFML, dua resipi dokumentasi Lucee yang keluar 29 Okt, satu pelayan mel yang baru masuk versi 1.0, nota CSS dari Chrome 158, dan satu panduan bersihkan indeks MySQL yang tak dipakai lagi. Semua URL dah disemak hidup sebelum pos ni terbit.
CFML
- Code Kata: ArrayMerge() Polyfill In Adobe ColdFusion — arrayMerge() ada dalam Lucee tapi tak ada dalam Adobe ColdFusion 2025, jadi Ben kena ralat runtime masa cuba guna. Dia tulis polyfill dalam beberapa versi — variadic dengan reduce, for-loop, append, dan akhirnya satu baris guna spread [...a, ...b]. Dendanya: polyfill ni fungsi biasa, jadi tak boleh dipanggil sebagai member method macam arr.merge().
Lucee
- Deploying without CFML Source Code — Lucee tak ada cfencode, tapi ada dua jalan: compileToBytecode() (Lucee 8) yang tukar .cfm/.cfc/.cfs jadi bytecode di tempat asal, atau arkib .lar yang simpan kelas compile sahaja. Fungsi tu pulangkan struct compiled/skipped/errors, ada keepSource untuk kekalkan sumber, dan privateKey RSA untuk sulitkan bytecode. Amaran penting — sumber asal ditimpa, jadi compile salinan dalam build, jangan pada satu-satunya salinan.
- NanoID Generation in Lucee 7 — Lucee tak bawa fungsi NanoID, tapi integrasi Maven dalam javasettings cukup untuk tarik jnanoid 2.0.0 dan panggil NanoIdUtils::randomNanoId(). ID lalai 21 aksara guna A-Za-z0-9_- (createUUID() pulangkan 35 aksara), dan panjang serta abjad boleh ditetapkan sendiri — contoh 8 aksara hex, atau abjad tanpa 0/O dan 1/I.
E-mel
- Stalwart Mail Server v1.0.1 — 1.0 keluar 26 Okt, dan 1.0.1 dua hari kemudian. Antaranya carian penuh teks sampai ke lampiran PDF/Office/ODT/EPUB, DKIM2 dengan tandatangan pasca-kuantum (ML-DSA-44 + Ed25519), metadata JMAP dan skop OAuth per klien. Amaran besar — susun atur DB baharu, jadi 0.16.x tak boleh naik taraf di tempat, kena guna alat migrasi. 1.0.1 betulkan antara lain config.json yang ditulis 0644 (kredensial stor data boleh dibaca pengguna lokal) dan lubang kebenaran impersonate yang benarkan admin tenant capai akaun tenant lain.
CSS3
- Chrome 158 Release Notes — Chrome 158 masuk beta 28 Okt, stable dijadual 17 Nov. Bahagian CSS dapat pemilih universal ::highlight(*) untuk semua custom highlight dengan spesifisiti sifar, alias flow-start/flow-end untuk flex-start/end, scroll snap yang betul untuk bekas satu paksi, object-fit dan object-position pada dokumen SVG dalam <object>/<embed>, dan pseudo-kelas media :playing, :paused, :seeking, :buffering, :stalled, :muted serta :volume-locked.
MySQL
- Multi-Node Unused Index Verification — Indeks lama yang tak dipakai lagi tak salah dari segi data, tapi menyusut prestasi tulis. Artikel Percona ni semak per nod dulu — primary dan setiap replika — kemudian ambil irisan: hanya indeks yang tak dipakai pada SEMUA nod dikira calon selamat. Uptime nod penting; replika yang baru 14 hari hidup akan nampak 'unused' semata-mata sebab belum cukup trafik. DDL yang dijana guna INVISIBLE dulu sebelum drop.
Sumber rujukan
- bennadel.com/blog/4921-code-kata-arraymerge-polyfill-in-adobe-coldfusion.htm
- docs.lucee.org/recipes/sourceless-deployment.html
- docs.lucee.org/recipes/nanoid-generation.html
- github.com/stalwartlabs/stalwart/releases/tag/v1.0.1
- chromestatus.com/release-notes/158
- percona.com/blog/multi-node-unused-index-verification/