Предыдущий: https://2ch.hk/pr/res/560026.html
RUBY_SHAPKA VERSION = 1.0.6
FAQ:
1. C чего мне начать, чтобы стать рубистом? Отличным началом будет Programming Ruby (The Pragmatic Programmers Guide), читать Eloquent Ruby и The Well Grounded Rubyist после прочтения первой толку особо не даст, одни и теже вещи, дальше читаем Ruby Way, затем познаем метапрограммирование с Metaprogramming Ruby. А дальше открываем Ruby cookbook 2015 года, Пишем свой код во время чтения.
Следующий уровень, продвинутые книги по руби: Confident Ruby by Avdi Grimm Practical Object-Oriented Design in Ruby Refactoring Ruby Edition Ruby Under a Microscope для любителей залезть под капот. Документация по стандартным библиотекам http://ruby-doc.org/ Можно пройти руби онлайн - http://tryruby.org/levels/1/challenges/0 Не веришь в свои силы? Прочитал уже книжек много и силы свои хочешь познать, сделай - http://rubykoans.com И вот еще https://rubymonk.com/ - Матц одобряет.
2. Какой gem посмотреть, чтобы понять, как писать код? Лучше всего посмотреть небольшие gem'ы вроде cancancan, devise, camping. А еще можешь полистать на гитхабе гемы с нарастающей популярностю. https://github.com/trending?l=ruby Там еще нет тысяч строк, и тебе будет легче понять.
3. Есть ли GUI для руби? Да. Есть обвязки к Qt, GTK, wxWidgets, Shoes, fxruby (одобренный).
4. Можно ли писать на руби мобильное ПО? Да. Для iOS есть RubyMotion промышленного качества, для Android - заброшенный разрабами, лагающий и падающий ruboto. Для WinPhone До сих пор ничего не завезли.
5. Как установить разные версии рубей? Легко и просто: https://github.com/sstephenson/rbenv И это тоже, легко и просто: https://rvm.io
6. Что почитать по рельсам? http://guides.rubyonrails.org http://ruby.railstutorial.org API: http://api.rubyonrails.org Прекрасные туториалы в стиле for dummies - http://www.theodinproject.com/ruby-on-rails , а вот тут все тоже, но на русском http://codenamecrud.ru/ Классический вводный туториал, где делается с нуля клон твиттера, для новичков в rails самое то - https://www.railstutorial.org/book Для дотошных читателей есть The Rails 4 Way.
7. Хорошие практики по руби и рельсам? Читаем Rails AntiPatterns, смотрим Rails Best Practices, также неплохо посмотреть Rails Recipes. Почитайте еще Grimm A. - Objects on Rails Еще продвинутое чтиво - http://tutorials.jumpstartlab.com/
8. Ruby/Rails блоги, рассылки и твитторы IRC каналы на FreeNode: #ruby, #ruby-core, #RubyOnRails, #rails (не очень активен). Твитторы @rails, @dhh, @yukihiro_matz, @wycats, @tenderlove Рассылки ruby-core, rails-core, rails-talk Подкасты:
- http://rubyrogues.com
- http://ruby5.envylabs.com Скринкасты:
- http://railscasts.com
- https://peepcode.com
- https://www.destroyallsoftware.com
- http://railsforzombies.com Блоги:
- rubyflow.com - каждый день новости, новые библиотеки, обновления, все дела.
- rubysource.com - читаем интервью, хорошие практики, и безумные сравнения упоротого дибила-индуса на самом деле их пропускаем
- rubyinside.com - новости, туториалы.
- rubyweekly.com
- http://37signals.com/svn
- http://yehudakatz.com
- http://afreshcup.com
9. Я не могу в английский, что делать, анон? Идти учить английский, без него тут делать нечего.
10. Есть ли у руби русское коммьюнити? Нет. Вернее есть, но оно протухло и там полно людей у которых чсв высоко. Яркий пример - [email protected] А еще есть русская слак конфа - https://russiandevs.slack.com она общая, но есть очень активный руби канал. Так же русская гугл группа, активная - https://groups.google.com/forum/#!forum/ror2ru Еще вот - https://onrails.club/
11. Какие гемы стоит знать? capybara, rack, rspec, devise, cancancan, simple_form, solr, sinatra, тысячи их. Поиск гемов https://www.ruby-toolbox.com
12. Зачем нужны тесты и как их писать? http://rusrails.ru/a-guide-to-testing-rails-applications http://habrahabr.ru/post/163597/ Вместо этого можно прочитать классную книгу Everyday Rails Testing
13. Где можно задать глупые и не очень вопросы?
- здесь
- stackoverflow.com
- тематические slack-конфы
- а вообще, гугли, с вероятностью в 90% ответ на твой вопрос уже висит на stackoverflow.
14. Как фокнуть\сделать фичу\исправить баг, сложно ли это? Нет, не сложно. На rubyflow появляется много новостей с реализацией новой библиотеки, вы можете сделать тесты, фичу для него, старые либы также обрастают багами, улучшайте их! пишите код.
15. В чём писать код? Atom, Brackets, Sublime Text, TextMate, Vim, GNU Emacs. Для особо упоротых энтерпрайз-макак есть rubymine, плагины к эклипс и нетбинс.
16. Можно ли писать на руби с под windows? Можно, но придется обрасти костылями в виде виртуальной машины, придется сходу разбираться с Vagrant и многим другим. Чем дальше ты продвигаешься, тем ближе становится ясно, что пора перекатываться на linux/mac
17. Руби язык одного фреймворка! Нет, есть еще Sinatra, Lotus, Volt, Grape, отличная штука для DevOps - Chef. Годные генераторы для бложиков - Jekyll, Middleman.
18. Можно ли делать игры на Ruby? Можно, но не нужно. Гем Gosu.
19. Ютуб каналы Youtube driven development... Вот тебе пара каналов, но никому не говори что учишься по видео. https://www.youtube.com/channel/UCIQmhQxCvLHRr3Beku77tww/videos https://www.youtube.com/channel/UCfWZwsP8trUy5uHJg8gcGIQ https://www.youtube.com/channel/UCSI77lJlzlCFPLdV1RSAoYQ https://www.youtube.com/channel/UCPIyDzf1vwWc8EQJGUX-vYw - тут на ру$$ком даже.
20. Как и где искать работу? Легко и просто - http://rubyjobs.ru/ Не так просто - upwork. Еще вконтакте есть группы по руби/рельсам, там часто постят вакансии. Еще в русской гугл группе постят вакансии. Новичку будет сложно, но возможно.
TODO лист для ньюфагов: И так, ты поставил руби, уже сгенерировал свой первый проект rails new pidaras Начни уже с платинового пути, блог >> клон твиттера >> своя имейджборда >> свой гем >> дальше сам придумаешь. Рекомендации:
- Для блога, создать роли, Админ, Пользователь (можно использовать паттерн form object). Прикрутить лайки, комментарии.
- По твиттеру, следуя гайду Хартла, пиши все то что он предлагает в качестве доп. заданий, например оповещение по нику (@eblan: привет)
- По имиджборде: воссоздать по возможности полный функционал, в этом случае придется ознакомится с javascript/jquery/coffeescript, но тебе так или иначе придется. Еще хорошей фичей будет использование background job и крон тасков (sidekiq, whenever), чтобы заполнять свою борду тредами и постами с другой борды, можно использовать api двача, чтобы вытягивать треды и посты - https://github.com/ID25/api_2ch
- Не стесняемся постить свои репозитории, наши эксперты с радостью отревьювят вас.
После этого тебе будут нужны паттерны, без них твой код превратится в говно. Один из часто используемых - Service Object. https://netguru.co/blog/service-objects-in-rails-will-help - о сервисах Еще паттернов - https://robots.thoughtbot.com/back-to-basics-solid Прочитал? Теперь рефактори то, что уже написал. И не забывай покрывать тестами.
Хорошим финалом будет деплой, это пожалуй самое болезненное, и ничего общего с деплоем на heroku, где тыц тыц и готово. Придется поковыряться со смежными вещами и узнать много нового, уже устоявшийся гем для таких дел - Capistrano.
Не забывайте спрашивать у анонасов вопросы, код лучше показывать через gist или pastebin с подсветочкой. Ну, а мы открываем очередной Ruby Thread.