Ruby On Rails ● Hüseyin Gömleksizoğlu ●

Slides:



Advertisements
Benzer bir sunumlar
SGB.NET’İN TEKNİK ALTYAPISI
Advertisements

ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama
Yazılım Geliştirme ve Java
COME 339 JAVA-SQL BAĞLANTISI
Linux Terminal Sunucusu
Mysql, PhpMyAdmin, PHP, Dinamik Web Sayfası, PHPNuke Kullanımı
Ardesenmyo.wordpress.com.
MySQL Veritabanı Sunucusu ve MySQL Veritabanı Kullanımı
WEB SAYFASI NASIL HAZIRLANIR?
DİCLE ÜNİVERSİTESİ AKADEMİK BİLGİ SİSTEMİ (AKADEMİKWEB)
Nedir? Türkiye PHP Grubu – Dokuz Eylül Üniversitesi
İnternet Programcılığı
Web Host Manager (WHM) Nedir Ne İşe Yarar ?
04/02/10 Django Web Uygulamaları Geliştirmede Çağdaş bir Yaklaşım.
Çevre ve Orman Bakanlığı Bilgi İşlem Dairesi Başkanlığı
DOVECOT İLE IMAP VE POP3 SERVER KURULUMU
JavaScript Javascript , Netscape firması tarafından C dilinden esinlenilerek yazılmıştır Yazılma amacı Html'in sahip olmadığı bazı özelliklerin web sayfalarında.
MySQL, SQL ve PHP Öğr.Gör.Şükrü KAYA.
DHCP.
Management Studio Kullanımı
 HTML nin en önemli araçlarından biri de bilgi girişinde kullanılan form kontrolleridir.  Formlar, web sayfası tasarlayan kişi veya şirketlerle internet.
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
HAZİRAN ASP ACTIVE SERVER PAGES Demet AMİNCİ Selçuk YUVARLAK Yusuf ŞENEL Endüstri Mühendisliğinde Bilgisayar Uygulamaları Dersi Projesi, 2004.
CONTENT MANAGEMENT SYSTEM (İÇERİK YÖNETİM SİSTEMLERİ)
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
Windows için mysql kurulumu sitesinden mysql veritabanının ilgili sürümü indirilir. Biz.
İnternet Programlama PHP.
KOBİ – ŞİRKET PORTALI BİTİRME PROJESİ EMRE UYUMAZ & ANIL GÜR.
NOTEPAD++.
PHP.
Hayrettin Bucak Sistem yöneticisi TÜBİTAK ULAKBİM Ekim 2003.
İKMAP İnternet 1 Ders Notu
ASP.NET Web FORMS -> MVC FRAMEWORK
Web Tasarımı ve Adobe Muse
ÇOK KATMANLI MİMARİLER. Katman: Ortak işi yapan kodların bir yerde toplanması Örneğin hemen hemen her projemizde veri tabanı kullanırız, bunun için veritabanı.
Dersi Özeti Kursun içeriğini özeti Alt başlıkları Proje Kurs esnasında kullanmayı planladığımı editörler HTMLe giriş Temel etiketler Notepad+’da.
Modül 1: Giriş. Genel Bakış Temel.NET kavramları Geliştirme ortamında gezinti Bir C# projesi oluştur Use Visual Studio.NET Veriye eriş Hata ayıkla ve.
Meteoroloji Genel Müdürlüğü Gözlem Sistemleri Dairesi Başkanlığı
Akıllı İstemcileri Geliştirmek ve Dağıtmak
GGJ 2016 Oyun Yükleme GGJ Takımı. Bir GGJ kullanıcısı olmalısınız. Bir oyunu sisteme yüklemek için: 1. Bir GGJ hesabınız olmalı. 2. Bir jam merkezini.
 Linux’te temel dosya sistemi güvenliği kullanıcıların dosya ve dizinler üzerindeki erişim izinlerinin belirlenmesiyle sağlanır. Bir dosya veya dizinlere.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
İÇERİK YÖNETİM SİSTEMİ Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
PARDUS İŞLETİM SİSTEMİ. PARDUS  Pardus adı : Anadolu parsı adlı kediğillerden gelmektedir.
İÇERİK YÖNETİM SİSTEMİ Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu.
Visual Studio 2010 Menüler. File Tümü Kaydet Şablonu Ver Kaynak Kontrolü Sayfa Ayarları Yazdır Ctrl+P Çıkış Alt+F4 Seçili Nesne. Farklı kaydet Kapat Dizini.
ÇAKIL SU KIRLI ANIL CAN AKKAYA SENA ÖNDER ÇAĞRI KUÇAT CEREN ERGİN DORUK ERTÜRK.
Web Tasarımı 2.Hafta. HTML Nedir  Hyper Text Markup Language (Hiper Metin İşaretleme Dili) web sayfalarını oluşturmak için kullanılan standart metin.
SUNUCU İŞLETİM SİSTEMLERİ
Muharrem Taç
One Touch Video Kurumlar, İşletmeler ve Çağrı Merkezleri için internet tabanlı ve mobil etkileşimli video çözümü 2010 Avaya Inc. All rights reserved.
Akademik Kütüphaneler için Basit Arama Kullanım Kılavuzu
Ruby On Rails Hüseyin Gömleksizoğlu
Server Yönetim Programları
ACTIVE DIRECTORY.
SYSLOG SERVER KURULUMU
LDAP ( LİGHTWEİGHT DİRECTORY ACCESS PROTOCOL )
ANDROID STUDIO İLE UYGULAMA GELİŞTİRME ÖRNEKLERİ 2 SAVAŞ TUNÇER.
İNTERNET PROGRAMCILIĞI 2
Uzm. Rıdvan YAYLA – Bilecik Üniversitesi Müh. Fak. Bilg. Müh. Bölümü
J-guar Uyarlama Aracı Arif BATTAL Uyarlama Araçları Danışmanı.
Mustafa COŞAR- Murat DOĞAN- İsmail ARIK Hitit Üniversitesi
YAZILIM KOD ÜRETEÇLERİ
Dosya/Dizin İzinleri - Dosya sahibinin izinleri (Dosyanın sahibi : u)
Asp.Net Veritabanı İşlemleri
Genel PHP Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan
Emre AKADAL Şebnem ÖZDEMİR Dr. Zerrin AYVAZ REİS
PHP FRAMEWORKLERİN KARŞILAŞTIRILMASI ve LARAVEL FRAMEWORKÜN İNCELENMESİ Hakan KÖR1, Hasan ERBAY2 1Hitit Üniversitesi, Uzaktan Eğitim Merkezi, Çorum 2Kırıkkale.
MADDE VE YAPISI TEST.
Sunum transkripti:

Ruby On Rails ● Hüseyin Gömleksizoğlu ●

9/19/2016 page 2 Belge Lisansı Bu belgeyi, Free Software Foundation tarafından yayınlanmış bulunan GNU Özgür Belgeleme Lisansının 1.2 ya da daha sonraki sürümünün koşullarına bağlı kalarak kopyalayabilir, dağıtabilir ve/veya değiştirebilirsiniz. Lisans'ın bir kopyasını adresinde bulabilirsiniz. Bu belgedeki bilgilerin kullanımından doğacak sorumluluklar ve olası zararlardan belge yazarı sorumlu tutulamaz. Bu belgedeki bilgileri uygulama sorumluluğu uygulayana aittir. Tüm telif hakları aksi özellikle belirtilmediği sürece sahibine aittir. Belge içinde geçen herhangi bir terim, bir ticari isim ya da kuruma itibar kazandırma olarak algılanmamalıdır. Bir ürün ya da markanın kullanılmış olması ona onay verildiği anlamında görülmemelidir.

9/19/2016 page 3 Acısız Web Programlama ● Ruby On Rails web programcılarının mutluluğu için geliştirilmiş bir altyapıdır. ● Kod karmaşasına girmeden, ayarları değiştirir gibi web uygulamarı geliştirmenize olanak sağlar. ● Uygulamanın alt yapısı ile uğraşarak acı çekmek yerine uygulamaya yönlenmenizi sağlar. ● Daha akıllı uygulamaların gelişmesine olanak sağlayarak insanların daha mutlu olmasını sağlar. Mutlu müşteri – Mutlu Programcı ● Müşterilere çok kısa zamanda çalışan uygulamalar gösterme olanağı sağlar ve proje bitim tarihlerinde rahat uyuyabilme imkanı verir.

9/19/2016 page 4 Rails Hakkında Kısa Bilgi... Rails tamamen Ruby dili ile yazılmış bir altyapı(framework)tur yılında bu yana sürekli gelişiyor. Şu anki güncel sürümü 1.2.2'dir. Son 5 saatte 79 yeni iş ilanı 4,000 req/sec Güncel sorunlara güncel çözümler Web uygulaması için gerekli tüm katmanları içerir Böylelikle “Kendinizi Tekrar Etmezsiniz” (Don't Repeat Yourself - DRY)

9/19/2016 page 7 Rails Kurulumu Ruby kurulur pisi install ruby veya dan kaynak kodundan derlenebilirwww.ruby-lang.org Gem kurulur rubyforge.org'den kaynak kodları indirilir. ruby setup.rb Gem aracılığı ile rails kurulur sudo gem install rails –include-dependencies

9/19/2016 page 8 Windows'a Rails Kurulumu

9/19/2016 page 9 Editörler vi / emacs TextMate Radrails Eclipse (RubyDevelopmentTools) FreeRide SciTE Arachno Editplus, notepad2 Klasör listesi gösterenler daha kullanışlı

9/19/2016 page 10 3 Katmanlı Mimari View Controller model veritabanı ● Kullanıcıdan bilgi alma ● Ekranda bilgi gösterme ● İşleyişi kontrol etme ● Karar verme ● Veritabanı işlemleri ● Veri üzerine işlemler

9/19/2016 page 11 Merhaba Dünya Uygulaması Yeni bir rails projesi yaratma Dosya yapısı Dosyaların içerikleri Web sunucusu Merhaba Dünya uygulaması

9/19/2016 page 12 Rails'in Dosya Yapısı En önemlileri app : Uygulamanın bizimle ilgili kısımı controllers models views helpers config : Uygulamanın ayarlarının bulunduğu kısım db : database ile ilgili dosyaların bulunacağı kısım log : logların bulunduğu kısım public : uygulamanın internete bakan kısmı script : gerekli betiklerin bulunduğu kısım test : test dosyalarının bulunduğu kısım

9/19/2016 page 13 Önemli noktalar Mongrel veya WebRick sunucuları porttan çalışır script'ler uygulamanın kök dizininden çalıştırılmalıdır Örneğin: ~/user/eskisehir/

9/19/2016 page 14 Merhaba Dünya

9/19/2016 page 15 Rails'in adres yapısı Rails bu yapıyı nereden biliyor? config/routes.rb dosyası içinde tanımlanır Dosya bazlı değil controller, action ve id bazlıdır Başka bilgiler de kullanılabilir Örneğin map.connect ':controller/:action/:id'

9/19/2016 page 16 Şablon Yapısı Rails şablon/template yapısını destekler Bir sayfa gösterilmeden önce app/views/layouts/application.rhtml veya app/views/layouts/:controller.rhtml app/views/:controller/:action.rhtml dosyalarını işler Application.rhtml dosyası varsa tüm sayfalar için o dosya kullanılır yoksa her controller için ayrı şablon dosyası kullanılır.

9/19/2016 page 17 3 Katmanlı Yapı Control ler View model veritabanı Sunucu Routin g

9/19/2016 page 18 Controller'dan View'e Bilgi Gönderme Controller üzerinde bilgi üret View üzerine bilgileri aktar İkinci Action ve view yarat İki view arasında geçişler yap

9/19/2016 page 19 Veritabanı işlemleri Rails veritabanına erişmek için Ruby'nin veritabanı sürücülerini kullanır Uygulama içindeki config/database.yml dosyasına göre bağlanır. 3 farklı çalışma durumuna göre farklı veritabanları kullanır. Development – Geliştirme Production – Yayın, sürüm Test Veritabanı işlemleri ile MCV yapısında Model katmanı ilgilenir

9/19/2016 page 20 config/database.yml development: adapter: mysql database: eskisehir_development username: root password: host: localhost socket: /var/run/mysqld/mysqld.sock production: adapter: mysql database: eskisehir_production username: root password: host: localhost socket: /var/run/mysqld/mysqld.sock

9/19/2016 page 21 migration Uygulama versiyonları ile veritabanı arasındaki uyumsuzluğu gidermek için geliştirilmiş script/generate migration create_users rake migrate rake migrate VERSION=1 def self.up create_table :users do |t| t.column :name, :string end def self.down drop_table :users end

9/19/2016 page 22 Model bağlantıları has_one has_many belongs_to has_and_belongs_to

9/19/2016 page 23 Kontroller validates_presence_of :title, :description, :image_url validates_numericality_of :price validates_uniqueness_of :title validates_format_of :image_url, :with => %r{^ :message => "must be a URL for a GIF, JPG, or PNG image" protected def validate errors.add(:price, "should be positive") unless price.nil? || price >= 0.01 end Kontroller model üzerinde tanımlanır ve tüm sistem üzerinde geçerli olur.

9/19/2016 page 24 Kontroller # validates_acceptance_of # validates_associated # validates_confirmation_of # validates_each # validates_exclusion_of # validates_format_of # validates_inclusion_of # validates_length_of # validates_numericality_of # validates_presence_of # validates_size_of # validates_uniqueness_of

9/19/2016 page 25 Hata Ayıklama Ruby'nin debug kütüphanesini kullanır scripts/breakpointer breakpoint() view üzerinde debug(params)

Agile Web Development with Rails – 2. Baskı

SORULAR ?