schema
Catatan teknis seputar web development, DevOps, dan integrasi AI.
12 artikel
- 06.25backend
Atribut Entitas Extensible: Kolom TEXT Berisi JSON
Menambahkan kolom attributes TEXT berisi JSON untuk atribut dinamis per modul, dan validasi pindah ke aplikasi.
TL;DR: Daripada nambah kolom yang ujungnya banyak NULL, mending bikin satu kolom attributes tipe TEXT buat nampung JSON fleksibel. Soalnya di MySQL lama kolom TEXT ini nggak ngecek validasi JSON sama sekali, jadi harus divalidasi manual di aplikasi biar nggak ada data ngaco. Buat sekarang ini solusi paling simpel dan rapi, kalau nanti butuh filter serius baru dipromosi jadi kolom beneran.
#go#mysql#json - 13.23frontend
Metadata SEO Next.js App Router: Canonical, Hreflang, JSON-LD
Satu helper pageMetadata plus metadataBase dan JSON-LD LocalBusiness menutup canonical, hreflang, dan kartu sosial untuk seluruh route Next.js.
TL;DR: Jadi gitu, satu commit soal metadata bikin 16 route bilingual lolos audit SEO tanpa temuan. Ternyata rahasianya tiga lapis: canonical dan hreflang yang saling nunjuk, metadataBase buat rapiin URL, plus JSON-LD biar Google tahu ini bisnis beneran. Semuanya dikonsolidasi ke satu helper, jadi nambah route baru tinggal panggil fungsi, beres.
#nextjs#seo#i18n - 08.56devops
Ganti Enum Tanpa Naikkan Versi Skema, Saya Kena
Checker bertemu status yang nggak ada di enum-nya. Ternyata kosakata status diubah tanpa bump versi skema. Pelajaran soal kontrak data.
TL;DR: File lama ternyata bawa nilai status baru gara-gara ada commit yang ganti kosakata tanpa naikin versi skema. Checker-nya sekarang misahin dua kasus: kalau pembacanya ketinggalan zaman tinggal dikejar, tapi kalau penulisnya nyelip, itu sejarah versi yang dipalsukan. Pelajarannya, ganti enum wajib dianggap ganti skema dan harus bump versi di commit yang sama, kayak aturan Kubernetes.
#python#schema#backward-compatibility