Skip to content

Instantly share code, notes, and snippets.

@mitio
Last active September 14, 2018 16:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mitio/db15fd8cc7e89581b04246129fee8c4e to your computer and use it in GitHub Desktop.
Save mitio/db15fd8cc7e89581b04246129fee8c4e to your computer and use it in GitHub Desktop.
Материали за Ruby & Rails

Материали за Ruby & Rails

Основи на Ruby

  • fmi.ruby.bg/lectures – това са лекции от курс във ФМИ, в чието водене съм участвал. В сбит вид дават доста добър общ преглед над езика, като на места се влиза в доста и ценни детайли. Има разни административни слайдове, които са за пропускане, но отвъд това, са сбити и полезни лекции. Направени са да са съпроводени от лекционни обяснения, така че ако нещо не е ясно от слайдовете, трябва да се търси/пита допълнително. Повечето неща би трябвало да са достатъчно ясни, в зависимост от това колко опит има човек с програмиране и скриптови езици.
  • Има и няколко примерни задачи тук: http://fmi.ruby.bg/tasks – понеже са минали тези задачи, има и решения. Добре е да се пробват паралелно с четенето на слайдовете. Някои от решенията имат бонус точки и може да се ползват като пример как е добре и типично да се пише Ruby.
  • Без писане на код не става. Полезно е да се прекарва горе-долу поравно време както в четене на неща, така и в пробването им, или в писането на задачи. Страхотен ресурс е https://exercism.io/tracks/ruby. Там има множество малки задачи, които упражняват основни конструкции в езика, дават базова обратна връзка за стила на писане на Ruby и подтикват към култура на тестване (даже задачите са test-first). Решения в Exercism се изпращат с command line инструменти, след регистрация. Силно, силно препоръчително е да се пробват поне 3 произволни задачи от там.
  • Видеозапис с уводен материал в Ruby, обясняващ основни концепции в езика, съпроводени с примери (изисква @receipt-bank.com акаунт).

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

Документацията за езика е тук: https://ruby-doc.org/. Официалното хранилище за библиотеки е тук: https://rubygems.org/. Самите библиотеки се разпространяват като .tar файлове с Ruby кода на библиотеката. Наричат се gem-ове. Всяка библиотека си държи документацията на различно място. Обикновено всички библиотеки имат GitHub repo, към което има линк от описанието на библиотеката в Ruby Gems сайта (https://rubygems.org/gems/GEM_NAME). От това readme може да се видиш къде е документацията на дадената библиотека.

Официалната документация на ruby-doc.org се дели на две части – core API и standard library. Core API-то са неща, които ги има по дифолт в ruby бинарката. Standard library са като вградени gem-ове, които се инсталират заедно с Ruby, но които трябва да заредиш изрично, за да ползваш (примерно, require 'csv'). Стандартната библиотека се поддържа от Ruby core maintainers. Всичко останало се инсталира като Ruby gem, с gem install GEM_NAME и е community-maintained.

Какво представлява един gem, как е структуриран и как работят нещата под капака, е обяснено доста добре в Rubygems ръководствата: https://guides.rubygems.org/what-is-a-gem/

Книги

Книга с детайли за Ruby: https://pragprog.com/book/ruby4/programming-ruby-1-9-2-0 Малко е стара, но е валидна за повечето неща все още. Това е т.нар. "the pickaxe book", заради кирката на корицата.

Rails

Най-добрата отправна точка за Rails са официалните ръководства: https://guides.rubyonrails.org/. Те дават много добър и обширен поглед какво има във framework-а, като има по-общи и по-детайлни такива. След това, официалната API документация, в която има пълните детайли за нещата, е тук: https://api.rubyonrails.org/. И за Rails има книги. За quick bootstrap преди да се влезе в детайли, може да се мине през произволен Rails туториал. Важно е първо да се изградят основи с Руби, плюс малко чисто Ruby задачи, след което Rails през бърз туториал, после Rails Guides, после примерно приложение – примерно това: https://www.railstutorial.org/.

@edzhelyov
Copy link

Генерирана документация от кода на gem-овете може да се намери тук: https://www.rubydoc.info

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment