Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *Предыдущий*: https://2ch.hk/pr/res/616098.html
- **Как показывать код:**
- Быстро - https://pastebin.com
- С исполнением - https://ideone.com
- Требуется аккаунт GitHub - https://gist.github.com
- **RUBY_SHAPKA VERSION = 1.0.8**
- **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, pundit, 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. Есть ли у руби русское коммьюнити?**
- Нет. Вернее есть, но оно протухло и там полно людей у которых чсв высоко.
- Яркий пример - ruby@conference.jabber.ru
- А еще есть русская слак конфа - 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, Hanami (ранее Lotus), Volt, Grape, отличные штуки для DevOps - Chef, Puppet и годные генераторы для бложиков - 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/
- Не так просто - https://upwork.com/
- Еще вконтакте есть группы по руби/рельсам, там иногда постят вакансии. Еще в русской гугл группе постят вакансии. Новичку будет сложно, но возможно.
- **TODO лист для ньюфагов:**
- И так, ты поставил руби, уже сгенерировал свой первый проект rails new pidaras
- Начни уже с платинового пути, блог >> клон твиттера >> своя имейджборда >> свой гем >> дальше сам придумаешь.
- Рекомендации:
- 1. Для блога, создать роли, Админ, Пользователь (можно использовать паттерн form object). Прикрутить лайки, комментарии.
- 2. По твиттеру, следуя гайду Хартла, пиши все то что он предлагает в качестве доп. заданий, например оповещение по нику (@eblan: привет)
- 3. По имиджборде: воссоздать по возможности полный функционал, в этом случае придется ознакомится с javascript/jquery/coffeescript, но тебе так или иначе придется. Еще хорошей фичей будет использование background job и крон тасков (sidekiq, whenever), чтобы заполнять свою борду тредами и постами с другой борды, можно использовать api двача, чтобы вытягивать треды и посты - https://github.com/ID25/api_2ch
- 4. Не стесняемся постить свои репозитории, наши эксперты с радостью отревьювят вас.
- После этого тебе будут нужны паттерны, без них твой код превратится в говно. Один из часто используемых - Service Object.
- https://netguru.co/blog/service-objects-in-rails-will-help - о сервисах
- Еще паттернов - https://robots.thoughtbot.com/back-to-basics-solid
- Но самый читаемый код, как и следовало ожидать, даёт функциональное программирование. Начни отсюда:
- http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-i/
- http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-ii/
- http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-iii/
- http://www.sitepoint.com/functional-programming-pure-functions/
- http://www.sitepoint.com/functional-programming-ruby-value-objects/
- Только не переборщи. Руби - не функциональный язык, и иногда такой код может работать медленней.
- Прочитал? Теперь рефактори то, что уже написал. И не забывай покрывать тестами.
- Хорошим финалом будет деплой, это пожалуй самое болезненное, и ничего общего с деплоем на heroku, где тыц тыц и готово. Придется поковыряться со смежными вещами и узнать много нового, уже устоявшийся гем для таких дел - Capistrano.
- Не забывайте спрашивать у анонасов вопросы, код лучше показывать через gist или pastebin с подсветочкой.
- Ну, а мы открываем очередной **Ruby Thread**.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement