hoşgeldİnİz!


Ruby on Rails Workshop

Pamukkale Üniversitesi







Kader Sucuk

Information Technology and Services Professional
Yeni Hayat Bilişim A.Ş.
kadersk@gmail.com
@sucuklukfasulye




  • Ruby
  • Ruby on Rails
  • Framework (web çatısı) nedir?
  • RESTful nedir?
  • MVC nedir?
  • Gem nedir, nasıl kullanılır, en yaygın kullanılanlar nelerdir?
  • Versiyonlama nedir?
  • Uygulama örneği çalışması
  • Barındırma yöntemleri


Ruby


  • Dinamik dil
  • Başlayanlar için kolay
  • Uzmanlar için güçlü
  • Object Oriented
  • Basit syntax, anlamlı sözdizimi
  • Cross platform



http://tryruby.org


Framework


Kullanıcıların 
daha sağlıklı ve hızlı kodlama yapabilmesi için kullanılan, 
yazılımın iskeletini oluşturan, 
proje altyapısıdır.


Neden kullanırız ?


  • Tutarlı yapılar üzerine çalışmayı sağlar.
  • MVC pattern
  • Düzenli yapı, düzenli çalışma
  • Altyapı kolaylığı
  • Zaman tasarrufu


RESTful


Client-server ilişkisini HTTP protokolü üzerinden sağlamak.

  • Basit ve hafif (halihazırda world-wide-web yapıda HTTP üzerine kurulu)
  • Mimari esneklik
  • Cross-platform
  • Yapılacak işlemlerin HTTP methodlar ile ifade edilmesi (POST-PUT-DELETE-GET)
  • Kolay anlaşılır
  • JSON, HTML, XML, CSV


MVC


  • Bir mimari desen (pattern)
  • Veri ve gösterimin ayrılması
  • Model (M) : Veri özellikleri, veritabanı ile konuşma
  • View(V) : Tasarım. Son kullanıcının NASIL gördüğü
  • Controller(C) : Model ve View bölümünün konuştuğu yer. Son kullanıcının NE gördüğü. 


NEDEN MVC ?


  • Düzenli, anlaşılır, sistematik
  • Zaman tasarrufu
  • Performans
  • JSON kullanımı 
  • Ekip çalışmasını mümkün kılma, kolaylaştırma
  • /controller/function URL yapısı ile SEO dostu routing


GEM 


Ruby üzerinde yazılmış bir paket yönetimi. 
yum, apt-get tarzı bir işlem

en sık kullanılanlar


  • devise
  • carrierwave
  • will_paginate
  • pry
  • quit_assets
  • friendly_id
  • capistrano
  • cucumber+rspec
  • simple_form
  • koala
  • twitter-bootstrap-rails
  • rails-i18n


Versİyonlama


Değişikliklerin Yönetilmesi

  • Majör değişiklik (1.0.0) database, architecture, dil
  • Minör değişiklik (1.1.0) yeni özellik(feature), arayüz
  • Bug fix, build (1.1.1) yama, hataların giderilmesi


neden yapılır ?


  • Takım çalışmasını olanaklı hale getirir
  • Kod merkezileşir
  • Yazılan kodun sahibi bellidir
  • Sunucu güncelleme kolaylığı



Local reposıtory

(Yerel Depo)


remote reposıtory

(Uzaktaki Depo)





COMMIT  > PULL  > MERGE  > PUSH



Öyle bir dünya yok :)

Conflict!!!


Manuel müdahale ile sorunun çözülmesi gerekir.



Gıt


Geliştiricinin en sadık dostu

  • Her yerel depo bir uzaktakinin yedeğidir 
  • Conflict üretme olasılığı azdır
  • Hızlı


https://github.com/
https://bitbucket.org/





kodlama başlasın !


Populer Rails app hosters


  • Heroku           http://heroku.org/
  • Engineyard   https://www.engineyard.com/



VPS yada aws kullanmak İstİyorsak

  • Phusion Passenger
  • Capistrano

RoR workshop

By Kader Sucuk

RoR workshop

Pamukkale Üniversitesi Women Developers Day

  • 1,175