Yol haritası · Orta seviye
Backend geliştirici
API'ler, sunucular, veri ve kimse bakmazken çalışmaya devam eden işler.
Sunucuların isteklere nasıl cevap verdiği: API tasarlamak, kullanıcıları ve oturumları yönetmek, veritabanıyla konuşmak ve yavaş ya da riskli işleri güvenilir biçimde yapmak.
33 sayfa4 bölümyaklaşık 57 dk okuma
- Backend ve API'ler
- Güvenlik
- Veritabanları
Henüz başlanmadı0/33 okundu
API ile başlaİlerleme, yalnızca bu tarayıcıda tutulan okuma geçmişinizden gelir.
1. bölümAPI'ler
- 1APIBackend ve API'ler, s. 2API, bir yazılımın başka bir yazılımdan veri ya da işlem talep etmesini sağlayan, belgelenmiş ve öngörülebilir kurallar bütünüdür.
- 2HTTP MetoduBackend ve API'ler, s. 22HTTP metodu, bir HTTP isteğindeki GET, POST, PUT, PATCH veya DELETE gibi fiildir ve sunucuya istenen kaynak üzerinde hangi eylemin yapılacağını söyler.
- 3EndpointBackend ve API'ler, s. 11Endpoint, bir API'nin belirli bir kaynak veya eylem için istek alıp yanıt döndürdüğü, bir HTTP metoduyla birlikte kullanılan belirli bir URL'dir.
- 4JSONBackend ve API'ler, s. 24JSON, yapılandırılmış veriyi anahtar-değer çiftleri ve listelerle saklayıp aktarmaya yarayan, insanın da makinenin de okuyabildiği hafif bir metin biçimidir.
- 5XMLBackend ve API'ler, s. 48XML (Extensible Markup Language), kendi tanımladığınız iç içe etiketlerle yapılandırılmış veriyi tutan, insanın ve makinenin okuyabildiği metin biçimidir.
- 6REST APIBackend ve API'ler, s. 38REST API, verileri URL'lerle tanımlanan kaynaklar olarak sunan ve istemcilerin onları standart HTTP metotlarıyla okuyup değiştirmesini sağlayan web API'sidir.
- 7GraphQLBackend ve API'ler, s. 18GraphQL, istemcilerin tam ihtiyaç duyduğu veriyi, çoğunlukla tek bir endpoint üzerinden tek istekte istemesini sağlayan API sorgu dili ve çalışma zamanıdır.
- 8gRPCBackend ve API'ler, s. 19gRPC, uzak sunucudaki fonksiyonları yerelmiş gibi çağırmaya yarayan açık kaynaklı framework'tür; Protocol Buffers ve HTTP/2 ile hızlı, tipli mesajlar taşır.
- 9OpenAPIBackend ve API'ler, s. 32OpenAPI, HTTP API'lerini bir YAML veya JSON dosyasında tanımlayan açık bir standarttır; insanlar ve araçlar her endpoint'i, parametreyi ve yanıtı anlayabilir.
2. bölümSunucular ve istekler
- 10Web SunucusuBackend ve API'ler, s. 46Web sunucusu, tarayıcılardan ve diğer istemcilerden gelen HTTP isteklerini alıp sayfa, dosya ya da veriyle yanıt veren yazılım veya onu çalıştıran makinedir.
- 11NginxBackend ve API'ler, s. 30Nginx, uygulama sunucularının önünde ters proxy, yük dengeleyici ve HTTP önbelleği olarak da çok kullanılan, hızlı ve açık kaynaklı bir web sunucusudur.
- 12Node.jsBackend ve API'ler, s. 31Node.js, JavaScript'i tarayıcı dışında çalıştıran, en çok web sunucuları, API'ler ve komut satırı araçları için kullanılan açık kaynaklı çalışma ortamıdır.
- 13ExpressBackend ve API'ler, s. 15Express, en yaygın Node.js web framework'üdür: yönlendirmeyi, istekleri ve yanıtları bir middleware fonksiyonları zinciriyle ele alan minimal bir katmandır.
- 14MiddlewareBackend ve API'ler, s. 29Middleware, bir sistemin iki katmanı arasında duran yazılımdır; bir web sunucusunda çoğunlukla gelen istek ile son yanıt arasında çalışan koddur.
- 15OturumBackend ve API'ler, s. 33Oturum, sunucunun bir kullanıcıyı birçok istek boyunca hatırlama yöntemidir; genellikle veriler sunucuda tutulur ve tarayıcıya bir oturum kimliği verilir.
- 16Kimlik DoğrulamaGüvenlik, s. 19Kimlik doğrulama, bir kullanıcının, cihazın veya servisin gerçekten iddia ettiği kişi olduğunu, örneğin parola ya da passkey kontrol ederek doğrulama işlemidir.
- 17YetkilendirmeGüvenlik, s. 48Yetkilendirme, kimliği doğrulanmış bir kullanıcının ya da servisin hangi verileri okuyabileceğine, değiştirebileceğine veya silebileceğine karar vermektir.
- 18JWTGüvenlik, s. 17JWT, kullanıcı kimliği ve son kullanma zamanı gibi bilgileri taşıyan, imzalı ve kompakt bir token'dır; sunucunun oturum aramadan istekleri doğrulamasını sağlar.
- 19Refresh TokenGüvenlik, s. 30Refresh token, uygulamanın yeniden giriş istemeden kısa ömürlü yeni access token'lar almak için kullandığı uzun ömürlü kimlik bilgisidir.
3. bölümVeriyle çalışmak
- 20VeritabanıVeritabanları, s. 37Veritabanı, bilgisayarda düzenli biçimde saklanan ve uygulamaların verimlice kaydedip arayıp güncelleyebildiği, bir yazılımla yönetilen veri topluluğudur.
- 21SQLVeritabanları, s. 29SQL, ilişkisel veritabanlarıyla çalışmanın standart dilidir; tablo oluşturmak ve içindeki veriyi eklemek, sorgulamak, güncellemek ve silmek için kullanılır.
- 22ORMVeritabanları, s. 24ORM, veritabanı tablolarını programlama dilinizdeki nesnelere eşleyen ve ham SQL yerine kodla veri okuyup yazmanızı sağlayan bir kütüphanedir.
- 23TransactionVeritabanları, s. 36Transaction, tek bir bütün olarak başarılı ya da başarısız olan veritabanı işlemleri grubudur; böylece veri asla yarım kalmış, tutarsız bir durumda bırakılmaz.
- 24Veritabanı İndeksiVeritabanları, s. 38Veritabanı indeksi, tüm tabloyu taramadan satırları hızla bulmayı sağlayan, bir kitabın sonundaki dizine benzeyen bir veri yapısıdır.
- 25ÖnbellekBackend ve API'ler, s. 34Önbellek, sık kullanılan verilerin kopyalarını tutan hızlı ve geçici bir depolama katmanıdır; sonraki istekler yavaş işi tekrarlamadan hızla karşılanır.
4. bölümİşleri güvenilir yapmak
- 26Mesaj KuyruğuBackend ve API'ler, s. 28Mesaj kuyruğu, bir servisten gelen mesajları bir başkası işlemeye hazır olana kadar saklayan ve sistemin parçalarını eşzamansız çalıştıran bir bileşendir.
- 27RabbitMQBackend ve API'ler, s. 36RabbitMQ, üreticilerin mesajlarını exchange'ler üzerinden kuyruklara yönlendiren açık kaynaklı mesaj aracısıdır; tüketiciler onları alıp işi bitince onaylar.
- 28Arka Plan İşiBackend ve API'ler, s. 5Arka plan işi, bir sunucunun normal istek-yanıt döngüsünün dışında çalıştırdığı görevdir; e-posta gönderme gibi yavaş işler kullanıcıları bekletmez.
- 29WebhookBackend ve API'ler, s. 47Webhook, bir uygulamanın, tamamlanan bir ödeme gibi belirli bir olay gerçekleştiği anda sizin verdiğiniz bir URL'ye otomatik olarak gönderdiği HTTP isteğidir.
- 30IdempotencyBackend ve API'ler, s. 23Idempotency, bir işlemin bir kez de çalışsa çok kez de çalışsa aynı sonucu üretmesi özelliğidir; böylece bir isteğin yanlışlıkla tekrarlanması güvenli olur.
- 31Rate LimitingBackend ve API'ler, s. 37Rate limiting, istemcinin belli bir sürede yapabileceği istek sayısını sınırlayıp sunucuyu ya da API'yi kötüye kullanımdan ve aşırı yükten koruyan tekniktir.
- 32Exponential BackoffBackend ve API'ler, s. 14Exponential backoff, her başarısız denemeden sonra 1, 2, 4, 8 saniye gibi giderek daha uzun bekleyen yeniden deneme stratejisidir; zorlanan servis toparlanır.
- 33Health CheckBackend ve API'ler, s. 20Health check, bir servisin çalışır durumda olup olmadığını ve isteklere yanıt verebildiğini bildiren, genelde bir HTTP endpoint'i olan küçük otomatik testtir.
Yol boyunca karşılaştırın
Bu yol haritasında kolayca karıştırılan çiftler, yan yana.