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

Ruby Thread

 Аноним 21/01/17 Суб 11:04:34 #1 №916183 
13.png
4453009.jpg
9.jpg
Предыдущий: https://arhivach.org/thread/232277/

Принимаются изменения в шапку треда в виде пулл-реквестов:
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.
Аноним 21/01/17 Суб 14:30:14 #2 №916298 
2.png
Анон, что можешь сказать про трейлблейзер? Вообще свои мысли на этот счет.
Особенно интересно мнение этого >>913136
анона
Аноним 21/01/17 Суб 21:23:51 #3 №916509 
dodo-figure-by-bill-munns-450x590.jpg
>>916267
>index.html.erb
><% render %>
Метод возвращает результат, а шаблонизатор его не выводит <%= render %> же, не?

>>916298
Пока толком не сталкивался и не разбирался с ним, не могу выразить компетентного мнения по его поводу. Все что о нем пишут звучит здорово, но я пока не видел, чтобы кто-то коротко и ясно сказал, какую проблему он решает. Буду рад ознакомиться с такой инфой.
Аноним 21/01/17 Суб 22:35:56 #4 №916560 
>>916534
Как же противно твое лицемерие
Аноним 21/01/17 Суб 22:45:00 #5 №916571 
>>916560
Думаешь, парень за словами благодарности прячет презрение и злобу?
Аноним 21/01/17 Суб 22:55:37 #6 №916580 
>>916509
>какую проблему он решает
Ну, осмелюсь написать от себя но я тоже не работал, просто смотрел. Это библиотека, набор гемов, которые реализуют основные ООП-патерны и таким образом реализуют отличную от rails-way архитектуру - декомпозируют модель, контроллеры, разносят бизнес-логику на отдельные модули.
Например, вводят ServiceObject, и уносят туда все, оставляя только http-релейтед логику запрос-ответ. Из моделей убирают валидации, коллбеки и вообще все, оставляя только ассоциации и встроенную в эктиврекорд persistance-логику. Ну и еще всякое такое типа форм-обжектов, полиси-обжектов. А еще меняют структуру директорий в проекте. Но все это можно использовать выборочно, то есть не принуждают использовать все.

И собственно мой вопрос о том как анон относится к этому гему на самом деле состоит из двух вопросов - 1) как он относится к рейлс-вэй 2) как относится к альтернативе в виде конкретно этого гема (мне вот он не нравится, хотя с идеей согласен).
Аноним 21/01/17 Суб 23:28:50 #7 №916624 
avatar-icon.png
208761.jpg
Нужно шапку для следующего треда освежить. или есть способ актуальную запдейтить?

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

>>916580
Опять таки, ты написал про него два абзаца слов не лишенных смысла, но они не отвечают на вопрос, какую проблему он решает.

Штука интересная, но мотивация у нее странная. Одно из главных преимуществ Рельс в том, что все хорошо знают, что где лежит и могут ориентироваться в чужом коде на ощупь. Благодаря этому мы можем писать довольно простые генераторы, которые всегда попадают куда надо, и в целом сказать меньшим большее. У Рельсы есть проблемы, но архитектура вряд ли входит в первые позиции этого списка.

Про "Рейлс-Вэй" довольно исчерпывающе DHH расписал. http://rubyonrails.org/doctrine И в одноименной книге тоже все очень по делу. К инструменту надо относиться как к инструменту. Другое дело, что было бы гораздо лучше иметь инструменты для разных ситуаций. Я очень надеюсь, что в концу этого года Hanami подрастет. Уже сейчас он выглядит весьма зрело и не выстреливает больше из-за "социальных", чем из-за технических факторов.
Аноним 22/01/17 Вск 00:07:09 #8 №916653 
>>916183 (OP)
аллоу, рубисты, а есть смысл учить язык чтоб работать? После вузика знаю си, который заеб. На руби есть вакансии, если я спикинг инглиш вери велл, или лучше посмотреть на кресты/питон/го/язык?
хацкель знаю в совершенстве, транслую его в дельфи через который компилю ассемблерный код для создания физической модели воды нет
Аноним 22/01/17 Вск 00:11:19 #9 №916655 
>>916653
слоудобавка
мне просто говорили, что руби мертво или стремиься к этому, и популярность языка падает и ждет его судьба дарта
Аноним 22/01/17 Вск 00:27:04 #10 №916660 
>>916624
Очень расплывчато, анон, я ожидал большего :)

>не отвечают на вопрос, какую проблему он решает
Ну... дает инструменты и инфраструктуру, чтобы писать правильный код. Несет SOLID-принципы.
Ты согласишься, что в более менее серьезном проекте фэт модел это проблема? Если пытаться все время придерживаться рейлс-вей, то код начинает протухать. Это не проблема рельс, конечно, и рейлс-вей не мешает писать по другому. Просто про другие подходы очень мало инфы в рейлс-сообществе и даже скорее есть какое-то религиозное неприятие.
>Про "Рейлс-Вэй" довольно исчерпывающе DHH расписал
И вот про религиозное неприятие - недавно я узнал, что он предложил сделать в эктиврекорде нейкий метод suppress, чтобы подавлять создание в колбеках. Создавать что-то в колбеках и так анти-паттерн, а он предлагает воркэраунд. Поэтому уже не знаю, как относиться к тому, что он говорит.

Недавно узнал про Hanami и хотелось бы разобраться. Они кажется как раз нацелены на другой подход.
Аноним 22/01/17 Вск 00:27:55 #11 №916661 
matz800.jpg
>>916624
>Одно из главных преимуществ Рельс в том, что все хорошо знают, что где лежит и могут ориентироваться в чужом коде на ощупь.
>У Рельсы есть проблемы, но архитектура вряд ли входит в первые позиции этого списка.

Как раз таки архитектура (точнее ее отсутствие) под название активрекорд и является самым уебанским местом в рельсах. Это идеально подходит для маленьких проектов на 10 моделей и контроллеров, когда тебе надо быстро что-то сделать и запустить в продакшен, но через год-два работы над проектом ты просто охуеешь в какое говно он превратился. За примером далеко ходить не надо, вот он рейлс вей во всей красе: https://github.com/redmine/redmine/blob/master/app/models/user.rb
Аноним 22/01/17 Вск 00:28:03 #12 №916662 
V3VNJm409Hs.jpg
>>916653
Подробно говорили об этом в предыдущем треде в последних нескольких десятках постов. Есть коротко: да, есть. Смотри в первую очередь на то, насколько он тебе подходит. Нравится ли синтаксис, чистое ООП, Рельсы(посмотри какой-нибудь скринкаст в духе "собрать Твиттер за 15 минут"), культура(см. например доктрину Рельс постом выше) .

Решай исходя из предпочтений. А вакансий и работы но не денег больше всего в ПХП и 1С.
Аноним 22/01/17 Вск 00:31:29 #13 №916665 
>>916661
Ну, анон, вот ты прокомментируй >>916298.
Аноним 22/01/17 Вск 00:31:54 #14 №916666 
>>916662

я не хочу пыху и 1С, я ж не безнадежный. Мне нравится руби из за синтаксиса в целом, но в русском сегменте все на питоне ебашат как угорелые, вот я и задумался.и на пхп конечно
Аноним 22/01/17 Вск 00:47:02 #15 №916677 
>>916665
>>916298

Несколько раз пытался засунуть в проект Trailblazer, но так и не понял чем он лучше обычных PORO.
https://www.reddit.com/r/ruby/comments/52ls60/would_you_use_trailblazer_on_a_new_application/d7ld1fo/
Аноним 22/01/17 Вск 00:54:56 #16 №916680 
>>916677
Вот и мне он не нравится своей перегруженностью, своим DSL, своими интерфейсами. Опять какая-то магия, опять учить и разбираться. А зачем не понятно - гораздо красивее сделать PORO.
Аноним 22/01/17 Вск 01:07:46 #17 №916683 
>>916660
>в более менее серьезном проекте фэт модел это проблема? Если пытаться все время придерживаться рейлс-вей, то код начинает протухать.
Вот это уже интереснее. Значит Трейлблейзер призван решать проблему раздутых моделей. Возможность сочетать его с Hanami делает такую перспективу заманчивее, но из потенциальных подводных камней вижу явные проблемы с внедрением - скорость разработки явно по началу снизится, нужно всех убедить в обоснованности подхода и дать привыкнуть. Еще и не факт, что действительно даст ожидаемый результат - больших прецедентов пока не было. Пощупаю когда-нибудь, отпишусь тут.

>>916661
Переписывать проект через два года под другую платформу насколько мне известно широкая практика не только в случае Рельс. Звучит бредово, но было бы еще здорово, чтобы была возможность переписать на том же Руби.

>>916666
Вопрос спорный, но Питон, Руби и Нода примерно одинаково востребованы сейчас. Метрики разные и у всех есть очевидные неточности. Так что выбирай по вкусовщине.




Аноним 22/01/17 Вск 01:21:13 #18 №916691 
>>916683
>Переписывать проект через два года под другую платформу насколько мне известно широкая практика не только в случае Рельс.
Что ты несешь? Точнее как ты это себе представляешь? Приходишь такой к заказчику перед релизом и говоришь, мол, вы знаете, у нас тут жыра трещит по швам, задачи на год вперед расписаны, поэтому давайте перепишем проект, да?
Аноним 22/01/17 Вск 01:23:52 #19 №916692 
>>916683
>Возможность сочетать его с Hanami делает такую перспективу заманчивее
А мне кажется не надо. В ханами модели уже декомпозированы и персистенс-уровень отделен от бизнес-логики. И для других аспектов, насколько я успел урывками почитать, там тоже свои решения.
Аноним 22/01/17 Вск 01:25:33 #20 №916694 
>>916691
Да, поэтому будем переносить в микросервисы!
я не тот анон, если что
Аноним 22/01/17 Вск 03:06:16 #21 №916727 
>>916691
Двачую. Мантры про "переписывание проекта" практически никак к реальности не применимы.
Аноним 22/01/17 Вск 12:12:01 #22 №916838 
>>916660
Сорри, поясни плиз, чем плоха фэт модел?
Аноним 22/01/17 Вск 12:18:05 #23 №916842 
Пишу уже почти год на раби и так и не понял, как применять на практике проки (лямбды). Можете накидать примеры кода, где они реально востребованы?

Использовал разве что в качестве эдаких хелперов - когда лень дефайнить хелпер-метод, я тупо внутри метода писал лямбду уебанство же
Аноним 22/01/17 Вск 13:45:57 #24 №916952 
>>916842
Скоупы в методах ассоциаций у ActiveRecord.
Аноним 22/01/17 Вск 18:10:17 #25 №917169 
>>916842
Удваиваю вопрос.
>>916952
Он вообще-то про руби спросил, а не про это говно.
Аноним 22/01/17 Вск 19:07:15 #26 №917288 
>>916842
>>917169
Использую в качестве заглушек в тестах, когда один сервисный объект вызывает другой, публичный интерфейс у всех состоит только из метода call, а сами объекты друг с другом взаимодействуют через композицию - т.е. инстанс одного передается параметром при создании другого. Таким образом, сервисные объекты не имеют между собой жесткой связи. Но не всем это нравится, конечно. Если книжки не читал, скорее всего у тебя случится ОВЕРИНЖИНИРИНГ. А так лямбды в обычной жизни больно-то не нужны, если не gem пилишь. Обычно конфиг передают с помощью лямбд.
Аноним 23/01/17 Пнд 09:32:50 #27 №917721 
Анон, что думаешь по поводу платных курсов по рельсам? В частности mkdev и thinknetica. Круды простые клепать уже умею, но для работы этого явно мало
Аноним 23/01/17 Пнд 12:36:12 #28 №917822 
>>917721
если брать курсы то только видеокурсы - на удеми, например
там почти всегда в инете можно нарыпь прмокод на скидку на 50 и более процентов
Аноним 23/01/17 Пнд 13:58:57 #29 №917898 
>>917803
У меня частенько ощущение возникает, что я хуйню творю и велосипеды изобретаю. И как раз грамотного код ревью не хватает, и проекта для гитхаба нормального. Из за этого и поглядываю
Аноним 23/01/17 Пнд 14:27:47 #30 №917983 
>>917288
Нихуя непонятно, пример кода можешь скинуть? Почему нельзя получить статус сервисного объекта и делать эту самую композицию только если статус норм?

Зачем конфиг передавать с помощью лямбд-то?
Всегда делал YAML::load_file(File.join(__dir__, 'config.yaml'))
Аноним 23/01/17 Пнд 14:52:38 #31 №918017 
каррирование, внутренние итераторы, неявная/явная смена биндинга -- без этого всего руби-вей какой-то не такой.

Ну и в частности да, конфиги удобно настраивать; не всякое гавно сериализуемо.
Аноним 23/01/17 Пнд 15:04:05 #32 №918034 
>>918017
Приведи пример кода.
Потому что то, о чем ты говоришь, нужно не так уж и часто, к тому же чревато зачастую ощутимым снижением производительности. Такое чувство, что в 99% случаев, когда используются лямбды. можно обойтись и без них. И даже нужно.
Аноним 23/01/17 Пнд 15:11:16 #33 №918052 
>>918034

ну если ненужно, то ненужно, это твои проблемы.

Я бтв другой (третий?) анон который тебе за замыкания поясняет.

Примеры ищи сам, меня твой агрессивный тон отталкивает что-то там тебе искать, сорян.
Аноним 23/01/17 Пнд 15:20:33 #34 №918064 
>>918052
Я до этого тебе ничего не писал, это мое первое сообщение.
Касательно агрессивности - согласен, это старая проблема, всё всегда сливают в срач, поэтому когда хочешь серьезно обсуждения, приходится писать очень аккуратно, чтобы продемонстрировать свою позитивную настроенность. Я торопился и написал как получилось. Никакой агрессивности.

Мне очень бы помог твой пример и советы, потому что моё утверждение про 99% сомнительно верное (в большинстве случаев это правда, но есть редкие исключения, когда лямбы крайне выигрышны, и знание этих исключение дает нихуевый буст к развитию), поэтому я вежливо, без какой-либо агрессии, с улыбкой до ушей прошу тебя привести кейсы и дать советов по использованию. (если тебе не впадлу)
Аноним 23/01/17 Пнд 15:46:19 #35 №918077 
>>917983
Вот пример:
https://gist.github.com/anonymous/5e7d9fd9dd9bdd2f7494996b13d983c4

Немного в вакууме и не совсем так, как я изначально описывал, но суть та же.

>Зачем конфиг передавать с помощью лямбд-то?
Потому что можно.

>>918034
Микрооптимизации вряд ли дают ощутимый прирост в производительности, если код в пределах разумного написан.
Аноним 23/01/17 Пнд 16:15:34 #36 №918088 
>>918017
>каррирование, внутренние итераторы, неявная/явная смена биндинга
Блин, ни слова не понимаю. Мои дела совсем плохи?
Аноним 23/01/17 Пнд 16:19:59 #37 №918092 
>>918064

closures используются повсеместно, говорить о производительности как минимум странно, ведь по-твоему тогда и [1,2,3,4,5].map { |elem| ...} будет медленным.

Как примеры, замыканий посмтри популярные репозитории на гитхабе, можно встретить конструкции вида:

n = Libnotify.new do |notify|
notify.summary = "hello"
notify.body = "world"
notify.timeout = 1.5 # 1.5 (s), 1000 (ms), "2", nil, false
notify.urgency = :critical # :low, :normal, :critical
notify.append = false # default true - append onto existing notification
notify.transient = true # default false - keep the notifications around after display
notify.icon_path = "/usr/share/icons/gnome/scalable/emblems/emblem-default.svg"
end

Где пост-инициализация параметров для истанса происходит в его биндинге (https://github.com/splattael/libnotify/blob/master/lib/libnotify.rb). Это достаточно удобно.

С другой стороны, понимание каллбеков дает возможность реализовывать паттерн 'стратегия', через каллбеки, например, в рест клиент (https://github.com/rest-client/rest-client) ты можешь увидеть такой код:

RestClient.add_before_execution_proc do |req, params|
access_token.sign! req
end

И совсем уж никуда без каллбеков для state machines (https://github.com/pluginaweek/state_machine).

Если из кода тяжело понять как использовать замыкания, то почитай:

http://rubylearning.com/blog/2010/11/30/how-do-i-build-dsls-with-yield-and-instance_eval/
http://blog.khd.me/ruby/ruby-currying/
http://brandonhilkert.com/blog/ruby-gem-configuration-patterns/

Где последний пример подробно рассказывает про конфигурировование гемов через замыкания.

Ну а нравится или не нравится, это дело строго твое. Главное: пиши, сука, читабельный код, а ruby-way у каждого свой.
Аноним 23/01/17 Пнд 16:25:08 #38 №918095 
>>918092
>http://brandonhilkert.com/blog/ruby-gem-configuration-patterns/
>tfw no chad bf to code on ruby together
Аноним 23/01/17 Пнд 16:40:41 #39 №918105 
Анон, я дурак. Не умею принимать решения. Всегда с этим замечал за собой проблемы.

А сейчас есть несколько предложений работы, все +- одинаковые. И я не могу ничего выбрать, впал в ступор.

Что делать? Подскажи годный способ самовыпила.
Аноним 23/01/17 Пнд 16:42:52 #40 №918108 
>>918105
Почему в этом треде?
Аноним 23/01/17 Пнд 16:44:50 #41 №918110 
>>918092
Годно расписал. Вопрос был не мой, я тут мимокрокодил, но мне эта инфа будет полезна. Спасибо, анон.
Аноним 23/01/17 Пнд 20:44:06 #42 №918237 
>>918092
Спасибо.

>closures используются повсеместно, говорить о производительности как минимум странно

Из-за утечек памяти.


>>918105

Подбрось монетку. Я так поступал в универ и женился.

Аноним 23/01/17 Пнд 22:26:40 #43 №918307 
>>918088
баззвордс обычные, означают тривиальщину, не парься
Аноним 24/01/17 Втр 08:20:33 #44 №918485 
>>918307

Так и за тривальщину никто не поясняет, я вот неправильно про биндинги рассказал, в >>918092 они не изменяются.

Т.е. изменяются не через yield self, а так: (https://github.com/jhass/configurate/blob/master/lib/configurate.rb)

# Create a new configuration object
# @yield the given block will be evaluated in the context of the new object
def self.create(&block)
config = new
config.instance_eval(&block) if block_given?
config
end

И никто не поправил, хотя думал: проснусь, посмотрю, а тут уже меня уже обосрали и пояснили за нюанс. Все, блядж, самому приходится делать. Чего уж говорить о по-настоящему сложных и интересных штуках.
Аноним 24/01/17 Втр 12:11:50 #45 №918566 
>>916661
>За примером далеко ходить не надо, вот он рейлс вей во всей красе: https://github.com/redmine/redmine/blob/master/app/models/user.rb
В java интерпрайзе такая же хуета. Но кода по ссылке хоть и много, он вполне быстро читается и понимается. Не вижу проблемы
Нюфаг
Аноним 25/01/17 Срд 03:27:15 #46 №919013 
>>916183 (OP)
Сап сосач, ситуация очень тяжелая, нуждаюсь в любой хелпе.
В в общем делаю веб-парсер сайта, всё шло гладко, пока я не наткнулся на выпадающий список..

Как спарсить названия из списка, и ссылки на картинки, соответствующие выбору?
(curb/nokogiri/xpath)

http://www.sammccauley.com/Product/loreal-colour-riche-lipliner/27631/2224.14.0 к примеру эта страничка
Аноним 25/01/17 Срд 13:31:34 #47 №919202 
2017-01-25183048.png
>>919013
doc = Nokogiri::HTML(html)
doc.css('.prodselector option').each { |p| puts p['value'] }
картинки пиздец, нужно отправлять пост запрос с value в параметрах и в ответе будет ссылка на картинку.
Аноним 25/01/17 Срд 13:40:04 #48 №919211 
>>919202
спасибо, мэн, будем пробовать )
Аноним 26/01/17 Чтв 03:01:53 #49 №919615 
Бля, у меня jsonb поле, а этот гандон параметры с произвольными ключами не принимает. Как же бомбит, сука.

https://github.com/rails/rails/issues/9454
>strong parameters is not designed to handle every possible situation. We wanted to keep the API on point to handle the most common situations. As assigning a hash with unknown keys more or less defeates the purpose of strong parameters (restricting allowed keys), It's not supported because it could make your code vulnerable.

За меня решили, блджад, охуеть.

Че делать, как хеш в параметрах в белый список поместить? Хеш fields сохраняет пользовательские поля.

# params.require(:hui).tap do |white|
# white[:fields] = params[:hui][:fields]
Не работает. Rails 5


Аноним 26/01/17 Чтв 03:11:23 #50 №919620 
>>919615
Можно удалять, сорри. Бомбануло просто на ночь глядя.
Аноним 26/01/17 Чтв 15:11:23 #51 №919820 
аноны, почему "гуру из сыроварни доу.юа"все гонят на руби? говорят что это самый конченый язык вакансий мало, работу не найдешь, я только вкатываюсь .
говорят лучше учи пхп или питон плюс жаваскрипт.
в тоже время знаю инсайд от хрюш что рубист самая сложная вакансия для них, 2 года и берут в миддлы больше 3х уже сеньор.
и в украине только по руби есть бесплатные курсы, сконкурсом? где правда анон?
Аноним 26/01/17 Чтв 15:25:59 #52 №919829 
>>919820
Лучше учи пхп или питон плюс жаваскрипт.
Аноним 26/01/17 Чтв 15:33:37 #53 №919837 
>>919829
почему?
Аноним 26/01/17 Чтв 15:34:55 #54 №919838 
>>919837
Руби - самый конченый язык вакансий мало, работу не найдешь.
Аноним 26/01/17 Чтв 15:40:10 #55 №919842 
>>919838
ясно, ты подумал что я зелёный и копипастишь, а я серьёзно спрашивал.
Аноним 26/01/17 Чтв 15:44:28 #56 №919843 
>>919842
Вместо того, чтобы читать - давно бы попробовал уже что-нибудь и сам всё понял. Я тебе так скажу: как правило, пхпшник и жаваскриптер - не знают руби, а рубист наоборот: обычно знает пхп и жаваскрипт. Вот и думай, кому верить и что учить.
Аноним 26/01/17 Чтв 15:51:23 #57 №919851 
>>919843
извини, может я неправильно задал вопрос.
Задам по-другому : насколько разумно выбирать руби первым ЯП? как потом с работой? хоть контора хоть апворк? или лучше отвеслать пхп-макакой с год а потом доучить руби?
Аноним 26/01/17 Чтв 16:05:04 #58 №919860 
>>919851
Я делал вторым путём, не знаю как с нуля руби учится. На моей памяти нет таких людей.
Аноним 26/01/17 Чтв 16:17:26 #59 №919877 
>>919859
курсы киевские изистартин айти за 10%, да? или есть ещё? с чего начинал, что есть на русском кроме каналов на ютубе? на инглише долго. что подтягиваешь кроме рельс?
Аноним 26/01/17 Чтв 16:40:19 #60 №919885 
>>919884>>91988
спасибо посмотрю. я имел ввиду эти курсы. попробуй туда http://fe.easystartin.it/ это по руби.
Аноним 26/01/17 Чтв 17:22:39 #61 №919901 
>>919884
Схоронил пикчу, напишу на синатре.
Может у кого есть еще тестовые или стажерские задания подобного вида(желательно посложнее)? А то я чет как ни придумаю что-нибудь, так для моего уровня это месяца 2-3 работы, а тут и небольшое приложенице, и норм идея(не эти ебучие твиттеры, тудушки, борды).
Аноним 26/01/17 Чтв 18:11:32 #62 №919923 
ven-1.jpg
Хочу знать все про авторизацию в вебе. Урывками тему знаю и даже применяю, но все сводится к использованию гемов по мануалам. Не смогу описать что там под капотом. Когда формируется токен, как передается, где хранится, как шифруется? Как организованы сессии? Как работает прикрученная авторизация из социальных сетей?

Где получить хорошее целостное знание вопроса? Посоветуйте источники. Русский, английский - не важно.
Аноним 26/01/17 Чтв 18:55:44 #63 №919947 
>>919923
открой исходники любого опен-сорсного браузера да почитай. как дети чесслово
Аноним 26/01/17 Чтв 20:12:35 #64 №919967 
>>919947
Ты бы еще ему предложил посмотреть что там в процессоре на уровне машинных команд выполняется

>>919923
Посмотри https://github.com/NoamB/sorcery это самый минималистичный годный гем для авторизации из мне известных.
Аноним 26/01/17 Чтв 20:30:46 #65 №919975 
>>919967
Благодарю! Выглядит подходяще, буду осиливать.

Сначала все равно попытаюсь нагуглить что-нибудь мало-мальски релевантное из теории. Столько книжек про веб написано, наверняка кто-нибудь раскрыл эту тему хоть в одной главе. Не могу избавиться от ощущения непоследовательности в подходе изучения вопроса по написанному коду. Как будто по ответу на вопрос "Как?" пытаюсь понять "Что и зачем?".
Аноним 26/01/17 Чтв 20:38:35 #66 №919989 
>>919975
Хартла читал, RoR Security Guide? Помойму там вполне понятно описано, как, где и почему именно так
Аноним 26/01/17 Чтв 21:09:40 #67 №920026 
>>919989
Теперь прочитаю. Пробежался по заголовкам, должно подойти. Еще раз спасибо!
Аноним 26/01/17 Чтв 21:11:45 #68 №920029 
>>920026
Соси спасибо, мартышка.
Аноним 26/01/17 Чтв 21:29:02 #69 №920041 
>>920026
Ну и исходнички почитывай, куда уж без них. Мне как-то теперь даже лень книги или статьи искать чтобы о чем то нужном узнать. Я сразу хуячу в исходники и луркаю как там сделали нужную мне фишку походу уже начал превращаться в copy-paste мартыхана
Аноним 26/01/17 Чтв 22:01:36 #70 №920053 
>>919887
да хуй их знает в фейсбуке писали что руби
>Доброго дня, Анонінмус

Дякуємо за інтерес до нашої команди

Ми зараз проводимо набір в групу RubyOnRails розробки. Працюємо в невеликих групах по 5-7 людей. Наші курси орієнтовані саме на тих кандидатів, які збираються працевлаштуватися в ІТ найближчим часом. Ми безкоштовно навчаємо наших студентів, безкоштовно допомагаємо їм працевлаштуватися в сферу IT, а згодом займаємося їх професійним розвитком в подальшому. Свої послуги ми надаємо безкоштовно до того моменту, поки людина успішно не працевлаштовується. І вже тоді, по факту, коли людина працює та отримує заробітну плату, вона сплачує % із своєї з/п.
В нас немає прив'язки до конкретних компаній, ми робимо ставку на тому аби зробити нашого студента конкурентоспроможним та підготовленим кандидатом на ринку, який має усі шанси для того щоб успішно працевлаштуватися на позицію розробника.

Більш детально:
Перед початком курсу підписується договір зі студентом терміном на 3 роки.
Під час навчання основний акцент ми робимо на практичних завданнях, курс триває 3 місяці - будні дні (тричі на тиждень) о 19.00. Тривалість заняття 2,5 - 3 год.
Офіс знаходиться на Льва Толстого.
Після закінчення курсів ми допомагаємо студентові знайти роботу якнайшвидше і якнайкраще, адже ми теж в цьому зацікавлені.
Коли студент успішно працевлаштувався, він сплачує 10% щомісячно від своєї чистої з/п протягом 3 років.
В свою чергу ми:
продовжуємо професійно розвивати студента - допомагаємо максимально швидко просуватися від позиціі junior до middle, згодом до senior;
працюємо за моделлю менторства + постійний технічний сапорт з нашого боку;
пропонуємо відвідувати інші напрямки для професійного зростання в рамках нашої школи;
English speaking clubs для наших студентів тричі на тиждень.

На вході ми очікуємо кандидатів зі знанням основ програмування на Ruby.
Якщо Вам цікава така модель співпраці - можемо запропонувати долучитися до нашого тестового відбору.

Чекаємо на Вашу відповідь.

Аноним 26/01/17 Чтв 22:04:01 #71 №920055 
>>920053
test
Як і домовлялись, надсилаю Вам тестове завдання на курс RubyOnRails:

Невеликий тест з англійської мови https://www.braincert.com/test/3360-English-grammar-test.

Потрібно написати код, який приймає 2 дати в мілісекундах (Unix timestamp), а повертає різницю в читабельному для людини вигляді з правильними закінченнями в словах та словом "and" якщо є секунди.
Для прикладу, якщо передані числа "1478779621" та "1478687791" - в результаті має вийти "1 day 1 hour 30 min and 30 seconds".

Написати код, який поверне масив часу від заданої дати до 5 днів. До першої години крок часу 15 хвилин, після першої і до 5 годин - крок 30 хвилин, після 5 годин крок = 1 година. Після 12 годин відлік часу має бути в днях. Варто також врахувати дати, без часу. В цьому випадку відлік починати з 12 години ночі.

Для прикладу, якщо передається дата "Thu, 22 Dec 2016 00:00:00", в результаті має вийти

"[
Thu, 22 Dec 2016 00:00:00
Thu, 22 Dec 2016 00:15:00
Thu, 22 Dec 2016 00:30:00
Thu, 22 Dec 2016 00:45:00
Thu, 22 Dec 2016 01:00:00
Thu, 22 Dec 2016 01:30:00
Thu, 22 Dec 2016 02:00:00
Thu, 22 Dec 2016 02:30:00
Thu, 22 Dec 2016 03:00:00
Thu, 22 Dec 2016 03:30:00
Thu, 22 Dec 2016 04:00:00
Thu, 22 Dec 2016 04:30:00
Thu, 22 Dec 2016 05:00:00
Thu, 22 Dec 2016 06:00:00
Thu, 22 Dec 2016 07:00:00
Thu, 22 Dec 2016 08:00:00
Thu, 22 Dec 2016 09:00:00
Thu, 22 Dec 2016 10:00:00
Thu, 22 Dec 2016 11:00:00
Thu, 22 Dec 2016 12:00:00
Fri, 23 Dec 2016 12:00:00
Sat, 24 Dec 2016 12:00:00
Sun, 25 Dec 2016 12:00:00
Mon, 26 Dec 2016 12:00:00
Tue, 27 Dec 2016 12:00:00
]"

Важливо:
- Не використовувати Rails фреймворк;
- Весь код має бути на гітхабі з інструкціями та прикладами вхідних та вихідних даних.

Рекомендовані ресурси для вивчення RubyOnRails:
http://guides.rubyonrails.org/
https://www.codeschool.com/
http://railsforzombies.org/

Чекаємо на Вашу відповідь до 16 cічня включно.
Будуть питання - звертайтеся.

Бажаємо успіхів :)
Аноним 26/01/17 Чтв 22:27:22 #72 №920062 
>>920053
>продовжуємо професійно розвивати студента - допомагаємо максимально швидко просуватися від позиціі junior до middle, згодом до senior;

Не забивай трел этим говном, пожалуйста, спасибо.
Аноним 26/01/17 Чтв 22:52:46 #73 №920079 
>>916183 (OP)
Анонас, хелпани чем сможешь, вопрос жизни

https://toster.ru/q/391272

Создал тему на тостере, дабы не засорять харкач множеством букоф
Аноним 27/01/17 Птн 00:07:07 #74 №920104 
>>920079
там ajax, просто рубями не решить
phantomjs
Аноним 27/01/17 Птн 00:11:45 #75 №920106 
>>920079
хотя сейчас нагуглил http://watir.github.io/
Аноним 27/01/17 Птн 00:30:41 #76 №920111 
>>920106
я не догнал, как на нем отправить именно тот запрос, что мне нужен, ибо урл страницы статический, а что отвечает за изменение картинки?
но все-равно спасибо, мб разберусь
Аноним 27/01/17 Птн 00:32:29 #77 №920113 
>>920106
а, понял, он эмулирует браузер, но хз смогу ли я реализовать цикл перебора каждой странички из каталога с использованием этого гема..
Аноним 27/01/17 Птн 00:35:11 #78 №920114 
>>920097
Двачую этого. У нас в Минске тоже есть контора. Набирает бесплатно на курсы студиосов, а потом дает контракты на 5 ЕБАНЫХ ЛЕТ. Я ожно охуел и никогда бы не поверил что такое бывает. За 5, да и за 3 года ты превратишься в тупого безвольного биоробота в таких бодишопах, сужу по своим знакомым. Мог устроиться джавамартыхой, но там было направление и по рубям. С другой стороны курсы были достаточно анально-сложные и мне много чего дали т.к. все задания я делал сам и без копипиздинга. Рекомендую пройти курсы, но потом наебать их и не устраиваться.
Аноним 27/01/17 Птн 01:35:22 #79 №920145 
>>920114
Куда в минске не в бодишоп идти? Заебали бодишопы, сам работаю уже третий год в таком, заебала эта потогонка. Опыта лет 8.
Аноним 27/01/17 Птн 01:51:00 #80 №920148 
>>920145
Epam :D
ROFL
Аноним 27/01/17 Птн 02:20:05 #81 №920151 
>>920145
Куда в минске не в бодишоп идти? Заебали бодишопы, сам работаю уже третий год в таком, заебала эта потогонка. Опыта лет 8.
Поясни-ка анончик почему сидишь там? В епаме галеришь? Мои друзья с амбициями отвесловали по году и потом свалили нафиг, кто фрилансить, кто к буржуям на удаленку. Один задрочил немного дойч и релокейтнулся туда, правда он 3 года до этого батрачил. Остались только те, кому вроде и похуй, потому что на тыщу можно жить как Лукашенко припеваючи.
Аноним 27/01/17 Птн 02:22:12 #82 №920152 
>>920151
>
отклеилась
мимокрокодил 27/01/17 Птн 13:28:19 #83 №920262 
сап, Рубач. вопрос -- кто-нибудь юзал гем Draper? пытаюсь его заюзать, дабы написать декораторы и не засырать вьюхи говном типа
<% if @user = current_user %>
<%= link_to 'Edit', edit_post_path(post) %>
<% end %>
Но, выкидывает NoMethod.
http://stackoverflow.com/questions/41871902/undefined-method-link-to-edit-using-draper-decorator
собсна сам вопрос, многабукоф.
Аноним 27/01/17 Птн 14:50:20 #84 №920283 
>>920262
А у меня смежный вопрос - зачем для декорации гем? Я не иронизирую, типа "че слабо самому декоратор сделать", мне интересно, действительно он дает больше и лучше чем PORO? сам декораторы никогда не юзал
Аноним 27/01/17 Птн 15:00:42 #85 №920289 
>>920283
ну, в принципе, можно и нативные хелперы заюзать или SimpleDelegator. а по гему я посмотрел, у него вообще обширные проблемы с пятой рельсой. придется таки ручками свои хелперы писать
Аноним 27/01/17 Птн 15:12:20 #86 №920291 
>>920289
А что сделать-то нужно?
Аноним 27/01/17 Птн 15:41:47 #87 №920302 
>>920289
Всё верно. Декораторы не нужны. Будешь как дурной проверять везде "декорированный или недекорированный???". Просто хелперы юзай.
Аноним 27/01/17 Птн 15:48:28 #88 №920305 
14782930450183.jpg
Научите, как использовать во вьюхах методы.

Например, в модели есть метод set_admin, который делает юзера админом. Через консоль отлично работает, в духе User.find(1).set_admin .
Если вставить во вьюху что то вроде
<%= link_to @user.set_admin %>, юзер будет становится админом при каждом заходе на его страницу.
Проблему решил через добавление в контроллер метода, который вызывает метод из модели, а потом прописал его в routes. Можно это было сделать как нибудь попроще, как в первом варианте, например, но по клику на ссылку? Зачем плодить методы?

Ну да ладно, это хотя бы работает.

В модели есть метод set_moder(section), который делает юзера модератором определённого раздела. Опять же, через консоль прекрасно работает, через консоль, а как заставить это работать через view нет идей.
Аноним 27/01/17 Птн 15:52:52 #89 №920306 
Снимок экрана2017-01-2714-51-51.png
посоны, всем суп и два чаю. такой вопрос. есть класс Storage, у него есть пустой хеш, в котором хранится префиксное дерево. также есть метод `add`, который принимает строку как параметр и формирует из этой строки префиксное дерево, которое сохраняется в этот хэш. вопрос -- нужно запилить методы `find(string)`, которые будут возвращать все строки, что начинаются с переданного префикса, и `contains?`, к-рый возвращает true, если слово содержится в дереве, и false в противном случае. эни хэлп вуд би вери апрещиэйтед.
Аноним 27/01/17 Птн 15:54:25 #90 №920308 
>>920305
use the helpers, Luke!
Аноним 27/01/17 Птн 16:06:04 #91 №920313 
>>920305
Через view вообще ничего "работать" не должно. Вьюха только показывает. Учи SOLID.
Аноним 27/01/17 Птн 16:08:30 #92 №920316 
14855044377730.jpg
>>920308
Всё равно, в view работает при заходе на страницу, а не при нажатии на ссылку, как задумывалось
Аноним 27/01/17 Птн 16:10:23 #93 №920317 
>>920306
да, вопрос так и не уточнил. может кто-то прояснить нубу внятный алгоритм для поиска по префиксному дереву, что у нас сформировалось?
Аноним 27/01/17 Птн 16:12:01 #94 №920320 
14807158604430.jpg
>>920313
Вьюха показывает ссылку, действие на которой срабатывает при заходе на страницу, а не после нажатия. Понимаю, что вопросы нубские, но прошу указать на ошибки, или хотя бы куда гуглить.
Аноним 27/01/17 Птн 17:11:30 #95 №920340 
>>920320
Блин, вопрос настолько уебанский, что меня аж подмыло написать об этом.
Дело не в том, что он нубский, а в том, что ты совершенно не хочешь знать как это работает - тебе вообще похуй, ты даже на секунду похоже не задумался, у тебя одна проблема "срабатывает при рендере". Почему это так происходит, тебе просто похуй.
Аноним 27/01/17 Птн 17:37:28 #96 №920348 
trie.png
>>920306
ребят, UPD: префиксное дерево строится правильно, но это просто дерево. необходимо чтобы каждый узел дерева мог быть либо промежуточным, либо конечным. пикрелейтед. помогите, пожалуйста, с алгоритмом (изначальный код в посте на который отвечаю пикрелейтед)
Аноним 27/01/17 Птн 17:40:23 #97 №920350 
>>920348
UPD(2): синим обозначены конечные узлы, серым -- промежуточные
Аноним 27/01/17 Птн 17:44:51 #98 №920351 
6266a0c81b.jpg
>>920340
Укажи мне куда смотреть и следующий раз я не буду задавать глупые вопросы. Я еще не накопил того багажа знаний, что бы делать эти действия интуитивно. В большинстве обучающих материалов, что мне попадались, автор больше занят самолюбованием, чем понятными объяснениями. Как будто их пишут не для новичков, а для профессионалов, которые это и так знают.
Аноним 27/01/17 Птн 17:57:18 #99 №920354 
>>920351
Ну так а почему ты спрашиваешь почему у тебя при заходе сетадмин срабатывает, почему ты не спрашиваешь, как работает link_to? Бля, да как ты вообще додумался вызывать метод при рендере и удивляться, а почему это у меня метод срабатывает
Аноним 27/01/17 Птн 18:10:14 #100 №920362 
Кто-нибудь Shrine пользовался? Аплоад срет в кеш кучу файлов, можно ли убрать этот кэш или сделать чтобы он очищался джоба?
Аноним 27/01/17 Птн 18:16:35 #101 №920364 
14775651266821.jpg
>>920354
Зачем ты тратишь своё время на то, что бы объяснить мне какой я мудак? Я к этому могу и без тебя прийти. Лучше потрать своё время и дай ссылку на то, как это работает, или объясни своими словами
Аноним 27/01/17 Птн 18:56:05 #102 №920381 
>>920362
>Shrine
О, новый гем узнал. По описанию интересный.
По поводу кеша помню с кэривейвом была проблема в том, что файлы загруженные, но так и не засабмиченные, оставались в кеше. Поставил крон-таск чистить раз в сутки.
Аноним 27/01/17 Птн 18:56:15 #103 №920382 
>>920364
>Лучше потрать своё время
Ты думаешь здесь бесплатные репетиторы сидят?
Вот тебе: http://guides.rubyonrails.org/
Дальше сам.
Аноним 27/01/17 Птн 18:59:54 #104 №920384 
>>920348
Я твой код не запускал, но из того, что понял - у тебя не дерево же получается, а плоский хэш с буквами в ключах и {} в значении. Разве нет?
Аноним 27/01/17 Птн 19:04:50 #105 №920389 
Снимок экрана2017-01-2718-04-03.png
>>920384
по сути, получается дерево, но без конечных или промежуточных узлов. если короче, попробуй запустить
пикрелейтед, так покороче будет.
Аноним 27/01/17 Птн 19:13:54 #106 №920395 
>>920382
Тебе не лень покрыть меня хуями, но лень указать на ошибку. Ты ведь бесплатно учишь меня жизни, хотя я этого не просил.

Почему программисты такие высокомерные? Зачем вам надо доказывать, что вы лучше остальных? Это потому, что все остальные ставят это под сомнение? Я вот 3дшник, когда учил макс тоже задавал тупые вопросы, на форуме меня крыли хуями, но указывали на ошибки и говорили куда копать. Прошло несколько лет, и уже я показываю неокрепшим умам что делать. И знаешь, один раз покрыв их хуями они возвращаются с тупыми вопросами снова и снова, а один раз указав нубу на его ошибку, очень часто он вкатывается в тему и больше не задаёт тупых вопросов.

Читаю описание link_to: "создает гиперссылку, на основе текста для отображения и указания куда перейти". В моём понимании это выглядит как то, что мне надо -- гиперссылка для некоего действия. Но работает оно как то иначе.
Я не прошу быть моим репетитором, я прошу лишь написать "Чувак, то, что ты делаешь работает не так, то, что ты хочешь сделать делается через @функциянейм"

>>920308
>use the helpers, Luke!
Вот так было бы норм
Аноним 27/01/17 Птн 19:15:53 #107 №920398 
То чувство, когда попал в питон тред.
Аноним 27/01/17 Птн 19:23:11 #108 №920409 
>>920395
Я тебя не крыл ничем, нас здесь больше двух.
Пока гайды не прочитаешь и не поймёшь - можешь сюда не возвращаться. Потому что ты задаешь вопросы человека с улицы. Базовые вещи, которые везде давно написаны и все их знают. Это как прийти на форум лингвистов и спрашивать какая буква идёт после буквы А в алфавите. Только поэтому тебя накрыли хуями.
Аноним 27/01/17 Птн 19:33:28 #109 №920420 
14782930450010.jpg
>>920409
Правильный ответ на форуме лингвистов будет "Буква Б. А что бы не задавать глупых вопросов, погугли Алфавит и Буквы". А ты вместо этого даёшь ссылку на трёхтомник "Лингвистика для поступающих в ВУЗы", в котором есть ответы на все вопросы, но я, как новичек в этой сфере банально путаюсь в терминах и не могу найти ответ. Гайдов я перечитал сотни, зачастую в них раскрываются ответы на множество вопросов, которые возникнут потом, но подразумевается, что человек уже понимает основы. Это как если бы в гайде по ходьбе рассказывались тонкости подъёма на Эверест, и особенности постановки ступни при марафонском беге.

И да, я уже давно не тратил бы ваше и своё время, если бы вы потратили время не на едкие замечания, а на один конструктивный ответ
Аноним 27/01/17 Птн 19:38:53 #110 №920424 
do1.jpg
>>920395
Тот анон хоть и напрасно сокрушается, но в целом прав. С точки зрения педагогики не существует глупых вопросов и все такое, но с точки зрения двачематики бывают вопросы на которые кто-то захочет ответить, а бывает нет. Второй случай чаще всего случается когда вопрос не глупый, а некорректный.

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

В целом тут все лояльные и дружелюбные. Не парься и спрашивай свои ответы еще, только удели побольше внимания формулировке и сути вопроса. В правильном вопросе лежит больше половины ответа.

Задавал десятки вопросов и отвечал на столько же здесь и по всему /pr/ и всегда получал свои ответы -кун
Аноним 27/01/17 Птн 19:42:28 #111 №920425 
14782930450132.jpg
>>920424
Мой вопрос был задан в первом посте -- как вызвать метод по клику на ссылку (нажатию на кнопку, etc).
Аноним 27/01/17 Птн 19:47:45 #112 №920428 
>>920395
Да потому что вопрос был уебанский, никакого высокомерия. Рельсы бесячие, как по мне, в плане своей магии, но тебя это не смущает, ты просто пишешь
>link_to @user.set_admin
и ждешь что это должно работать. А как оно по твоему должно заработать, вот скажи? Что эта запись должна сделать с твоей точки зрения?

>создает гиперссылку, на основе текста для отображения и указания куда перейти
Вот ты написал
>link_to @user.set_admin
и где здесь указание текста, а где путь, куда перейти?

Часто можно видеть записи типа
link_to 'Product', @product
Со мной многие не согласятся, но я считаю, что это зло. На самом деле это тоже самое что
link_to 'Product', product_path(@product)
просто рельсы "магическим" образом догадываются, что нужно использовать product_-хелпер.
Но это тоже хуйня не очень понятная. На самом деле это то же самое, что
link_to('Product', product_path(id: @product.id))
#=> <a href="/product/42">Product</a>
Рельсы опять же "догадываются", что по умолчанию нужно для подстановки параметра в путь использовать id.

Что происходит в твоем случае не понятно, должна вообще-то быть ошибка.
Если ты хочешь сделать действие типа "сделать админом/модератором/и тп", то может быть несколько способов. Правильным будем считаться обновление записи через форму, и форма при этом должна использовать POST-запрос.
Если хочется сделать это в виде ссылки, то можно использовать рельсовые плюшки. В рельсах можно написать так
link_to('title', path, {method: :post})
И рельсы создадут запись типа
<a href="path" data-method="post">title</a>
И пропатченный рельсами jquery обработает клик по такой ссылке и пошлет post-запрос.

Куда и с каким данными слать такой запрос - решать тебе.

Можно сделать как-то так:
class UsersController
def update
@user = User.find(params[:id])
@user.update(params)
end
end

link_to "Сделать админом", update_user_path(@user, role: 'admin'), method: :put
Аноним 27/01/17 Птн 20:06:42 #113 №920440 
>>920425
А вы настойчивый молодой человек. Хорошо, смотри.

По клику на ссылку нельзя вызвать метод. Ссылка находится предположение 1 в html файле в браузере пользователя. Там в принципе могут быть методы JS, но предположение 2 тебя скорее всего интересуют методы на стороне сервера, раз уж ты в Руби треде.

Метод на стороне сервера может быть вызван многими методами, но чаще всего и скорее всего в твоем случае предположение 3 методы вызываются в ответ на запрос со стороны клиента.

Чтобы получить от сервера ожидаемый ответ можно сделать разные вещи, но в общем случае предположение 4 это будет запрос по определенному URL на сервере. Как правило, предположение 5 для этого нужно создать обработчик пути в routes.rb и создать контролер с экшеном, которые на него ответят.

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

Я сыграл роль экстрасенса и сделал кучу предположений, написал стену спорного текста, не получил от этого почти никакой сатисфакции и скорее всего не дал тебе исчерпывающего ответа. Теперь понимаешь, почему важно задать вопрос правильно? На корректный пусть и корректный вопрос быстро ответит даже гугл, а на некорректный весь тред будет бугуртить, но ответ будет отстойный. Не списывай это на высокомерие, это будет действительно недалекостью.

Аноним 27/01/17 Птн 20:24:46 #114 №920452 
14775649911760.jpg
>>920428
>А как оно по твоему должно заработать, вот скажи? Что эта запись должна сделать с твоей точки зрения?
В самом первом посте с сиськами я написал, что я жду от этой записи.
>и где здесь указание текста, а где путь, куда перейти?
Да, тут мой косяк, писал по памяти, там на самом деле <%= link_to "Сделать админом", @user.set_admin %>
Но это всё равно работает так, как я описал - не по клику на ссылку, а при заходе на страницу. И как раз вот это и непонятно -- почему действие из link_to срабатывает не по клику на ссылку, а при заходе на страницу, где эта ссылка есть. В моей логике, раз ссылка отображается, значит даже если есть ошибка, появляться она должна по клику на ссылку, но никак не до него.

Спасибо за советы, попробую через форму.

>>920440
>По клику на ссылку нельзя вызвать метод
Именно это я хотел услышать с самого начала

>для этого нужно создать обработчик пути в routes.rb и создать контролер с экшеном, которые на него ответят.
Опять же, я писал что сделал это в первом посте:
>Проблему решил через добавление в контроллер метода, который вызывает метод из модели, а потом прописал его в routes. Можно это было сделать как нибудь попроще, как в первом варианте, например, но по клику на ссылку? Зачем плодить методы?
Вопрос был в том, что раз уж метод срабатывает при заходе на страницу пользователя (а не по клику по ссылке, как задумывалось) без добавления
кшена в контроллер и без внесения изменений в routes, так может быть можно как нибудь обойтись без этого?
Аноним 27/01/17 Птн 20:32:21 #115 №920453 
efce2384a7f6ad9f8f9244a1fb62522f.jpg
>>920452
Ты хочешь чтобы в ответ на запрос по определенному адресу сервер просто вызывал твой метод минуя контроллер?
Аноним 27/01/17 Птн 20:35:15 #116 №920454 
14775952257460.jpg
>>920453
Что бы по клику на определённую ссылку(кнопку).
Сейчас он делает это по заходу на страницу где есть эта определённая ссылка
Аноним 27/01/17 Птн 20:41:38 #117 №920458 
>>920452
Анон, ты кажется ни с вебом никогда не работал, ни с программированием.
Можешь конечно пытаться задрачивать рельсы, но это будет очень неэффективно. Рельсы еще к тому же очень высокоуровневые.
Аноним 27/01/17 Птн 20:52:01 #118 №920459 
2.gif
>>920452
>Вопрос был в том, что раз уж метод срабатывает при заходе на страницу пользователя (а не по клику по ссылке, как задумывалось) без добавления
>кшена в контроллер и без внесения изменений в routes, так может быть можно как нибудь обойтись без этого?
О блядь, это пиздец! Я был прав в своем первом предположении, ты совершенно не хочешь знать, что проиходит, тебе нужно чтобы это просто заработало.
Аноним 27/01/17 Птн 20:57:15 #119 №920461 
akinator3concentrationintense.png
>>920454
Вызов метода при заходе на страницу может быть только если javascript на клиенте на событие onload генерирует ajax-запрос на твой сервер. Пропусти предыдущее предложение мимо, а следующие читай внимательно.

Нет захода на страницу. Есть сервер и клиент. Они могут делать запросы и ответы. Нет ссылок, есть адреса. Все эти штуки связаны. Теперь попробуй сформулировать вопрос в рамках этих категорий.
насчет методов во вьюхе Аноним 27/01/17 Птн 21:42:00 #120 №920481 
controller.png
2017-01-28023737.png
2017-01-28023751.png
Вот пикрилейтед говнокод? Как избежать срача в контроллере?
Аноним 27/01/17 Птн 21:43:24 #121 №920482 
>>920481
в идеале хотел бы вынести эти методы в модель
Аноним 27/01/17 Птн 22:18:01 #122 №920499 
>>920481
https://github.com/drapergem/draper
Аноним 27/01/17 Птн 22:38:23 #123 №920514 
>>920499
с 5 рельсами не работает он
Аноним 27/01/17 Птн 23:15:22 #124 №920536 
>>920481
Все не REST методы в разнести по отдельным контроллерам.
Всю логику из контроллеров вынести в сервис-обжекты, контроллеры только создают их и возвращают результат их работы клиенту.
Аноним 27/01/17 Птн 23:28:04 #125 №920550 
>>920481
А что тебя смущает, генерация в контроллере?
Вообще двачую вопрос, интересно, как это должно быть с точки зрения каноничного ООП.
>>920482
>в идеале
Как раз таки именно в идеале их там не должно быть.
>>920499
А как его тут можно использовать?
Аноним 27/01/17 Птн 23:30:59 #126 №920552 
>>920536
>Все не REST методы в разнести по отдельным контроллерам.
А зачем, если методы относятся к сущности, зачем их уносить в отдельные контроллеры?
>Всю логику из контроллеров вынести в сервис-обжекты
Но тут есть нюанс - он не только генерит файл, но еще и получает. И там и там есть логика пути к файлу и она должна быть инкапсулирована где-то в одном месте.
Аноним 28/01/17 Суб 00:39:14 #127 №920604 
>>920550
А, точно, я посмотрел последний скрин и думал вопрос про if/else говно в шаблонах.

>>920514
Это и к лучшему.
Аноним 28/01/17 Суб 13:31:18 #128 №920777 
14789115843041.jpg
>>920459
>ты совершенно не хочешь знать, что проиходит, тебе нужно чтобы это просто заработало.
О да, ты чертовски прав! Мне действительно нужно что бы это заработало, кажется я намекаю об этом с самого первого поста. И на свой уебанский вопрос я хочу получить такой же уебанский вопрос. Я не спрашиваю уебан ли я, потому, что посмел задать практический вопрос, и даже не спрашиваю как это работает. Всё, что я хочу, это получить одну строчку кода, которая позволит осуществить мне задуманное.

У тебя на скрине типичная ситуация в мире программистов -- кичится своей псевдоилитарностью, наслаждаться превосходством над другими. Единственный правильный ответ заминусован. Это максимально уебанский вопрос, который задавать крайне неуместно, но, прочитав заминусованный ответ человек будет знать с чего начать изучение. При этом он будет учить не абстрактные понятия, которые ему пригодятся после полугода кодинга, а то, что конкретно поможет ему реализовать задуманное. Когда нибудь ты будешь вкатываться в новую для тебя тему (автомобилизм, рисование и тд) и будешь тыкаться в стены выстроенные "старшими товарищами", может быть ты поймёшь о чем я. А пока можешь гордиться, ты хоть в чем то лучше остальных.

Алсо, спасибо тем, кто давал адекватные ответы по теме.
Аноним 29/01/17 Вск 01:38:29 #129 №921229 
>>920777
Если бы ты пришел и сказал, мол я ничего не знаю, меня например заставили на левом сайте одну хуйню сделать - это одно, тогда бы ни каких претензий.
Но ты хочешь "вкатиться в тему", а уважения к этой теме не имеешь.
Можно придти к математикам и попросить посчитать площадь фигуры. А можно придти и сказать, что делаешь расчетно-графическую работу и почему-то площадь треугольника через pr^2 не считается. Может если радиус посчитать не из центра треугольника она все-таки посчитается? Почему для круга площадь все-таки считается?
Конечно в этом случае будет претензия к тому, что ты взялся за серьезную профессиональную задачу, не знаком с базовыми вещами и при этом знакомиться с ними не собираешься.
Аноним 29/01/17 Вск 01:52:08 #130 №921250 
>>920777
Вон из профессии. Аноны, в следующий раз таких даунов прсто игнорим, и всё.
Аноним 29/01/17 Вск 07:26:44 #131 №921304 
Где посмотреть/прочитать про Redis и Sidekiq? Желательно с примерами для выполнения (делать самому или по гайду) и на английском
Аноним 29/01/17 Вск 10:06:53 #132 №921327 
>>921304
Они ж простые как палки, особенно сайдкик, просто прочти документацию на сайте. В случае с редисом можешь, если совсем неймется, еще прочесть The Little Redis Book, она лежит на гитхабе.
Аноним 29/01/17 Вск 10:46:29 #133 №921341 
uzn1435141862.jpg
>>921250
Это непрофессионально. Даже если он задает вопрос некорректно, всегда можно выдать ему столько же внимания, сколько он уделил формулировке вопроса. Сейчас он получил гораздо больше. Может он даже зеленый. И если это так, то те кто в этом треде столько сокрушались, от души его покормили. Именно поэтому и глупо агриться на "глупые" вопросы.

>>921304
Двачую про The Little Redis Book. Она, кстати, даже в переводе есть. А сайдкику их же вики смотри, там все исчерпывающе написано https://github.com/mperham/sidekiq/wiki#sidekiq-pro
Аноним 29/01/17 Вск 14:24:15 #134 №921448 
А в руби есть что-то вроде Object Literal Property Value Shorthand в js ?

name = 'Abu'
{name} и {name:name} эквивалентны
Аноним 29/01/17 Вск 14:32:08 #135 №921459 
>>921448
Руби - объектно-ориентированный язык, в нём нет острой нужды кидаться хэшами, соответственно нет и необходимости часто строить их вручную и использовать этот шортхэнд.
Аноним 29/01/17 Вск 14:43:52 #136 №921465 
>>921448

Из-под коробки нет, т.к. ненужно.

Технически, через метапрограммирование ты можешь узнать имя переменной и её значение; т.е. ничего не мешает написать говняшку которая будет разворачивать name в name:name в сеттере, а остальное время тупо делегировать вызовы в хэш.
Аноним 29/01/17 Вск 18:53:08 #137 №921601 
14787316341150.png
>>921229
>Если бы ты пришел и сказал, мол я ничего не знаю
Я именно это и сказал. У меня есть задача, которую мне надо решить, не для какого нибудь левого сайта, а для своего, которым я занимаюсь в свободное от основной работы время.
У меня возникла проблема и я попытался решить её своими же силами. Когда это не получилось я пришел сюда.
Я не собираюсь становиться профессиональным программистом, просто для моей основной деятельности сейчас нужен этот сайт.

>Можно придти к математикам и попросить посчитать площадь фигуры. А можно придти и сказать, что делаешь расчетно-графическую работу и почему-то площадь треугольника через pr^2 не считается. Может если радиус посчитать не из центра треугольника она все-таки посчитается? Почему для круга площадь все-таки считается?
Можно ответить, что площадь треугольника считается через 1/2ah, а вы вместо этого уже который пост рассказываете мне, какой я охуевший мудак, раз пытаюсь посчитать через другую формулу, и вообще с таким отношением в математику не надо. Да мне и не надо в математику, мне площадь посчитать.

>>921250
>Вон из профессии
Даун, я хоть где то упомянул, что это моя профессия? Может быть я написал, что зарабатываю этим деньги? Еще раз, я делаю сайт для себя, моя основная профессия связана с программированием лишь относительно (майский MEL).

Да, наверное я неправильно оперирую терминами, возможно у меня нет до конца понимания как это работает. Оно появится только после некоторого времени практики. Можно одной строчкой указать мне в какую сторону смотреть, я хотя бы буду знать что искать. Вы же рассказали мне, что я не программист, что я ничего не шарю в вебе, что я не профессиональный рубист и что я не умею в производство сайтов. А теперь подумайте, что из этого я не знал, задавая вопрос тут? И что из ваших ответов я смогу вынести для себя? Я даже нагуглить не смогу что надо. Читать мануалы с нуля по порядку? Я получу кучу новых терминов, множество абстрактной теории и никакой связи с практикой. Потом приду сюда же и буду задавать уебанские вопросы с красивыми терминами.
Аноним 29/01/17 Вск 22:04:41 #138 №921736 
>>921229
>придти
просто придди нахуй, довен
Аноним 29/01/17 Вск 23:09:54 #139 №921750 
>>921465
Понятно, интересовало именно есть ли в самом языке такая фича.
Аноним 30/01/17 Пнд 03:00:06 #140 №921810 
оппаньки, тред руби-пидоров
как сосется маньки ?
Аноним 30/01/17 Пнд 03:16:25 #141 №921813 
>>921601
Пиздуй нахуй отсюда, говно. Тебе тут не рады.
Аноним 30/01/17 Пнд 17:59:19 #142 №922182 
>>922144

> лучший веб-фреймворк

я тоже очень люблю ActiveRecord
Аноним 30/01/17 Пнд 18:39:00 #143 №922245 
>>920306
котятки, таки осилил это сраное префиксное дерево. прошу обсырать :3 https://github.com/baka-gaijin-hakka/trie_storage
Аноним 30/01/17 Пнд 21:31:40 #144 №922460 
>>922245
https://github.com/baka-gaijin-hakka/trie_storage/blob/master/lib/trie_storage.rb#L28

Замени на
!!subtree && subtree[:final]

https://github.com/baka-gaijin-hakka/trie_storage/blob/master/lib/trie_storage.rb#L15

Изменять таким образом параметры - хреновая практика.


Алсо, вместо if words.size.zero? можно было написать if words.empty?

https://github.com/baka-gaijin-hakka/trie_storage/blob/master/lib/trie_storage.rb#L17

Плохое название для переменной. У тебя есть функция с таким же названием. А может быть плохое имя для функции?
Аноним 30/01/17 Пнд 21:39:51 #145 №922468 
>>922460

> Замени на
> !!subtree && subtree[:final]

Когда даешь подобные советики, уточняй: комьюнити не адабряет https://github.com/bbatsov/ruby-style-guide#no-bang-bang
Аноним 30/01/17 Пнд 21:48:39 #146 №922482 
>>922468

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

Достаточно возвращать subtree && subtree[:final]


Аноним 30/01/17 Пнд 22:06:37 #147 №922515 
>>922482
>Однако, метод оканчивающийся на ? не обязательно должен возвращать false или true.

За такое у нас в коворкинге убивают нахуй.
Аноним 30/01/17 Пнд 22:07:06 #148 №922516 
>>922482

> В данном случае же оно мастхэв

нет, (a && a[:elem]) и (!!a && a[:elem]) и то, и то -- это предикаты. Поскольку логические операции возвращают булевы значения не зависимо от типа операндов. Раз уж он действительно хочет вернуть булево значение.
Аноним 30/01/17 Пнд 22:45:25 #149 №922582 
>>922515
Потому что варвары. Вы что там, проверяется var == false?
>>922516
> '' && 1
=> 1

Аноним 30/01/17 Пнд 22:50:00 #150 №922591 
>>922582

окей, но и (!!1 && 1) => 1
Аноним 30/01/17 Пнд 22:57:14 #151 №922602 
>>922591
Вынеси !! за скобки, зануда
Аноним 30/01/17 Пнд 22:59:21 #152 №922607 
>>922602

за скобками это и правда другой контекст.
Аноним 31/01/17 Втр 04:43:06 #153 №922796 
14837375142550.png
Помогите с регулярками позязя :3
{
"class": "Fixed",
"methods": [
"new",
"create"

],
"class": [
"",
""
]
}
нужно заматчить выделенный кусок в мультилайн моде и только его, рубулар весь день замучил
Аноним 31/01/17 Втр 07:10:39 #154 №922810 
Антоши, помогите решить задачу!
Есть две модели

Class Movie
has_many :posters
end

Class Poster
belongs_to :movie
has_attached_file :file, styles: { mediud: "300px 300px" }
end

Суть: реализовать метод, который бы принимал Movie, копирал все его свойства и вложенные обьекты (вместе с прикрепленным пэперклипом файлом) и сохранял бы его в бд. С чего начать,
Аноним 31/01/17 Втр 08:54:03 #155 №922819 
>>922796
Написал на колене в метро. Надеюсь, что оно сработает для Вашего случая.

"new"(\s|\n),(\s|\n)"create"
Аноним 31/01/17 Втр 09:09:28 #156 №922837 
>>922819
Ебучее форматирование

`"new"(\s|\n),(\s|\n)"create"`
Аноним 31/01/17 Втр 09:15:49 #157 №922844 
>>922837

Блять, охуенный синтаксис.

&#x22;&#x6E;&#x65;&#x77;&#x22;&#x28;&#x5C;&#x73;&#x7C;&#x5C;&#x6E;&#x29;&#x2A;&#x2C;&#x28;&#x5C;&#x73;&#x7C;&#x5C;&#x6E;&#x29;&#x2A;&#x22;&#x63;&#x72;&#x65;&#x61;&#x74;&#x65;&#x22;
Аноним 31/01/17 Втр 09:22:35 #158 №922849 
>>922844

"new"(\s|\n),(\s|\n)"create"
Аноним 31/01/17 Втр 09:35:30 #159 №922852 
Анончики, поясните необучаемому за МЕТОДЫ И БЛОКИ.

Читаю главу в книге про методы и блоки, изначально автор говорил, что блок можно вызвать в методе через call и передав блок в аргументе метода. Потом рассказал про yield

Например:

[code]
def myMethod
yield
end

myMethod d
puts "Hello world!"
end
[/code]
Тут я смекнул, что главное чтобы блок назывался так же как и метод, тогда yield его просто находит и вызывает.
Но я не пойму, как работают такие вызовы из блока:

[code]
File.open("sample.txt") do |file|
contents = file.readlines
end
[/code]

Или например такой:

[code]
[1, 2, 3].each { |number| sum += number }
[/code]
Аноним 31/01/17 Втр 09:39:32 #160 №922854 
Screen Shot 2017-01-31 at 9.38.08 AM.png
>>922837

А, черт с ним. Вот пикчей + упростил.
Аноним 31/01/17 Втр 11:07:05 #161 №922878 
>>922460
первый совет оставлю так, как есть у меня, по поводу остальных двух -- аригатошенька годзаймаста, сейчас поправлю
Аноним 01/02/17 Срд 07:30:50 #162 №923631 
Тут есть sidekiq гуру? Отпишись на почту [email protected] Нужна небольшая теоретическая помощь по одному вопросу, и если твой ответ мне поможет, закину сотку тебе на телефон

Аноним 01/02/17 Срд 12:43:32 #163 №923767 
>>923631
Анончики, объясните, почему все так дрочат на сайдкик, почему везде знание сайдкик, опыт с сайдкик, почему кругом нужна какая-то помощь по сайдкику?
За мою практику как-то не довелось с ним поработать, не было какой-то острой нужды именно в нем, но работал с ActiveJob и использовал delayed_job как адаптер. Просто реализация очереди задач, ничего сверхестественного. Откуда дроч и в чем проблема?
Аноним 01/02/17 Срд 13:25:52 #164 №923790 
Ребяты, есть тут те кто уже работает руби-ниндзей? Накидайте ваших тасков, хочется посмотреть с чем обычно имеют дело рубаны. Хочу понять, нужно ли мне это дерьмо или нет.
Аноним 01/02/17 Срд 13:35:05 #165 №923797 
>>923767
он быстрее гораздо и легче + многопоточный
но с ним можно заебаться
https://gurudathbn.wordpress.com/2015/05/19/sidekiq-vs-delayed-job-comparison/
Аноним 01/02/17 Срд 15:11:25 #166 №923864 
>>923790
Присоединяюсь к реквесту. Расскажите, что делаете.
Аноним 02/02/17 Чтв 12:35:08 #167 №924598 
Гайз, поясните разницу плиз между юникорном и пумой. Я так понимаю, юникорн плодит рейлс процессы а пума держит минимум процессов но насилует их в несколько потоков?

В чем разница в скейлинге? Первичный гуглеж мало чего дал, а прямо глубоко разбираться влом.
Аноним 02/02/17 Чтв 22:27:27 #168 №925010 
Есть ли среди вас те, кто посещает всякие конфочки? Я имею в виду irl-мероприятия с выступлениями там всякими. Эти выступления потом все равно выкладываются в общий доступ, или там бывает что-то такое, что обязательно нужно послушать живьем? Стоит ли платить деньги за билетик?
Аноним 02/02/17 Чтв 23:49:41 #169 №925080 
>>923797
Я довольно хорошо знаю чем они отличаются.
Мой вопрос, почему все постоянно носятся с какими-то вопросами по сайдкику и почему в вакансиях просят опыт?
С точки зрения рельсовика вообще без разницы что там - он с ActiveJob работает.
Аноним 02/02/17 Чтв 23:55:29 #170 №925089 
>>924598
Хороший вопрос.
Я знаю одно отличие - юникорн запускает один воркер на процесс. Пума умеет запускать воркеры в потоках (ее поэтому очень рекомендуют использовать с jruby). Если запускать в один поток, то она работает так же как юникорн. Встречал разные тесты, нигде пума не проигрывает, скорее выигрывает, если использует многопоточность.
Но знаю, что некоторые упорно используют юникорн. Видимо есть еще какие-то отличия?

Алсо, а кто может пояснить, почему потоки в руби типа "ненастоящие"
Аноним 02/02/17 Чтв 23:56:10 #171 №925090 
>>925010
Все выкладывается. Посещают малолетние долбоебы и пиарщики. Ну и "фаундеры" бабло стригут.
Аноним 02/02/17 Чтв 23:58:15 #172 №925093 
>>923767
Рельсы умирают. Галера набрала рельсовиков и не знает, что с ними сейчас делать - нет задач. Часть перекинули на java разгребать, лол, часть пойдет дворы подметать.
Аноним 03/02/17 Птн 00:05:23 #173 №925097 
d24c88ebe5ab0e8ca348273ec08ca421.jpg
>>925093
>Рельсы умирают
вот это поворот. как же они обосрались...
Аноним 03/02/17 Птн 04:58:42 #174 №925184 
>>916183 (OP)
Анонасы, хелпаните

https://toster.ru/q/391272
Аноним 03/02/17 Птн 06:37:24 #175 №925204 
>>925010
Посещают не ради информации, а ради новых потенциально полезных знакомств.

Аноним 03/02/17 Птн 06:37:57 #176 №925205 
>>925184
>toster
Ну пиздец. Не позорься.
Аноним 03/02/17 Птн 11:22:57 #177 №925272 
Selection050.png
>>925184
Привет, Вадик!
Аноним 03/02/17 Птн 11:30:42 #178 №925274 
>>925089
Уже разобрался.
Юникорн использует функциональность юникс систем, где на одном сокете может дохуя процессов сидеть. В итоге он плодит процессы на одном сокете, согласно настройкам, при этом он не скачивает запросы сам в мастер процессе, а позволяет напрямую установить соединение между собой и процессом рек-приложения, что ведет к длительному бездействию при загрузке тяжелых файлов клиентом или при медленном интернете клиента. Для того чтобы такой хуйни не было, перед юникорном ставят Nginx

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

То есть в данный момент именно пума - для пацанов. Ну и пессенжер, вроде
Аноним 03/02/17 Птн 11:34:16 #179 №925275 
>>925089
Потоки в MRI ненастоящие, потому что в один момент времени в реальности выполняется только одна команда (если простым языком), а сам интерпретатор не параллелится. Особой разницы в том чтобы плодить треды в такой ситуации нету.
Аноним 03/02/17 Птн 12:39:59 #180 №925331 
y-73jjXol7Y.jpg
>>925272
Помоги плиз, с меня порево, как мои кенты жарят меня в очко
Аноним 03/02/17 Птн 14:25:24 #181 №925392 
>>925274
Nginx де факто всегда ставят перед параллельными веб-серверами. То есть обычно не будет иметь значения скачивается ли пумой предварительно запрос.
Но что значит, что пума скачивает запрос? То есть она может напарсить больше запросов, чем воркеров в пуле занимается их обработкой? И якобы безболезненно обсулживать медленные запросы, не стопоря воркеры? Впервые услышал, где можно почитать?
Вообще очень странно звучит - чтобы запрос ушел в rack он же уже должен быть прочитан и распаршен по идее. Не понимат.

>>925275
>в один момент времени в реальности выполняется только одна команда
Только один поток, если точнее, так? То есть это равносильно утилизации только одного ядра?
Аноним 03/02/17 Птн 15:22:49 #182 №925445 
>>925392
В смысле всегда?
Все зависит от того, что ты хочешь от него получить и как настроить. Это не какой-то карго-культ, что у нас должен быть nginx и похуй на все остальное
>Но что значит, что пума скачивает запрос?
Значит, что у нее своя очередь запросов и она может качать отправляемые файлы с клиента, пока другой клиент шлет ей JSONчики, например. То есть обработка запроса клиента не блочит ни один поток или процесс, пока реквест не скачан полностью.

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

>чтобы запрос ушел в rack он же уже должен быть прочитан и распаршен по идее. Не понимат

Ну, если у тебя вебрик (или юникорн без nginx), то у тебя экземпляр вебрика или процесс юникорна коннектится напрямую к клиенту, начинает принимать данные с клиента и хотя обработка запроса еще не дошла до рельсы, прием данных блочит процесс.

Ну, я так понял, по крайней мере. Вот статейка.
https://www.speedshop.co/2015/07/29/scaling-ruby-apps-to-1000-rpm.html
Аноним 03/02/17 Птн 15:24:25 #183 №925448 
>>925392
>Только один поток, если точнее, так? То есть это равносильно утилизации только одного ядра?


Типа того. Называется это глобальным локом интерпретатора. (GIL)
Аноним 03/02/17 Птн 18:22:12 #184 №925578 
>>925204
И как там это происходит? Тип я пришел такой на конфочку и подхожу там к рандомным людям, "Привет, как тебя зовут, давай дружить)))))))))" лол, ну если серьезно. Понятно, что спикера люди сами найдут, а если обычный слушатель?
Аноним 03/02/17 Птн 18:58:54 #185 №925614 
>>925578
Ну люди задают там вопросы, можно в перерывах до них доебаться, подискутировать, обменяться контактами, могут быть представители каких-то интересных компаний, можно что-то у них спросить. Как-то так
Аноним 03/02/17 Птн 19:04:27 #186 №925620 
>>925614
Не ВАК-очевидный ответ.
Аноним 03/02/17 Птн 19:49:31 #187 №925666 
>>925578
Это такая скрытая гей-сходочка под прикрытием конференции.
Аноним 03/02/17 Птн 22:58:14 #188 №925907 
>>925578
Смотри. Подходишь к группе людей, которые что-то обсуждают и слушаешь с умным видом. Чуть-чуть вникаешь в тему. Потом, как только в их обсуждении возникает пауза, задвигаешь свою телегу, типа "вообще-то то-то и то-то" или "на самом деле все не так". Дальше смотришь по ситуации.
Аноним 04/02/17 Суб 00:28:57 #189 №925987 
>>925578
Хуйня. Туда как раз и ходят такие прыщавые третьекурсники с галер, якобы "за знакомствами". Думают, наивные, что их сразу в гугл возьмут. Ну или хоть в галеру получше. Ведь они такие умные.
Аноним 04/02/17 Суб 00:31:35 #190 №925990 
>>925907
А дальше? Предположим беседа удалась.
Аноним 04/02/17 Суб 00:33:54 #191 №925992 
>>925990
Выбираешь понравившегося и ведешь в кабинку в туалете. Дальше все зависит от твоих способностей работать ртом. Так называемые "soft skills". О деталях уточняй у своей мамки.
Аноним 04/02/17 Суб 01:02:17 #192 №926012 
В некоторых MVC фреймворках не рельсы, а иногда и не руби есть отдельные папки для вью и шаблонов. У меня очень узкий кругозор и вообще бедный бэкграунд. Чем это разделение обосновано?
Аноним 04/02/17 Суб 01:06:57 #193 №926014 
>>926012
Тем что верстальщики правят файл по FTP.
Аноним 05/02/17 Вск 12:49:07 #194 №926993 
>>923790
>>923864
Пилю сайт с рефералками для сетевого маркетинга. Из сложного для меня - реализация иерархического хранения данных и куча действий с определенными данными.
Еще немного страдаю от того, что разнес пользовательские данные по разным таблицам. Типа users, profiles и даже accounts. Джоинов дохуя.
Смс-валидацию фром скретч запилил.

В остальном обычный круд с модификациями
Аноним 05/02/17 Вск 13:59:24 #195 №927025 
>>926993
Расскажешь как смс-валидацию запили. Я уже в 3-х проектах ее делал, каждый раз пытаясь улучшить и все равно не нравится - не самая простая задача на самом деле.
Аноним 06/02/17 Пнд 15:06:37 #196 №927624 
Парни, помогите!
Я в шаге от того, чтобы получить работу!
В-общем, суть такова - исползуя гем doorkeeper (Oauth2), я посылаю запрос на авторизацию на стронний сайт. С этого сайта я получаю Json. извдекаю access token, Затем этим токеном я отправляю еще один запрос - как результат мне прилетает джсон со списком обьектов
1)Как распастит ответный джисон, чтобы сохранить все лбьекты в модель
2) куда поместить весь этот процесс посыла запросов? у меня он в отдельной папке в лию директоиии и запускается через консоль ruby filename.rb
sageАноним 07/02/17 Втр 14:55:54 #197 №928184 
>>927635
У меня получилось вытащить ответ запроса. Теперь к ак мне сохранить итемы из этого запроса в модели? В директории Lib не работает. Надо модулем передать в контроллер?
Аноним 08/02/17 Срд 00:13:24 #198 №928450 
>>928184
Лол, что ты несешь? На какую работы ты там устраиваешься?
Аноним 08/02/17 Срд 00:37:33 #199 №928456 
>>928450

Повангую и предположу что он хочет написать mvc приложение на чистом руби, при этом в качестве ORM содомит взял active record.

И если с моделью все понятно, то огранизовать подобие контроллера и вьюшки для работы через CLI он не может/не знает как.
sageАноним 08/02/17 Срд 07:18:15 #200 №928512 
>>928450
джуном на удаленку же
>>>>928456
Пишу на рельсах
> содомит
как будто что-то плохое

Да я уже разобрался.
Организовал все запросы через модуль, а его вклчилв контроллер
Аноним 08/02/17 Срд 13:56:10 #201 №928672 
>>928512
> Пишу на рельсах

Т.е. ты идешь джуном, но не знаешь что единоразово засеять (database seeding) базу можно через rake task? Ну удачи тебе.

> как будто что-то плохое
ActiveRecord говно.
Аноним 09/02/17 Чтв 00:29:06 #202 №929198 
>>928672
Тем не менее это повсеместный мейнстрим и вакансии без него немыслимы. Так что не поддержу этот хейт, хотя он и говно А почему кстати? Моя претензия в толстых моделях, но в общем-то и с эктиврекордом их можно делать без тонкими и без бизнес-логики.
sageАноним 09/02/17 Чтв 00:40:33 #203 №929216 
>>928672
ты не понял меня - мне нужно было сохранить в бд из полученного ответ, а сидить я сам умею
>ActiveRecord говно.
А какая альтернатива ему для рельс?

Бтв задание я сам выполнил без какой-либо помощи Никто мне так и не помого
Аноним 09/02/17 Чтв 00:41:14 #204 №929217 
>>929216
куча ошибок, но я имею право- сегодня весь день пилил этот таск
Аноним 09/02/17 Чтв 00:57:47 #205 №929237 
сап рубач, постил эту хуйню везде куда мог пока не наткнулся на данный тред, в общем, пишу бота для телеграма(уже понятно что неудачно)
https://github.com/atipugin/telegram-bot-ruby вот гит на основу боту, я использую такой код

require 'telegram/bot'

require 'telegram/bot/types/user.rb'

token = 'токен'

Telegram::Bot::Client.run(token) do |bot|
bot.listen do |message|
case message.text
when '/peedor'
bot.api.send_message(chat_id: message.chat.id, text: "текст #{рандом юзер} текст #{message.from.first_name}, текст")
end
end
end
и так, в чем суть трабла, все переменные я дал, но не могу настроить рандом юзера, чтоб выдавало username рандомного юзера конфы, таймер, чтоб команда выдавала одного рандома в день, и дальше шел кулдаун, и способ использовать вебхук(сервер есть)(по дефолту стоит протокол гетАпдейт). код рабочий если убрать >#{рандом юзер}. все что я нагуглил, это ебанутые документации на руби, которые ни к чему толком не привели, помогите пожалуйста, буду очень благодарен.
Аноним 09/02/17 Чтв 02:06:35 #206 №929286 
>>929216
Sequel.
Аноним 09/02/17 Чтв 17:33:53 #207 №929593 
uj-vRrW6HsU.jpg
Ребята, у меня не получилось поднять тред про создание собственного бюро/агентства.
Может, есть идеи, куда дальше качаться "синьору", так чтобы поменьше писать код, побольше рисовать диаграмки, анализировать идеи и ставить задачи?
Почему в Москве максимальная з/п — 200 за 160 часов в офисе (не считая "обеда"), хотя я зарабатываю 300 за 100 часов в месяц?

Почему в Руби треде? Потому что несмотря на ширину охвата того, что я делаю, проектировать под Руби и кодить на нём мне нравится больше всего.
Аноним 09/02/17 Чтв 22:55:33 #208 №929834 
>>929198
Ебать, вот это аналитика. Такого глубокого анализа программного продукта я еще не видел.
Аноним 09/02/17 Чтв 23:24:09 #209 №929860 
>>929855
Гавно.
Аноним 09/02/17 Чтв 23:37:25 #210 №929868 
>>929855
Пояснишь, почему у тебя именно в protected callback (а не в private) - может и взял бы джуном.
Аноним 09/02/17 Чтв 23:41:53 #211 №929874 
>>929868
В рот возьму, чмо пахучее.
Аноним 09/02/17 Чтв 23:41:59 #212 №929875 
>>929868
Ну и дал бы в лицо за N+1 query перед приемом на работу, да.
Аноним 09/02/17 Чтв 23:47:50 #213 №929883 
>>929875
А в очко дашь?
Аноним 10/02/17 Птн 00:17:13 #214 №929901 
>>929834
А ты думал это что-то сложное? Я тебе, дурачку, открою одну истину: не важно насколько мудрено составлена вещь, важно лишь ее применение в быту, а оно сводится к очень примитивным понятиям.

>>929868
А за щеку бы взял?

>>929875
Наркоман ебучий.
Аноним 10/02/17 Птн 00:22:12 #215 №929907 
>>929901
>Наркоман ебучий.

этот ананас прав, за #where в #each тебе лицо не то что разобьют, а в унитаз грязный мокать будут, по каждому разу за бесполезный запрос в бд.
Аноним 10/02/17 Птн 01:40:27 #216 №929951 
>>929909
>любой объект класса Deck (и только этого класса) сможет добавлять карты в любую другую Deck

Че?
Аноним 10/02/17 Птн 08:22:48 #217 №930001 
>>929868
я не он, но предположуб что если сделать кэлюэки в протектед, то эти же кэлюэки будут применимы при STI, То есть что-то вроде:
class Card < Deck
и теперь у всех инстансов Card (то есть строк в бд) будет этот метод. Другого применения я не вижу. Я прав?
Аноним 10/02/17 Птн 08:26:09 #218 №930002 
>>930001
бтв, class Card я привел просто как пример - там по логике видно, что он не может учавствовать в STi. Ну пусть будет AdminDeck < Deck. И теперь
у каждого инстанса AdminDeck будет этот кэлбэк
Аноним 10/02/17 Птн 08:37:02 #219 №930003 
>>930001
я только что проснулся, потому столько ошибок
Аноним 10/02/17 Птн 19:37:11 #220 №930325 
>>930001
Почитай как в руби работает protected, он работает не так же как во всяких джавах и прочих. Вот он правильно написал >>929909

>>929855
>class Deck
>validates :deck
У тебя у модели Deck есть поле deck? Что с тобой не так?
Аноним 10/02/17 Птн 19:45:24 #221 №930327 
>>930325

для начала разберись с тем что такое каллбека, наниматель мамкин.
Аноним 10/02/17 Птн 19:45:46 #222 №930328 
>>930327

каллбек*
Аноним 10/02/17 Птн 19:46:28 #223 №930329 
>>930327

это наезд на >>929868
Аноним 10/02/17 Птн 20:05:06 #224 №930339 
>>930330
В сервис-обжект вынеси, вообще коллбеки в большинстве случаев зашквар использовать
Аноним 10/02/17 Птн 20:51:49 #225 №930367 
>>930330
Религия не позволяет слать нормальный массив id?
Аноним 10/02/17 Птн 22:58:10 #226 №930459 
>>929901
>этот ананас прав, за #where в #each тебе лицо не то что разобьют, а в унитаз грязный мокать будут, по каждому разу за бесполезный запрос в бд.
На том скриншоте не было видно, что он дальше делает с where. Только больной мозг мог предположить что там выборка но таки это оказалось правдой

А что этого картежника никто не ругает за
>cards
>self.cards
>module_price
>self.module_price
Аноним 10/02/17 Птн 23:01:05 #227 №930466 
>>930400
Холи щит! Это что кофескрипт? В 2к17-ом?
Аноним 10/02/17 Птн 23:29:23 #228 №930508 
>>930459
По-хорошему вообще всё надо сжечь и переписать правильно, но че теперь, к каждой строчке доебываться? Обучение - итеративный процесс.
Аноним 11/02/17 Суб 00:16:16 #229 №930544 
>>930535
обычный es6 + babel
Аноним 11/02/17 Суб 00:24:02 #230 №930550 
>>930459

> А что этого картежника никто не ругает за
>module_price
>self.module_price

поругай сам, за service object ему пояснили.
Аноним 11/02/17 Суб 01:01:52 #231 №930579 
>>930459
>На том скриншоте не было видно, что он дальше делает с where. Только больной мозг мог предположить что там выборка но таки это оказалось правдой
А как надо то ? другой анон
Аноним 11/02/17 Суб 01:06:52 #232 №930591 
>>930327
Сделал калавый баребек тваей мамашке, бббгеее.
Аноним 11/02/17 Суб 02:31:51 #233 №930652 
>>930459
where там искал твою мамашу, блядь. что можно делать с where, кроме как запрашивать инфу из бд?
Аноним 12/02/17 Вск 01:31:25 #234 №931324 
>>931320
> их придуманная система
>railway oriented programming

Изложи яснее, т.к. пока я только вижу, как с твоих слов хипстор противоречит сам себе. Или "их придуманная система" или convention over configuration.
Аноним 12/02/17 Вск 01:42:23 #235 №931332 
>>930652
where(...).create() например.
Аноним 12/02/17 Вск 01:44:34 #236 №931334 
>>931324
Двачую, тоже не понял.

>сервис обжекты говно, а их придуманная система
Они же сами их используют, в своем замороченном стиле.
Аноним 12/02/17 Вск 08:51:25 #237 №931401 
>>931320
Помню на такой конфе у какого-то питуха увел бабу. Потом ебались с ней с полгода, потом дропнул ее.

Руби-синиор 10 лет опыта.
Аноним 12/02/17 Вск 08:53:01 #238 №931402 
>>931332
Пиздец, хехе. Ржу-нимагу с местных вкатывальщиков. Попадете ко мне (что вряд ли) буду унижать вас, плакать будете.

>>931401
Аноним 12/02/17 Вск 16:54:14 #239 №931644 
>>931497

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

Три проёба из трёх.
Аноним 12/02/17 Вск 16:59:54 #240 №931651 
>>931332

а еще можно расширить ActiveRecord::Relation методом tvoi_anus(*args), смотри что получится

where(...).tvoi_anus(...).create()

правда круто? Правда твой анус все равно будет применяться к каждому кортежу дёрнутому из бд :(((
Аноним 12/02/17 Вск 20:23:35 #241 №931832 
logo-2x.png
Как мне пригорело от этой параши пикрелейтед извините. Пидоры сука конченые блядь, дебилоголовые.

>Simple, blog-aware, static sites - Transform your plain text into static websites and blogs

Хуимпл, хуй-аваре. Какого хуя я не могу положить картинки в папке рядом с постом, какого хуя я должен сваливать все в кучу в /assets?
Аноним 13/02/17 Пнд 07:02:30 #242 №932099 
>>931832
миддлеман попробуй
https://middlemanapp.com/basics/blogging/#article-subdirectory
Аноним 13/02/17 Пнд 16:40:04 #243 №932346 
>>932099
Спасибо, забыл про него.
Но в этот раз все-таки остановлюсь на джекиле, побомблю.

По ссылке тоже не идеальный вариант, документ + директория. Должно быть: одна сущность - один пункт. То есть директория, а в ней статья и ассеты.
Аноним 14/02/17 Втр 11:42:50 #244 №932879 
1.png
Я тут внезапно обнаружил, что вкладвопенсорс (ТМ) не накапливается и сгорает. И чтобы показывать красивый профиль на гитхламе туда нужно постоянно что-то срать.

Потому что гитхаб нихуя не аккумулирует активность. Ну то есть во-первых он никак не афиширует вкладвопенсорс, а во-вторых, и вовсе по умолчанию показывает активность за последний год, а в ленте - месяц.
Аноним 14/02/17 Втр 11:53:15 #245 №932888 
>>932879
Эта хуйня вообще нинужна и никак не влияет на твоё трудоустройство, если только ты не к смузи-коворкерам "устраиваешься". Жидхап даже хотел её вообще отменить, чтобы прекратили дрочьбу, но потом всё-таки вернул счетчик contributions.
Аноним 14/02/17 Втр 11:59:24 #246 №932889 
>>932888
Ну как сказать. Профиль на гитхабе просят везде. Зачем не знаю, но вероятно смотрят код, потому что как альтернативу просят примеры кода.
И получается либо нужно свои проекты туда выкладывать (и делать это периодически, потому что через год ты уже другой и код у тебя другой), либо постоянно куда-то коммитить.
Аноним 14/02/17 Втр 12:15:18 #247 №932897 
>>932889
Никто в гитхабе рыться не будет, просто смотрят не порешь ли ты там откровенную дичь. Примеры коды естественно надо заготовить, и запросить их явно со стороны нанимающего - тоже. Иначе это называется доебаться и сбивать ценник. А чтобы постоянно куда-то коммитить - просто не надо прекращать работать. Тем более там теперь можно показывать коммиты в приватные репы.
Аноним 14/02/17 Втр 16:13:45 #248 №933126 
>>933069
Гитхаб не показывает коммиты в сторонние репозитории не в мастер-ветку. Мы делаем коммиты на одном прожекте не в мастер-ветку, так что квадратики пустые. А на прошлой работе гитхаб вообще не использовали, гит-репозиторий на нашем сервере был.
Аноним 14/02/17 Втр 16:46:56 #249 №933146 
>>933126
Ну так продолжай делать коммиты и не только по работе, в этом вся суть.
Аноним 15/02/17 Срд 09:07:02 #250 №933586 
>>933146
У меня идей никаких нет. Максимум, что могу-это поиграться с каким-то фреймворком другим, но всё равно в итоге те же круды.
Где ты черпаешь идеи?
Аноним 15/02/17 Срд 12:27:59 #251 №933679 
>>933146
Дроч бессмысленный, если тебе самому не в кайф.

>>933126
Вот этого двачую, и слава богу, адекватные работодатели всё это тоже понимают.
Аноним 16/02/17 Чтв 00:59:10 #252 №934123 
>>933586
Я нихуя не делаю. Но если бы делал, ходил в репы популярных гемов и смотрел, какие темы там поднимаются, что нужно запилить. Делал бы форк, коммитил говнокод и кидал пул реквест.
Аноним 16/02/17 Чтв 01:50:27 #253 №934138 
>>934123
Через месяц до него добираются и:
>Вот ду ю синк @смузи?
>Сорре @анон, это breaking change и ваще wontfix
>Closed
Аноним 16/02/17 Чтв 01:59:37 #254 №934145 
>>934138
У тебя слишком негативное мышление для рубипидора. Будь позитевнее, мир нам улыбается.
Аноним 16/02/17 Чтв 02:04:28 #255 №934150 
залез в гемчик, что yard'ы в dataset'ы для dash (--> zeal) конвертирует.

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

мимо-депрессвный-хуй.
Аноним 19/02/17 Вск 12:40:40 #256 №936186 
А что id25 в руби? Он тут обитает?
Аноним 19/02/17 Вск 17:06:52 #257 №936373 
>>936186
Патлатый пидорок? Да, захаживал.
Аноним 19/02/17 Вск 17:44:12 #258 №936399 
>>936373
Помню он свой дневник саморазвития выкладывал, я думал он выпилиться через пару лет. Потом помню он бабло на еду собирал, совсем хуево было. А тут решил погуглить: гитхаб зеленый, 100 звезд. Из грязи в князи получается?
Аноним 20/02/17 Пнд 00:21:08 #259 №936750 
Я потыкался в интернетах в поисках ответа, зачем нужен Руби и что на нем писать. Рейлс, гуи, администрирование в общем можно, но в чем он лучший?

Хотелось бы в факе видеть ответ вроде "идеальный кейс для руби" или "почему здесь сосет все кроме руби". Для чего он сегодня, анон?
Аноним 20/02/17 Пнд 05:11:25 #260 №936814 
>>936750
А ты, пездюк, зачем?
Аноним 20/02/17 Пнд 06:20:10 #261 №936863 
>>936750
Зашел на программач ты...
Хочешь советов мудрых?
Сосни-ка хуйца!
Аноним 20/02/17 Пнд 12:11:09 #262 №936994 
>>936814
Я, чтобы писать на руби. Надо узнать, зачем писать на руби.

>>936863
Один ответ
Всего мне нужен
Найду ответ
Пойду писать на руби
Аноним 20/02/17 Пнд 14:22:36 #263 №937030 
>>936994
Сначала узнай смысл жизни.
Аноним 20/02/17 Пнд 16:26:25 #264 №937121 
Народ, я нихуя не пони:(
Поясните как правильно сделать, установил гем devise, теперь хочу чтобы при регистрации пользователь мог выбрать тип своего аккаунта, добавил во вьюхе регистрации радиобатон, как теперь эти значения передать в модель?
Аноним 20/02/17 Пнд 23:06:28 #265 №937316 
>>937121
Добавить поле в Users, контроллер сгенерировать (http://stackoverflow.com/questions/3546289/override-devise-registrations-controller/35827502#35827502) , в permitted параметрах прописать.
Аноним 21/02/17 Втр 04:47:52 #266 №937428 
perdak.png
у меня бомбит пердак
Аноним 21/02/17 Втр 12:09:36 #267 №937579 
>>937428
Чего тебе бомбит, болезный?
Аноним 21/02/17 Втр 13:33:05 #268 №937603 
>>937316
спасибо няша
Аноним 21/02/17 Втр 18:26:54 #269 №937744 
>>937579

нипониатно зачем поменяли, вот и бомбит

> Returns default internal encoding. Strings will be transcoded to the default internal encoding in the following places if the default internal encoding is not nil:

http://ruby-doc.org/core-2.0.0/Encoding.html#method-c-default_external-3D

> File names from Dir
> __FILE__

http://ruby-doc.org/core-2.4.0/Encoding.html#method-c-default_external-3D

> File names from Dir
> ...

у меня от этого разные котировки случились и баг и и пердак контузило сейчас вроде норм. НЕИНТУИТИВНО ПИДОРЫ.
Аноним 21/02/17 Втр 19:39:56 #270 №937797 
pastedimageat201702210614pm.png
Ну как живётся после спада хайпа, хипстерки? На какие языки планируете перекатываться?
Аноним 21/02/17 Втр 22:05:11 #271 №938003 
>>937797
За хайпом никто и не гонится. Ну конечно некоторые гонятся, но их мнение никому неинтересно, т.к. они обычно не приходят к какому-либо успеху (как разработчики). Алсо "спад хайпа" был в 2011 году, когда твиттер оскалился, а сейчас уже 2017, кому было надо, тот перекатился.
Аноним 21/02/17 Втр 23:58:02 #272 №938113 
>>937744
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
Может тебе это подойдёт.
Аноним 22/02/17 Срд 00:40:40 #273 №938143 
>>937797
В Эликсир!
Аноним 22/02/17 Срд 01:41:35 #274 №938188 
14580692444640.png
>>937797
>Куцко
>Гойс

Аноним 22/02/17 Срд 05:42:12 #275 №938234 
imgur-20170222-04:55:52.png
в Яндекс его бы не взяли азазаза
Аноним 22/02/17 Срд 16:04:49 #276 №938518 
>>938234
в Яндекс рельсовиков да и просто рубистов когда-либо брали?
Аноним 22/02/17 Срд 17:16:21 #277 №938556 
>>938518

ну вот доки на какой то сервис ихний,

https://tech.yandex.ru/money/doc/dg/concepts/About-docpage/

там же есть линки на сорсы на руби. врятли код от левых людей. Хотя вакансий от них не видел, ятп, своих спецов выращивают.

Но @dhh всеравно бы не взяли, азазаза
Аноним 23/02/17 Чтв 04:40:08 #278 №938992 
>>938556
Ну может кто-то в свободное время.
Там рельсовики только в смежных (не яндексовых по сути) командах, для написания апи как рекламной сети.
Вместо перла они выбрали питон, потому что у того синтаксис тупее (не проще, а именно тупее), был распространён больше чем руби и был намного быстрее.
Сейчас там руби не нужен, потому что их питон немного достал.
Аноним 23/02/17 Чтв 12:26:29 #279 №939118 
>>932879
>>933146
>>933586
Нинужно. Вот пруф, статья + комменты:
https://news.ycombinator.com/item?id=13705055
Аноним 23/02/17 Чтв 12:45:26 #280 №939124 
Требуется авторитетное мнение ананасов.
Искал язык на котором можно:
1) хоть как-то работать под виндой, пусть и с еблей, но в конечном итоге работать
2) парсить-грабить-кочать, работать с бд, работать с файловой системой шиндошса, в т.ч. с нестандартными кодировками
3) с аккуратным неперегруженным синтаксисом, где ты пишешь свою логику, а не повторяешь тонны служебного мусора
4) что-то свежее после прямой как угол дома пыхи

Зарабатывать на нём не планирую вообще от слова совсем, в обозримом будущем так точно, исключительно для себя.
Ткнул пальцем в небо, попал в Руби. Пока только начал учить, дико нраица. Всё правильно сделал, или не туда попал?
Аноним 23/02/17 Чтв 12:55:53 #281 №939134 
>>939124
Перл
Аноним 23/02/17 Чтв 13:45:17 #282 №939195 
>>939124
> 1) хоть как-то работать под виндой, пусть и с еблей, но в конечном итоге работать
> Ткнул пальцем в небо, попал в Руби. Пока только начал учить, дико нраица. Всё правильно сделал, или не туда попал?
Не туда. наверно Последний раз под windows с ruby в 2012 году работал. При каждом подключении нового гема есть большая вероятность, что приложение не запуститься или будет сыпать варнинги в местах где на Mac и Linux всё нормально.
Аноним 23/02/17 Чтв 15:08:27 #283 №939308 
>>939195
Ну относительно безболезненно зашло. Чуток потрахался пока заработал дебагер, пару часов угробил на установку курло-курба. Теперь вот ставлю нокогири а он меня шлёт потому что хочет <2.4.0 версию, а я за каким-то хуем именно последнюю накатил. Сегодня вечером всё снесу и поставлю 2.3.3 или какая там на рубиинсталлер.орг последняя. По меркам винды это в пределах "нормы".
По поводу же новых гемов ещё не очень представляю что мне может понадобиться. для простых задач как правило стараюсь изобретать колесо самостоятельно, пока недостаточно долго погромирую чтобы это надоело.

>>939134
Поясни. Там меньше спермопроблем?
Аноним 23/02/17 Чтв 23:23:35 #284 №939707 
>>939308
Установи уже операционную систему.
Dmitry 23/02/17 Чтв 23:32:09 #285 №939713 
>>939308
Установи Gentoo, юзай питон, или руби, питон очень просто юзать, но синтаксис так себе.
Суть в том что под шиндовсом ты не можешь спокойно разрабатывать инструменты для себя, консоль там говнецовая оболочка, постоянно надо мокрописьки.
Поставь себе Arch linux и наслаждайся новейшими версиями своего руби и пили код в удобном окружении, в консольке почти все можно делать, можно и нет серфить.
Накати оконный менеджер dwm, терминальный мультиплекстор tmux, vim/emacs/nano и все заебись будет. В отличии раб столов на винде мультиплекстор очень полезен и юзабелен как и оконный менеджер с вкладками. Просто удобно.
Аноним 24/02/17 Птн 01:53:12 #286 №939800 
>>939707
>>939713
NYET. Я игроблядок, поэтому навеки в анальном рабстве винды. Дома приходится кодить как есть, а на работе и так линуха, там всё удобно.
Аноним 24/02/17 Птн 05:22:13 #287 №939878 
>>939800
Тогда почитай про вагрант, это типа виртуалка в которой папка видна в винде, и с которой можно локально коннектиться по ssh.putty
Аноним 24/02/17 Птн 10:13:13 #288 №939937 
13392157945423[1].jpg
>>939800
Попробуй переключиться с игр на кинцо, правда это весьма затратно.
Аноним 24/02/17 Птн 12:29:14 #289 №940004 
>>939878
Знаю, на работе юзаю сайты локально тестить. Долго заводится, ебля с директориями-путями, сомнительные профиты ЕСЛИ ты уже всё настроил на своей машине.
Мне интерпретатор прямо вот под рукой всегда нужен, бывает что сидишь задротишь, тут бац лампочка зажглась, табнулся на иде, накидал коду, по живому запустил, увидел что всё работает, довольный табаешься и продолжаешь задротить.

Спасибо за советы, но меня устраивает винда. В смысле придрочился уже. Лучше за руби чего интересного поясни. Вот вчера допустим выяснил что curb безумно долго стучится на https, вот прям пиздец долго, страницу с форчаней 15 секунд жду. Хрен знает, может собрался через жопу, или я curllib бракованный скачал, или ещё чего. Может просто опцию какую надо было передать, но в куцых доках ничего, гугл ничего не дал, по сорцам пробежался тоже ничего не нашёл, плюнул. Про родной(?) open-uri начитался охуительных историй, поэтому полез смотреть чего ещё есть, попробовал httpsrequest, вроде норм зашло. Какие инструменты вообще у рубистов считаются дефолтными для веб-запросов?

>>939937
уже, одно другому не мешает
Аноним 24/02/17 Птн 13:34:52 #290 №940028 
>>940004
> Какие инструменты вообще у рубистов считаются дефолтными для веб-запросов?

В стандартной библиотеке есть net/http, из гемов популярны httparty, faraday, typhoeus. Вот тут можешь посмотреть: https://www.ruby-toolbox.com/categories/http_clients
 Аноним 24/02/17 Птн 21:57:28 #291 №940365 
>>939124
пайтон то что тебе нужно анон
Аноним 25/02/17 Суб 12:06:55 #292 №940610 
Selection104.png
Selection105.png
Selection100.png

728x202
Selection105.png (10Кб, 565x213)
565x213
Selection100.png (53Кб, 1854x1023)
1854x1023

Аноны, нужна помощь.
Есть такой тест:
http://pastebin.com/APJC3Qib
Есть следующие моменты:
1)FactoryGirl все создает в дб, я провеляб byebug'ом
2)Эта сраница налокалке все рендерит, то есть присутствуют все нужные атрибуты, в том числе и name
3) Тест выдает ошибки, причем и в случаем с просты RSpec'om, так и с shoulda-matchers версией

ошибки/контроллер/страница пикрелейтед
Аноним 25/02/17 Суб 12:13:18 #293 №940617 
>>940610
Что ещё за recepy? Я не удивлюсь, если у тебя inflections по пизде идут где-то там. Руби для грамотных!
sageАноним 25/02/17 Суб 12:27:00 #294 №940630 
>>940610
>2)Эта сраница налокалке все рендерит, то есть присутствуют все нужные атрибуты, в том числе и name

на локалке у тебя development база, в тестах ты прогоняешь приложение в test env, с-но надо смотреть page.body из теста. Телепатия вангует что FactoryGrill#build не работает так как ты ожидаешь
Аноним 25/02/17 Суб 12:52:41 #295 №940657 
>>940630
FactoryGrill#build создает объект, но не персистит его в БД.
Аноним 25/02/17 Суб 13:13:38 #296 №940665 
>>940657

Я хотел сказать, что фабрика подгружается, но сравнивается с "#", а это не похоже на receipts index page. Надо бы явно вместо

> describe 'listing recepies', receips: true do

указать тестируемый контроллер, и посмотреть что там за страницу рендерит в тестах.
Аноним 25/02/17 Суб 14:07:34 #297 №940712 
Selection107.png
Selection106.png
Selection101.png
>>940617
пикрилейтед

>>940657
Второй рецепт билдится не FactoryrGirl же. там через ассоциацию на юзере, затем ее сохраняю в БД
>>940657
byebug говорит об обратном
пикрейлет 3



Аноним 25/02/17 Суб 14:16:14 #298 №940723 
Selection110.png
Selection109.png
>>940712
Вообще, я перенес тест в отдельный спек, сделал тип Feature - и все заработало
Но мне не нравится то, что у меня не получается сделать нормальный integration test, То есть чтобы можно было тестировать как рендер темплейтов/флэшей и тд, так и проверять наличие определенного контента via Capybara, Я видел интеграционный тест, который выполняет те же функции как у меня, но написан на minitest, Неужели RSpec не дает такой свободы?
Аноним 25/02/17 Суб 15:10:31 #299 №940765 
Selection114.png
Selection113.png
Selection112.png
Selection111.png
БТВ, кто-нибудь обьяснит мне, что за чертовщина происходит на пикрл?
Аноним 25/02/17 Суб 15:23:29 #300 №940769 
>>940765
Погуглил и нашел инфу, что нельзя использовать пути в контроллер тестах
Как писать на RSpec'е интеграционные тесты?
Аноним 25/02/17 Суб 20:45:07 #301 №940999 
>>940765
Контроллеры никто не тестирует в 2017.
Аноним 25/02/17 Суб 21:15:39 #302 №941019 
>>940999
Если у тебя в экшне какой-нибудь сложный процесс ловли ошибок, но с одинаковым рендером - как ты собираешься убедиться, что всё прошло именно так, как ты задумывал без тестов контроллера? Они необязательны, но иногда могут пригодиться. Особенно когда всплывёт бага именно по контроллерной причине - было бы тупо не закрыть её тестами потому в 2017 кто-то сказал, что не тестирует контроллеры.
Аноним 26/02/17 Вск 01:40:48 #303 №941209 
Пацаны. Недавно вкатился в руби. Но тут я недоумеваю. Есть код (https://github.com/artworklv/Mersenne-twister/blob/master/mersenne_twister.rb)
Добавил в конец twister.MersenneTwister
И он выдаёт ссылку на область в памяти,
А как сделать чтобы он сгенерировал 100 значений в массив?
По алгоритму после найденного числа он делает закалку и сначала.
Собственно в чем прикол ?
Аноним 26/02/17 Вск 01:55:08 #304 №941211 
УУУ сука
Полгода назад пацаны говорили руби нихуя не умирает, наоборот спрос на крутых девов выше, а ща те же пацаны в один голос ЕБАНУТЬСЯ ЧЕРЕЗ ГОД РЕЛЬСОВ НЕ БУДЕТ ГРОБ ПИЗДА. Собсна вопрос на что в связи с этим перекатываться? Веб хайлоад энтерпрайз говно.
Аноним 26/02/17 Вск 07:22:13 #305 №941276 
>>941211
эликсир
л
и
к
с
и
р
Аноним 27/02/17 Пнд 00:47:05 #306 №942041 
>>941019
Не кто-то, а наш бог и владыка.
https://github.com/rails/rails/issues/18950
Аноним 27/02/17 Пнд 00:55:30 #307 №942045 
Без названия1486367092834.png
РУБИ УМИРАЕТ ГОЛАНГ ОЖИВАЕТ
Аноним 27/02/17 Пнд 06:22:09 #308 №942100 
>>942041
Вообще-то там написано как надо правильно тестировать контроллеры, а не то что их не нужно тестировать совсем.
Аноним 27/02/17 Пнд 06:24:31 #309 №942101 
Ананасы, вот я накидал коротенький код, поясните, почему работает не так, как нужно?
http://Ideone.com/ixfjru

Выводит: name: ["Walt", 36], age:
А предполагается: name: Walt, age: 36

Смотрел видео, в котором этот же код работает на отличненько
Аноним 27/02/17 Пнд 08:25:56 #310 №942113 
>>942101
>@hh.each do |key|
Аноним 27/02/17 Пнд 08:33:13 #311 №942115 
>>942101
короче так сделай
@hh.each do |key, value|
age = value
Аноним 27/02/17 Пнд 08:56:13 #312 №942120 
Спасиб
Аноним 28/02/17 Втр 00:47:55 #313 №942673 
>>941209
>Пацаны. Недавно вкатился в руби. Но тут я недоумеваю. Есть код (https://github.com/artworklv/Mersenne-twister/blob/master/mersenne_twister.rb)
>Добавил в конец twister.MersenneTwister
>И он выдаёт ссылку на область в памяти,
>А как сделать чтобы он сгенерировал 100 значений в массив?
>По алгоритму после найденного числа он делает закалку и сначала.
>Собственно в чем прикол ?

>>941209
Друзья, я в вас верю. Подскажите пожалуйста. И да , там не область а хекс выдаёт
Аноним 28/02/17 Втр 19:29:05 #314 №943262 
Как вообще происходит совместная разработка в рельсах? С другом решили проект запилить.
Допустим я заполнил базу данных чем-то, но получается, что у друга она будет пустой.
Пока решил на digitalocean создать дроплет и накатить туда постгрес. Но у меня там деньги скоро закончатся.
Аноним 28/02/17 Втр 19:34:44 #315 №943268 
>>942045
if err = nil
Аноним 28/02/17 Втр 19:35:07 #316 №943269 
>>943268
!=
Аноним 28/02/17 Втр 22:21:06 #317 №943475 
>>943262
> Как вообще происходит совместная разработка в рельсах? С другом решили проект запилить.
Как и везде git
> Допустим я заполнил базу данных чем-то, но получается, что у друга она будет пустой.
seed.rb
> Пока решил на digitalocean создать дроплет и накатить туда постгрес. Но у меня там деньги скоро закончатся.
Heroku, если не хватает ресурсов и хочется дешевле DO, то locum или ищи low-end vps (online.net например)
Аноним 01/03/17 Срд 01:07:27 #318 №943610 
>>943262
А зачем вам собственно общая бд в девеломпент окружении?

Если вы зависите от всех данных в базах друг друга, то вы делаете все неправильно. Нужно быть модульнее. А именно для этого и нужны тесты и seeds(для отдельных случаев, никак не для шэринга всех данных).

Аноним 01/03/17 Срд 06:00:06 #319 №943697 
Я ЕХАЛ СЕГОДНЯ НА ГИРОСКУТЕРЕ ПО ГАРАЖУ И УВИДЕЛ ЗАДРОТА С ЛЯМБДОЙ НА МАЙКЕ, КОТОРЫЙ ПРИШЕЛ НА СОБЕСЕДОВАНИЕ В НАШ СТАРТАП, НУ Я РЕЗКО ПОДЪЕХАЛ К НЕМУ И ПРЕГРАДИЛ ПУТЬ К КОФАУНДЕРАМ И ПОЯСНИЛ ЕГО КРИКОМ «НЕ ЛЮБЛЮ ВЫЕБЩИКОВ», ПОТОМУ ЧТО Я УГОРЕЛ ПО ООП, КРУДОШЛЕПСТВУ, И GEM INSTALL, ХИПСТАНЫ ДУХ СОВРЕМЕННОГО ВЕБДЕВА ЖИВЁТ ТОЛЬКО В КОВОРКИНГАХ, ГДЕ ХИПСТЕРЫ С 12 ЛЕТ ПИШУТ НА РЕЛЬСАХ, ПОПИВАЮТ СМУЗИ, СИДЯ НА ПУФИКАХ, И ЕБУТ ОФИСНЫХ ДИНОЗАВРОВ В РОТ! ТОЛЬКО ROR, UPWORK И РАБОТА НАПРЯМУЮ С ИНОСТРАННЫМИ ЗАКАЗЧИКАМИ. ТОЛЬКО 25 ЛЕТ СТАЖА В 30 ЛЕТ, ТОЛЬКО ХАРДКОР!!! ХИПСТАНЫ ПИШИТЕ НА РУБИ, УСТАНАВЛИВАЙТЕ ГЕМЫ И КОММИТТЬЕ ПРЯМО В ПРОДАКШЕН, НАХУЙ ВСЁ ОСТАЛНОЕ ГОВНО. ЦЕНИТЕ РЕЛЬСЫ!!!
Аноним 01/03/17 Срд 07:01:37 #320 №943705 
>>943268

err&.tap {|e| p e.message}
Аноним 01/03/17 Срд 07:03:10 #321 №943706 
>>943705

err&.tap &:message

покатился дальше
Аноним 01/03/17 Срд 09:22:01 #322 №943734 
>>943706
Что за амперсанд в конце err&?
рубист 8 лвл
Аноним 01/03/17 Срд 09:23:58 #323 №943736 
>>943697
Мой друг установил все 12,328,326,167 гемов и стал воплощением бога на земле.
Аноним 01/03/17 Срд 09:46:49 #324 №943744 
zna40k.png
>>943734

типа монада maybe
Аноним 02/03/17 Чтв 00:41:19 #325 №944137 
ЭЛИКСИР НАБИРАЕТ ХАЙП, РУБАНЫ?
Аноним 02/03/17 Чтв 01:19:04 #326 №944147 
>>944137
|> да
Аноним 02/03/17 Чтв 03:51:48 #327 №944224 
Screenshot2.png
>>943744
спасибо, а то я с деревни
Аноним 02/03/17 Чтв 04:49:55 #328 №944229 
>>944147
|>

Что значит этот твой символ?
Аноним 02/03/17 Чтв 05:40:21 #329 №944237 
5291.png
>>944224
> windows


Аноним 02/03/17 Чтв 20:58:27 #330 №944806 
>>944229
То же что в F-шарпе, откуда и был честно спизжен.
Ну или то же, что (-> ) в кложе.
Аноним 02/03/17 Чтв 23:26:00 #331 №944979 
2017-03-02-231921181x115scrot.png
Ребят, вот у вас нет тайп-хинтов, кто-то пытается бороться с этим?
Попробовал просто докблоки YARD, тот же RubyMine почему-то молчит как партизан при несоответствии типов (пик).
Нагуглил контракты: https://egonschiele.github.io/contracts.ruby/
Выглядит интересно, но нет интеграции с IDE. Может у вас есть что посоветовать?
Аноним 03/03/17 Птн 00:58:07 #332 №945020 
>>944979
Так этож, блять, дак тайпинг!
Аноним 03/03/17 Птн 08:53:48 #333 №945088 
>>945020
Если в функцию вместо строки прилетает число, то это ошибка, о которой язык должен сообщить как можно раньше, а не продолжать выполнение, это приводит к трудноуловимым багам на больших проектах. Люди ведь не зря TypeScript/Flow придумывают, не говоря уже о том, что типизация документирует код (и не устаревает, в отличии от докблоков). Ну не верю, что никто из вас чем-то таким не пользуется.

> дак тайпинг!
Было бы логично тогда иметь возможность указывать тайп-хинт respond_to где-то рядом с аргументами функции. А то сейчас, глядя на аргумент, сложно понять, что же туда должно прилететь. Вот какой в TypeScript дак тайпинг: https://www.typescriptlang.org/docs/handbook/interfaces.html
Функция тоже принимает любой объект, реализующий какой-то интерфейс, однако это видно уже в параметрах функции.
Мне ведь не нужна статическая типизация, хватит тайп-хинтов, корректность которых проверяется в рантайме + поддержка IDE.
Аноним 03/03/17 Птн 09:25:33 #334 №945100 
>>945088
да нахуй этот костыль нужен, он только в языках со слабой типизацией годнота, когда в метод неизвестно что может прилететь
Аноним 03/03/17 Птн 09:57:39 #335 №945113 
>>945088
https://github.com/gogotanaka/Rubype

Вроде бы в 3.0 обещали подвижки в сторону gradual typing, но не то чтобы это нужно.

> Было бы логично тогда иметь возможность указывать тайп-хинт respond_to где-то рядом с аргументами функции.

Некоторые сердобольные пишут так:

@param [#to_s] yoba

Аноним 03/03/17 Птн 12:01:19 #336 №945192 
РУБАНЫ, ПЕРЕКАТЫВАЕМСЯ В ЭЛИКСИР. ХАЙП НАБИРАЕТ ОБОРОТЫ И ЕСТЬ ШАНС ЗАСВЕТИТЬСЯ И СДЕЛАТЬ КАРЬЕРУ, А НЕ КОПОШИТЬСЯ В ТУХЛЫХ РЕЛЬСАХ, НАДЕЯСЬ НА ПРОФИТЫ. СОЗДАЕМ КОМЬЮНИТИ И ФОРСИМ ЭЛИКСИРНЫЙ СТЕК, КАК НАИБОЛЕЕ ПРИГОДНЫЙ. ХАЙПИМ ПАСТОЙ И ПОДОГРЕВАЕМ ИНТЕРЕС. БУДЕМ ПЕРВЫМИ, РУБАНЫ, ОСТАЛЬНЫЕ В НАШУ ТУСОВКУ ПРОСТО НЕ ВОЙДУТ
Аноним 03/03/17 Птн 12:28:30 #337 №945203 
>>945192
Давай, ебошь. Я был "первым" ещё в конце 2015-го, а воз и ныне там. Вакансий нихуя нет, а если есть, то платят смуззи.
Аноним 03/03/17 Птн 16:54:39 #338 №945324 
>>945192
>СОЗДАЕМ КОМЬЮНИТИ И ФОРСИМ
проиграл с этого слоупока
хотя в рамках какой-нибудь мрачной постсовковой параши наверное всё плохо как >>945203 пишет
Аноним 03/03/17 Птн 18:07:13 #339 №945400 
>>944237
да, шиндовс

я себе поставил на вмваре арч, пока времени разобраться толком не было, но выходные уже скоро
Аноним 03/03/17 Птн 18:24:50 #340 №945408 
>>945324
Постсовковая параша под названием "весь мир", ты имел в виду?
Аноним 03/03/17 Птн 18:50:57 #341 №945430 
>>916183 (OP)
А напомните-ка, применяется ли еще где-нибудь ЯПОНСКИЙ БЕЙСИК кроме рельсов?
Аноним 03/03/17 Птн 18:55:02 #342 №945434 
>>945408
Нет.
Аноним 03/03/17 Птн 18:55:42 #343 №945435 
>>945434
А что тогда? Где вакансии с нормальными мировыми зарплатами?
Аноним 03/03/17 Птн 19:46:08 #344 №945489 
>>945430
17. Руби язык одного фреймворка?
Есть еще Sinatra, Hanami (ранее Lotus), Volt, Grape, отличные штуки для DevOps - Chef, Puppet и годные генераторы для бложиков - Jekyll, Middleman, всё это активно используется в продакшене
Аноним 03/03/17 Птн 19:51:32 #345 №945493 
>>945400
Ты бы еще генту поставил. Ставь убунту и не выебывайся, если собираешься на руби кодить, а не конфиги настраивать.
Аноним 03/03/17 Птн 20:30:26 #346 №945526 
>>945493
Не совсем понимаю твою агрессию. Лично знаю пару счастливых обладателей арча. Чего ты выебываешься-то?
Аноним 03/03/17 Птн 23:08:59 #347 №945647 
>>945526
Мудак он зацикленный на популярном говне под названием бубунта
Аноним 04/03/17 Суб 02:08:40 #348 №945744 
>>945647
А ты мудак, зацикленный на элитарном говне для нитаких, которое ещё к тому же не работает без пердоленья.
Аноним 04/03/17 Суб 03:44:33 #349 №945768 
>>945489
Из перечисленного только Чиф и Пупит используются. Ну и Синатру встречался в требованиях вакансий.
Аноним 04/03/17 Суб 10:59:43 #350 №945891 
2017-03-04-102338678x117scrot.png
>>945113
Я попробую проникнуться ненужностью. Заметил, что ни RoR, ни Sinatra не используют YARD. Ну и проблема скорее в RubyMine: https://blog.jetbrains.com/ruby/2011/04/what%e2%80%99s-mining-advanced-yard-support/#comment-646

>>945744
Ты не прав, у арча есть объективные преимущества перед остальными дистрибутивами:
- подробная up-to-date вики, вместо разрозненных туториалов под разные версии убунты.
- AUR, откуда можно установить почти всё что угодно без необходимости подключать PPA. PPA забрасываются и никем не проверяются.
К недостаткам можно отнести роллинг-релиз. У одногруппника после одного из обновлений просто отвалился шелл из-за новой версии ncurses, удалось спасти через LiveCD со старым ncurses на флешке.
Сам полностью обновлял систему раз 7 за эти почти 2 года (проверяю новости и форум арча перед обновлением).
В общем, не нужно думать, что если тебе не подходит, то всем не подходит.
Аноним 04/03/17 Суб 11:18:14 #351 №945896 
>>945891
>п е р д о л и н г
Ну да, я понял уже, что подходит только студентам, которым время некуда всрать.
Аноним 04/03/17 Суб 11:40:27 #352 №945902 
>>945891
Арч - хуярчь. Это не для меня. Я использую Минт, где большинство нужного мне уже искаробки есть и годно работает.
Аноним 04/03/17 Суб 11:58:05 #353 №945926 
Рубаны, как вы админку кодируете? Какой гем ставить? Искаробки ведь не поддерживается? Почему так, кстати?
Аноним 04/03/17 Суб 13:37:46 #354 №946040 
>>945926
Administrate или ActieAdmin
Аноним 04/03/17 Суб 13:58:08 #355 №946092 
>>946040
И как?
Аноним 04/03/17 Суб 15:47:05 #356 №946213 
>>945768
Hу еще есть Capistrano для деплоя, Vagrant, brew, metasploit, для которого есть дохуя модулей на руби, fastlane, ну и очевидные системные скрипты.
Аноним 04/03/17 Суб 23:59:45 #357 №946498 
рубаны, у меня в убунту вместо значка рубимайн стоит знак вопроса. как это фиксить?
Аноним 05/03/17 Вск 10:24:50 #358 №946657 
>>946498

никак, живи с этим тебе в софтач, с такими вопросами
Аноним 06/03/17 Пнд 14:58:07 #359 №947630 
Рубаны, а где вы работаете то? Есть парочка пет-проектов, немного кода (бот на телеграме, например). И есть стойкое понимание того, что я просто не знаю, где найти работу. Опыта по рубям, естественно, нету. На рубиджобс никто даже не отвечает.
Что делать то? Денег на переезд в ДС нету.
Аноним 06/03/17 Пнд 15:24:46 #360 №947649 
>>947630
> Денег на переезд в ДС нету.
Увы, иного пути нет.
Аноним 06/03/17 Пнд 20:08:31 #361 №947850 
it-girl.jpg
>>947630
Оставь реквизиты, скину тебе на билет. Мимо руби-тян.
Аноним 06/03/17 Пнд 20:13:55 #362 №947853 
>>947850
ой не пизди
Наняться на галеру Аноним 06/03/17 Пнд 20:49:21 #363 №947889 
14577757996150.jpg
Суп, рубаны.

Рассматриваю возможность наняться на галеру.

В данный момент работаю в небогатой и небольшой конторе, которая пилит проекты для роисси. Менеджмент у нас хуёвый, зп часто задерживают. Моя зп сейчас 100к, но больше мне не дадут ни при каком раскладе. Много чего заебало на этом месте, ну и засиделся я, три года уже тут. Начал ржаветь. Хочу работать и кодить, а мы тут в конторе какое-то говно месим. Менеджеры вообще не врубаются, чо происходит. Задачи правильно ставить никто не умеет.

В моём замкадске есть пара известных галер, есть вариант попробовать наняться на одну из них - у них есть рубирабы.

Пишу только на руби (Rails, Grape). Опыт в вебе 5+ лет. Раньше писал на пхп, также знаю жс-цсс-хтмл-парашу. Английский intermediate, но на текущей работе он не востребован.

Какие подводные камни пересесть на галеру? Какие ещё есть варианты? Думал о фрилансе, но прямо сейчас обстоятельства требуют стабильной зарплаты.
Аноним 06/03/17 Пнд 21:04:14 #364 №947904 
>>947889
Че ты здесь сидишь? Пшёл в рабство на джинна. Думает он ещё.
Аноним 06/03/17 Пнд 22:26:35 #365 №948015 
14781598583480.jpg
руби сдох и на нем нет работы.вы некрофилы?
Аноним 06/03/17 Пнд 23:35:44 #366 №948057 
Снимок экрана 2017-03-06 в 23.33.29.png
>>948015
>Москва
>Найдено 226 вакансий
https://hh.ru/search/vacancy?text=ruby&area=1
Аноним 07/03/17 Втр 00:26:57 #367 №948085 
>>948015
Не могу просто, умираю от безделья на джвух работах.
Аноним 07/03/17 Втр 05:00:38 #368 №948223 
>>939124
Очевидные JVM языки
Аноним 07/03/17 Втр 09:14:08 #369 №948270 
>>948057
кто в здравом уме будет на нем писать и тем более разрабатывать?хипстеры,хайповый язык
Аноним 07/03/17 Втр 22:13:03 #370 №948769 
>>948270
Ко-ко-ко. Basecamp, GitHub, Shopify, Airbnb, Twitch, SoundCloud, Hulu, Zendesk, Square, Highrise - Ruby on Rails

proof: http://rubyonrails.org/
Аноним 07/03/17 Втр 22:25:32 #371 №948776 
>>948769
>Twitch
Давно на scala
Аноним 07/03/17 Втр 22:26:04 #372 №948777 
>>948057
>>948321
>>948769
Зачем вы отвечаете этим неадекватам? Эти люди сюда не за конструктивным диалогом пришли, жмите жалобу молча.
Аноним 07/03/17 Втр 23:25:18 #373 №948812 
>>948776
А чего они врут на офф сайте? Совсем охуели
Аноним 08/03/17 Срд 09:05:47 #374 №948974 
2017-03-08140516.png
>>948812
насколько я помню они фронт раздают через рельсы, а чатик и стримы через скалу.
Аноним 08/03/17 Срд 13:35:15 #375 №949124 
А чего они вообще переписывают постоянно свои сервисы? У них что ли производительность дико начинает расти? Или это новый начальник пришел и решил, что сегодня круто упарываться именно в это.
Аноним 08/03/17 Срд 13:59:41 #376 №949140 
>>949124

делать прост нечего
Аноним 08/03/17 Срд 19:58:09 #377 №949404 
220px-MarkOderskyphotobyLindaPoeng.jpg&f=1
>>948776
Очередной отсос динамикоблядков.
Аноним 08/03/17 Срд 22:57:14 #378 №949582 
>>948974
у них вообще ГО для чата
Аноним 11/03/17 Суб 20:55:44 #379 №951487 
Господа рубисты, я нуб, хочу писать приложеньки для Android на Ruby, можете мне порекомендовать IDE, в которую легко встанет поддержка раби и рельс?

Пробовал поставить Eclipse и плагин для Ruby, не вышло.
Аноним 11/03/17 Суб 23:16:15 #380 №951595 
>>951487
Божественный RubyMine. Не забудь включить тёмную тему - дефолтная светлая оче вырвиглазная. Пиратская активация гуглится по "rubymine license server".
Аноним 11/03/17 Суб 23:40:02 #381 №951615 
>>951595
За обоссаные иде от джетбрейнс у нас на раене сразу в петухи записывают.
Аноним 11/03/17 Суб 23:57:19 #382 №951621 
>>951595

Кажется, я только что зэкономил 999 баксов.

Спасибо за совет! Я, конечно знал, что ИДЕ есть, но не знал, что на неё можно устанавливать тему.

Теперь буду искать нужные гемы и вперёд)
Аноним 13/03/17 Пнд 15:40:15 #383 №952839 
>>951615
поясни за обоссанные
У нас на раене за гнилой базаор и петушнуть могут, епти
Аноним 14/03/17 Втр 12:17:10 #384 №953462 
>>951595
прошло пару дней, регистрация слетела нахер.
сделал снова.
это придётся делать постоянно?
Аноним 14/03/17 Втр 15:59:30 #385 №953599 
Анчоусы, прошу помощи.
Никак не могу сделать человеческий пост на двощи.

class Dvach
attr_accessor :usercode, :thread_id, :board
include HTTParty
base_uri 'https://2ch.hk'

def initialize
post_response = self.class.post(
'/makaba/makaba.fcgi',
body: {
task: 'auth',
usercode: 'huy_sosi_guboy_triasy'
}
)
get_thread_id
@usercode = post_response.request.options[:headers]['Cookie']
self.class.default_cookies.add_cookies(self.usercode)
end

def post_comment(text)
resp = self.class.post('/makaba/posting.fcgi?json=1',
:body => {
:task => 'post',
:board => 'gb',
:thread => self.thread_id,
:comment => text.to_s,
:usercode => self.usercode
},
:headers => { 'Content-Type' => 'application/json' }
)
end

end

@dv = Dvach.new

@dv.post_comment('Test ebana!')


В результате в пост добавляется %20 вместо пробела. Если постить кирилицу, то вообще превращается в нечто напоминающее url_encoded.

Куда копать, ананасы?
Аноним 15/03/17 Срд 22:26:40 #386 №954715 
syntax error, unexpected tIDENTIFIER, expecting keyword_end

class Login < SitePrism::Page
set_url "pizda_moyey_mamashi"

element :username, :xpath, "//[@name="login_username"]"
element :password, :xpath, "//
[@name="login_password"]"

end

?
Аноним 15/03/17 Срд 23:45:44 #387 №954763 
>>954715

Какавычки проверь
Аноним 16/03/17 Чтв 00:15:27 #388 №954776 
>>954763
Бля. Разбираться с автоматизацией после 10часового рабочего дня черевато, котелок не варит нифига.

Спасибо.
Аноним 18/03/17 Суб 01:20:11 #389 №956099 
5201127 a0b0c5e60c04ef3aaf7a82da64650935.jpg
Суп, рубиняши. А вы знаете, что в этом вашем руби Класс - объект, а Объект - класс? А ещё класс - Объект, но объект не Класс?

И вопрос. Что на самом деле происходит при вызове extend в теле класса? И куда попадут синглтон-методы модуля, если включить его в класс через extend?
Аноним 18/03/17 Суб 09:37:05 #390 №956184 
>>956099

> А вы знаете, что в этом вашем руби Класс - объект, а Объект - класс? А ещё класс - Объект, но объект не Класс?

А ещё Класс является экземпляром самого себя.

> Что на самом деле происходит при вызове extend в теле класса?

Модуль инклудится в метакласс твоего класса, его методы становятся доступными как синглтон-методы класса.

> куда попадут синглтон-методы модуля, если включить его в класс через extend?

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

Когда ты юзаешь extend, сам модуль попадает в иерерахию наследования, на дне которой находится метакласс класса в котором вызван extend. Метакласс модуля никуда не попадает, и его методы не становятся доступными из твоего класса или его екземпляров.
Аноним 18/03/17 Суб 09:43:25 #391 №956191 
>>956184
>А ещё Класс является экземпляром самого себя.
И метакласс суперкласса является суперклассом метакласса.
Аноним 18/03/17 Суб 14:24:49 #392 №956317 
https://www.youtube.com/watch?v=YrXJzD2E6NU

Так выглядят лучшие разработчики на руби? Я в шоке
Аноним 18/03/17 Суб 15:12:01 #393 №956344 
matz800.jpg
>>956317
Нет вот так.
Аноним 18/03/17 Суб 15:34:03 #394 №956362 
>>956344

такой милый))) а когда радуется, ножкой так смешно подпрыгивает))) ми-ми-ми
Аноним 18/03/17 Суб 15:43:54 #395 №956370 
14686812884660.jpg
>>956184
Этот ад спрашивают на рубисобеседованиях?
Аноним 18/03/17 Суб 17:35:40 #396 №956418 
>>956344
Ему Оскара уже дали или ещё не дали? Я провтыкал прост.
Аноним 18/03/17 Суб 17:37:46 #397 №956419 
>>956317
Пенис Защекуберуков
Аноним 18/03/17 Суб 18:12:18 #398 №956428 
>>956370
Ни разу не был на рубисобеседовании, но думаю что нет. И оно звучит сложнее чем есть на самом деле, там всего пару довольно простых понятий нужно усвоить (что такое метакласс, как работает цепочка наследования, каким образом она модифицируется всякими include/extend/prepend).

рубист-перекатившийся-на-elixir
Аноним 18/03/17 Суб 18:17:26 #399 №956431 
47488730460d318ba185b.jpg
>>956428
Картинка отклеилась
Аноним 19/03/17 Вск 01:52:46 #400 №956664 
>>956428
>рубист-перекатившийся-на-elixir
Расскажи об этом подробнее. Причины, мотивы, батхерты, ощущения... вот это всё.
Аноним 19/03/17 Вск 11:38:39 #401 №956790 
6329062525b044963fe3o.jpg
>>956664
Фрилансил на rails, потихоньку изучал всякую другую фигню, в том числе elixir, как-то об elixir зашла речь в разговоре со знакомым, он знал кого-то, кто знал ещё ко-го-то в компании где нужны эликсирщики, я заапплаился на вакансию, взяли, работаю. Зарплата больше чем была на фрилансе, полный рабочий день не особо напрягает.

Elixir нравится, единственный крупный недостаток, как по мне, это довольно незрелая экосистема, но это не фатально и решается со временем.
Аноним 21/03/17 Втр 01:44:32 #402 №957983 
>>956431
you ale a vely blave man, sil
Аноним 21/03/17 Втр 15:07:44 #403 №958215 DELETED
Попробовал ваше руби-говно. Я сильно разочарован. Это просто бажный кусок дерьма. Так софт не разрабатывают. Даже не знаю с чего начать, но у вас плохо абсолютно все.

мимо с++-господин
Аноним 21/03/17 Втр 15:09:45 #404 №958216 DELETED
>>958215
За несколько лет работы с питоном (как неким аналогом вашего скриптоподелия) я не столкнулся со стольким числом багов, сколько я увидел за 2 суток использования руби. Питон просто образец стабильности и логики проектирования в сранении с вашей поделкой.
Аноним 21/03/17 Втр 15:28:37 #405 №958227 
вощем ваш руби такое гавно как PHP
вечно варнинги небось выдает да ерооры
на такое гавно после perl очень противно переходить
то что на perl отлично работает на руби с ПХП ерроры выдает
заебешся переделывать
ну и кнопок намного больше жать
мучение сплошное
Аноним 21/03/17 Втр 15:34:37 #406 №958229 
>>958227

попробуй хаскелль.
Аноним 21/03/17 Втр 16:16:29 #407 №958258 
>>958215
>мимо с++
Мнение опущенцев волнует кого-то только в петушиных бараках: кресто-тред, говняшная-тред, реверс-инжениринг-тред и в прочих облюбованных байтопортвешками местах. Так что советую тебе за их пределы не высовываться, и тем более не в вваливаться в руби-тред, раздражая своим смрадом элиту.
Аноним 21/03/17 Втр 16:17:03 #408 №958259 
>>958229
ловите нюфага пока не убежал
Аноним 22/03/17 Срд 01:32:18 #409 №958701 
>>958216
А по-по-дробнее?!
Аноним 22/03/17 Срд 01:34:03 #410 №958702 
>>958229
Я ЕХАЛ СЕГОДНЯ НА ГИРОСКУТЕРЕ ПО ГАРАЖУ И УВИДЕЛ ЗАДРОТА С ЛЯМБДОЙ НА МАЙКЕ, КОТОРЫЙ ПРИШЕЛ НА СОБЕСЕДОВАНИЕ В НАШ СТАРТАП, НУ Я РЕЗКО ПОДЪЕХАЛ К НЕМУ И ПРЕГРАДИЛ ПУТЬ К КОФАУНДЕРАМ И ПОЯСНИЛ ЕГО КРИКОМ «НЕ ЛЮБЛЮ ВЫЕБЩИКОВ», ПОТОМУ ЧТО Я УГОРЕЛ ПО ООП, КРУДОШЛЕПСТВУ, И GEM INSTALL, ХИПСТАНЫ ДУХ СОВРЕМЕННОГО ВЕБДЕВА ЖИВЁТ ТОЛЬКО В КОВОРКИНГАХ, ГДЕ ХИПСТЕРЫ С 12 ЛЕТ ПИШУТ НА РЕЛЬСАХ, ПОПИВАЮТ СМУЗИ, СИДЯ НА ПУФИКАХ, И ЕБУТ ОФИСНЫХ ДИНОЗАВРОВ В РОТ! ТОЛЬКО ROR, UPWORK И РАБОТА НАПРЯМУЮ С ИНОСТРАННЫМИ ЗАКАЗЧИКАМИ. ТОЛЬКО 25 ЛЕТ СТАЖА В 30 ЛЕТ, ТОЛЬКО ХАРДКОР!!! ХИПСТАНЫ ПИШИТЕ НА РУБИ, УСТАНАВЛИВАЙТЕ ГЕМЫ И КОММИТТЬЕ ПРЯМО В ПРОДАКШЕН, НАХУЙ ВСЁ ОСТАЛНОЕ ГОВНО. ЦЕНИТЕ РЕЛЬСЫ!!!
Аноним 22/03/17 Срд 03:31:18 #411 №958751 
>>958259
как будто эти пасты шизика с очкочана кому-то интересны
Аноним 22/03/17 Срд 14:24:28 #412 №958961 
>>958751
Не шизика, а крупнейшего специалиста в области исскуственного интелекта.
Аноним 23/03/17 Чтв 12:49:11 #413 №959511 
>>958702
смешно
Аноним 24/03/17 Птн 09:24:52 #414 №959942 
rubyenv или rvm и почему?
Аноним 24/03/17 Птн 09:36:09 #415 №959948 
с кем тут можно попилить проекты?
я только вкатываюсь в в руби, хочу кому нибудь помочь за еду
Аноним 24/03/17 Птн 09:46:38 #416 №959955 
>>959948
Почему выбрал руби?
Аноним 24/03/17 Птн 10:02:15 #417 №959962 
Рубаны, какая у вас инфраструктура используется сейчас? Какие веб-сервера и прочее? Что с хостингами?
Аноним 24/03/17 Птн 10:11:22 #418 №959970 
Объясните, зачем для установки рельс нужен нудный жс (node.js)? Что за нелепая зависимость?!
Аноним 24/03/17 Птн 14:18:24 #419 №960070 
>>959970
Собирать ассеты и js.

Как ни странно, можно и без него обойтись.
therubyracer, например.
Аноним 24/03/17 Птн 17:05:27 #420 №960146 
>>959942
ruby-install и chruby - самый лайт
Аноним 24/03/17 Птн 19:49:00 #421 №960258 
>>960146
>ruby-install и chruby
>>960070
>therubyracer
Ну началось. Я думал у вас хоть зоопарка и мешанины велосипедов нет...
Аноним 24/03/17 Птн 20:32:51 #422 №960287 
>>959955
Синтаксис нравится сахарка много
Аноним 24/03/17 Птн 20:42:48 #423 №960293 
>>959942
rbenv
Аноним 24/03/17 Птн 22:02:46 #424 №960353 
>>959948
Оставляй контакты.
Аноним 24/03/17 Птн 23:35:34 #425 №960397 
>>960258
Что господин имеет против ruby-install и chruby? Наверное, господин не удосужился опробовать эту комбинацию и несет тут пафосную хуйню?
Аноним 25/03/17 Суб 09:41:20 #426 №960510 
Все это не нужно, ведь есть универсальный asdf (https://github.com/asdf-vm/asdf).
Аноним 25/03/17 Суб 21:55:43 #427 №960979 
Короче, такая история, решил я разжиться книгами на pragprog.com, а к оплате перейти не могу. Обратился в суппорт, пишут, что не могут отправить из-за 'political sanctions'. Ну я думаю, ок, куплю электронные версии тогда, к тому же при покупке электронных к оплате перейти можно было. Пишу на всякий случай в суппорт, а они после долгих раздумий, через два дня отписывают, что эл. версию ты тоже, мол, не можешь купить. Это они меня наебали получается? О каких таких санкциях идет речь, ведь я же не продукты питания покупаю. Короче теперь не стыдно спиздить книгу у pragprog, т.к. продавать все равно не хотят. Амазон идет нахуй сразу т.к. на электронки там цена в два раза выше, а бумага оттуда месяц будет идти.
Аноним 27/03/17 Пнд 12:26:21 #428 №961739 
meetup1.jpg
meetup2.jpg
ЖИВЁМ МОЛОДОСТЬЮ И ЭНЕРГИЕЙ
Аноним 27/03/17 Пнд 13:21:41 #429 №961753 
>>948776
>>949404
>>948812
>>948974
>>949582

Rails-монолит, Go для чата. В блоге ни слова про Scala

https://blog.twitch.tv/technically-speaking-group-chat-and-general-chat-engineering-86d6cb40a02c#.1otw3bmbx

Engineering Blog вообще полудохлый и очень слабенький (по сравнению с GitHub Engineering)

• как мы оптимизировали Garbage Collection в Go
What makes a great data science team?
• как мы делали custom text view implementation для iOS
• как мы чинили чат на Ember.js
• скрипт для версионирования iOS-приложения
• как мы используем Postgres (топология, роутинг, роли, обновления)
• ускоряем iOS разработку с CocoaPods

https://blog.twitch.tv/tagged/engineering
Аноним 27/03/17 Пнд 17:36:26 #430 №961940 
>>961739
Что за сходка? На втором фото второй справа, это же чел, который разрабатывает всякие там dry-rb и т.д? Кстати поясните за все эти rom-rb, dry-rb - зачем эта хуета нужна вообще и почему ее адепты так сильно гордятся тем, что они это используют? Годится ли оно для чего-либо, кроме теребления своего чсв?
Аноним 27/03/17 Пнд 19:12:18 #431 №961988 
>>961739
>i love code звучит от рубиста так, как будто этот рубист полный долбоёб. Ведб руби вобрал в себя философию смалтолка и пёрла, где краткость сестра таланта. Тобишь философия руби гласит: я ненавижу код, его должно быть как можно меньше, но отдачи как можно больше. Поэтому в руби и рельсах столько магии. Нужно было помать за руку того докладчика и погнать его со сцены ссаными тряпками.
sageАноним 27/03/17 Пнд 21:36:47 #432 №962058 
>>961753
Але, ебанутый, стек технологий твиттера это второй по используемости стек в мира скалы, по после стека тайпсейфа теперь это lightbend, те кто поддерживают скалу и многие связанные с ней технологии и зарабатывают на ней.
Посмотри их гитхаб чтоле https://github.com/Twitter.
Кстати http://twitter.github.io/effectivescala/ часто рекомендуют вкатывающимся в скалу.
мимоскалаёб
Аноним 27/03/17 Пнд 21:40:49 #433 №962060 
>>962058
Но что ты собрался разрабатывать на скале в постсовке?
Аноним 27/03/17 Пнд 22:16:30 #434 №962076 
>>962058
ебать дебил
путать в 2017 твитч и твиттер это только скала вместо мозга
Аноним 28/03/17 Втр 00:03:07 #435 №962161 
Screen Shot 2017-03-28 at 00.01.21.png
А почему все говорят что руби умирает ?
На пикрилейтед очевидный рост количества загрузок гемов в день
http://bestgems.org/stat/download
Аноним 28/03/17 Втр 00:21:50 #436 №962176 
>>962161
Это как у иллюминатов, произносят заклинание, в надежде, что когда-нибудь таки умрет. Ну либо школьники, хватающие всего по верхам в погоне за самыми новыми технологиями. Когда живешь в ритме такой погони, кажется, что вообще все технологии умирают.
Аноним 28/03/17 Втр 09:33:05 #437 №962258 
>>916183 (OP)
Поясните за методы доступа в классах, а точнее зачем объявлять метод чтения атрибутра, ведь мы же уже присвоили значение перменной в первом методе(записи).

Аноним 28/03/17 Втр 09:33:36 #438 №962259 
Снимокэкранаот2017-03-2809-46-18.jpg
>>962258
бля отклеилось
Аноним 28/03/17 Втр 12:50:55 #439 №962329 
>>962259
чтобы можно было вызвать метод экземпляр.age
первый мотед для записи через =
второй чтобы узнать значение которое записали

sageАноним 28/03/17 Втр 14:05:17 #440 №962346 
>>962259
ты слепой? там же написано "Читаем значение из @age"
Аноним 28/03/17 Втр 16:09:50 #441 №962383 
В Rails первее всех собрали воедино множество инструментов для повышения удобства разработки. Но сейчас вы не найжете в нем "революционности". По сути, ничего нового в Rails не изобретено. ActiveRecord, MVC? Это паттерны прямиком из книжек 90-х годов. Шаблонизатор вроде .erb? Смешно. REST API? Тоже не ново. LESS, SCSS? Никого этим не удивишь. Миграции для БД, скаффолдинг тоже везде есть. Таким образом, в Rails есть всё то же самое, что и в других веб-фреймворках. Сейчас, когда все догнали и перегнали Rails, рубистам только и остается говорить, что всё спиздили у них. Что мы имеем в сухом остатке? Зрелое коммьюнити и очень зрелый фреймворк, т.к. все хипстеры, которые гоняются за технологиями, перепрыгнули куда-то в JavaScript-джунгли. Только вот эти хипстеры и вывели руби в люди, а не какие-то нудные корпоративные инженеры, как джаву и дотнет. Ах, да. Многопоточность и модель акторов сюда не завезли.
Аноним 28/03/17 Втр 16:10:14 #442 №962384 

Субъективно: в Rails много магии и отсутствие средств контроля за это магией. Точнее средств достаточно, но это всё лишний геморой.
Аноним 28/03/17 Втр 16:10:35 #443 №962385 
Часто быстрая разработка на RoR оправдывает вложения, но ещё чаще масштабирование усложняется из-за высокой стоимости.
Аноним 28/03/17 Втр 16:10:55 #444 №962386 
Поддерживается далеко не всеми хостерами. Хостинг несколько экзотичен, поэтому или долго искать специализированный или разворачивать все на VPS. Этот факт сразу отсекает мелкие проекты. Мало хостеров поддерживает, короче говоря.
Аноним 28/03/17 Втр 17:04:09 #445 №962408 
Внезапно стали сыпаться тесты тупо на первой строке. Говорит тип in `<top (required)>': uninitialized constant SitePrism (NameError)

Работало ещё утром. Давай разбираться - и уже час охуеваю. Добавляю require 'site_prism' тупо в начало страницы - начинает говорить uninitialized constant Capybarа, и так далее
Есть у кого мысли? Как будто env.rb овталился, но он на месте

uninitialized constant Capybara

..
Аноним 28/03/17 Втр 17:09:00 #446 №962412 
>>962408
> Внезапно стали сыпаться тесты тупо на первой строке.

ну давай погадаем, раз код не менялся, то посмотри на бандл апдейт, может сломал зависимости, или в иде слетели энвайронмент настройки.
Аноним 28/03/17 Втр 17:14:38 #447 №962417 
>>919843
очень глупое предположение.
Аноним 28/03/17 Втр 17:20:55 #448 №962421 
>>962383
не рельсами едиными. Hanami, Padrino, ну и синатра (хоть и из другой оперы).
а вообще, руби охуенны для напейсания своих маленьких юзерскриптов под никсы. я руби-скриптом жымаил себе чищу от спама регулярно, набросал на коленке за 5+ минут
Аноним 28/03/17 Втр 17:20:58 #449 №962422 
>>962383
поддерживаю
Аноним 28/03/17 Втр 17:23:13 #450 №962424 
>>962386
да шаред хостинг уже неактуален
Аноним 28/03/17 Втр 21:40:06 #451 №962637 
>>962421
>Hanami, Padrino, ну и синатра
Работы не завезли.
sageАноним 28/03/17 Втр 21:49:07 #452 №962654 
>>962637
согласен с этим господином - даже на чистом руби работы мало. Смиритесь уже наконец, что Ruby == Rails.
Аноним 28/03/17 Втр 22:57:24 #453 №962710 
>>962412
Пофиксилось с помощью bundle clean и bundle package, но какого хуя это было я так и не понял.
Аноним 28/03/17 Втр 23:00:24 #454 №962712 
Рубаны, а вы что-то зарабатываете с руби? Только честно.
Или за идею пет-прожекты делаете? Почему вам нравится этот язык? Логотип красивый?
Аноним 29/03/17 Срд 00:12:06 #455 №962763 
>>962421
Кроме веба нигде не применяется? Питон, например, используют в научных расчетах и геймдеве.
Аноним 29/03/17 Срд 07:10:24 #456 №962831 
>>962712
Увы, если ты не в ДС, то тут только либо фриланс где будешь воевать только с индусами за право работать за еду либо крупные города. В провинции ты либо клепаешь сайты на похапе, либо сидишь без работы.

Осваиваю руби с 2015 и тихонько плачу от безработности
Аноним 29/03/17 Срд 07:13:21 #457 №962832 
>>962831
А почему ты плачешь, вместо того чтобы учить пхп, няшечка?
Аноним 29/03/17 Срд 08:30:08 #458 №962844 
>>962832
Потому что перспективы ковыряния пхп-фреймворков меня не привлекают совсем? Поэтому я учу жабу
Аноним 29/03/17 Срд 10:53:19 #459 №962884 
>>962831
Просто не умеешь. Я вот с двумя работами почему-то охуеваю, а ты на двачах плачешь.
Аноним 29/03/17 Срд 11:34:59 #460 №962896 
>>962884
Город?
Аноним 29/03/17 Срд 11:44:44 #461 №962898 
>>962896
А тебе зочем? 500к-мухосрань, работа удаленная.
Аноним 29/03/17 Срд 11:48:26 #462 №962899 
>>962898
Ну вообще, есть одна руби-контора, в которой неплохо было работать хоть и не много платили, но туда вряд ли попадешь - это теперь скорее дело одного человека, чем компания, как раньше было, когда я там работал.
Аноним 29/03/17 Срд 12:06:51 #463 №962907 
>>962898
Ну в моей 300к мухосрани, например, кроме PHP и шарпа больше не существует языков программирования.

На фрилансе работал. За 5 баксов в час. Заработал 1к и больше как-то шишка не стоит. Повышая ставку — количество доступной для меня работы начинает стремиться к нулю. Наверное, ты очень скиллован, что можешь без проблем зарабатывать там нормальные деньги.
Аноним 29/03/17 Срд 12:43:11 #464 №962936 
>>962763
раби в макоси юзается для того же, для чего пиздон в линухах -- как в сырцах каждой второй софтины в линухе обязательно наткнешься на .py, так в макоси на .rb. ну, и еще можно невозбранно купив лицензию пейсать на рубях под яблофон (RubyMotion) и под ведро (Ruboto)
Аноним 29/03/17 Срд 12:43:47 #465 №962937 
>>962936
UPD: Ruboto халявен.
sageАноним 29/03/17 Срд 12:48:46 #466 №962945 
>>962763

Обсасывали миллион раз, применяется. Гугли.
Аноним 29/03/17 Срд 13:13:29 #467 №962961 
>>962907
"Фриланс" забудь ваще, это говно для школьников. Ищи нормальную фуллтайм удаленную работу.
Аноним 29/03/17 Срд 13:37:56 #468 №962976 
>>962961
Разве это реально, не имея коммерческого опыта? Тем более, для зарубежного фуллтайма.
Аноним 29/03/17 Срд 13:47:29 #469 №962981 
>>962976
Конечно же нет, все в точности до наоборот. Фриланс - для профессионалов, фуллтайм тоже для профессионалов. Школьники нужны только в ДС где есть места для стажеров и какие-нибудь изи-джуниоры. Всё, больше ничего нет.
Если все-таки фриланс или смерть - то тупо вкатываешься в веб с пхп, битриксами, вордпрессами.
Аноним 29/03/17 Срд 15:06:29 #470 №963019 
>>962936
>>962937
Эти инструменты не распространены.
Аноним 29/03/17 Срд 15:15:27 #471 №963028 
Почему руби так популярен у макохипстеров?
Аноним 29/03/17 Срд 15:16:18 #472 №963030 
>>963028
Лучше задай вопрос почему мак ебать так модно. Вот и весь ответ.
Аноним 29/03/17 Срд 15:19:01 #473 №963034 
>>963030
Потому что он няшный и там светофорчик в окошечках.
Но каким боком здесь связь с руби?
Аноним 29/03/17 Срд 15:20:19 #474 №963036 
>>963034
Ты сам ответил.
Аноним 29/03/17 Срд 15:21:38 #475 №963037 
>>963036
>Но каким боком здесь связь с руби?
Нипанятна! Руби не няшный, питон няшнее.
Аноним 29/03/17 Срд 15:23:44 #476 №963039 
>>963037
Ответ: никаким.
Аноним 29/03/17 Срд 15:24:52 #477 №963041 
>>963039
Случаное совпадение?
Аноним 29/03/17 Срд 15:33:36 #478 №963047 
>>962936
> в макоси на .rb
Там все те же приложения, разве нет? По крайней мере те же что на винде в основном.
Аноним 29/03/17 Срд 16:22:59 #479 №963081 
Свежак
https://www.youtube.com/watch?v=reDzhbxVBi8
Аноним 29/03/17 Срд 16:23:25 #480 №963082 
>>963081
Про что там? Некогда смотреть.
Аноним 29/03/17 Срд 16:37:27 #481 №963090 
>>963082
Хипстеры с тяночками собрались на конфе чтобы потешить своё чсв, ничего особенного.
Аноним 29/03/17 Срд 17:22:39 #482 №963139 
sample-68e36d57f4760b0de6377668cb84d9f0.jpg
>>963081
някихиро няцумото
Аноним 29/03/17 Срд 17:35:22 #483 №963150 
>>963139
Так вот в чем дело! На руби дрочпт анимешники потому что главный рубист узкоглазый!
Аноним 29/03/17 Срд 19:25:44 #484 №963209 
nichooyanevidno.jpg
nichooyanevidno2.jpg
nichooyanevidno3.jpg
Лайк, если сейчас на воркшопе по Hanami.
Репост, если сидишь в офисе или дома.
Аноним 29/03/17 Срд 19:35:58 #485 №963210 
>>963209
Еее бороды тяночки макбуки!
Аноним 29/03/17 Срд 19:42:15 #486 №963214 
Как же хорошо то! Открыл макбук, пишешь код на ламповом руби и все няши-стесняши миленькие тяночки твои! Просто борода и макбук! Всё!
Не то что мерзкий питон.
Аноним 29/03/17 Срд 20:07:19 #487 №963231 
lolphoto.jpg
>>963210
>>963214
Всё так
Аноним 29/03/17 Срд 20:48:54 #488 №963262 
>>963231
Колонки ямаха, дороха, бохата!
Аноним 29/03/17 Срд 21:00:58 #489 №963270 
>>963262
еще и кондиционер есть!!!11
Аноним 29/03/17 Срд 22:30:08 #490 №963320 
>>963081
Чот всё слишком радужно выглядит. Раскройте подводные камни всеё этой движухи.
Аноним 30/03/17 Чтв 12:20:19 #491 №963537 
>>962060
То что дяди из-за океана скажут.
>>962076
Блять. Я пиздоглазый мудак. Извините.
Аноним 30/03/17 Чтв 16:32:08 #492 №963684 
>>963214
макбуки только для пидрофанбоев, что ездят по несмазанным рельсам по жизни
Ъ-посоны поднимают линух и на нем ваяют няшные скрипты на ламповом чистом руби.
Аноним 30/03/17 Чтв 17:14:46 #493 №963708 
>>963684
> ко-ко-ко, линукс, ко-ко-ко, вип, ко-ко-ко, ъ-посоны.
Аноним 30/03/17 Чтв 17:22:10 #494 №963713 
>>963708
макоёбушка, ты ошибся местом у параши, возвращайся под свою шконочку, няш :3
Аноним 30/03/17 Чтв 21:45:39 #495 №963878 
remoteinterpreterstest.png
Проиграл с графиков
Аноним 30/03/17 Чтв 21:56:11 #496 №963888 
>>963878

какое-то несвежее принес, ща все на 2017.1. и 2016.3
Аноним 30/03/17 Чтв 23:28:20 #497 №963936 
pb7con.jpg
>>962383
>Многопоточность и модель акторов сюда не завезли
Actor-based concurrent object framework for Ruby https://celluloid.io

Modern concurrency tools including agents, futures, promises, thread pools, supervisors, and more. Inspired by Erlang, Clojure, Scala, Go, Java, JavaScript, and classic concurrency patterns. http://www.concurrent-ruby.com

Да, на данный момент есть GIL и concurrency пока что на IO, когда guild'ы завезут (ориентировочно в Ruby 3) — получше с этим станет.

>>962637
Вот это бля вброс! Никто не мешает рядом с монолитом на Rails хуячить микросервисы на Rails API, Hanami, Grape, Sinatra.
Аноним 30/03/17 Чтв 23:36:02 #498 №963942 
>>963878
Что качают?
Аноним 30/03/17 Чтв 23:57:41 #499 №963957 
>>961940
Что за сходка?
https://moscow-rb.timepad.ru/event/460805/

Вот видосы подъехали:
https://youtu.be/JlNcwac5bDI
https://youtu.be/n2wHsK92OPs
https://youtu.be/sl26IxKujyY
https://youtu.be/TnvKf4RVtwU

>На втором фото второй справа, это же чел, который разрабатывает всякие там dry-rb и т.д?
Да

>Кстати поясните за все эти rom-rb, dry-rb - зачем эта хуета нужна вообще и почему ее адепты так сильно гордятся тем, что они это используют? Годится ли оно для чего-либо, кроме теребления своего чсв?
Если смотреть на rom-rb в рамках Hanami, то это уже production-ready для микросервисов — запустил на puma и погнали. Ну тип другие концепции, меньше «магии» (читай как методов), чем в Rails, меньше весит, быстрее работает. Ну и там Repository вместо ActiveRecord или DataMapper.

>>961988
В руби ВЫРАЗИТЕЛЬНЫЙ КОД, а не «я ненавижу код» и «краткость сестра таланта». Ты должен любить код за то, что он выразителен, а не спагетти, как на C++.

>>962060
https://hh.ru/search/vacancy?text=scala&area=1
Регион: Москва
Найдено 114 вакансий

>>962712
>а вы что-то зарабатываете с руби? Только честно.
Типа того
https://hh.ru/search/vacancy?text=ruby&enable_snippets=true&clusters=true&area=1&salary=95000&only_with_salary=true&from=cluster_compensation
Регион: Москва
От 95 000 руб.
Найдено 73 вакансии

>>962763
https://github.com/trending/ruby

>>963028
>>963030
>>963214
>>963090
>>963684
>>963713
Хуя себе вы зашоренные!
>на полном серьёзе бомбить с macOS
Да, у меня корпоративный макбук, но я без задней мысли могу делать то же самое на нище-lenovo с GNU/Linux Fedora или Ubuntu.

>>963150
Ни одного аниме-дебила ни разу не видел среди рубистов, с кем работал.
Аноним 31/03/17 Птн 01:34:51 #500 №963995 
Подскажите, с какой книги лучше начать изучение руби.
На русском
Аноним 31/03/17 Птн 01:42:55 #501 №963996 
>>962945
Понятно, значит, нет. Загуглил тебе за щеку.
Аноним 31/03/17 Птн 10:22:53 #502 №964076 
>>963996
>>945489
даун
Аноним 31/03/17 Птн 14:21:27 #503 №964207 
Screen Shot 2017-03-31 at 14.12.14.png
Взял гем double_entry для работы с внутрисайтовыми платежами, теперь появилась необходимость построить график цены отдельного товара. Думаю сделать отдельную таблицу со средней ценой за день, которую будет считать крон скрипт (гем whenever) на основе данных из таблицы созданной гемом (пикрелейтед). Я все правильно делаю ?
Аноним 31/03/17 Птн 21:45:36 #504 №964501 
>>963936
>https://celluloid.io
v.0.10
Аноним 31/03/17 Птн 21:58:17 #505 №964508 
>>963957
>Ты должен любить код за то, что он выразителен
Когда заканчиваются реальные аргументы, то в ход идут слова "выразителен", "элегантен", "приправлен сахарком". Sic!
Аноним 31/03/17 Птн 21:59:28 #506 №964510 
>>962161
Количество войтишников растет, количество скачивания гемов растет. Да и вообще синтетическая метрика ни о чем не говорит.
Аноним 31/03/17 Птн 22:02:44 #507 №964514 
>>963957
>Ну тип другие концепции, меньше «магии» (читай как методов), чем в Rails, меньше весит, быстрее работает. Ну и там Repository вместо ActiveRecord или DataMapper.
Перевернули концепции руби и рельс и пытаются это напарить. Вот это лооол. Но Мутз негодовал, что руби с рельсами ассоциируют. А оказалось, что отхождение от такого канона обесценивает руби в ноль. Я все скозалъ.
Аноним 31/03/17 Птн 22:03:34 #508 №964515 
>>963995
Code School – Rails for Zombies
http://railsforzombies.org/

Rails Tutorial by Michael Hartl
http://railstutorial.ru/

Ruby on Rails Screencasts
http://railscasts.com/

Learn Ruby with the Neo Ruby Koans
http://rubykoans.com/


Потом отправляешься на собеседование и просишь от 1500 долларов. Профит!
ВНИМАНИЕ! Аноним 01/04/17 Суб 14:25:30 #509 №964781 
ПЕРЕКАТ!
https://2ch.hk/pr/res/964778.html
https://2ch.hk/pr/res/964778.html
https://2ch.hk/pr/res/964778.html
comments powered by Disqus

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