Snippet TypeScript
20 snippet
-
2026-07-01 · Menengah · Auth
CSRF double-submit cookie pattern
Proteksi CSRF tanpa server state — token di cookie + header, server verify match. Cocok untuk JWT-based session di SPA.
-
2026-06-27 · Menengah · Performance
Pino structured log + OpenTelemetry correlation
Log Pino dengan trace_id dari OpenTelemetry. Correlate log + trace di Grafana / Loki / Tempo. Wajib untuk distributed system.
-
2026-06-26 · Menengah · Utility
Fastify plugin pattern dengan TypeScript generics
Bikin Fastify plugin yang fully type-safe — decorator, hooks, request properties terdeteksi TS dari plugin lain. Pattern decorate + augment.
-
2026-06-16 · Menengah · Database
Drizzle ORM pagination dengan cursor
Cursor-based pagination dengan Drizzle ORM — konsisten saat data berubah, scalable, dan tidak lambat seperti OFFSET di tabel besar.
-
2026-06-15 · Pemula · AI
Cloudflare Workers AI text inference
Run Llama / Mistral di Cloudflare Workers AI dari edge. Murah, latency rendah, pay-per-request. Cocok buat fitur AI ringan.
-
2026-06-14 · Menengah · Performance
Edge runtime fetch dengan cache header
Tune cache header di edge runtime (Vercel, Cloudflare Workers) — s-maxage, stale-while-revalidate, dan tag-based purge. Latency 30ms global.
-
2026-06-13 · Pemula · Utility
Tailwind v4 arbitrary + container query
Arbitrary value Tailwind v4 + container query (@container) untuk responsive component yang depend size parent, bukan viewport.
-
2026-06-12 · Menengah · Utility
shadcn Form pattern dengan zod resolver
shadcn/ui Form + react-hook-form + zod resolver. Boilerplate sekali tulis, dipakai 50 form. Accessible, type-safe, dan UI konsisten.
-
2026-06-11 · Lanjut · Performance
RSC streaming dengan Suspense boundary
Pakai React Server Component + Suspense boundary supaya bagian page yang cepet langsung tampil, sisanya stream belakangan. TTFB drop drastis.
-
2026-06-10 · Menengah · Performance
React Query optimistic update pattern
Optimistic update di React Query — UI langsung berubah saat mutate, rollback otomatis kalau request fail. Feel instant kayak native app.
-
2026-06-09 · Pemula · Validasi
Zod + Next server action form validation
Validasi form di server action Next.js dengan zod. Type-safe, error message ramah, dan tidak butuh useState ratusan baris.
-
2026-06-08 · Lanjut · Auth
Passkey WebAuthn register & login
Passkey (WebAuthn) end-to-end: registration challenge, attestation verification, login dengan Face ID / Touch ID. Tanpa password sama sekali.
-
2026-06-07 · Menengah · Auth
JWT refresh token rotate secure pattern
Refresh token rotation: setiap refresh kasih token baru, invalidate yang lama. Mitigasi token theft di SPA dan mobile app.
-
2026-06-06 · Pemula · Auth
Supabase magic link auth flow lengkap
Login passwordless dengan Supabase magic link — kirim email, verify token, set session. Cocok buat MVP yang gak mau ribet password reset.
-
2026-06-03 · Lanjut · AI
Tool use pattern dengan Claude SDK
Bikin Claude bisa panggil function kamu — search produk Tokopedia, cek saldo BCA, query database. Pattern tool-call loop yang clean.
-
2026-06-02 · Menengah · AI
Pakai prompt cache di Anthropic SDK
Prompt caching Anthropic bisa potong biaya 90% dan latency 80% kalau context-nya stabil. Wajib dipakai buat chatbot dengan system prompt panjang.
-
2026-06-01 · Pemula · AI
Streaming chat dari Claude API
Streaming response Claude API biar UX-nya kayak ChatGPT — token muncul satu per satu, bukan nunggu full response selesai.
-
2026-05-30 · Menengah · Utility
Discriminated union untuk API response (TypeScript)
Pattern Result<Success, Error> dengan discriminated union. Compile-time exhaustiveness check. Lebih aman daripada try/catch atau {data, error} pattern.
-
2026-05-28 · Lanjut · Validasi
Branded types untuk ID safety di TypeScript
Hindari bug 'kirim userId ke function yang expect orderId'. Pakai branded types — TypeScript akan complain kalau Anda salah pass.
-
2026-05-23 · Lanjut · Utility
Typed env var loader pakai Zod
Validasi semua environment variables saat startup. Error jelas kalau ada yang missing. Bonus: types di-infer otomatis.