XVII. Akademik Bilisim Konferansi

BaşlıkRuby on Rails 101
ÖğrenciHayır
Yazar(lar) Yazar 1
Name: Tayfun Öziş ERİKAN
Org: Lab2023 - Bilişim Teknolojileri AŞ
Country: TR
E-mail: tayfun.ozis.erikan_AT_lab2023.com

Yazar 2
Name: Kader SUCUK
Org: Universiteplus Eğitim Hiz. Dan. ve Tic. A.Ş.
Country: TR
E-mail: kadersk_AT_gmail.com
Anahtar Kelimelerruby, rails, framework, web,
Özet
Başvuru Şartları
============
- Temel ruby bilgisine sahip olmak
- HTTP, Web Server, Request/Response, REST gibi konulara en azından wikipedia’dan göz gezdirmiş olmak
- OOP: Object-oriented programming - Nesne yönelimli programlama bilgisine sahip olmak
- Başka bir dilde MVC, ORM tasarım şablonlarını kullanan frameworkler kullanmış olmak
- Herhangi bir VCS kullanmış olmak ve tercihen Git biliyor olmak
- Bir GitHub hesabına sahip olmak

Katılmadan Önce Yapılması Gerekenker
==============================
- 30–40 dk sürecek http://tryruby.org serisini bitirmek.
- 15–20 dk sürecek http://try.github.io serisini bitirmek.
- Geliştirme ortamlarının hazırlanması. Bu işlem için aşağıdaki adımları takip edebilirsiniz.
-- Ubuntu 14.04.1 LTS Linux dağıtımını http://www.ubuntu.com/download/desktop adresinden bilgisayarınıza kurmak.
-- Eger OS X kullanıyorsanız, Ubuntu Linux kurmanıza gerek yoktur.
-- Eğer Ubuntu kuracaksanız, performans problemleri yaşamamak için işletim sistemini, sanal makine yerine, bilgisayarınızın herhangi bir bölümüne kurmanız önerilir.
-- Ubuntu veya OS X için https://github.com/lab2023/builder adresinde bulunan bash kurulum scripti'ni kullanınız.
- Temel linux bilgisine sahip olmak en azından konsol, chmod, tail ve nano veya vim’i basit düzeyde kullanabiliyor olmak.

Kurs İçeriği
========

Başlangıç
-------------------------
Çevik programlama araçları
- Git, GitHub
- GitFlow
-- http://danielkummer.github.io/git-flow-cheatsheet/index.tr_TR.html
-- http://nvie.com/posts/a-successful-git-branching-model/
- Semver - https://github.com/lab2023/semver/blob/master/semver_tr.md
- Huboard Kanban - https://github.com/lab2023/playbook/blob/master/development/cevik_proje_yonetimi.md#huboard

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ı
- Geliştirme ortamlarınında problem yaşayan öğrencilerin kurulumlarının tamamlanması

Rails İle Isınma Turları
-------------------------
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)
- Rails için rack (Hızlı bakış)

Araçlar ve Alet Çantası
---------------------------
Kullandığımız 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

Kebab Project ekosisteminin ve GEM’lerinin tantımlası
- Cybele
- Katip
- Hierapolis ve hierapolis-rails
- Blankable
- Kangal
- Kebab Remote API & Client

Uygulamanızın Yayınlanması (Deployment)
--------------------------------------------------
Bu bölümde Rails uygulamanızın Heroku’ya ve standart bir VPS’e gönderilmesi anlatılacaktır. Deploy öncesi uygulamanız local ortamda Production’a çekilecek ve test edilecektir.

Heroku
- Heroku Toolbelt / Heroku GEM kurulumu
- Heroku hesabı açılması
- Heroku yönetim konsolunun tanıtılması
- Heroku’ya deploy

VPS
- Standart bir VPS’e deploy için https://github.com/lab2023/playbook/blob/master/development/server.md kaynağından bahsedilecektir.

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?

Soru & Cevap

Bu bölümde katılımcıların kurs hakkındaki genel soruları cevaplandırılacaktır.
Başlıklar AB-Kurs
Dosya
 

 

Powered by OpenConf®
Copyright ©2002-2014 Zakon Group LLC