Ruby/Rails ile Web Programlama

Ana Sayfa » Kurslar » Ruby/Rails ile Web Programlama

Ruby on Rails, Ruby diliyle yazılmış, özgür bir web uygulama geliştirme çatısıdır. Web uygulamaları için ihtiyaç duyulabilecek bütün bileşenleri barındıran Rails; model-view-controller (MVC), kendini tekrar etme (don’t repeat yourself), convention over configuration yaklaşımlarını temel alır.

Kursta katılımcıların Ruby ve Ruby on Rails dünyası ile tanışarak bu araçlarla web uygulaması geliştirme süreçlerini ögrenmelerini hedeflenmektedir. Bunun yanı sıra, proje yönetimi, sürüm kontrol sistemleri, sürümleme, MVC, ORM, RESTful ve benzeri temel kavramlar ve uygulamaların web sunucusuna yayınlanması gibi aşamalarda bilgi sahibi olmalarını sağlamaktır.

Sınıf Sponsoru: buck.ai

Sınıf Sponsoru: buck.ai

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

  • Okuduğunu anlayabilecek düzeyde İngilizce bilgisi
  • Herhangi bir programlama dilinde yazılım geliştirebilmek
  • Sanal makine kurabilme / kullanabilme
  • GNU/Linux 0.5 konularına hakimiyet
  • Web teknolojileri konusunda bilgi sahibi olmak (HTTP, HTML, CSS, Javascript, SSL, GET/POST, Cookie, vs.)

 

Ön Hazırlık

  • https://rubyonrails.org/doctrine/ kaynağını okumak.
  • Ruby programlama dili hakkında fikir sahibi olmak ve gerekli ön araştırmaları yapmak.
  • https://try.github.io kaynağı ile Git pratiği yapmak.
  • Geliştirme ortamlarının hazırlanması. Bu işlem için aşağıdaki adımları takip edebilirsiniz.
    • Ubuntu 18.04 LTS GNU/Linux dağıtımı (önerilen) ya da MacOS işletim sistemi kurmalısınız.
    • https://github.com/lab2023/builder adresinde bulunan kurulum betiğini kullanınız.

 

Konular

  • Başlangıç
    • Çevik Programlama Araçları
  • 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 ile Isınma Turları
    • Rails Doktrini: Ruby on Rails İlke ve Görüşlerini Anlamak
    • 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
  • Temel Rails Bileşenleri
    • Models (Model Katmanı)
      • Active Record temelleri
      • Rails Database Migrations
      • Active Record Validations
      • Active Record Callbacks
      • Active Record Assocations
      • Active Record Query Interface
    • Views (View Katmanı)
      • Action View genel bakış
      • Layouts & Rendering in Rails
      • Action View Form Helpers
    • Controllers (Controller Katmanı)
      • Action Controller genel bakış
      • Routing ve router kullanımı
  • Derinlemesine Rails
    • Active Support temel bileşenleri (Hızlı bakış)
    • Uluslararasılaşma (I18n) API
    • Action Mailer temelleri
    • Güvenlik (Security) (Hızlı bakış)
    • Hata ayıklama (Debuging) (Hızlı bakış)
    • Konfigurasyon (Configuring) (Hızlı bakış)
    • Komut satırı araçları ve rake görevleri (CLI Tools & Rake Tasks)
    • Önbellekleme (Caching) (Hızlı bakış)
    • Varlık yönetimi (Asset Pipeline)
    • Rails’de JavaScript ile çalışmak (JavaScript in Rails)
    • API uygulamaları için Rails’i kullanmak
    • Action Cable ile Rails’de WebSocket kullanımı
    • Rails için rack (Hızlı bakış)
  • Araçlar ve Alet Çantası
    • Haml ve haml-rails
    • Compass ve compass-rails
    • Sass ve sass-rails
    • Devise
    • Simple Form
    • Twitter Bootstrap ve Bootstrap-sass
    • Responder
    • Whenever
    • Capistrano
    • Diğer gem’ler [1]
    • Kebab Project
      • Cybele
      • Katip
      • Hierapolis ve hierapolis-rails
      • Blankable
      • Kangal
      • ve diğerleri
  • Uygulamanızın Yayınlanması (Deployment)
  • Örnek proje ve atölye çalışmaları
  • Rails Topluluğu
    • Özgür yazılım felsefesi
    • Rails’in gelişimi ve topluluğun katkısı
    • Rails’e nasıl katkı sağlarsınız?
    • Birlikte neler geliştirebilirsiniz ve özgür yazılım projelerine nasıl katkı sağlarsınız?