Giter Club home page Giter Club logo

ruby101-kitap's Introduction

Ruby 101 Kitabı

Build Status

%74

Önsöz

Kitap yazmak hep hayalini kurduğum bir şeydi. Hem kendi işime yarayacak hem de başkalarının işini görecek bir kitap olmalıydı. Aslında bir sene önce bu işe soyundum ama bir türlü fırsat bulamadım.

Kafamda kabaca planlar yaptım hep ama son noktayı bir türlü koyamadım. Gitbook.io bu konuda çok işime yaradı. Hem beni fişekledi hem de GitHub ile kolay entegre olması kendimi organize etmem açısından çok rahat oldu.

Hep O'Reilly'nin Pocket yani cep kitaplarına bayılmışımdır. Hem boyut itibariyle hem de içerik anlamında. Sürekli yanınızda taşıyabileceğiniz, içinde konusuyla ilgili herşeyin kompakt bir şekilde bulunduğu kaynak.

Amacım, bu kitaplar tadında, her zaman yanınızda bulunabilecek, tabiri caizse başucu kitabı hazırlamak.

Kitabı hazırlarken en çok zorlandığım kısım İngilizce'den anlamlı Türkçe metinler çıkartmak oldu. Bazı şeyleri İngilizce olarak ifade etmek çok kolay, fakat bazı durumlarda tam Türkçe anlamlı karşılık bulmak gerçekten zor oluyor.

Prensip olarak Developer (Yazılım Geliştiren Kişi) denen insanın default olarak İngilizce bilmesi gerektiğine inanıyorum. Neden? Örneğin milyonlarca açık-kaynak projenin bulunduğu GitHub'da herkes İngilizce konuşuyor.

Takıldığınız bir konuda, GitHub'da yorumları okumanız gerekecek. Hatta bazen siz bir şey soracaksınız. Issue'lara bakacaksınız, Pull Request yapacaksınız. Gördüğünüz gibi bir cümlede iki tane İngilizce terim. Bunlar evrensel. Bilmemiz gerekiyor yoksa çuvallarız :)

Özellikle pek çok şeyi olduğu gibi İngilizce olarak kullanmak istedim. Tabii ki Türçe anlamını da yazdım fakat, genel olarak kullandığım terminoloji Ruby ve yazılım geliştirme terminolojisi.

Örneğin Constant dediğimde bunun ne anlama geldiğini anlamış olmanız gerekiyor. Ya da Instance dediğimde, bunun sınıftan oluşturulmuş bir nesne olduğunu anlamanız gerekiyor.

Yazılım dünyası ne yazık ki İngilizce ve tüm kaynaklar da İngilizce. Bu bakımdan orijinal kelimeleri ve terminolojiyi öğrenmemiz, bilmemiz şart :)

Lisans Mevzusu

Prensip olarak, GitHub'a Public olarak koyduğum herşey, herkes tarafından her türlü şekilde kullanılabilir. Bence Public olarak sürülen bir şey (ki ben eski Amiga'cı Public Domain'ci biriyim) herkesin tepe tepe kullanabilmesi amaçlı olmalıdır.

Her türlü lisans olayına karşıyım. Eğer bir tür lisanslama yapacaksanız kendinize saklayın :)

Bu kitap ananızın ak sütü gibi hepinize helal olsun. Umarım işinize yarar!

Kitabı online olarak okumak için:

https://www.gitbook.io/book/vigo/ruby-101

Tamamlanma Durumu

Bölüm 1

%94

  • Ruby Hakkında (%100)
  • Kurulum (%100)
  • İnteraktif Kullanım (%80)
  • Ruby Komutu ve Parametreleri (%98)

Bölüm 2

%100

  • Syntax (Söz Dizimi) ve Rezerve Kelimeler (%100)
  • Değişkenler (%100)
  • Ön Tanımlı ve Pseudo (Gerçek Olmayan) Değişkenler (%100)
  • Operatörler (%100)
  • Global Constants (Genel Sabitler) (%100)

Bölüm 3

%100

  • Methods (Fonksiyonlar) (%100)
  • Blocks (Bloklar) (%100)
  • Proc ve Lambda (%100)
  • Conditional Statements (Koşullar) (%100)

Bölüm 4

%100

  • Object (%100)
  • Number (%100)
  • String (%100)
  • Array (%100)
  • Hash (%100)
  • Symbol (%100)
  • Class ve Module (%100)

Bölüm 5

%50

  • Enumeration ve Iteration (%100)
  • Ranges (%100)
  • File System ve IO (Dosya Sistemi) (%50)
  • Exception Handling (--)
  • Kernel Modülü (--)

Bölüm 6

%28

  • Monkey Patching (--)
  • Regular Expressions (--)
  • Time ve Date Nesneleri (--)
  • Ruby Paketleri: RubyGems (100%)
  • Paket Yöneticisi: Bundler (--)
  • Komut Satırı (Command-Line) Kullanımı (--)
  • Meta Programming (%100)

Kod Yazma Tarzı (Style Guide)

%98

Gerçek Hayat Ruby Örnekleri

%25

  • Neden Ruby? (%100)
  • Ruby ve TDD/BDD/CI (--)
  • Kendi Rubygem'imizi yapalım! (--)
  • Sinatra ve Web (--)

ruby101-kitap's People

Contributors

vigo avatar aliozgur avatar bbg avatar bahattincinic avatar beratdogan avatar fkoksal avatar cenan avatar

Watchers

James Cloos avatar ilhan Tekir avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.