Blog
Catatan teknis seputar web development, DevOps, dan integrasi AI.
502 artikel
- 01.07ai
Menelusuri Kebenaran AI yang Disembunyikan, Klaim per Klaim
Wawancara Karen Hao ditonton 5,4 juta kali. Saya telusuri klaim utamanya ke 24 sumber: sebagian kuat, satu justru runtuh, tiga belum bisa dibuktikan.
TL;DR: Gue ngecek wawancara Karen Hao yang viral itu biar nggak asal percaya. Ternyata klaim lobbying 41 juta dolar dan dampak kesehatan data center itu valid dan ada datanya. Tapi angka entry-level turun 40 persen karena AI itu nggak ketemu sumber primernya jadi masih debatable.
#fact-check#regulasi#data-center - 23.48frontend
Mengunci Intent Desain dengan Test, Bukan Dokumentasi
Mengunci intent desain bukan dengan dokumentasi tebal, tapi dengan unit test yang memaksa class Tailwind tetap sesuai aturan token.
TL;DR: Abis restyle komponen, desainnya rapi bentar terus balik berantakan lagi gara-gara ketimpa kode dari branch lain. Bikin dokumen setebel apapun ternyata nggak ngaruh, akhirnya gue kunci pola class-nya pake unit test 129 baris yang ngecek string HTML. Jadi kalau ada yang nggak sengaja balikin style lama kayak bg-white atau rounded-xl, test-nya langsung meledak dan ketahuan di CI.
#testing#vitest#tailwind - 22.46testing
Titik Buta Glob Git di Build Gate Token
Pola bintang dua di git ternyata melewatkan file komponen yang langsung di src; empat perintah repo tempaan membongkar titik buta build gate token.
TL;DR: Gue bikin gate buat ngeblok hex kayak #fff123 di Next.js, kirain pola rekursif udah nangkep semua file. Pas dites pakai repo tempaan, file yang langsung di src/ ternyata lolos dari git ls-files. Akhirnya di-fix pakai gabungan pola biar file direct sama nested ketangkep semua, plus nambah dua test regresi.
#git#glob#build-gate - 22.29testing
Hari Pertama Pasang Vitest, Langsung Ketahuan Dua Bug
Harness test pertama di frontend Next.js: 12/12 ijo tapi dua bug ketahuan pas nulisnya, satu nama klien dobel dan satu blind spot glob di build gate.
TL;DR: Awalnya repo Next.js jalan tanpa tes, pas pasang vitest dan nulis dua belas tes semua ijo. Tapi pas nulisnya malah ketahuan dua bug, ada nama klien dobel di beda grup industri dan gate validate-tokens yang kelewat file langsung di dalam src. Jadi intinya pasang tes jangan telat, justru pas nulis itulah bug kelihatan.
#vitest#testing#git - 19.54testing
Test yang Membaca Source Code-nya Sendiri
Vitest nggak bisa merender komponen di Vite 8? Jadikan file source sebagai data test: kunci invarian flag rating dengan toContain.
TL;DR: Test kartu di KotaPortal error karena Vite 8 udah pake rolldown jadi komponen React nggak bisa dirender di vitest. Akhirnya bikin tripwire yang baca file source sebagai teks buat mastiin rating_enabled !== false tetap ada di enam permukaan kartu. Cara ini jaga badge rating nggak bocor, sambil nunggu plugin React beneran kepasang buat test render.
#vitest#testing#react - 18.49backend
Error 500 di Halaman Admin dan Count Query yang Kehilangan Join
Satu filter di WHERE bareng bikin halaman admin 500 padahal query list aman. Ternyata count query lupa bawa join yang sama.
TL;DR: Buka halaman moderasi di KotaPortal malah jadi error 500 padahal login sebagai superadmin. Ternyata query COUNT buat pagination nggak join tabel categories jadi filter c module bikin MySQL protes kolom nggak dikenal. Akhirnya beres setelah nambahin LEFT JOIN categories biar dua query punya join yang sama.
#mysql#go#sql - 17.58frontend
Ketika Rating Dimatikan, Menyembunyikan Badge Saja Tidak Cukup
Mematikan fitur rating lewat flag ternyata tidak cukup kalau badge kartu dan markup aggregateRating masih tayang. Catatan saya merapikan semua permukaannya.
TL;DR: Gue matiin fitur rating di detail tempat wisata tapi kaget kartu di beranda masih nongolin bintang bahkan JSON-LD-nya masih kebawa. Ternyata fetch detail udah dimatiin tapi kartu sama generator schema masih baca data rating lama. Akhirnya semua dibikin ngecek flag isRatingEnabled dulu biar visual sama markup mati bareng.
#react#seo#feature-flags - 17.09frontend
Matikan Fetch, Bukan Sekadar Sembunyikan UI
Section review disembunyikan tapi fetch-nya tetap jalan dan menabrak 404 di tiap page view. Flag yang benar mematikan jaringan dulu, baru piksel.
TL;DR: Gue kira cukup sembunyiin UI rating pas dimatiin eh ternyata server tetep nge-fetch dan hasilnya 404 terus jadi ngebombardir log. Ternyata rating_enabled itu soal kesepakatan data bukan cuma saklar tampilan jadi kalau false ya nggak usah fetch sama sekali. Akhirnya gue benerin pake cek rating_enabled !== false sebelum fetch dan unmount komponennya biar bersih total.
#react#nextjs#feature-flag - 17.02backend
Checkbox yang Diam-diam Mematikan Fitur di Backend Go
Checkbox yang nggak dicentang nggak ngirim apa-apa, dan backend Go membaca keheningan itu sebagai false. Pelajaran dari bug form admin CMS.
TL;DR: Gue kira checkbox yang nggak dicentang bakal dibiarin aja sama backend, eh ternyata Go nganggap field bool yang absen itu false. Alhasil fitur rating sama rental langsung mati pas di-save padahal nggak diapa-apain. Akhirnya gue ubah frontend biar selalu kirim true/false eksplisit dan pakai aturan null buat hapus, absen buat biarin aja.
#go#json#react