Django

Laravel ile hızlı ve güvenli web geliştirme
Resim: Django Eğitimi

Django Eğitimi, ekibinizin modern web uygulamalarını daha hızlı ve daha güvenli geliştirmesini hedefler. Modelleme, URL tasarımı, template katmanı ve ORM gibi temel bileşenleri doğru kurgulayarak sürdürülebilir bir yapı kurmayı öğrenirsiniz; böylece geliştirme süreci hızlanır ve bakım maliyeti düşer.

Eğitim boyunca gerçek senaryolara benzeyen örneklerle proje iskeleti, uygulama katmanları ve test yaklaşımı adım adım ele alınır. Kod standartları, performans ve güvenlik odaklı pratikler sayesinde ekip içinde ortak bir geliştirme dili oluşur ve üretime giden yol daha öngörülebilir hale gelir.

Katılımcı Profili

Django ile web uygulaması geliştiren veya bu alana geçiş yapmak isteyen ekipler için tasarlanmıştır:

  • Backend Geliştiriciler: Django ile API geliştirmek isteyenler
  • Full Stack Geliştiriciler: Uçtan uca web akışı kuranlar
  • Yazılım Mimarları: Katmanlı yapı ve ölçek arayanlar
  • Takım Liderleri: Kod standardı ve süreç oturtanlar
  • Test Mühendisleri: Otomasyonla kalite artırmak isteyenler

Ön Gereklilikler

Bu eğitimden en iyi verimi almak için aşağıdaki temel bilgi ve hazırlıklar önerilir:

  • Python dilinde temel sözdizimi bilgisi
  • HTTP, request/response ve temel web kavramları
  • Komut satırı kullanımı ve temel Git alışkanlığı
  • Temel veritabanı mantığı (tablo, ilişki, sorgu)
  • JSON ve REST yaklaşımına aşinalık

Süresi ve Tarihi

Süre: 3 gün. Bu süre standart program içindir; ek modüllere ve hedefe göre süre özelleştirilebilir.
Eğitim tarihleri ve saatleri, ekibinizin uygunluğuna göre birlikte planlanır.

Kazanımlar

Eğitim sonunda ekipler, Django projelerini daha tutarlı ve üretime hazır şekilde tasarlayıp geliştirebilir:

  • Django proje yapısını ve uygulama katmanlarını doğru kurgulama
  • Modeller, ilişkiler ve ORM sorgularıyla veri katmanını yönetme
  • View, URL ve template akışını sürdürülebilir şekilde tasarlama
  • Form, validasyon ve hata yönetimi ile güvenilir kullanıcı akışı oluşturma
  • Test yaklaşımı ve mocking ile kritik senaryoları güvence altına alma
  • Performans ve cache mantığıyla ölçeklenebilirlik kazanma
  • Güvenlik pratikleriyle yaygın riskleri azaltma
  • Production ortamı için logging, config ve deploy hazırlıkları yapma

Django Eğitimi Konuları

1. Django Eğitimi - Temel Kavramlar ve Proje Yapısı

  • Django’nun çalışma mantığını hızlıca kavrarsınız
  • Proje ve app ayrımı ile düzenli yapı kurarsınız
  • Geliştirme ortamını ayarlarsınız ve hata ayıklarsınız
  • Settings yapısını anlamlandırıp ekip standartları belirlersiniz
  • Çalışma akışını yönetmek için temel komutları uygularsınız

2. Django Eğitimi - URL, View ve Template Akışı

  • URL yönlendirme yapısını doğru kurarsınız
  • View türlerini tanır, uygun yaklaşımı seçersiniz
  • Template kullanımında yeniden kullanılabilir parçalar tasarlarsınız
  • Context yönetimi ile okunabilir sayfalar üretirsiniz
  • Template hatalarını izlemek için pratik yöntemler öğrenirsiniz

3. Modeller ve ORM ile Veri Modelleme

  • Model alanlarını doğru tiplerle tanımlarsınız
  • İlişkileri kurar, veri bütünlüğünü korursunuz
  • QuerySet mantığı ile okunabilir sorgular yazarsınız
  • Performans için select_related ve prefetch_related kullanırsınız
  • Migration sürecini güvenli yönetmek için yöntemler uygularsınız
  • Admin ekranını hızla özelleştirir ve yönetimi kolaylaştırırsınız

4. Django Admin ile Yönetim Ekranları

  • Admin panelini hızlıca etkinleştirirsiniz ve kullanırsınız
  • Listeleme ve arama özellikleriyle kullanım kolaylığı sağlarsınız
  • Inline düzenleme ile ilişkili verileri birlikte yönetirsiniz
  • Yetkilendirme ile güvenli admin deneyimi kurarsınız
  • Admin performansını artırmak için pratik optimizasyonlar yaparsınız

5. Forms ve Validasyon Yaklaşımları

  • Form sınıfları ile girişleri güvenli toplarsınız
  • Validasyon kurallarıyla hatalı veriyi erken yakalarsınız
  • ModelForm kullanarak tekrar eden kodu azaltırsınız
  • Hata mesajlarını kullanıcı deneyimi için iyileştirirsiniz
  • Dosya yükleme senaryolarında güvenli akış oluşturursunuz

6. Sınıf Tabanlı View’lar ile Ölçeklenebilir Yapı

  • CBV yaklaşımını anlayıp doğru yerde kullanırsınız
  • Generic view’lar ile hızlı geliştirme sağlarsınız
  • Mixin yapılarıyla ortak davranışları yeniden kullanırsınız
  • Yetkilendirme ve filtreleme ile akışı zenginleştirirsiniz
  • CBV debugging için etkili yöntemler öğrenirsiniz

7. Django Rest Framework ile API Geliştirme

  • API yaklaşımını Django içinde netleştirirsiniz
  • Serializer tasarımı ile veri çıktısını kontrol edersiniz
  • ViewSet ve router ile tutarlı endpoint’ler oluşturursunuz
  • Pagination ve filtering ile sonuçları yönetirsiniz
  • API hata yönetimi ile daha öngörülebilir servis sunarsınız
  • Test edilebilir API tasarımı için pratikler uygularsınız

8. Middlewares ve Request Yaşam Döngüsü

  • Request akışını adım adım takip edersiniz
  • Middleware ile çapraz kesen ihtiyaçları çözerirsiniz
  • Logging ve izleme için doğru noktalara müdahale edersiniz
  • Güvenlik başlıkları ile temel korumalar eklersiniz
  • Performansı korumak için middleware tasarımını optimize edersiniz

9. Test Stratejileri ve Otomasyon

  • Test yaklaşımını proje hedefiyle hizalarsınız
  • Unit ve integration test farkını net uygularsınız
  • Fixture ve factory kullanarak veri üretimini kolaylaştırırsınız
  • Mocking ile dış bağımlılıkları kontrol altında tutarsınız
  • CI sürecine test koşmak için temel pratikler edinirsiniz

10. Güvenlik Pratikleri ve Yaygın Riskler

  • Django’nun güvenlik varsayılanlarını doğru kullanırsınız
  • CSRF ve XSS risklerini azaltmak için önlem alırsınız
  • Input doğrulama ile güvenli veri akışı kurarsınız
  • Yetkilendirme hatalarını engellemek için kontrol listeleri uygularsınız
  • Gizli bilgileri yönetmek için doğru yapılandırma yaparsınız
  • Güvenlik testlerini süreç içine entegre etmeyi öğrenirsiniz

11. Performans ve Cache Yaklaşımları

  • Darboğazları tespit etmek için ölçüm yaparsınız
  • ORM sorgularını iyileştirerek yanıt süresini düşürürsünüz
  • Cache stratejileri ile tekrar eden yükü azaltırsınız
  • Static ve media yönetimi ile servis kalitesini artırırsınız
  • Profiling araçlarıyla performans iyileştirmelerini doğrularsınız

12. Asenkron İşler ve Arka Plan Görevleri

  • Uzun süren işleri ayrıştırmanın faydasını anlarsınız
  • Task queue yaklaşımı ile iş akışını planlarsınız
  • Zamanlanmış görevler için güvenilir çözüm kurgularsınız
  • Hata yönetimi ile iş kaybını azaltırsınız ve izlersiniz
  • İşlerin tekrar koşmasını engellemek için idempotency uygularsınız

13. Production Deploy Hazırlıkları ve Ortam Yönetimi

  • Production için temel kontrol listesini oluşturursunuz
  • Ortam değişkenleri ile güvenli konfigürasyon sağlarsınız
  • Database bağlantılarını ve migration sürecini planlarsınız
  • Log seviyelerini ayarlarsınız ve izleme yaklaşımı kurarsınız
  • Geri dönüş planı ile riskleri azaltırsınız ve sürüm yönetirsiniz

14. Mini Proje: Modüler Django Uygulaması

  • Gerçekçi bir problem üzerinden uygulama geliştirirsiniz
  • Katmanlı yapı ile kod organizasyonunu pekiştirirsiniz
  • API ve template akışını birlikte kurgularsınız
  • Test yazarak kritik senaryoları güvenceye alırsınız
  • Code review ile ekip standartlarını netleştirirsiniz

15. Ek Modül: Production-Ready Django (logging, config, hata yönetimi)

  • Konfigürasyonu ortam bazlı yönetmeyi uygularsınız
  • Yapılandırılmış logging ile izlenebilirlik sağlarsınız
  • Hata yakalama akışıyla kullanıcı deneyimini korursunuz
  • Observability için metrik yaklaşımını planlarsınız
  • Deployment öncesi kontrolleri standart hale getirirsiniz
  • Sorun çözmeyi hızlandıracak runbook mantığını öğrenirsiniz

16. Ek Modül: Authentication/Authorization (JWT temel)

  • Kimlik doğrulama ve yetkilendirme ayrımını netleştirirsiniz
  • JWT yapısını anlarsınız ve doğru senaryoda kullanırsınız
  • Token ömrü ve yenileme stratejisiyle güvenliği artırırsınız
  • Rol tabanlı erişim kontrolü ile kaynakları korursunuz
  • Yetki testleri ile hatalı erişimleri erken yakalarsınız

Django Eğitimi ile İlgili
Sıkça Sorulan Sorular ve Cevapları


Django’da proje ve app ayrımı neden önemlidir?

Proje genel ayarları ve yönlendirmeleri taşırken, app’ler işlevsel modülleri temsil eder. Bu ayrım, kodun modüler kalmasını, ekiplerin paralel çalışmasını ve bakımın kolaylaşmasını sağlar.

Django ORM ile yazılan sorguların performansını nasıl iyileştiririz?

Sorgu sayısını azaltmak, ilişkilerde select_related/prefetch_related kullanmak ve doğru indeks tasarlamak temel yaklaşımlardır. Eğitimde, sorgu analizini ve gereksiz veri çekimini önleme tekniklerini uygulamalı ele alıyoruz.

Django Rest Framework’te serializer tasarımı neyi etkiler?

Serializer, veri doğrulama, çıktı formatı ve nested yapıların nasıl yönetileceğini belirler. Doğru tasarım hem API’nin tutarlılığını artırır hem de istemci geliştirmesini kolaylaştırır.

Django’da güvenlik için hangi temel konulara odaklanıyoruz?

CSRF/XSS önlemleri, güvenli konfigürasyon, gizli anahtar yönetimi, yetkilendirme kontrolleri ve güvenli veri doğrulama üzerinde duruyoruz. Ayrıca güvenlik kontrollerini geliştirme sürecine entegre etme yaklaşımını işliyoruz.

Eğitim içeriğini ihtiyaçlarımıza göre özelleştirebilir misiniz?

Evet. Eğitim öncesinde ihtiyaç analizi yaparak içerik ve örnekleri ekibinize göre uyarlayabiliriz. Modüller eklenebilir, bazı başlıklar derinleştirilebilir veya sadeleştirilebilir.

Eğitim yeri, yöntemi ve sertifikasyon süreci nasıl ilerliyor?

Eğitim online (canlı) veya yerinde gerçekleştirilebilir; tarih ve saatleri ekibinizin uygunluğuna göre planlarız. Program sonunda katılım sertifikası verilir; talep edilirse ölçme-değerlendirme ve raporlama eklenebilir.

 VERİ AKADEMİ