Rails İle Ağ Uygulamaları Geliştirimi



Benzer belgeler
Ruby On Rails. Hüseyin Gömleksizoğlu

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

Sunum Planı. Django Nedir? Django projesi oluşturmak Basit bir blog uygulaması. Şablon Kullanımı Diğer özellikleri

Android e Giriş. Öğr.Gör. Utku SOBUTAY

İnternet Programcılığı

ÖZGÜR YAZILIMLAR İLE J2EE

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

Java EE 5 Teknolojileri Jboss Seam

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

Symfony Doctrine. Symfony-Doctrine. Deniz Bahadr GÜR, Mehmet Onur YALAZI. Özgür Web Teknolojileri Günleri, 2010

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü

Aktarımı Çalıştırmak/Geri Almak 146 Alan Seçenekleri 148 Veri Tabanı Şeması 150 Veri Tabanı ile İlgili Bazı Rake Görevleri 162 Modeller 164

Client Server Database

Bu bölüm V- Ray License Server lisans sunucusu uygulamasının kurulumundan

Çerezleri (Cookie) ve Önbelleği (Cache) Temizleme

ENFORMATİK Dersin Amacı

Spring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş.

=~ Metodu 92 Karakter Sınıfları 94 sub ve gsub metotları 101 Hızlı Tekrar 102 Kontrol Noktası 103 Düello 106 Sonraki Bölümde 109

PBBI Konumsal Zeka (MapInfo Suite) 6. MapInfo Kullanıcılar Konferansı. Çözüm ve Ürün Tanıtımı

Programlama Yazılımı ile Web Sitesi Oluşturma

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

Web Uygulamaları Mimarileri ve Güvenliği

Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, 3 Mayıs 2007

MVP, Observer ve Mediator Örüntüleri ile Yeniden Kullanılabilir Uygulama Bileşenleri Geliştirme

Pardus. Erkan Tekman, T. Barış Metin. 18 Mayıs Ulusal Dağıtım Projesi Ulusal Elektronik ve Kriptoloji Enstitüsü. Pardus için 10 Neden

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4

Gitlab ile Web Tabanlı Git Deposu Yönetimi

Efe Çiftci Çankaya Üniversitesi Bilgisayar Mühendisliği Bölümü Kasım 2012 CENG 191 Computer Engineering Orientation Özel Sunumu

Ders Kodu Yarıyıl T+U Saat Kredi AKTS. Programlama Dilleri

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Sertan Kolat

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması

Kurulum 14 FTP ye Bağlanmak ve Dosyaları Atmak 14 Veritabanı Oluşturulması ve Bağlanıp Kurulumun Tamamlanması 15

Flow Kullanım Klavuzu Mart 2014

Bilgisayar Dersi. Öğr. Gör Kağan GÜL. Kırşehir Ahi Evran Üniversitesi

2.Eclipse açıldıktan sonra Workspace alanı seçilmesi gerekir. Workspace alanı projelerinizin fiziksel olarak bulunduğu kısımdır.

Qlik Sense için sistem gereksinimleri. Qlik Sense June 2017 Copyright QlikTech International AB. Tüm hakları saklıdır.

Openoffice.org Özgür Ofis Yazılımı

CakePHP 2.x. Burak USGURLU Linux Yaz Kampı Haziran - 8 Temmuz - Bolu İzzet Baysal Üniversitesi

PHP ile İnternet Programlama

MyFaces Özgür JSF Uyarlaması. Bora Güngören Portakal Teknoloji

Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010

Üst Düzey Programlama

Ü ş ş ö ş ş ş ş ş ö ş ö ö ş ş ö ş ö ö ö ö ş ö ş ş ö ş ş ş ö ş ş ş ş Ç ş Ç ş ş Ö ö ö ş ş ş ö ş ş ö ö ö ö ö ş ö ş ş ş ş ş ş ş ş ş ö ş

FortiGate Proxy Yazılımlarını Bloklama. v5.00-ga5-build /01

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

İNÖNÜ ÜNİVERSİTESİ MALATYA MESLEK YÜKSEKOKULU DERS TANITIM FORMU. Kredisi AKTS Eğitim Dili Tipi: Zorunlu/ Saat

Akdeniz Üniversitesi

C# nedir,.net Framework nedir?

Özgür Yazılımlar ile Kablosuz Ağ Denetimi

Bilgi güvenliği konusunda farkındalık yaratmak. Mobil cihazlardaki riskleri anlatmak. Mobil uygulamaların bilgi güvenliği açısından incelemek 2

Qt Temelleri. Eren BAŞTÜRK.

Disk Alanı 100 Mb Mb Mb Mb Mb Mb. Aylık Trafik (Bandwidth) 1 Gb 5 Gb 10 Gb 15 Gb 25 Gb 35 Gb

Akdeniz Üniversitesi

Web Uygulama Anaçatıları. Tahir Emre KALAYCI. May 5, 2009

SUBVERSION VE TRAC A GİRİŞ

Blog ve WordPress Kavramları 2. WordPress.com a Nasıl Üye Olabilirim? 10. Nelere İhtiyacımız Var? 18

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

AKINSOFT Market Otomasyonu. IBM POS Genius. Yardım Dosyası. Sayfa 1

Veri Tabanı Yönetim Sistemleri Bölüm - 02

.com. Kurumsal Java. Özcan Acar com

Bilgi Güvenliği Denetim Sürecinde Özgür Yazılımlar. Fatih Özavcı Bilgi Güvenliği Danışmanı

Mobil Test Otomasyon Araçları Bilgilendirme Test Ekibi Şubat 2017

08220 Internet Programcılığı II

Temel Bilgi Teknolojileri - I Ayrıntılı Ders İçerikleri

Ipv6 Destekli Özgür Video Konferans Yazılımı: Fi6en

ile Uygulama Geliştirme Teknikleri

A. Murat Eren. VI. Linux ve Özgür Yazılım Şenliği

ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

Ubuntu üzerine phpbb forum yazılımının 3.2 sürümünün kurulumu. Ocak, 2017

İNÖNÜ ÜNİVERSİTESİ MALATYA MESLEK YÜKSEKOKULU DERS TANITIM FORMU. Kredisi AKTS Eğitim Dili Tipi: Zorunlu/ Saat

İNÖNÜ ÜNİVERSİTESİ MALATYA MESLEK YÜKSEKOKULU DERS TANITIM FORMU. Kredisi AKTS Eğitim Dili Tipi: Zorunlu/ Saat

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 26 Şub Öğr. Gör.

1 İÇERİK YÖNETİM SİSTEMLERİ VE JOOMLA 1. İçerik Yönetim Sistemi (CMS) Nedir? 1. Neden Joomla? 2. Joomla nın Tarihi 3. Joomla nın Anlamı & Logosu 4

Javascript Geliştiricileri İçin Xaml Ve Microsoft Silverlight

Açık Kod VPN Çözümleri: OpenVPN. Huzeyfe ÖNAL

Java Temel Özellikleri

Linux İşletim Sistemi Tanıtımı

.com. Özcan Acar 2009 Kurumsal Java.com

İÇERİK YÖNETİM SİSTEMİ (CMS) Bir web sitesi yayınlamak için yapılması gerekenler:

Open Source Coding: Python

Internet Programming II

FreeBSD Nedir? Ömer Faruk Şen EnderUNIX.ORG Core Team Üyesi

LDAP VE WORDPRESS İLE

İÇERİK 2 Java Kodlaması için Gerekli Programlar JRE, JDK kurulması ve Başlangıç Ayarları Java Kodlamayı Kolaylaştıran IDE ler Java Kod Yapısı İlk Java

Mesut Sinan Kazancı. Kişisel Bilgilerim. İş Deneyimlerim

WINDOWS SERVER 2008 R2-SERVER 2012 DE IP SANALLAŞTIRMA

1.Debian. 2.Ubuntu. Şekil 1. Güncel logosu

Python GELECEK. Barış Metin Linux Sistemleri. Python Programlama Dili

Sanayi Marketi

Sanayi Marketi

Yükleme kılavuzu Fiery Extended Applications 4.2 ile Command WorkStation 5.6

19 Şubat 2016 Cuma

Google Play Zararlısı İnceleme Raporu

Pardus. S.Çağlar Onur, 21 Aralık Pardus Projesi [TÜBİTAK / UEKAE] Linux Kullanıcıları Derneği

Qlik Sense için sistem gereksinimleri. Qlik Sense 3.2 Telif Hakkı QlikTech International AB. Tüm hakları saklıdır.

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

Makey Oz Modülünü Bilgisayardan Programlamak Uygulama Kurulumu

Transkript:

Rails İle Ağ Uygulamaları Geliştirimi Murat Ârif ÇELİKER murat.celiker@gmail.com 4 Mayıs 2007 1. Özgür Yazılım Konferansı / Ankara, ODTÜ

Ruby On Rails < Ruby Rails Uygulama Geliştirme Altyapısıdır. Rails Ruby diliyle kodlanır. module rails class ActionController class ActionView class ActiveRecord class ActiveMigration class...

Ruby.Özet Basit Söz Dizimi Tamamen Nesnellik Gelişmiş Kütüphaneler Esneklik Kod Blokları Yeniden Yazılabilirlik

Rails.Özet Gerçek uygulamalardan derlenmiştir. Ruby diliyle yazılmıştır. Yüksek geliştirilme ivmesine sahiptir. Yeni nesil Web Teknolojilerini yakından takip eder. Teknolojilere tümleşik destek sağlar. Bol kütüphaneye sahiptir. Hızlıca yazılım üretebilir.

Rails'in Mevcut Durumu Çok büyük yazılımlarda kullanılmaktadır. 37Signals ürünlerinin 1.000.000 dan fazla kullanıcısı vardır. Shopify hızlıca market inizi açmayı sağlar. Stikipad Rails ile kodlanmıştır. Rails 1.2.3 Sürümü 14 Mart'ta yayımlanmıştır. Web 2.0'ı temsil eden web uygulama geliştirme altyapısı olmuştur. Her gün onlarca yeni iş ilanı eklenmektedir. Oturmuş bir yapıya 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 Hızlı Kurulum Dosyaları Windows: Instant Rails Mac OsX 10.5 Öncesi: Locomotive Mac Os X 10.5 Rails ile beraber gelmektedir.

Rails Editörleri Aptana RadRails Eclipse tabanlıdır. Geliştirilmesini Aptana üstlenmektedir. NetBeans 6.0 Yeni çıkacak sürümünde tümleşik Ruby & Rails desteği sağlayacaktır. TextMate Mac OS X tabanlı Rails geliştiricilerin de kullandığı editördür. Komodo Ide & Komode Edit Platform bağımsız, Rails ve Ruby desteğine sahiptir. Komodo IDE ücretlidir. Jedit (jedit Ruby) Platform bağımsız, Ruby eklentisine sahiptir. gvim ruby.vim eklentisi ile platform bağımsızdır.

Rails Çalışma Prensipleri MVC (Model View Controller) Model : ActiveRecord View : ActionView (erb) Controller : ActionController Dosya Yerleşim Yapısı app: genel yazılım kodları app/controllers: denetleyici dosyaları app/models: şablon dosyaları app/views/denetleyici: görünüm dosyaları components: bileşenlere bağlantı dosyaları config: genel ayar dosyaları (yaml, rb) db: veritabanı yapıları (ActiveRecord::Migration) public: medya dosyaları test: test dosyaları ve çıktıları

Rails Kütüphaneleri ActionController Oturumlar (Sessions) Çerezler (Cookies) Yönlendirmeler Renders Önbellek (Cache) Filtreleme (before_filter, after_filter, around_filter) Sayfalama (Pagination) Makrolar (auto_complete_for, in_place_edit_for) Dosya Gönderim İşlemleri (Upload) Scaffolding

Rails Kütüphaneleri ActionView ERb ( Embedded Ruby ) <%= çıktı ver %> <% unless @kayit.zero? %> _kısımlıkşablon Xml.Builder (.rxml) ActionView::Helpers FormHelper DateHelper JavaScriptHelper TextHelper Prototype Helper ScriptaculousHelper...

ActiveRecord ORM Object Relational Mapper Ruby DBI ile veritabanı bağımsızlığı Veritabanı uyumsuzluğunu ortadan kaldıran ActiveRecord::Migration Tüm veritabanı yükünü üstünüzden alır.

ActiveRecord Sınıfları Tablo İlişkilendirmeleri (::Associations) Alanı Sınıfsal Kümeleme (::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 Gözlemci (ObServer) class YorumObserver < ActiveRecord::Observer def after_save(yorum) Bilgilendirme.yorum_gonder("murat.celiker@gmail.com", "Yeni Yorum Var!", yorum) end end

Seminer Uygulaması Rails İle Blog Yazılımı geliştirerek uygulama üzerinde Rails'in yapısının görülmesi ve bazı ince noktalar. turkce.rb dosyası ve görevleri RadRails editörü kullanımı Rails İle Ağ Uygulamaları Geliştirimi Murat Arif ÇELİKER www.muarifer.com

Rails İle Ağ Uygulamaları Geliştirimi Murat Ârif ÇELİKER murat.celiker@gmail.com 4 Mayıs 2007 1. Özgür Yazılım Konferansı / Ankara, ODTÜ