Ruby/Rails ile Yazılım Geliştirme

Başlangıç: 11 Ağustos 2014
Bitiş: 23 Ağustos 2014

 

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

Web geliştiricileri için temel ağ bilgisi

 

Ağ performansının web uygulamalarına etkisi

  • Çevrimiçi (dial-up) bağlantı
  • DSL Bağlantı
  • İnternet-İntranet
  • HTTP, Ajax, Comet
  • Yük Dengeleyiciler

 

HTTP

  • HTTP hata kodları
  • “Durumsuz” (stateless) olması
  • GET/POST metotları
  • Çerezler (Cookie)
  • Oturumlar

 

HTML

  • Dil yapısı
  • Grafik / HTML gösterim farklılığı
  • İstemciler arasında yorum farkları

 

Test ve hata ayıklama araçları

 

Önbellek

  • İstemci önbelleği
  • Proxy sunucular, Reverse Proxy Sunucular
  • Önbellek Yönetim Teknikleri
  • İçerik Sıkıştırma (JavaScript, CSS, HTML, Resim)

 

Web istemci programlaması

  • İstemci eklentileri ile yorumlama (Java applet, Adobe Flash)
  • Javascript
  • CSS
  • HTML 5

 

Web sunucu programlaması

  • Genel Teknikler ( CGI, ISAPI, NSAPI )
  • Genel Teknoloji Yaklaşımları ( PHP vs Python vs Ruby vs Java vs .Net )
  • Veri Tabanı İşlemleri ( SQL, NoSQL )
  • Web Servisleri

 

Web güvenliği

  • Kullanıcı doğrulama mekanizmaları
  • SSL
  • Uygulamaların tipik güvenlik sorunları

 

Web uygulamalarında sürüm takip sistemi kullanımı (Git)

 

  • Temel ruby bilgileri
    • Ruby tanıtımı ve genel özellikleri
    • Irb konsol ile ruby kullanımı
    • RubyGems – Ruby Paket Yöneticisi
    • Bundler
    • Alternatif konsol: Pry
    • Ruby & Rails kaynaklarının paylaşılması
  • Rails İçin Gereken Temel Bilgiler
    • MVC
    • REST ve RESTful
    • DAO ve ORM
    • Rack Middleware (Basit bir web uygulaması hazırlanacaktır)
  • Rails’e Hızlı Başlangıç
    • Rails Guides tanıtımı ve kullanımı
    • Rails nedir?
    • Rails’i kurmak
    • Yeni bir rails projesi oluşturmak
    • Bir blog uygulaması oluşturmak
      • İlk rails uygulamanıza “Merhaba!” demek
      • Uygulamayı geliştirmek ve detaylandırmak
      • Uygulamaya ikinci bir model oluşturmak
      • Kodunuzu iyileştirmek ve sadeleştirmek (Code refactoring)
      • Yorum eklemek ve yorumları silmek
      • Blog uygulaması için güvenlik ayarları
    • Scaffolding
  • Rails Models (Model Katmanı)
    • Active Record temelleri
    • Rails Database Migrations
    • Active Record Validations
    • Active Record Callbacks
    • Active Record Assocations
    • Active Record Query Interface
  • Rails Views (View Katmanı)
    • Action View genel bakış
    • Layouts & Rendering in Rails
    • Action View Form Helpers
  • Rails Controllers (Controller Katmanı)
    • Action Controller genel bakış
    • Routing ve router kullanımı
  • Rails ile yol bulma
    • Active Support temel bileşenleri
    • Uluslararasılaşma (I18n) API
    • Action Mailer temelleri
    • Güvenlik (Security)
    • Hata ayıklama (Debuging)
    • Ayarlar (Configuring)
    • Komut satırı araçları ve rake görevleri (CLI Tools & Rake Tasks)
    • Önbellekleme (Caching)
    • Varlık yönetimi (Asset Pipeline)
    • Rails’de JavaScript ile çalışmak (JavaScript in Rails)
    • Rails için rack
  • Rails için bazı Gem’lerin tanıtımı
    • Haml ve haml-rails
    • Compass ve compass-rails
    • Sass ve sass-rails
    • Devise
    • Simple Form
    • Twitter Bootstrap ve Bootstrap-sass
    • Responder
    • Whenever
    • Capistrano
    • Daha fazlası için bkz: [https://github.com/lab2023/playbook/blob/master/development/ruby.md#ruby-gems](https://github.com/lab2023/playbook/blob/master/development/ruby.md#ruby-gems)
    • [Kebab Project](https://github.com/kebab-project) ekosisteminin ve GEM’lerinin tantımlası
    • Cybele
    • Katip
    • Hierapolis ve hierapolis-rails
    • Blankable
    • Kangal
    • Kebab Remote API & Client
  • Rails Deployment
    • Heroku
      • Heroku Toolbelt / Heroku GEM kurulumu
      • Heroku hesabı açılması
      • Heroku yönetim konsolunun tanıtılması
      • Heroku’ya deploy
    • Standart bir VPS’e deploy için
  • Topluluk (Community)
    • Açık Kaynak felsefesi
    • Rails’in gelişimi ve topluluğun katkısı
    • Rails’e nasıl katkı sağlarsınız?
    • Birlikte neler geliştirebilirsiniz ve açık kaynaklı projelere nasıl katkı sağlarsınız?