Django ve Javascript ile Web Programlamaya Giriş

Başlangıç: 7 Ağustos 2015
Bitiş: 23 Ağustos 2015

Eğitime katılacakların sahip olması gereken özellikler:

  • Okuduğunu anlayabilecek düzeyde İngilizce bilgisi
  • Herhangi bir nesneye yönelik programlama dilinde yazılım geliştirebilmek
  • Linux masaüstüne aşina olmak (yazılım geliştirme Linux üzerinde yapılacaktır)

 

KONULAR

HTML’e Giriş

  • HTML Nedir?
  • Paragraflar
  • Metin Formatları
  • Başlık Tipleri
  • Linkler
  • Görseller
  • Listeler
  • Formlar
  • Tablolar
  • Özel Karakterler
  • HEAD Nedir?
  • Belli Başlı Etiketler ve Ne İşe Yaradıkları

 
CSS’e Giriş

  • CSS Nedir?
  • Söz Dizimi
  • Kullanım Şekilleri
  • Seçiciler
  • Renkler
  • Arkaplanlar
  • Metinler
  • Yazı Tipleri
  • Linkler
  • Listeler
  • Tablolar
  • Sınır/Kenar
  • Dış Kenar Boşluğu
  • İç Kenar Boşluğu
  • Kutu Modeli
  • Gruplama/Yerleştirme
  • Boyut
  • Görünürlük
  • Konumlandırma
  • Kaydırma
  • Sözde Sınıflar
  • Sözde Öğeler
  • Saydam Görsel
  • Sprite Tekniği
  • Medya Tipleri
  • Öznitelik Seçicileri

 
JavaScript’e Giriş

  • JavaScript Nedir?
  • Test Ortamını Tanımak
  • Yazım Standardı ve Kültürü
  • Değişkenler
  • Koşullar
  • Diziler
  • Prototip
  • Fonksiyonlar
  • DOM Nedir?

 
İleri JavaScript

  • JavaScript’te kapsam (scope) kavramı
  • this kelimesinin farklı anlamları,
  • Closurelar hakkında ayrıntılı bilgi
  • EcmaScript 2015 ile gelen yenilikler,
  • JavaScript ile nesne yönelimli prototip tabanlı programlama
  • JavaScript ile fonksiyonel yönelimli programlama
  • Array extras(map/filter/reduce/bind vs.) metodlarının kullanımı
  • Sunucu tabanlı JavaScript kullanımı
  • JavaScript uygulamalarında hata ayıklama (debugging) için ipuçları

 
Python’a Giriş

  • Python’a giriş
    • Python’ı nasıl bir dildir
    • Yorumlanan ve derlenen diller
    • Kurulum ve environment hakkında bilgiler
    • Python’da kod yazmaya giriş
    • Python’ın sözdizimsel özellikleri
  • Python Internals
    • Temel program akışı yönetimi komutları
    • Veri tiplerine kısaca bakış
    • Duck typing ne demektir
    • Fonksiyonlar (callable) objeler hakkında bilgiler
    • Generators ve iterable objeler
    • Decorators
  • Object Oriented Programming
    • Object oriented yönelimi hakkında bilgiler
    • Sınıf kavramı ne demektir
    • Inheritance: birbirinden türeyen sınıflar
    • Composition: sınıfların birbiri arasındaki etkileşimi
    • Mixins: birden fazla sınıftan türeyen sınıflar
    • Design pattern’lar nedir ve bize ne kazandırır
  • Functional Programming
    • Fonksiyonel programlama nedir
    • Python fonksiyonel bir dil midir
    • Temel fonksiyonel programlama konseptleri
    • Her şeyin başı map ve reduce
      • Meta Python
    • Bir şeylere isim koymak (naming conventions)
    • Bir işin pitonik yolu
    • Python’ın tasarım prensipleri
  •  
    Django’ya Giriş

  • Django’ya giriş
    • Django nedir
    • MVC kavramı ne anlama geliyor
    • Kurulum ve environment yönetimi
    • Bir proje nasıl oluşturulur
  • Models
    • Basit bir model tanımı
    • Modeller arasındaki ilişkiler
    • ForeignKey
    • ManyToManyField
    • ForeignKey neyimize yetmiyor?
    • Symmetrical seçeneği
    • Model Inheritance
    • Manager kavramı
    • Migrations
    • QuerySets
    • Filtering
    • Karmaşık sorgular
    • Aggregation ve Annotate
    • Optimizasyon
    • Prefect related
    • Select related
    • Values
  • Views
    • View nasıl tanımlanır
    • Templates
    • Nasıl oluşturulur ve kullanılır
    • Template inheritance
    • Template tags & filters
    • Url yönetimi
    • Request ve Response objeleri
    • Session’lar
    • Cookie’ler
    • İstemci bilgilerine ulaşmak
    • POST ve GET metodu
    • Formlar
    • Form tanımlamak
    • Validation sınıfları
    • ModelForm’lar
    • Formset ve ModelFormset kavramı
    • Class based view’lar
    • Middleware kavramı
      • Admin Uygulaması
    • Admin uygulamasını aktif etmek
    • Admin için model yönetimi
    • Özelleştirilmiş bir admin paneli
  • i18n ve l10n
    • Internalization
    • Dil dosyaları oluşturmak ve derlemek
    • Dil dosyalarını dağıtmak
    • Localization