Advertisement
Guest User

Untitled

a guest
Jan 29th, 2016
540
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.01 KB | None | 0 0
  1. *Предыдущий*: https://2ch.hk/pr/res/616098.html
  2.  
  3. **Как показывать код:**
  4. Быстро - https://pastebin.com
  5. С исполнением - https://ideone.com
  6. Требуется аккаунт GitHub - https://gist.github.com
  7.  
  8.  
  9. **RUBY_SHAPKA VERSION = 1.0.8**
  10.  
  11. **FAQ:**
  12.  
  13. **1. C чего мне начать, чтобы стать рубистом?**
  14. Отличным началом будет Programming Ruby (The Pragmatic Programmers Guide), читать Eloquent Ruby и The Well Grounded Rubyist после прочтения первой толку особо не даст, одни и теже вещи, дальше читаем Ruby Way, затем познаем метапрограммирование с Metaprogramming Ruby. А дальше открываем Ruby cookbook 2015 года, Пишем свой код во время чтения.
  15.  
  16. **Следующий уровень, продвинутые книги по руби:**
  17. Confident Ruby by Avdi Grimm
  18. Practical Object-Oriented Design in Ruby
  19. Refactoring Ruby Edition
  20. Ruby Under a Microscope для любителей залезть под капот.
  21. Документация по стандартным библиотекам http://ruby-doc.org/
  22. Можно пройти руби онлайн - http://tryruby.org/levels/1/challenges/0
  23. Не веришь в свои силы? Прочитал уже книжек много и силы свои хочешь познать, сделай - http://rubykoans.com
  24. И вот еще https://rubymonk.com/ - Матц одобряет.
  25.  
  26. **2. Какой gem посмотреть, чтобы понять, как писать код?**
  27. Лучше всего посмотреть небольшие gem'ы вроде cancancan, pundit, camping.
  28. А еще можешь полистать на гитхабе гемы с нарастающей популярностю.
  29. https://github.com/trending?l=ruby
  30. Там еще нет тысяч строк, и тебе будет легче понять.
  31.  
  32. **3. Есть ли GUI для руби?**
  33. Да. Есть обвязки к Qt, GTK, wxWidgets, Shoes, fxruby (одобренный).
  34.  
  35. **4. Можно ли писать на руби мобильное ПО?**
  36. Да. Для iOS есть RubyMotion терпимого качества, для Android - лагающий и падающий, но всеми силами развивающийся ruboto. Для WinPhone до сих пор ничего не завезли.
  37.  
  38. **5. Как установить разные версии рубей?**
  39. Легко и просто: https://github.com/sstephenson/rbenv
  40. И это тоже, легко и просто: https://rvm.io
  41.  
  42. **6. Что почитать по рельсам?**
  43. http://guides.rubyonrails.org
  44. http://ruby.railstutorial.org
  45. API: http://api.rubyonrails.org
  46. Прекрасные туториалы в стиле for dummies - http://www.theodinproject.com/ruby-on-rails , а вот тут все тоже, но на русском http://codenamecrud.ru/
  47. Классический вводный туториал, где делается с нуля клон твиттера, для новичков в rails самое то - https://www.railstutorial.org/book
  48. Для дотошных читателей есть The Rails 4 Way.
  49.  
  50. **7. Хорошие практики по руби и рельсам?**
  51. Читаем Rails AntiPatterns, смотрим Rails Best Practices, также неплохо посмотреть Rails Recipes.
  52. Почитайте еще Grimm A. - Objects on Rails
  53. Еще продвинутое чтиво - http://tutorials.jumpstartlab.com/
  54.  
  55. **8. Ruby/Rails блоги, рассылки и твитторы**
  56. IRC каналы на FreeNode: #ruby, #ruby-core, #RubyOnRails, #rails (не очень активен).
  57. Твитторы @rails, @dhh, @yukihiro_matz, @wycats, @tenderlove
  58. Рассылки ruby-core, rails-core, rails-talk
  59. Подкасты:
  60. - http://rubyrogues.com
  61. - http://ruby5.envylabs.com
  62. Скринкасты:
  63. - http://railscasts.com
  64. - https://peepcode.com
  65. - https://www.destroyallsoftware.com
  66. - http://railsforzombies.com
  67. Блоги:
  68. - rubyflow.com - каждый день новости, новые библиотеки, обновления, все дела.
  69. - rubysource.com - читаем интервью, хорошие практики, и безумные сравнения упоротого дибила-индуса на самом деле их пропускаем
  70. - rubyinside.com - новости, туториалы.
  71. - rubyweekly.com
  72. - http://37signals.com/svn
  73. - http://yehudakatz.com
  74. - http://afreshcup.com
  75.  
  76.  
  77. **9. Я не могу в английский, что делать, анон?**
  78. Идти учить английский, без него тут делать нечего.
  79.  
  80. **10. Есть ли у руби русское коммьюнити?**
  81. Нет. Вернее есть, но оно протухло и там полно людей у которых чсв высоко.
  82. Яркий пример - ruby@conference.jabber.ru
  83. А еще есть русская слак конфа - https://russiandevs.slack.com она общая, но есть очень активный руби канал.
  84. Так же русская гугл группа, активная - https://groups.google.com/forum/#!forum/ror2ru
  85. Еще вот - https://onrails.club/
  86.  
  87. **11. Какие гемы стоит знать?**
  88. capybara, rack, rspec, devise, cancancan, simple_form, solr, sinatra, тысячи их.
  89. Поиск гемов https://www.ruby-toolbox.com
  90.  
  91. **12. Зачем нужны тесты и как их писать?**
  92. http://rusrails.ru/a-guide-to-testing-rails-applications
  93. http://habrahabr.ru/post/163597/
  94. Вместо этого можно прочитать классную книгу Everyday Rails Testing
  95.  
  96. **13. Где можно задать глупые и не очень вопросы?**
  97. - здесь
  98. - stackoverflow.com
  99. - тематические slack-конфы
  100. - а вообще, гугли, с вероятностью в 90% ответ на твой вопрос уже висит на stackoverflow.
  101.  
  102. **14. Как фокнуть\сделать фичу\исправить баг, сложно ли это?**
  103. Нет, не сложно. На rubyflow появляется много новостей с реализацией новой библиотеки, вы можете сделать тесты, фичу для него, старые либы также обрастают багами, улучшайте их! пишите код.
  104.  
  105. **15. В чём писать код?**
  106. Atom, Brackets, Sublime Text, TextMate, Vim, GNU Emacs. Для особо упоротых энтерпрайз-макак есть rubymine, плагины к эклипс и нетбинс.
  107.  
  108. **16. Можно ли писать на руби с под windows?**
  109. Можно, но придется обрасти костылями в виде виртуальной машины, придется сходу разбираться с Vagrant и многим другим. Чем дальше ты продвигаешься, тем ближе становится ясно, что пора перекатываться на linux/mac
  110.  
  111. **17. Руби язык одного фреймворка?**
  112. Есть еще Sinatra, Hanami (ранее Lotus), Volt, Grape, отличные штуки для DevOps - Chef, Puppet и годные генераторы для бложиков - Jekyll, Middleman, всё это активно используется в продакшене
  113.  
  114. **18. Можно ли делать игры на Ruby?**
  115. Можно, но не нужно. Гем Gosu.
  116.  
  117. **19. Ютуб каналы**
  118. Youtube driven development...
  119. Вот тебе пара каналов, но никому не говори что учишься по видео.
  120. https://www.youtube.com/channel/UCIQmhQxCvLHRr3Beku77tww/videos
  121. https://www.youtube.com/channel/UCfWZwsP8trUy5uHJg8gcGIQ
  122. https://www.youtube.com/channel/UCSI77lJlzlCFPLdV1RSAoYQ
  123. https://www.youtube.com/channel/UCPIyDzf1vwWc8EQJGUX-vYw - тут на ру$$ком даже.
  124.  
  125. **20. Как и где искать работу?**
  126. Легко и просто - http://rubyjobs.ru/
  127. Не так просто - https://upwork.com/
  128. Еще вконтакте есть группы по руби/рельсам, там иногда постят вакансии. Еще в русской гугл группе постят вакансии. Новичку будет сложно, но возможно.
  129.  
  130. **TODO лист для ньюфагов:**
  131. И так, ты поставил руби, уже сгенерировал свой первый проект rails new pidaras
  132. Начни уже с платинового пути, блог >> клон твиттера >> своя имейджборда >> свой гем >> дальше сам придумаешь.
  133. Рекомендации:
  134. 1. Для блога, создать роли, Админ, Пользователь (можно использовать паттерн form object). Прикрутить лайки, комментарии.
  135. 2. По твиттеру, следуя гайду Хартла, пиши все то что он предлагает в качестве доп. заданий, например оповещение по нику (@eblan: привет)
  136. 3. По имиджборде: воссоздать по возможности полный функционал, в этом случае придется ознакомится с javascript/jquery/coffeescript, но тебе так или иначе придется. Еще хорошей фичей будет использование background job и крон тасков (sidekiq, whenever), чтобы заполнять свою борду тредами и постами с другой борды, можно использовать api двача, чтобы вытягивать треды и посты - https://github.com/ID25/api_2ch
  137. 4. Не стесняемся постить свои репозитории, наши эксперты с радостью отревьювят вас.
  138.  
  139. После этого тебе будут нужны паттерны, без них твой код превратится в говно. Один из часто используемых - Service Object.
  140. https://netguru.co/blog/service-objects-in-rails-will-help - о сервисах
  141. Еще паттернов - https://robots.thoughtbot.com/back-to-basics-solid
  142.  
  143. Но самый читаемый код, как и следовало ожидать, даёт функциональное программирование. Начни отсюда:
  144. http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-i/
  145. http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-ii/
  146. http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-iii/
  147. http://www.sitepoint.com/functional-programming-pure-functions/
  148. http://www.sitepoint.com/functional-programming-ruby-value-objects/
  149. Только не переборщи. Руби - не функциональный язык, и иногда такой код может работать медленней.
  150.  
  151. Прочитал? Теперь рефактори то, что уже написал. И не забывай покрывать тестами.
  152.  
  153. Хорошим финалом будет деплой, это пожалуй самое болезненное, и ничего общего с деплоем на heroku, где тыц тыц и готово. Придется поковыряться со смежными вещами и узнать много нового, уже устоявшийся гем для таких дел - Capistrano.
  154.  
  155. Не забывайте спрашивать у анонасов вопросы, код лучше показывать через gist или pastebin с подсветочкой.
  156. Ну, а мы открываем очередной **Ruby Thread**.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement