must_read icon indicating copy to clipboard operation
must_read copied to clipboard

TODO: подумать над структурой

Начало

Styleguide

Документация

Ruby

Gems

Rails

Тестирование

Правила

  • DateTime.current
  • На функциональные баги пишется тест;
  • Запросы к базе только в моделях, снаружи scopes или методы;
  • Не используем default_scopes;
  • Используем новый формат валидаторов (validators);
  • Все константы (magic numbers, urls) подставляются через конфиги и не пишутся в коде;
  • В шаблонах можно использовать числа: для вывода массива в 3 колонки;
  • Строки через локали;
  • Можно локализировать partial целиком;
  • Покрытие контроллеров > 90%;
  • Объекты получаем отдельно, используем отдельно;
  • Извлекаем информацию из БД за постоянное число запросов(см. N+1);
  • Не увлекаемся индексами: стало тормозить - добавили индекс;
  • На уникальное поле - уникальный индекс (+ uniqueness).

Верстка

  • http://webmasters.teamdev.com/

Git

Github

Postgresql

Проектирование

Тестирование

Паттерны

Библиотеки

  • awesome-ruby

  • date_range_formatter

  • state_machine

  • validates - частые валидации (email, slug)

  • simple_form - формы на стероидах

  • webmock - stub/mock для io

  • simplecov - test coverage

  • factory_girl_rails - Удобная замена фикстур

  • ransack - Object-based searching (бывший MetaSearch)

  • enumerize - поле типа перечисление с поддержкой I18n и ActiveRecord/Mongoid

  • js-routes - генерирует javascript файл содержащий именованные пути из rake routes

  • gon - Your Rails variables in your JS

  • backup

  • ancestry - Organise ActiveRecord model into a tree structure (MP)

  • breadcrumbs_on_rails

  • acts-as-taggable-on - A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts

  • cocoon - Dynamic nested forms using jQuery made easy; works with formtastic, simple_form or default forms

  • money - Реализация паттерна Money для Ruby

  • omniauth - Масштабируемая система OAuth авторизации

Black list

  • device
  • active_admin
  • can_can
  • paperclip
  • decent_exposure

JS

JS libs

Блоги

Casts

Статьи

Книги

Совершенный код

Ruby/Rails изнутри

  • [Practical Object-Oriented Design in Ruby: An Agile Primer] (http://www.poodr.com/) (Sandi Metz)
  • Ruby under a microscope (Pat Shaughnessy)
  • [Ruby Science] (https://gumroad.com/l/ruby-science) (thoughtbot)
  • [The Well-Grounded Rubyist] (http://www.goodreads.com/book/show/3892688-the-well-grounded-rubyist) (David A. Black)
  • [Clean Ruby] (http://www.goodreads.com/book/show/14438307-clean-ruby) (Jim Gay)
  • [Eloquent Ruby] (http://www.goodreads.com/book/show/9364729-eloquent-ruby) (Russ Olsen)
  • [Confident Ruby] (http://www.confidentruby.com/) (Avdi Grimm)
  • [Refactoring Ruby Edition] (http://martinfowler.com/books/buying.html) (Jay Fields, Shane Harvey and Martin Fowler)
  • [The Rails 4 Way] (http://www.amazon.com/Rails-Edition-Addison-Wesley-Professional-Series/dp/0321944275) (Obie Fernandez)

Базы данных

UML

Операционные системы

Администрирование

Тестирование

ПМ

Интересное

Сервисы

Сервисы для изучения ruby

Twitter Bootstrap

Material UI

Vim

Soft

chrome extensions

Благодарности

Огромное спасибо команде kaize.