Şema Doğrulamalı Yapılandırma
Başlangıçta yapılandırmayı bir şemayla doğrulayın.
Şema Doğrulamalı Yapılandırma, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 4 dersten oluşur.
Yapılandırmayı Başlangıçta Doğrulama
Elle yazılmış ayrıştırma yardımcıları işe yarar; ancak bir şema, tüm yapıyı ve kuralları tek bir yerde tanımlar ve bunların tamamını başlangıçta doğrulayarak uygulama trafiğe hizmet vermeden önce erken hata verir.
Erken Hata Verme Ne Anlama Gelir
Erken hata vermek, yapılandırma hatalı olduğunda sürecin belirsiz bir istek işleme yolunda daha sonra çökmesi yerine, açık bir iletiyle hemen sonlandırılması anlamına gelir.
Zod ile Şema
zod gibi kütüphaneler yapılandırmayı bildirimsel olarak açıklamanızı sağlar. Her alan türünü ve kısıtlamalarını belirtir; doğrulama, türü tamamen belirlenmiş bir nesne üretir.
import { z } from "zod";
const EnvSchema = z.object({
PORT: z.coerce.number().int().positive(),
NODE_ENV: z.enum(["development", "production"]),
DATABASE_URL: z.string().url(),
});Yerleşik Tür Dönüştürme
Şemalar dizeleri doğru türlere dönüştürebilir. z.coerce.number(), "8081" değerini 8081 değerine dönüştürür; böylece ham ortam dizeleri güvenli biçimde gerçek sayılara dönüşür.
// "8081" -> 8081 via z.coerce.number()Ayrıştırma ve Erken Hata Verme
parse çağrısı her şeyi doğrular. Herhangi bir değer geçersizse zod, kaydedip exit ile sonlandırabileceğiniz ayrıntılı bir hata fırlatır ve başlangıcı hemen durdurur.
function loadConfig() {
const result = EnvSchema.safeParse(process.env);
if (!result.success) {
console.error(result.error.format());
process.exit(1);
}
return result.data;
}Türü Çıkarma
Büyük bir yararı şudur: doğrulanmış tür, şemadan z.infer ile türetilir. Şema, hem çalışma zamanındaki denetimler hem de derleme zamanındaki türler için tek bir doğruluk kaynağıdır.
type Env = z.infer<typeof EnvSchema>;
// { PORT: number; NODE_ENV: "development" | "production"; DATABASE_URL: string }Açıklayıcı Hatalar
Şema doğrulayıcıları tam olarak hangi alanın neden başarısız olduğunu bildirir; örneğin, "PORT: pozitif sayı bekleniyor". Açık iletiler, yanlış yapılandırmayı teşhis etmeyi son derece kolaylaştırır.
// e.g. { PORT: { _errors: ["Expected number, received nan"] } }İsteğe Bağlı ve Varsayılan Alanlar
Şemalar isteğe bağlı olma durumunu ve varsayılan değerleri doğrudan ifade eder; böylece elle yazılmış geri dönüş mantığı ortadan kalkar ve tüm kurallar tek bir tanımda tutulur.
const Schema = z.object({
LOG_LEVEL: z.enum(["info", "debug"]).default("info"),
TIMEOUT_MS: z.coerce.number().optional(),
});Bir Kez Doğrula, Her Yerde Kullan
Doğrulamayı başlangıçta bir kez çalıştırın ve sonuçta oluşan tür bilgili nesneyi dışa aktarın. Alt düzey kod, yapılandırmanın mevcut ve düzgün biçimlendirilmiş olduğuna güvenebilir.
export const config = loadConfig();Ortam Değişkenlerinin Ötesi: Dosyalar ve Bağımsız Değişkenler
Aynı şema, yalnızca process.env'i değil, bir JSON dosyasından veya birleştirilmiş kaynaklardan gelen yapılandırmayı da doğrulayabilir. Doğrulama adımı, değerlerin nereden geldiğinden bağımsızdır.
Şemalar Neden Özel Denetimlerden Daha İyi
Bir şema, doğrulama ve türlendirmeyi birleştirir, tutarlı ve ayrıntılı hatalar üretir, dönüştürme ile varsayılan değerleri destekler ve erken hata verir. Böylece dağınık elle yazılmış if denetimlerinin yerini tek bir tanım alır.
Hızlı Kontrol
Bu dersle ilgili hızlı bir kontrol.
Özet
Bir yapılandırma şeması (örneğin zod), türleri, kısıtlamaları, dönüştürmeyi ve varsayılan değerleri tek bir yerde tanımlar; açıklayıcı hatalarla erken hata vermek için başlangıçta doğrulama yapar ve bu tek doğruluk kaynağından tür bilgili yapılandırmayı z.infer ile çıkarmanızı sağlar.
Sıkça Sorulan Sorular
“Şema Doğrulamalı Yapılandırma” dersi ücretsiz mi?
Evet — “Şema Doğrulamalı Yapılandırma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 4 dersten oluşur.
“Şema Doğrulamalı Yapılandırma” dersinde ne öğreneceğim?
Başlangıçta yapılandırmayı bir şemayla doğrulayın. TypeScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te TypeScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Şema Doğrulamalı Yapılandırma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her TypeScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Ortam Değişkenlerinin Türünü Belirleme
- Şema Doğrulamalı Yapılandırma
- Yapılandırma Katmanları ve Varsayılanlar
- Gizli Bilgiler ve Tür Güvenliği