24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
1. C чего мне начать, чтобы стать рубистом? Отличным началом будет Programming Ruby (The Pragmatic Programmers Guide), читать Eloquent Ruby и The Well Grounded Rubyist после прочтения первой толку особо не даст, одни и теже вещи, дальше читаем Ruby Way, затем познаем метапрограммирование с Metaprogramming Ruby. А дальше открываем Ruby cookbook 2015 года, Пишем свой код во время чтения.
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 до сих пор ничего не завезли.
7. Хорошие практики по руби и рельсам? Читаем Rails AntiPatterns, смотрим Rails Best Practices, также неплохо посмотреть Rails Recipes. Почитайте еще Grimm A. - Objects on Rails Еще продвинутое чтиво - http://tutorials.jumpstartlab.com/
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.
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. Не стесняемся постить свои репозитории, наши эксперты с радостью отревьювят вас.
Прочитал? Теперь рефактори то, что уже написал. И не забывай покрывать тестами.
Хорошим финалом будет деплой, это пожалуй самое болезненное, и ничего общего с деплоем на heroku, где тыц тыц и готово. Придется поковыряться со смежными вещами и узнать много нового, уже устоявшийся гем для таких дел - Capistrano.
Не забывайте спрашивать у анонасов вопросы, код лучше показывать через gist или pastebin с подсветочкой. Ну, а мы открываем очередной Ruby Thread.
>>657721 >Помогите найти картинку с гей-парада, что ли, там два качка трусах, у них на груди надпись RUBY
Тебя в гугле забанили? google ruby gay guys
>>657734 >Если я правильно понял вопрос, то на доске оображается кол-во пропщенных постов, что на четыре меньше общеко количества (оп-пост + 3 последних поста отображаются на доске, т.е. не пропущены).
Да, верно, спасибо бро, растолковал.
>ghostery фтопку >Про гостери уже слышал, что он сливает инфу
Господа, а как вы начали мыслить в ООП стиле после нескольких лет кодя на процедурном. Вот я сделал себе очередную качалку музыки из ВК на руби, а там все тупо на методах, может есть какие книги?
>Лучший способ изучить язык - применить его на практике >Если вы не знаете, что делать, попробуйте сделать вклад в опенсорсный проект Второй час гуглю эти самые проекты, а там мало того что нет ничего, чем бы я пользовался, так и в проблемах абракадабра сплошная: >Интегрируйте конвертор с vim >Почему-то хуйня глючит, оптимизируйте пожалуйста >verblevel keyword of SLSQPLSQFitter() unrecognized >.getdata больше не работает Как вообще искать эти ебаные проекты?
Специально установил убунту в дуалбут, как же тут заебись кодить. Все для людей, все летает, устанавливается в 1 строку. Эх, нахуя я полгода дрочился в windows.
>>657986 У меня у вагранта все работаел кроме дебага в RubyMine, просто зависал процесс, а использувать RubyMine без норм дебага вообще нахуй не нужно.
>>658010 Ну там дебаг нормалньый, как во всех IDE, точка остановки там, просмотр переменных. В консольке неудобно дебажить все таки, только и сижу там ради него.
>>657921 Про паттерны почитай, может поймешь. Главное мыслить на уровне интерфейсов. Ты же не думаешь, в каком порядке тебе нужно перемещать электроны в недрах компьютера, чтобы написать этот пост, а просто жмешь на клавиши. Вот и в программировании надо думать так же. Придумывать объекты как черный ящик, у которого есть внешний интерфейс, и никто не должен знать что там внутри.
>>657927 Пользуешься либой, находишь баги/недостатки, исправляешь, желательно предварительно уточнить, нужно ли фича. Если мало программируешь, то ты вне информационного пространства, так проекты не найдёшь. Делать свои маленькие приложения на рельсах. В шапке полно предложений - клон твиттера, блог, борда. Может тебе самому нужна какая-то программа (учёт калорий, семейного бюджета). Я вот автоперекат тродов пилю. Кстати, можешь присоединиться: https://github.com/meoweg/perekatach
>>658475 Ты про uBlock Origin, где есть все в 3rd-party filters из adblock plus? Я просто его поставил, поставил галку напротив нужных фильтров и все работает. Не знаю в каком говне ты купаешься еще и с тормозами
>>657652 >topics как вариант. Почему я должен изъебываться и называть "тред" хуедом из-за того что в язык не завезли нормального управления видимостью имен?
>>657724 (OP) >Programming Ruby (The Pragmatic Programmers Guide) Как по этому дерьму учиться писать на раби? Это же просто как сишный стандарт, даже задач нет.
чето пиздец в authority нет нормального хендлинга авторизации без юзера в pundit поддержку неймспеснутых контроллеров полгода пилят, перепиливая из одного говна в другое хули все так плохо с авторизацией?
>>660944 Для новичка в самый раз. 1) На понятном английским, не будет желание всё бросить и со словами "пойду в пхп, там книги на русском" уйти из руби. 2) Там есть задания после каждой главы. 3) После этой книги можно сразу читать что-то для мидл тиер не боясь. 4) Мне по нраву стиль написания в той книге.
>>661028 Новей (на рельсах) уже несколько десятков тысяч раз переписывали, а сейчас сервер вообще в дауне. Анимачан (питон+что-то) рипнулся. Борды взлетают только на PHP почему-то.
Рубаны, разбираюсь как тестировать данным зверьком. Получается каша, т.к. иногда кликаю по id-шникам, иногда по тексту на русском(что мне совсем не нравится). Так вот вопрос, стоит ли присваивать всем элементам формы id-шники ещё на этапе верстки, или же делать это когда припекло?
А можете указать на пример из реального мира, хорошо иллюстрирующий прелесть лямбд/проков/yield'ов, например треды полезны чтобы, картинки генерить в несколько потоков. А в чём хороши те же лямбды, где они реально помогают и выручают?
>>661575 Ну ты попросил пример из реального мира. Еще примеры: скоупы активрекордовские, заинлайненные коллбеки, ленивые методы (см. например блоковую версию Logger#info, блоковую версию Hash#fetch).
Рельсаны, нубский вопрос - начал вникать в деплой. на digitalocean пробую разные гитхабовские клоны, чтобы полетел bootstrap-sass и разные ололо-js-плагины. понял что ассеты не компилируются(?), потому что когда заливаю с того же DO приложуху на heroku - на heroku всё есть и приложение работает с ассетами. вопрос - чому? p.s. думаю курнуть dokku.
Стоит с хероку переехать на Digital Ocean? Мне чисто свой сайт-блог с минимумом посетителей держать. DO дешевле намного, но ебаться с настройкой с другой стороны не хочется. На heroku даже задумываться не нужно...
>>663776 Ну ты все правильно сделал, смотри тогда страницу в браузере с открытым инспектором. Видны ли у тебя файлы ассетов в инспекторе? Есть какие-то сообщения об ошибках в консоли браузера? У firefox кстати более информативные сообщения об ошибках. Один раз, например, он жаловался, что mime-types для ассетов у меня не сходится, решилось выставлением правильных mime-types в конфиге nginx.
Как сделать так, чтобы при наследовании класса, его внутренний класс наследовался от потомка, а не от родителя?
class Create class Draft < self ... ... class Update < Create ... rails console: $ Update::Draft => Create::Draft т.е. Draft ВСЕГДА наследуется от Create, даже в потомках. нахуя self тогда нужен?
А мне надо, чтобы было $ Article::Update::Draft => Article::Update::Draft
>>663825 Ну это не в хостинге проблема, а в кровавом режиме, а если политач будет, то роскомнадзор заблокирует всё равно. Я бы использовал более дешёвый российский и не пиздел бы про политику, вот и всё.
>>663823 О г-споди, какое извращённое восприятие ООП.
Т. е. ты думаешь, что если у тебя есть вложенный класс, например, Inner, определённый внутри Parent, и ты наследуешь Child от Parent, то у тебя внутри Child должен появиться ещё один класс Inner, но унаследованный от Child? Матерь б-жья...
Попробуй воспринимать определение классов в руби не как синтаксис, а как код. Код, который последовательно выполняется. Новые классы - это объявление констант, указывающих на экземпляры классов-объектов. Указание родительского класса - указание модифицировать цепочку родителей, хранимую в каждом классе-объекте.
Класс Inner будет создан один раз. Он будет доступен в Child, потому что так работает разрешение констант в руби.
self - это тоже не "синтаксис". self просто содержит ссылку на текущий объект-контекст, в данный момент, а не типа "как шаблон" как ты хочешь.
Итог: убери хуйню. Сука, сотри это говно. Пиши вменяемо. Делай нормальную и понятную структуру. НЕ ПЫТАЙСЯ ПРИДУМАТЬ СОБСТВЕННЫЙ ЦИРК, это никому кроме тебя не нужно.
>>664087 до объяснения почему оно так работает, я уже допер, спасибо гений скажи лучше, как переписать так, чтобы не было повтора кода http://pastebin.com/9CDsRaYR
>>664105 Ну... ты можешь создавать вложенные классы динамически. Я использовал модуль и include, но можно как угодно.
Но это сделает твой код ещё более запутанным.
Мне вообще не нравится, что у тебя варианты операций определены как отдельные классы. Я бы не делал такого дробления. Лучше бы завести отдельный класс, ответственный за общую логику операций создания и обновления.
(И ещё мне не нравится, что у тебя классы операций внутри класса модели определены. Ну охуеть, меня выворачивает вообще.)
И подумай вот о чём. Вот сейчас, например, у тебя действия при создании и обновлении статьи одни и те же. Но ведь не гарантировано, что так и останется. Вынесешь общий код, а потом что? Обратно раскукоживать? Или в нём ветвистую логику наворачивать внутри?
Вот этим мне не нравится трейлблейзер. Можно классический рельсокод бахнуть + классы операций. И в итоге и структура приятнее, и код понятнее, и его смогут поддерживать стандартные макаки, не знакомые с экзотическими фреймворками. Чуть меньше писанины выливается в пару дополнительных излишних концепций, которые приходится постоянно держать в голове. И ещё думать, как бы уложиться в формат трейблейзерокода, блядь, зачем-то.
>>664258 Это InputFont, там можно кастомизировать некоторые символы, и мне очень нравятся именно эти фигурные скобки, а не "стандартные". Прям прусь от них, очень хорошо придумали.
Если я студент (которому еще сессию сдавать, т.е. в конце мая-июне не до работы), то искать только на фриланс биржах работу, или стоит и удаленку по контракту? tips?
>>664343 Ну ты попробуй поискать, по собесам походить, тебе же необязательно устраиваться на постоянку сразу. Смотри на это как на получение нового опыта.
>>664354 >Если я студент (которому еще сессию сдавать, т.е. в конце мая-июне не до работы), то искать только на фриланс биржах работу, или стоит и удаленку по контракту? tips? >Ты вообще не работал что ли до этого? Если да, то попробуй поискать работу чтобы прощупать рынок хотя бы, много интересного узнаешь. >угу ( >у нас нету веб студий. и нахуй мне работать за 10к, если я могу говнокодить на фрилансе подороже? >вот доебался, могу
Странный ты, студент. Удачи.
>искать только на фриланс биржах работу, или стоит и удаленку по контракту
>>664351 Ну ты сам на свой вопрос уже ответил, но я тебе давал совет не устраиваться на работу, а попробовать окунуться в это дерьмо, в поиск работы и собеседования, чтобы понять суть этой возни.
>>664959 Тебе вообще зачем, какая разница? Я по теме задал вопрос, ты мне про торговлю.
Сортировка парметров в GET запросеАноним24/02/16 Срд 16:03:28#160№665149
Странно, но параметры в GET запросе сортируются. Например: http.request(Net::HTTP::Get.new uri) Где uri = site.com/service?b=1231&k=1231&A=21313 На деле же отправляется запрос по следующему адресу site.com/service?A=21313&b=1231&k=1231
Почему?
Как сделать так, чтобы порядок параметров не менялся?
>>665285 Ну вкратце то что занимает на рельсах минуту, там займет час. В общем рельсы без active_record, моделей, миграций, деплоя, без нихуя. Люди просто не понимают зачем нужен механизм миграций, когда в MSSQL EXPRESS в конструторе за 5 минут подправить можно. Деплой они делают типо котрл-с-котрол-в на ремот десктоп. Ох да, там ещё встроенная система версий https://www.visualstudio.com/ru-ru/products/tfs-overview-vs.aspx, потому что микрософт выберат всегда СВОЙ ПУТЬ, СВОЮ ДОРОГУ, НЕ ТАКИЕ КАК ВСЕ.
Рубаны поясните, почему не получится нормально кодить под виндой? Руби же работает на ней без всяких ВМ вроде бы. Пока вот только заметил косяки с кодировкой в программной строке виндоус, кириллицу руби хавать отказывается вернее приходиться извращаться с ФАРом, что бы нормально работало.
>>665995 Стоит на *nix уйти. Если по определённым причинам не можешь, то вагрант. Под виндой ты будешь большую часть времени разбираться почему не работает простейший код.
>>666598 Хайп на руби спал, вот и работы стало значительно меньше. Ты опоздал, год назад, в самый разгар хайпа, даже полные джуны могли найти себе вкусную вакансию.
>>666400 На винде обязательна установка ruby-devkit кроме самого руби. Nokogiri собирается без проблем, вообще ничего делать не нужно. На винде не собирается только либо что-то совсем петушиное и говняное, либо линукс-специфичное. Для сборки некоторых джемов нужно указать путь к дев-комплекту соответствующей библиотеки, сталкивался с этим на mysql2, pg, rmagick; и это очень просто.
Да, на линуксе удобнее, никто не спорит.
Беда в том, что кое-кто тут пропускает вполне обыденные вещи через ПРИЗМУ НЕНАВИСТИ, вследствие чего выкрикивает очень преувеличенные вскукареки без повода. Это руби-тред, а не тред ненависти к винде. Если человек спрашивает, что там с руби под виндой, нужно объяснить и предостеречь, а не истерично орать о своих пристрастиях.
Боже, аноны, как же найти то работу джуном? В своем городе только синьоров вакансии. Удаленку? Но опять не могу найти почти ничего. Может пора перекатываться в другой яп?
>> Отличным началом будет Programming Ruby (The Pragmatic Programmers Guide) Начал читать книгу. Читаю уже два дня, и ничего особо нового не нашел в ней. Видимо, писалась для тех, кто никогда не программировал. Есть ли годная книжка со всеми тонкостям руби для тех, кто уже понимает, в чем там дело, и без воды The Pragmatic Programmers Guide на целых 1700 страниц растянули?
>>668057 торгуется что-ли? ну охуеть. на апворке смотрел там за 10 баксов работают либо балбесы типа этих >>667846, либо индусы с пакистанцами.
смотри сам. если он будет рефакторить твой говнокод и подкидывать время от времени работенку — не самый плохой вариант. через какое-то время добавки попросишь.
Встряну и я. Спросил вилку зарплат, и вот ответ. И это силиконовая долина? Да ебал я между силикона такое. Как считаете, вкатит 20 баксов хотя бы запросить?
>>667743 >The Pragmatic Programmers Guide на целых 1700 страниц растянули Её зато можно читать по диагонали. Там много фокусов с самыми разными фичами языка. Если тебе раздел неинтересен - пропускаешь. Например, в начале есть глава про всякие $$, $_, $1 и прочее, используется это при быстром написании вяких скриптов, в рельсах это плохой тон, так что можешь пропускать.
>>668314 Ну это я тоже использую. Даже в RuboCop''е отключил этот коп, когда он появился. Это же пиздец - предлагают вместо $1 писать Regexp.last_match(1)
>>668348 2.3.0 :003 > require 'english' LoadError: cannot load such file -- english from .rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from .rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from (irb):3 from .rvm/rubies/ruby-2.3.0/bin/irb:11:in `<main>'
У кого збс с английским. Еще один поц написал, но я не совсем уверен, что я его понял... > Hi, I saw your post and figured I'd send you a PM. We're a 3 man startup company located in Norway, and we're looking for a paid intern from July-August, full time with $23/hour salary. If you're interested and just want experience and to work you can work when you can up come July (we can't compensate) and from July-August we can pay you full time. Tell me if this might be of interest to you :) Вот это вот предложение: > If you're interested and just want experience and to work you can work when you can up come July (we can't compensate) and from July-August we can pay you full time. Он предлагает мне работу с июля-августа за 23$/h, и возможность работать за бесплатно(лол) прямо сейчас?
>>668783 reddit. ты бы лучше сказал, я верно все понял или нет, а то конструкция you can work when you can up come July (we can't compensate) выглядит странно
>>668775 Не за бесплатно, а за экспериенс Не прямо сейчас и фуллтайм а когда ты сможешь (you can work when you can up come July), вплоть до июля, а с июля оплачиваемый фуллтам
По-моему не самый плохой вариант, учитывая что до июля ты сможешь вникнуть в архитектуру, а с июля впрягаться фуллтайм по озвученной ставке. Решение за тобой конечно.
>>668790 а we can't compensate, это значит что наработаное тобой до июля они не смогут впоследствии компенсировать, но фуллтайма от тебя никто и не ожидает вроде. относись как к опенсорсу.
Вся надежда на тебя анон. Дай ссылку на путевый туториал по созданию какого нибудь рельсопроекта. Я уже дико заебался. Везде либо туториалы на 700 страниц, где разбирают каждый винтик, либо туториалы, в которых вообще толком ничего нет. Вообще цель написать бложек, а дальше другие проекты. С фреймворками работаю давно. Просто хочу посмотреть как в рельсах все это реализовано и их Best practices. Спасибо.
>>668813 Я начинал с видео уроков mackenzie child, тупо копировал что он пишет, спустя все 12 видео с его крудами я получил охуенную вводную, это то что тебе надо. Если любитель читать, то agile development rails 4, на русском даже есть, там как раз для тебя написано, но видосы лучше для начала.
Пацаны, у меня тут для вас телега про то, как докатился до жизни такой, и вопросы по Руби. Звините, что многобукв. Короче, жил я себе, жил, и не тужил нихуя. Пока в один прекрасный момент не обнаружил, что моя инженерная специальность в хуй никому не упёрлась, денег на этом не заработаешь. Институт я давно закончил, работал на всяких говноработах не по специальности, развлекался. А тут уже возраст начал подкатывать к 30, я начал задумываться о будущем и всё такое. Как раз кризис ебанул, получать я стал в валютном эквиваленте в два раза меньше, а вот куча знакомых погромистов ходит и в хуй не дует. И понял я, что возможно родители были не так уж и правы в детстве, когда отговаривали меня идти по пути программирования. Ну да ладно. Решил я значит попробовать вот это вот всё. Размышлял так: пойдёт — заебись, не пойдёт — один хуй, свободное время с хоть какой-то пользой проведу. Как попал на Руби — уже хз, даже и не вспомню. Наверное, название понравилось, лол. Погнал изучать курсы на codecademy. Идёт оно достаточно бодро, но я ж понимаю, что это пока тупо упражнения, решение которых с подсказками у меня висит прямо перед глазами. Чтобы врубиться по-настоящему, надо будет всё это прогонять ещё раз, только уже конспектируя лексику/синтаксис и различные ходы. Это у меня в планах. Вот такие дела, пацаны. Собственно вопрос у меня к вам, стоит ли связываться? Есть ли какие перспективы? Возможно стоит перескочить на какой-то другой язык? А может я вообще сильно переоценил программирование как область? Грубо говоря, тот объём усилий, который я вложу в самообучение — будет ли он соответствовать тому, что я в результате получу? Ну и вопрос, собственно, по Руби. Я себе закачал SciTE — типа текстовый редактор, с подсветкой кода. Удобно. Скачал, вроде, Руби инсталлер. В нём командная строка. Ещё закачал jirb, который может код исполнять. Но это всё дико неудобно и с какими-то ошибками/косяками, которых быть не должно. Есть какая-нибудь программа в нормальной оболочке, куда можно закинуть код, скомпилировать его и посмотреть на результат? Меня устраивает вариант, как оно реализовано на codecademy, но хочется оффлайновую.
>>668874 >Есть ли какие перспективы? Возможно стоит перескочить на какой-то другой язык? А может я вообще сильно переоценил программирование как область? Грубо говоря, тот объём усилий, который я вложу в самообучение — будет ли он соответствовать тому, что я в результате получу? А что ты хочешь получит? Если ЗП в 1-4 тысяч долларов, то перекатываться не надо, ты выбрал праильный язык надеюсь, ты знаешь английский, иначе можешь не рассчитывать даже на косарь
>Но это всё дико неудобно и с какими-то ошибками/косяками, которых быть не должно. С какими ошибками? С какими косяками?
Вообще, упражнятся удобно в REPL, так что набирай 'gem install pry'
>>668880 >А что ты хочешь получит? Ну для начала хотелось бы вообще попробовать докачаться до того уровня, где за мои безумные умения мне кто-то предложит бабла. Твой диапазон в 1-4к мне норм. По крайней мере, сейчас было бы очень норм, особенно верхние его значения. Вопрос в том, сколько мне для этого придётся ебаться и потяну ли. К тому же, прокачавшись до определённого уровня, перейти куда-нибудь ещё, освоить новый язык будет сильно проще. А Руби, насколько я вычитал, именно хорош в плане для тех, кто раньше не. Логично рассуждаю?
>С какими ошибками? С какими косяками? Да вот элементарно: есть у меня код небольшой. Если я его копирую в файл и потом бытаюсь скормить командной строке или этому jirb — он код прокручивает и закрывается самостоятельно. Это характерно как чего-то объёмного, так и для какой-нибудь ерунды типа "puts 2+2". Он его исполняет и закрывается! Я понимаю, что косяк какой-то элементарный, но хер его могу найти. А если код напрямую скопипастить в уже открытую командную строку — он понавыдаёт ошибок синтаксиса, потому что строчки не переносит по-человечески. Задолбала эта хрень, короче. И обидно ведь! Потому что понимаю, что вопрос ерундовый.
>Вообще, упражнятся удобно в REPL, так что набирай 'gem install pry' Чувак, будь добр, разложи на пальцах. По предложенному тобой запросу хер я чего сообразил. Или скинь мануал какой-нибудь, где расписано для дубов. Можно на англ.
>>669359 >>669360 >Если я его копирую в файл и потом бытаюсь скормить командной строке или этому jirb — он код прокручивает и закрывается самостоятельно. Это характерно как чего-то объёмного, так и для какой-нибудь ерунды типа "puts 2+2". Он его исполняет и закрывается! Я понимаю, что косяк какой-то элементарный, но хер его могу найти. >А если код напрямую скопипастить в уже открытую командную строку — он понавыдаёт ошибок синтаксиса, потому что строчки не переносит по-человечески. Задолбала эта хрень, короче. >Я на винде, пацаны!
Мне кажется ты не совсем правильно понимаешь как работает сама система. Ну то есть код в командную строку целиком никто не копирует (вроде), это раз.
Работоспособность путс 2+2 можно проверить запустив в консоли руби интерпретатор (если у тебя руби корректно установлен пишешь в командной строке irb и считаешь свои 2+2).
Если ты хочешь запустить многостроковую программу то запускаешь ее так ruby programname.rb, находясь в командной строке в той папке где лежит программа.
Нюансы: Винда и версии рубей — я тут по учебнику писал простейшие программы и под виндой и последними рубями у меня получалось наполовину работающее говно. Под убунту и 1.8 рубями получалось нормально, как в учебнике.
Где я взял убунту? Установил в виртуальную машину, управляемую через Вагрант.
>>669383 >undefined local variable or method `programname' for main:Object Посчитать 2+2 — с этим проблем и не было. А вот многостроковую программу — вот это и не удавалось. Слушай, забить хуй на этот унылый секс с виндой и поставить убунту — это может быть хороший выход, спасибо, анон.
>>669399 >забить хуй на этот унылый секс с виндой и поставить убунту Представляю как ты охуеешь когда в прыщах тебе придется настраивать воон тот конфиг. Больше слушай прещесказочников.
>>669417 Ему всё равно придётся его настраивать когда он будет работать, даже когда он на маке будет. Знание UNIX систем это крайне важный навык сегодня. Тебя послушать так программист это какая-то ТП которая только умеет мышкой по иконкам клацать и смайлики в ворде копировать.
>>669399 >undefined local variable or method `programname' for main:Object
Это потому что ты копипастишь целиком в командную строку, я так тоже умею (1). Сравни с тем что получается если делать как надо (2). Видишь, полуработает. Теперь смотри на результат в убунту (3).
>>669435 эти ваши линуксы еще и дофига разные? ну охуеть теперь. один говорит ставь убунту, второй говорит ставь минт, третий говорит у меня дебиан, четвертый говорит центос норм.
Ребята, я говорю стоп. Остальные дальше не пройдут.
>>669435 На любой десктопный линукс можно поставить любой DE/WM и будет выглядеть как ты захочешь. >>669438 Ставь Debian Testing, Ubuntu или Mint — любой на выбор какой обоями понравится. Если вокруг много дебианщиков, то ставь дебиан, если другой, то другой дистр-нейм. RPM-говно вроде CentOS поставишь в виртуалку, чтобы ознакомиться с работой yum, а так там пакетов мало и вообще система слишком корпоративная и калечная.
хожу на курсы, наверное у меня интенсив вообщем нихуя не успеваю понять. 50% лекции это фраза препода "читайте доки", т.е. он показывает 1% от темы какой либо остальное сами типа. Так вот мне трудно все запоминать чтением и долго концентрировать внимание на чем либо. Накидайте задач полегче, но побольше. Читать доки для запонинания не хочу, хочу читать и пробовать.
>>669383 > Нюансы: > Винда и версии рубей — я тут по учебнику писал простейшие программы и под виндой и последними рубями у меня получалось наполовину работающее говно. Под убунту и 1.8 рубями получалось нормально, как в учебнике.
Нюанс тут в том, что ты учишься по отсталой книге Криса Пайна. Винда тут ни при чём.
Пиздец, посоны, я порвался. Запросил ссаных $22 cо старта, ну чтоб поторговаться до 20, а мне говорят - да это же 264000 в рублях! Что мне теперь, ставить себе страну Германия, чтобы "оправдать" зарплатные ожидания? По их меркам это вообще ссаные копейки, но всё равно пытаются прогнуть до местных расценок. Как избежать такой хуйни, или узнать зарплату до выполнения тестового задания?
>>670662 >>670663 Ололо, куда такой диванон сразу? В гитхабе пусто, условно говоря, но задание-то я збс сделал, примеры кода показал, проекты предыдущие тоже. Фирма на F называется, стелс-стартап, нифига у них в продакшне пока нету.
>>670593 Идёшь на какой-нибудь портал с вакансиями программистов, выбираешь вакансию с 300т.р. зарплаты, копируешь. Потом идёшь на портал с разными вакансиями, находишь вакансию разнорабочего за 20000, копируешь. Всё что накопировал, отсылаешь им и говоришь, что за 20 вы только уборщика наймёте.
>>669417 Чуваки, вы не поверите, но я поебался-поебался, да и поставил себе убунту под виртуалкой, а потом ещё и всё, что мне на данный момент необходимо туда засунул. В результате я пишу код в текстовый файлик с подсветочкой, запускаю через термина и — о чудо! — всё замечательно работает! Хз, выводы пока никакие делать не буду, но самолюбие я своё потеребил и буду продолжать изучение уже под убунтой. >>669359-кун
>>670761 Я на стейбле живу и да отстаёт — решается установкой тестинга. Я в последние годы ставлю стейбл, сижу на нём год-два, потом обновляюсь на тестинг и на нём год-два живу.
Господа, очертите мне путь до хоть каких-то денег. Книги, сайты, проекты, первое приложение, ну и где искать первое оплачиваемое задание после обучения. Заранее спасибо.
Кто здесь кроме меня использует хэши с ключами-объектами? Пример с моделями: posts.index_by(&:user) Охуенно жи! У меня полная зависимость от этой хуйни. А ещё бывает применяю ключи-массивы из нескольких значений.
>>671289 >Книги, сайты, проекты, первое приложение Всё есть в шапке >где искать первое оплачиваемое задание после обучения https://upwork.com (читай туторы по апворку и бери мелкие задания, моё первое было на $90 после 2-3 месяцев изучения руби)
>>673130 Разбивай на строки. Это к вопросу о том зачем нужно 80-колоночное форматирование. Оно ещё полезно при использовании VCS, потому что они оперируют строками. Изменишь одну букву в строке и вся колбаса будет помечена как новая, пойди разберись где что изменилось.
>>673146 >Изменишь одну букву в строке и вся колбаса будет помечена как новая, пойди разберись где что изменилось. Ого, а вот об этом я никогда и не задумывался.. Весомый аргумент.
>>673444 Не все методы нужно запихивать в модель. Если ты что-то будешь использовать исключительно во вьюхах, например какой-то хитрый формат представления времени, то его выносят в хелперы.
>>673188 А поясните за видеоуроки, поцаны. Я как-то по старинке думаю, что это хуйня на постном масле. В текстовом виде информация гораздо лучше усваивается
>>673540 Ты возможно не поверишь мне, но ВНЕЗАПНО все люди разные, кто-то охуенно запоминает мелодии на слух, кто-то текст, а кто-то помнит видео в мельчайших подробностях из-за развитой визуальной памяти.
Как удобнее, так и дрочи. Тебе все способы дали как свободу выбора, а ты просишь анонимных икспертов подсказать как тебе лучше жить.
>>673643 Мне вот эти понравились: рельсы: lynda-ruby-on-rails-4-essential-training рспек: Lynda - RSpec Testing Framework with Ruby ну и само собой святая святых: Railscasts
>>673540 Рекомендую использовать все источники, потому что всё равно приходится много перечитывать, а так идёт смена медиаформата — получается интересно и немного по разному всегда.
парни, а с какого уровня безумных умений можно браться за небольшую работку и просить за это деньги? где можно посмотреть самые простые задания, которые уже чего-то стоят?
>>674550 Поясните за синатру, я не в курсе МОДНЫХ ВЕЯНИЙ. Алсо, читаю по рельсам книжку (которая Agile), там есть пикрелейтед ([code]не завезли ещё?[/code]). Я не понял, зачем там :image_url, presence: true, если потом все равно allow_blank: true?
Рубаны, вкатился не так давно в программирование, конкретно в рор. Есть учебные материалы(видео/статьи и прочая хуйня) для новика по деплою приложений? Ну чтоб туториал пошаговый был как для чего и почему. Как работать с сервером, nginx, пума и все прочее. Как первый деплой делать, как новые версии накатывать потом.
Уебища, почему у вас такой шизофренический язык? Почему у вас можно вызывать методы У ЧИСЕЛ, которые являются просто значением в ячейке памяти или в регистре?
>>676191 Но это же ты лезешь в чужой монастырь со своей единственно правильной байтоебской моделью. Десятилетиями от этого говна пытаются абстрагироваться, но ты, как самый умный, лучше всех знаешь как должно быть.
>>676537 Если сетевое программирование - это хттп, то возьми либу типа faraday. Если ты про сокеты, то бери сокеты и используй. Прям про руби ты инфы не найдёшь, но сокеты везде одинаковые, скачай какую-нибудь книгу про сетевое программирование на си, например.
Есть ли у рельсы метод который позволяет записать в БД сразу пачку значений? У меня есть БД с уникальными индексами на столбце. Солбец обычный smallint. Я хочу единовременно поменять у этих слобцов значения (у 1 хочу поставить значение 2, а у 2 - 1).
В постгрес, вроде, можно, но там сорт оф заумная хуйня, я бы постеснялся такое тащить в проект.
Проще переписать первую ячейку на 9000 миллиардов, потом переписать вторую как надо, потом первую как надо, чтобы не нарушать unique. Что везде и советуют.
>>678095 Та понятно, что проще по одной апдейтить. Только нужно тогда выделить какое-то буферное значение, чтобы оно не перекрывалось уникальностью И нужно предварительно установить это значение в ячейку, значение которой меняю. Т.е. это тупо перебор всех ячеек.
>>678110 Нет не подойдёт. Столбец с уникальными индексами и не нулевым ограничением "0" может подойти. Но опять же повторюсь, это метод решения задачи в лоб и для того, чтобы изменить значение одной ячейки нужно: - установить 0 ячейке с аналогичным значением - установить значение ячейке 1 - установить значение ячейке 2 Это всё выглядит как-то очень сомнительно. Мне нужно просто взят коллекцию ActiveRecord'ов и пихнуть в ДБ (да это postgresql) Что это за злоебучий клоун тут завёлся?
>>679678 Пиздец. Тут еще и пробелы имеют значение? Это фича или говнобаг как в крестах, когда из-за жадности алгоритма парсинга угловые скобки неправильно обрабатывались?
>>679704 Инсайд: автор курса попросил оставить отзывы тех, кто его прошел. Учеников у них уже наверное больше сотни за время их работы, кто захотел - оставил отзыв, пикрилейтед
Анон, подскажите как быть. Хочу освоить rspec, для этого выбрал книжку railstutorial. Единственная херня - я не успешный программист из /b, поэтому денег книгу купить у меня банально нет. Скачал книжку ранее Ruby on rails tutorial 2-nd edition. Там есть тестирование на rspec, но я так понимаю, что эта книга очень старая. На github нашел его репозиторий - https://github.com/railstutorial/sample_app_rails_4 Там есть rspec, что заебись, но в "актуальной" книжке, которую я опять же слил с торрентов, нет этого rspec
>>679902 Спроси у тех 7 скачавших вирусы там или нет. С вами книжками делишься, а ты даже из этого пропаганду Линукса какую-то делаешь. Так и скачал бы, с линукса он.
>>657724 (OP) >хорошо понимает идеологию А в чем идеология юникс? Работать забесплатно? Я как бы с пингвина пишу, но ни про какие идеологии не слышал, я нормален? Просто винда не нравится, потому что она громоздкая и кривая.
Господа, нужен аналог чатурбейта. Сам изучаю рельсы и хотелось бы применить знания на практике. Подскажите, в какую сторону копать, какие гемы использовать и т.д.?
>>680310 Да, нормальный мужчина должен. Бесполых гуманоидов мы сейчас не обсуждаем. >>680399 Ду онли ван таск, бат ду и гуд. >я нормален Скорее всего ты новичок и не программист (либо виндузятник под шкурой линуксоида, всякое бывает).
Почему в этом треде самый большой процент неадекватов на всей доске? Серьезно, я бываю во многих тредах, в некоторые просто заглядываю из любопытства. Только здесь столько каких-то упёртых максималистов, фанбоев, хейтеров и прочего.
Анон, ковыряю рельсы и застрял на image_tag В общем, пишу image_tag 'rails', предварительно закинув картинку rails.png по адресу /project/app/assets/images Соответственно, этот метод выдает этот url /assets/rails-c1c1d94483dab06b4e850b21c5176201a962ab6a54db02a7b9d8d054619d34da.png. И картинка not_found. В папке public/assets лежит эта картинка.
>>681614 Ну вот. Картинку я положил в app/assets/images. В папке public/assets ничего не появилось. Потом я запустил команду precompile, все собралось и в папке public/assets появился мне нужный файл, но опять ничего не работало.
Создал простенький скрипт. Преобразовал его с помощью Ocra в экзешник, но сам экзешник я найти не могу. В гугле кидает на гитхаб, где я ничего толком не нашел.
>>681614 >>681615 >>681561 Ебать. Проебался с этой проблемой несколько часов. И лишь спустя это время я решил открыть картинку в программе просмотра изображений. Картинка оказалась битая. Просто блядь охуенно.
Теперь следующий вопрос. Как организовать цикл разработки? К примеру, я задумал создать очередной бложик, как правильно наладить весь процесс тестирования, деплоя, интеграции, etc? Какие подводные камни? Сколько серверов надо? Спасибо.
>>683073 Не меньше 12 микросервисов на проект. Собственный докер-хостинг, private cloud для впсок и небольшой кластер монги. Свой днс. Ну ещё под гитлаб сервачок нужен, под дженкинс и тревис.
Не думаю, что можно уложиться менее чем в 35 серверов в итоге.
Помните парня, которого взяли на подработку две недели назад? Ну так вот, это я. Заработал 300$ (15$/h), за 20 часов (на самом деле часов этак 30) за написание веб интерфейса к гиту (rugged) и анализу кода с помощью flog. Деньги чувак переводит в конце недели через пейпал (0% комиссия, но почему то автоматически конвертировалось в рубли, блять). На след. неделе работы будет уже на 25 часов. Пойду бухать, мои первые заработанные деньги, так то.
>>684657 Вкатилс 4 года назад/ по фану изучал по вечерам rails tutorial /читал код разных проектов типа gitlab. Серьезно фигачил только с конца осени прошлого года.на гитхабе тольео бложик, остальное удалил. Бложик, правда вылизанный согласно best practices и хорошо по крытый тестами.
Завтра подробнее распишу, с айпада в три часа ночи не удобно объяснять
>>684675 Дай эту книжечку. Хочется почитать. Олсо. Сейчас читаю туториалы, пишу свой код. В планах поработать над https://github.com/catarse/catarse Вот только проблема - я открыл его исходники и охуел от сложности кода. В книжках и туториалах все в разы проще.
>>685229 совет - как только сможешь написать бложик с тестами, иди ищи работу на апворке. я вот дрочил чего-то, нужно было раньше начинать, хоть и за 7$/час.
Аноны, как прочитать из тхт файла в array? Код такой: file = File.read("myfile.txt", "r:iso-8859-1") text = file.split(" ") text.each{|t| puts t} Сначала выдавал ошибку split': invalid byte sequence in us-ascii. Потом нашёл что надо добавить кодировку при чтении, добавил. Сейчас выходит ошибка "in read: no implicit conversion of string into integer (typeError). Как пофиксить? Хочу сделать скрипт, считаючий количество слов в тексте. Извините за неровный текст, набираю с утюга пятилетней давности.
>>685292 Да вопрос с работой уже решен. Мне нужно осилить модификацию этого бложика. >>685256 Прямо сразу ткнуть в сложный кусок не могу. С большой вероятностью я разберу все, что там есть, но меня как-то пугают объемы и как-то там совсем все по-другому.
Принимаются изменения в шапку треда в виде пулл-реквестов:
https://github.com/meoweg/2ch-pr-ruby
Как показывать код:
Быстро - https://pastebin.com
С исполнением - https://ideone.com
Требуется аккаунт GitHub - https://gist.github.com
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://www.codewars.com/?language=ruby
Не веришь в свои силы? Прочитал уже книжек много и силы свои хочешь познать, сделай - 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. Есть ли у руби русское коммьюнити?
Нет. Вернее есть, но оно протухло и там полно людей у которых чсв высоко.
Яркий пример - [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, 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.