Этого треда уже нет.
Это копия, сохраненная 24 мая 2017 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
88 Кб, 959x833
34 Кб, 430x375
3862 Кб, 3596x1648
Ruby Thread #916183 В конец треда | Веб
Предыдущий: 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. Есть ли у руби русское коммьюнити?
Нет. Вернее есть, но оно протухло и там полно людей у которых чсв высоко.
Яркий пример - ru7p(byANUSconferencegUs.jabberPUNCTUMr^?Yu
А еще есть русская слак конфа - 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.
189 Кб, 258x393
#2 #916298
Анон, что можешь сказать про трейлблейзер? Вообще свои мысли на этот счет.
Особенно интересно мнение этого >>913136
анона
916509916665916677
60 Кб, 450x590
#3 #916509
>>916267

>index.html.erb


><% render %>


Метод возвращает результат, а шаблонизатор его не выводит <%= render %> же, не?

>>916298
Пока толком не сталкивался и не разбирался с ним, не могу выразить компетентного мнения по его поводу. Все что о нем пишут звучит здорово, но я пока не видел, чтобы кто-то коротко и ясно сказал, какую проблему он решает. Буду рад ознакомиться с такой инфой.
916580
#4 #916560
>>916534
Как же противно твое лицемерие
916571
#5 #916571
>>916560
Думаешь, парень за словами благодарности прячет презрение и злобу?
#6 #916580
>>916509

>какую проблему он решает


Ну, осмелюсь написать от себя но я тоже не работал, просто смотрел. Это библиотека, набор гемов, которые реализуют основные ООП-патерны и таким образом реализуют отличную от rails-way архитектуру - декомпозируют модель, контроллеры, разносят бизнес-логику на отдельные модули.
Например, вводят ServiceObject, и уносят туда все, оставляя только http-релейтед логику запрос-ответ. Из моделей убирают валидации, коллбеки и вообще все, оставляя только ассоциации и встроенную в эктиврекорд persistance-логику. Ну и еще всякое такое типа форм-обжектов, полиси-обжектов. А еще меняют структуру директорий в проекте. Но все это можно использовать выборочно, то есть не принуждают использовать все.

И собственно мой вопрос о том как анон относится к этому гему на самом деле состоит из двух вопросов - 1) как он относится к рейлс-вэй 2) как относится к альтернативе в виде конкретно этого гема (мне вот он не нравится, хотя с идеей согласен).
916624
19 Кб, 512x512
12 Кб, 400x400
#7 #916624
Нужно шапку для следующего треда освежить. или есть способ актуальную запдейтить?

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

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

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

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

>не отвечают на вопрос, какую проблему он решает


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

>Про "Рейлс-Вэй" довольно исчерпывающе DHH расписал


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

Недавно узнал про Hanami и хотелось бы разобраться. Они кажется как раз нацелены на другой подход.
916683916838
199 Кб, 800x448
#11 #916661
>>916624

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


>У Рельсы есть проблемы, но архитектура вряд ли входит в первые позиции этого списка.



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

Решай исходя из предпочтений. А вакансий и работы но не денег больше всего в ПХП и 1С.
916666
#13 #916665
>>916661
Ну, анон, вот ты прокомментируй >>916298.
916677
#14 #916666
>>916662

я не хочу пыху и 1С, я ж не безнадежный. Мне нравится руби из за синтаксиса в целом, но в русском сегменте все на питоне ебашат как угорелые, вот я и задумался.и на пхп конечно
916683
#15 #916677
>>916665
>>916298

Несколько раз пытался засунуть в проект Trailblazer, но так и не понял чем он лучше обычных PORO.
https://www.reddit.com/r/ruby/comments/52ls60/would_you_use_trailblazer_on_a_new_application/d7ld1fo/
916680
#16 #916680
>>916677
Вот и мне он не нравится своей перегруженностью, своим DSL, своими интерфейсами. Опять какая-то магия, опять учить и разбираться. А зачем не понятно - гораздо красивее сделать PORO.
#17 #916683
>>916660

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


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

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

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

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


Что ты несешь? Точнее как ты это себе представляешь? Приходишь такой к заказчику перед релизом и говоришь, мол, вы знаете, у нас тут жыра трещит по швам, задачи на год вперед расписаны, поэтому давайте перепишем проект, да?
916694916727
#19 #916692
>>916683

>Возможность сочетать его с Hanami делает такую перспективу заманчивее


А мне кажется не надо. В ханами модели уже декомпозированы и персистенс-уровень отделен от бизнес-логики. И для других аспектов, насколько я успел урывками почитать, там тоже свои решения.
#20 #916694
>>916691
Да, поэтому будем переносить в микросервисы!
я не тот анон, если что
#21 #916727
>>916691
Двачую. Мантры про "переписывание проекта" практически никак к реальности не применимы.
#22 #916838
>>916660
Сорри, поясни плиз, чем плоха фэт модел?
#23 #916842
Пишу уже почти год на раби и так и не понял, как применять на практике проки (лямбды). Можете накидать примеры кода, где они реально востребованы?

Использовал разве что в качестве эдаких хелперов - когда лень дефайнить хелпер-метод, я тупо внутри метода писал лямбду уебанство же
916952917169917288
#24 #916952
>>916842
Скоупы в методах ассоциаций у ActiveRecord.
917169
#25 #917169
>>916842
Удваиваю вопрос.
>>916952
Он вообще-то про руби спросил, а не про это говно.
917288
#26 #917288
>>916842
>>917169
Использую в качестве заглушек в тестах, когда один сервисный объект вызывает другой, публичный интерфейс у всех состоит только из метода call, а сами объекты друг с другом взаимодействуют через композицию - т.е. инстанс одного передается параметром при создании другого. Таким образом, сервисные объекты не имеют между собой жесткой связи. Но не всем это нравится, конечно. Если книжки не читал, скорее всего у тебя случится ОВЕРИНЖИНИРИНГ. А так лямбды в обычной жизни больно-то не нужны, если не gem пилишь. Обычно конфиг передают с помощью лямбд.
917983
#27 #917721
Анон, что думаешь по поводу платных курсов по рельсам? В частности mkdev и thinknetica. Круды простые клепать уже умею, но для работы этого явно мало
917822
#28 #917822
>>917721
если брать курсы то только видеокурсы - на удеми, например
там почти всегда в инете можно нарыпь прмокод на скидку на 50 и более процентов
#29 #917898
>>917803
У меня частенько ощущение возникает, что я хуйню творю и велосипеды изобретаю. И как раз грамотного код ревью не хватает, и проекта для гитхаба нормального. Из за этого и поглядываю
#30 #917983
>>917288
Нихуя непонятно, пример кода можешь скинуть? Почему нельзя получить статус сервисного объекта и делать эту самую композицию только если статус норм?

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

Ну и в частности да, конфиги удобно настраивать; не всякое гавно сериализуемо.
918034918088
#32 #918034
>>918017
Приведи пример кода.
Потому что то, о чем ты говоришь, нужно не так уж и часто, к тому же чревато зачастую ощутимым снижением производительности. Такое чувство, что в 99% случаев, когда используются лямбды. можно обойтись и без них. И даже нужно.
918052918077
#33 #918052
>>918034

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

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

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

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

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

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


Потому что можно.

>>918034
Микрооптимизации вряд ли дают ощутимый прирост в производительности, если код в пределах разумного написан.
#36 #918088
>>918017

>каррирование, внутренние итераторы, неявная/явная смена биндинга


Блин, ни слова не понимаю. Мои дела совсем плохи?
918307
#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 у каждого свой.
#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 у каждого свой.
#38 #918095
#39 #918105
Анон, я дурак. Не умею принимать решения. Всегда с этим замечал за собой проблемы.

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

Что делать? Подскажи годный способ самовыпила.
918108918237
#40 #918108
>>918105
Почему в этом треде?
#41 #918110
>>918092
Годно расписал. Вопрос был не мой, я тут мимокрокодил, но мне эта инфа будет полезна. Спасибо, анон.
#42 #918237
>>918092
Спасибо.

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



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

>>918105

Подбрось монетку. Я так поступал в универ и женился.
#43 #918307
>>918088
баззвордс обычные, означают тривиальщину, не парься
918485
#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

И никто не поправил, хотя думал: проснусь, посмотрю, а тут уже меня уже обосрали и пояснили за нюанс. Все, блядж, самому приходится делать. Чего уж говорить о по-настоящему сложных и интересных штуках.
#45 #918566
>>916661

>За примером далеко ходить не надо, вот он рейлс вей во всей красе: https://github.com/redmine/redmine/blob/master/app/models/user.rb


В java интерпрайзе такая же хуета. Но кода по ссылке хоть и много, он вполне быстро читается и понимается. Не вижу проблемы
Нюфаг
#46 #919013
>>916183 (OP)
Сап сосач, ситуация очень тяжелая, нуждаюсь в любой хелпе.
В в общем делаю веб-парсер сайта, всё шло гладко, пока я не наткнулся на выпадающий список..

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

http://www.sammccauley.com/Product/loreal-colour-riche-lipliner/27631/2224.14.0 к примеру эта страничка
919202
34 Кб, 943x309
#47 #919202
>>919013
doc = Nokogiri::HTML(html)
doc.css('.prodselector option').each { |p| puts p['value'] }
картинки пиздец, нужно отправлять пост запрос с value в параметрах и в ответе будет ссылка на картинку.
919211
#48 #919211
>>919202
спасибо, мэн, будем пробовать )
#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
919620
#50 #919620
>>919615
Можно удалять, сорри. Бомбануло просто на ночь глядя.
#51 #919820
аноны, почему "гуру из сыроварни доу.юа"все гонят на руби? говорят что это самый конченый язык вакансий мало, работу не найдешь, я только вкатываюсь .
говорят лучше учи пхп или питон плюс жаваскрипт.
в тоже время знаю инсайд от хрюш что рубист самая сложная вакансия для них, 2 года и берут в миддлы больше 3х уже сеньор.
и в украине только по руби есть бесплатные курсы, сконкурсом? где правда анон?
919829
#52 #919829
>>919820
Лучше учи пхп или питон плюс жаваскрипт.
919837
#53 #919837
>>919829
почему?
919838
#54 #919838
>>919837
Руби - самый конченый язык вакансий мало, работу не найдешь.
919842
#55 #919842
>>919838
ясно, ты подумал что я зелёный и копипастишь, а я серьёзно спрашивал.
919843
#56 #919843
>>919842
Вместо того, чтобы читать - давно бы попробовал уже что-нибудь и сам всё понял. Я тебе так скажу: как правило, пхпшник и жаваскриптер - не знают руби, а рубист наоборот: обычно знает пхп и жаваскрипт. Вот и думай, кому верить и что учить.
919851962417
#57 #919851
>>919843
извини, может я неправильно задал вопрос.
Задам по-другому : насколько разумно выбирать руби первым ЯП? как потом с работой? хоть контора хоть апворк? или лучше отвеслать пхп-макакой с год а потом доучить руби?
919860
#58 #919860
>>919851
Я делал вторым путём, не знаю как с нуля руби учится. На моей памяти нет таких людей.
#59 #919877
>>919859
курсы киевские изистартин айти за 10%, да? или есть ещё? с чего начинал, что есть на русском кроме каналов на ютубе? на инглише долго. что подтягиваешь кроме рельс?
#60 #919885
>>919884>>91988
спасибо посмотрю. я имел ввиду эти курсы. попробуй туда http://fe.easystartin.it/ это по руби.
#61 #919901
>>919884
Схоронил пикчу, напишу на синатре.
Может у кого есть еще тестовые или стажерские задания подобного вида(желательно посложнее)? А то я чет как ни придумаю что-нибудь, так для моего уровня это месяца 2-3 работы, а тут и небольшое приложенице, и норм идея(не эти ебучие твиттеры, тудушки, борды).
75 Кб, 1024x768
#62 #919923
Хочу знать все про авторизацию в вебе. Урывками тему знаю и даже применяю, но все сводится к использованию гемов по мануалам. Не смогу описать что там под капотом. Когда формируется токен, как передается, где хранится, как шифруется? Как организованы сессии? Как работает прикрученная авторизация из социальных сетей?

Где получить хорошее целостное знание вопроса? Посоветуйте источники. Русский, английский - не важно.
919947919967
#63 #919947
>>919923
открой исходники любого опен-сорсного браузера да почитай. как дети чесслово
919967
#64 #919967
>>919947
Ты бы еще ему предложил посмотреть что там в процессоре на уровне машинных команд выполняется

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

Сначала все равно попытаюсь нагуглить что-нибудь мало-мальски релевантное из теории. Столько книжек про веб написано, наверняка кто-нибудь раскрыл эту тему хоть в одной главе. Не могу избавиться от ощущения непоследовательности в подходе изучения вопроса по написанному коду. Как будто по ответу на вопрос "Как?" пытаюсь понять "Что и зачем?".
919989
#66 #919989
>>919975
Хартла читал, RoR Security Guide? Помойму там вполне понятно описано, как, где и почему именно так
920026
#67 #920026
>>919989
Теперь прочитаю. Пробежался по заголовкам, должно подойти. Еще раз спасибо!
920029920041
#68 #920029
>>920026
Соси спасибо, мартышка.
#69 #920041
>>920026
Ну и исходнички почитывай, куда уж без них. Мне как-то теперь даже лень книги или статьи искать чтобы о чем то нужном узнать. Я сразу хуячу в исходники и луркаю как там сделали нужную мне фишку походу уже начал превращаться в copy-paste мартыхана
#70 #920053
>>919887
да хуй их знает в фейсбуке писали что руби

>Доброго дня, Анонінмус



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

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

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

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

Чекаємо на Вашу відповідь.
#70 #920053
>>919887
да хуй их знает в фейсбуке писали что руби

>Доброго дня, Анонінмус



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

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

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

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

Чекаємо на Вашу відповідь.
920055920062
#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ічня включно.
Будуть питання - звертайтеся.

Бажаємо успіхів :)
#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ічня включно.
Будуть питання - звертайтеся.

Бажаємо успіхів :)
#72 #920062
>>920053

>продовжуємо професійно розвивати студента - допомагаємо максимально швидко просуватися від позиціі junior до middle, згодом до senior;



Не забивай трел этим говном, пожалуйста, спасибо.
#73 #920079
>>916183 (OP)
Анонас, хелпани чем сможешь, вопрос жизни

https://toster.ru/q/391272

Создал тему на тостере, дабы не засорять харкач множеством букоф
920104920106
#74 #920104
>>920079
там ajax, просто рубями не решить
phantomjs
#75 #920106
>>920079
хотя сейчас нагуглил http://watir.github.io/
920111920113
#76 #920111
>>920106
я не догнал, как на нем отправить именно тот запрос, что мне нужен, ибо урл страницы статический, а что отвечает за изменение картинки?
но все-равно спасибо, мб разберусь
#77 #920113
>>920106
а, понял, он эмулирует браузер, но хз смогу ли я реализовать цикл перебора каждой странички из каталога с использованием этого гема..
#78 #920114
>>920097
Двачую этого. У нас в Минске тоже есть контора. Набирает бесплатно на курсы студиосов, а потом дает контракты на 5 ЕБАНЫХ ЛЕТ. Я ожно охуел и никогда бы не поверил что такое бывает. За 5, да и за 3 года ты превратишься в тупого безвольного биоробота в таких бодишопах, сужу по своим знакомым. Мог устроиться джавамартыхой, но там было направление и по рубям. С другой стороны курсы были достаточно анально-сложные и мне много чего дали т.к. все задания я делал сам и без копипиздинга. Рекомендую пройти курсы, но потом наебать их и не устраиваться.
920145
#79 #920145
>>920114
Куда в минске не в бодишоп идти? Заебали бодишопы, сам работаю уже третий год в таком, заебала эта потогонка. Опыта лет 8.
920148920151
#80 #920148
>>920145
Epam :D
ROFL
#81 #920151
>>920145
Куда в минске не в бодишоп идти? Заебали бодишопы, сам работаю уже третий год в таком, заебала эта потогонка. Опыта лет 8.
Поясни-ка анончик почему сидишь там? В епаме галеришь? Мои друзья с амбициями отвесловали по году и потом свалили нафиг, кто фрилансить, кто к буржуям на удаленку. Один задрочил немного дойч и релокейтнулся туда, правда он 3 года до этого батрачил. Остались только те, кому вроде и похуй, потому что на тыщу можно жить как Лукашенко припеваючи.
920152
#82 #920152
>>920151

>


отклеилась
мимокрокодил #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
собсна сам вопрос, многабукоф.
920283
#84 #920283
>>920262
А у меня смежный вопрос - зачем для декорации гем? Я не иронизирую, типа "че слабо самому декоратор сделать", мне интересно, действительно он дает больше и лучше чем PORO? сам декораторы никогда не юзал
920289
#85 #920289
>>920283
ну, в принципе, можно и нативные хелперы заюзать или SimpleDelegator. а по гему я посмотрел, у него вообще обширные проблемы с пятой рельсой. придется таки ручками свои хелперы писать
920291920302
#86 #920291
>>920289
А что сделать-то нужно?
#87 #920302
>>920289
Всё верно. Декораторы не нужны. Будешь как дурной проверять везде "декорированный или недекорированный???". Просто хелперы юзай.
120 Кб, 500x666
#88 #920305
Научите, как использовать во вьюхах методы.

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

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

В модели есть метод set_moder(section), который делает юзера модератором определённого раздела. Опять же, через консоль прекрасно работает, через консоль, а как заставить это работать через view нет идей.
920308920313
24 Кб, 360x315
#89 #920306
посоны, всем суп и два чаю. такой вопрос. есть класс Storage, у него есть пустой хеш, в котором хранится префиксное дерево. также есть метод `add`, который принимает строку как параметр и формирует из этой строки префиксное дерево, которое сохраняется в этот хэш. вопрос -- нужно запилить методы `find(string)`, которые будут возвращать все строки, что начинаются с переданного префикса, и `contains?`, к-рый возвращает true, если слово содержится в дереве, и false в противном случае. эни хэлп вуд би вери апрещиэйтед.
920317920348922245
#90 #920308
>>920305
use the helpers, Luke!
920316920395
#91 #920313
>>920305
Через view вообще ничего "работать" не должно. Вьюха только показывает. Учи SOLID.
920320
89 Кб, 640x854
#92 #920316
>>920308
Всё равно, в view работает при заходе на страницу, а не при нажатии на ссылку, как задумывалось
#93 #920317
>>920306
да, вопрос так и не уточнил. может кто-то прояснить нубу внятный алгоритм для поиска по префиксному дереву, что у нас сформировалось?
126 Кб, 960x1153
#94 #920320
>>920313
Вьюха показывает ссылку, действие на которой срабатывает при заходе на страницу, а не после нажатия. Понимаю, что вопросы нубские, но прошу указать на ошибки, или хотя бы куда гуглить.
920340
#95 #920340
>>920320
Блин, вопрос настолько уебанский, что меня аж подмыло написать об этом.
Дело не в том, что он нубский, а в том, что ты совершенно не хочешь знать как это работает - тебе вообще похуй, ты даже на секунду похоже не задумался, у тебя одна проблема "срабатывает при рендере". Почему это так происходит, тебе просто похуй.
920351
8 Кб, 320x244
#96 #920348
>>920306
ребят, UPD: префиксное дерево строится правильно, но это просто дерево. необходимо чтобы каждый узел дерева мог быть либо промежуточным, либо конечным. пикрелейтед. помогите, пожалуйста, с алгоритмом (изначальный код в посте на который отвечаю пикрелейтед)
920350920384
#97 #920350
>>920348
UPD(2): синим обозначены конечные узлы, серым -- промежуточные
112 Кб, 960x617
#98 #920351
>>920340
Укажи мне куда смотреть и следующий раз я не буду задавать глупые вопросы. Я еще не накопил того багажа знаний, что бы делать эти действия интуитивно. В большинстве обучающих материалов, что мне попадались, автор больше занят самолюбованием, чем понятными объяснениями. Как будто их пишут не для новичков, а для профессионалов, которые это и так знают.
920354
#99 #920354
>>920351
Ну так а почему ты спрашиваешь почему у тебя при заходе сетадмин срабатывает, почему ты не спрашиваешь, как работает link_to? Бля, да как ты вообще додумался вызывать метод при рендере и удивляться, а почему это у меня метод срабатывает
920364
#100 #920362
Кто-нибудь Shrine пользовался? Аплоад срет в кеш кучу файлов, можно ли убрать этот кэш или сделать чтобы он очищался джоба?
920381
62 Кб, 480x640
#101 #920364
>>920354
Зачем ты тратишь своё время на то, что бы объяснить мне какой я мудак? Я к этому могу и без тебя прийти. Лучше потрать своё время и дай ссылку на то, как это работает, или объясни своими словами
920382
#102 #920381
>>920362

>Shrine


О, новый гем узнал. По описанию интересный.
По поводу кеша помню с кэривейвом была проблема в том, что файлы загруженные, но так и не засабмиченные, оставались в кеше. Поставил крон-таск чистить раз в сутки.
#103 #920382
>>920364

>Лучше потрать своё время


Ты думаешь здесь бесплатные репетиторы сидят?
Вот тебе: http://guides.rubyonrails.org/
Дальше сам.
920395
#104 #920384
>>920348
Я твой код не запускал, но из того, что понял - у тебя не дерево же получается, а плоский хэш с буквами в ключах и {} в значении. Разве нет?
920389
12 Кб, 640x106
#105 #920389
>>920384
по сути, получается дерево, но без конечных или промежуточных узлов. если короче, попробуй запустить
пикрелейтед, так покороче будет.
#106 #920395
>>920382
Тебе не лень покрыть меня хуями, но лень указать на ошибку. Ты ведь бесплатно учишь меня жизни, хотя я этого не просил.

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

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

>>920308

>use the helpers, Luke!


Вот так было бы норм
920409920424920428
#107 #920398
То чувство, когда попал в питон тред.
#108 #920409
>>920395
Я тебя не крыл ничем, нас здесь больше двух.
Пока гайды не прочитаешь и не поймёшь - можешь сюда не возвращаться. Потому что ты задаешь вопросы человека с улицы. Базовые вещи, которые везде давно написаны и все их знают. Это как прийти на форум лингвистов и спрашивать какая буква идёт после буквы А в алфавите. Только поэтому тебя накрыли хуями.
920420
292 Кб, 1000x1333
#109 #920420
>>920409
Правильный ответ на форуме лингвистов будет "Буква Б. А что бы не задавать глупых вопросов, погугли Алфавит и Буквы". А ты вместо этого даёшь ссылку на трёхтомник "Лингвистика для поступающих в ВУЗы", в котором есть ответы на все вопросы, но я, как новичек в этой сфере банально путаюсь в терминах и не могу найти ответ. Гайдов я перечитал сотни, зачастую в них раскрываются ответы на множество вопросов, которые возникнут потом, но подразумевается, что человек уже понимает основы. Это как если бы в гайде по ходьбе рассказывались тонкости подъёма на Эверест, и особенности постановки ступни при марафонском беге.

И да, я уже давно не тратил бы ваше и своё время, если бы вы потратили время не на едкие замечания, а на один конструктивный ответ
13 Кб, 500x375
#110 #920424
>>920395
Тот анон хоть и напрасно сокрушается, но в целом прав. С точки зрения педагогики не существует глупых вопросов и все такое, но с точки зрения двачематики бывают вопросы на которые кто-то захочет ответить, а бывает нет. Второй случай чаще всего случается когда вопрос не глупый, а некорректный.

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

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

Задавал десятки вопросов и отвечал на столько же здесь и по всему /pr/ и всегда получал свои ответы -кун
920425
194 Кб, 768x1024
#111 #920425
>>920424
Мой вопрос был задан в первом посте -- как вызвать метод по клику на ссылку (нажатию на кнопку, etc).
920440
#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
#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
920452
#113 #920440
>>920425
А вы настойчивый молодой человек. Хорошо, смотри.

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

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

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

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

Я сыграл роль экстрасенса и сделал кучу предположений, написал стену спорного текста, не получил от этого почти никакой сатисфакции и скорее всего не дал тебе исчерпывающего ответа. Теперь понимаешь, почему важно задать вопрос правильно? На корректный пусть и корректный вопрос быстро ответит даже гугл, а на некорректный весь тред будет бугуртить, но ответ будет отстойный. Не списывай это на высокомерие, это будет действительно недалекостью.
920452
40 Кб, 450x600
#114 #920452
>>920428

>А как оно по твоему должно заработать, вот скажи? Что эта запись должна сделать с твоей точки зрения?


В самом первом посте с сиськами я написал, что я жду от этой записи.

>и где здесь указание текста, а где путь, куда перейти?


Да, тут мой косяк, писал по памяти, там на самом деле <%= link_to "Сделать админом", @user.set_admin %>
Но это всё равно работает так, как я описал - не по клику на ссылку, а при заходе на страницу. И как раз вот это и непонятно -- почему действие из link_to срабатывает не по клику на ссылку, а при заходе на страницу, где эта ссылка есть. В моей логике, раз ссылка отображается, значит даже если есть ошибка, появляться она должна по клику на ссылку, но никак не до него.

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

>>920440

>По клику на ссылку нельзя вызвать метод


Именно это я хотел услышать с самого начала

>для этого нужно создать обработчик пути в routes.rb и создать контролер с экшеном, которые на него ответят.


Опять же, я писал что сделал это в первом посте:

>Проблему решил через добавление в контроллер метода, который вызывает метод из модели, а потом прописал его в routes. Можно это было сделать как нибудь попроще, как в первом варианте, например, но по клику на ссылку? Зачем плодить методы?


Вопрос был в том, что раз уж метод срабатывает при заходе на страницу пользователя (а не по клику по ссылке, как задумывалось) без добавления
кшена в контроллер и без внесения изменений в routes, так может быть можно как нибудь обойтись без этого?
920453920458920459
410 Кб, 1280x720
#115 #920453
>>920452
Ты хочешь чтобы в ответ на запрос по определенному адресу сервер просто вызывал твой метод минуя контроллер?
920454
120 Кб, 768x1013
#116 #920454
>>920453
Что бы по клику на определённую ссылку(кнопку).
Сейчас он делает это по заходу на страницу где есть эта определённая ссылка
920461
#117 #920458
>>920452
Анон, ты кажется ни с вебом никогда не работал, ни с программированием.
Можешь конечно пытаться задрачивать рельсы, но это будет очень неэффективно. Рельсы еще к тому же очень высокоуровневые.
59 Кб, 1024x874
#118 #920459
>>920452

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


>кшена в контроллер и без внесения изменений в routes, так может быть можно как нибудь обойтись без этого?


О блядь, это пиздец! Я был прав в своем первом предположении, ты совершенно не хочешь знать, что проиходит, тебе нужно чтобы это просто заработало.
920777
60 Кб, 455x445
#119 #920461
>>920454
Вызов метода при заходе на страницу может быть только если javascript на клиенте на событие onload генерирует ajax-запрос на твой сервер. Пропусти предыдущее предложение мимо, а следующие читай внимательно.

Нет захода на страницу. Есть сервер и клиент. Они могут делать запросы и ответы. Нет ссылок, есть адреса. Все эти штуки связаны. Теперь попробуй сформулировать вопрос в рамках этих категорий.
22 Кб, 749x446
4 Кб, 384x145
21 Кб, 790x258
насчет методов во вьюхе #120 #920481
Вот пикрилейтед говнокод? Как избежать срача в контроллере?
#121 #920482
>>920481
в идеале хотел бы вынести эти методы в модель
920550
#123 #920514
>>920499
с 5 рельсами не работает он
920604
#124 #920536
>>920481
Все не REST методы в разнести по отдельным контроллерам.
Всю логику из контроллеров вынести в сервис-обжекты, контроллеры только создают их и возвращают результат их работы клиенту.
920552
#125 #920550
>>920481
А что тебя смущает, генерация в контроллере?
Вообще двачую вопрос, интересно, как это должно быть с точки зрения каноничного ООП.
>>920482

>в идеале


Как раз таки именно в идеале их там не должно быть.
>>920499
А как его тут можно использовать?
920604
#126 #920552
>>920536

>Все не REST методы в разнести по отдельным контроллерам.


А зачем, если методы относятся к сущности, зачем их уносить в отдельные контроллеры?

>Всю логику из контроллеров вынести в сервис-обжекты


Но тут есть нюанс - он не только генерит файл, но еще и получает. И там и там есть логика пути к файлу и она должна быть инкапсулирована где-то в одном месте.
#127 #920604
>>920550
А, точно, я посмотрел последний скрин и думал вопрос про if/else говно в шаблонах.

>>920514
Это и к лучшему.
81 Кб, 800x629
#128 #920777
>>920459

>ты совершенно не хочешь знать, что проиходит, тебе нужно чтобы это просто заработало.


О да, ты чертовски прав! Мне действительно нужно что бы это заработало, кажется я намекаю об этом с самого первого поста. И на свой уебанский вопрос я хочу получить такой же уебанский вопрос. Я не спрашиваю уебан ли я, потому, что посмел задать практический вопрос, и даже не спрашиваю как это работает. Всё, что я хочу, это получить одну строчку кода, которая позволит осуществить мне задуманное.

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

Алсо, спасибо тем, кто давал адекватные ответы по теме.
921229921250
#129 #921229
>>920777
Если бы ты пришел и сказал, мол я ничего не знаю, меня например заставили на левом сайте одну хуйню сделать - это одно, тогда бы ни каких претензий.
Но ты хочешь "вкатиться в тему", а уважения к этой теме не имеешь.
Можно придти к математикам и попросить посчитать площадь фигуры. А можно придти и сказать, что делаешь расчетно-графическую работу и почему-то площадь треугольника через pr^2 не считается. Может если радиус посчитать не из центра треугольника она все-таки посчитается? Почему для круга площадь все-таки считается?
Конечно в этом случае будет претензия к тому, что ты взялся за серьезную профессиональную задачу, не знаком с базовыми вещами и при этом знакомиться с ними не собираешься.
921601921736
#130 #921250
>>920777
Вон из профессии. Аноны, в следующий раз таких даунов прсто игнорим, и всё.
921341921601
#131 #921304
Где посмотреть/прочитать про Redis и Sidekiq? Желательно с примерами для выполнения (делать самому или по гайду) и на английском
921327921341
#132 #921327
>>921304
Они ж простые как палки, особенно сайдкик, просто прочти документацию на сайте. В случае с редисом можешь, если совсем неймется, еще прочесть The Little Redis Book, она лежит на гитхабе.
24 Кб, 560x400
#133 #921341
>>921250
Это непрофессионально. Даже если он задает вопрос некорректно, всегда можно выдать ему столько же внимания, сколько он уделил формулировке вопроса. Сейчас он получил гораздо больше. Может он даже зеленый. И если это так, то те кто в этом треде столько сокрушались, от души его покормили. Именно поэтому и глупо агриться на "глупые" вопросы.

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

name = 'Abu'
{name} и {name:name} эквивалентны
921459921465
#135 #921459
>>921448
Руби - объектно-ориентированный язык, в нём нет острой нужды кидаться хэшами, соответственно нет и необходимости часто строить их вручную и использовать этот шортхэнд.
#136 #921465
>>921448

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

Технически, через метапрограммирование ты можешь узнать имя переменной и её значение; т.е. ничего не мешает написать говняшку которая будет разворачивать name в name:name в сеттере, а остальное время тупо делегировать вызовы в хэш.
921750
1497 Кб, 1152x615
#137 #921601
>>921229

>Если бы ты пришел и сказал, мол я ничего не знаю


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

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


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

>>921250

>Вон из профессии


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

Да, наверное я неправильно оперирую терминами, возможно у меня нет до конца понимания как это работает. Оно появится только после некоторого времени практики. Можно одной строчкой указать мне в какую сторону смотреть, я хотя бы буду знать что искать. Вы же рассказали мне, что я не программист, что я ничего не шарю в вебе, что я не профессиональный рубист и что я не умею в производство сайтов. А теперь подумайте, что из этого я не знал, задавая вопрос тут? И что из ваших ответов я смогу вынести для себя? Я даже нагуглить не смогу что надо. Читать мануалы с нуля по порядку? Я получу кучу новых терминов, множество абстрактной теории и никакой связи с практикой. Потом приду сюда же и буду задавать уебанские вопросы с красивыми терминами.
1497 Кб, 1152x615
#137 #921601
>>921229

>Если бы ты пришел и сказал, мол я ничего не знаю


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

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


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

>>921250

>Вон из профессии


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

Да, наверное я неправильно оперирую терминами, возможно у меня нет до конца понимания как это работает. Оно появится только после некоторого времени практики. Можно одной строчкой указать мне в какую сторону смотреть, я хотя бы буду знать что искать. Вы же рассказали мне, что я не программист, что я ничего не шарю в вебе, что я не профессиональный рубист и что я не умею в производство сайтов. А теперь подумайте, что из этого я не знал, задавая вопрос тут? И что из ваших ответов я смогу вынести для себя? Я даже нагуглить не смогу что надо. Читать мануалы с нуля по порядку? Я получу кучу новых терминов, множество абстрактной теории и никакой связи с практикой. Потом приду сюда же и буду задавать уебанские вопросы с красивыми терминами.
921813
#138 #921736
>>921229

>придти


просто придди нахуй, довен
#139 #921750
>>921465
Понятно, интересовало именно есть ли в самом языке такая фича.
#140 #921810
оппаньки, тред руби-пидоров
как сосется маньки ?
#141 #921813
>>921601
Пиздуй нахуй отсюда, говно. Тебе тут не рады.
#142 #922182
>>922144

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



я тоже очень люблю ActiveRecord
#143 #922245
>>920306
котятки, таки осилил это сраное префиксное дерево. прошу обсырать :3 https://github.com/baka-gaijin-hakka/trie_storage
922460
#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

Плохое название для переменной. У тебя есть функция с таким же названием. А может быть плохое имя для функции?
922468922878
#145 #922468
>>922460

> Замени на


> !!subtree && subtree[:final]



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

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

Достаточно возвращать subtree && subtree[:final]
922515922516
#147 #922515
>>922482

>Однако, метод оканчивающийся на ? не обязательно должен возвращать false или true.



За такое у нас в коворкинге убивают нахуй.
922582
#148 #922516
>>922482

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



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

> '' && 1


=> 1
922591
#150 #922591
>>922582

окей, но и (!!1 && 1) => 1
922602
#151 #922602
>>922591
Вынеси !! за скобки, зануда
922607
#152 #922607
>>922602

за скобками это и правда другой контекст.
128 Кб, 690x522
#153 #922796
Помогите с регулярками позязя :3
{
"class": "Fixed",
"methods": [
"new",
"create"

],
"class": [
"",
""
]
}
нужно заматчить выделенный кусок в мультилайн моде и только его, рубулар весь день замучил
922819
#154 #922810
Антоши, помогите решить задачу!
Есть две модели

Class Movie
has_many :posters
end

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

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

"new"(\s|\n),(\s|\n)"create"
922837
#156 #922837
>>922819
Ебучее форматирование

`"new"(\s|\n),(\s|\n)"create"`
922844922854
#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;
922849
#158 #922849
>>922844

"new"(\s|\n),(\s|\n)"create"
#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]
#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]
8 Кб, 346x52
#160 #922854
>>922837

А, черт с ним. Вот пикчей + упростил.
#161 #922878
>>922460
первый совет оставлю так, как есть у меня, по поводу остальных двух -- аригатошенька годзаймаста, сейчас поправлю
#162 #923631
Тут есть sidekiq гуру? Отпишись на почту a}JBsmadean88ANUSmaLh'ilPUNCTUMrkObu Нужна небольшая теоретическая помощь по одному вопросу, и если твой ответ мне поможет, закину сотку тебе на телефон
923767
#163 #923767
>>923631
Анончики, объясните, почему все так дрочат на сайдкик, почему везде знание сайдкик, опыт с сайдкик, почему кругом нужна какая-то помощь по сайдкику?
За мою практику как-то не довелось с ним поработать, не было какой-то острой нужды именно в нем, но работал с ActiveJob и использовал delayed_job как адаптер. Просто реализация очереди задач, ничего сверхестественного. Откуда дроч и в чем проблема?
923797925093
#164 #923790
Ребяты, есть тут те кто уже работает руби-ниндзей? Накидайте ваших тасков, хочется посмотреть с чем обычно имеют дело рубаны. Хочу понять, нужно ли мне это дерьмо или нет.
923864926993
#165 #923797
>>923767
он быстрее гораздо и легче + многопоточный
но с ним можно заебаться
https://gurudathbn.wordpress.com/2015/05/19/sidekiq-vs-delayed-job-comparison/
925080
#166 #923864
>>923790
Присоединяюсь к реквесту. Расскажите, что делаете.
926993
#167 #924598
Гайз, поясните разницу плиз между юникорном и пумой. Я так понимаю, юникорн плодит рейлс процессы а пума держит минимум процессов но насилует их в несколько потоков?

В чем разница в скейлинге? Первичный гуглеж мало чего дал, а прямо глубоко разбираться влом.
925089
#168 #925010
Есть ли среди вас те, кто посещает всякие конфочки? Я имею в виду irl-мероприятия с выступлениями там всякими. Эти выступления потом все равно выкладываются в общий доступ, или там бывает что-то такое, что обязательно нужно послушать живьем? Стоит ли платить деньги за билетик?
925090925204
#169 #925080
>>923797
Я довольно хорошо знаю чем они отличаются.
Мой вопрос, почему все постоянно носятся с какими-то вопросами по сайдкику и почему в вакансиях просят опыт?
С точки зрения рельсовика вообще без разницы что там - он с ActiveJob работает.
#170 #925089
>>924598
Хороший вопрос.
Я знаю одно отличие - юникорн запускает один воркер на процесс. Пума умеет запускать воркеры в потоках (ее поэтому очень рекомендуют использовать с jruby). Если запускать в один поток, то она работает так же как юникорн. Встречал разные тесты, нигде пума не проигрывает, скорее выигрывает, если использует многопоточность.
Но знаю, что некоторые упорно используют юникорн. Видимо есть еще какие-то отличия?

Алсо, а кто может пояснить, почему потоки в руби типа "ненастоящие"
925274925275
#171 #925090
>>925010
Все выкладывается. Посещают малолетние долбоебы и пиарщики. Ну и "фаундеры" бабло стригут.
#172 #925093
>>923767
Рельсы умирают. Галера набрала рельсовиков и не знает, что с ними сейчас делать - нет задач. Часть перекинули на java разгребать, лол, часть пойдет дворы подметать.
925097
32 Кб, 500x303
#173 #925097
>>925093

>Рельсы умирают


вот это поворот. как же они обосрались...
#174 #925184
>>916183 (OP)
Анонасы, хелпаните

https://toster.ru/q/391272
925205925272
#175 #925204
>>925010
Посещают не ради информации, а ради новых потенциально полезных знакомств.
925578
#176 #925205
>>925184

>toster


Ну пиздец. Не позорься.
43 Кб, 579x288
#177 #925272
>>925184
Привет, Вадик!
925331
#178 #925274
>>925089
Уже разобрался.
Юникорн использует функциональность юникс систем, где на одном сокете может дохуя процессов сидеть. В итоге он плодит процессы на одном сокете, согласно настройкам, при этом он не скачивает запросы сам в мастер процессе, а позволяет напрямую установить соединение между собой и процессом рек-приложения, что ведет к длительному бездействию при загрузке тяжелых файлов клиентом или при медленном интернете клиента. Для того чтобы такой хуйни не было, перед юникорном ставят Nginx

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

То есть в данный момент именно пума - для пацанов. Ну и пессенжер, вроде
925392
#179 #925275
>>925089
Потоки в MRI ненастоящие, потому что в один момент времени в реальности выполняется только одна команда (если простым языком), а сам интерпретатор не параллелится. Особой разницы в том чтобы плодить треды в такой ситуации нету.
925392
428 Кб, 1224x1632
#180 #925331
>>925272
Помоги плиз, с меня порево, как мои кенты жарят меня в очко
#181 #925392
>>925274
Nginx де факто всегда ставят перед параллельными веб-серверами. То есть обычно не будет иметь значения скачивается ли пумой предварительно запрос.
Но что значит, что пума скачивает запрос? То есть она может напарсить больше запросов, чем воркеров в пуле занимается их обработкой? И якобы безболезненно обсулживать медленные запросы, не стопоря воркеры? Впервые услышал, где можно почитать?
Вообще очень странно звучит - чтобы запрос ушел в rack он же уже должен быть прочитан и распаршен по идее. Не понимат.

>>925275

>в один момент времени в реальности выполняется только одна команда


Только один поток, если точнее, так? То есть это равносильно утилизации только одного ядра?
925445925448
#182 #925445
>>925392
В смысле всегда?
Все зависит от того, что ты хочешь от него получить и как настроить. Это не какой-то карго-культ, что у нас должен быть nginx и похуй на все остальное

>Но что значит, что пума скачивает запрос?


Значит, что у нее своя очередь запросов и она может качать отправляемые файлы с клиента, пока другой клиент шлет ей JSONчики, например. То есть обработка запроса клиента не блочит ни один поток или процесс, пока реквест не скачан полностью.

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


Ну естественно, что у пумы своя очередь при таких условиях.

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



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

Ну, я так понял, по крайней мере. Вот статейка.
https://www.speedshop.co/2015/07/29/scaling-ruby-apps-to-1000-rpm.html
#183 #925448
>>925392

>Только один поток, если точнее, так? То есть это равносильно утилизации только одного ядра?



Типа того. Называется это глобальным локом интерпретатора. (GIL)
#184 #925578
>>925204
И как там это происходит? Тип я пришел такой на конфочку и подхожу там к рандомным людям, "Привет, как тебя зовут, давай дружить)))))))))" лол, ну если серьезно. Понятно, что спикера люди сами найдут, а если обычный слушатель?
#185 #925614
>>925578
Ну люди задают там вопросы, можно в перерывах до них доебаться, подискутировать, обменяться контактами, могут быть представители каких-то интересных компаний, можно что-то у них спросить. Как-то так
925620
#186 #925620
>>925614
Не ВАК-очевидный ответ.
#187 #925666
>>925578
Это такая скрытая гей-сходочка под прикрытием конференции.
#188 #925907
>>925578
Смотри. Подходишь к группе людей, которые что-то обсуждают и слушаешь с умным видом. Чуть-чуть вникаешь в тему. Потом, как только в их обсуждении возникает пауза, задвигаешь свою телегу, типа "вообще-то то-то и то-то" или "на самом деле все не так". Дальше смотришь по ситуации.
925990
#189 #925987
>>925578
Хуйня. Туда как раз и ходят такие прыщавые третьекурсники с галер, якобы "за знакомствами". Думают, наивные, что их сразу в гугл возьмут. Ну или хоть в галеру получше. Ведь они такие умные.
#190 #925990
>>925907
А дальше? Предположим беседа удалась.
925992
#191 #925992
>>925990
Выбираешь понравившегося и ведешь в кабинку в туалете. Дальше все зависит от твоих способностей работать ртом. Так называемые "soft skills". О деталях уточняй у своей мамки.
#192 #926012
В некоторых MVC фреймворках не рельсы, а иногда и не руби есть отдельные папки для вью и шаблонов. У меня очень узкий кругозор и вообще бедный бэкграунд. Чем это разделение обосновано?
926014
#193 #926014
>>926012
Тем что верстальщики правят файл по FTP.
#194 #926993
>>923790
>>923864
Пилю сайт с рефералками для сетевого маркетинга. Из сложного для меня - реализация иерархического хранения данных и куча действий с определенными данными.
Еще немного страдаю от того, что разнес пользовательские данные по разным таблицам. Типа users, profiles и даже accounts. Джоинов дохуя.
Смс-валидацию фром скретч запилил.

В остальном обычный круд с модификациями
927025
#195 #927025
>>926993
Расскажешь как смс-валидацию запили. Я уже в 3-х проектах ее делал, каждый раз пытаясь улучшить и все равно не нравится - не самая простая задача на самом деле.
#196 #927624
Парни, помогите!
Я в шаге от того, чтобы получить работу!
В-общем, суть такова - исползуя гем doorkeeper (Oauth2), я посылаю запрос на авторизацию на стронний сайт. С этого сайта я получаю Json. извдекаю access token, Затем этим токеном я отправляю еще один запрос - как результат мне прилетает джсон со списком обьектов
1)Как распастит ответный джисон, чтобы сохранить все лбьекты в модель
2) куда поместить весь этот процесс посыла запросов? у меня он в отдельной папке в лию директоиии и запускается через консоль ruby filename.rb
sage #197 #928184
>>927635
У меня получилось вытащить ответ запроса. Теперь к ак мне сохранить итемы из этого запроса в модели? В директории Lib не работает. Надо модулем передать в контроллер?
928450
#198 #928450
>>928184
Лол, что ты несешь? На какую работы ты там устраиваешься?
928456928512
#199 #928456
>>928450

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

И если с моделью все понятно, то огранизовать подобие контроллера и вьюшки для работы через CLI он не может/не знает как.
928512
sage #200 #928512
>>928450
джуном на удаленку же

>>>>928456


Пишу на рельсах

> содомит


как будто что-то плохое

Да я уже разобрался.
Организовал все запросы через модуль, а его вклчилв контроллер
928672
#201 #928672
>>928512

> Пишу на рельсах



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

> как будто что-то плохое


ActiveRecord говно.
929198929216
#202 #929198
>>928672
Тем не менее это повсеместный мейнстрим и вакансии без него немыслимы. Так что не поддержу этот хейт, хотя он и говно А почему кстати? Моя претензия в толстых моделях, но в общем-то и с эктиврекордом их можно делать без тонкими и без бизнес-логики.
929834
sage #203 #929216
>>928672
ты не понял меня - мне нужно было сохранить в бд из полученного ответ, а сидить я сам умею

>ActiveRecord говно.


А какая альтернатива ему для рельс?

Бтв задание я сам выполнил без какой-либо помощи Никто мне так и не помого
929217929286
#204 #929217
>>929216
куча ошибок, но я имею право- сегодня весь день пилил этот таск
#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 рандомного юзера конфы, таймер, чтоб команда выдавала одного рандома в день, и дальше шел кулдаун, и способ использовать вебхук(сервер есть)(по дефолту стоит протокол гетАпдейт). код рабочий если убрать >#{рандом юзер}. все что я нагуглил, это ебанутые документации на руби, которые ни к чему толком не привели, помогите пожалуйста, буду очень благодарен.
#206 #929286
>>929216
Sequel.
21 Кб, 500x500
#207 #929593
Ребята, у меня не получилось поднять тред про создание собственного бюро/агентства.
Может, есть идеи, куда дальше качаться "синьору", так чтобы поменьше писать код, побольше рисовать диаграмки, анализировать идеи и ставить задачи?
Почему в Москве максимальная з/п — 200 за 160 часов в офисе (не считая "обеда"), хотя я зарабатываю 300 за 100 часов в месяц?

Почему в Руби треде? Потому что несмотря на ширину охвата того, что я делаю, проектировать под Руби и кодить на нём мне нравится больше всего.
#208 #929834
>>929198
Ебать, вот это аналитика. Такого глубокого анализа программного продукта я еще не видел.
929901
#209 #929860
>>929855
Гавно.
#210 #929868
>>929855
Пояснишь, почему у тебя именно в protected callback (а не в private) - может и взял бы джуном.
#211 #929874
>>929868
В рот возьму, чмо пахучее.
#212 #929875
>>929868
Ну и дал бы в лицо за N+1 query перед приемом на работу, да.
929883929901
#213 #929883
>>929875
А в очко дашь?
#214 #929901
>>929834
А ты думал это что-то сложное? Я тебе, дурачку, открою одну истину: не важно насколько мудрено составлена вещь, важно лишь ее применение в быту, а оно сводится к очень примитивным понятиям.

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

>>929875
Наркоман ебучий.
929907930459
#215 #929907
>>929901

>Наркоман ебучий.



этот ананас прав, за #where в #each тебе лицо не то что разобьют, а в унитаз грязный мокать будут, по каждому разу за бесполезный запрос в бд.
#216 #929951
>>929909

>любой объект класса Deck (и только этого класса) сможет добавлять карты в любую другую Deck



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

>>929855

>class Deck


>validates :deck


У тебя у модели Deck есть поле deck? Что с тобой не так?
930327
#221 #930327
>>930325

для начала разберись с тем что такое каллбека, наниматель мамкин.
930328930329930591
#222 #930328
>>930327

каллбек*
#223 #930329
>>930327

это наезд на >>929868
#224 #930339
>>930330
В сервис-обжект вынеси, вообще коллбеки в большинстве случаев зашквар использовать
#225 #930367
>>930330
Религия не позволяет слать нормальный массив id?
#226 #930459
>>929901

>этот ананас прав, за #where в #each тебе лицо не то что разобьют, а в унитаз грязный мокать будут, по каждому разу за бесполезный запрос в бд.


На том скриншоте не было видно, что он дальше делает с where. Только больной мозг мог предположить что там выборка но таки это оказалось правдой

А что этого картежника никто не ругает за

>cards


>self.cards


>module_price


>self.module_price

#227 #930466
>>930400
Холи щит! Это что кофескрипт? В 2к17-ом?
#228 #930508
>>930459
По-хорошему вообще всё надо сжечь и переписать правильно, но че теперь, к каждой строчке доебываться? Обучение - итеративный процесс.
#229 #930544
>>930535
обычный es6 + babel
#230 #930550
>>930459

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


>module_price


>self.module_price



поругай сам, за service object ему пояснили.
#231 #930579
>>930459

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


А как надо то ? другой анон
#232 #930591
>>930327
Сделал калавый баребек тваей мамашке, бббгеее.
#233 #930652
>>930459
where там искал твою мамашу, блядь. что можно делать с where, кроме как запрашивать инфу из бд?
931332
#234 #931324
>>931320

> их придуманная система


>railway oriented programming



Изложи яснее, т.к. пока я только вижу, как с твоих слов хипстор противоречит сам себе. Или "их придуманная система" или convention over configuration.
931334
#235 #931332
>>930652
where(...).create() например.
931402931651
#236 #931334
>>931324
Двачую, тоже не понял.

>сервис обжекты говно, а их придуманная система


Они же сами их используют, в своем замороченном стиле.
#237 #931401
>>931320
Помню на такой конфе у какого-то питуха увел бабу. Потом ебались с ней с полгода, потом дропнул ее.

Руби-синиор 10 лет опыта.
931402
#238 #931402
>>931332
Пиздец, хехе. Ржу-нимагу с местных вкатывальщиков. Попадете ко мне (что вряд ли) буду унижать вас, плакать будете.

>>931401
#239 #931644
>>931497

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

Три проёба из трёх.
#240 #931651
>>931332

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

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

правда круто? Правда твой анус все равно будет применяться к каждому кортежу дёрнутому из бд :(((
44 Кб, 498x230
#241 #931832
Как мне пригорело от этой параши пикрелейтед извините. Пидоры сука конченые блядь, дебилоголовые.

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



Хуимпл, хуй-аваре. Какого хуя я не могу положить картинки в папке рядом с постом, какого хуя я должен сваливать все в кучу в /assets?
932099
#242 #932099
932346
#243 #932346
>>932099
Спасибо, забыл про него.
Но в этот раз все-таки остановлюсь на джекиле, побомблю.

По ссылке тоже не идеальный вариант, документ + директория. Должно быть: одна сущность - один пункт. То есть директория, а в ней статья и ассеты.
10 Кб, 736x191
#244 #932879
Я тут внезапно обнаружил, что вкладвопенсорс (ТМ) не накапливается и сгорает. И чтобы показывать красивый профиль на гитхламе туда нужно постоянно что-то срать.

Потому что гитхаб нихуя не аккумулирует активность. Ну то есть во-первых он никак не афиширует вкладвопенсорс, а во-вторых, и вовсе по умолчанию показывает активность за последний год, а в ленте - месяц.
932888939118
#245 #932888
>>932879
Эта хуйня вообще нинужна и никак не влияет на твоё трудоустройство, если только ты не к смузи-коворкерам "устраиваешься". Жидхап даже хотел её вообще отменить, чтобы прекратили дрочьбу, но потом всё-таки вернул счетчик contributions.
932889
#246 #932889
>>932888
Ну как сказать. Профиль на гитхабе просят везде. Зачем не знаю, но вероятно смотрят код, потому что как альтернативу просят примеры кода.
И получается либо нужно свои проекты туда выкладывать (и делать это периодически, потому что через год ты уже другой и код у тебя другой), либо постоянно куда-то коммитить.
932897
#247 #932897
>>932889
Никто в гитхабе рыться не будет, просто смотрят не порешь ли ты там откровенную дичь. Примеры коды естественно надо заготовить, и запросить их явно со стороны нанимающего - тоже. Иначе это называется доебаться и сбивать ценник. А чтобы постоянно куда-то коммитить - просто не надо прекращать работать. Тем более там теперь можно показывать коммиты в приватные репы.
#248 #933126
>>933069
Гитхаб не показывает коммиты в сторонние репозитории не в мастер-ветку. Мы делаем коммиты на одном прожекте не в мастер-ветку, так что квадратики пустые. А на прошлой работе гитхаб вообще не использовали, гит-репозиторий на нашем сервере был.
933146933679
#249 #933146
>>933126
Ну так продолжай делать коммиты и не только по работе, в этом вся суть.
933586933679939118
#250 #933586
>>933146
У меня идей никаких нет. Максимум, что могу-это поиграться с каким-то фреймворком другим, но всё равно в итоге те же круды.
Где ты черпаешь идеи?
934123939118
#251 #933679
>>933146
Дроч бессмысленный, если тебе самому не в кайф.

>>933126
Вот этого двачую, и слава богу, адекватные работодатели всё это тоже понимают.
#252 #934123
>>933586
Я нихуя не делаю. Но если бы делал, ходил в репы популярных гемов и смотрел, какие темы там поднимаются, что нужно запилить. Делал бы форк, коммитил говнокод и кидал пул реквест.
934138
#253 #934138
>>934123
Через месяц до него добираются и:

>Вот ду ю синк @смузи?


>Сорре @анон, это breaking change и ваще wontfix


>Closed

934145
#254 #934145
>>934138
У тебя слишком негативное мышление для рубипидора. Будь позитевнее, мир нам улыбается.
#255 #934150
залез в гемчик, что yard'ы в dataset'ы для dash (--> zeal) конвертирует.

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

мимо-депрессвный-хуй.
#256 #936186
А что id25 в руби? Он тут обитает?
936373
#257 #936373
>>936186
Патлатый пидорок? Да, захаживал.
936399
#258 #936399
>>936373
Помню он свой дневник саморазвития выкладывал, я думал он выпилиться через пару лет. Потом помню он бабло на еду собирал, совсем хуево было. А тут решил погуглить: гитхаб зеленый, 100 звезд. Из грязи в князи получается?
#259 #936750
Я потыкался в интернетах в поисках ответа, зачем нужен Руби и что на нем писать. Рейлс, гуи, администрирование в общем можно, но в чем он лучший?

Хотелось бы в факе видеть ответ вроде "идеальный кейс для руби" или "почему здесь сосет все кроме руби". Для чего он сегодня, анон?
936814936863
#260 #936814
>>936750
А ты, пездюк, зачем?
936994
#261 #936863
>>936750
Зашел на программач ты...
Хочешь советов мудрых?
Сосни-ка хуйца!
936994
#262 #936994
>>936814
Я, чтобы писать на руби. Надо узнать, зачем писать на руби.

>>936863
Один ответ
Всего мне нужен
Найду ответ
Пойду писать на руби
937030
#263 #937030
>>936994
Сначала узнай смысл жизни.
#264 #937121
Народ, я нихуя не пони:(
Поясните как правильно сделать, установил гем devise, теперь хочу чтобы при регистрации пользователь мог выбрать тип своего аккаунта, добавил во вьюхе регистрации радиобатон, как теперь эти значения передать в модель?
937316
#265 #937316
>>937121
Добавить поле в Users, контроллер сгенерировать (http://stackoverflow.com/questions/3546289/override-devise-registrations-controller/35827502#35827502) , в permitted параметрах прописать.
937603
10 Кб, 451x81
#266 #937428
у меня бомбит пердак
937579
#267 #937579
>>937428
Чего тебе бомбит, болезный?
937744
#268 #937603
>>937316
спасибо няша
#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


> ...



у меня от этого разные котировки случились и баг и и пердак контузило сейчас вроде норм. НЕИНТУИТИВНО ПИДОРЫ.
938113
42 Кб, 529x292
#270 #937797
Ну как живётся после спада хайпа, хипстерки? На какие языки планируете перекатываться?
938003938143938188
#271 #938003
>>937797
За хайпом никто и не гонится. Ну конечно некоторые гонятся, но их мнение никому неинтересно, т.к. они обычно не приходят к какому-либо успеху (как разработчики). Алсо "спад хайпа" был в 2011 году, когда твиттер оскалился, а сейчас уже 2017, кому было надо, тот перекатился.
#272 #938113
>>937744
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
Может тебе это подойдёт.
#273 #938143
>>937797
В Эликсир!
13 Кб, 280x280
#274 #938188
>>937797

>Куцко


>Гойс

30 Кб, 606x170
#275 #938234
в Яндекс его бы не взяли азазаза
938518
#276 #938518
>>938234
в Яндекс рельсовиков да и просто рубистов когда-либо брали?
938556
#277 #938556
>>938518

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

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

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

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

Зарабатывать на нём не планирую вообще от слова совсем, в обозримом будущем так точно, исключительно для себя.
Ткнул пальцем в небо, попал в Руби. Пока только начал учить, дико нраица. Всё правильно сделал, или не туда попал?
#281 #939134
>>939124
Перл
939308
#282 #939195
>>939124

> 1) хоть как-то работать под виндой, пусть и с еблей, но в конечном итоге работать


> Ткнул пальцем в небо, попал в Руби. Пока только начал учить, дико нраица. Всё правильно сделал, или не туда попал?


Не туда. наверно Последний раз под windows с ruby в 2012 году работал. При каждом подключении нового гема есть большая вероятность, что приложение не запуститься или будет сыпать варнинги в местах где на Mac и Linux всё нормально.
939308
#283 #939308
>>939195
Ну относительно безболезненно зашло. Чуток потрахался пока заработал дебагер, пару часов угробил на установку курло-курба. Теперь вот ставлю нокогири а он меня шлёт потому что хочет <2.4.0 версию, а я за каким-то хуем именно последнюю накатил. Сегодня вечером всё снесу и поставлю 2.3.3 или какая там на рубиинсталлер.орг последняя. По меркам винды это в пределах "нормы".
По поводу же новых гемов ещё не очень представляю что мне может понадобиться. для простых задач как правило стараюсь изобретать колесо самостоятельно, пока недостаточно долго погромирую чтобы это надоело.

>>939134
Поясни. Там меньше спермопроблем?
939707939713
#284 #939707
>>939308
Установи уже операционную систему.
939800
Dmitry #285 #939713
>>939308
Установи Gentoo, юзай питон, или руби, питон очень просто юзать, но синтаксис так себе.
Суть в том что под шиндовсом ты не можешь спокойно разрабатывать инструменты для себя, консоль там говнецовая оболочка, постоянно надо мокрописьки.
Поставь себе Arch linux и наслаждайся новейшими версиями своего руби и пили код в удобном окружении, в консольке почти все можно делать, можно и нет серфить.
Накати оконный менеджер dwm, терминальный мультиплекстор tmux, vim/emacs/nano и все заебись будет. В отличии раб столов на винде мультиплекстор очень полезен и юзабелен как и оконный менеджер с вкладками. Просто удобно.
939800
#286 #939800
>>939707
>>939713
NYET. Я игроблядок, поэтому навеки в анальном рабстве винды. Дома приходится кодить как есть, а на работе и так линуха, там всё удобно.
939878939937
#287 #939878
>>939800
Тогда почитай про вагрант, это типа виртуалка в которой папка видна в винде, и с которой можно локально коннектиться по ssh.putty
940004
54 Кб, 695x446
#288 #939937
>>939800
Попробуй переключиться с игр на кинцо, правда это весьма затратно.
940004
#289 #940004
>>939878
Знаю, на работе юзаю сайты локально тестить. Долго заводится, ебля с директориями-путями, сомнительные профиты ЕСЛИ ты уже всё настроил на своей машине.
Мне интерпретатор прямо вот под рукой всегда нужен, бывает что сидишь задротишь, тут бац лампочка зажглась, табнулся на иде, накидал коду, по живому запустил, увидел что всё работает, довольный табаешься и продолжаешь задротить.

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

>>939937
уже, одно другому не мешает
940028
#290 #940028
>>940004

> Какие инструменты вообще у рубистов считаются дефолтными для веб-запросов?



В стандартной библиотеке есть net/http, из гемов популярны httparty, faraday, typhoeus. Вот тут можешь посмотреть: https://www.ruby-toolbox.com/categories/http_clients
Аноним #291 #940365
>>939124
пайтон то что тебе нужно анон
27 Кб, 728x202
10 Кб, 565x213
53 Кб, 1854x1023
#292 #940610
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 версией

ошибки/контроллер/страница пикрелейтед
940617940630
#293 #940617
>>940610
Что ещё за recepy? Я не удивлюсь, если у тебя inflections по пизде идут где-то там. Руби для грамотных!
940712
sage #294 #940630
>>940610

>2)Эта сраница налокалке все рендерит, то есть присутствуют все нужные атрибуты, в том числе и name



на локалке у тебя development база, в тестах ты прогоняешь приложение в test env, с-но надо смотреть page.body из теста. Телепатия вангует что FactoryGrill#build не работает так как ты ожидаешь
940657
#295 #940657
>>940630
FactoryGrill#build создает объект, но не персистит его в БД.
940665940712
#296 #940665
>>940657

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

> describe 'listing recepies', receips: true do



указать тестируемый контроллер, и посмотреть что там за страницу рендерит в тестах.
9 Кб, 521x275
14 Кб, 723x222
53 Кб, 1806x408
#297 #940712
>>940617
пикрилейтед

>>940657
Второй рецепт билдится не FactoryrGirl же. там через ассоциацию на юзере, затем ее сохраняю в БД
>>940657
byebug говорит об обратном
пикрейлет 3
940723
8 Кб, 541x103
44 Кб, 1159x569
#298 #940723
>>940712
Вообще, я перенес тест в отдельный спек, сделал тип Feature - и все заработало
Но мне не нравится то, что у меня не получается сделать нормальный integration test, То есть чтобы можно было тестировать как рендер темплейтов/флэшей и тд, так и проверять наличие определенного контента via Capybara, Я видел интеграционный тест, который выполняет те же функции как у меня, но написан на minitest, Неужели RSpec не дает такой свободы?
21 Кб, 811x197
18 Кб, 642x352
5 Кб, 517x75
6 Кб, 584x34
#299 #940765
БТВ, кто-нибудь обьяснит мне, что за чертовщина происходит на пикрл?
940769940999
#300 #940769
>>940765
Погуглил и нашел инфу, что нельзя использовать пути в контроллер тестах
Как писать на RSpec'е интеграционные тесты?
#301 #940999
>>940765
Контроллеры никто не тестирует в 2017.
941019
#302 #941019
>>940999
Если у тебя в экшне какой-нибудь сложный процесс ловли ошибок, но с одинаковым рендером - как ты собираешься убедиться, что всё прошло именно так, как ты задумывал без тестов контроллера? Они необязательны, но иногда могут пригодиться. Особенно когда всплывёт бага именно по контроллерной причине - было бы тупо не закрыть её тестами потому в 2017 кто-то сказал, что не тестирует контроллеры.
942041
#303 #941209
Пацаны. Недавно вкатился в руби. Но тут я недоумеваю. Есть код (https://github.com/artworklv/Mersenne-twister/blob/master/mersenne_twister.rb)
Добавил в конец twister.MersenneTwister
И он выдаёт ссылку на область в памяти,
А как сделать чтобы он сгенерировал 100 значений в массив?
По алгоритму после найденного числа он делает закалку и сначала.
Собственно в чем прикол ?
942673
#304 #941211
УУУ сука
Полгода назад пацаны говорили руби нихуя не умирает, наоборот спрос на крутых девов выше, а ща те же пацаны в один голос ЕБАНУТЬСЯ ЧЕРЕЗ ГОД РЕЛЬСОВ НЕ БУДЕТ ГРОБ ПИЗДА. Собсна вопрос на что в связи с этим перекатываться? Веб хайлоад энтерпрайз говно.
941276
#305 #941276
>>941211
эликсир
л
и
к
с
и
р
#306 #942041
>>941019
Не кто-то, а наш бог и владыка.
https://github.com/rails/rails/issues/18950
942100
5 Кб, 192x262
#307 #942045
РУБИ УМИРАЕТ ГОЛАНГ ОЖИВАЕТ
943268
#308 #942100
>>942041
Вообще-то там написано как надо правильно тестировать контроллеры, а не то что их не нужно тестировать совсем.
#309 #942101
Ананасы, вот я накидал коротенький код, поясните, почему работает не так, как нужно?
http://Ideone.com/ixfjru

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

Смотрел видео, в котором этот же код работает на отличненько
942113942115
#310 #942113
>>942101

>@hh.each do |key|

#311 #942115
>>942101
короче так сделай
@hh.each do |key, value|
age = value
#312 #942120
Спасиб
#313 #942673
>>941209

>Пацаны. Недавно вкатился в руби. Но тут я недоумеваю. Есть код (https://github.com/artworklv/Mersenne-twister/blob/master/mersenne_twister.rb)


>Добавил в конец twister.MersenneTwister


>И он выдаёт ссылку на область в памяти,


>А как сделать чтобы он сгенерировал 100 значений в массив?


>По алгоритму после найденного числа он делает закалку и сначала.


>Собственно в чем прикол ?



>>941209
Друзья, я в вас верю. Подскажите пожалуйста. И да , там не область а хекс выдаёт
#314 #943262
Как вообще происходит совместная разработка в рельсах? С другом решили проект запилить.
Допустим я заполнил базу данных чем-то, но получается, что у друга она будет пустой.
Пока решил на digitalocean создать дроплет и накатить туда постгрес. Но у меня там деньги скоро закончатся.
943475943610
#315 #943268
>>942045
if err = nil
943269943705
#316 #943269
#317 #943475
>>943262

> Как вообще происходит совместная разработка в рельсах? С другом решили проект запилить.


Как и везде git

> Допустим я заполнил базу данных чем-то, но получается, что у друга она будет пустой.


seed.rb

> Пока решил на digitalocean создать дроплет и накатить туда постгрес. Но у меня там деньги скоро закончатся.


Heroku, если не хватает ресурсов и хочется дешевле DO, то locum или ищи low-end vps (online.net например)
#318 #943610
>>943262
А зачем вам собственно общая бд в девеломпент окружении?

Если вы зависите от всех данных в базах друг друга, то вы делаете все неправильно. Нужно быть модульнее. А именно для этого и нужны тесты и seeds(для отдельных случаев, никак не для шэринга всех данных).
#319 #943697
Я ЕХАЛ СЕГОДНЯ НА ГИРОСКУТЕРЕ ПО ГАРАЖУ И УВИДЕЛ ЗАДРОТА С ЛЯМБДОЙ НА МАЙКЕ, КОТОРЫЙ ПРИШЕЛ НА СОБЕСЕДОВАНИЕ В НАШ СТАРТАП, НУ Я РЕЗКО ПОДЪЕХАЛ К НЕМУ И ПРЕГРАДИЛ ПУТЬ К КОФАУНДЕРАМ И ПОЯСНИЛ ЕГО КРИКОМ «НЕ ЛЮБЛЮ ВЫЕБЩИКОВ», ПОТОМУ ЧТО Я УГОРЕЛ ПО ООП, КРУДОШЛЕПСТВУ, И GEM INSTALL, ХИПСТАНЫ ДУХ СОВРЕМЕННОГО ВЕБДЕВА ЖИВЁТ ТОЛЬКО В КОВОРКИНГАХ, ГДЕ ХИПСТЕРЫ С 12 ЛЕТ ПИШУТ НА РЕЛЬСАХ, ПОПИВАЮТ СМУЗИ, СИДЯ НА ПУФИКАХ, И ЕБУТ ОФИСНЫХ ДИНОЗАВРОВ В РОТ! ТОЛЬКО ROR, UPWORK И РАБОТА НАПРЯМУЮ С ИНОСТРАННЫМИ ЗАКАЗЧИКАМИ. ТОЛЬКО 25 ЛЕТ СТАЖА В 30 ЛЕТ, ТОЛЬКО ХАРДКОР!!! ХИПСТАНЫ ПИШИТЕ НА РУБИ, УСТАНАВЛИВАЙТЕ ГЕМЫ И КОММИТТЬЕ ПРЯМО В ПРОДАКШЕН, НАХУЙ ВСЁ ОСТАЛНОЕ ГОВНО. ЦЕНИТЕ РЕЛЬСЫ!!!
943736
#320 #943705
>>943268

err&.tap {|e| p e.message}
943706
#321 #943706
>>943705

err&.tap &:message

покатился дальше
943734
#322 #943734
>>943706
Что за амперсанд в конце err&?
рубист 8 лвл
943744
#323 #943736
>>943697
Мой друг установил все 12,328,326,167 гемов и стал воплощением бога на земле.
8 Кб, 375x81
#324 #943744
>>943734

типа монада maybe
944224
#325 #944137
ЭЛИКСИР НАБИРАЕТ ХАЙП, РУБАНЫ?
944147
#326 #944147
>>944137
|> да
944229
5 Кб, 413x124
#327 #944224
>>943744
спасибо, а то я с деревни
944237
#328 #944229
>>944147
|>

Что значит этот твой символ?
944806
6 Кб, 273x135
#329 #944237
>>944224

> windows



945400
#330 #944806
>>944229
То же что в F-шарпе, откуда и был честно спизжен.
Ну или то же, что (-> ) в кложе.
6 Кб, 181x115
#331 #944979
Ребят, вот у вас нет тайп-хинтов, кто-то пытается бороться с этим?
Попробовал просто докблоки YARD, тот же RubyMine почему-то молчит как партизан при несоответствии типов (пик).
Нагуглил контракты: https://egonschiele.github.io/contracts.ruby/
Выглядит интересно, но нет интеграции с IDE. Может у вас есть что посоветовать?
945020
#332 #945020
>>944979
Так этож, блять, дак тайпинг!
945088
#333 #945088
>>945020
Если в функцию вместо строки прилетает число, то это ошибка, о которой язык должен сообщить как можно раньше, а не продолжать выполнение, это приводит к трудноуловимым багам на больших проектах. Люди ведь не зря TypeScript/Flow придумывают, не говоря уже о том, что типизация документирует код (и не устаревает, в отличии от докблоков). Ну не верю, что никто из вас чем-то таким не пользуется.

> дак тайпинг!


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

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

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



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

@param [#to_s] yoba
945891
#336 #945192
РУБАНЫ, ПЕРЕКАТЫВАЕМСЯ В ЭЛИКСИР. ХАЙП НАБИРАЕТ ОБОРОТЫ И ЕСТЬ ШАНС ЗАСВЕТИТЬСЯ И СДЕЛАТЬ КАРЬЕРУ, А НЕ КОПОШИТЬСЯ В ТУХЛЫХ РЕЛЬСАХ, НАДЕЯСЬ НА ПРОФИТЫ. СОЗДАЕМ КОМЬЮНИТИ И ФОРСИМ ЭЛИКСИРНЫЙ СТЕК, КАК НАИБОЛЕЕ ПРИГОДНЫЙ. ХАЙПИМ ПАСТОЙ И ПОДОГРЕВАЕМ ИНТЕРЕС. БУДЕМ ПЕРВЫМИ, РУБАНЫ, ОСТАЛЬНЫЕ В НАШУ ТУСОВКУ ПРОСТО НЕ ВОЙДУТ
945203945324
#337 #945203
>>945192
Давай, ебошь. Я был "первым" ещё в конце 2015-го, а воз и ныне там. Вакансий нихуя нет, а если есть, то платят смуззи.
945324
#338 #945324
>>945192

>СОЗДАЕМ КОМЬЮНИТИ И ФОРСИМ


проиграл с этого слоупока
хотя в рамках какой-нибудь мрачной постсовковой параши наверное всё плохо как >>945203 пишет
945408
#339 #945400
>>944237
да, шиндовс

я себе поставил на вмваре арч, пока времени разобраться толком не было, но выходные уже скоро
945493
#340 #945408
>>945324
Постсовковая параша под названием "весь мир", ты имел в виду?
945434
#341 #945430
>>916183 (OP)
А напомните-ка, применяется ли еще где-нибудь ЯПОНСКИЙ БЕЙСИК кроме рельсов?
945489
#342 #945434
>>945408
Нет.
945435
#343 #945435
>>945434
А что тогда? Где вакансии с нормальными мировыми зарплатами?
#344 #945489
>>945430
17. Руби язык одного фреймворка?
Есть еще Sinatra, Hanami (ранее Lotus), Volt, Grape, отличные штуки для DevOps - Chef, Puppet и годные генераторы для бложиков - Jekyll, Middleman, всё это активно используется в продакшене
945768964076
#345 #945493
>>945400
Ты бы еще генту поставил. Ставь убунту и не выебывайся, если собираешься на руби кодить, а не конфиги настраивать.
945526
#346 #945526
>>945493
Не совсем понимаю твою агрессию. Лично знаю пару счастливых обладателей арча. Чего ты выебываешься-то?
945647
#347 #945647
>>945526
Мудак он зацикленный на популярном говне под названием бубунта
945744
#348 #945744
>>945647
А ты мудак, зацикленный на элитарном говне для нитаких, которое ещё к тому же не работает без пердоленья.
945891
#349 #945768
>>945489
Из перечисленного только Чиф и Пупит используются. Ну и Синатру встречался в требованиях вакансий.
946213
19 Кб, 678x117
#350 #945891
>>945113
Я попробую проникнуться ненужностью. Заметил, что ни RoR, ни Sinatra не используют YARD. Ну и проблема скорее в RubyMine: https://blog.jetbrains.com/ruby/2011/04/what’s-mining-advanced-yard-support/#comment-646

>>945744
Ты не прав, у арча есть объективные преимущества перед остальными дистрибутивами:
- подробная up-to-date вики, вместо разрозненных туториалов под разные версии убунты.
- AUR, откуда можно установить почти всё что угодно без необходимости подключать PPA. PPA забрасываются и никем не проверяются.
К недостаткам можно отнести роллинг-релиз. У одногруппника после одного из обновлений просто отвалился шелл из-за новой версии ncurses, удалось спасти через LiveCD со старым ncurses на флешке.
Сам полностью обновлял систему раз 7 за эти почти 2 года (проверяю новости и форум арча перед обновлением).
В общем, не нужно думать, что если тебе не подходит, то всем не подходит.
945896945902
#351 #945896
>>945891

>п е р д о л и н г


Ну да, я понял уже, что подходит только студентам, которым время некуда всрать.
#352 #945902
>>945891
Арч - хуярчь. Это не для меня. Я использую Минт, где большинство нужного мне уже искаробки есть и годно работает.
#353 #945926
Рубаны, как вы админку кодируете? Какой гем ставить? Искаробки ведь не поддерживается? Почему так, кстати?
946040
#354 #946040
>>945926
Administrate или ActieAdmin
946092
#355 #946092
>>946040
И как?
#356 #946213
>>945768
Hу еще есть Capistrano для деплоя, Vagrant, brew, metasploit, для которого есть дохуя модулей на руби, fastlane, ну и очевидные системные скрипты.
#357 #946498
рубаны, у меня в убунту вместо значка рубимайн стоит знак вопроса. как это фиксить?
946657
#358 #946657
>>946498

никак, живи с этим тебе в софтач, с такими вопросами
#359 #947630
Рубаны, а где вы работаете то? Есть парочка пет-проектов, немного кода (бот на телеграме, например). И есть стойкое понимание того, что я просто не знаю, где найти работу. Опыта по рубям, естественно, нету. На рубиджобс никто даже не отвечает.
Что делать то? Денег на переезд в ДС нету.
947649947850
#360 #947649
>>947630

> Денег на переезд в ДС нету.


Увы, иного пути нет.
109 Кб, 639x639
#361 #947850
>>947630
Оставь реквизиты, скину тебе на билет. Мимо руби-тян.
947853
#362 #947853
>>947850
ой не пизди
404 Кб, 2200x1467
Наняться на галеру #363 #947889
Суп, рубаны.

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

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

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

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

Какие подводные камни пересесть на галеру? Какие ещё есть варианты? Думал о фрилансе, но прямо сейчас обстоятельства требуют стабильной зарплаты.
947904
#364 #947904
>>947889
Че ты здесь сидишь? Пшёл в рабство на джинна. Думает он ещё.
81 Кб, 600x487
#365 #948015
руби сдох и на нем нет работы.вы некрофилы?
948057948085
426 Кб, 2038x1362
#366 #948057
>>948015

>Москва


>Найдено 226 вакансий


https://hh.ru/search/vacancy?text=ruby&area=1
948270948777
#367 #948085
>>948015
Не могу просто, умираю от безделья на джвух работах.
#368 #948223
>>939124
Очевидные JVM языки
#369 #948270
>>948057
кто в здравом уме будет на нем писать и тем более разрабатывать?хипстеры,хайповый язык
948769
#370 #948769
>>948270
Ко-ко-ко. Basecamp, GitHub, Shopify, Airbnb, Twitch, SoundCloud, Hulu, Zendesk, Square, Highrise - Ruby on Rails

proof: http://rubyonrails.org/
948776948777
#371 #948776
>>948769
>Twitch
Давно на scala
948812949404961753
#372 #948777
>>948057
>>948321
>>948769
Зачем вы отвечаете этим неадекватам? Эти люди сюда не за конструктивным диалогом пришли, жмите жалобу молча.
#373 #948812
>>948776
А чего они врут на офф сайте? Совсем охуели
948974961753
11 Кб, 973x116
#374 #948974
>>948812
насколько я помню они фронт раздают через рельсы, а чатик и стримы через скалу.
949582961753
#375 #949124
А чего они вообще переписывают постоянно свои сервисы? У них что ли производительность дико начинает расти? Или это новый начальник пришел и решил, что сегодня круто упарываться именно в это.
949140
#376 #949140
>>949124

делать прост нечего
23 Кб, 220x339
#377 #949404
>>948776
Очередной отсос динамикоблядков.
961753
#378 #949582
>>948974
у них вообще ГО для чата
961753
#379 #951487
Господа рубисты, я нуб, хочу писать приложеньки для Android на Ruby, можете мне порекомендовать IDE, в которую легко встанет поддержка раби и рельс?

Пробовал поставить Eclipse и плагин для Ruby, не вышло.
951595
#380 #951595
>>951487
Божественный RubyMine. Не забудь включить тёмную тему - дефолтная светлая оче вырвиглазная. Пиратская активация гуглится по "rubymine license server".
951615951621953462
#381 #951615
>>951595
За обоссаные иде от джетбрейнс у нас на раене сразу в петухи записывают.
952839
#382 #951621
>>951595

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

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

Теперь буду искать нужные гемы и вперёд)
#383 #952839
>>951615
поясни за обоссанные
У нас на раене за гнилой базаор и петушнуть могут, епти
#384 #953462
>>951595
прошло пару дней, регистрация слетела нахер.
сделал снова.
это придётся делать постоянно?
#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.

Куда копать, ананасы?
#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.

Куда копать, ананасы?
#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

?
954763
#387 #954763
>>954715

Какавычки проверь
954776
#388 #954776
>>954763
Бля. Разбираться с автоматизацией после 10часового рабочего дня черевато, котелок не варит нифига.

Спасибо.
650 Кб, 817x1186
#389 #956099
Суп, рубиняши. А вы знаете, что в этом вашем руби Класс - объект, а Объект - класс? А ещё класс - Объект, но объект не Класс?

И вопрос. Что на самом деле происходит при вызове extend в теле класса? И куда попадут синглтон-методы модуля, если включить его в класс через extend?
956184
#390 #956184
>>956099

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



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

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



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

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



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

Когда ты юзаешь extend, сам модуль попадает в иерерахию наследования, на дне которой находится метакласс класса в котором вызван extend. Метакласс модуля никуда не попадает, и его методы не становятся доступными из твоего класса или его екземпляров.
956191956370
#391 #956191
>>956184

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


И метакласс суперкласса является суперклассом метакласса.
#392 #956317
https://www.youtube.com/watch?v=YrXJzD2E6NU

Так выглядят лучшие разработчики на руби? Я в шоке
956344956419
199 Кб, 800x448
#393 #956344
>>956317
Нет вот так.
956362956418
#394 #956362
>>956344

такой милый))) а когда радуется, ножкой так смешно подпрыгивает))) ми-ми-ми
96 Кб, 800x615
#395 #956370
>>956184
Этот ад спрашивают на рубисобеседованиях?
956428
#396 #956418
>>956344
Ему Оскара уже дали или ещё не дали? Я провтыкал прост.
#397 #956419
>>956317
Пенис Защекуберуков
#398 #956428
>>956370
Ни разу не был на рубисобеседовании, но думаю что нет. И оно звучит сложнее чем есть на самом деле, там всего пару довольно простых понятий нужно усвоить (что такое метакласс, как работает цепочка наследования, каким образом она модифицируется всякими include/extend/prepend).

рубист-перекатившийся-на-elixir
956431956664
301 Кб, 768x1024
#399 #956431
>>956428
Картинка отклеилась
957983
#400 #956664
>>956428

>рубист-перекатившийся-на-elixir


Расскажи об этом подробнее. Причины, мотивы, батхерты, ощущения... вот это всё.
956790
55 Кб, 640x427
#401 #956790
>>956664
Фрилансил на rails, потихоньку изучал всякую другую фигню, в том числе elixir, как-то об elixir зашла речь в разговоре со знакомым, он знал кого-то, кто знал ещё ко-го-то в компании где нужны эликсирщики, я заапплаился на вакансию, взяли, работаю. Зарплата больше чем была на фрилансе, полный рабочий день не особо напрягает.

Elixir нравится, единственный крупный недостаток, как по мне, это довольно незрелая экосистема, но это не фатально и решается со временем.
#402 #957983
>>956431
you ale a vely blave man, sil
#403 #958227
вощем ваш руби такое гавно как PHP
вечно варнинги небось выдает да ерооры
на такое гавно после perl очень противно переходить
то что на perl отлично работает на руби с ПХП ерроры выдает
заебешся переделывать
ну и кнопок намного больше жать
мучение сплошное
958229
#404 #958229
>>958227

попробуй хаскелль.
958259958702
#405 #958258
>>958215

>мимо с++


Мнение опущенцев волнует кого-то только в петушиных бараках: кресто-тред, говняшная-тред, реверс-инжениринг-тред и в прочих облюбованных байтопортвешками местах. Так что советую тебе за их пределы не высовываться, и тем более не в вваливаться в руби-тред, раздражая своим смрадом элиту.
#406 #958259
>>958229
ловите нюфага пока не убежал
958751
#407 #958701
>>958216
А по-по-дробнее?!
#408 #958702
>>958229
Я ЕХАЛСЕГОДНЯ НА ГИРОСКУТЕРЕ ПО ГАРАЖУ И УВИДЕЛ ЗАДРОТА С ЛЯМБДОЙ НА МАЙКЕ, КОТОРЫЙ ПРИШЕЛ НА СОБЕСЕДОВАНИЕ В НАШ СТАРТАП, НУ Я РЕЗКО ПОДЪЕХАЛ К НЕМУ И ПРЕГРАДИЛ ПУТЬ К КОФАУНДЕРАМ И ПОЯСНИЛ ЕГО КРИКОМ «НЕ ЛЮБЛЮ ВЫЕБЩИКОВ», ПОТОМУ ЧТО Я УГОРЕЛ ПО ООП, КРУДОШЛЕПСТВУ, И GEM INSTALL, ХИПСТАНЫ ДУХ СОВРЕМЕННОГО ВЕБДЕВА ЖИВЁТ ТОЛЬКО В КОВОРКИНГАХ, ГДЕ ХИПСТЕРЫ С 12 ЛЕТ ПИШУТ НА РЕЛЬСАХ, ПОПИВАЮТ СМУЗИ, СИДЯ НА ПУФИКАХ, И ЕБУТ ОФИСНЫХ ДИНОЗАВРОВ В РОТ! ТОЛЬКО ROR, UPWORK И РАБОТА НАПРЯМУЮ С ИНОСТРАННЫМИ ЗАКАЗЧИКАМИ. ТОЛЬКО 25 ЛЕТ СТАЖА В 30 ЛЕТ, ТОЛЬКО ХАРДКОР!!! ХИПСТАНЫ ПИШИТЕ НА РУБИ, УСТАНАВЛИВАЙТЕ ГЕМЫ И КОММИТТЬЕ ПРЯМО В ПРОДАКШЕН, НАХУЙ ВСЁ ОСТАЛНОЕ ГОВНО. ЦЕНИТЕ РЕЛЬСЫ!!!
959511
#409 #958751
>>958259
как будто эти пасты шизика с очкочана кому-то интересны
958961
#410 #958961
>>958751
Не шизика, а крупнейшего специалиста в области исскуственного интелекта.
#411 #959511
>>958702
смешно
#412 #959942
rubyenv или rvm и почему?
960146960293
#413 #959948
с кем тут можно попилить проекты?
я только вкатываюсь в в руби, хочу кому нибудь помочь за еду
959955960353
#414 #959955
>>959948
Почему выбрал руби?
960287
#415 #959962
Рубаны, какая у вас инфраструктура используется сейчас? Какие веб-сервера и прочее? Что с хостингами?
#416 #959970
Объясните, зачем для установки рельс нужен нудный жс (node.js)? Что за нелепая зависимость?!
960070
#417 #960070
>>959970
Собирать ассеты и js.

Как ни странно, можно и без него обойтись.
therubyracer, например.
960258
#418 #960146
>>959942
ruby-install и chruby - самый лайт
960258
#419 #960258
>>960146

>ruby-install и chruby


>>960070

>therubyracer


Ну началось. Я думал у вас хоть зоопарка и мешанины велосипедов нет...
960397
#420 #960287
>>959955
Синтаксис нравится сахарка много
#421 #960293
#422 #960353
>>959948
Оставляй контакты.
#423 #960397
>>960258
Что господин имеет против ruby-install и chruby? Наверное, господин не удосужился опробовать эту комбинацию и несет тут пафосную хуйню?
#424 #960510
Все это не нужно, ведь есть универсальный asdf (https://github.com/asdf-vm/asdf).
#425 #960979
Короче, такая история, решил я разжиться книгами на pragprog.com, а к оплате перейти не могу. Обратился в суппорт, пишут, что не могут отправить из-за 'political sanctions'. Ну я думаю, ок, куплю электронные версии тогда, к тому же при покупке электронных к оплате перейти можно было. Пишу на всякий случай в суппорт, а они после долгих раздумий, через два дня отписывают, что эл. версию ты тоже, мол, не можешь купить. Это они меня наебали получается? О каких таких санкциях идет речь, ведь я же не продукты питания покупаю. Короче теперь не стыдно спиздить книгу у pragprog, т.к. продавать все равно не хотят. Амазон идет нахуй сразу т.к. на электронки там цена в два раза выше, а бумага оттуда месяц будет идти.
299 Кб, 2048x1536
285 Кб, 2048x611
#426 #961739
ЖИВЁМ МОЛОДОСТЬЮ И ЭНЕРГИЕЙ
961940961988
#427 #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
962058
#428 #961940
>>961739
Что за сходка? На втором фото второй справа, это же чел, который разрабатывает всякие там dry-rb и т.д? Кстати поясните за все эти rom-rb, dry-rb - зачем эта хуета нужна вообще и почему ее адепты так сильно гордятся тем, что они это используют? Годится ли оно для чего-либо, кроме теребления своего чсв?
963957
#429 #961988
>>961739

>i love code звучит от рубиста так, как будто этот рубист полный долбоёб. Ведб руби вобрал в себя философию смалтолка и пёрла, где краткость сестра таланта. Тобишь философия руби гласит: я ненавижу код, его должно быть как можно меньше, но отдачи как можно больше. Поэтому в руби и рельсах столько магии. Нужно было помать за руку того докладчика и погнать его со сцены ссаными тряпками.

963957
sage #430 #962058
>>961753
Але, ебанутый, стек технологий твиттера это второй по используемости стек в мира скалы, по после стека тайпсейфа теперь это lightbend, те кто поддерживают скалу и многие связанные с ней технологии и зарабатывают на ней.
Посмотри их гитхаб чтоле https://github.com/Twitter.
Кстати http://twitter.github.io/effectivescala/ часто рекомендуют вкатывающимся в скалу.
мимоскалаёб
962060962076
#431 #962060
>>962058
Но что ты собрался разрабатывать на скале в постсовке?
963537963957
#432 #962076
>>962058
ебать дебил
путать в 2017 твитч и твиттер это только скала вместо мозга
963537
311 Кб, 1964x1330
#433 #962161
А почему все говорят что руби умирает ?
На пикрилейтед очевидный рост количества загрузок гемов в день
http://bestgems.org/stat/download
962176964510
#434 #962176
>>962161
Это как у иллюминатов, произносят заклинание, в надежде, что когда-нибудь таки умрет. Ну либо школьники, хватающие всего по верхам в погоне за самыми новыми технологиями. Когда живешь в ритме такой погони, кажется, что вообще все технологии умирают.
#435 #962258
>>916183 (OP)
Поясните за методы доступа в классах, а точнее зачем объявлять метод чтения атрибутра, ведь мы же уже присвоили значение перменной в первом методе(записи).
962259
90 Кб, 593x656
#436 #962259
>>962258
бля отклеилось
962329962346
#437 #962329
>>962259
чтобы можно было вызвать метод экземпляр.age
первый мотед для записи через =
второй чтобы узнать значение которое записали
sage #438 #962346
>>962259
ты слепой? там же написано "Читаем значение из @age"
#439 #962383
В Rails первее всех собрали воедино множество инструментов для повышения удобства разработки. Но сейчас вы не найжете в нем "революционности". По сути, ничего нового в Rails не изобретено. ActiveRecord, MVC? Это паттерны прямиком из книжек 90-х годов. Шаблонизатор вроде .erb? Смешно. REST API? Тоже не ново. LESS, SCSS? Никого этим не удивишь. Миграции для БД, скаффолдинг тоже везде есть. Таким образом, в Rails есть всё то же самое, что и в других веб-фреймворках. Сейчас, когда все догнали и перегнали Rails, рубистам только и остается говорить, что всё спиздили у них. Что мы имеем в сухом остатке? Зрелое коммьюнити и очень зрелый фреймворк, т.к. все хипстеры, которые гоняются за технологиями, перепрыгнули куда-то в JavaScript-джунгли. Только вот эти хипстеры и вывели руби в люди, а не какие-то нудные корпоративные инженеры, как джаву и дотнет. Ах, да. Многопоточность и модель акторов сюда не завезли.
962421962422963936
#440 #962384
Субъективно: в Rails много магии и отсутствие средств контроля за это магией. Точнее средств достаточно, но это всё лишний геморой.
#441 #962385
Часто быстрая разработка на RoR оправдывает вложения, но ещё чаще масштабирование усложняется из-за высокой стоимости.
#442 #962386
Поддерживается далеко не всеми хостерами. Хостинг несколько экзотичен, поэтому или долго искать специализированный или разворачивать все на VPS. Этот факт сразу отсекает мелкие проекты. Мало хостеров поддерживает, короче говоря.
962424
#443 #962408
Внезапно стали сыпаться тесты тупо на первой строке. Говорит тип in `<top (required)>': uninitialized constant SitePrism (NameError)

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

uninitialized constant Capybara

..
962412
#444 #962412
>>962408

> Внезапно стали сыпаться тесты тупо на первой строке.



ну давай погадаем, раз код не менялся, то посмотри на бандл апдейт, может сломал зависимости, или в иде слетели энвайронмент настройки.
962710
#445 #962417
>>919843
очень глупое предположение.
#446 #962421
>>962383
не рельсами едиными. Hanami, Padrino, ну и синатра (хоть и из другой оперы).
а вообще, руби охуенны для напейсания своих маленьких юзерскриптов под никсы. я руби-скриптом жымаил себе чищу от спама регулярно, набросал на коленке за 5+ минут
962637962763
#447 #962422
>>962383
поддерживаю
#448 #962424
>>962386
да шаред хостинг уже неактуален
#449 #962637
>>962421

>Hanami, Padrino, ну и синатра


Работы не завезли.
962654963936
sage #450 #962654
>>962637
согласен с этим господином - даже на чистом руби работы мало. Смиритесь уже наконец, что Ruby == Rails.
#451 #962710
>>962412
Пофиксилось с помощью bundle clean и bundle package, но какого хуя это было я так и не понял.
#452 #962712
Рубаны, а вы что-то зарабатываете с руби? Только честно.
Или за идею пет-прожекты делаете? Почему вам нравится этот язык? Логотип красивый?
962831963957
#453 #962763
>>962421
Кроме веба нигде не применяется? Питон, например, используют в научных расчетах и геймдеве.
962936962945963957
#454 #962831
>>962712
Увы, если ты не в ДС, то тут только либо фриланс где будешь воевать только с индусами за право работать за еду либо крупные города. В провинции ты либо клепаешь сайты на похапе, либо сидишь без работы.

Осваиваю руби с 2015 и тихонько плачу от безработности
962832962884
#455 #962832
>>962831
А почему ты плачешь, вместо того чтобы учить пхп, няшечка?
962844
#456 #962844
>>962832
Потому что перспективы ковыряния пхп-фреймворков меня не привлекают совсем? Поэтому я учу жабу
#457 #962884
>>962831
Просто не умеешь. Я вот с двумя работами почему-то охуеваю, а ты на двачах плачешь.
962896
#458 #962896
>>962884
Город?
962898
#459 #962898
>>962896
А тебе зочем? 500к-мухосрань, работа удаленная.
962899962907
#460 #962899
>>962898
Ну вообще, есть одна руби-контора, в которой неплохо было работать хоть и не много платили, но туда вряд ли попадешь - это теперь скорее дело одного человека, чем компания, как раньше было, когда я там работал.
#461 #962907
>>962898
Ну в моей 300к мухосрани, например, кроме PHP и шарпа больше не существует языков программирования.

На фрилансе работал. За 5 баксов в час. Заработал 1к и больше как-то шишка не стоит. Повышая ставку — количество доступной для меня работы начинает стремиться к нулю. Наверное, ты очень скиллован, что можешь без проблем зарабатывать там нормальные деньги.
962961
#462 #962936
>>962763
раби в макоси юзается для того же, для чего пиздон в линухах -- как в сырцах каждой второй софтины в линухе обязательно наткнешься на .py, так в макоси на .rb. ну, и еще можно невозбранно купив лицензию пейсать на рубях под яблофон (RubyMotion) и под ведро (Ruboto)
962937963019963047
#463 #962937
>>962936
UPD: Ruboto халявен.
963019
sage #464 #962945
>>962763

Обсасывали миллион раз, применяется. Гугли.
963996
#465 #962961
>>962907
"Фриланс" забудь ваще, это говно для школьников. Ищи нормальную фуллтайм удаленную работу.
962976
#466 #962976
>>962961
Разве это реально, не имея коммерческого опыта? Тем более, для зарубежного фуллтайма.
962981
#467 #962981
>>962976
Конечно же нет, все в точности до наоборот. Фриланс - для профессионалов, фуллтайм тоже для профессионалов. Школьники нужны только в ДС где есть места для стажеров и какие-нибудь изи-джуниоры. Всё, больше ничего нет.
Если все-таки фриланс или смерть - то тупо вкатываешься в веб с пхп, битриксами, вордпрессами.
#468 #963019
>>962936
>>962937
Эти инструменты не распространены.
#469 #963028
Почему руби так популярен у макохипстеров?
963030963957
#470 #963030
>>963028
Лучше задай вопрос почему мак ебать так модно. Вот и весь ответ.
963034963957
#471 #963034
>>963030
Потому что он няшный и там светофорчик в окошечках.
Но каким боком здесь связь с руби?
963036
#472 #963036
>>963034
Ты сам ответил.
963037
#473 #963037
>>963036

>Но каким боком здесь связь с руби?


Нипанятна! Руби не няшный, питон няшнее.
963039
#474 #963039
>>963037
Ответ: никаким.
963041
#475 #963041
>>963039
Случаное совпадение?
#476 #963047
>>962936

> в макоси на .rb


Там все те же приложения, разве нет? По крайней мере те же что на винде в основном.
#477 #963081
963082963139963320
#478 #963082
>>963081
Про что там? Некогда смотреть.
963090
#479 #963090
>>963082
Хипстеры с тяночками собрались на конфе чтобы потешить своё чсв, ничего особенного.
963957
125 Кб, 706x1000
#480 #963139
>>963081
някихиро няцумото
963150
#481 #963150
>>963139
Так вот в чем дело! На руби дрочпт анимешники потому что главный рубист узкоглазый!
963957
40 Кб, 1280x960
58 Кб, 1280x960
81 Кб, 1280x960
#482 #963209
Лайк, если сейчас на воркшопе по Hanami.
Репост, если сидишь в офисе или дома.
963210
#483 #963210
>>963209
Еее бороды тяночки макбуки!
963231
#484 #963214
Как же хорошо то! Открыл макбук, пишешь код на ламповом руби и все няши-стесняши миленькие тяночки твои! Просто борода и макбук! Всё!
Не то что мерзкий питон.
963231963684963957
97 Кб, 1280x960
#485 #963231
>>963210
>>963214
Всё так
963262
#486 #963262
>>963231
Колонки ямаха, дороха, бохата!
963270
#487 #963270
>>963262
еще и кондиционер есть!!!11
#488 #963320
>>963081
Чот всё слишком радужно выглядит. Раскройте подводные камни всеё этой движухи.
#489 #963537
>>962060
То что дяди из-за океана скажут.
>>962076
Блять. Я пиздоглазый мудак. Извините.
#490 #963684
>>963214
макбуки только для пидрофанбоев, что ездят по несмазанным рельсам по жизни
Ъ-посоны поднимают линух и на нем ваяют няшные скрипты на ламповом чистом руби.
963708963957
#491 #963708
>>963684

> ко-ко-ко, линукс, ко-ко-ко, вип, ко-ко-ко, ъ-посоны.

963713
#492 #963713
>>963708
макоёбушка, ты ошибся местом у параши, возвращайся под свою шконочку, няш :3
963957
24 Кб, 1340x600
#493 #963878
Проиграл с графиков
963888963942
#494 #963888
>>963878

какое-то несвежее принес, ща все на 2017.1. и 2016.3
1102 Кб, 2250x2700
#495 #963936
>>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.
964501
#496 #963942
>>963878
Что качают?
#497 #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
Ни одного аниме-дебила ни разу не видел среди рубистов, с кем работал.
#497 #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
Ни одного аниме-дебила ни разу не видел среди рубистов, с кем работал.
964508964514
#498 #963995
Подскажите, с какой книги лучше начать изучение руби.
На русском
964515
#499 #963996
>>962945
Понятно, значит, нет. Загуглил тебе за щеку.
964076
#500 #964076
320 Кб, 2556x680
#501 #964207
Взял гем double_entry для работы с внутрисайтовыми платежами, теперь появилась необходимость построить график цены отдельного товара. Думаю сделать отдельную таблицу со средней ценой за день, которую будет считать крон скрипт (гем whenever) на основе данных из таблицы созданной гемом (пикрелейтед). Я все правильно делаю ?
#502 #964501
#503 #964508
>>963957

>Ты должен любить код за то, что он выразителен


Когда заканчиваются реальные аргументы, то в ход идут слова "выразителен", "элегантен", "приправлен сахарком". Sic!
#504 #964510
>>962161
Количество войтишников растет, количество скачивания гемов растет. Да и вообще синтетическая метрика ни о чем не говорит.
#505 #964514
>>963957

>Ну тип другие концепции, меньше «магии» (читай как методов), чем в Rails, меньше весит, быстрее работает. Ну и там Repository вместо ActiveRecord или DataMapper.


Перевернули концепции руби и рельс и пытаются это напарить. Вот это лооол. Но Мутз негодовал, что руби с рельсами ассоциируют. А оказалось, что отхождение от такого канона обесценивает руби в ноль. Я все скозалъ.
#506 #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 долларов. Профит!
Тред утонул или удален.
Это копия, сохраненная 24 мая 2017 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски