Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
React'te Form'lar: Controlled Input, Form Action'ları, useActionState, useFormStatus ve react-hook-form + zod
Küçük formlar için React 19'un form action'ları (useActionState, useFormStatus, useOptimistic) yeterli; kalemli ve iç içe formlarda react-hook-form ile zod şeması daha az kod ve daha az render demek. Bookstore'un sipariş formunda controlled sürümün her tuşta render ettiğini, action'ın doğrulama hatasından sonra formu sıfırladığını, useOptimistic'in hata olunca kendiliğinden geri döndüğünü ve Problem Details hatalarının alanlara eşlenip odağın taşındığını gösteriyoruz.
Express ile Bookstore REST API: Router'lar, zod ile Validation, Async Error Handling ve Problem Details
Express ile sağlam bir REST API, katmanları ayırır, her request'i zod şemasıyla doğrulayıp tipi şemadan türetir, hataları tek bir middleware'de RFC 9457 Problem Details'a çevirir ve parayı float değil kuruş cinsinden tam sayı tutar. Gerçek çıktılarla 1339.1999999999998 TL'lik sipariş, 20 milyon satırda 5 kuruş sapan float toplamı, altı hatayı tek cevapta dönen validation, ASP.NET Core ile aynı Problem Details sözleşmesi, sayfalama ve z.toJSONSchema.