rails İle ağ uygulamaları geliştirimi
TRANSCRIPT
Rails le A Uygulamalar Gelitirimi
Murat rif ELKER
4 Mays 2007
1. zgr Yazlm Konferans / Ankara, ODT
Ruby On Rails < Ruby
Rails Uygulama Gelitirme Altyapsdr.
Rails Ruby diliyle kodlanr.
module rails
class ActionController
class ActionView
class ActiveRecord
class ActiveMigration
class ...
Ruby.zet
Basit Sz Dizimi
Tamamen Nesnellik
Gelimi Ktphaneler
Esneklik
Kod Bloklar
Yeniden Yazlabilirlik
Rails.zet
Gerek uygulamalardan derlenmitir.
Ruby diliyle yazlmtr.
Yksek gelitirilme ivmesine sahiptir.
Yeni nesil Web Teknolojilerini yakndan takip eder.
Teknolojilere tmleik destek salar.
Bol ktphaneye sahiptir.
Hzlca yazlm retebilir.
Rails'in Mevcut Durumu
ok byk yazlmlarda kullanlmaktadr.
37Signals rnlerinin 1.000.000 dan fazla kullancs vardr.
Shopify hzlca marketinizi amay salar.
Stikipad Rails ile kodlanmtr.
Rails 1.2.3 Srm 14 Mart'ta yaymlanmtr.
Web 2.0' temsil eden web uygulama gelitirme altyaps olmutur.
Her gn onlarca yeni i ilan eklenmektedir.
Oturmu bir yapya sahiptir.
Rails Kurulumu
Ruby Kurulumu
pisi it ruby
Windows Ruby One Click Installer
RubyGems Kurulumu
http://www.rubygems.org/
ruby setup.rb
Rails Kurulumu
sudo gem install rails --include-dependencies
Hzl Kurulum Dosyalar
Windows: Instant Rails
Mac OsX 10.5 ncesi: Locomotive
Mac Os X 10.5 Rails ile beraber gelmektedir.
Rails Editrleri
Aptana RadRails
Eclipse tabanldr. Gelitirilmesini Aptana stlenmektedir.
NetBeans 6.0
Yeni kacak srmnde tmleik Ruby & Rails destei salayacaktr.
TextMate
Mac OS X tabanl Rails gelitiricilerin de kulland editrdr.
Komodo Ide & Komode Edit
Platform bamsz, Rails ve Ruby desteine sahiptir. Komodo IDE
cretlidir.
Jedit (jEdit Ruby)
Platform bamsz, Ruby eklentisine sahiptir.
gVim
ruby.vim eklentisi ile platform bamszdr.
Rails alma Prensipleri
MVC (Model View Controller)
Model : ActiveRecord
View : ActionView (eRB)
Controller : ActionController
Dosya Yerleim Yaps
app: genel yazlm kodlar
app/controllers: denetleyici dosyalar
app/models: ablon dosyalar
app/views/denetleyici: grnm dosyalar
components: bileenlere balant dosyalar
config: genel ayar dosyalar (yaml, rb)
db: veritaban yaplar (ActiveRecord::Migration)
public: medya dosyalar
test: test dosyalar ve ktlar
Rails Ktphaneleri
ActionController
Oturumlar (Sessions)
erezler (Cookies)
Ynlendirmeler
Renders
nbellek (Cache)
Filtreleme (before_filter, after_filter, around_filter)
Sayfalama (Pagination)
Makrolar (auto_complete_for, in_place_edit_for)
Dosya Gnderim lemleri (Upload)
Scaffolding
Rails Ktphaneleri
ActionView
ERb ( Embedded Ruby )
_ksmlkablon
Xml.Builder (.rxml)
ActionView::Helpers
FormHelper
DateHelper
JavaScriptHelper
TextHelper
Prototype Helper
ScriptaculousHelper
...
ActiveRecord ORM
Object Relational Mapper
Ruby DBI ile veritaban bamszl
Veritaban uyumsuzluunu ortadan kaldran ActiveRecord::Migration
Tm veritaban ykn stnzden alr.
ActiveRecord Snflar
Tablo likilendirmeleri (::Associations)
Alan Snfsal Kmeleme (::Aggregations)
Acts_as_... Makrolar
acts_as_list , acts_as_tree , acts_as_nested_set ,
acts_as_attachment
CallBacks
after_create , after_destroy , after_save , after_validation ,
before_create , ...
Alan Kontrolleri
validate, validates_presence_of, validates_numericality_of ,
validates_uniqueness_of,
validates_format_of :eposta, :with =>
/\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :on =>
:create
Gzlemci (ObServer)
class YorumObserver < ActiveRecord::Observer
def after_save(yorum)
Bilgilendirme.yorum_gonder("[email protected]", "Yeni Yorum
Var!", yorum)
end
end
Seminer Uygulamas
Rails le Blog Yazlm gelitirerek uygulama zerinde Rails'in yapsnn grlmesi ve baz ince noktalar.
turkce.rb dosyas ve grevleri
RadRails editr kullanm
Murat Arif ELKERwww.muarifer.com
Rails le A Uygulamalar Gelitirimi
Rails le A Uygulamalar Gelitirimi
Murat rif ELKER
4 Mays 2007
1. zgr Yazlm Konferans / Ankara, ODT