Rails: Шлях Джедая

7 хв. читання

Привіт, падавани!

Допоки правиться наш Cheffile, верстається шаблончик та пишеться код для нашого майбутнього навчального проекту (трішки спойлерів, ага), хочу із вами поділитись тим, яким чином Ви можете вже зараз почати опановувати Ruby і Rails. Отож, погнали!

Яйце, а потім курка

Частенько рельси сварять за те, що там надто багато магії. Все працює, а Ви навіть не догадуєтесь чому. Але, насправді, це не проблема рельсів, як хтось гадає, а більш проблема самих людей, які захотіли їх освоїти. Тому що багато хто починає вивчати Rails без базового знання Ruby. На мою думку, це не правильно. Можливо у Вас виникне запитання: "Навіщо мені вивчати Рубі, якщо я вже маю базові поняття про програмування?" І це буде аж ніяк не дурне запитання. Частенько на просторах Інтернету можна знайти твердження про те, що Рубі для початківців-рельсовиків знати не потрібно. А тоді й з'являється магія:

before_action :find_user, only: [ :index, :show ] 

# Цей код аналогічний тому, що вище
before_action(:find_user, {
	only: [ 
		:index,
		:show 
	]
})

Банальні необов'язковість круглих дужок для методів, та необов'язковість фігурних дужок для хешу, якщо він є останнім аргументом методу вводять в якусь оману.

Але це не зовсім про рельси, більше про рубі.

sign_in @user

А цей код - просто метод, який приймає в якості аргумента змінну класу @user. Спершу це здається якимось дивним. Але, погодьтесь, якби цей рядок був написаний на JS (люди, які люблять кофіскрипт, зараз просто з мене сміються, але нехай) ось так:

sign_in(this.user);

було би куди зрозуміліше. Ну це найзвичайніші речі, які колись мені здавались дивними. Або ж не забуваємо, що Ruby постійно повертає значення останньої операції або змінної, тобто не потрібно писати return. Можливо, я один такий. Але якщо мені це дивно - це може здатись дивним ще комусь.

Але знаєте що? Я відійшов від теми даного посту.

Гайда вивчати Рубі!!

Для цієї мети нам знадобиться всім нам відомий ресурс Codecademy. До речі, хтось колись задумувався, чому ж не Codeacademy? Свої думки залишайте в коментарях.

За цим посиланням можете знайти прекрасний курс по Рубі, який всього лиш за 9 годин навчить вас базі, та навіть більше.

Ruby course

Знань, отриманих після проходження даного курсу, Вам буде вдосталь, щоб комфортно розпочати освоєння Ruby on Rails.

Нарешті, рельси!

Ruby on Rails Tutorial

Якщо Ви зовсім початківець у вебі, і хочете щоб Ваш старт був більш простим, раджу вам розпочати цей тернистий шлях із чудової книжки Майкла Хартла - Ruby on Rails Tutorial (3rd ed.).

Ruby on Rails tutorial book

Впродовж цієї книги Ви розробите два додатка: toy-app - звичайний тестовий додаток, який вчить основам Rails, та sample_app - твіттер-подібний додаток, який Ви будете розробляти впродовж майже всієї книги. Також досутпне 2-ге видання на російській: посилання. Єдиний як і плюс, так і мінус книжки Хартла є наявність TDD/BDD. Для початківців це надто складно, на мою думку. Звісно, це все привчає відразу ж до тестів, але відбиває будь-яке бажання взагалі будь-що робити. Для таких є "лайтова версія" 3-го видання на російській тут - без тестів.

Agile Web Development with Rails 4

Продовжити своє навчання Ви можете ще одним "туторіалом": Agile Web Development with Rails 4.

Rails: Шлях Джедая

Російське видання можете купити ( чи то завантажити, як-кому зручніше (: ) на просторах Інтернету. Впродовж цієї книги Ви здійсните розробку Інтернет-магазину книг Depot. Проте, дійсно вагомим плюсом цієї книги є Розділ ІІІ - детальне вивчення Рельс, де Ви нарешті зрозумієте всю магію.

The Rails Way

І на завершення можна закріпити все вивчене вище культовою книгою у Rails-world - The Rails Way.

Rails Way book

Книга доступна лише на англійській, проте, надіюся, Ви її прочитаєте і знайдете для себе багато чого нового, щось нарешті зрозумієте, а на щось відкриються очі. Маст хев, піпл!

12 IN 12 CHALLENGE

Але, погодьтеся, без справжньої практики нічого засвоюватись не буде. Для цього можна подивитись чудові скрінкасти 12 IN 12 CHALLENGE від Макензі Чайлд на дуже доступній англійській. Хлопець вирішив опанувати Рельси, та поділитись тим, як він це робить, із нами. Обов'язково дивитись усім!

Знову Рубі?

Так-так, знову повернемося до Рубі. Після роботи із Рельсами нам потрібно підтягнути свої знання мови, на якій все написано, щоб мати можливість самому по-справжньому розбиратись у тому, як все у Рельсах працює.

Є дві чудові книги.

Ruby Way

Перша - Ruby Way - не менш культова у Ruby-world. Вона допоможе більш детально вникнути у дітище Юкіхіро Мацумото.

Ruby Way

Metaprogramming in Ruby

Наступна - Metaprogramming in Ruby - навчить метапрограмуванню на Рубі.

Metaprogramming in Ruby book

Звісно, вони не є аж такими обов'язковими, але якщо ваша мета - по-справжньому розуміти, що відбувається у вашому коді, їх потрібно читати.

TDD/BDD

Наостанок раджу взятись до тестів. Такі злі тести. Так-так. Ну і так як для написання тестів потрібно досить непогано розбиратись у тому, що власне відбувається у вашому коді, тому я їх залишив на десерт. Існує декілька фреймворків для написання тестів. З Rails іде у комплекті TestUnit. Окрім того є ще RSpec і Cucumber. Власне на двох останніх я і зупинюсь, оскільки ТестЮніт - практично голий рубі з всіма відомими assert'ами, проте це не наш тип, чи не так? Ми ж любимо все вишукане, от як Рельси, тому підемо іншим шляхом.

RSpec && Capybara

RSpec - фреймворк для тестів, який робить процес їхнього написання одним задоволенням. А у поєднанні із Capybara Вам ніколи не захочеться навіть дивитись у сторону TestUnit. Дехто може сказати, що йому не сподобався підхід RSpec, а я скажу, що дарма. Мені навпаки. Тести легше читати, та і зразу зрозуміло що відбувається.

Про даний фреймворк написали чудову книгу, але трішки стареньку вже. Але це зовсім не робить її поганою. RSpec Book - раджу почитати. А за більш новою інформацією раджу звертатись до офіційної документації.

RSpec Book

Cucumber

Cucumber - огірок (кеп). Люблю ці всі назви цікаві. Ага. Не втримався. А якщо серйозніше, то це чудовий фреймворк, який дозволяє вам розказувати історії! Про що це я? А зрозуміти це вам дозволить ця чудова книга: Cucumber BDD.

Cucumber BDD book

The End?

Ні, це зовсім не кінець. На щастя, веб-розробка - такий вид професії, де немає меж вдосконаленню. Тому практика, практика і ще раз практика. Все, що вам залишається.

Ну і чекаємо на продовження моєї серії статей Розпочнімо з Rails. На цей раз ми поговоримо про Vagrant та Chef.

Нехай прибуде з вами сила!

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 6.8K
Приєднався: 6 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація