code2 olarak internet teknolojileri olarak projelerimizi daha çok Ruby ekosisteminde yapmaktıyız.
Ruby nesne tabanlı bir programlama dilidir.
Websitesi
Popüler Kütüphanelerin arandığı site
İnteraktif
- http://tryruby.org/levels/1/challenges/0
- http://www.codeschool.com/courses/tag/ruby
- http://rubymonk.com/learning/books
Videolar
- http://www.lynda.com/Ruby-tutorials/essential-training/47905-2.html
- https://cooperpress.com/19walkthrough
Kitaplar
- http://www.amazon.com/Programming-Ruby-1-9-Pragmatic-Programmers/dp/1934356085
- http://www.amazon.com/Metaprogramming-Ruby-Program-Like-Pros/dp/1934356476/ref=pd_sim_b_9
- http://www.amazon.com/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330/ref=pd_sim_b_13
- http://www.amazon.com/Design-Patterns-Ruby-Russ-Olsen/dp/0321490452/ref=pd_sim_b_20
Rails, DHH tarafından oluşturulmuş Ruby dilindeki web frameworküdür.
Kullancıyı süre olarak bekletecek işlemleri arkaplan işlerine alıyoruz. Örneğin mail göndermek, excelden veri almak gibi.
resque Arkaplan işlerini yönetir.
resque_mailer mailleri arkaplan işlerine alıyor.
Proje başlangıcında full text search kullanmıyoruz. Projenin ilerleyen aşamalarında durumuna göre entegre ediyoruz.
Rails' te thinking-sphinx gem' i ile kullanıyoruz. Detaylı döküman http://pat.github.com/ts/en/
Twitter Bootstrap' ın Sass versiyonunu Rails' e entegre ediyor.
- https://www.ruby-toolbox.com/categories/css_with_ruby#bootstrap-sass
- https://github.com/thomas-mcdonald/bootstrap-sass
- http://rubydoc.info/gems/bootstrap-sass/frames
Bootstrap temalı HTML5 wysing editör.
- https://www.ruby-toolbox.com/projects/bootstrap-wysihtml5-rails
- https://github.com/Nerian/bootstrap-wysihtml5-rails
- http://rubydoc.info/gems/bootstrap-wysihtml5-rails/frames
Markup language.
- http://haml-lang.com
- https://www.ruby-toolbox.com/projects/haml
- https://github.com/haml/haml
- Ruby doc linki
- http://screencasts.org/episodes/introduction-to-haml
- http://www.youtube.com/watch?v=ILt6q_o2hts
Haml - Rails entegrasyonu yapar.
- https://www.ruby-toolbox.com/projects/haml-rails
- https://github.com/indirect/haml-rails
- Ruby doc linki
- http://screencasts.org/episodes/using-haml-with-rails-3
Bootstrap temalı date picker.
- ruby-toolbox linki
- https://github.com/Nerian/bootstrap-datepicker-rails
- Ruby doc linki
Breadcrumb(ekmek kırıntısı) için kullanıyoruz.
- ruby-toolbox linki
- https://github.com/weppos/breadcrumbs_on_rails
- Ruby doc linki
Modeldeki validasyonları alıp javascript ile client side' ta yapıyor.
- ruby-toolbox linki
- https://github.com/bcardarella/client_side_validations
- Ruby doc linki
- http://railscasts.com/episodes/263-client-side-validations
Sass mixin kütüphanesi.
- ruby-toolbox linki
- https://github.com/chriseppstein/compass
- Ruby doc linki
- http://railscasts.com/episodes/334-compass-css-sprites
Form generator.
- ruby-toolbox linki
- https://github.com/plataformatec/simple_form
- Ruby doc linki
- http://railscasts.com/episodes/234-simple-form
chosen javascript kütüphanesini projeye entegre etmemizi sağlıyor. Chosen uzun ve hantal select box' ları güzelleştiriyor.
- ruby-toolbox linki
- https://github.com/tsechingho/chosen-rails
- Ruby doc linki
Nested formları yönetmemizi sağlıyor. Form generator için gem kullanıyorsanız Gemfile' da hemen o gemin altına ekleyiniz. Böyle olmadığı zaman production' da çalışmıyor. Alternatif olarak https://github.com/ryanb/nested_form kullanılabilir. Fakat client side validasyonlarda sıkıntı çıkarıyor.
- ruby-toolbox linki
- https://github.com/nathanvda/cocoon
- http://rubydoc.info/gems/cocoon/1.1.2/frames
sitemap.xml.gz oluşturur.
Projeye config ayarları eklememizi sağlıyor.
- ruby-toolbox linki
- https://github.com/railsjedi/rails_config
- Ruby doc linki
Excel export yapar.
- ruby-toolbox linki
- https://github.com/arydjmal/to_xls
- Ruby doc linki
Durum yönetimi yapıyor.
- ruby-toolbox linki
- https://github.com/pluginaweek/state_machine
- Ruby doc linki
- http://railscasts.com/episodes/392-a-tour-of-state-machines
SOAP client.
- ruby-toolbox linki
- https://github.com/savonrb/savon
- Ruby doc linki
- http://railscasts.com/episodes/290-soap-with-savon
Arama ve sıralama.
- ruby-toolbox linki
- https://github.com/ernie/ransack
- Ruby doc linki
- http://railscasts.com/episodes/370-ransack
Zamanlanmış görevler.
- ruby-toolbox linki
- https://github.com/javan/whenever
- Ruby doc linki
- http://railscasts.com/episodes/164-cron-in-ruby-revised
Arkaplan işlerini yönetir.
- ruby-toolbox linki
- https://github.com/defunkt/resque
- Ruby doc linki
- http://railscasts.com/episodes/271-resque
Kullanıcı yetkilendirmesi yapıyor.
- ruby-toolbox linki
- https://github.com/ryanb/cancan
- Ruby doc linki
- http://railscasts.com/episodes/192-authorization-with-cancan
İnsancıl url üretir.
- ruby-toolbox linki
- https://github.com/norman/friendly_id
- Ruby doc linki
- http://railscasts.com/episodes/314-pretty-urls-with-friendlyid
Kullanıcı authentication.
- ruby-toolbox linki
- https://github.com/plataformatec/devise
- Ruby doc linki
- http://railscasts.com/episodes/235-devise-and-omniauth-revised
- http://railscasts.com/episodes/209-devise-revised
- http://railscasts.com/episodes/209-introducing-devise
- http://railscasts.com/episodes/210-customizing-devise
- http://railscasts.com/episodes/233-engage-with-devise
- http://railscasts.com/episodes/235-omniauth-part-1
- http://railscasts.com/episodes/236-omniauth-part-2
Model katmanına çoklu dil desteği eklemek için kullanıyoruz.
- ruby-toolbox linki
- https://github.com/svenfuchs/globalize3
- Ruby doc linki
- http://railscasts.com/episodes/338-globalize3
Kullanıcı davet sistemi için kullanıyoruz. İsmindende anlaşılacağı gibi devise gemi ile birlikte çalışıyor.
- ruby-toolbox linki
- https://github.com/scambra/devise_invitable
- Ruby doc link
ActiveRecord ve i18n destekli enum türünde veri oluşturmamızı sağlıyor. Örneğin homes tablosundaki home_type alanı için model katmanında enumları belirleyerek kullanabiliriz. Simple Form desteği mevcut.
- ruby-toolbox linki
- https://github.com/brainspec/enumerize
- http://rubydoc.info/gems/enumerize/0.5.1/frames
Tarih validasyonları için kullanıyoruz.
Geliştirme sürecinde proje içerisindeki mailleri göndermek yerine tarayıcıdan gösteriyor. Oluşturulan mailleri ise tmp klasörünün altına atıyor.
Geliştirme sürecinde route' ları veiwde gösteren bir gem. rails 4 ile birlikte varsayılan olarak geliyor.
- ruby-toolbox linki
- https://github.com/schneems/sextant
- Ruby doc linki
Rails' in standart error sayfasını daha kullanışlı bir sayafa ile değiştiriyor.
- ruby-toolbox linki
- https://github.com/charliesome/better_errors
- Ruby doc linki
- http://railscasts.com/episodes/402-better-errors-railspanel
Better errors için hata veren instancelerin inpectionlarının görünmesini sağlar. Better Errors' advanced features(REPL, local/instance variable inspection, pretty stack frame names)
Google chrome ile rails'ın debug edilmesine yarıyor.
- https://github.com/dejan/rails_panel
- https://www.ruby-toolbox.com/gems/meta_request
- http://railscasts.com/episodes/402-better-errors-railspanel
Uygulamadaki N+1 problemlerini tespit ediyor.
Modellerin başlarına gerekli açıklamalari koyuyor.
Rails için bir çok dilde tarih, saat, pluralization vb i18n dosyalarını barındırır.
Devise geminin bir çok dilde i18n dasyalarını barındırır.
Modellerin locale dosyalarını oluşturur ve eski dosyalar ile senkronize eder.
Yml formatında ki dil dosyalarının çevrilmesi için bir arayüz sağlar.