Сохранен 521
https://2ch.hk/pr/res/964778.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Ruby Thread

 Ruby Thread 01/04/17 Суб 14:24:02 #1 №964778 
14849858746930.png
14849858746962.jpg
Предыдущий: https://arhivach.org/thread/251176/

Принимаются изменения в шапку треда в виде пулл-реквестов:
https://github.com/meoweg/2ch-pr-ruby

Как показывать код:
Быстро - https://pastebin.com
С исполнением - https://ideone.com
Требуется аккаунт GitHub - https://gist.github.com

Конференция
https://2chpr.slack.com/messages/ruby/
Получить приглашение: https://invite-me-to-2chpr.herokuapp.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.
Аноним 01/04/17 Суб 16:17:50 #2 №964886 
14909592875590.png
Взял гем double_entry для работы с внутрисайтовыми платежами, теперь появилась необходимость построить график цены отдельного товара. Думаю сделать отдельную таблицу со средней ценой за день, которую будет считать крон скрипт (гем whenever) на основе данных из таблицы созданной гемом (пикрелейтед). Я все правильно делаю ?
Аноним 02/04/17 Вск 06:44:45 #3 №965240 
>>964886
Я бы не стал доверять непроверенным гемам.
Аноним 02/04/17 Вск 10:07:29 #4 №965262 
Сап, анон. Я тут рельсы последние пол года задрачивал, хочу уже собеседования проходить. Расскажи, задают ли ебучие логические задачки на собеседования из разряда ПОЧЕМУ ЛЮКИ КРУГЛЫЕ, или эта хуйня уже в прошлом? Стоит ли задрочить с десяток таких задач, или на теории Руби/Рельс сконцентрироваться? Вообще че джуниору из мухосрани посоветуете?
Аноним 02/04/17 Вск 18:52:19 #5 №965588 
>>965240
Envato все-таки не ноунейм контора
Аноним 03/04/17 Пнд 06:17:15 #6 №965845 
>>965588
Впервые слышу. Чот тухлый у вас тред, рубаны.
Аноним 03/04/17 Пнд 09:52:04 #7 №965862 
>>965262
>Вообще че джуниору из мухосрани посоветуете?
Переезжать в ДС или учить 1С-битрикс.
Аноним 04/04/17 Втр 01:58:38 #8 №966455 
Блять, анон, я нихуя не понимаю этих ваших регулярок.
Делаю коанс.

def test_period_is_a_shortcut_for_any_non_newline_character
assert_equal "abc", "abc\n123"[/a.+/]
end

Это типа правильно, но это же нихуя не правильно.
Потому что онлайн проверщик регулярок говорит мне что должна соответствовать вся строка. Точка это b, + все остальное. Но руби упорно мне продолжает говорить что я хуй и правильно abc. Халп.
Аноним 04/04/17 Втр 16:01:49 #9 №966668 
>>966455
Регулярки бывают разных "стандартов".
В perl-регулярках точка к символу новой строки вроде как не относится.
Может сюда копнёшь.
Аноним 04/04/17 Втр 18:37:04 #10 №966747 
>>965862
Удаленка для джуна фантастика?
Аноним 04/04/17 Втр 21:06:34 #11 №966892 
http://stackoverflow.com/questions/43213990/accepts-nested-attributes-for-has-many-through-create-and-delete-join-model-obj

Помогите ньюфагу, плз.
Аноним 04/04/17 Втр 22:04:38 #12 №966926 
Привет всем, работаю на руби два года, не прочитал до конца нет одной книги. Коллеги постоянно добываются, что я апдейт не делаю, а делать промывание атрибутов модели и сейв. Добываются что я не так формы пишу и тд. Вроде не тупой. В команде все кидают понты. Подскажите книжек, чтобы прочитать и пить смузи как все эти хипстеры. Я по правде никогда веб прогером не был и попал сюда случайно.
Аноним 04/04/17 Втр 22:09:52 #13 №966930 
>>966455
Используй /m
Аноним 04/04/17 Втр 22:38:35 #14 №966954 
>>966892
чтобы защитить модель юзера, можешь использовать стрикт парамс.
Аноним 04/04/17 Втр 22:42:54 #15 №966958 
>>966892
Алсо, твоя проблема в том, что тебе надо найти автоматом имейл и поставить айди? Либо модифицировать параметры , либо сделать имейл собственно ключом. Не думал об этом, лол?
Аноним 05/04/17 Срд 00:02:48 #16 №967045 
>>966958
Спасибо, анон. Лол, я даже забыл, что эмейлы уникальны для юзеров и их можно использовать вместо айдишника для джоин модели.

Я пошел отсыпаться. Мир.
Аноним 05/04/17 Срд 00:54:44 #17 №967065 
>>967045
Только тебе все равно так или иначе придется фильтровать входные параметры, потому что если ты просто сделаешь апдейт из параметров формы, я боюсь у тебя образуется либо связи на юзера с несуществующим мылом или , еще хуже, новый юзер с новым имейл, в зависимости как напишешь. Остерегайся, кек
Аноним 05/04/17 Срд 14:32:52 #18 №967320 
Почему все используют рубокоп, который превращает мой няшный руби в петон и с каждой новой версией (которые еще постоянно обновляют) энфорсит все новую и новую хуйню? Сколько можно уже? Кодофашизм какой-то.
То есть каждый месяц прилетают какие то охуительные истории от чувака, который указывает нашей команде, как писать простейшие вещи типа %r() vs //, && vs and и приходится подчиняться все новым и новым маразматическим правилам. И все это хавают
Аноним 05/04/17 Срд 14:34:46 #19 №967321 
>>967320
Потому что питон - это стандарт в современной разработке
Аноним 05/04/17 Срд 14:38:51 #20 №967324 
>>967320
Защита от похапэ-быдла, очевидно же.
И это правильно. Похапэ-быдло — не люди.
Аноним 05/04/17 Срд 16:28:49 #21 №967384 
>>967324
вы таки уверены, что нельзя считать быдлом тех, кому каждый день могут указать, что вот такие скобочки в их коде теперь неправославные, причем на прошлой неделе, предположим, неправославными были одни, а теперь другие? Между прочим всякий %w синтаксис при использовании strict параметров выглядит уебищно. К сожалению, опять же, команда это хавает и следует этим копам, переписывая старый код под новые копы.
Аноним 05/04/17 Срд 16:33:25 #22 №967388 
>>967320
Потому что всех уже тошнит от руби-выебонов со 100500 способов написать одну и ту же хуйню и хочется порядка и единообразия. Это сначала весело, когда ты у мамы художник и артист, а потом заебывает. Чем крупнее проект и чем больше людей над ним работает - тем больше заебывает.
Аноним 05/04/17 Срд 16:36:19 #23 №967391 
>>967384
Так пиздуй к ним на гитхаб и открывай обсуждения - мол, заебали скобочки менять и вообще ваши копы говно, если такой умный. Либо меняй конфигурацию копов локально для своей команды и клади хуй на то что там в апстриме происходит - если у вас уже большая и констистентная кодобаза, то скобочки менять мало мысла.
Аноним 05/04/17 Срд 16:51:20 #24 №967399 
>>967388
>>967391
слюшай. если тебя выворачивает от
if !blah.nil?

то это повод задуматься над бытием.
Аноним 05/04/17 Срд 16:54:11 #25 №967401 
>>967388
с одной стороны да, хуй с ним, конечно. Бесит не суть рубокопа а то, что один мужик определяет как мне писать и как мне переписывать уже написанное.

>>967391
Я тут права голоса не имею, зато каждый апдейт рубокопа (обновление последней версии которого еще и в gitlab-ci прописано ) за всю кодовую базу садится сеньор и начинает заменять одни скобочки на другие.
Сраться на гитхабе - есть ли смысл? я особо на гитхабе не зависаю, попал в руби кодинг почти случайно, просто бесит вот эта хуйня. Ну зафиксировали бы версию и все - нет, над душой стоит удаленный вахтер.
Аноним 05/04/17 Срд 17:49:53 #26 №967429 
Здрасте, а можно тут у вас посидеть?
ASP.NET - адепт
Аноним 05/04/17 Срд 18:29:54 #27 №967445 
>>967320

пишешь свой проект - пиши как хочешь.
контрибьютишь в опен-сорс - смотри как автор пишет.
на работе - настроенный под вашу команду рубокоп.

'охуительные истории' от чуваков нужны для новичков, чтобы те дичь не городили.
Аноним 06/04/17 Чтв 06:13:02 #28 №967826 
2017-04-06111139.png
0093.png
Где няшки?
http://rubyjobs.ru/vacancies/4745
Аноним 06/04/17 Чтв 12:17:02 #29 №967976 
>>967826
> В отклике, пожалуйста, подтвердите готовность пройти техническое тестовое задание

Спасибо, нет.
Аноним 06/04/17 Чтв 12:33:52 #30 №967999 
>>967826
БЛЯЯЯДЬ И ТУТ ХИПСТОРЫ ДОКОЛЕ БЛЯДЬ СМУЗИ БОРОДЫ МАКБУК Я ПРОСТОЙ ПАРЕНЬ ИЗ СЕЛА ДА Я ТОЖЕ ЗНАЮ РУБИ И ЧТО Я НЕДОСТОИН ПУФИКА АААА БЛЯДЬ СРАНЫЕ ХИПСТОРЫ
Аноним 06/04/17 Чтв 20:14:29 #31 №968315 
logo-2x.png
Посоны, можете подсказать по статик-хостингу?

В общем нужно микро-сайт на джекилле где-то захостить, хотелось изящного решения. Дело в том, что раньше у битбакета была такая штука как aerobatic.io, это был полный аналог github pages только еще и с поддержкой плагинов и с приватными репами. Такая няшота.
А сейчас они отделились и отобрали кастомные домены для бесплатных аккаунтов.
Хочу что-нибудь дешевое придумать, чтобы и приватная репа была, и кастомный домен и деплой из CI-ки.
Что там сейчас есть, гитлаб пейдж, хероку (но спит в бездействии), амазон (?), диджитал ошен?
Аноним 06/04/17 Чтв 20:21:45 #32 №968325 
>>968315
Гитлаб пейджс есть с жекилом. Есть битбакет пейджс, но там хз. Не занимайся халявной ерундой и захости по человечески.
Аноним 06/04/17 Чтв 22:59:17 #33 №968527 
>>964886
А мне ответит кто-то ?
Аноним 06/04/17 Чтв 23:12:36 #34 №968541 
>>968527
Утро вечера мудренее.
Аноним 06/04/17 Чтв 23:35:49 #35 №968549 
>>964886
>double_entry
Чет я не догоняю при чем тут гем бухгалтерской записи и график средней цены товара?

Кстати, расскажи про гем, зечем его понадобилось использовать, в чем профиты этой системы. Всегда было интересно про двойную запись, но никогда не встречал на практике.
Аноним 08/04/17 Суб 11:32:46 #36 №969177 
Поясните, а почему нельзя кодить на руби сидя в окошках?
Аноним 08/04/17 Суб 13:30:49 #37 №969248 
>>969177
Можно, используй BashOnWindows -
https://msdn.microsoft.com/en-us/commandline/wsl/about
Аноним 08/04/17 Суб 13:49:59 #38 №969254 
>>969177

https://c9.io/
Аноним 08/04/17 Суб 15:46:12 #39 №969314 
>>969254
Даже cock.li не хочет регистрировать, не говоря уже о временной почте. Да и оно платное, наверное?

мимо
Аноним 08/04/17 Суб 15:48:52 #40 №969318 
>>969314
Это просто облачная иде с обрезком линукс-машины. В бесплатной версии после 24 часов простоя выключается.
Проще запустить свою машину в виртуалочке или купить дешевый впс, если не хочешь перекатываться на мак/линукс.
Аноним 08/04/17 Суб 16:11:20 #41 №969336 
>>969314

вот обзор ( https://habrahabr.ru/company/mr_gefest/blog/247147/ ) за 14 год, рассказывают про альтернативы, тарифы, для ценителей были какие-то приложения и под андроид.
Аноним 08/04/17 Суб 16:28:19 #42 №969345 
>>969336
Koding был единственный с полноценной рутовой машиной, но умер.
И тарифы сейчас у всех эти сервисов такие, что проще купить впску.
Аноним 08/04/17 Суб 16:39:11 #43 №969349 
>>969345

ты же понимаешь, сравнивать надо с ide + хостингом. Подписка на рубимайн стоит около 12 долларов в месяц, бтв.
Аноним 08/04/17 Суб 16:48:04 #44 №969351 
>>969349
>рубимайн
А он то зачем нужен? Там что, такой же вендерлок, как и с джавой? Уж на руби можно писать где угодно, хоть в саблайме или виме.
Аноним 08/04/17 Суб 16:57:22 #45 №969355 
>>969351

но я хочу пить смузи, а не трахаться с настройкой очередного сломавшегося плагина в сублайм-виме!
Аноним 08/04/17 Суб 17:04:37 #46 №969357 
>>969355
Хипсторы вообще на атоме пишут. На жетбрейнсах сидят только старые пердуны.
Аноним 08/04/17 Суб 17:06:13 #47 №969358 
>>969357

Саша, ой всё!
Аноним 08/04/17 Суб 17:10:28 #48 №969359 
>>969318
А я есть редактор под тот же линух, в котором не надо пердолиться?
Аноним 08/04/17 Суб 17:13:18 #49 №969363 
143992350918041502.jpg
>>969359
>линух
>не надо пердолиться

Там чтобы вим не печатал хуйню при нажатии на стрелочки и удалял символы уже нужно конфиги прописывать
Аноним 08/04/17 Суб 17:15:28 #50 №969365 
>>969359
Саблайм, атом.
Аноним 08/04/17 Суб 17:17:32 #51 №969367 
>>969363
Не нужно ничего прописывать, нужно пропустить через себя философию вим.
Алсо, программировать и ничего не настраивать - это оксюморон какой-то.
Аноним 08/04/17 Суб 17:22:08 #52 №969370 
>>969367
Не настраивать - это нормально, но конкретно от вима я пригорел
Аноним 08/04/17 Суб 17:55:15 #53 №969382 
>>969367

Написание скриптов интегрируюших rvm в сублайм - это красноглазие, а не коммерческое программирование, увы.
Аноним 08/04/17 Суб 17:56:40 #54 №969385 
>>969382
А зачем их писать, если и так всё написано? Ты что, йоба-хацкер и тебе нужны какие-то особые сниппеты и изъебы?
Аноним 08/04/17 Суб 18:10:55 #55 №969399 
>>969385

Затем что автоматизация. Что сублайм, что тем более вим - нужно достраивать и если ты делаешь это в рабочее время, то ты какой-то хуевый работник.
Аноним 08/04/17 Суб 18:23:08 #56 №969404 
>>967399
Меня выворачивает когда Васян пишет if !blah.nil?, а Петян - unless blah.nil?, в одном и том же проекте, в одном и том же файле.
Аноним 08/04/17 Суб 18:39:17 #57 №969409 
>>969399
>саблайм не может настроить
Кекнул с этого пахрамиста.
Аноним 08/04/17 Суб 18:57:14 #58 №969418 
>>969409

анус себе настрой, пёс.
Аноним 08/04/17 Суб 19:03:36 #59 №969423 
>>969418
В понедельник настрою, товарищ начальник
Аноним 09/04/17 Вск 09:40:15 #60 №969667 
>>968549
https://vimeo.com/117154510.
Аноним 09/04/17 Вск 17:56:11 #61 №970233 
Рубаны, нужен совет. Есть один content_tag, в data аттрибут которого я передаю переменную, которая содержит n количесво записей из бд. Все это выглядит так:

<%= content_tag :div, "", id: "my_id", data: { houses: @houses } %>
где @houses это что-то вроде House.last(15)

Затем я на одной из джаваскрипт библиотек из data-houses
атрибута извлекаю в жс файле информацию, делаю с ней всякие манипуляции и тд.
Но мне нужно, чтобы ActionCable следил за этим data-houses атрибутом и в случае обновления (появления новых иснтансов модели Ноuse), снова обновлял этот дата атрибут, запуская жс скрипт, в результате чего ререндерилась и вьюха. Как это сделать? С actioncable знаком, но кроме чатика и комментов на нем ничего такого не делал,
Аноним 09/04/17 Вск 20:26:01 #62 №970456 
Котаны, я только начал руби подучать, попытался написать парсер, и вроде все работает, но почему-то блядь ключ [:description] выводит nil при том, что если просто обратиться к ["agi"] - все видно. И ключ, и значение. Код прилагаю:
https://pastebin.com/7tdn1VTh
Аноним 09/04/17 Вск 20:33:13 #63 №970461 
>>970456
Вопрос отпал. Это я, долбоеб, русскую "с" написал в слове. Грустнопиздец.
Аноним 10/04/17 Пнд 00:44:39 #64 №970671 
>>970461
Рубанок / рубероид, хули.
Аноним 10/04/17 Пнд 12:37:19 #65 №970809 
>>970671
Это локальные оскорбления?
Аноним 10/04/17 Пнд 17:34:25 #66 №970983 
Поставил PaperСlip с сохранением локально.
Всё работает, но адрес изображения типа 'localhost\......\1231.jpg' из за чего на другой пекарне картинок не видно. Как пофиксить? Чтобы был локальный ip-адрес типа 192.168.1.2?
Аноним 11/04/17 Втр 07:59:50 #67 №971549 
>>970983
попробуй сделать на aws s3
Загугли и почитай - сделать это проще, чем кажется
Аноним 11/04/17 Втр 13:59:27 #68 №971733 
>>970983
Или на google cloud storage еще можно
Аноним 11/04/17 Втр 14:23:31 #69 №971755 
по поводу замены sprockets на gulp. проблема: пилить js без знания руби и что бы не иметь в двух местах: bootstrap через sprockets, а остальное в gulp. пусть будет в одном месте.
статья как подружить js/css asset digest c gulp:
https://blog.bugsnag.com/replacing-the-rails-asset-pipeline-with-gulp/#monkeypatching-rails

нет уже готового?
что с иконками которые раньше были в app/assets/images?
Аноним 11/04/17 Втр 14:32:19 #70 №971760 
>>971755
а напомните, зачем asset digest?
перед тем как использовать документ из кэша, браузер разве не шлет запрос - content modified? if no -> fetch the document from the server.
Аноним 11/04/17 Втр 14:47:56 #71 №971764 
Как сделать, чтобы гет на какую-то страницу показывал index, а гет с параметром на тот же адрес - create? Понимаю, что это немного не по договоренности в рельсомирке, но легаси говно такое легаси.
Аноним 11/04/17 Втр 15:18:35 #72 №971784 
>>971764
в config/routes.rb
match "my_action", via: :all # post and get

def my_action
if params[:param]; create; else; blah; end


Аноним 11/04/17 Втр 15:21:13 #73 №971786 
>>971784
Спасибо. А на уровне роутов это не решается?
Аноним 11/04/17 Втр 15:38:44 #74 №971796 
>>971786
http://stackoverflow.com/questions/4888263/setting-up-rails-routes-based-on-querystring
Аноним 11/04/17 Втр 15:39:48 #75 №971797 
>>971796
Как раз только что сделал через эти constraints. Странно, все работает, но роутинг спек все равно говорит, что я не прав.
Аноним 11/04/17 Втр 16:26:57 #76 №971879 
>>971760
немного разобрался. у документа в кэше есть параметр, max-age который контролирует длительность кэширования. max-age можно выслать веб сервером для js, и других статических документов.

если документ был получен ранее чем max-age назад, то браузер пошлет запрос серверу.
у запроса есть заголовок:
If-Modified-Science: time

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Modified-Since
>makes the request conditional: the server will send back the requested resource, with a 200 status, only if it has been last modified after the given date. If the request has not been modified since, the response will be a 304 without any body;

для не нагруженной херни можно и без digest обойтись, установив max-age в несколько мин.
Аноним 12/04/17 Срд 14:03:32 #77 №972376 
Как врубиться в паттерны программирования? Желательно с примерами на руби
Аноним 12/04/17 Срд 16:23:40 #78 №972438 
>>972376
Просто уходи.
Аноним 12/04/17 Срд 20:34:59 #79 №972592 
>>972438
Не прогоняй, плиз. Лучше посоветуй книжку. Вот я нашел design pattern in ruby, она хорошая?
Аноним 12/04/17 Срд 21:11:47 #80 №972606 
51kExzC-67L.SX377BO1,204,203,200.jpg
>>972376
https://www.amazon.com/Design-Patterns-Ruby-Russ-Olsen/dp/0321490452/
Аноним 12/04/17 Срд 21:12:25 #81 №972607 
>>972592
Да
Аноним 13/04/17 Чтв 02:08:37 #82 №972773 
>>972592



На почитай

http://www.rubyletter.com/newsletter/2017/04/07/patterns.html

На гитхабе можешь подрочить на код postmodern'а
Аноним 13/04/17 Чтв 17:29:36 #83 №973037 
>>972606
>>972607
>>972773
Всем добра
Аноним 15/04/17 Суб 00:38:55 #84 №973847 
minitest или rspec?
когда используешь другие библиотеки, часто бывает что их легче тестировать rspec'ом?

в rspec:
include_examples "blah"

в minitest:
module Blah
... # your tests
end

class Test
__ include Blah
end

в minitest понятнее, что происходит.

с другой стороны, у rspec
есть it_behaves_like, который вместе с форматированием, дает некоторую инфу.
у minitest есть паралельный запускатель тестов. может и у rspec есть.
Аноним 15/04/17 Суб 19:28:33 #85 №974131 
>>968541
Ну?
Аноним 16/04/17 Вск 00:39:37 #86 №974270 
Что почитать по руби на русском языке? Начал путь руби, но он не заходит, изложение ебанутое. Например, начали рассказывать про классы, привели пример класса, а рассказать чем отличаются переменные классы от переменных экземпляра забыли. Ну это пиздец вообще.
Аноним 16/04/17 Вск 16:50:05 #87 №974469 
Анон, подскажи за сколько такое делается на рельсах www.washdrop.ru по времени и по цене?
Аноним 16/04/17 Вск 21:54:15 #88 №974595 
>>974469
Месяца три
Аноним 16/04/17 Вск 23:11:37 #89 №974626 
>>974595
Объясни в чем заключается сложность и почему такой срок? Ну и цену интересно бы услышать
Аноним 17/04/17 Пнд 02:04:33 #90 №974713 
2017-04-17070402.png
>>974626
ангуляр
Аноним 17/04/17 Пнд 02:48:30 #91 №974727 
>>974713
Я что, в филиал /b попал что-ли? Причем тут ангуляр поехавший? Ты можешь, блядь, писать более развернуто чем одно - два слова? Ты блядь слышал что спрашивалось вообще? Меня не ебет на чем это сделано, в качестве бэкенда у подобного говна обязательно будет рельса пусть и ангуляр на фронтенде (про это будет отдельный ответ).

Вопрос остается тем же. Сколько по времени делать подобное говно для погромиста на рельсах и сколько это говно собственно может стоить если ты конечно не совсем хуй мамин а немного шаришь в вопросе.
Аноним 17/04/17 Пнд 05:37:56 #92 №974735 
Снимок экрана от 2017-04-17 05:26:20.png
>>974727
я не он но отвечу
смари бэк там простой, очень простой сделать его на рубях можно, но смысел нанимать узкого относительно спеца для почти одностраничника ? Хочешь заплатить больше

далее по фронту
я с угловым мало работал но принцип думаю один и тот же:
для начала пикрил
это плохо

во вторых я бы взял тысяч 50 за все под ключ
дизайн, верстка, бэкенд
и по времени месяца два ( просто чтоб можно было поебланить и не загоняться по поводу дедлайнов ) за 80 тысяч сделал бы такое за месяц но это я макаки с fl.ru сделают на стэке WP+JQ за две недели и 10к

проблема не в сложности а в том, что заказов обычно у сколько нибудь нормального спеца столько, что можно на подобные одностраничники выставлять прайс в разы превосходящий реальную стоимость/сроки
Аноним 17/04/17 Пнд 17:36:14 #93 №975100 
>>974735
Вообще я думал такое делается на базе какой-нибудь Spree если речь идет о рельсах. В качестве фронтенда Bootstrap который там уже есть к тому же. Заодно и платежные системы подключить не проблема будет. корзина и все остальное там уже реализовано, так что останется только настроить функционал. Плюс административная часть в которой будут проходить все заказы с состоянием доставки и всего подобного. Срок на все про все с учетом уточнений - месяц максимум, осталось определиться с ценой.
Аноним 17/04/17 Пнд 18:41:11 #94 №975132 
>>964778 (OP)
Хочу встать на рельсы, в данный момент знаю C#, могу в верстку. ASP.NET MVC по паре причин забросил, но о MVC в целом имею представление.
Такие вопросы:
1) С какой книги начинать читать, чтобы для меня не разжевывали с нуля переменные, коллекции и прочее. Могу разбираться на примерах. Желательно, чтобы сразу начать пилить сайт.
2) Есть ли у какой-нибудь IDE аналог IntelliSence для Ruby?
Аноним 18/04/17 Втр 04:02:34 #95 №975377 
>>974270
Учи английский, иначе так и будешь
>экземплярами
оперировать вместо нормального языка. Ну и информация двухлетней давности в лучшем случае прилагается как должное. Технический английский на самом деле элементарный, поначалу туго, но дальше как по маслу.
>>975132
http://stackoverflow.com/questions/55574/learning-ruby-on-rails
Аноним 18/04/17 Втр 13:17:45 #96 №975516 
Арон, как сделать так, чтоб ruby шел на сайт, копировал <head>Вот это </head> и вставил в .txt док. Какие гемы поставить, если с ванилы не может? Заранее спасибо.
С .txt, все понятно
Аноним 18/04/17 Втр 14:34:59 #97 №975554 
>>975516
nokogiri
Аноним 18/04/17 Втр 18:51:23 #98 №975721 
>>975554
А если мне нужно просто вывести название сайта в блокнот?
Аноним 18/04/17 Втр 19:05:47 #99 №975735 
>>975516
Ставь правильные вопросы и задавай их гуглу.

1) Как запросить html по url.
2) Как парсить строку.
3) Как выводить в файл.

Аноним 18/04/17 Втр 19:10:44 #100 №975744 
>>975735
1.+
2. Искал, но там относительно сложные примеры с большим кодом. И поиск идет по css.
3.+
Я бы и сам сюда за помощью не шел(анон, занятой человек, а не я высокомерная мразь), но понимание, так и не приходит...
Аноним 18/04/17 Втр 20:31:59 #101 №975862 
>>975744
[code]
html = %{
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>OP XYU</head>
<body></body>
</html>
}

html.match(/<head>(.*?)<\/head>/m).captures # => ["OP XYU"]
[/code]
Аноним 18/04/17 Втр 20:49:05 #102 №975893 
>>975862
[CODE]require 'open-uri'
require 'nokogiri'
url = 'http://www.nokogiri.org/tutorials/searching_a_xml_html_document.html'
html = open(url)
html.match(/<title>(.*?)<\/title>/m).captures
[/CODE]
Подскажешь, где ошибочка?
Аноним 18/04/17 Втр 20:51:55 #103 №975899 
>>975893
C:/Ruby/lib/ruby/2.3.0/delegate.rb:87:in `method_missing': undefined method `match' for #<Tempfile:0x0000000331ef18> (NoMethodError)
from C:/Work/rb/testing.rb:5:in `<main>'
Вот такая.
Я знаю, что даун, раз на винде руби знаю, знаю...
Аноним 18/04/17 Втр 21:11:48 #104 №975920 
>>975899
А где у тебя вызов этой самой Nokogiri?
Аноним 18/04/17 Втр 21:12:53 #105 №975922 
>>975899
open(url) возвращает не строку, а файл, который нужно прочитать через read

nokogiri -это библиотека для парсинга html/xml документов. Если у тебя такой простой пример, то можно обойтись без нее:

require 'open-uri'
url = 'http://www.nokogiri.org/tutorials/searching_a_xml_html_document.html'
html = open(url).read
html.match(/<title>(.?)<\/title>/m).captures.first

С nokogiri:*

require 'open-uri'
require 'nokogiri'
url = 'http://www.nokogiri.org/tutorials/searching_a_xml_html_document.html'
file = open(url)
doc = Nokogiri::HTML(file)
doc.css('head').children.to_html
Аноним 18/04/17 Втр 21:13:41 #106 №975923 
>>975922
Фикс, макаба распидорасила:
html.match(/<title>(.*?)<\/title>/m).captures.first
Аноним 18/04/17 Втр 21:22:15 #107 №975932 
>>975922
Огромное спасибо тебе!
Аноним 19/04/17 Срд 18:52:36 #108 №976430 
14835193459160.jpg
А как обычно в рельсах назначают выполнение действий в определенное время, вот допустим у меня есть поле с датой в бд и я хочу именно в это время отправить смс/письмо/сделать что-то еще? Очевидно что можно написать простой крон скрипт который будет дергать анус бд каждые n минут, но это ведь нихуя не правильно, всякие delayed job вроде позволяют ставить конкретное время запуска задания, но как они будут дружить с тем что в бд могут быть тысячи записей ? Вообщем в гугле не нашел, пришел сюда. пик стронгли анрилейтед
Аноним 19/04/17 Срд 19:45:03 #109 №976472 
>>976430
sidekiq вполне быстый
Аноним 21/04/17 Птн 13:23:05 #110 №977229 
>>976472
плюсую также за sidekiq
Аноним 21/04/17 Птн 13:35:43 #111 №977234 
>>975932
можно вместо 'open-uri' пользовать gem 'httparty'.
почитай в документации nokogiri как парсить по css элементы, свобода действий достаточна.
для вывода данных советую поработать над приведением к удобному виду, что-то типа
my_data = el.search('header').text и пуш в массив,
а затем с помощью гемов 'json' или 'csv' получай чьотенкий лист данных:
puts JSON.pretty_generate(my_data)
или
CSV.open('my_data.csv, 'w') do |csv|
csv << my_data
end
и вот тебе файл с выгребаемым
Аноним 21/04/17 Птн 21:13:47 #112 №977471 
интересно
Аноним 21/04/17 Птн 21:14:25 #113 №977472 
интересно
Аноним 21/04/17 Птн 22:24:43 #114 №977506 
>>976472
>>977229
Ну и толку что он быстрый (быстрый в обработке задач?), причем здесь это? Я спрашиваю о том как это сделали бы люди которые что-то понимают, потому то что я назвал мне не кажется оптимальным решением.
Аноним 21/04/17 Птн 23:55:33 #115 №977534 
>>977506
Для мудака, который не может в гугл.
Твои стулья: https://www.ruby-toolbox.com/categories/Background_Jobs
По сути, стула всего два: Resque или Sidekiq. Оба используют редис. Рескью я не пользовался, к сайдкику нареканий никогда никаких не возникало, из коробки есть все, ебаться ни с чем не нужно. Судя по всему, у остальных такая же ситуация. Если ты все еще не можешь в гугл с запросом из трех слов Resque vs Sidekiq, то на первую ссылку с СО: http://stackoverflow.com/questions/11580954/resque-vs-sidekiq и FAQ сайдкика со сравнениями: https://github.com/mperham/sidekiq/wiki/FAQ
Аноним 22/04/17 Суб 09:21:07 #116 №977617 
>>977534
Вот нахуй ты это написал, ты читать не умеешь или что ?
Аноним 22/04/17 Суб 10:39:12 #117 №977627 
>>977506
а требования какие по надежности, ничего страшного если сообщение не будет доставленно в случае редкого сбоя?
ничего если сообщение будет отправленно дважды?
тебе вот эти вещи нужно разобрать.
сайдкик использует редис и тебе нужно будет проверить сохраняет он очередь или хранит в временно памяти и очередь теряется при сбое.
если тебе нужно отослать разным получателям в разное время и получателей - много заданий. то нужно подумать про очереди с разным приоритетом. да и тебе нужно с какой точностью обработки, до секунды или плевать если сообщение отправится на несколько мин позже?
я бы так рассуждал и уже из соображений выбрал сайдкик или еще что.

Аноним 22/04/17 Суб 17:28:26 #118 №977855 
Снимок экрана от 2017-04-22 17-26-53.png
Какой редактор выбрать для Ruby On Rails под Линукс? С нормальным автодополнением и подсветкой синтаксима. Sublime Text 3 как-то криво подсвечивает.
Аноним 22/04/17 Суб 17:30:19 #119 №977856 
>>977855
А, нет, это я еблан.
Аноним 22/04/17 Суб 18:32:54 #120 №977884 
>>976430
Рандомное действие зависящее от значения в строке БД по определению решается периодическим поллингом базы.

Попробуй описать изначальную задачу, до этапа как какая-то дата попадает в БД и возможно тебе предложат решение лучше.
Аноним 22/04/17 Суб 18:34:03 #121 №977886 
>>977234
Ты наркоман. OpenURI - библиотека работы с URI. HTTParty - клиент HTTP. Как тут можно одно использовать "вместо" другого - не ясно.

Более того, если речь о множественной загрузке, то нужен не httparty а faraday с excon'ом или аналоги.
Аноним 22/04/17 Суб 18:34:27 #122 №977887 
>>977855
Atom если похуй на память.
Аноним 22/04/17 Суб 19:43:29 #123 №977959 
>>977884
Ну вот очевидный таск-менеджер с функцией отправки email, если ты проебал сроки выполнения(т.е не поменял статус на выполнено)
Аноним 22/04/17 Суб 22:30:23 #124 №978044 
>>977959
Тогда очевидный воркер запускаемый раз в Х, выбирающий просроченные тикеты по всей системе и рассылающий уведомления.

В ином случае это какая-то комбинация из event-driven системы хранения данных и экосистемы.
Аноним 22/04/17 Суб 22:53:32 #125 №978064 
>>977886
От наркомана слышу. Хера ты умного корчишь? Использовать для скрапера HTTP клиент вместо OpenURI - как раз по делу.
HTTParty uses Net::HTTP under the hood.
В чем я не прав? HTTParty через GET запрос на страницу возвращает весь html в виде строки. Ну и накой нам тогда OpenURI, если HTTParty все делает сам.
К тому же, цитирую: "While good for basic tasks, open-uri has some issues which mean you may want to look elsewhere for an http client to use in production". ОК?

И пойди расскажи, что они наркоманы всем этим ребятам:

https://www.distilled.net/resources/web-scraping-with-ruby-and-nokogiri-for-beginners/

http://www.mattmorgante.com/technology/webscraper

https://github.com/RaDeleon/Ruby-Web-Scraper-Nokogirl-HTTParty-Pry/blob/master/web_scraper.rb

https://medium.com/@LindaHaviv/the-beginner-s-guide-scraping-in-ruby-cheat-sheet-c4f9c26d1b8c
Аноним 23/04/17 Вск 02:06:52 #126 №978177 
>>978064
Хуярить скрейпера через нативный Net::HTTP это пиздецовая идея. В итоге придешь к тому что будешь хуярить тред-пул чтобы с горем пополам это работало хоть как-то оперативно.

>Использовать для скрапера HTTP клиент вместо OpenURI - как раз по делу.
Так если оба базируются на Net::HTTP - то какой резон-то?
Что мы знаем о Rails? Аноним 23/04/17 Вск 03:38:30 #127 №978208 
ruby-thing.jpg
В Rails первее всех собрали воедино множество инструментов для повышения удобства разработки. Но сейчас вы не найдете в нем "революционности". По сути, ничего нового в Rails не изобретено. ActiveRecord, MVC? Это паттерны прямиком из книжек 90-х годов. Шаблонизатор вроде .erb? Смешно. REST API? Тоже не ново. LESS, SCSS? Никого этим не удивишь. Миграции для БД, скаффолдинг тоже везде есть. Таким образом, в Rails есть всё то же самое, что и в других веб-фреймворках. Сейчас, когда все догнали и перегнали Rails, рубистам только и остается говорить, что всё спиздили у них. Что мы имеем в сухом остатке? Зрелое коммьюнити и очень зрелый фреймворк, т.к. все хипстеры, которые гоняются за технологиями, перепрыгнули куда-то в JavaScript-джунгли. Только вот эти хипстеры и вывели руби в люди, а не какие-то нудные корпоративные инженеры, как джаву и дотнет. Ах, да. Многопоточность и модель акторов сюда не завезли.
Аноним 23/04/17 Вск 05:50:09 #128 №978219 
>>978064
> использовать для скрапера HTTP клиент вместо OpenURI - как раз по делу.

Ты заостряешь внимание на малозначимых вещах.

Низкоуровевые сетевые библиотеки не нужны хотя бы потому, что не дадут ощутимого прироста в скорости, пока не научишься в многопоточность, оптимизированный парсинг тяжелых страничек и т.д. Начни писать код, решай реальные проблемы.

---
Бонусы в виде того, что кто-то гарантирует работу скраппера над кучей протоколов - это приятно, нужен uri - ты его берешь, забывая про то, что в интернете, оказывается много разных схем http, https, ftp, irc (lol) и т.д.

Исходя из этих соображений, я бы не стал писать паучка с Net::HTTP, в худшем случае - запилил какой-нибудь интерфейс, чтобы такие извращенцы как ты могли запилить свою реализацию данной части скпаппера. Но пока не попросят, заниматься овер инженерингом - нет.
Аноним 23/04/17 Вск 10:57:13 #129 №978250 
>>967320
>рубокоп
Что такое рубикоп?
Добавьте расширенную версию каста в шапку Аноним 23/04/17 Вск 11:12:00 #130 №978253 
>>964778 (OP)
>http://railsforzombies.com/
Rails for Zombies 2
http://railsforzombiestwo.codeschool.com/
Аноним 23/04/17 Вск 11:21:27 #131 №978257 
>>978250
> Rubocop
Можешь считать это средством контроля за магией.
Аноним 23/04/17 Вск 12:12:14 #132 №978269 
>>978219
Вот сейчас ты себя прям очень высоко поставил фразами, типа "Начни писать код, решай реальные проблемы." и " Но пока не попросят, заниматься овер инженерингом - нет.". Высоты не боишься?
Не мог бы тогда уважаемый сеньор привести пример своего скрапера для описанных выше задач, ну или хотя бы намекнуть как он его напишет.
Проблема 10000 соединений Аноним 23/04/17 Вск 12:20:03 #133 №978276 
Как/чем решается в Ruby/Rails?
Аноним 23/04/17 Вск 12:37:35 #134 №978282 
Хочу записаться на курсы по Ruby/RoR. До этого никогда не занимался программирование. Есть какие подводные камни ?
Аноним 23/04/17 Вск 12:39:42 #135 №978283 
>>978282
>Есть какие подводные камни?
Станешь носить кардиган, стричься в барбершопах, пить смузи и кататься на гироскутере.
Аноним 23/04/17 Вск 12:50:21 #136 №978290 
>>978283
про вейп забыл
Аноним 23/04/17 Вск 12:54:01 #137 №978295 
>>978283
Я редко очень подстригаюсь, смузи ни разу не пил, на улицу редко выхожу. Сам я точно буду осваивать этот язык больше года, а с курсами было бы не плохо их укоротить на полгода хотябы.
Аноним 23/04/17 Вск 12:56:37 #138 №978298 
>>978295
Помимо самого руби ещё много чего придется осваивать. Уверен, что зочешь влезать в айти? Ещё раз подумай хорошенько...
Аноним 23/04/17 Вск 13:33:23 #139 №978335 
>>978298
Хочу продвигаться на китайском рынке ИТ.
Аноним 23/04/17 Вск 13:39:42 #140 №978340 
>>978298
Либо свои проекты делать на китайский\снг рынок.
Аноним 23/04/17 Вск 14:10:51 #141 №978386 
>>978269
> намекнуть как он его напишет

http://infolab.stanford.edu/~olston/publications/crawling_survey.pdf
Аноним 23/04/17 Вск 16:59:53 #142 №978524 
>>978386
Понятно. Специфическое чувство юмора, конечно. Удачи тебе!
Аноним 23/04/17 Вск 21:12:10 #143 №978707 
>>978269
>Не мог бы тогда уважаемый сеньор привести пример своего скрапера для описанных выше задач, ну или хотя бы намекнуть как он его напишет.

Если смотреть на задачу глобально - то я бы не стал писать скрейпер html страниц в принципе.
Если же локально - то я выше написал что использовать в качестве http агента - faraday с excon.
Аноним 23/04/17 Вск 21:13:13 #144 №978708 
>>978276
В Rails никак не решается, это фреймворк.

А так вообще - решается тем что никто в здравом уме не будет пытаться выжать 10000 одновременных коннектов с одного процесса. Такие дела.
Аноним 23/04/17 Вск 23:11:49 #145 №978776 
посмотрел гемы для jsonapi. ну вот такие вещи
1. многие патчат ActionController
мне было бы понятнее
render json: UserSerializaer.new(user)
или
render_serializer user
они же патчат render()
если же у меня есть TrivialSerializer и UserSerializer, то какой из них будет использоваться? --- render user, serializerClass: ...
гулопсть.

2. добавляется метод класса к ActionController.
чем
your_class_method
понятнее
include YourMixin?
тоже самое, но не нужно патчить.

а есть список проверенных гемов которые не делают таких глупостей? не jsonapi, а любых.
Аноним 23/04/17 Вск 23:28:28 #146 №978788 
>>978776
Ну есть же ActiveModel::Serializers, юзается если сделать rails new --api
Аноним 24/04/17 Пнд 03:31:24 #147 №978915 
>>978708
А как нагрузку балансируют в вашем стеке? Какие инструменты, техники, технологии? Ссылка есть почитать?
Аноним 24/04/17 Пнд 11:49:20 #148 №979020 
>>978788
это JSON сериализатор.
jsonapi - http://jsonapi.org/
стандарт для структуры json ответов.

есть гем active_model_serializers, но вот что он делает:
http://www.benjaminfleischer.com/2015/06/02/understanding-rails-model-serializers/

он подменяет метод
_render_with_renderer_json
это, что бы ты мог сделать:
render json: user

было бы понятнее если бы они просто добавили:
_render_with_renderer_jsonapi

тогда можно было сделать:
render jsonapi: user
из этой записи ясно, что будет использоваться jsonapi.

а так, получаются вот такие дуратские вопросы:
http://stackoverflow.com/questions/20101179/how-to-disable-activemodelserializers-for-a-specific-controller
т.е. человек не хочет использовать jsonapi,
и ему приходится вместо
render json: user
писать:
respond_with user, serializer: nil
Аноним 24/04/17 Пнд 11:52:12 #149 №979025 
>>978915
что бы соединений или много запросов?
соединений, не знаю.
есть 10 rails серверов. перед ними ставят http балансировщик.
Аноним 24/04/17 Пнд 19:34:12 #150 №979269 
2017-04-24-1917561440x900scrot.png
>>973847
>minitest
пик что у меня получилось с minitest.
немного времени потратил..
форматированный вывод неочень, надеюсь можно будет написать formatter.
никаких rails-minitest, только то, что вместе с руби. кроме minitest-reporters для вывода.
я включаю Minitest::Spec::DSL в Rails TestCase, не ок.
Аноним 25/04/17 Втр 01:13:24 #151 №979497 
>>978915
>А как нагрузку балансируют в вашем стеке?
Так же как и в любом другом. Балансировка нагрузки не имеет отношения к используемым технологиям. Дрочево на requests per instance пустое.
Навязывание TDD в Ruby/RoR way Аноним 25/04/17 Втр 02:33:37 #152 №979518 
TDD было придумано для того, чтобы взвалить на разработчика работу тестировщика, но при этом не платить за это. TDD противоречит принципу разделения задач.
Аноним 25/04/17 Втр 02:55:50 #153 №979523 
>>979518

Анус свой раздели, мгазь.
Кого из этих чуваков стоит читать? Аноним 25/04/17 Втр 06:51:08 #154 №979540 
Yukihiro Matsumoto a.k.a. Matz.
http://michaelhartl.com/ – author of Ruby on Rails Tutorial.
http://russolsen.com/ – author of Eloquent Ruby and Design Patterns in Ruby.
http://yehudakatz.com/ – один из разработчиков Ember.js, а также core team member в Ruby on Rails, jQuery и других проектах.
https://mackenziechild.me/ – Rails Courses.

Дополняйте список.
Gems, Tools Аноним 25/04/17 Втр 06:53:26 #155 №979541 

https://rubygems.org/ – package management framework (поставляется вместе с Ruby, начиная с версии 1.9).
http://bundler.io/ – gems manager.
https://ruby-toolbox.com/
https://github.com/bayandin/awesome-awesomeness
https://github.com/trending?l=ruby
Аноним 25/04/17 Втр 06:55:27 #156 №979542 
>>979540
Sandi Metz

Правила для разработчиков от Sandi Metz (2013)
http://habrahabr.ru/post/181434/
Аноним 25/04/17 Втр 06:56:16 #157 №979543 
>>979541
>https://github.com/bayandin/awesome-awesomeness
В шапку надо добавить.

И это >>978253
Аноним 25/04/17 Втр 06:57:16 #158 №979544 
>>979541
Installers:
http://rubyinstaller.org/
http://railsinstaller.org/
Forum Аноним 25/04/17 Втр 07:00:03 #159 №979547 
https://ruby-forum.com/
Learning Ruby, Rails Аноним 25/04/17 Втр 07:03:00 #160 №979548 
Learning Ruby on Rails (StackOverflow)
http://stackoverflow.com/questions/55574/learning-ruby-on-rails

Лучший способ изучить Rails (2012)
http://habrahabr.ru/post/138101/

Обучение онлайн (2013) для изучающих Ruby/Rails
http://habrahabr.ru/post/203064/
FAQ Аноним 25/04/17 Втр 07:04:49 #161 №979549 
Q: Рубаны, как вы админку кодируете? Какой гем ставить? Искаробки ведь не поддерживается? Почему так, кстати?
A: Искаробки не поддерживает. Юзай Administrate или ActiveAdmin.

Тоже в шапку, это часто спрашивают.
FAQ Аноним 25/04/17 Втр 07:05:57 #162 №979550 
Setup Ruby On Rails on Ubuntu
https://gorails.com/setup/ubuntu/14.04
https://gorails.com/setup/ubuntu/16.04

How To Install and Use PostgreSQL on Ubuntu 14.04
https://digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-14-04

И это тоже в шапку. Или запилите годный установочный гайд сами.
Installation Аноним 25/04/17 Втр 07:06:49 #163 №979551 
>>979550
>И это тоже в шапку. Или запилите годный установочный гайд сами.

Например:

Ставим Ruby и RoR:
1. Ставишь RVM
2. Ставишь Ruby
3. gem install bundler
4. gem install rails
5. rails new foobar && cd foobar
6. bundle install
Всё.

Ставим Postgres:
1. sudo apt-get install postgresql postgresql-server-dev-all (без второго пакета не скомпилируется гем pg)
2. sudo -u postgres psql
В pg-консоли:
3. CREATE ROLE foobar WITH LOGIN CREATEDB PASSWORD 'foobar';
Далее меняешь в config/database.yml имя пользователя и пароль на "foobar".
Готово.
Аноним 25/04/17 Втр 07:55:52 #164 №979556 
Каким гемом сделать пагинацию, рубаны?
Аноним 25/04/17 Втр 07:56:11 #165 №979557 
>>979556
will_paginate
Аноним 25/04/17 Втр 08:09:56 #166 №979560 
>>979556
Kaminari
Вики-хуики Аноним 25/04/17 Втр 08:10:58 #167 №979561 
https://en.wikibooks.org/wiki/Ruby_Programming
https://ru.wikibooks.org/wiki/Ruby
https://ru.wikibooks.org/wiki/Категория:Ruby
Аноним 25/04/17 Втр 08:18:35 #168 №979564 
Правда, что связка Ruby/RoR уперлась в верх возможностей и рубаны перекатываются в Elixir и на другие вещи?
Аноним 25/04/17 Втр 08:30:21 #169 №979566 
>>979518
В рельсах нет тру-тдд и быть не может, потому что юнит-тесты не предусмотрены из коробки. Нужно бороться с фреймворком, вводить service/query/presenter/validator объекты, чтобы было нормальное разделение обязанностей, а не огромная куча спагетти
>взвалить на разработчика работу тестировщика
Если разработчик пишет нерабочий код, который нужно отдельно тестировать, то нахуй такой разработчик нужен? Что он разрабатывает?
Аноним 25/04/17 Втр 08:33:26 #170 №979568 
>>979566
>Если разработчик пишет нерабочий код, который нужно отдельно тестировать, то нахуй такой разработчик нужен? Что он разрабатывает?
Может он вручную тестирует или небольшими говнокодиками. Вместо всяких кукумберов и прочих анально-навязываемых вещей, которые не оплачиваются.
Аноним 25/04/17 Втр 08:34:24 #171 №979570 
>>979566
>то нахуй такой разработчик нужен?
Чтобы писать нескончаемый говнокод. косарь баксов разрабу на лапу, а 4 косаря себе в карман. Галеры так и плывут.
Аноним 25/04/17 Втр 08:35:22 #172 №979573 
>>979566
> Нужно бороться с фреймворком
Чот рельсы такие жирные стали. Последний раз заглядывал в версию 2 и 3 и было няшно, а сейчас посмотрел и охуел.
Аноним 25/04/17 Втр 08:42:59 #173 №979576 
>>979568
А зачем он тестирует вручную, если можно написать автоматизированный тест, который будет работать всегда, и сейчас, и через десять минут, и через неделю, когда потребуется что-то переделать? И как он может быть уверен, что протестированный минуту назад функционал не сломался после добавления строчки кода? Прогонять все тесты вручную каждый раз? Это то же самое тестирование, только контр-продуктивное и ненадежное.
> которые не оплачиваются
Твое рабочее время не оплачивается или что? Тебе платят не за "напиши там чет в блоноте", а за "напиши там чет в блокноте и чтобы работало".
>>979573
По сути нихуя не поменялось.
Аноним 25/04/17 Втр 08:42:59 #174 №979577 
>>979568
Двачую, рубипидоров заставляют покрывать свой и не только код тестами и сверху хуй доплачивают...
Аноним 25/04/17 Втр 09:01:38 #175 №979589 
>>979577
Иди еще фулстекерам расскажи что они за двоих работают.
Аноним 25/04/17 Втр 09:03:41 #176 №979591 
>>979589
Ой, эти вообще квинтессенция айти-рабов.
Аноним 25/04/17 Втр 09:52:31 #177 №979605 
>>979518
За 6 лет разработки и участия во многих командах - никогда не видел каноничной разработки по TDD.

>>979566
>>979576
>>979577
И в принципе похоже почему. Тут даже и в хуй не дули как делается и зачем нужно TDD.
Аноним 25/04/17 Втр 09:53:39 #178 №979606 
>>979564
Нет. Elixir в принципе для другого и вряд-ли когда-то получит преимущества RoR.

RoR как был для быстрого прототипирования лучшим и наиболее быстрым инструментом, так и остался.
Аноним 25/04/17 Втр 10:45:00 #179 №979626 
>>979606
>для быстрого прототипирования
Вот об этом по-подробнее.
Аноним 25/04/17 Втр 11:28:19 #180 №979665 
Давайте лучше на английском общаться.
Аноним 25/04/17 Втр 11:51:31 #181 №979688 
>>979551
sudo -u postgres createuser --interactive
пароль ненужно.
Аноним 25/04/17 Втр 18:44:27 #182 №979987 
>>979626

http://blog.bigbinary.com/2017/04/24/rails-5-1-has-introduced-date-all_day-helper.html

А как ты раньше жил без Date#all_day helper, а? а? а?
Аноним 25/04/17 Втр 20:00:46 #183 №980026 
>>979606
>лучшим и наиболее быстрым
Хуита, уже год прототипирую свои велосипеды на elixir + phoenix или на haskell, по скорости от рельс отличий не заметил. И перекат с рельс тоже вполне себе реальность, знаю уже несколько рубистов укатившихся кто-куда, в основном на жс, яву и го, даже на эликсир у одного получилось укатиться (работы пока маловато). Да и я сам, например, уже тот же год на руби только на работе пишу и следующая работа будет 100% не на руби.
мимочетырегоданаруби-кун
Аноним 26/04/17 Срд 00:39:49 #184 №980245 
>>979626
Захуячить MVP на руби проще чем на других стеках.

>>980026
>по скорости от рельс отличий не заметил
Скорее всего это значит что просто медленно вел разработку на RoR. Просто из базиса языка и подходов, писать на фениксе сложнее.

А слушать про "перекаты" - мне каждый раз доставляет не иллюзорное удовольствие. Пока одни используют подходящие под задачу технологии, другие расценивают переход на другую технологию как явление схожее со сменой миллениума.
Аноним 26/04/17 Срд 01:40:00 #185 №980264 
сап, программач. надеюсь на то, что кто-то потратит пару минут и поможет, вместо отсылок в гугл (там бывал). вопрос по ActiveRecord. есть таблица бд User, есть таблица File. в юзере есть поля preview и detail, которые ссылаются на таблицу файлов через id (то есть к каждой записи юзера надо присоединить две разные записи из таблицы файлов). еще эту штуку надо сериализовать в json (выбрать только некоторые поля для сериализации). не прошу писать полностью код, просто подскажите описание моделей и пример запроса для консоли, когда могу просмотреть юзера, у него получить preview файл и detail файл.
Аноним 26/04/17 Срд 08:27:06 #186 №980306 
>>980026
>мимочетырегоданаруби-кун
Каково это?
Names Аноним 26/04/17 Срд 08:43:35 #187 №980307 
>>979540
http://rubyhacker.com/ – Hal Fulton.
Подборка книг по Ruby and Rails Аноним 26/04/17 Срд 09:04:23 #188 №980318 
ruby-thing.jpg
Может кому-то будет полезно:
http://rgho.st/8GtlFQfVp
Аноним 26/04/17 Срд 10:07:49 #189 №980342 
Антуаны, рейтаните вакансию.

Чем нужно заниматься:
Работать в команде
Анализировать требования
Проектировать решения у доски и в коде
Писать автоматизированные тесты
Оформлять разработческую документацию
Что нам хотелось бы видеть в тебе:
Уровень — middle/senior developer;
Опыт разработки на Ruby, Rails от 3-х лет;
Умение писать модульные и интеграционные тесты на Rspec, Cucumber;
Знание глубинных механизмов хранения и оптимизации PostgresSQL;
Опыт работы с Docker;
Опыт работы с очередями сообщений Sidekiq, RabbitMQ;
Умение проектировать, писать чистый код;
Должен быть с Linux на “ты”
Уметь автоматизировать рутинные задачи;
Желательно иметь опыт развертывания приложений с помощью Puppet, Chef, Ansible, bash;
Знание JS фреймворков и техник будет огромным плюсом (особенно React.js);
Наличие опенсорс портфолио (будет плюсом).

Полный текст тут: https://hh.ru/vacancy/20345159

Описание отдаёт ЧСВ человеком, который её писал. Ну и плюс коммерческой разработки на рубях у меня нету, ибо в наших краях только пхп-гопота обитает. Каков шанс соснуть на собеседовании? И стоит ли лезть в подобное говно?
Аноним 26/04/17 Срд 11:35:51 #190 №980385 
>>980342
>Описание отдаёт ЧСВ человеком, который её писал
Проблема в твоем восприятии

>Ну и плюс коммерческой разработки на рубях у меня нету
Если умеешь все описанное - похуй. Умеешь = сделал как минимум один проект "для себя" с использованием технологии.

>Каков шанс соснуть на собеседовании?
Велик

>И стоит ли лезть в подобное говно?
Определенно да (опыт)
Аноним 26/04/17 Срд 12:11:07 #191 №980397 
>>980342
обычная вакансия как по мне, ничем относительно других не примечательна
Аноним 26/04/17 Срд 12:36:48 #192 №980409 
>>980342

Сходи посмотри, вакансия попахивает чуток, но это Казахстан, и у вас там не такой большой выбор, чтобы придираться к мелочам типа повторов

> Писать автоматизированные тесты
> Умение писать модульные и интеграционные тесты на Rspec, Cucumber;

Или бибилиотекам типа > Cucumber

И т.д. ЧСВ особого незаметил, требования для middle/senior как требования.
Аноним 26/04/17 Срд 12:52:53 #193 №980419 
>>980409
Ну я на мида не потяну, наверное. Там слишком много смуззи вроде докера/чиф/кукумба. Я, конечно, знаю, что они из себя представляют. Но работать с ними мне не было нужды.
Аноним 26/04/17 Срд 21:48:05 #194 №980736 
>>980245
>Просто из базиса языка и подходов, писать на фениксе сложнее.
Это что за такая разница? Тотальная иммутабельность только добавляет удобства, а о всяких эрланговых процессах и прочих сложностях в фениксе, при желание, можно вообще не думать. Единственное, что мне проходит в голову это возможность в рельсах по-быстрому нахуярить лапшу из before/after_save и их друзей + логики в контроллеры напихать (хотя это и в фениксе можно), но так делать даже в MVP зашквар делать.

>Пока одни используют подходящие под задачу технологии
Множество задач решаемых руби/рельсами является подмножеством множества задач решаемых эликсиром/фениксом.

>>980306
Нормально. По моим постам, наверное, можно подумать, что я очень не люблю руби, но это на так, я просто разочарован его темпами и направлением развития. Матц обещает руби 3 в хрен знает каком году, гильды выглядят прямо скажем не очень, опциональную типизацию вообще не факт, что запилят, да и прибавки скорости всего в 3 раза, учитывая насколько руби тормозной сейчас, будет маловато. В рельсах с каждом релизом добавляют пару небольших хороших фич и кучу хуйни уровня suppress. Вот из-за всего этого и возникает чувство "пошло оно все, я съебывая".
Аноним 26/04/17 Срд 21:54:52 #195 №980746 
>>980736

Твои велосипеды не сложнее хелловорлда, раз в экосистему не упираешься, вот и все. мимо
Аноним 26/04/17 Срд 22:15:55 #196 №980766 
>>980746
Может года полтора назад я бы с тобой и согласился, но сейчас давай-ка приведи несколько примеров чего такого уникального есть в рубийной экосистеме?
Аноним 26/04/17 Срд 22:21:04 #197 №980770 
>>980766

Cравнивая с чем? Ну давай тыкну пальцем в небо, и предположу, что половину платежек и/или библиотек для рассылки смс (локализованных под рыночек) ты не найдешь и будешь пилить сам.
Аноним 26/04/17 Срд 22:27:00 #198 №980773 
>>980736
>Это что за такая разница
>Тотальная иммутабельность только добавляет удобства
И отсутствие стейта, которое для полноформатных приложений не шибко то и плюс.

>>980766
Ну кстати если говорить конкретно про эликсир, то например с MQ все не то чтобы очень хорошо. Часть библиотек в начальном этапе, часть уже в полузабвении.
Аноним 26/04/17 Срд 22:31:56 #199 №980778 
Как же меня доебала экосистема рельсов вокруг реакта. Проебался весь день, то компоненты не импортятся, то редакс наебнется. В конце концов ебанул бин рельсов. Обоссыте мне ебало что-ли.
Суть такова, хочу чтобы у меня был рельсовый апп, в котором в одну вьюшку маунтится весь мой реактовый апп, и больше ничего из ассет пайплайна не бралось, чтобы реактоговно все жило отдельно, собиралось вебпаком, юзало нод модули и слало реквесты например через аксиос на рельсовый сервер с которого и засервилось. То есть чтобы это говно было в одном аппе но как я хочу. И чтобы я мог развернуть на хероке или например деплоить с капистрано.
Это вообще запиливаемо или нужно ебаться с двумя аппами?
Сорри за корявый язык, но я уже умер в нутри с этих приколов
Аноним 26/04/17 Срд 22:36:10 #200 №980784 
>>980778

В 5.1 обещают добавить чуть-чуть смазки для программиста, так что держись! http://nithinbekal.com/posts/rails-5.1-features/
Аноним 26/04/17 Срд 22:52:55 #201 №980792 
>>980784
>http://nithinbekal.com/posts/rails-5.1-features/
Ща чекнул, у них одна ишью осталась. Было бы здорово если бы завтра утром выкатили, но это все мои влажные
Аноним 26/04/17 Срд 23:10:09 #202 №980802 
>>980778
>То есть чтобы это говно было в одном аппе но как я хочу
Будет гемор. Разделяй на два разных.
Аноним 26/04/17 Срд 23:46:51 #203 №980823 
>>980778
зчем, что бы webpack не запускать в отдельном терминале?
капистрано не сложно, запустить две команды: npm install и webpack.
Аноним 27/04/17 Чтв 01:33:15 #204 №980868 
О, я это сделал на rc2
Посмотрим сколько хуев натащу в рот но пока делает что я хотел
Аноним 28/04/17 Птн 01:14:47 #205 №981334 
Котаны, а как в ваших рубях вывести больше одного пробельного символа подряд?
Пробовал и puts " " , и puts "\s\s" - нихуя. Что блядь за недружелюбность?
Аноним 28/04/17 Птн 02:12:41 #206 №981350 
Анон, это вновь этот аутист >>975516
У меня вновь проблема, не OpenURL, по какой-то причине, не хочет открывать сайт. Вот код. Простите, что пришел снова со своими вопросами...
require 'open-uri'
[CODE]
nump = rand 1..88500
url = 'https://anidb.net/perl-bin/animedb.pl?show=character&charid=' + nump.to_s
open(url) {|f|
f.each_line {|line| p line}
}
[/CODE]
Аноним 28/04/17 Птн 02:37:57 #207 №981355 
>>981350
Нашел ошибку, исправил, словил бан.
Аноним 29/04/17 Суб 10:14:37 #208 №981831 
>>977855
Не благодари. Надеюсь, нужные пакеты найдешь сам.
https://packagecontrol.io/
Аноним 29/04/17 Суб 19:03:45 #209 №982091 
Анон, есть ли работа для совсем недавно вкатившихся в рельсы? Пхп не нравится, а питон умирает в конвульсиях.
Аноним 30/04/17 Вск 12:21:43 #210 №982330 
>>982091
>питон умирает в конвульсиях.
руби
Аноним 30/04/17 Вск 13:18:55 #211 №982353 
>>982091
На других я/п то же самое. Валютные курсы, индия, чо ты хотел...
Аноним 30/04/17 Вск 17:13:45 #212 №982462 
оказывается можно легко camelCase параметры трансформировать в underscore:
params.require(:blah).transform_keys(&:underscore).permit(...)

а в jbuilder есть параметр для обратной трансформации в camelCase.
Аноним 30/04/17 Вск 23:33:30 #213 №982677 
>>982462

Это только для рельсы, если используешь Active* что-то там вне рельсы, то я тебя хочу обоссать.
Аноним 01/05/17 Пнд 16:15:42 #214 №982961 
Сап, для лабы надо рельсы, скачал Railsinstaller, установил, PATH прописал да, шин10, но если написать в консоли rails, пишет что "Системе не удается найти указанный путь." И правда, в /bin я не нашел такого файла. Что я делаю не так?
Аноним 01/05/17 Пнд 16:25:48 #215 №982969 
>>982961
попробуй битнами рубистак
Аноним 01/05/17 Пнд 17:25:58 #216 №983032 
>>982969
написал gem install rails и все ок стало
Аноним 01/05/17 Пнд 20:27:07 #217 №983214 
>>983032
Ты bunde install забыл похоже
Аноним 02/05/17 Втр 17:14:26 #218 №983634 
>>969667
Все 56 минут можно заключить в одну фразу -
"пользуйтесь правилами бухучета". Больше полезной для слушателя информации нет. Ну зато он молодец какой, серьезный парень, с докладом выступил, не хуе мое.
Аноним 02/05/17 Втр 23:36:36 #219 №983863 
5.jpg
>>983634
Кстати, двачеаноны, может кто-нибудь рассказать в чем суть системы двойной записи. Залип сегодня на видосах, смотрел туториальчики, но так и не понял в чем смысл. Ведут счета, каждую проводку отражают на каждом счете, если просуммировать дебет-кредит, то они сойдутся, легко проверять корректность (читаемость при этом сомнительная какая-то). Но суть всей этой возни не понятна, тем более в современных условиях.
Аноним 03/05/17 Срд 08:07:49 #220 №983971 
>>982091
В СНГ рельсы есть в Москве и Киеве. Ну и ещё немножко в Питере. Всё. Больше можешь даже не пытаться. Вкатился на рельсы, теперь вот думаю, куда укатываться. От js дрисни течёт кровь из глаз, пхп оплачивается как труд копирайтера. Хз, что делать.
Аноним 03/05/17 Срд 18:31:52 #221 №984240 
Есть БД в postgresql и небольшая программа на рельсах, с подключением к этой БД. Как мне вывести данные с БД на html страницу (в таблицу)?
Аноним 03/05/17 Срд 22:53:28 #222 №984442 
2017-05-03-224912718x887scrot.png
>>982677
так точно.
короче, у рельсов, params - возвращает параметры запроса. это блять метод наследуется от базового контроллера. но это не Hash, нет метода deep_transform_keys. есть просто transform_keys, не рекурсивный.
http://stackoverflow.com/questions/17240106/what-is-the-best-way-to-convert-all-controller-params-from-camelcase-to-snake-ca
как можно додуматься до этого^^^ и не додуматься до пикрелейтед?
пикрел будет работать всегда.
Аноним 03/05/17 Срд 23:25:36 #223 №984458 
>>983971
Олигофрен, веб-макака. Кроме рельсов php и js ни до чего не допер.
Особенно смешно когда рельсы это 150k+, js до 220к.
Аноним 03/05/17 Срд 23:30:34 #224 №984459 
>>984442
Дебич. params это strong parameters. Которые в свою очередь наследуются от HashWithIndifferentAccess, у которого есть все свойства рельсового хэша.
sageАноним 03/05/17 Срд 23:36:31 #225 №984465 
>>984459
уже не наследуется.
http://api.rubyonrails.org/classes/ActionController/Parameters.html
Аноним 03/05/17 Срд 23:45:41 #226 №984467 
>>984465
https://github.com/rails/rails/blob/v5.1.0/actionpack/lib/action_controller/metal/strong_parameters.rb#L228
Ну раз ты сказал, то точно так.
Аноним 03/05/17 Срд 23:49:55 #227 №984469 
>>984467
куда спешишь?
Аноним 03/05/17 Срд 23:53:10 #228 №984470 
>>984469
В Арбат Престиж.
Аноним 04/05/17 Чтв 13:15:20 #229 №984673 
Сам, анон. Пишу гем-враппер, столкнулся с проблемой. Перед запросом нужно инициировать сессию, которая активна 15 минут, после чего она уничтожается и сервер ее не принимает. Как сохранить сессию для следующих запросов? В файлике хранить как-то некрасиво.
ответ приходит такой
{"ret_msg"=>"Approved", "session_id"=>"A1C7DFC2EBC642429CD08831B80605EC", "timestamp"=>"5/4/2017 10:09:40 AM"}, где "session_id" ключ для других запросов
Аноним 04/05/17 Чтв 18:49:02 #230 №984828 
1.png
Чем отличается обсервер от коллбеков?
Сначала я вообще не мог понять разницу - например, в модели я определил коллбек after_create с отправкой письма нет, я так не делаю или написал обсервер, который отправляет письмо и вызвал после создания. Ни какой разницы, кроме того, что код в другом месте.
Потом я нашел 2 тезиса:
1. Коллбек является частью объекта и потому сильно с ним связан. Если реализовывать в нем логику не относящуюся к объекту, то нарушается принцип SRP.
2. Observer pattern предусматривает механизм регистрации обсерверов - то есть мы не только их уносим из объекта, но и можем менять их состав. То есть это масштабируемость.

Посоны, а какая еще есть принципиальная разница? Кто понимает архитектуру, объясните суть этих вещей.
Аноним 04/05/17 Чтв 19:29:08 #231 №984842 
>>983863
Не знаю, о чем вы там говорили, но если вопрос о бухгалтерии, то суть в том, что каждая транзакция дублируется и идет отдельным путем. Если в итоге сумма всех транзакций выходит в ноль, то все правильно и можно подтверждать. Если нет, то ищешь ошибку. Это как перепроверка или тестирование, гарантия того, что нигде не обосрался и не ввел неправильное число. Потому что если обосрался и ввел лишний нолик, то это стоит компании дохуища бабла, а ты уезжаешь на бутылку.
>>984673
Ну как обычно сессии хранят? Либо на стороне клиента, либо на стороне сервера. Если на стороне клиента - шифруешь всю нужную информацию(в том числе дату) ключом, отдаешь клиенту зашифрованную строку, а он тебе ее отдает обратно при запросах. Расшифровываешь ключом, сверяешь дату и обрабатываешь запрос. На стороне сервера - вся информация в файлике(БД).
>>984828
В рельсах - шо то хуйня, шо это хуйня. Советую прочитать про Service Objects, а не лепить спагетти из обсерверов с колбэками.
Аноним 04/05/17 Чтв 22:49:02 #232 №984925 
>>984842
> суть в том, что каждая транзакция дублируется и идет отдельным путем.
>Если в итоге сумма всех транзакций выходит в ноль, то все правильно и можно подтверждать
Анон, если ты разбираешься, то объясни более понятно.
Что понял я:
- Сначала была простая запись, это был просто лог всех операций.
- Потом Лука описал двойную запись, где появились счета и понятия дебета/кредита.
- Как объясняют это в литература, мол это позволяет избегать ошибки очевидно, что это чисто ручной фактор и, что типа гораздо важнее, гибко строить аналитику.
- Система дошла до наших дней и используется во всем мире, являясь единственным стандартом.

Вот я не понимаю, в условиях IT, что дает двойная запись? Такое ощущение, что с современной точки зрения главная идея двойной записи - понятие счета. Что дают понятия дебета и кредита и дублирование их при каждой операции на каждом счете, не понимаю.
Аноним 05/05/17 Птн 00:17:38 #233 №984953 
>>984925
> Вот я не понимаю, в условиях IT, что дает двойная запись? Такое ощущение, что с современной точки зрения главная идея двойной записи - понятие счета. Что дают понятия дебета и кредита и дублирование их при каждой операции на каждом счете, не понимаю.
Проследуй лучше в 1С тред, там тебе лучше пояснят зачем это нужно и как с этим мириться.
мимо
Аноним 05/05/17 Птн 05:55:46 #234 №985005 
Итак рубаны вкачусь чтоб задать своих глупых вопросов. И вам меня не остановить!
1.Ставил ли кто себе это https://msdn.microsoft.com/en-us/commandline/wsl/about если да, то как ощущения?
2. Почему на руби не пытаются поднять нейросеть?
Или если есть такое, линконите, а?
Аноним 05/05/17 Птн 09:58:14 #235 №985051 
>>984925
>что дает двойная запись
Перепроверка при наборе цифр руками. Если все транзакции в кампуктере и руками туда ничего не вводится, то я тоже не вижу практического смысла. Но в бухгалтерском учете это имеет статус закона, либо хуяришь double-entry, либо ты не бухгалтер и идешь нахуй. Это как если бы врач сказал "ну нахуя мне давать клятву гиппократа, >2017 год на дворе".
Аноним 05/05/17 Птн 12:24:53 #236 №985105 
Котанва, что вы используете для т.н. сериализации объектов?
Я вот недавно вкатываюсь и возникла у меня проблема с YAML/Psych: есть двумерный массив, строка и объект Process::status и вот он как бы не очень в yaml итоговый пролезает (при лоаде в nil), можно ли вложенный в массив объект тоже пропихнуть в yaml?
Аноним 05/05/17 Птн 15:26:06 #237 №985216 
>>985005
>Почему на руби не пытаются поднять нейросеть?
Вопрос уровня "Почему отвёрткой не пытаются забивать гвозди?". Для всего есть свои инструменты, и задачи руби - клепать круды, не более.
Аноним 05/05/17 Птн 23:43:36 #238 №985560 
>>985105
Объект нельзя сериализовать. Можно только маршализировать, через Marshal.dump.

Сериализатор ничего не знает о типах объектов, соотв-но раскладывает в свои примитивы(которые обычно стандартизированы - число, строка, бул, массив, ассоциативный массив).
Аноним 05/05/17 Птн 23:44:32 #239 №985561 
>>985216
>и задачи руби - клепать круды, не более.
Поэтому у нас есть АБС на рубях. Потому что круды, да?
Аноним 06/05/17 Суб 06:52:29 #240 №985631 
>>985005
Я понимаю, что переходить по ссылкам с двача фу, и все такое, но что по первому вопросу?
Ставил ли кто себе Оффициальный баш под виндовс и как оно вам?
Аноним 06/05/17 Суб 13:12:33 #241 №985762 
>>985631
Говно, тупой сигвиновский порт.
Аноним 06/05/17 Суб 17:02:54 #242 №985879 
>>985005
>2. Почему на руби не пытаются поднять нейросеть?
https://www.crondose.com/2016/12/practical-machine-learning-ruby/?utm_campaign=Revue%20newsletter&utm_medium=Newsletter&utm_source=revue
Аноним 06/05/17 Суб 19:11:08 #243 №985925 
>>985879
>https://www.crondose.com/2016/12/practical-machine-learning-ruby/
Там тащемта ничего нет про нейросети, в его списке другие ML-алгоритмы приведены, но нейросети.
Аноним 06/05/17 Суб 19:38:14 #244 №985952 
А кристал живой? Кто следит, есть новости?
Аноним 06/05/17 Суб 19:42:46 #245 №985958 
>>985952
Ненужон, есть эликсир же.
Аноним 06/05/17 Суб 20:13:09 #246 №985976 
>>985958
По-моему разные цели, не?
Аноним 06/05/17 Суб 21:11:27 #247 №986032 
>>985976
И что по твоему в целях у эликсира, а что у кристала?
Аноним 06/05/17 Суб 22:03:32 #248 №986059 
>>986032
>эликсира
всякие сетевые хуйлоады c трафиком 300к/с
>кристала
все остальное, где функциональщина будет не к месту
Аноним 06/05/17 Суб 23:01:48 #249 №986106 
>>986059
на эликсир + феникс достаточно удобно разрабатывать обычный веб в духе рельс
Аноним 06/05/17 Суб 23:32:10 #250 №986126 
>>986059
>всякие сетевые хуйлоады c трафиком 300к/с
Ты походу путаешь с Go или Scala.
Эликсир если разобраться он для задач где важна стабильность и consistency.

Но я с тобой в корне не согласен. Функциональщина есть и в нативных рубях, причем если подумать - то ее довольно много.
С другой точки зрения, вся разница функционального подхода и объектно-ориентированного в том, что во втором случае у тебя есть(при неправильной методике разработки) есть куча stateful говна, которое существует только потому что разработчик не придумал способа лучше.

Если ты возьмешь стандартизированный образец модели Request-Response и разложишь ее на составляющие - ты увидишь абсолютно ту же матрешку последовательных вызовов себя-куда-то, которую ты встретишь в функциональной парадигме. За тем лишь исключением, что в OOP у тебя будет гора обвязочного хлама существующего параллельно стеку вызовов функций.
Аноним 07/05/17 Вск 00:24:28 #251 №986152 
>>985952

К концу года хотят 1.0 версию выпустить.

По мне выглядит вкусно, кристалл - возможность расширить стек для казуального байтоебства (Не го же учить), и всего за полцены.

Эликсир где-то мимо.
Аноним 08/05/17 Пнд 14:14:22 #252 №986791 
1.png
Народ, что-то тред совсем мертвый, что случилось?

Может кто-нибудь дать ссылку на хороший гайд по модулям, перменным, приватности и всем такому? Сложная тема с множеством нюансов.
Аноним 08/05/17 Пнд 14:29:22 #253 №986796 
>>986791
Лучше вопросы задай, и тебе объяснят.
Аноним 08/05/17 Пнд 16:04:44 #254 №986841 
>>986796
Ну например, что делает module_function и как можно сделать тоже самое без нее?
Но описание я могу посмотреть и в документации - делает доступным метод для вызова на модуле, а так же доступными как приватные методы при миксовании. При этом методы являются копиями и могут изменяться независимо.

Но такое формальное объяснение не объясняет сути, его просто нужно запомнить. Как можно запомнить что делает include/extend, а можно знать, что руби создает анонимные классы для объекта/класса объекта.
Формальный ответ про include/extend простой, а реально тема большая и сложная.
Аноним 08/05/17 Пнд 20:11:53 #255 №986968 
>>986841
> как можно сделать тоже самое без нее

набросал на коленке https://pastebin.com/FCwyErum

> Как можно запомнить что делает include/extend,

Почитай хабрапарашу, все разжевано, есть список. доп.литературы в комментах https://habrahabr.ru/post/143483
Аноним 08/05/17 Пнд 21:51:08 #256 №987024 
>>986841
> анонимные классы
ancestor, а не просто анонимный класс.
Тема ни разу не сложная. И вот что я тебе скажу. В практике - module_function не применяется.
Если требуется Mixin - используется include/prepend/append.
Если требуется синглтон - используется классический def self.
Если требуется динамическое объявление - используется define_method/define_singleton_method.
Аноним 08/05/17 Пнд 23:49:13 #257 №987095 
>>986968
>>987024
Мда
Аноним 08/05/17 Пнд 23:56:24 #258 №987098 
>>987095
Ах ты наверное решил просто теорию подрочить, ну тогда удачи.
Аноним 09/05/17 Втр 11:53:15 #259 №987314 
a.PNG
Что случилось с apidock? Почему они больше не обновляются?
Аноним 09/05/17 Втр 19:11:50 #260 №987720 
Вечер в хату рубаны. Собственно такой вопрос, нужно написать определение локали по ip-адресу, для стран СНГ - ru локаль, для остальных en локаль. Сталкивался ли кто - нибудь с таким, или направьте мой поиск в нужное русло, ибо в инете суют дефолт локаль, которая никоим образом тут не поможет.
Аноним 09/05/17 Втр 19:45:35 #261 №987740 
>>987720
http://www.rubygeocoder.com/
Аноним 09/05/17 Втр 23:40:50 #262 №987881 
>>987740
Во-первых, как он работает?
Во-вторых, ты че, предлагаешь пацану при каждом запросе лезть в гугл геокодить? Ты ебанулся блять?
Аноним 10/05/17 Срд 00:06:28 #263 №987903 
Пацан, изучи для начала функционал библиотеки, в частности раздел Local Database Services, а потом кукарекай.
Аноним 10/05/17 Срд 09:05:41 #264 №988003 
>>987720

Бтв, можешь погуглить в сторону Accept-Language request HTTP header, геолокация там вообще не используется.
Аноним 10/05/17 Срд 15:41:33 #265 №988246 
Ананасы, только начал изучать Ruby: почему в данном коде https://ideone.com/mYRRmY при условии если переменная consonant не пустая, она не плюсуется к перменной sentence в 21 строке?

Суть задачи такова:
# Rule 1: If a word begins with a vowel sound, add an "ay" sound to the end of the word.
# Rule 2: If a word begins with a consonant sound, move it to the end of the word, and then add an "ay" sound to the end of the word.
Аноним 11/05/17 Чтв 02:06:21 #266 №988541 
>>988003
Вот это правильный совет.

>>987903
А ты ебало свое завали и не кукарекай тут, кретин.
Аноним 11/05/17 Чтв 11:29:24 #267 №988682 
Как заставить работать вместе Rails и npm?
Аноним 11/05/17 Чтв 21:20:16 #268 №988990 
>>964778 (OP)
Сап, аноны. Что бы работать с БД мне нужно сделать active records для необходимых таблиц и связи так же как и в БД? Как можно обойтись без этих records и просто делать запросы sql ? (postgresql)
Аноним 11/05/17 Чтв 22:03:11 #269 №989008 
jruby-logo.png
А почему не распространена практика использования чего-то типа JRuby. С чем в нем проблема?

Звучит вроди здорово, потоки без GIL. Рельсы при этом потокобезопасны. Можно брать и использовать для нового проекта. Но что-то не встречал, чтобы его использовали на практике. Почему?
Аноним 11/05/17 Чтв 22:26:19 #270 №989013 
>>989008
Потому что такая хуйня никогда не имеет успеха. Все эти трансляторы в JS с каких-либо других языков, приблуды, чтобы посадить на JVM (BEAM или любую другую), трансляторы в С (как Nim) - от лукавого.
Например, для меня это какая-то мутная приблуда, которая обязательно прибавит дополнительный Лэйер, соответственно, плюс новых багов, нового пердолинга и т.д. плюс хз, хорошо ли ее мейнтейнят и не бросят ли.
Короче, дополнительный источник головной боли.
Аноним 11/05/17 Чтв 23:44:17 #271 №989043 
>>989013
Причем тут транслятор, если JRuby нативен?
>для меня это какая-то мутная приблуда
Ну то что у тебя мозгов не хватило допереть это в целом объяснимо.
Назвать elixir (а именно его ты имел ввиду упоминая BEAM) приблудой и транслятором это ебанись просто.

>>989008
Потому что зоопарк гемов оптимизированных для работы с JRuby ограничен и приходится искать подходящий вариант либо костыли наворачивать.

Второй проблемой является иная парадигма разработки требуемая от разработчика. Понимание особенностей и преимуществ JVM и грамотное их использование.
Аноним 12/05/17 Птн 00:18:29 #272 №989057 
>>989043
>Потому что зоопарк гемов
Так и думал, что проблема в экосистеме.
Аноним 16/05/17 Втр 07:31:17 #273 №991564 
Смуззи... Вкусно.
Аноним 16/05/17 Втр 16:10:24 #274 №991769 
>>989008
еще есть rubinius.
но я не смог его установить, падает с segmentation fault. и нет желания компаться в этом.
до этого тоже думал, вот же есть rubinius, если нужно будет, то...
Аноним 16/05/17 Втр 19:19:25 #275 №991890 
Аноны, подскажите, анализирую бинарные данные, затем записываю все в БД.
1. Можно ли использовать Rails для визуализации этих данных, целесообразно ли это?
2. Как правильно записывать данные, прямо из модуля парсинга на си++ коннектится в БД или через web интерфейс, который Rails предоставляет?
Аноним 17/05/17 Срд 19:41:02 #276 №992325 
Анон, делаю Model.eager_load(:association).limit(10) - получаю 2 запроса, которые в итоге дают мне 10 объектов класса Model. Обычно это то, что нужно, но вот у меня есть кейс, где мне нужны именно 10 строк сджойненой таблицы, как мне это сделать?
Аноним 18/05/17 Чтв 12:51:36 #277 №992673 
кто знает почему ActiveRecord id, это специальный атрибут? используется id даже если установлю primary_key:

Model.primary_key = 'primary_id'
m = Model.new(id: 123)
m.primary_id
=> 123
m.primary_id = 321
m.id
=> 321

у меня id, это не глобальный идентификатор. а локлен для пользователя:
/users/1/blog/1
/users/2/blog/1 --- разные объекты.

и по спецификации, название атрибута - id.

пришлось id переименовать в local_id, но так-как по спецификации, имя полю должно быть id, то получается хрен знает что.
т.е. json запрос
{id: 123, attributes: ...}
user.models.find_by(local_id: attrs[:id])

primary_id - primary_key нужен только для
model.destroy()
так-как с локальным ключем удалит
user1.blog_id_1.destroy() - удалит и user2.blog_id_1
Аноним 18/05/17 Чтв 22:46:54 #278 №992995 
>>992325
Model.joins(:table).limit(10).select("")
Аноним 18/05/17 Чтв 22:49:15 #279 №992996 
>>992673
http://ruby-journal.com/how-to-override-default-primary-key-id-in-rails/
Аноним 19/05/17 Птн 18:01:14 #280 №993414 
>>979541
ооо
Аноним 21/05/17 Вск 01:55:10 #281 №994033 
Здорова рубаны.
Аноним 22/05/17 Пнд 22:47:25 #282 №994988 
>>992325
>eager_load
>получаю 2 запроса
Чего? Какие 2 запроса, если eager_load это версия с LEFT OUTER JOIN, делающая один запрос?

>мне нужны именно 10 строк сджойненой таблицы
>>992995
А ты чего несешь? То есть так кончено, но наоборот:
Table.joins(:model).limit(10)

>>991890
А при чем тут рельсы вообще и какая тебе визуализация нужна? Если ты про веб-морду, то используй. В базу пиши как удобнее.



Аноним 24/05/17 Срд 00:05:39 #283 №995461 
>>994988
> где мне нужны именно 10 строк сджойненой таблицы
>Table.joins(:model).limit(10)

Просто охуительное решение.
Аноним 24/05/17 Срд 14:59:11 #284 №995704 
14932949900500.jpg
Объясните мне, что такое ActiveModelSerializers и трейлблейзеровский Roar? Какой это паттерн? Я ничего не нагуглил про "репрезентеры". Чем они отличаются, что вообще делают.
(Я неоднократно работал с AMS и понимаю что делают оба гема, но не могу осмыслить их суть в архитектурном плане и к какому паттерну они относятся)
Аноним 26/05/17 Птн 11:01:00 #285 №996493 
Какой гем для стайлуса использовать:
https://rubygems.org/gems/stylus-source
https://rubygems.org/gems/stylus
* https://rubygems.org/gems/stylus_rails
Сасс категорически не нравится.
Аноним 26/05/17 Птн 13:56:18 #286 №996566 
прогач, подскажи
Есть две модели Bitches - шлюхи, сосущие хуи и Сlients - клиенты у которых шлюхи хуйцы уже соснули.
Вывожу шлюх в bitch_controoler в виде списка, нужно что бы по нажатию на строчку, появлялся список клиентов шлюхи. У меня отношения стоят что у одной шлюхи может быть много клиентов(так криво сделал, но пока норм)
Идея только одна, вызывать client_controller, метод show, передавая в него id шлюхи и по id шлюхи делать выборку из Clients
Аноним 26/05/17 Птн 23:27:46 #287 №996813 
>>996493
Во-первых, а почему гем в 2017? Вроде же в рельсу вебпак добавили. Весь фронт перекатился на js инфраструктуру, зачем эти приблуды?
>Сасс категорически не нравится
Блять... слов не хватает.

>>996566
resources :bitches do
resources clients, on: :member, only: :index
end

# GET /bitches/:bitch_id/clients

class ClientsController
def index
@clients = Client.where(bitch_id: params[:bitch_id])
end
end

Аноним 27/05/17 Суб 08:42:05 #288 №996925 
>>996813
>Вебпак
Что это и с чем его едят? Я только начинаю изучать рельсы.
Что можешь посоветовать на счет стайлуса?
Аноним 27/05/17 Суб 14:00:47 #289 №996990 
>>996925
Сам не знаю что это, какой-то новый сборщик в js мире, типа стандарт. И вроде как его добавили в новую рельсу. Чему я рад если это так, потому что весь этот ассетс пайплайн такой бред, что пиздец просто - чтобы прикрутить какую-нибудь фронтовую библиотеку, ее нужно специально адаптировать под рельсы.

По счет стилуса ничего не посоветую, третий раз в жизни о нем слышу и нахуй он нужен. Ты же не фронтовик, чтобы выбирать себе инструмент для достижения дзена, у тебя другие задачи, а в смежных областях лучше придерживаться мейнстрима.
Аноним 27/05/17 Суб 14:13:05 #290 №996994 
>>996990
> чтобы прикрутить какую-нибудь фронтовую библиотеку, ее нужно специально адаптировать под рельсы.
Ты наркоман полный? Адаптировать это положить в assets/js и сделать include в манифесте?

Webpack в рамках рельсовых приложений тот еще бред. Сама парадигма разделения frontend/backend приложений (для целей коих и служит вебпак и прочие) подразумевает что не имеет смысла включать фронт в рельсы, это должно быть отдельное клиентское JS приложение.
Аноним 27/05/17 Суб 14:34:28 #291 №997006 
>>996994
> Адаптировать это положить в assets/js и сделать include в манифесте?
Хуй знает что тебе ответить. Очевидно что ты и этого никогда не делал.

>Сама парадигма разделения frontend/backend приложений
>(для целей коих и служит вебпак и прочие)
Значение знаешь?
Аноним 27/05/17 Суб 18:26:14 #292 №997108 
Сап, рубианон.

Подскажи, пожалуйста, как можно реализовать функционал нескольких профилей используя devise?

Например, есть пользователь Employer, и есть Jobseeker. Профили у них существенно разделяются. Что лучше сделать? Смотрел STI, но это говно какое-то.

Хочу, чтоб при регистрации выбирался тип пользователя, и от этого уже ему создавалось поле либо в таблице JobseekerInfo либо в EmployerInfo.

Подскажи, пожалуйста, я отчаиваюсь.
Аноним 27/05/17 Суб 19:33:39 #293 №997129 
>>997006
>Хуй знает что тебе ответить. Очевидно что ты и этого никогда не делал.
Делал и сразу забил на это дело и разнес приложение на две раздельно живущие составляющие.

>Значение знаешь?
Козырнуть снобизмом не выйдет, мне похуй так-то.
Аноним 27/05/17 Суб 19:34:20 #294 №997130 
>>996994
у js есть тоже свой пакетный управляющий, как bundler у руби. с ним не нужно копипастить обновления js библиотек. ах да, у js библиотек тоже есть зависимости.

>>997108
примеры есть, инфа 100%.
я не помню, кажется я добавлял два маршрута для разных моделей.
но там есть какой-то метдо, типа
redirect_on_sign_in
или сгенирируй devise контроллеры и будет видно.
Аноним 27/05/17 Суб 19:50:50 #295 №997133 
>>997130
>примеры есть, инфа 100%.

Если есть возможность - скинь пожалуйста. Очень важно, я правда искал, замахался уже.
Аноним 27/05/17 Суб 20:13:50 #296 №997139 
>>997130
>у js есть тоже свой пакетный управляющий
https://sheerdevelopment.com/posts/using-yarn-with-rails

И никаких вебпаков, интеграций с рельсами и прочего.
Аноним 28/05/17 Вск 13:03:24 #297 №997390 
Напомните как получить халявный студент-пак от гитхаба?
Аноним 28/05/17 Вск 16:25:14 #298 №997523 
>>964778 (OP)
Имеется линукс и руби 2.1.5. Нужно обновить до 2.1.9. Как это сделать? Гугл молчит.
Аноним 28/05/17 Вск 19:59:02 #299 №997596 
>>997523
rbenv/rvm
Аноним 28/05/17 Вск 21:37:45 #300 №997641 
>>997390
Отправить заявку тупой вопрос
Аноним 29/05/17 Пнд 21:16:40 #301 №998170 
>>974735
> сделают на стэке WP+JQ за две недели и 10к
ссылки на макак в студию, а то пиздишь ты походу
Аноним 29/05/17 Пнд 21:17:56 #302 №998172 
>>974735

да и вообще если не пиздишь еще насчет полтоса, давай контакты, сработаемся
Аноним 30/05/17 Втр 13:42:54 #303 №998549 
>>997641
Я не студент уже...
Аноним 30/05/17 Втр 13:55:28 #304 №998553 
>>998549
Исключили? Тогда скоро у тебя будет веселая, интересная, насыщенная жизнь. Научишься драить очки, познакомишься с горячими джигитами Дагой и Магой, которые помогут тебе расстаться с девственностью. Зачем какой-то гитхаб?
Аноним 30/05/17 Втр 14:36:37 #305 №998568 
>>997390
Должно хватить фотки студбилета действительного. Найди кого-нибудь в ближайшем университете и попроси студенческий на минуту.

>>998553
После универа по-прежнему нужно в армию идти, военная кафедра в общем случае либо проплачена, либо отсутствует. У меня треть группы таких же затравленных заучек, считающих, что раз они круглыми сутками изучают бесполезные предметы, то и все остальные должны. Иначе "армия, собирать лужи в ведро, подтираться колючей проволокой" и прочие ехидные насмешки над теми, кого отчислили.
Аноним 30/05/17 Втр 17:28:29 #306 №998678 
Аноны, подскажите, есть данные модели, которые вывожу на экран в виде строк, при клике на строчку, нужно записывать в бд значение 1, которое говорит, что сообщение было просмотренно, что-то даже не пойму, как там че, вызывать?
Аноним 30/05/17 Втр 17:31:39 #307 №998680 
Как в rails принято обновлять отображение модели, при добавлении в модель новых данных, т.е. в бд что-то попадает, как сказать view что надо перерисоваться.
Аноним 30/05/17 Втр 18:32:14 #308 №998727 
>>998549
В интернете найди фотографию студенческого билета и отфотошопь. Они сильно не рассматривают. Мне через 15 минут апрув пришел.
Аноним 30/05/17 Втр 18:34:19 #309 №998729 
>>998680
Action Cable
Аноним 30/05/17 Втр 21:58:37 #310 №998799 
что за василий?
https://twitter.com/matz_translated/status/869565081914421252
Аноним 31/05/17 Срд 17:11:32 #311 №999230 
>>998729
так, это новомодная хуйня или параша хипстерская?
Аноним 01/06/17 Чтв 22:40:58 #312 №999840 
>>999230
а в чем разница то?
Аноним 02/06/17 Птн 17:55:08 #313 №1000144 
ruby-yoba.png
Просто оставлю это здесь.
Аноним 02/06/17 Птн 17:58:03 #314 №1000146 
cap00004[HorribleSubs] JoJos Bizarre Adventure - Diamond is[...].jpg
>>1000144
Идея неплохая, реализация не оч.
Аноним 02/06/17 Птн 20:30:20 #315 №1000202 
>>999840
сорян, тупанл. Имел в виду, как деды в рельсах вьюих обновляли, при изменении данных модели.
Аноним 02/06/17 Птн 23:00:59 #316 №1000258 
>>1000202
тебе для всех юзеров обновить в реалтайме надо или одному? если одному то аякс, если всем то всякие костыли типа ActionController::Live или вебсокеты
Аноним 03/06/17 Суб 11:20:25 #317 №1000352 
>>964778 (OP)
На чем поднять вебсокет сервер для существуещего рельсоприложения? Помню когда-то пользовался websocket-rails, впечатления не самые лучшие. На пятые рельсы переползать пока нет возможности, так что их встроенную приблуду не предлгайте.
Аноним 03/06/17 Суб 11:39:37 #318 №1000356 
>>1000352
Я бы взял faye-websocket он вроде позволяет прямо внутри рельсового процесса держать вебсокет-сервер. Сам я использовал только em-websocket и все было отлично, но он не обновлялся с 2014 и faye-websocket выглядит по-свежее.
Аноним 03/06/17 Суб 12:30:05 #319 №1000374 
feqrqwr.jpg
>>964778 (OP)
>https://netguru.co/blog/service-objects-in-rails-will-help - о сервисах
Меня эта статья пиздец напрягает. Во-первых, у него дохуя ненужного кода и рассуждений, а про сервисы не сказано почти ничего, даже определиться не может, как их вызывать. Сам я не так давно начал их к себе в приложение вводить, но уже сделал вывод, что нет смысла в initialize пихать что-то, кроме зависимостей через опциональное DI. Потому что в итоге получается одноразовый объект, для каждого нового сета данных его нужно создавать заново, вместо того, чтобы отдать этот сет данных в call() и не париться с инициализацией.
http://multithreaded.stitchfix.com/blog/2015/06/02/anatomy-of-service-objects-in-rails/
Тут написано гораздо лучше и нет лишней воды.
Аноним 03/06/17 Суб 19:33:42 #320 №1000553 
>>1000258
у юзера есть страница с сообщениями от приборов, приборы кладут в базу, я рельсой выбираю данные и формируют список сообщений, в общем пришло новое сообщение в БД, значит мне надо "наверное" постоянно мониторить БД на наличие новых сообщений или просто ее перерисовывать
Аноним 05/06/17 Пнд 13:02:32 #321 №1001334 
Анон! Мечтаю начать прогнать, прогнать для андроида, не заработка ради, лишь для себя. Скажите, подойдёт ли руби для такого? Или же стоит смотреть в сторону ява/котлин?
Аноним 05/06/17 Пнд 13:34:45 #322 №1001351 
>>979576
А зачем писать код, который ломается от добавления строки кода, м? single responsibility как бы. Имплементировал модуль, тестанул в сосноли или вручную, забыл.
Аноним 05/06/17 Пнд 14:06:00 #323 №1001359 
>>979576
>А зачем он тестирует вручную, если можно написать автоматизированный тест,

Дешевле нанять Машку, чтобы вручную кликала, ты заебешься на каждый кейс писать тесты, да и дорого это.
Аноним 05/06/17 Пнд 14:52:52 #324 №1001377 
>>1001351
>прогать
Аноним 06/06/17 Втр 00:46:35 #325 №1001756 
>>1001351
>Имплементировал модуль, тестанул в сосноли или вручную, забыл.
Запахло интернет-магазинами и перепилами редмайна.
Аноним 07/06/17 Срд 01:18:13 #326 №1002440 
>>1001351
Нормальный SOLID от TDD неотделим, без TDD все твои SRP отправляются прямиком нахуй. Если опыта нет, то нормальный код ты не напишешь. А если есть, то знаешь, что нормального поддерживаемого кода не бывает без тестов.

>>1001359
Машка выполняет работу компьютера раз за разом и от количества машек и тестов, которые они должны прогонять, цена их труда растет по экспоненте. И нет, труд человека никогда не будет дешевле компьютера, который тот же самый тест кейс прогоняет быстро, бесплатно и без ошибок.

QA - это профессия, которая существует только из-за ленивых непрофессиональных пидорасов-макак, типа тебя, которые даже блять! Не проверяют! Работу! Собственного! Кода! Вдумайся, пидорас, ты пишешь код и ты не знаешь, работает он или нет, не сломал ли он чего в системе. Какой ты нахуй программист, если то, что ты пишешь, не работает?
Аноним 07/06/17 Срд 08:22:40 #327 №1002476 
>>1002440
>Не проверяют! Работу! Собственного! Кода!
Диван, лол. Сам прграммист из-за замыленого взгляда и самолюбия творца не может беспрестрасно сломать и хакнуть свой код. Для деструктивной работы нужен специальный человек у которого задача ломать и проверять.
>Вдумайся, пидорас, ты пишешь код и ты не знаешь, работает он или нет, не сломал ли он чего в системе.
Диван х 2. Программист не думает в мастштабе всей системы и не может сразу телепатически сказать где чего отвалиось и какие подводные камни всплыли. Это отдельная задача следить за связаностью всей системы после написания кода в разных местах разными людьми.
Аноним 07/06/17 Срд 08:51:20 #328 №1002480 
>>1002476
Я хуй знает, проигрывать с дебила или принимать как должное и объяснять неопытному рельсоребенку на пальцах.

>самолюбия творца
Это самая блядская идея, которая особенно сильно проявляется в динамопараше, что якобы программист должен себя позиционировать не как software engineer, а как ТВАРЕЦ ГУМАНИТАРИЙ.
>сломать и хакнуть свой код
>писать тесты
Дядя, ты дебил?
>нужен специальный человек у которого задача ломать и проверять.
И этот человек, внезапно, не QA. QA ничего не ломает, у них задача подтвердить работу системы. Люди, которые берут систему предварительно как следует протестированную и готовую, вертят ее в попытках сломать и найти баги, с которыми может столкнуться пользователь, называются по-другому, и такое ручное "тестирование" вполне оправдано.
>не может сразу телепатически сказать где чего отвалиось и какие подводные камни всплыли
Для этого, хуесос, у тебя должны быть тесты. Которые ты прогоняешь одной консольной командой или хоткеем и сразу видишь, "где чего отвалилось".
>Это отдельная задача следить за связаностью всей системы после написания кода
Твоя ебаная задача - следить за работой своего быдлокода и за работой системы, которую ты написал/пишешь. Это не может быть чьей-то еще обязанностью, никто эту обязанность нормально выполнить не сможет, кроме программиста.
Аноним 07/06/17 Срд 11:42:21 #329 №1002541 
>>1002440

Наивный даун думает что писать тесты на фронт, под все 100500 версии браузеров дешевле чем нанять Машку. Иди нахуй писать тесты на свои абстрактные фасолины, подменщик понятий, ты мамкин.
Аноним 07/06/17 Срд 12:07:08 #330 №1002554 
>>1002541
Какие тесты на фронт, ебанутый? Я говорю про серверную логику, а не про "эта формочка отображается вот так, а в том браузере по-другому". UI в плане отображения вообще нет смысла тестировать, но это и должна быть одна из самых простых частей приложения, которая тупо парсит ответ сервера и расставляет его по местам на экране.
Аноним 07/06/17 Срд 12:10:30 #331 №1002559 
>>1002554

У тебя жирок изо всех щелей течет, иди подмойся, мань.
sageАноним 07/06/17 Срд 14:00:30 #332 №1002618 
>>1002541
пишется один набор тестов и пускается из браузера.

как бы, раньше Машка: устанавливает дополнение к браузеру и пишет скрипты которые ей кликают и все делают.
сейчас наверное чет похожее по принципу.

>>1002554
это то, что люди видят.

ну и сейчас же это сложное дерьмо на тысячи строк js. там тоже самое, что и с серверной хуитой. тоже есть вью и модели и контроллеры. ток модели дергают данные с твоего http сервера, а не из субд.
правда, пока не знаю как эти react какахи тестировать.

тесты - часть работы, за них платят деньги.
Аноним 07/06/17 Срд 14:06:48 #333 №1002625 
>>1002618
>как эти react какахи тестировать.
Если там есть какая-то логика, которая не связана с отображением, то так же, как и везде. Выносишь логику - тестируешь логику. Другое дело, конечно, что 90% фронтенд JS параши - это еще больший спагетти-пиздец, чем рельсы. А уж сколько "программных творцов", которые про тесты с архитектурой и краем уха не слышали, охуеешь.
Аноним 13/06/17 Втр 15:03:14 #334 №1005347 
>>964778 (OP)
Пара вопросов от новичка.

1. Обязательно ли нужен Линух? Да, на Винде проблемы, но есть же всякие сайты типа c9.io, так что можно комфортно ебаться с рельсами прямо в облаке.
2. Поясните за mailer в рельсах.
Видеоуроки с рутрекера по запиливанию своего говносайта на рельсах рекомендуют устанавливать для подверждения регистрации по мылу какие-то сторонние гемы, которым нужно вводить номер банковской карты. Я не хочу вводить такие свои данные. What do?
3. Зачем нужен json? Я нихуя не понял.
Аноним 13/06/17 Втр 21:13:56 #335 №1005454 
>>1005347
Что за видеоуроки? Дай ссылку.
Аноним 13/06/17 Втр 21:47:09 #336 №1005460 
>>1005454
Вот это, если не ошибаюсь (я оптом дохуя всего скачал):
Udemy - The Complete Ruby on Rails Developer Course
https://rutracker.org/forum/viewtopic.php?t=5105361

Ещё просмотрел какой-то из Rails for Zombies - там тоже говорят, мол, устанавливай какие-то гемы, которые требуют платного аккаунта.
Аноним 13/06/17 Втр 22:04:07 #337 №1005461 
>>1005460
Дичь какая-то. Возьми Michael Hartl - Ruby on rails tutorial.
Аноним 14/06/17 Срд 11:57:53 #338 №1005670 
Аноны, подскажите, есть форма где задаются разные поля для поиска, дата, период и т.д. все эти параметры передаю через params. Соответственно, в зависимости от params надо писать разные запросы. Т.е. если номер есть, то один запрос, если его нет, то второй.
Аноним 14/06/17 Срд 12:37:34 #339 №1005700 
>>1005347
1. Если ты хочешь дальше продолжить работать с руби и созданием сайтов, то обязательно, на виндах никто не крутит сайты и точка.
Ты пишешь не только под какой-то язык, но и под платформу и линукс в том числе.
На винде можно поиграть и рельса даже как-то заработает, но всё это баловство будет работать пока ты модули какие-то сторонние не захочешь попробовать.

Другое дело, что линукс не обязательно себе на десктоп ставить, достаточно просто научить работать в виртуальной машине и командной строке и заодно избавиться от предубеждения о том, что линуксовая командная строка это типа ДОСОВСКОЕ окно из винды.
Кстати сходная ситуация с каким-нибудь питоном.
А C# как раз таки на винде лучше катит, так что если не можешь без винды жить, то го учить C#.

2. Сам пока не дошёл до этого)))

3. JSON нужен для того чтобы в индустрии был какой-то формат передачи данных между сервисами который будет понятен всем. Для этой же цели используется XML и просто текстовые файлы некого доморощенного формата. Один формат нужен для того, чтобы тебе не приходилось каждый раз писать синтаксический анализатор нового формата и чтобы ты сразу мог строить некую таблицу с ключами и значениями.

Ну вот как-то так примерно.
Аноним 15/06/17 Чтв 00:30:59 #340 №1006212 
Тред не читал.
Привет шахтёрам из солнечного дотнета. Как себя чувствует экосистема раби? Есть ли работа? Есть ли фриланс? Работают ли стартапы с раби или она осталась только в легаси, которое не перекатилось на что-нибудь?
Аноним 15/06/17 Чтв 06:32:39 #341 №1006296 
>>1006212
Всё есть.
Стало меньше, чем во времена хайпа, но найти можно.
Аноним 15/06/17 Чтв 08:15:53 #342 №1006310 
>>1006212
>раби

Только Руби, а не раби.
Аноним 15/06/17 Чтв 08:16:42 #343 №1006311 
>>1005700

C# и на Линукса работает, .NET Core епт.
Аноним 15/06/17 Чтв 15:53:57 #344 №1006458 
>>1006311
Я про реальный мир говорю, а не какие-то экстремальные случаи типа mono с огрызками от МС (оно как бы работает, но поддержки на это не будет или только на каком-нибудь ушибленом по голове редхате).
Аноним 17/06/17 Суб 01:25:01 #345 №1007364 
>>1006296
>Стало меньше, чем во времена хайпа
В ДС!
Дефицит!
По всем уровням!

Охуительно меньше.
Аноним 17/06/17 Суб 11:09:40 #346 №1007450 
>>1007364
Ага, видимо поэтому я работу найти не могу уже 2 месяца.

3 года опыта, 1 проект в качестве лида
Аноним 17/06/17 Суб 14:06:44 #347 №1007470 
>>1007450
У тебя похоже в резюме что-то не так или еще какие-то проблемы. В начале года за 2 недели получил 4 оффера. 4 года опыта.
Аноним 17/06/17 Суб 23:42:57 #348 №1007717 
Завтра начинаю вкатываться в руби с нуля.
Аноним 18/06/17 Вск 11:47:57 #349 №1007815 
https://stackoverflow.com/questions/44612454/cant-install-rbsfml
На стаковерфлоу могут и не ответить, так что запощу ещё сюда с небольшой ремаркой. Я таки нагуглил один похожий вопрос, там было предложено возможное решение, я его попробовал применить, но это ни к чему не привело:
https://github.com/Groogy/rbSFML/issues/22
Аноним 19/06/17 Пнд 23:00:10 #350 №1008540 
>>1007450
Поэтому наверное Gett ищет уже больше 7 месяцев, Wheely больше полугода, Поток открыл вакансии.
Инсейлс джуниоров ищет, Мили по прежнему ищут в свой финстартап.

Гарант, интерфакс, рамблер.

Не можешь найти потому что дурень видимо.
Аноним 20/06/17 Втр 01:37:23 #351 №1008591 
>>1008540
Так предлагайте бабос нормальный - найдете сразу же. Вечно рашкинские сео жалуются, что КАДРОВ НЕТ, а сами зп предлагают в 4 раза ниже рыночной
Аноним 20/06/17 Втр 10:15:11 #352 №1008626 
>>1008591
Нормальный это сколько (лиду с 3х летним опытом суммарно)?
Аноним 20/06/17 Втр 10:18:35 #353 №1008628 
>>1008626
>лид
>3х летним опытом
А раньше с тремя годами опыта и помидором-то не все соглашались считать.
Аноним 20/06/17 Втр 19:25:47 #354 №1008882 
14932949900500.jpg
>>1008540
Если кто может не в курсе, на пике Инсейлс. Хотите попилить легаси-говно в таком курятнике? Юр а велком.

По поводу остальных:
>Gett ищет уже больше 7 месяцев, Wheely больше полугода
Видел только гетт где-то мелькнул один раз, приглашая вроде как на удаленку, виз перфект инглиш скилс.
Второго вообще не видел.
>Мили по прежнему ищут в свой финстартап. Поток открыл вакансии, интерфакс,
Не кажется странным что их вакансии уже чуть-ли не год висят? Учитель дурак или ученики плохие? Опять же везде доработка легаси, а в случае с интерфаксом так еще и каких-то гос-порталов.
>Гарант
Ну это вообще пушка.
Аноним 20/06/17 Втр 20:49:25 #355 №1008908 
>>1008882
Алсо за последнее время было только пара хороших вакансий - ведомости и шармер. Они закрыли их за 2 недели.
Аноним 20/06/17 Втр 22:13:12 #356 №1008948 
>>1008628
>Устраиваешься в контору с 3,5 инвалидами.
>Поздравляю, ты лид!
Аноним 20/06/17 Втр 23:53:07 #357 №1008989 
>>1008908
Не две недели. У ведомостей позиция открыта уже очень давно. Я к ним ходил еще в 2016.
>>1008882
Gett набирали в ДС с августа, в феврале в ДС приехала команда из зарубежа и начали интервьюировать самостоятельно.

Мили - у них новый проект с веб2.0, года там точно нет.

У интерфакса не госпортал.
Аноним 21/06/17 Срд 00:02:30 #358 №1008994 
>>1008989
Ну не надо путать "очень давно открыта" и "была вакансия в 2016". Я тоже помню, что в 2016 они искали рубиста. И тоже это было что-то около нескольких недель. А чего не пошел, отказали?

По поводу гетт не знаю. Но они ищут через хрюш почему-то (мне рассылка падает от хрюш). Блять, хотел бы к ним попроситься, если бы не ебаный английский.
Мили сейчас конкретно не висят, но я помню они очень долго искали.
А у интерфакса я сам был на собесе, так что не рассказывай.
Аноним 21/06/17 Срд 00:09:55 #359 №1008998 
>>1008994
>А чего не пошел, отказали?
Нет, просто они тянули долго с ответом.
Аноним 21/06/17 Срд 13:06:58 #360 №1009158 
>>1008540
>>1008882
>>1008989
О, анонимусы, вы похоже разбираетесь в рынке труда. Скажите, какие есть сейчас интересные вакансии? Вот я открывал хедхантер, видел в частности те про которые вы пишите, но они достаточно унылые все, потому что сводятся к поддержке и рефакторингу. Кто занимается созданием? Или кто занимается большими системами? Вот все хотят хайлоад(тм), а где его брать-то?
Аноним 21/06/17 Срд 13:31:29 #361 №1009167 
Languages.png
>>1009158
>Или кто занимается большими системами? Вот все хотят хайлоад(тм), а где его брать-то?
Аноним 21/06/17 Срд 14:39:44 #362 №1009205 
>>1009167
PHP и Python надо в ЭНТЕРПРАЙЗ переносить
Аноним 21/06/17 Срд 14:43:00 #363 №1009209 
для рельсов чего брать, angular или react? А то эти js фреймворки успеваются появиться раньше чем я и их изучаю
Аноним 21/06/17 Срд 14:46:51 #364 №1009211 
Captured1.png
>>1009205
Вот и тексты вакансий кагбэ намекают, всем нам.
Аноним 21/06/17 Срд 15:39:14 #365 №1009240 
>>1009209
>Angular - 2009
>React - 2013
Долго же ты изучаешь.
Аноним 21/06/17 Срд 15:59:09 #366 №1009247 
>>1009209
> для рельсов чего брать, angular или react? А то эти js фреймворки успеваются появиться раньше чем я и их изучаю
Разве выбор фронта зависит от того, что у тебя на бэке? Я на vue.js делаю.
Аноним 21/06/17 Срд 17:25:09 #367 №1009323 
>>1009240
я на си++ за деньги пишу с 2009, мне до этих фреймворков всю жизнь как до луны было, вот последние три года параллельно в веб вкатываются
Аноним 21/06/17 Срд 17:47:29 #368 №1009341 
>>1009209
В рельсах же какое-то свое говно для фронта?
HAML вместо HTML, SASS вместо CSS, CoffeeScript вместо JavaScript. Все не как у людей.
Аноним 21/06/17 Срд 17:54:57 #369 №1009344 
>>1009341
да не, это просто шаблонизаторы, тот же jade php это заимствованый slim из рельс.
Учатся за пару дней, кофескрипт по желанию.
Аноним 21/06/17 Срд 22:52:28 #370 №1009587 
>>1009158
Мили пилят банковский продукт с нуля.
Аноним 22/06/17 Чтв 00:10:37 #371 №1009659 
>>1009247
JQUERY и всякая хуета из бутстрап
Аноним 22/06/17 Чтв 00:43:11 #372 №1009676 
14932949900500.jpg
>>1009587
Че за мили? Нагуглились какие микрозаймы, в вакансиях у них ничего нет.

А вот еще вопрос, какой адекватный уровень зп в ДС для мидла-сеньора?
Аноним 22/06/17 Чтв 00:44:43 #373 №1009678 
>>1009676
http://rabota.yandex.ru/salary
Аноним 22/06/17 Чтв 03:02:55 #374 №1009696 
>>1009676
>Че за мили? Нагуглились какие микрозаймы, в вакансиях у них ничего нет.
Веб2.0 это они же.

>А вот еще вопрос, какой адекватный уровень зп в ДС для мидла-сеньора?
Смотря что ты вкладываешь в понятие "мидл сеньор".
Аноним 22/06/17 Чтв 11:44:34 #375 №1009826 
Котаны, как можно реорганизовать вот этот код → https://pastebin.com/L2jA0nGp

Собственно у меня есть набор переменных которые нужно сохранять в файлы и загружать из них, но я тупенький и у меня не хватает мозгов понять как можно всё это через итератор организовать, а очень хочется отдраить этот код, потому что файлов будет больше.

Затруднения у меня вызывает непонимание того как увязать имя переменной с именем файла в каком-нибудь ассоциативном массиве или хеше, особенно в случае load, когда в переменную надо загружать данные из файла.
Аноним 22/06/17 Чтв 21:55:04 #376 №1010181 
Image1.png
Можно как-то изменить длину уже запущенного цикла изнутри цикла?
Не запускать while/until/step и рвать его по условию, а именно запустить цикл от одного числа до другого, а потом в процессе второе число подкрутить?
Исключительно из эстетических соображений интересуюсь.
Аноним 22/06/17 Чтв 22:00:00 #377 №1010188 
>>1010181
Из эстетических соображений тут и нужен «while»-цикл.
Аноним 22/06/17 Чтв 22:20:05 #378 №1010205 
Image1.png
>>1010188
Сразу вдогонку, из эстетических соображений, какой из вариантов оставить? выкинуть оба нахуй
Аноним 22/06/17 Чтв 23:16:23 #379 №1010230 
>>1009826
https://pastebin.com/qrQSAKHt
Аноним 22/06/17 Чтв 23:20:38 #380 №1010236 
>>1010205
max = get_page(1)
something

2.upto(max).each do |iteration|
rape_all_the_babies(get_page(iteration))
end
Аноним 23/06/17 Птн 01:31:53 #381 №1010285 
>>1009696
>Смотря что ты вкладываешь в понятие "мидл сеньор".
Давай без вот этих виляний хвостом.
Какая нормальная зарплата для специалиста с опытом коммерческой разарботки несколько лет?
Аноним 23/06/17 Птн 01:33:20 #382 №1010286 
>>1009696
Проект3.0 что ли?
Какие-то они мутные, у них даже сайта нет.
Аноним 23/06/17 Птн 04:55:52 #383 №1010315 
>>1010230
Оу, вот это прикольно на самом деле, спасибо!
Аноним 23/06/17 Птн 11:49:14 #384 №1010378 
>>1010236
Ты по первой странице rape_all_the_babies забыл долбануть.
Забей, там на деле чуть больше строк, и повторять кусок кода отдельно перед циклом вообще не прикольно получается. И в функцию он не выносится нормально, нужно несколько параметров передавать, несколько значений возвращать, только больше навала получается. Но всё равно спасибо.
Аноним 23/06/17 Птн 12:35:27 #385 №1010388 
>>1010285
Я видел имбецилов которые имели опыт в 5 лет и стояли на позиции тимлида, и новичков которые умели строить адекватную архитектуру.

Сейчас в ДС middle может пойти где-то на 140-150, нормальный senior с зачатками лида найдет 180-200к. Нормальный лид который еще не ушел в управление - 250k.
Аноним 23/06/17 Птн 12:51:01 #386 №1010393 
>>1010286
Ну мутные или нет - но деньги есть. Пусть сами по себе они и жадные довольно.
Аноним 23/06/17 Птн 12:57:52 #387 №1010395 
>>1010388
Тимлид не обязательно сеньор, заебал мягкое с теплым путать. И ты тоже >>1008628
Аноним 23/06/17 Птн 15:22:54 #388 №1010447 
>>1010395
>что ты вкладываешь в понятие сеньор
>заебал вилять хвостом
>заебал путать мягкое с теплым

Определение дашь, просветленный?
Аноним 24/06/17 Суб 05:08:51 #389 №1010749 
Зачем вы ишите работу в россии? можно ремоутом дохуя куда устроиться
Аноним 24/06/17 Суб 08:29:25 #390 №1010761 
>>1010749
На ремоут нужно английский знать.
Аноним 24/06/17 Суб 09:29:12 #391 №1010767 
>>1010761
Ну а в чем проблема то? документацию к хуйнянейм ты как читаешь? а конферецнции/cтатьи ?
Аноним 24/06/17 Суб 09:54:57 #392 №1010771 
>>1010767
чукча - не писатель, чукча - читатель
Аноним 24/06/17 Суб 11:34:10 #393 №1010800 
>>1010749
Фриланс?
Долго строить портфолио и доказывать опыт, фактически с нуля.
Работа из дома это не работа, я для себя понял. Слишком много отвлекающих факторов.
Много геморроя с налоговой, которая доебется до источников дохода из-за рубежа.

А вот с релокейтом я бы куда-нибудь перекатился.
Аноним 24/06/17 Суб 20:59:47 #394 №1011208 
>>1010800
Сам себя убедил в невозможности, кек.
Я на удаленке работаю уже полгода 30 часов в неделю, выходит 2к$ в месяц. С налоговой пока все в порядке, работаю легально через ИП. Вся прелесть в том что, я работаю на постоянной работе, но через Upwork, в итоге профиль нехило раскачивается.
Аноним 24/06/17 Суб 21:06:34 #395 №1011219 
>>1010800
>>1011208
Ну по хорошему оно у тебя всегда должно быть. даже если ты работаешь в конторе. что то на гитхабе и пара отзывов на линкедине я думаю сойдут.
Я спокойной работаю из дома уже 1.4 года. По 5 часов каждый день. никаих проблем нет.
Про налоговую мне какжеться это байки с двача. мне работо датель просто закидывет на пейонер около 2к долларов каждый месяц. никакой налоговой нет.

ну и как сказал анон выше Ремоут > фриланс
Аноним 24/06/17 Суб 21:31:50 #396 №1011234 
>>1011208
>работаю легально через ИП
>upwork

Каким образом твое ИП имеет вес для компании работающей в другой стране?

>Я спокойной работаю из дома уже 1.4 года. По 5 часов каждый день. никаих проблем нет.
Я попробовал несколько месяцев и понял что удаленка не для меня. Периодически по надобности бывают потребности поработать из дома, но не более.
Аноним 25/06/17 Вск 10:40:42 #397 №1011376 
>>1011234
Я работаю через Upwork на постоянке, для компании нет никакого дела есть у меня ИП или нет - они просто закидывают деньги на мой счет в upwork'e дальше я уже сам ебусь с их выводом, ИП зарегал, чтобы налоговая не взяла меня за жопу о том, откуда у меня деньги. Я живу в регионе, где действуют налоговые льготы - 0% первые 3 года.
Аноним 29/06/17 Чтв 01:26:27 #398 №1013223 
Портирую полезную либу под кристал.

Бл#, мне с даже больше нравится... Что со мной не так???
Аноним 29/06/17 Чтв 14:19:21 #399 №1013415 
Посоны, помогите.
Что надо делать в этой ситуации?

>Could not find rake-10.4.2 in any of the sources
Run bundle install to install missing gems.

Если можно - по шагам.

мимо-js-пидор
Аноним 29/06/17 Чтв 14:53:27 #400 №1013430 
>>1011376
bundle install в папке с gemfile
Аноним 29/06/17 Чтв 14:54:09 #401 №1013431 
>>1013415
А потом УСН будешь делать или как?
Аноним 29/06/17 Чтв 19:12:48 #402 №1013635 
>>966926
> не прочитал до конца нет одной книги. Коллеги постоянно добываются, что я апдейт не делаю, а делать промывание атрибутов модели и сейв.
Разве нужно читать книги, чтобы понять, что если действие можно выполнить за одну команду, то выполнять его за две - это неправильно?
Аноним 29/06/17 Чтв 19:15:43 #403 №1013638 
>>967401
> зато каждый апдейт рубокопа (обновление последней версии которого еще и в gitlab-ci прописано ) за всю кодовую базу садится сеньор и начинает заменять одни скобочки на другие.
Может пора сменить упороту тиму на нормальную?
Аноним 29/06/17 Чтв 19:22:22 #404 №1013642 
>>1010388
пиздец, зашёл в руби-тред и расстроился. работаю за 1к баксов (милионник), зато интересно. до этого было 1.6к евро, но очень скучно. а бывает чтоб интересно и нормально платили?
Аноним 29/06/17 Чтв 21:29:23 #405 №1013741 
>>1010205
Что это за редактор?
Аноним 29/06/17 Чтв 22:56:32 #406 №1013790 
>>1013642
> а бывает чтоб интересно и нормально платили?
Бывает, но ответственности больше, как и компетенций.
Аноним 30/06/17 Птн 01:27:21 #407 №1013875 
>>1013642
Ох, анончик. У меня тоже беда с этим.
Почему-то кругом одни вакансии с развитием каких-то старых проектов ("развитие" == поддержка на языке вакансий) со стеком рельсы + реляционка.
А так хочется просто работать и делать новые проекты. Я что, многого прошу? Кто-то может не хочет работать, а я хочу. А нету. Ну почему, почему, блять?
Аноним 30/06/17 Птн 15:49:50 #408 №1014138 
Хочу захостить на своём компе одностраничный сайт для другого устройства в локали. Ткните пожалуйста нуба мордой, в какую сторону гуглить. БЕЗ рельсов, ибо это оверкил дикий будет.

Уже есть опенсервер с пихой, там это дело пяти секунд, но хотелось бы на руби, если это не требует каких-то запредельных усилий.
Аноним 30/06/17 Птн 16:02:35 #409 №1014147 
>>1014138
hanami, sinatra
Аноним 30/06/17 Птн 17:14:45 #410 №1014186 
>>1014147
Спасибо.
Аноним 30/06/17 Птн 18:18:00 #411 №1014223 
Аноны, мне пиздец.
Прощайте.
Аноним 30/06/17 Птн 18:24:36 #412 №1014227 
msfoem.jpg
>>1014223
Что случилось?
Аноним 30/06/17 Птн 19:13:50 #413 №1014259 
14896490824990.jpg
>>1014223
пили прохладную
Аноним 30/06/17 Птн 20:27:52 #414 №1014317 
>>1014227
>>1014259
Считайте, что я ушел поддерживать интернет-магазин автозапчастей "ИП Шарыгин". То что это билет в один конец, думаю догадываетесь.
Аноним 30/06/17 Птн 21:52:22 #415 №1014346 
>>1014317
в чем проблема, перепиши все на es6 и новые рельсы, потом не стыдно будет показывать
Аноним 01/07/17 Суб 13:17:40 #416 №1014532 
>>1014138
jekyll
Аноним 01/07/17 Суб 15:06:15 #417 №1014591 
Ребят я чувствую себя Мидлом. Неплохо знаю реакт редукс. совсем капельку машил лернинга. имею очень хорошии рекомендации на линкедине и апворке. на гитхабе у меня лежит имлпементация фид форвард нейросети и веб приложуха на реакте и синатре к ней. Английский у меня неплохой. вышки нет и нет оффициального трудоустройства от слова вообще. каковы мои шансы на имиграцю отсуда нахуй? если тут успешные аноны которые получили супорт визы?
Аноним 01/07/17 Суб 17:53:20 #418 №1014733 
>>1014591
Тебе лишь бы в countryname, но не в Rashke? Может достаточно город РФ поменять? Свои проблемы переездом не решить, везде есть свои заморочки. Обдумывание свалинга вообще стоит начинать не с вопроса "куда я хочу" (если ты не гениальный специалист уровня мыщъха), а с вопроса "кому я там нужен". Найдётся ответ (работодатель) - отлично, можно приступать к решению задачи. Просто свалить из РФ ради сваливания - не цель, жить везде можно и неплохо. Сначала хоть в туристическую поездку в несезон съезди - может сразу выбор по климату сузится, в Европе зимы весьма противные, мне мои (Челябинские) сухие -30 больше устраивают, чем Венгерские -10. Жевание газа и сопли в лужах "каковы мои шансы..." = 100% никуда не поедешь. При этом надо знать куда именно валить, почему именно туда. А не "отсюда". Тебе может фрилансом заняться? Работать без территориальной привязки по удалёнке и всё. И вся Земля перед тобой. В любую жопу уехал и клепай заказы. Там по ходу дела и оценишь, где стоит пускать корни.
Аноним 01/07/17 Суб 18:15:09 #419 №1014743 
>>1014733
ну понятное дело что не в пакистан. Климат не так важен. сейчас я присматриваюсь к польше и чехии. И вакансии есть и климат под меня. Почему свалить из рф ради сваливания не цель? не хочу ташить суда политоту но, я просто не хочу жить в стране в которой нет базовых коституционных свобод, и полицейский скорее всего мой враг. я сейчас на фрилансе, но мне кажеться максимум что я на свои 1500$ потяну это тайланд потому что я с тянкой.
Аноним 01/07/17 Суб 21:02:38 #420 №1014836 
>>1014743
Насколько я знаю, в Польше есть тонкости вроде языка, налогов, полицейских-взяточников даже в Польше, касательно Чехии на двоих 70к крон нормально, на этом знания кончаются и я в ридонли, попробуй параллельно и асинхронно потусоваться в 2ch.hk/em/res/384254.html и 2ch.hk/em/res/387355.html
Аноним 01/07/17 Суб 21:06:21 #421 №1014839 
>>1014836
Спасибо анон!
Аноним 02/07/17 Вск 02:21:09 #422 №1014942 
>>1014743
>полицейский скорее всего мой враг
У тебя был прецедент или пиздишь сходу вхолостую?
Аноним 02/07/17 Вск 03:13:07 #423 №1014955 
>>1014942
Дохуя было. из последнего от чего я просто ахуел. Хотел себе на киви закинуть 3 куска. И черт меня дернул закинуть не там где я это всегда делаю а в каком то левом магазине. Такого открытого наеба я ещё никогда не видел. Фейковый автомат киви. но юай и внешка 1 в 1. все минус 5к. вот тут у чувака такая же история, собственно нашел его по тому что у нас в чеках ИП совпадает. https://dublikat.one/threads/razvod-terminal-oplaty.63191/ .после того как я написал заяву в ментуру. началось . участковый просто начал меня мурыжить. 5 дней мне перезванивал ! и спрашивал не дошли ли деньги. я вежливо ему отвечал мол нет, и не дойдут. потом он сказал мол они ему чек дали. Прислал мне фотку этого чека. я ему в ответочку принес выписку из банка мол нихуя. ну и он начал гаситься какое то время. постояно обещал перезвонить и нихуя не перезванивал. ну и потом мне просто сказл что нихуя не выйдет у тебя друг, на резоный вопрос почему он начал воду лить. и тут конечно я ахуел. очевидно что этот чувак их крышует. потому что
1. всем похуй что на этом автомате лого киви и юай киви. как так нахуй?
2. Ну я не детектив и могу понять когда не ловят кого то за мошеничество в интернете. но у тебя сука автомат стоит. ИП стоит, какие могут быть проблемы?

У меня досих пор горит с этой ситуации. Надо бы конечно продолжить их ебать из принципа и писать в прокуратуру но бля это столько времени занимает я ебу. Да и я не против развестись по умному но так это ну пиздец же.
из другого другу мент пытался подкинуть гаш. хорошо 3ий друг снимал
Аноним 02/07/17 Вск 03:18:51 #424 №1014957 
>>964778 (OP)
что там на рубях сейчас пишут?
Аноним 02/07/17 Вск 03:21:39 #425 №1014958 
>>1014957
Веб Приложения
Аноним 02/07/17 Вск 14:56:41 #426 №1015062 
>>1014957
Все что угодно.
У нас банк на рубях.
Аноним 02/07/17 Вск 19:37:35 #427 №1015210 
>>1015062
Рокетбанк?
Аноним 02/07/17 Вск 22:54:05 #428 №1015304 
>>1015210
Йеп
Аноним 03/07/17 Пнд 00:00:58 #429 №1015331 
>>1015304
Думал к вам попробовать устроиться (нравится идея попилить банк и заодно узнать кухню изнутри), не поделишься немного инсайдом? Есть ли овертаймы, как команда (напрягает, что вакансии постоянно висят одни и те же, хотя может просто никто не обновляет страницу), может ли помидор рассчитывать на 200-250к?
Аноним 03/07/17 Пнд 01:02:38 #430 №1015346 
>>1015331
>Есть ли овертаймы
Если поджаривает время - считай есть.

>как команда (напрягает, что вакансии постоянно висят одни и те же, хотя может просто никто не обновляет страницу)
Команда большая, но много подпроектов. Каждый своим занимается.
Вакансий много потому что идет массовое расширение, куча нового делается.

>может ли помидор рассчитывать на 200-250к?
В теории наверное может.
Аноним 03/07/17 Пнд 10:36:18 #431 №1015419 
>>1015346
Никитушка?
Ты слабоумный хипстоблядок. И офис ваш говно и банк ваш говно.
>Команда большая
4 человека блять? Или ты всяких пезд-менеджеров под командой понимаешь.
Аноним 03/07/17 Пнд 20:32:25 #432 №1015824 
>>1015419
>Никитушка?
Мимо
>4 человека блять
15 человек на бэке, плюс человек 10-12 фронта. И будет больше.
Аноним 03/07/17 Пнд 21:19:33 #433 №1015863 
14467624386600.jpg
>15 человек на бэке, плюс человек 10-12 фронта
Аноним 03/07/17 Пнд 21:33:23 #434 №1015878 
Правда что в руби все объекты и все выражения? Ищу язык максимально похожий на лисп. JS наиболее близок к лиспу, но экосистема удручает.
Аноним 03/07/17 Пнд 21:34:27 #435 №1015880 
Как в руби с асинхронностью?
Аноним 03/07/17 Пнд 22:23:51 #436 №1015902 
>>1015880
cpu-bound синхронен, без параллелизации
io-bound асинхронен, параллелизируется
Аноним 03/07/17 Пнд 23:08:35 #437 №1015928 
>>1015824
>Мимо
А то что он слабоумный хипстоблядок согласен? Или у вас там все такие?
Аноним 03/07/17 Пнд 23:18:38 #438 №1015935 
>>1015928
>Или у вас там все такие?
Все. Поэтому видимо тебя и послали нахуй.
Аноним 04/07/17 Втр 17:04:36 #439 №1016272 
14988870853170.png
Посоны, а расскажите, какие "необычные" вещи/практики вы знаете в рубях (ну или в рельсах тоже)?

Я, например, узнал, что оказывается в рубях есть множества http://ruby-doc.org/stdlib-2.4.1/libdoc/set/rdoc/Set.html:
>s1 = Set.new [1, 2] # -> #<Set: {1, 2}>
>s2 = [1, 2].to_set # -> #<Set: {1, 2}>
>s1 == s2 # -> true
Прикольно, потому что может пригодиться в случае если нам нужно отсутствие упорядоченности и еще сеты контролируют уникальность.

А вот другой любопытный пример. Flip Flop Operator:
>5.times do |i|
> print i if (i==2)..(i==4)
>end
># => 234
Оператор создает набор условий и хранит состояние ? и работает так: возвращает true c того момента как встретит первое условие и до того, как встретит второе.
На самом деле может быть более полезен:
>lines.each do |line|
> puts line if line =~ /^from/ .. line =~ /^to/
>end
Аноним 04/07/17 Втр 18:06:36 #440 №1016301 
>>1016272

Скажем, для разрежённого массива позволяю себе писать:

elem&.method

Вместо

elem.method if elem
Аноним 05/07/17 Срд 20:05:23 #441 №1017072 
Сап, аноны.
Есть некий скрипт на Ruby, есть ли способ собрать все зависимости в один файл так, чтобы на другой машине скрипт запустился, не требуя скачивания дополнительных пакетов?
Аноним 05/07/17 Срд 22:18:13 #442 №1017159 
>>1017072
На ум приходит Docker и виртуалка.
Но тебе наверное надо все гемы, можно конечно сказать, что у тебя тебя какая-то задача неправильная, но проблема интересная в некотором роде.

Можно погрепать код на предмет всех require'ов и с этим списком вытянуть гемы через gem fetch (или просто вытащить уже скачанные из директории с гемами) и потом грузить как-нибудь через require_relative.
Аноним 05/07/17 Срд 22:32:13 #443 №1017165 
>>1017159
Надо что-то вроде такого в итоге получить https://github.com/SYWorks/waidps
Аноним 06/07/17 Чтв 16:58:47 #444 №1017490 
Хочу освоить данный яп, какую книгу почитать, если я уже знаю основы другого яп(java)?
Аноним 06/07/17 Чтв 17:01:23 #445 №1017492 
>>989008
Потому-что оно памяти жрет просто охуеть. JVM сама по себе довольно прожорлива, а с уровнем абстракции как у руби - это лютейший пиздец.
Аноним 06/07/17 Чтв 23:39:07 #446 №1017776 
>>1017492
Старые байки о главном. Долбоебы квотируют все подряд не задумываясь что такое холодный старт и почему у не-jvm рост памяти прогрессирующий.
Аноним 07/07/17 Птн 10:20:07 #447 №1017922 
>>1017776
Расскажи подробнее

мимо
Аноним 07/07/17 Птн 11:58:44 #448 №1017957 
>>1017776
высунь голову из манямирка и не пытайся обернуть говно фантиком. если ты на самых банальных задачах выжираешь в десятки раз больше других решений(включая JVM-экосистему) - тут становится все просто: бери свое поделие и катись нахуй, всем будет насрать на твои росты памяти и старты, инфа 100 и так оно и происходит. если бы это не было байкой, то этот ваш jruby таки хоть кто-то использовал. а так это просто игрушка для эксперементов и некритичной скриптопараши. вакансий почти нет, известных пользователей тоже.
Аноним 07/07/17 Птн 21:30:17 #449 №1018256 
>>1017957
https://github.com/jruby/jruby/wiki/SuccessStories
JRuby юзают в коммерческих проектах и вообще
до сих пор пилят и не забросили.
Основные причины: получить удобство рельсы и
поддержку уникальных java-библиотек и java-legacy.
С памятью там всё нормально (не идеально, но вполне нормально).
Аноним 07/07/17 Птн 21:58:18 #450 №1018278 
Помню последние бенчмарки, там torquebox ебал все рубишные стеки.
Аноним 07/07/17 Птн 22:42:45 #451 №1018324 
>>1017957
Сейчас бы слушать советы от человека который в бою не видел системы с нагрузкой больше 100 rps.
Аноним 07/07/17 Птн 23:42:19 #452 №1018406 
>>1017957
>то этот ваш jruby таки хоть кто-то использовал.

Тащемта, всё оперативное планирование и контроль высокоскоростного движения в РЖД (считай, вся служба Д и околовертящиеся, нет, конечно Гид-Урал и Сетунь еще не похоронили, но...). Ну и в метро МСК кое-где (как минимум в службе Э).
Аноним 07/07/17 Птн 23:45:30 #453 №1018410 
>>1018278
>return Response.new(status: 200, body: {}.to_json)
>ебет всё
Аноним 07/07/17 Птн 23:48:18 #454 №1018416 
>>1017922
О чем поподробнее? Говнометания на Jruby и Java в целом идут из-за того что она долго и муторно разогревается, сразу алокейтя кучу пространства. О чем ньюфаги не знают, это то, что разогнавшись машина ебет все интерпретируемое говно взашей, при этом имеет адекватные alloc-и, нормальный gc, который не блокирует мир, нормальные треды, которые не зависят от потоков операционной системы, не лимитированы по GIL в cpu-bound и где нет танцев с бубном по thread safety. Плюс к этому они получают доступ к использованию почти любого Java окружения.
Аноним 08/07/17 Суб 04:07:45 #455 №1018492 
Держите пацаны не самый свежий, но вроде как толковый подгон с лепры: http://rubyschool.us/
Аноним 08/07/17 Суб 16:30:55 #456 №1018719 
>>1018492
Видио по два чиса, эта же с ума сайти можна. Просче доку перичитать.
Аноним 08/07/17 Суб 17:28:32 #457 №1018744 
fseek(file, 0, SEEK_END);
size = ftell(file);
fseek(file, 0, SEEK_SET);
buf = (char )malloc(size);
fread(buf, 1, size, file);
fclose(file);
fileSize = size;
return buf;
Как перевести этот Си-код на руби?
Аноним 08/07/17 Суб 18:41:16 #458 №1018798 
>>1018416
С каких это пор оно не блокирует мир? Почти все интерпритации JVM делают остановку мира, кроме платного Azul.
Она ебет, только если пользоваться непосредственно жабой, скалой или котлином и зная как. Запуская там скриптовые хреновины типа жруби, нэшхорнов, итд оверхед будет слишком велик.
Аноним 08/07/17 Суб 20:22:34 #459 №1018872 
>>1018798
Какая разница что запускать на JVM. Там же единый байт код. Все языки в этот байт код компилятся.
Аноним 10/07/17 Пнд 13:44:32 #460 №1020331 
как/где храните sql stored procedures?

т.е. хотелось бы что бы rails db:create, db:reset подгружал и процедуры.
sageАноним 10/07/17 Пнд 13:45:05 #461 №1020332 
>>1020331
вопрос про rails.
sageАноним 10/07/17 Пнд 13:54:14 #462 №1020341 
>>1020331
вопрос снят. rails db:reset запустить миграции. я почему-то думал, что используется schema dump.
т.е. добавлю процедуры миграциями.
Аноним 10/07/17 Пнд 16:40:11 #463 №1020477 
Screen Shot 2017-07-10 at 16.37.27.png
Рубанасы, поясните за AA.

Имеется код index'a для AA.
column :screenshots do |object|
object.screenshots.each do |shot|
span do
image_tag shot.screenshot_img.thumb
end
end
end

Какого-то хуя результатом его является пик.
Поясните, где я мудак?
Аноним 10/07/17 Пнд 16:41:08 #464 №1020478 
>>1020477
отклеилось
Столбец "Screenshots"
Аноним 10/07/17 Пнд 22:28:08 #465 №1020818 
>>1020477
в вьюхе ты накосячил.
проверь все открытия тегов <% и <%=, обычно когда путают эти теги такая хня
Аноним 10/07/17 Пнд 22:30:35 #466 №1020820 
>>1020818
короче думаю ты <%= screensots.each do |screenshot| %> вместо <% screensots.each do |screenshot| %> хуйнул, и он тебе высрал жсон с screensots
Аноним 11/07/17 Втр 05:09:46 #467 №1020993 
>>1020818
>>1020820
Да, но нет. Как я писал - я юзаю ActiveAdmin.

ActiveAdmin.register News do
index do
column :screenshots do |object|
object.screenshots.each do |shot|
span do
image_tag shot.screenshot_img.thumb
end
end
end
end
end

P.S: и если бы я хуйнул <%= в ERB, то картинок бы не выводилось.
Аноним 11/07/17 Втр 10:23:07 #468 №1021053 
Наверное строку «image_tag shot.screenshot_img.thumb» надо в равно обернуть, а остальные немыми сделать, вот и всё.
Аноним 11/07/17 Втр 10:40:01 #469 №1021058 
Screen Shot 2017-07-11 at 10.39.48.png
>>1021053
Наверное надо перестать ебстись в глаза и прочитать, что используется ActiveAdmin.

Аноним 11/07/17 Втр 10:46:10 #470 №1021060 
1234.png
>>1021053
Анус себе оберни, пёс
Аноним 11/07/17 Втр 11:16:47 #471 №1021073 
>>1021058
>>1021060
Ну ты решил-то проблему?
Аноним 11/07/17 Втр 11:23:31 #472 №1021077 
>>1021058
Лол, так тебе про .html.erb народ говорит в котором вьюха рендерится?
Ясен пень, что просто поставив знак равно вначале строки интерпретатор назовёт тебя бакланом.
Аноним 11/07/17 Втр 18:30:14 #473 №1021390 
>>1021073
Не, сегодня еб мозг с геокодером.
>>1021077
Так я им о том же. Не использую кастомы в АА нигде кроме форм, да и там сразу на slim их рисую.
Аноним 11/07/17 Втр 19:47:25 #474 №1021448 
>>1021073
захуярил вот так

column :screenshots do |object|
object.screenshots.each do |shot|
span img(src: shot.screenshot_img.thumb)
end
nil
end

Короче span просто выводит span, a column принимает блок и выводит результат его выполнения, а результат его выполнения - массив скриншотов, а если в конце добавить nil это получается return nil.

Сука вообще конечно пиздец.
Аноним 12/07/17 Срд 01:39:52 #475 №1021699 
>>1021448
Пили ссылку на гитхаб, непонятно чё там у тебя, нигер ты черномазый.
Аноним 12/07/17 Срд 05:11:22 #476 №1021720 
>>1021699
да всё уже и сам сделал, пока тебя дождешься...
Аноним 12/07/17 Срд 17:05:53 #477 №1021983 
Почему у меня при вызвое File.write(name, string) все файлы создаются с флагом executable и как это убрать?
Аноним 12/07/17 Срд 18:36:24 #478 №1022027 
>>1021983
Кажется понял, файловая система msdoc и тут таких флагов вообще нет. Смутил файловый менеждер минта, который отображает это флаг в свойсвтвах файла.
Аноним 13/07/17 Чтв 00:33:54 #479 №1022238 
image.png
>>1016272
А я продолжаю открывать для себя всем известные вещи.
Оказывается в рубях есть catch и throw.
https://ruby-doc.org/core-2.4.1/Kernel.html#method-i-catch
Аноним 13/07/17 Чтв 00:35:30 #480 №1022241 
>>1018406
Откуда там вообще руби?
Алсо, анончик, запили кулстори что-ли, ты видимо работаешь там? как в госконторе работается?
Аноним 13/07/17 Чтв 00:42:03 #481 №1022248 
И еще, посоветуйте что-нибудь простое и понятное по рспеку. Я его сразу не вкурил и продолжил пользоваться минитестом. Потом еще делал подход, опять обилие dsl-магии меня отпугнуло. Но все-таки хочу на него перекатиться. Доки какие-то уебанские, хочется простой обзор, как им правильно пользоваться-то.
Аноним 13/07/17 Чтв 05:50:13 #482 №1022486 DELETED


Футболист сборной России привел девушку домой, раздел, положил в кровать
и протирать с жены пыль мокрой тряпкой
Аноним 13/07/17 Чтв 06:10:12 #483 №1023742 DELETED
Касперский подвесил систему, интернет тормозит, в порыве праведного гнева восклицаю:
- Сука!!!

Ничто так не развивает навыки логистики, как три любовницы
Аноним 13/07/17 Чтв 06:29:11 #484 №1023857 
>>1022238
ну охуеть, а break if не канает уже?
Аноним 13/07/17 Чтв 09:10:08 #485 №1023891 
>>1022248
Посмотреть примеры не судьба? В любом проекте рспек.
Аноним 13/07/17 Чтв 09:11:41 #486 №1023892 
>>1023857
Это не break, а continuation.

По факту это просто усложненная версия Fiber-ов.
Аноним 13/07/17 Чтв 13:03:18 #487 №1024031 
>>1023892
а вот нахуй оно всралось?
в посудно-бытовых задач имхо не применяется
Аноним 13/07/17 Чтв 21:35:44 #488 №1024431 
Сап, ребята.
Подскажите плс по следующему вопросу.
Чуть меньше месяца вкатываюсь в руби. Знаю, понятное дело, самые основы пока что.
Тем не менее, у меня цель как можно скорее начать на этом хотя бы что-то зарабатывать, а для этого, как я понял, нужно переходить к рельсам.
Собственно вопрос: насколько надо знать руби, чтобы начинать вливаться в рельсы?

Спасибо!
Аноним 14/07/17 Птн 00:53:19 #489 №1024590 
>>1023857
>>1023892
Вы про что? Что это такое?
Вообще это инструмент для флоу-контрол, очень похожий на выброс исключений, просто с другой семантикой.

>>1024031
В пятой рельсе колбеки теперь не через return false останавливаются, а через throw :abort.
Аноним 14/07/17 Птн 01:01:08 #490 №1024593 
>>1024431
Да можно толком и не знать. С рельсами совсем другая проблема - их нужно учить. Я бы даже сказал зубрить. Потому что все сплошь на соглашениях и шагу без них не ступишь - приходится искать и читать, как делается элементарная хуйня.
Аноним 14/07/17 Птн 01:08:41 #491 №1024595 
>>1024431

Беги извлекать и сортировать числа из файлов по 40 гигабайтов, кек.

Другими словами, ломись в конторы и делай тестовые задания, какими уебищными бы они не были.

По ходу дела освоишь как руби, так и рельсу.
Аноним 14/07/17 Птн 09:20:15 #492 №1024706 
>>1024590
Мы про kernel, рельсоеб ты дремучий
Аноним 14/07/17 Птн 12:26:19 #493 №1024795 
Аноны, вот нахуярил проект на тестовом сервере, но что-то медленно, если его сделать как продакшн, быстрей будет?
Аноним 14/07/17 Птн 15:27:10 #494 №1024905 
>>1024595
отсылка в фанбоксу?
Аноним 15/07/17 Суб 00:06:15 #495 №1025260 
>>1024706
Да вы сами не знаете про что вы.

>>1024905
Он типа крут? Расскажи если в курсе, пожалуйста.
Аноним 16/07/17 Вск 05:06:16 #496 №1025801 
Пока Антон жалуется на упорото-упорных хрюш в своем свитторе, смотрел видосики. Нашел, такой

https://www.youtube.com/watch?v=ChxDqYVIYzw

Поржал с обсуждения вопросиков про лямбду и проки. Поцаны каждый день этими знаниями пользуются.

Анончик, а ты хоть раз использовал отличия лямдбы от прока? Можешь не отвечать, я знаю, что нет тот единственный раз не считается.
Аноним 16/07/17 Вск 07:32:29 #497 №1025813 
>>1025801
юзал в монгоид
Аноним 16/07/17 Вск 14:41:05 #498 №1025996 
>>1025801
>а ты хоть раз использовал отличия лямдбы от прока?
Постоянно.

Если отбросить более удобную работу с проками в тех же скоупах AR, проки постоянно используются в сервисах.
Аноним 16/07/17 Вск 14:48:25 #499 №1025999 
>>1025996

И что же ты использовал, синтаксический сахар для объявления любого кол-ва переменных? Это несерьезно и решается через одну строчку типа a,b,c = *params.

Или может различия в поведении на ретурн? Хуевое у тебя ооп тогда получается, очень хуевое. Ломать инкапсуляцию и менять логику в инкапсулированном методе-адресанте - это пиздец такое поддерживать.

Добавил return и потом на весь садик: `Мама, мама у меня сломались каллбеки!1!!! Что делать?!?`
Аноним 16/07/17 Вск 16:16:58 #500 №1026059 
>>1025801
Там ему сразу вопрос задали "вы сами на собеседовании давно были?". Мне кажется вся суть.
Но мне больше пригорает с другого, что вот такие вот собеседователи ищут себе скиловых чуваков, вместо джунов (которые бы были благодарны и развивались), а потом отправляют их на круды, где это все не нужно и люди там тухнут.
А потом он еще не доволен, что убив два года на "вырабатываение задач в джире" чувак не может ему про продукт рассказать. Епт, блять, да за два года такой зомби-работы не то что про продукт не расскажешь, а вспомнить не сможешь, что ты там вообще делал.
Аноним 16/07/17 Вск 17:19:22 #501 №1026101 
>>1026059
Предполагается что ты сначала на PHP попишешь года два в офисе, выучишь паттерны и потом руби за недельку и рельсы за месяц. И всё это во время работы в своей конторе. Там же ты должен поднять какой-нибудь побочный проект и в течении года-двух его разрабатывать и поддерживать.
После чего этого (через год-два) можешь робко смотреть на вакансии джунов в руби конторы.
А так никаких руби-джунов не подразумевается обычно.
Аноним 16/07/17 Вск 19:36:41 #502 №1026168 
Screenshot2017-07-1619-34-35.png
2.png
Сап, пацантрэ.
Вкатываюсь в рельсы. Учусь на программема, сейчас проходит летняя практика. По знакомствам нашел практику в одной маленькой конторе. Руководитель практики сказал, что ему в принципе похеру на меня, но если хочу что-то сделать, то нужно сделать веб-приложение. И дал на выбор пару тем. Делаю приложение для городских игор (Типа бегаешь по городу, выполняешь задания).
Возникла проблема:
Есть 2 модели : Игры и блок игры.
Т.е. игра содержит несколько блоков, соответственно связь belongs_to.
C созданием игры все ок, но когда хочу прикрутить добавление блоков сразу при создании игры возникает пролбема (пик 2).
Контроллер для создания блока игры (пик 1)
Аноним 16/07/17 Вск 22:45:43 #503 №1026260 
>>1025999
Я хуй знает что ты лепишь, но слез бы ты со своей лошади и прекратил понты кидать.
Аноним 16/07/17 Вск 22:50:12 #504 №1026262 
>>1026168
nested models
Аноним 16/07/17 Вск 23:13:25 #505 №1026267 
>>1026260

Какие понты? Тебя спросили как ты используешь отличия, на что был вскукарекек про проки в скоупах. Ты бы хоть доки посмотрел сначала актив рекордские, в них лямды используют.

Так что раз уж начал спорить с тем что проки (не лямбды) используются повсеместно, давай валидные кейсы их использования или слейся по-тихому.

Аноним 16/07/17 Вск 23:27:31 #506 №1026269 
Открываешь

http://guides.rubyonrails.org/active_record_querying.html

И смотришь, в документации используется -> (lambda)

И 0 совпадений по proc или Proc.new

Гуглишь proc vs lambda и находишь статьи где упоминают, что процы не рекомендуют использовать.

http://batsov.com/articles/2014/02/04/the-elements-of-style-in-ruby-number-12-proc-vs-proc-dot-new/

> By the way, given proc’s fairly counter-intuitive behavior regarding return, you should probably use lambdas most of the time.

Или

https://stackoverflow.com/questions/626/when-to-use-lambda-when-to-use-proc-new

> And finally, the proc method should never be used as it is inconsistent and has unexpected behavior. In Ruby 1.8 it actually returns a lambda! In Ruby 1.9 this has been fixed and it returns a Proc. If you want to create a Proc, stick with Proc.new.

и т.д.

Повседневно, они, блядь, используют.
Аноним 17/07/17 Пнд 00:22:33 #507 №1026298 
a.PNG
Так, спрошу и тут тоже.

В общем есть проект в директории, под гитом.
Я хочу некоторые файлы этого проекта заменить своими на локальной машине, или добавить файлы только для себя (это в основном конфиги, которые лично меня не устраивают и я хочу иметь свои).
Частично это можно решить глобальным гитигнором, но это хуевое решение. Кое-что я сложил в директории рядом с проектом, типа докер-композа и dot-env файлов, который можно так запускать.
В идеале хотелось бы, чтобы моя директория-расширение, как бы монтировалась поверх проекта. Но при этом чтобы гит видел оригнал.
Или например что-то типа личного гит-игнора, но локалного для проекта.
Аноним 17/07/17 Пнд 05:19:27 #508 №1026325 
Сижу перепиливаю свой «процедурный» скрипт на классы (специальная олимпиада), у меня там erb использовался и пришлось разбираться что такое биндинг.
А вы чем заняты?
Аноним 17/07/17 Пнд 13:52:24 #509 №1026454 
>>1026298
branch OR stash OR .gitexcludes
Аноним 18/07/17 Втр 00:59:04 #510 №1027615 
>>1026454
Бранч и стеш не подойдут. Гитэксклюдес это глобальный игнор. Но пока гуглил его наткнулся на .git/info/exclude - типа локальный exclude, и это уже теплее.
Аноним 18/07/17 Втр 03:25:31 #511 №1027646 
>>1027615
В папку проекта можно кинуть отдельный .gitignore, с дополнительными игнорами.
Аноним 19/07/17 Срд 00:26:56 #512 №1028141 
Снимок.PNG
Парни, как относитесь к принципу рефакторинга extract method? Пикрелейтед.
Если код дублируется, тогда, конечно, очевидно нужно выносить. Но вот как в этом конкретном примере мне кажется это ненужно шизофазия. Имхо, код сверху понятнее и читабильнее. Но я часто вижу, что начинают дробить обособленный метод на множество мелких, создавая такую лапшу, что чтобы прочитать код, приходится бегать по файлу и воссоздавать стек вызовов. И зачастую это объясняют "чтобы метод лучше читался".

Но это мне так кажется. Хочется узнать, что думают другие и если используют, то почему.
Алсо, если есть где-нибудь субъективная критика этой практики, поделитесь ссылочкой.
Аноним 19/07/17 Срд 00:30:33 #513 №1028142 
>>1027646
>отдельный .gitignore
Это как?
Аноним 19/07/17 Срд 06:20:32 #514 №1028192 
>>1028142
Ты профессионально непригоден.
Лучше иди асфальт укладывать или менеджером в эльдорадо.
Аноним 19/07/17 Срд 08:11:14 #515 №1028207 
>>1028141

Причем здесь руби?

---
Принцип рефакторинга хороший, если уметь его применять в связках с другими паттернами.

Давай возьмем пример посложнее, пусть отчет состоит не из двух частей, а из пятидесяти. Все написаны в одном методе printOwning.

И тебе приходит задача - подготовить три вида отчетов, один полный на пятьдесят частей, два кусками по 5, и 35 частей.

Первым делом ты откроешь код и охуеешь, увидев полотно на 400 строк кода. Но т.к. ты владеешь паттерном extract method, то за 1 коммит сможешь разделить огромный метод на множество маленьких частей. Эта хуйня отвечает за это, та - за то. Стало чуть понятнее.

Вторым шагом применяется инверсия зависимостей, чтобы метод printOwning печатал нужный вид отчета (полный, частичный, минимальный, whatever).

Вот так в два простых шага ты решил этот кейс.
Аноним 19/07/17 Срд 09:08:50 #516 №1028218 
>>1028207
Ты умней других хочешь показаться? Я же написал, что вопрос не про DRY.
Аноним 19/07/17 Срд 17:34:54 #517 №1028401 
rspec.png
>>1028218

То что я знаю больше тебя, не значит что я хочу что-то перед другими, особенно на анонимном форуме.

Извлечение методов это не только читабельность, задел под расширение, но и удобство в тестировании.

Когда тест крашится в маленьком методе, его проще поправить, а остальная часть программы тебя не волнует.

Если думаешь, что можно научиться эффективно ходить на одной ноге, то тебе не следует идти в программисты. Тем не менее неоспоримость пользы одной ноги в связке с другой - неоспорима.

Поэтому не выебывайся, и учи как бы глупо тебе не казалос и рднажды картина сложится в голове. Увы, но ооп по частям не работает.
Аноним 19/07/17 Срд 17:46:38 #518 №1028408 
>>1028141
Даже башевские скрипты дроблю на отдельные функции, что сильно упрощает отладку и прочие НИОКРы.
Может показаться, что кода несколько больше, но с практикой станет ясно, что разбираться в коде действительно проще, чем в простыне с if/while, принтами и циклами.
Аноним 19/07/17 Срд 19:51:01 #519 №1028472 
ОПчик а ты почему с гитхаба удалился, перекат теперь проебан.
Аноним 20/07/17 Чтв 00:53:38 #520 №1028604 
>>1028141
>если есть где-нибудь субъективная критика
Вот тут в комментах чуваку аргументируют, что он поехавший
https://sites.google.com/site/unclebobconsultingllc/one-thing-extract-till-you-drop
Там большинство все-таки разделяет его восторг, но пример показательный - декомпозиция ради декомпозиции.
Аноним 22/07/17 Суб 00:40:39 #521 №1029530 
ПЕРЕКАТ
https://2ch.hk/pr/res/1029529.html
https://2ch.hk/pr/res/1029529.html
https://2ch.hk/pr/res/1029529.html
comments powered by Disqus

Отзывы и предложения