Ruby 101

Ruby 101

9c55af85fdee9df09c5fa7dd3d1945b0?s=128

Tayfun (Öziş) Erikan

March 08, 2019
Tweet

Transcript

  1. RUBY 101 Ruby Programlama Dili ve Ruby Ekosistemi Tayfun Öziş

    ERİKAN, Genel Koordinatör Lab2023 Bilişim Teknolojileri AŞ tayfun.ozis.erikan@lab2023.com - @toziserikan
  2. Ben kimim? • “Lab2023” Kurucu ortağı & Genel Koordinatör •

    “Bulutfon” Kurucu ortağı • Web geliştirici • Ruby / Rails , ExtJS, Sencha Touch, Sass, Compass • Front-end & Graphic, UI, UX • Native & Web Tabanlı Mobil Geliştirici • tayfun.ozis.erikan@lab2023.com - @toziserikan • www.tayfunoziserikan.com
  3. –Matz “Dünyadaki tüm programcılara daha yaratıcı olmaları, programlardan keyif almaları

    ve mutlu bir geliştirme yapmalarını istiyorum…”
  4. Ruby nedir ? • Ruby programlama dili 1993 yılında Yukihiro

    Matsumoto (Matz) tarafından, Perl, Python, Smalltalk, Eiffel, Ada ve Lisp gibi dillerden esinlenilerek geliştirilmiştir. • Bu dillerin eksilerini atıp artılarını alarak kendi tarzını yaratan Matz, koddan çok işinize odaklanabileceğiniz ve okunabilirliği yüksek, sade ve keyifli bir programlama dili yaratmıştır. Bu kadar sade bir dil olmasına rağmen altyapısı oldukça güçlü bir programlama dilidir. • Ruby programlama dilinin ilk göze çarpan özelliği ingilizceye çok yakın ve okunabilirliği çok yüksek bir dil olmasıdır. Bu da öğrenme sürecini hızlandırmaktadır.
  5. Neden ruby? 3.times { puts “We love ruby!” }

  6. Neden ruby? • Basitlik, sadelik ve anlaşılabilirlik • Nesne yönelimli

    olması. Herşey nesne! • Öğrenmesi kolay • Her platformda çalışabilir • Birçok dilde satırlarca kodla yaptığınız işi ruby’de çok az satırla yapabilirsiniz • Ekosistemi çok güçlü
  7. Ruby ile neler yapabilirsiniz ?

  8. Mobil Uygulama

  9. Web Uygulamaları

  10. Web Uygulamaları

  11. Robotik - Elektronik

  12. Ruby Gems

  13. None
  14. The Ruby Toolbox

  15. Ruby Temellerine Göz Atalım

  16. Nesneler Ruby’de herşey bir nesnedir. String, Integer, Array, ActiveRecord::Models v.b.

  17. Methodlar (Fonksiyonlar) Methodlar nesnelerin eylem veya iş yapan parçacıklarıdır. “Tayfun”.reverse

    => “nufyaT” 3.even? => false
  18. Methodlar (Fonksiyonlar) Methodlar çoğu zaman parametre alırlar. Parametreler genellikle parantez

    içinde kullanılır. “Ben yürümeyi severim.sub(“yürümeyi”, “uyumayı”) => Ben uyumayı severim.
  19. Çekirdek Methodlar Bazı methodlar heryerden erişilebilir. gets # terminalden string

    okur puts “hello” # terminale çıktı verir exit # programdan çıkar
  20. Methodlar (Fonksiyonlar) Kendi methodlarınızı tanımlayabilirsiniz. “Tayfun,”.say_hi => Tayfun merhaba!

  21. Method zincirleme Methodları ardı ardına çalıştırabilirsiniz. “Hello dlrow”.reverse.sub(“dlrow”, “world”).capitalize =>

    "World olleh"
  22. Değişkenler Değişkenler programda daha sonra kullanmak üzere veri saklamak için

    kullanılır. Basit bir kelime ile tanımlarsınız. İstediğiniz zaman ve yerde değişken tanımlayabilirsiniz.
  23. Strings Text saklamak için kullanılan değişkendir. (Kelime,paragraf v.b.) “rail”.lenght =>

    4 “rail”.reverse => liar “rail”.capitalize => Rail “Ruby on” + “rails”.capitalize => Ruby on Rails “Ruby on rails”.split(“”) => [“Ruby”, “on”, “Rails”]
  24. Array Liste türündeki veri kümeleridir programlama_dilleri = [“ruby”, “python”, “lisp”,

    “ada”] => [“ruby”, “python”, “lisp”, “ada”] programlama_dilleri.count => 4 programlama_dilleri.sort.join(“, ”) => ada, lisp, python, ruby programlama_dilleri[2] => lisp
  25. Hashes key / value şeklindeki veri türleridir books = {“title”

    => “Harry potter”, “author” => “J.K. Rowling”, “page_count” => 320} book[“author”] => J.K. Rowling
  26. Try ruby! Yeterince konuştuk biraz da kod yazalım :)

  27. Bazı Kaynaklar • http://ruby-lang.org • http://rubygems.org • http://bundler.io • https://github.com/ruby

    • https://www.ruby-toolbox.com/ • https://github.com/lab2023/playbook/blob/master/development/ruby.md • https://github.com/lab2023/kamp2013/blob/master/KAYNAKLAR.md • Ruby Turkiye - http://www.rubyturkiye.org
  28. Teşekkürler Soru-cevap Tayfun Öziş ERİKAN, CTO Lab2023 Bilişim Teknolojileri AŞ

    tayfun.ozis.erikan@lab2023.com - @toziserikan