diff --git a/development/productivity/cevik_proje_yonetimi.md b/development/cevik_proje_yonetimi.md similarity index 100% rename from development/productivity/cevik_proje_yonetimi.md rename to development/cevik_proje_yonetimi.md diff --git a/development/productivity/git_github_gitflow.md b/development/git_github_gitflow.md similarity index 100% rename from development/productivity/git_github_gitflow.md rename to development/git_github_gitflow.md diff --git a/development/html_css/html_erb_haml.md b/development/html_css/html_erb_haml.md deleted file mode 100644 index d5dfabb..0000000 --- a/development/html_css/html_erb_haml.md +++ /dev/null @@ -1,7 +0,0 @@ -# ERB - -* Hiç bir yerde ERB kullanmıyoruz. Haml kullanıyoruz. - -# HAML - HTML5 - -* HAML: http://haml.info/ diff --git a/development/html_css/sass.md b/development/html_css/sass.md deleted file mode 100644 index cc15500..0000000 --- a/development/html_css/sass.md +++ /dev/null @@ -1,4 +0,0 @@ -# SASS - Compass - CSS3 - -* SASS: http://sass-lang.com/ -* Compass: http://compass-style.org/ \ No newline at end of file diff --git a/development/html_css/twitter_bootstrap.md b/development/html_css/twitter_bootstrap.md deleted file mode 100644 index 665d803..0000000 --- a/development/html_css/twitter_bootstrap.md +++ /dev/null @@ -1,4 +0,0 @@ -# Twitter Bootstap -* http://twitter.github.com/bootstrap/ - - diff --git a/development/javascript/coffescript.md b/development/javascript/coffescript.md deleted file mode 100644 index 3e03abb..0000000 --- a/development/javascript/coffescript.md +++ /dev/null @@ -1,3 +0,0 @@ -# CoffeeScript - -* http://coffeescript.org/ \ No newline at end of file diff --git a/development/javascript/jquery.md b/development/javascript/jquery.md deleted file mode 100644 index 3c6e2cc..0000000 --- a/development/javascript/jquery.md +++ /dev/null @@ -1,4 +0,0 @@ -# JQuery - -* http://jquery.com/ -* http://try.jquery.com/ diff --git a/development/javascript/sencha.md b/development/javascript/sencha.md deleted file mode 100644 index 275deef..0000000 --- a/development/javascript/sencha.md +++ /dev/null @@ -1,4 +0,0 @@ -# Sencha Ext JS - Sencha Touch - -* Ext JS: http://www.sencha.com/products/extjs -* Sencha Touch: http://www.sencha.com/products/touch/ \ No newline at end of file diff --git a/development/productivity/gelistirme_ortami.md b/development/laptop.md similarity index 98% rename from development/productivity/gelistirme_ortami.md rename to development/laptop.md index ba7c270..c709f3a 100644 --- a/development/productivity/gelistirme_ortami.md +++ b/development/laptop.md @@ -48,4 +48,4 @@ ## Ubuntu -* RVM +* Rbenv diff --git a/development/productivity/mukemmel_proje.md b/development/mukemmel_proje.md similarity index 100% rename from development/productivity/mukemmel_proje.md rename to development/mukemmel_proje.md diff --git a/development/productivity.md b/development/productivity.md index f5538aa..276795d 100644 --- a/development/productivity.md +++ b/development/productivity.md @@ -133,53 +133,4 @@ Bir yayımın bitmesi git-flow için büyük bir iştir. Aşağıdakileri yapar. * http://danielkummer.github.com/git-flow-cheatsheet/ * http://buildamodule.com/video/change-management-and-version-control-deploying-releases-features-and-fixes-with-git-how-to-use-a-scalable-git-branching-model-called-gitflow * http://vimeo.com/16018419 -* http://vimeo.com/37408017 - - -# GELİŞTİRME ORTAMININ AYARLANMASI - -## Mac - -### İletişim - -* GTalk -* Google Mail grubu -* Xchat Azur - -### İş Takibi - -* Basecamp - -### Üretkenlik - -* Google Chrome -* Twitter -* Marked -* Keynote -* iBook -* KeepAssX-2.0 -* Camtasia for mac -* Mac Keeper -* Dropbox - -### Tasarım - -* Pixelmator -* GIMP - -### Geliştirme - -* SourceTree -* Sublime 2 -* RubyMine -* FileZilla -* Dash -* http://www.iterm2.com/ -* Virtual Box - -### Kütüphane - -* xCode -* Command Line within xCode -* Mac Intstaller -* Pow +* http://vimeo.com/37408017 \ No newline at end of file diff --git a/development/ruby.md b/development/ruby.md index 3f2c71d..0011381 100644 --- a/development/ruby.md +++ b/development/ruby.md @@ -1 +1,322 @@ -Ruby rails ile ilgili bilgiler burada toplanacak. +# Ruby ekosistemi + +lab2023 internet teknolojileri olarak projelerimizi daha çok Ruby ekosisteminde yapmaktıyız. + +## Ruby + +Ruby nesle tabanlı bir programlama dilidir. + +**Websitesi** +* http://www.ruby-lang.org + +**Popüler Kütüphanelerin arandığı site** +* https://www.ruby-toolbox.com + +### Kaynaklar + +**İ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 + +## Rack +## Rake +## Bundler Gemfile +## Rails + +Rails, DHH tarafından oluşturulmuş Ruby dilindeki web frameworküdür. + +# Background jobs +Kullancıyı süre olarak bekletecek işlemleri arkaplan işlerine alıyoruz. Örneğin mail göndermek, excelden veri almak gibi. +## Resque +[resque](https://github.com/defunkt/resque) Arkaplan işlerini yönetir. +## resque_mailer +[resque_mailer](https://github.com/zapnap/resque_mailer) mailleri arkaplan işlerine alıyor. +# Full text search +Proje başlangıcında full text search kullanmıyoruz. Projenin ilerleyen aşamalarında durumuna göre entegre ediyoruz. +## Sphinx +Rails' te [thinking-sphinx](https://github.com/pat/thinking-sphinx) gem' i ile kullanıyoruz. Detaylı döküman http://pat.github.com/ts/en/ + +# Ruby Gems + +## Client Side + +### Twitter Bootstrap + +#### bootstrap-saas +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-wysihtml5-rails +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 + +#### haml +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 +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-datepicker-rails +Bootstrap temalı date picker. + +* ruby-toolbox linki +* https://github.com/Nerian/bootstrap-datepicker-rails +* Ruby doc linki + +#### breadcrumbs_on_rails +Breadcrumb(ekmek kırıntısı) için kullanıyoruz. + +* ruby-toolbox linki +* https://github.com/weppos/breadcrumbs_on_rails +* Ruby doc linki + +#### client_side_validations +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 + +#### compass-rails +Sass mixin kütüphanesi. + +* ruby-toolbox linki +* https://github.com/chriseppstein/compass +* Ruby doc linki +* http://railscasts.com/episodes/334-compass-css-sprites + +#### simple_form +Form generator. + +* ruby-toolbox linki +* https://github.com/plataformatec/simple_form +* Ruby doc linki +* http://railscasts.com/episodes/234-simple-form + +#### chosen-rails +[chosen](https://github.com/harvesthq/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 + +#### cocoon +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 + +## Server Side + +#### rails_config +Projeye config ayarları eklememizi sağlıyor. + +* ruby-toolbox linki +* https://github.com/railsjedi/rails_config +* Ruby doc linki + +#### to_xls +Excel export yapar. + +* ruby-toolbox linki +* https://github.com/arydjmal/to_xls +* Ruby doc linki + +#### state_machine +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 + +#### savon +SOAP client. + +* ruby-toolbox linki +* https://github.com/savonrb/savon +* Ruby doc linki +* http://railscasts.com/episodes/290-soap-with-savon + +#### ransack +Arama ve sıralama. + +* ruby-toolbox linki +* https://github.com/ernie/ransack +* Ruby doc linki +* http://railscasts.com/episodes/370-ransack + +#### whenever +Zamanlanmış görevler. + +* ruby-toolbox linki +* https://github.com/javan/whenever +* Ruby doc linki +* http://railscasts.com/episodes/164-cron-in-ruby-revised + +#### resque +Arkaplan işlerini yönetir. + +* ruby-toolbox linki +* https://github.com/defunkt/resque +* Ruby doc linki +* http://railscasts.com/episodes/271-resque + +#### cancan +Kullanıcı yetkilendirmesi yapıyor. + +* ruby-toolbox linki +* https://github.com/ryanb/cancan +* Ruby doc linki +* http://railscasts.com/episodes/192-authorization-with-cancan + +#### friendly_id +İ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 + +#### devise +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 + +#### globalize3 +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 + + +#### devise_invitable +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 + +#### wice_grid +Twitter bootstrap tema uyumlu grid generator. Filtreleme, excel export, sayfalama mevcut. +* ruby-toolbox linki +* https://github.com/leikind/wice_grid +* http://rubydoc.info/gems/wice_grid/3.2.1/frames + +#### enumerize +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 + +#### validates_timeliness +Tarih validasyonları için kullanıyoruz. + +* https://github.com/adzap/validates_timeliness + +## Development Tools + +#### letter_opener +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. + +* https://github.com/ryanb/letter_opener + +#### sextant +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 + +#### better_errors +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 + +#### binding_of_caller +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) + +#### rails_panel & meta_request +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 + +#### bullet +Uygulamadaki N+1 problemlerini tespit ediyor. + +* https://github.com/flyerhzm/bullet +* http://railscasts.com/episodes/372-bullet + +#### annotate +Modellerin başlarına gerekli açıklamalari koyuyor. + +* https://github.com/ctran/annotate_models +* http://rubydoc.info/gems/annotate/2.5.0/frames + +## i18n Data + +#### rails-i18n +Rails için bir çok dilde tarih, saat, pluralization vb i18n dosyalarını barındırır. + +* https://github.com/svenfuchs/rails-i18n/ + +#### devise-i18n +Devise geminin bir çok dilde i18n dasyalarını barındırır. + +* https://github.com/tigrish/devise-i18n + +#### i18n_generators +Modellerin locale dosyalarını oluşturur ve eski dosyalar ile senkronize eder. + +* http://github.com/amatsuda/i18n_generators \ No newline at end of file diff --git a/development/ruby/gems.md b/development/ruby/gems.md deleted file mode 100644 index 4cf12f4..0000000 --- a/development/ruby/gems.md +++ /dev/null @@ -1,270 +0,0 @@ -# Ruby Gems - -## Client Side - -### Twitter Bootstrap - -#### bootstrap-saas -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-wysihtml5-rails -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 - -#### haml -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 -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-datepicker-rails -Bootstrap temalı date picker. - -* ruby-toolbox linki -* https://github.com/Nerian/bootstrap-datepicker-rails -* Ruby doc linki - -#### breadcrumbs_on_rails -Breadcrumb(ekmek kırıntısı) için kullanıyoruz. - -* ruby-toolbox linki -* https://github.com/weppos/breadcrumbs_on_rails -* Ruby doc linki - -#### client_side_validations -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 - -#### compass-rails -Sass mixin kütüphanesi. - -* ruby-toolbox linki -* https://github.com/chriseppstein/compass -* Ruby doc linki -* http://railscasts.com/episodes/334-compass-css-sprites - -#### simple_form -Form generator. - -* ruby-toolbox linki -* https://github.com/plataformatec/simple_form -* Ruby doc linki -* http://railscasts.com/episodes/234-simple-form - -#### chosen-rails -[chosen](https://github.com/harvesthq/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 - -#### cocoon -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 - -## Server Side - -#### rails_config -Projeye config ayarları eklememizi sağlıyor. - -* ruby-toolbox linki -* https://github.com/railsjedi/rails_config -* Ruby doc linki - -#### to_xls -Excel export yapar. - -* ruby-toolbox linki -* https://github.com/arydjmal/to_xls -* Ruby doc linki - -#### state_machine -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 - -#### savon -SOAP client. - -* ruby-toolbox linki -* https://github.com/savonrb/savon -* Ruby doc linki -* http://railscasts.com/episodes/290-soap-with-savon - -#### ransack -Arama ve sıralama. - -* ruby-toolbox linki -* https://github.com/ernie/ransack -* Ruby doc linki -* http://railscasts.com/episodes/370-ransack - -#### whenever -Zamanlanmış görevler. - -* ruby-toolbox linki -* https://github.com/javan/whenever -* Ruby doc linki -* http://railscasts.com/episodes/164-cron-in-ruby-revised - -#### resque -Arkaplan işlerini yönetir. - -* ruby-toolbox linki -* https://github.com/defunkt/resque -* Ruby doc linki -* http://railscasts.com/episodes/271-resque - -#### cancan -Kullanıcı yetkilendirmesi yapıyor. - -* ruby-toolbox linki -* https://github.com/ryanb/cancan -* Ruby doc linki -* http://railscasts.com/episodes/192-authorization-with-cancan - -#### friendly_id -İ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 - -#### devise -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 - -#### globalize3 -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 - - -#### devise_invitable -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 - -#### wice_grid -Twitter bootstrap tema uyumlu grid generator. Filtreleme, excel export, sayfalama mevcut. -* ruby-toolbox linki -* https://github.com/leikind/wice_grid -* http://rubydoc.info/gems/wice_grid/3.2.1/frames - -#### enumerize -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 - -#### validates_timeliness -Tarih validasyonları için kullanıyoruz. - -* https://github.com/adzap/validates_timeliness - -## Development Tools - -#### letter_opener -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. - -* https://github.com/ryanb/letter_opener - -#### sextant -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 - -#### better_errors -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 - -#### binding_of_caller -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) - -#### rails_panel & meta_request -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 - -#### bullet -Uygulamadaki N+1 problemlerini tespit ediyor. - -* https://github.com/flyerhzm/bullet -* http://railscasts.com/episodes/372-bullet - -#### annotate -Modellerin başlarına gerekli açıklamalari koyuyor. - -* https://github.com/ctran/annotate_models -* http://rubydoc.info/gems/annotate/2.5.0/frames - -## i18n Data - -#### rails-i18n -Rails için bir çok dilde tarih, saat, pluralization vb i18n dosyalarını barındırır. - -* https://github.com/svenfuchs/rails-i18n/ - -#### devise-i18n -Devise geminin bir çok dilde i18n dasyalarını barındırır. - -* https://github.com/tigrish/devise-i18n - -#### i18n_generators -Modellerin locale dosyalarını oluşturur ve eski dosyalar ile senkronize eder. - -* http://github.com/amatsuda/i18n_generators diff --git a/development/ruby/ruby.md b/development/ruby/ruby.md deleted file mode 100644 index f2f5641..0000000 --- a/development/ruby/ruby.md +++ /dev/null @@ -1,51 +0,0 @@ -# Ruby ekosistemi - -lab2023 internet teknolojileri olarak projelerimizi daha çok Ruby ekosisteminde yapmaktıyız. - -## Ruby - -Ruby nesle tabanlı bir programlama dilidir. - -**Websitesi** -* http://www.ruby-lang.org - -**Popüler Kütüphanelerin arandığı site** -* https://www.ruby-toolbox.com - -### Kaynaklar - -**İ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 - -## Rack -## Rake -## Bundler Gemfile -## Rails - -Rails, DHH tarafından oluşturulmuş Ruby dilindeki web frameworküdür. - -# Background jobs -Kullancıyı süre olarak bekletecek işlemleri arkaplan işlerine alıyoruz. Örneğin mail göndermek, excelden veri almak gibi. -## Resque -[resque](https://github.com/defunkt/resque) Arkaplan işlerini yönetir. -## resque_mailer -[resque_mailer](https://github.com/zapnap/resque_mailer) mailleri arkaplan işlerine alıyor. -# Full text search -Proje başlangıcında full text search kullanmıyoruz. Projenin ilerleyen aşamalarında durumuna göre entegre ediyoruz. -## Sphinx -Rails' te [thinking-sphinx](https://github.com/pat/thinking-sphinx) gem' i ile kullanıyoruz. Detaylı döküman http://pat.github.com/ts/en/ diff --git a/development/server.md b/development/server.md index 7ea2c30..0180813 100644 --- a/development/server.md +++ b/development/server.md @@ -1 +1,271 @@ -Server yönetimi ile ilgili bilgiler burada toplanacak. +# Capistrono + +# Ubuntu server + +# Nginx + +# Unicorn + +# Rbenv + +# Backup +Backup işlemleri için [backup](https://github.com/meskyanichi/backup) gemini kullanıyoruz. Veritabanı yedeği, assets(resim, video) yedekleri ve log yedeklerini almamız yeterli. Uygulamalarımızı githubda geliştirdiğimiz için uygulamanın yedeğini alma ihtiyacı duymuyoruz. Yedeği hem locale hemde yedek işlemleri için ayırdığımız sunucuya alıyoruz. + +### Log Yedekleri +Log dosyalarının çok şişmesi genel problemimiz. Biz bunu nasıl çözüyoruz ? Linux logrotate kullanıyoruz . Logrotate log dosyalarını rotate ederek şişmesini önler. +Logrotate kullanmak için `/etc/logrotate.conf` dosyasına aşağıdaki kodları ekliyoruz. + +```bash +# Rotate Rails application logs +/home/deployer/apps/birekmek/current/log/*.log { + daily #Bu işlemi günlük yap + missingok # İşlem yapılacak log dosyaları eksik ise hata verme + rotate 7 # 7 tane dosya tut + compress # Sıkıştır gzip varsayılan + delaycompress # Bir sonraki log ortasyonuna kadar sıkıştırmayı beklet. Yani sıkıştırma + notifempty # Log dosyası boş ise rotate etme + copytruncate # O anki yazılan log dosyasını rotate ederken rotate anında yazılan verile kaybetmemek için + sizem 1024 # Magabayt olarak boyut 1024 olsun +} +``` +Sıkıştırılmış log dosyalarının backup gemi ile yedeğini alıyoruz. +# Monitoring +## Exception Notification (Hata Bildirici) +Sunucudaki 500 hatalrından haberdar olmak için [exception_notification](https://github.com/smartinez87/exception_notification) gemini kulanıyoruz. Gem sunucu 500 verirse anında bize mail atıyor. Gemin kullanımı ile ilgili şu yazıyı http://www.muhammetdilek.com/blog/2013/04/04/exception-notification-hata-bildirici/ okuyabilirsiniz. + +# Heroku + + +## Ruby on Rails Geliştiricileri için PostgreSQL + +Bu belgede lab2023 - internet teknolojileri olarak özel projelerde ve SAAS ürünlerimizde kullandığımız PostgreSQL +veritabanını nasıl kullandığımızı dökümante edilmiştir. Aşağıdaki konuları içerir, + +* Genel Bilgiler +* Kurulum +* DB Yaratma +* Kullanıcılar ve Roller +* Ayarlar +* Performans +* Partition +* Replikasyon +* Backup Restore +* Active Record ve PostgreSQL + +Daha detaylı bilgi için http://www.postgresql.org/files/documentation/pdf/9.2/postgresql-9.2-A4.pdf bakabilirsiniz. + +## Genel Bilgiler + +### Genel veritabanı bilgileri + +* 1 TB altındaki veritabanları küçüktür. +* Veritabanında hızdan çok stabil olması önemlidir. + +### Genel PostgreSQL bilgileri + +* PostgreSQL veritabanı dışındaki işlemleri işletim sistemine bırakır. Yani fazla bir kaynağa gerek yoktur. +* PostgreSQL 32 coredan fazlasını kullanamıyor. 64 core makine satın almaya gerek yoktur! +* Default 24 MB ile geliyor. +* 8.4 versiyonuna kadar yavaş ancak stabil bir versiyonu var. 9.2 den sonra diğer veritabanlarından daha hızlı çalışır. +* 1975-85 yılında invest adıyla ilk yapılıyor. İlk yapım amacı veritabanlarının yeterli komplex işlemleri yapamıyor. +* 1995 yılında PostgreSQL yapılıyor. 10 kişilik bir developer ile yapılıyor. + +### Limitler + +* Veritabanında bir limit sınırımız yok. +* Bir tablo 32 TB olabilir. +* Bir starın uzunluğun max 1.6 TB olabilir. +* Bir satırın bir columnu max 1 TB olabilir. +* Bir tabloda 250 den fazla index olmamalı fazlası sıkıntıdır. + +### Süreçler + +* Postmaster bütün işleri yapar. +* Her işlem bir process olarak olur. +* PostgreSQL i kurduktan bir cluster oluşur. Her cluster bir port kullanır, sistem kaynaklarını ayrıca tüketir. + +## Kurulum + +### Ubuntu Server 12.04 + +**Gerekli olan kütüphane** + +```bash +sudo apt-get install libpq-dev +```` + +**Kurulum** + +```bash +sudo add-apt-repository ppa:pitti/postgresql +sudo apt-get update +sudo apt-get install postgresql-9.2 +```` + +**Güncelleme** + +```bash +sudo apt-get upgrade +```` + +**Varsayılan ayar dosyaları** + +```bash +/etc/postgresql/9.2/main +/var/lib/postgresql/9.2/main +```` + +### Ubuntu Server 12.10 + +Kuruluma başlamadan önce + +```$ sudo apt-get update && sudo apt-get upgrade``` + +Ardından Aşağıdaki paket kuruluyor. Bu paketleri kurmamızın sebebi ```add-apt-repository ppa:pitti/postgresql``` komutunu çalıştırabilmek içindir. Bu komut ubuntu 12.10 ile birlikte varsayılan olarak çalışmamakta. + +```$ sudo apt-get install python-software-properties && sudo apt-get install software-properties-common``` + +Bu işlemlerin ardından postgresql 9.2 için gereken paketi repoya ekliyoruz. + +```$ sudo add-apt-repository ppa:pitti/postgresql``` + +Bu işlemlerden sonra aşağıdaki komutla repoları güncelliyoruz. + +```$ sudo apt-get update``` + +Son olarak aşağıdaki komut ile postgresql 9.2 kurulumunu tamamlıyoruz. Ben kurulumu yaptıgım zamanda 9.2.4 kurulumunu yapmıştı. + +```console +$ sudo apt-get install postgresql-9.2 +Reading package lists... Done +Building dependency tree +Reading state information... Done +The following extra packages will be installed: + libpq5 libxml2 postgresql-client-9.2 postgresql-client-common postgresql-common sgml-base ssl-cert xml-core +Suggested packages: + oidentd ident-server locales-all postgresql-doc-9.2 sgml-base-doc openssl-blacklist debhelper +The following NEW packages will be installed: + libpq5 libxml2 postgresql-9.2 postgresql-client-9.2 postgresql-client-common postgresql-common sgml-base + ssl-cert xml-core +0 upgraded, 9 newly installed, 0 to remove and 2 not upgraded. +Need to get 6,652 kB of archives. +After this operation, 26.3 MB of additional disk space will be used. +Do you want to continue [Y/n]? Y +..... +..... +..... + * Starting PostgreSQL 9.2 database server [ OK ] +Processing triggers for libc-bin ... +ldconfig deferred processing now taking place +Processing triggers for sgml-base ... +Updating the super catalog... +``` + +### Mac geliştirme (homebrew) + +## Cluster yaratma + +## Dizin yapısı + +## Kullanıcı ve Roller + +## Tablespace + +## Ayarları + +## DB İşlemleri + +**Create DB** + +* Serverin locale si ayarlanması +* ENCODING'ı unutmayın! + +```sql +CREATE DATABASE xxxx_production OWNER xxxx ENCODING 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' TEMPLATE template0; +```` + +**DROP DB** + +```sql +DROP DATABASE xxxx_production; +```` + +**Can't Drop Db Sorunsali** + +DB yi kullanan sessionlarin olmasi durumu. + +```sql +SELECT pid FROM pg_stat_activity where pid <> pg_backend_pid(); +SELECT pg_terminate_backend(pid); +```` + +### Bağlantı ve Yetkilendirme + +* http://www.postgresql.org/docs/9.2/interactive/runtime-config-connection.html + +### Kaynak Tüketimi + +* http://www.postgresql.org/docs/9.2/interactive/runtime-config-resource.html + +### Logların yazımı + +* http://www.postgresql.org/docs/9.2/interactive/runtime-config-wal.html + +### Log Ayarları + +* http://www.postgresql.org/docs/9.2/interactive/runtime-config-logging.html + +### Auto Vacum ve Analiz + +* http://www.postgresql.org/docs/9.2/interactive/routine-vacuuming.html#AUTOVACUUM +* http://www.postgresql.org/docs/9.2/interactive/runtime-config-autovacuum.html + +## Partition + +## Replikasyon + +* http://www.postgresql.org/docs/9.2/static/runtime-config-replication.html + +## Backup - Restore + +* http://www.postgresql.org/docs/9.2/interactive/backup.html +* http://www.muhammetdilek.com/blog/2013/01/21/postgresql-yedek-alma-ve-geri-yukleme/ + +# Redis + +## Ubuntu Server Kurulum Talimatları + +## OSX Kurulum Talimatları + +Redis'i OSX ortamına kurmanın en kolay yolu [Homebrew](http://mxcl.github.com/homebrew/) kullanmaktır. Homebrew OSX için hazırlanmış daha ziyade geliştiricilere yönelik hazırlanmış paketlerin bulunduğu bir repo'dur diyebiliriz. + +Kurulum için aşağıdaki komutu terminalden çalıştırmanız yeterlidir. + +```bash +$ brew install redis +``` + +Kurulum işleminiz tamamlandıktan sonra konsola aşağıdaki komutu yazın ve hemen altındakine benzer bir çıktı aldığınızdan emin olun. + +```bash +$ redis-server +[13193] 07 Jul 21:34:25 # Warning: no config file specified, using the default config. In +order to specify a config file use 'redis-server /path/to/redis.conf' +[13193] 07 Jul 21:34:25 * Server started, Redis version 2.4.15 +[13193] 07 Jul 21:34:25 * The server is now ready to accept connections on port 6379 +[13193] 07 Jul 21:34:25 - 0 clients connected (0 slaves), 922304 bytes in use +``` + +Güzel, şimdi yukarıdaki konsol çıktılarını aldığınıza göre redis varsayılan ayarlarla çalışmaya başladı demektir. Eğer redis'in ayarlarını değiştirip kendi belirlediğiniz ayarlarla çalışmasını istiyorsanız aşağıdaki yöntemi deneyin. + +```bash +$ redis-server /path/to/redis.conf +``` + +Bunun dısında genellikle tercih edilen bir yöntem de redis config dosyasını ~/.redis dizinine kopyalamanızdır. Böylelikle redis-server başlarken default ayarlarını buradan okuyarak ayaklanacaktır. + +```bash +$ mkdir ~/.redis +$ cp /usr/local/src/redis-x.x.x/redis.conf +``` + diff --git a/development/server/deploy.md b/development/server/deploy.md deleted file mode 100644 index ef39174..0000000 --- a/development/server/deploy.md +++ /dev/null @@ -1,36 +0,0 @@ -# Capistrono - -# Ubuntu server - -# Nginx - -# Unicorn - -# Rbenv - -# Backup -Backup işlemleri için [backup](https://github.com/meskyanichi/backup) gemini kullanıyoruz. Veritabanı yedeği, assets(resim, video) yedekleri ve log yedeklerini almamız yeterli. Uygulamalarımızı githubda geliştirdiğimiz için uygulamanın yedeğini alma ihtiyacı duymuyoruz. Yedeği hem locale hemde yedek işlemleri için ayırdığımız sunucuya alıyoruz. - -### Log Yedekleri -Log dosyalarının çok şişmesi genel problemimiz. Biz bunu nasıl çözüyoruz ? Linux logrotate kullanıyoruz . Logrotate log dosyalarını rotate ederek şişmesini önler. -Logrotate kullanmak için `/etc/logrotate.conf` dosyasına aşağıdaki kodları ekliyoruz. - -```bash -# Rotate Rails application logs -/home/deployer/apps/birekmek/current/log/*.log { - daily #Bu işlemi günlük yap - missingok # İşlem yapılacak log dosyaları eksik ise hata verme - rotate 7 # 7 tane dosya tut - compress # Sıkıştır gzip varsayılan - delaycompress # Bir sonraki log ortasyonuna kadar sıkıştırmayı beklet. Yani sıkıştırma - notifempty # Log dosyası boş ise rotate etme - copytruncate # O anki yazılan log dosyasını rotate ederken rotate anında yazılan verile kaybetmemek için - sizem 1024 # Magabayt olarak boyut 1024 olsun -} -``` -Sıkıştırılmış log dosyalarının backup gemi ile yedeğini alıyoruz. -# Monitoring -## Exception Notification (Hata Bildirici) -Sunucudaki 500 hatalrından haberdar olmak için [exception_notification](https://github.com/smartinez87/exception_notification) gemini kulanıyoruz. Gem sunucu 500 verirse anında bize mail atıyor. Gemin kullanımı ile ilgili şu yazıyı http://www.muhammetdilek.com/blog/2013/04/04/exception-notification-hata-bildirici/ okuyabilirsiniz. - -# Heroku diff --git a/development/server/postgresql.md b/development/server/postgresql.md deleted file mode 100644 index 426c91f..0000000 --- a/development/server/postgresql.md +++ /dev/null @@ -1,194 +0,0 @@ -## Ruby on Rails Geliştiricileri için PostgreSQL - -Bu belgede lab2023 - internet teknolojileri olarak özel projelerde ve SAAS ürünlerimizde kullandığımız PostgreSQL -veritabanını nasıl kullandığımızı dökümante edilmiştir. Aşağıdaki konuları içerir, - -* Genel Bilgiler -* Kurulum -* DB Yaratma -* Kullanıcılar ve Roller -* Ayarlar -* Performans -* Partition -* Replikasyon -* Backup Restore -* Active Record ve PostgreSQL - -Daha detaylı bilgi için http://www.postgresql.org/files/documentation/pdf/9.2/postgresql-9.2-A4.pdf bakabilirsiniz. - -## Genel Bilgiler - -### Genel veritabanı bilgileri - -* 1 TB altındaki veritabanları küçüktür. -* Veritabanında hızdan çok stabil olması önemlidir. - -### Genel PostgreSQL bilgileri - -* PostgreSQL veritabanı dışındaki işlemleri işletim sistemine bırakır. Yani fazla bir kaynağa gerek yoktur. -* PostgreSQL 32 coredan fazlasını kullanamıyor. 64 core makine satın almaya gerek yoktur! -* Default 24 MB ile geliyor. -* 8.4 versiyonuna kadar yavaş ancak stabil bir versiyonu var. 9.2 den sonra diğer veritabanlarından daha hızlı çalışır. -* 1975-85 yılında invest adıyla ilk yapılıyor. İlk yapım amacı veritabanlarının yeterli komplex işlemleri yapamıyor. -* 1995 yılında PostgreSQL yapılıyor. 10 kişilik bir developer ile yapılıyor. - -### Limitler - -* Veritabanında bir limit sınırımız yok. -* Bir tablo 32 TB olabilir. -* Bir starın uzunluğun max 1.6 TB olabilir. -* Bir satırın bir columnu max 1 TB olabilir. -* Bir tabloda 250 den fazla index olmamalı fazlası sıkıntıdır. - -### Süreçler - -* Postmaster bütün işleri yapar. -* Her işlem bir process olarak olur. -* PostgreSQL i kurduktan bir cluster oluşur. Her cluster bir port kullanır, sistem kaynaklarını ayrıca tüketir. - -## Kurulum - -### Ubuntu Server 12.04 - -**Gerekli olan kütüphane** - -```bash -sudo apt-get install libpq-dev -```` - -**Kurulum** - -```bash -sudo add-apt-repository ppa:pitti/postgresql -sudo apt-get update -sudo apt-get install postgresql-9.2 -```` - -**Güncelleme** - -```bash -sudo apt-get upgrade -```` - -**Varsayılan ayar dosyaları** - -```bash -/etc/postgresql/9.2/main -/var/lib/postgresql/9.2/main -```` - -### Ubuntu Server 12.10 - -Kuruluma başlamadan önce - -```$ sudo apt-get update && sudo apt-get upgrade``` - -Ardından Aşağıdaki paket kuruluyor. Bu paketleri kurmamızın sebebi ```add-apt-repository ppa:pitti/postgresql``` komutunu çalıştırabilmek içindir. Bu komut ubuntu 12.10 ile birlikte varsayılan olarak çalışmamakta. - -```$ sudo apt-get install python-software-properties && sudo apt-get install software-properties-common``` - -Bu işlemlerin ardından postgresql 9.2 için gereken paketi repoya ekliyoruz. - -```$ sudo add-apt-repository ppa:pitti/postgresql``` - -Bu işlemlerden sonra aşağıdaki komutla repoları güncelliyoruz. - -```$ sudo apt-get update``` - -Son olarak aşağıdaki komut ile postgresql 9.2 kurulumunu tamamlıyoruz. Ben kurulumu yaptıgım zamanda 9.2.4 kurulumunu yapmıştı. - -```console -$ sudo apt-get install postgresql-9.2 -Reading package lists... Done -Building dependency tree -Reading state information... Done -The following extra packages will be installed: - libpq5 libxml2 postgresql-client-9.2 postgresql-client-common postgresql-common sgml-base ssl-cert xml-core -Suggested packages: - oidentd ident-server locales-all postgresql-doc-9.2 sgml-base-doc openssl-blacklist debhelper -The following NEW packages will be installed: - libpq5 libxml2 postgresql-9.2 postgresql-client-9.2 postgresql-client-common postgresql-common sgml-base - ssl-cert xml-core -0 upgraded, 9 newly installed, 0 to remove and 2 not upgraded. -Need to get 6,652 kB of archives. -After this operation, 26.3 MB of additional disk space will be used. -Do you want to continue [Y/n]? Y -..... -..... -..... - * Starting PostgreSQL 9.2 database server [ OK ] -Processing triggers for libc-bin ... -ldconfig deferred processing now taking place -Processing triggers for sgml-base ... -Updating the super catalog... -``` - -### Mac geliştirme (homebrew) - -## Cluster yaratma - -## Dizin yapısı - -## Kullanıcı ve Roller - -## Tablespace - -## Ayarları - -## DB İşlemleri - -**Create DB** - -* Serverin locale si ayarlanması -* ENCODING'ı unutmayın! - -```sql -CREATE DATABASE xxxx_production OWNER xxxx ENCODING 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' TEMPLATE template0; -```` - -**DROP DB** - -```sql -DROP DATABASE xxxx_production; -```` - -**Can't Drop Db Sorunsali** - -DB yi kullanan sessionlarin olmasi durumu. - -```sql -SELECT pid FROM pg_stat_activity where pid <> pg_backend_pid(); -SELECT pg_terminate_backend(pid); -```` - -### Bağlantı ve Yetkilendirme - -* http://www.postgresql.org/docs/9.2/interactive/runtime-config-connection.html - -### Kaynak Tüketimi - -* http://www.postgresql.org/docs/9.2/interactive/runtime-config-resource.html - -### Logların yazımı - -* http://www.postgresql.org/docs/9.2/interactive/runtime-config-wal.html - -### Log Ayarları - -* http://www.postgresql.org/docs/9.2/interactive/runtime-config-logging.html - -### Auto Vacum ve Analiz - -* http://www.postgresql.org/docs/9.2/interactive/routine-vacuuming.html#AUTOVACUUM -* http://www.postgresql.org/docs/9.2/interactive/runtime-config-autovacuum.html - -## Partition - -## Replikasyon - -* http://www.postgresql.org/docs/9.2/static/runtime-config-replication.html - -## Backup - Restore - -* http://www.postgresql.org/docs/9.2/interactive/backup.html -* http://www.muhammetdilek.com/blog/2013/01/21/postgresql-yedek-alma-ve-geri-yukleme/ diff --git a/development/server/redis.md b/development/server/redis.md deleted file mode 100644 index 69fdbad..0000000 --- a/development/server/redis.md +++ /dev/null @@ -1,37 +0,0 @@ -# Redis - -## Ubuntu Server Kurulum Talimatları - -## OSX Kurulum Talimatları - -Redis'i OSX ortamına kurmanın en kolay yolu [Homebrew](http://mxcl.github.com/homebrew/) kullanmaktır. Homebrew OSX için hazırlanmış daha ziyade geliştiricilere yönelik hazırlanmış paketlerin bulunduğu bir repo'dur diyebiliriz. - -Kurulum için aşağıdaki komutu terminalden çalıştırmanız yeterlidir. - -```bash -$ brew install redis -``` - -Kurulum işleminiz tamamlandıktan sonra konsola aşağıdaki komutu yazın ve hemen altındakine benzer bir çıktı aldığınızdan emin olun. - -```bash -$ redis-server -[13193] 07 Jul 21:34:25 # Warning: no config file specified, using the default config. In -order to specify a config file use 'redis-server /path/to/redis.conf' -[13193] 07 Jul 21:34:25 * Server started, Redis version 2.4.15 -[13193] 07 Jul 21:34:25 * The server is now ready to accept connections on port 6379 -[13193] 07 Jul 21:34:25 - 0 clients connected (0 slaves), 922304 bytes in use -``` - -Güzel, şimdi yukarıdaki konsol çıktılarını aldığınıza göre redis varsayılan ayarlarla çalışmaya başladı demektir. Eğer redis'in ayarlarını değiştirip kendi belirlediğiniz ayarlarla çalışmasını istiyorsanız aşağıdaki yöntemi deneyin. - -```bash -$ redis-server /path/to/redis.conf -``` - -Bunun dısında genellikle tercih edilen bir yöntem de redis config dosyasını ~/.redis dizinine kopyalamanızdır. Böylelikle redis-server başlarken default ayarlarını buradan okuyarak ayaklanacaktır. - -```bash -$ mkdir ~/.redis -$ cp /usr/local/src/redis-x.x.x/redis.conf -``` diff --git a/development/productivity/araclar_ve_servisler.md b/development/servisler.md similarity index 76% rename from development/productivity/araclar_ve_servisler.md rename to development/servisler.md index 98f1645..a893135 100644 --- a/development/productivity/araclar_ve_servisler.md +++ b/development/servisler.md @@ -1,19 +1,3 @@ -# Araçlar - -## IDE ve Editör - -### RubyMine - -http://www.jetbrains.com/ruby/ - -## Diğer - -### Source Tree - -Genellikle bu işlemleri IDE den yapıyoruz ancak gitflow'u desteklediği için ide dışında kullanıyoruz. Ayrıca Github ile entegre çalışıyor. - -http://www.sourcetreeapp.com/ - # Servisler ## Github diff --git a/development/ruby/yazilim_prensipleri_ve_tasarim_sablonlari.md b/development/yazilim_prensipleri_ve_tasarim_sablonlari.md similarity index 100% rename from development/ruby/yazilim_prensipleri_ve_tasarim_sablonlari.md rename to development/yazilim_prensipleri_ve_tasarim_sablonlari.md