Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir konuşmacının middleware kavramını ve kullanımını anlattığı eğitim içeriğidir.
- Video, önce Express.js framework'ünde middleware kavramını açıklayarak başlıyor, ardından ASP.NET Core uygulamalarında middleware kullanımını gösteriyor. İçerikte middleware'lerin ne olduğu, request ve response parametrelerine nasıl erişileceği, next fonksiyonunun kullanımı ve middleware'lerin uygulama seviyesinde ve routing seviyesinde nasıl uygulanabileceği örneklerle anlatılıyor.
- Eğitimde ayrıca pet parametreleri, query string kullanımı, token validasyonu gibi işlemlerde middleware'lerin nasıl kullanılacağı ve bir sonraki fonksiyona nasıl bilgi aktarılabileceği de gösterilmektedir. Konuşmacı, middleware'lerin hem response send hem de next fonksiyonlarını aynı anda kullanmanın neden hata verdiğini de açıklamaktadır.
- 00:02Middleware Kavramı
- Middleware kavramı sadece Express.js'e özel değil, Redux'ta tank middleware, Express'te CORS, body pars, winston logger gibi örneklerle karşılaşılabilir.
- Middleware kelime anlamı olarak "ara katman" veya "orta katman" anlamına gelir ve bir işlemin arasına girip orada işlem yaparak süreci devam ettirir.
- Middleware, Express'te işlemlerin sıralı olarak çalışmasını sağlar ve response send ile client'a cevap döndürüldüğünde zincir bozulur.
- 03:01Middleware Çalışma Prensibi
- Express.js'teki middleware fonksiyonları request, response ve next parametrelerini alır; next parametresi bir sonraki fonksiyonu gösterir.
- Middleware fonksiyonları sırayla çalışır, bir fonksiyon işlemini bitirdiğinde next parametresini kullanarak bir sonraki fonksiyonu çağırır.
- Middleware'de hem next hem de response send işlemini beraber kullanmamak gerekir, aksi takdirde "header gönderildikten sonra değiştirilemez" hatası alınır.
- 05:52Middleware Örneği
- Middleware sadece bir fonksiyon olup, belirli bir sıraya konulabilir ve başa veya sona konulabilir.
- Express.js'te iki tip middleware vardır: application seviyesinde ve routing (root) seviyesinde.
- Application seviyesinde uygulanan middleware, uygulamanın tüm uçlarına uygulanır ve tüm isteklerde çalışır.
- 11:11Middleware Parametreleri ve Kullanımı
- Middleware'lar için pet parametreleri kullanılabilir, örneğin "params.id" ile veritabanından yazı çekip ekranda gösterilebilir.
- Geçiş işlemlerinde body yokken, pet parametreleri veya query string kullanılabilir.
- Request nesnesi, middleware'lar sırayla çalışarak gelir ve bir önceki fonksiyondan gelen parametrelere erişilebilir.
- 12:29Middleware Uygulama Seviyeleri
- Log middleware'ı root seviyesinde kullanıldığında, önceki request'ten gelen parametreler loglanabilir.
- Middleware'ı application seviyesinde uygulamak, sadece application seviyesinde loglamayı sağlar.
- Parametre erişiminde hata yapmanın nedeni, middleware'ı root seviyesinde uygulamamaktır.
- 14:41Middleware'lar Arası Veri Geçişi
- Bir sonraki fonksiyona bilgi, parametre veya değişken geçirilebilir.
- Request nesnesine herhangi bir şey koyulabilir, örneğin validasyon işlemi sonrası user id'si.
- Middleware'lar, token gibi bilgileri client tarafından açık göndermek yerine token içinde göndererek veritabanında filtreleme yapılabilir.
- 16:54Middleware'ların Kullanım Alanları
- Middleware'lar sadece bir fonksiyon olarak çalışır ve işlem zincirini kırmak veya bir sonraki fonksiyonu çağırmaktan ibaret.
- Middleware'lar birçok işlem için kullanılabilir, örneğin token validasyonu için.
- Konuşmacının GitHub'ında token validasyonu için bir middleware bulunmaktadır.