Предыдущий: https://arhivach.org/thread/251176/Принимаются изменения в шапку треда в виде пулл-реквестов:https://github.com/meoweg/2ch-pr-rubyКак показывать код:Быстро - https://pastebin.comС исполнением - https://ideone.comТребуется аккаунт GitHub - https://gist.github.comКонференцияhttps://2chpr.slack.com/messages/ruby/Получить приглашение: https://invite-me-to-2chpr.herokuapp.com/FAQ:1. C чего мне начать, чтобы стать рубистом?Отличным началом будет Programming Ruby (The Pragmatic Programmers Guide), читать Eloquent Ruby и The Well Grounded Rubyist после прочтения первой толку особо не даст, одни и теже вещи, дальше читаем Ruby Way, затем познаем метапрограммирование с Metaprogramming Ruby. А дальше открываем Ruby cookbook 2015 года, Пишем свой код во время чтения.Следующий уровень, продвинутые книги по руби:Confident Ruby by Avdi GrimmPractical Object-Oriented Design in RubyRefactoring Ruby EditionRuby 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.io6. Что почитать по рельсам?http://guides.rubyonrails.orghttp://ruby.railstutorial.orgAPI: 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.com9. Я не могу в английский, что делать, анон?Идти учить английский, без него тут делать нечего.10. Есть ли у руби русское коммьюнити?Нет. Вернее есть, но оно протухло и там полно людей у которых чсв высоко.Яркий пример - [email protected]А еще есть русская слак конфа - https://russiandevs.slack.com она общая, но есть очень активный руби канал.Так же русская гугл группа, активная - https://groups.google.com/forum/#!forum/ror2ruЕще вот - https://onrails.club/11. Какие гемы стоит знать?capybara, rack, rspec, devise, cancancan, simple_form, solr, sinatra, тысячи их.Поиск гемов https://www.ruby-toolbox.com12. Зачем нужны тесты и как их писать?http://rusrails.ru/a-guide-to-testing-rails-applicationshttp://habrahabr.ru/post/163597/Вместо этого можно прочитать классную книгу Everyday Rails Testing13. Где можно задать глупые и не очень вопросы?- здесь- stackoverflow.com- тематические slack-конфы- а вообще, гугли, с вероятностью в 90% ответ на твой вопрос уже висит на stackoverflow.14. Как фокнуть\сделать фичу\исправить баг, сложно ли это?Нет, не сложно. На rubyflow появляется много новостей с реализацией новой библиотеки, вы можете сделать тесты, фичу для него, старые либы также обрастают багами, улучшайте их! пишите код.15. В чём писать код?Atom, Brackets, Sublime Text, TextMate, Vim, GNU Emacs. Для особо упоротых энтерпрайз-макак есть rubymine, плагины к эклипс и нетбинс.16. Можно ли писать на руби с под windows?Можно, но придется обрасти костылями в виде виртуальной машины, придется сходу разбираться с Vagrant и многим другим. Чем дальше ты продвигаешься, тем ближе становится ясно, что пора перекатываться на linux/mac17. Руби язык одного фреймворка?Есть еще Sinatra, Hanami (ранее Lotus), Volt, Grape, отличные штуки для DevOps - Chef, Puppet и годные генераторы для бложиков - Jekyll, Middleman, всё это активно используется в продакшене18. Можно ли делать игры на Ruby?Можно, но не нужно. Гем Gosu.19. Ютуб каналыYoutube driven development...Вот тебе пара каналов, но никому не говори что учишься по видео.https://www.youtube.com/channel/UCIQmhQxCvLHRr3Beku77tww/videoshttps://www.youtube.com/channel/UCfWZwsP8trUy5uHJg8gcGIQhttps://www.youtube.com/channel/UCSI77lJlzlCFPLdV1RSAoYQhttps://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_2ch4. Не стесняемся постить свои репозитории, наши эксперты с радостью отревьювят вас.После этого тебе будут нужны паттерны, без них твой код превратится в говно. Один из часто используемых - 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.
Взял гем double_entry для работы с внутрисайтовыми платежами, теперь появилась необходимость построить график цены отдельного товара. Думаю сделать отдельную таблицу со средней ценой за день, которую будет считать крон скрипт (гем whenever) на основе данных из таблицы созданной гемом (пикрелейтед). Я все правильно делаю ?
>>964886Я бы не стал доверять непроверенным гемам.
Сап, анон. Я тут рельсы последние пол года задрачивал, хочу уже собеседования проходить. Расскажи, задают ли ебучие логические задачки на собеседования из разряда ПОЧЕМУ ЛЮКИ КРУГЛЫЕ, или эта хуйня уже в прошлом? Стоит ли задрочить с десяток таких задач, или на теории Руби/Рельс сконцентрироваться? Вообще че джуниору из мухосрани посоветуете?
>>965240Envato все-таки не ноунейм контора
>>965588Впервые слышу. Чот тухлый у вас тред, рубаны.
>>965262>Вообще че джуниору из мухосрани посоветуете?Переезжать в ДС или учить 1С-битрикс.
Блять, анон, я нихуя не понимаю этих ваших регулярок. Делаю коанс.def test_period_is_a_shortcut_for_any_non_newline_character assert_equal "abc", "abc\n123"[/a.+/]endЭто типа правильно, но это же нихуя не правильно. Потому что онлайн проверщик регулярок говорит мне что должна соответствовать вся строка. Точка это b, + все остальное. Но руби упорно мне продолжает говорить что я хуй и правильно abc. Халп.
>>966455Регулярки бывают разных "стандартов".В perl-регулярках точка к символу новой строки вроде как не относится.Может сюда копнёшь.
>>965862Удаленка для джуна фантастика?
http://stackoverflow.com/questions/43213990/accepts-nested-attributes-for-has-many-through-create-and-delete-join-model-objПомогите ньюфагу, плз.
Привет всем, работаю на руби два года, не прочитал до конца нет одной книги. Коллеги постоянно добываются, что я апдейт не делаю, а делать промывание атрибутов модели и сейв. Добываются что я не так формы пишу и тд. Вроде не тупой. В команде все кидают понты. Подскажите книжек, чтобы прочитать и пить смузи как все эти хипстеры. Я по правде никогда веб прогером не был и попал сюда случайно.
>>966455Используй /m
>>966892 чтобы защитить модель юзера, можешь использовать стрикт парамс.
>>966892Алсо, твоя проблема в том, что тебе надо найти автоматом имейл и поставить айди? Либо модифицировать параметры , либо сделать имейл собственно ключом. Не думал об этом, лол?
>>966958Спасибо, анон. Лол, я даже забыл, что эмейлы уникальны для юзеров и их можно использовать вместо айдишника для джоин модели.Я пошел отсыпаться. Мир.
>>967045Только тебе все равно так или иначе придется фильтровать входные параметры, потому что если ты просто сделаешь апдейт из параметров формы, я боюсь у тебя образуется либо связи на юзера с несуществующим мылом или , еще хуже, новый юзер с новым имейл, в зависимости как напишешь. Остерегайся, кек
Почему все используют рубокоп, который превращает мой няшный руби в петон и с каждой новой версией (которые еще постоянно обновляют) энфорсит все новую и новую хуйню? Сколько можно уже? Кодофашизм какой-то.То есть каждый месяц прилетают какие то охуительные истории от чувака, который указывает нашей команде, как писать простейшие вещи типа %r() vs //, && vs and и приходится подчиняться все новым и новым маразматическим правилам. И все это хавают
>>967320Потому что питон - это стандарт в современной разработке
>>967320Защита от похапэ-быдла, очевидно же.И это правильно. Похапэ-быдло — не люди.
>>967324вы таки уверены, что нельзя считать быдлом тех, кому каждый день могут указать, что вот такие скобочки в их коде теперь неправославные, причем на прошлой неделе, предположим, неправославными были одни, а теперь другие? Между прочим всякий %w синтаксис при использовании strict параметров выглядит уебищно. К сожалению, опять же, команда это хавает и следует этим копам, переписывая старый код под новые копы.
>>967320Потому что всех уже тошнит от руби-выебонов со 100500 способов написать одну и ту же хуйню и хочется порядка и единообразия. Это сначала весело, когда ты у мамы художник и артист, а потом заебывает. Чем крупнее проект и чем больше людей над ним работает - тем больше заебывает.
>>967384Так пиздуй к ним на гитхаб и открывай обсуждения - мол, заебали скобочки менять и вообще ваши копы говно, если такой умный. Либо меняй конфигурацию копов локально для своей команды и клади хуй на то что там в апстриме происходит - если у вас уже большая и констистентная кодобаза, то скобочки менять мало мысла.
>>967388>>967391слюшай. если тебя выворачивает от if !blah.nil?то это повод задуматься над бытием.
>>967388с одной стороны да, хуй с ним, конечно. Бесит не суть рубокопа а то, что один мужик определяет как мне писать и как мне переписывать уже написанное. >>967391Я тут права голоса не имею, зато каждый апдейт рубокопа (обновление последней версии которого еще и в gitlab-ci прописано ) за всю кодовую базу садится сеньор и начинает заменять одни скобочки на другие.Сраться на гитхабе - есть ли смысл? я особо на гитхабе не зависаю, попал в руби кодинг почти случайно, просто бесит вот эта хуйня. Ну зафиксировали бы версию и все - нет, над душой стоит удаленный вахтер.
Здрасте, а можно тут у вас посидеть?ASP.NET - адепт
>>967320пишешь свой проект - пиши как хочешь.контрибьютишь в опен-сорс - смотри как автор пишет.на работе - настроенный под вашу команду рубокоп.'охуительные истории' от чуваков нужны для новичков, чтобы те дичь не городили.
Где няшки?http://rubyjobs.ru/vacancies/4745
>>967826> В отклике, пожалуйста, подтвердите готовность пройти техническое тестовое заданиеСпасибо, нет.
>>967826БЛЯЯЯДЬ И ТУТ ХИПСТОРЫ ДОКОЛЕ БЛЯДЬ СМУЗИ БОРОДЫ МАКБУК Я ПРОСТОЙ ПАРЕНЬ ИЗ СЕЛА ДА Я ТОЖЕ ЗНАЮ РУБИ И ЧТО Я НЕДОСТОИН ПУФИКА АААА БЛЯДЬ СРАНЫЕ ХИПСТОРЫ
Посоны, можете подсказать по статик-хостингу?В общем нужно микро-сайт на джекилле где-то захостить, хотелось изящного решения. Дело в том, что раньше у битбакета была такая штука как aerobatic.io, это был полный аналог github pages только еще и с поддержкой плагинов и с приватными репами. Такая няшота. А сейчас они отделились и отобрали кастомные домены для бесплатных аккаунтов.Хочу что-нибудь дешевое придумать, чтобы и приватная репа была, и кастомный домен и деплой из CI-ки.Что там сейчас есть, гитлаб пейдж, хероку (но спит в бездействии), амазон (?), диджитал ошен?
>>968315Гитлаб пейджс есть с жекилом. Есть битбакет пейджс, но там хз. Не занимайся халявной ерундой и захости по человечески.
>>964886А мне ответит кто-то ?
>>968527Утро вечера мудренее.
>>964886>double_entry Чет я не догоняю при чем тут гем бухгалтерской записи и график средней цены товара?Кстати, расскажи про гем, зечем его понадобилось использовать, в чем профиты этой системы. Всегда было интересно про двойную запись, но никогда не встречал на практике.
Поясните, а почему нельзя кодить на руби сидя в окошках?
>>969177Можно, используй BashOnWindows - https://msdn.microsoft.com/en-us/commandline/wsl/about
>>969177https://c9.io/
>>969254Даже cock.li не хочет регистрировать, не говоря уже о временной почте. Да и оно платное, наверное?мимо
>>969314Это просто облачная иде с обрезком линукс-машины. В бесплатной версии после 24 часов простоя выключается.Проще запустить свою машину в виртуалочке или купить дешевый впс, если не хочешь перекатываться на мак/линукс.
>>969314вот обзор ( https://habrahabr.ru/company/mr_gefest/blog/247147/ ) за 14 год, рассказывают про альтернативы, тарифы, для ценителей были какие-то приложения и под андроид.
>>969336Koding был единственный с полноценной рутовой машиной, но умер. И тарифы сейчас у всех эти сервисов такие, что проще купить впску.
>>969345ты же понимаешь, сравнивать надо с ide + хостингом. Подписка на рубимайн стоит около 12 долларов в месяц, бтв.
>>969349>рубимайнА он то зачем нужен? Там что, такой же вендерлок, как и с джавой? Уж на руби можно писать где угодно, хоть в саблайме или виме.
>>969351но я хочу пить смузи, а не трахаться с настройкой очередного сломавшегося плагина в сублайм-виме!
>>969355Хипсторы вообще на атоме пишут. На жетбрейнсах сидят только старые пердуны.
>>969357Саша, ой всё!
>>969318А я есть редактор под тот же линух, в котором не надо пердолиться?
>>969359>линух>не надо пердолитьсяТам чтобы вим не печатал хуйню при нажатии на стрелочки и удалял символы уже нужно конфиги прописывать
>>969359Саблайм, атом.
>>969363Не нужно ничего прописывать, нужно пропустить через себя философию вим.Алсо, программировать и ничего не настраивать - это оксюморон какой-то.
>>969367Не настраивать - это нормально, но конкретно от вима я пригорел
>>969367Написание скриптов интегрируюших rvm в сублайм - это красноглазие, а не коммерческое программирование, увы.
>>969382А зачем их писать, если и так всё написано? Ты что, йоба-хацкер и тебе нужны какие-то особые сниппеты и изъебы?
>>969385Затем что автоматизация. Что сублайм, что тем более вим - нужно достраивать и если ты делаешь это в рабочее время, то ты какой-то хуевый работник.
>>967399Меня выворачивает когда Васян пишет if !blah.nil?, а Петян - unless blah.nil?, в одном и том же проекте, в одном и том же файле.
>>969399>саблайм не может настроитьКекнул с этого пахрамиста.
>>969409анус себе настрой, пёс.
>>969418В понедельник настрою, товарищ начальник
>>968549https://vimeo.com/117154510.
Рубаны, нужен совет. Есть один content_tag, в data аттрибут которого я передаю переменную, которая содержит n количесво записей из бд. Все это выглядит так:<%= content_tag :div, "", id: "my_id", data: { houses: @houses } %>где @houses это что-то вроде House.last(15)Затем я на одной из джаваскрипт библиотек из data-houses атрибута извлекаю в жс файле информацию, делаю с ней всякие манипуляции и тд.Но мне нужно, чтобы ActionCable следил за этим data-houses атрибутом и в случае обновления (появления новых иснтансов модели Ноuse), снова обновлял этот дата атрибут, запуская жс скрипт, в результате чего ререндерилась и вьюха. Как это сделать? С actioncable знаком, но кроме чатика и комментов на нем ничего такого не делал,
Котаны, я только начал руби подучать, попытался написать парсер, и вроде все работает, но почему-то блядь ключ [:description] выводит nil при том, что если просто обратиться к ["agi"] - все видно. И ключ, и значение. Код прилагаю:https://pastebin.com/7tdn1VTh
>>970456Вопрос отпал. Это я, долбоеб, русскую "с" написал в слове. Грустнопиздец.
>>970461Рубанок / рубероид, хули.
>>970671Это локальные оскорбления?
Поставил PaperСlip с сохранением локально.Всё работает, но адрес изображения типа 'localhost\......\1231.jpg' из за чего на другой пекарне картинок не видно. Как пофиксить? Чтобы был локальный ip-адрес типа 192.168.1.2?
>>970983попробуй сделать на aws s3Загугли и почитай - сделать это проще, чем кажется
>>970983Или на google cloud storage еще можно
по поводу замены sprockets на gulp. проблема: пилить js без знания руби и что бы не иметь в двух местах: bootstrap через sprockets, а остальное в gulp. пусть будет в одном месте.статья как подружить js/css asset digest c gulp:https://blog.bugsnag.com/replacing-the-rails-asset-pipeline-with-gulp/#monkeypatching-railsнет уже готового?что с иконками которые раньше были в app/assets/images?
>>971755а напомните, зачем asset digest?перед тем как использовать документ из кэша, браузер разве не шлет запрос - content modified? if no -> fetch the document from the server.
Как сделать, чтобы гет на какую-то страницу показывал index, а гет с параметром на тот же адрес - create? Понимаю, что это немного не по договоренности в рельсомирке, но легаси говно такое легаси.
>>971764в config/routes.rbmatch "my_action", via: :all # post and getdef my_actionif params[:param]; create; else; blah; end
>>971784Спасибо. А на уровне роутов это не решается?
>>971786http://stackoverflow.com/questions/4888263/setting-up-rails-routes-based-on-querystring
>>971796Как раз только что сделал через эти constraints. Странно, все работает, но роутинг спек все равно говорит, что я не прав.
>>971760немного разобрался. у документа в кэше есть параметр, max-age который контролирует длительность кэширования. max-age можно выслать веб сервером для js, и других статических документов.если документ был получен ранее чем max-age назад, то браузер пошлет запрос серверу.у запроса есть заголовок:If-Modified-Science: timehttps://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Modified-Since>makes the request conditional: the server will send back the requested resource, with a 200 status, only if it has been last modified after the given date. If the request has not been modified since, the response will be a 304 without any body; для не нагруженной херни можно и без digest обойтись, установив max-age в несколько мин.
Как врубиться в паттерны программирования? Желательно с примерами на руби
>>972376Просто уходи.
>>972438Не прогоняй, плиз. Лучше посоветуй книжку. Вот я нашел design pattern in ruby, она хорошая?
>>972376https://www.amazon.com/Design-Patterns-Ruby-Russ-Olsen/dp/0321490452/
>>972592Да
>>972592На почитайhttp://www.rubyletter.com/newsletter/2017/04/07/patterns.html На гитхабе можешь подрочить на код postmodern'а
>>972606>>972607>>972773Всем добра
minitest или rspec?когда используешь другие библиотеки, часто бывает что их легче тестировать rspec'ом? в rspec:include_examples "blah"в minitest:module Blah... # your testsendclass Test__ include Blahendв minitest понятнее, что происходит.с другой стороны, у rspec есть it_behaves_like, который вместе с форматированием, дает некоторую инфу.у minitest есть паралельный запускатель тестов. может и у rspec есть.
>>968541Ну?
Что почитать по руби на русском языке? Начал путь руби, но он не заходит, изложение ебанутое. Например, начали рассказывать про классы, привели пример класса, а рассказать чем отличаются переменные классы от переменных экземпляра забыли. Ну это пиздец вообще.
Анон, подскажи за сколько такое делается на рельсах www.washdrop.ru по времени и по цене?
>>974469Месяца три
>>974595Объясни в чем заключается сложность и почему такой срок? Ну и цену интересно бы услышать
>>974626ангуляр
>>974713Я что, в филиал /b попал что-ли? Причем тут ангуляр поехавший? Ты можешь, блядь, писать более развернуто чем одно - два слова? Ты блядь слышал что спрашивалось вообще? Меня не ебет на чем это сделано, в качестве бэкенда у подобного говна обязательно будет рельса пусть и ангуляр на фронтенде (про это будет отдельный ответ).Вопрос остается тем же. Сколько по времени делать подобное говно для погромиста на рельсах и сколько это говно собственно может стоить если ты конечно не совсем хуй мамин а немного шаришь в вопросе.
>>974727я не он но отвечу смари бэк там простой, очень простой сделать его на рубях можно, но смысел нанимать узкого относительно спеца для почти одностраничника ? Хочешь заплатить большедалее по фронтуя с угловым мало работал но принцип думаю один и тот же:для начала пикрилэто плохово вторых я бы взял тысяч 50 за все под ключ дизайн, верстка, бэкенд и по времени месяца два ( просто чтоб можно было поебланить и не загоняться по поводу дедлайнов ) за 80 тысяч сделал бы такое за месяц но это я макаки с fl.ru сделают на стэке WP+JQ за две недели и 10кпроблема не в сложности а в том, что заказов обычно у сколько нибудь нормального спеца столько, что можно на подобные одностраничники выставлять прайс в разы превосходящий реальную стоимость/сроки
>>974735Вообще я думал такое делается на базе какой-нибудь Spree если речь идет о рельсах. В качестве фронтенда Bootstrap который там уже есть к тому же. Заодно и платежные системы подключить не проблема будет. корзина и все остальное там уже реализовано, так что останется только настроить функционал. Плюс административная часть в которой будут проходить все заказы с состоянием доставки и всего подобного. Срок на все про все с учетом уточнений - месяц максимум, осталось определиться с ценой.
>>964778 (OP)Хочу встать на рельсы, в данный момент знаю C#, могу в верстку. ASP.NET MVC по паре причин забросил, но о MVC в целом имею представление.Такие вопросы:1) С какой книги начинать читать, чтобы для меня не разжевывали с нуля переменные, коллекции и прочее. Могу разбираться на примерах. Желательно, чтобы сразу начать пилить сайт.2) Есть ли у какой-нибудь IDE аналог IntelliSence для Ruby?
>>974270Учи английский, иначе так и будешь>экземплярамиоперировать вместо нормального языка. Ну и информация двухлетней давности в лучшем случае прилагается как должное. Технический английский на самом деле элементарный, поначалу туго, но дальше как по маслу.>>975132http://stackoverflow.com/questions/55574/learning-ruby-on-rails
Арон, как сделать так, чтоб ruby шел на сайт, копировал <head>Вот это </head> и вставил в .txt док. Какие гемы поставить, если с ванилы не может? Заранее спасибо.С .txt, все понятно
>>975516nokogiri
>>975554А если мне нужно просто вывести название сайта в блокнот?
>>975516Ставь правильные вопросы и задавай их гуглу. 1) Как запросить html по url.2) Как парсить строку.3) Как выводить в файл.
>>9757351.+2. Искал, но там относительно сложные примеры с большим кодом. И поиск идет по css.3.+Я бы и сам сюда за помощью не шел(анон, занятой человек, а не я высокомерная мразь), но понимание, так и не приходит...
>>975744[code]html = %{ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head>OP XYU</head> <body></body> </html>}html.match(/<head>(.*?)<\/head>/m).captures # => ["OP XYU"][/code]
>>975862[CODE]require 'open-uri'require 'nokogiri'url = 'http://www.nokogiri.org/tutorials/searching_a_xml_html_document.html'html = open(url)html.match(/<title>(.*?)<\/title>/m).captures [/CODE]Подскажешь, где ошибочка?
>>975893C:/Ruby/lib/ruby/2.3.0/delegate.rb:87:in `method_missing': undefined method `match' for #<Tempfile:0x0000000331ef18> (NoMethodError) from C:/Work/rb/testing.rb:5:in `<main>'Вот такая.Я знаю, что даун, раз на винде руби знаю, знаю...
>>975899А где у тебя вызов этой самой Nokogiri?
>>975899open(url) возвращает не строку, а файл, который нужно прочитать через readnokogiri -это библиотека для парсинга html/xml документов. Если у тебя такой простой пример, то можно обойтись без нее:require 'open-uri'url = 'http://www.nokogiri.org/tutorials/searching_a_xml_html_document.html'html = open(url).readhtml.match(/<title>(.?)<\/title>/m).captures.firstС nokogiri:*require 'open-uri'require 'nokogiri'url = 'http://www.nokogiri.org/tutorials/searching_a_xml_html_document.html'file = open(url)doc = Nokogiri::HTML(file)doc.css('head').children.to_html
>>975922Фикс, макаба распидорасила:html.match(/<title>(.*?)<\/title>/m).captures.first
>>975922Огромное спасибо тебе!
А как обычно в рельсах назначают выполнение действий в определенное время, вот допустим у меня есть поле с датой в бд и я хочу именно в это время отправить смс/письмо/сделать что-то еще? Очевидно что можно написать простой крон скрипт который будет дергать анус бд каждые n минут, но это ведь нихуя не правильно, всякие delayed job вроде позволяют ставить конкретное время запуска задания, но как они будут дружить с тем что в бд могут быть тысячи записей ? Вообщем в гугле не нашел, пришел сюда. пик стронгли анрилейтед
>>976430sidekiq вполне быстый
>>976472плюсую также за sidekiq
>>975932можно вместо 'open-uri' пользовать gem 'httparty'.почитай в документации nokogiri как парсить по css элементы, свобода действий достаточна.для вывода данных советую поработать над приведением к удобному виду, что-то типа my_data = el.search('header').text и пуш в массив,а затем с помощью гемов 'json' или 'csv' получай чьотенкий лист данных:puts JSON.pretty_generate(my_data) илиCSV.open('my_data.csv, 'w') do |csv|csv << my_dataendи вот тебе файл с выгребаемым
интересно
>>976472>>977229Ну и толку что он быстрый (быстрый в обработке задач?), причем здесь это? Я спрашиваю о том как это сделали бы люди которые что-то понимают, потому то что я назвал мне не кажется оптимальным решением.
>>977506Для мудака, который не может в гугл.Твои стулья: https://www.ruby-toolbox.com/categories/Background_JobsПо сути, стула всего два: Resque или Sidekiq. Оба используют редис. Рескью я не пользовался, к сайдкику нареканий никогда никаких не возникало, из коробки есть все, ебаться ни с чем не нужно. Судя по всему, у остальных такая же ситуация. Если ты все еще не можешь в гугл с запросом из трех слов Resque vs Sidekiq, то на первую ссылку с СО: http://stackoverflow.com/questions/11580954/resque-vs-sidekiq и FAQ сайдкика со сравнениями: https://github.com/mperham/sidekiq/wiki/FAQ
>>977534Вот нахуй ты это написал, ты читать не умеешь или что ?
>>977506а требования какие по надежности, ничего страшного если сообщение не будет доставленно в случае редкого сбоя?ничего если сообщение будет отправленно дважды?тебе вот эти вещи нужно разобрать.сайдкик использует редис и тебе нужно будет проверить сохраняет он очередь или хранит в временно памяти и очередь теряется при сбое. если тебе нужно отослать разным получателям в разное время и получателей - много заданий. то нужно подумать про очереди с разным приоритетом. да и тебе нужно с какой точностью обработки, до секунды или плевать если сообщение отправится на несколько мин позже?я бы так рассуждал и уже из соображений выбрал сайдкик или еще что.
Какой редактор выбрать для Ruby On Rails под Линукс? С нормальным автодополнением и подсветкой синтаксима. Sublime Text 3 как-то криво подсвечивает.
>>977855А, нет, это я еблан.
>>976430Рандомное действие зависящее от значения в строке БД по определению решается периодическим поллингом базы.Попробуй описать изначальную задачу, до этапа как какая-то дата попадает в БД и возможно тебе предложат решение лучше.
>>977234Ты наркоман. OpenURI - библиотека работы с URI. HTTParty - клиент HTTP. Как тут можно одно использовать "вместо" другого - не ясно.Более того, если речь о множественной загрузке, то нужен не httparty а faraday с excon'ом или аналоги.
>>977855Atom если похуй на память.
>>977884Ну вот очевидный таск-менеджер с функцией отправки email, если ты проебал сроки выполнения(т.е не поменял статус на выполнено)
>>977959Тогда очевидный воркер запускаемый раз в Х, выбирающий просроченные тикеты по всей системе и рассылающий уведомления.В ином случае это какая-то комбинация из event-driven системы хранения данных и экосистемы.
>>977886От наркомана слышу. Хера ты умного корчишь? Использовать для скрапера HTTP клиент вместо OpenURI - как раз по делу.HTTParty uses Net::HTTP under the hood. В чем я не прав? HTTParty через GET запрос на страницу возвращает весь html в виде строки. Ну и накой нам тогда OpenURI, если HTTParty все делает сам.К тому же, цитирую: "While good for basic tasks, open-uri has some issues which mean you may want to look elsewhere for an http client to use in production". ОК?И пойди расскажи, что они наркоманы всем этим ребятам:https://www.distilled.net/resources/web-scraping-with-ruby-and-nokogiri-for-beginners/http://www.mattmorgante.com/technology/webscraperhttps://github.com/RaDeleon/Ruby-Web-Scraper-Nokogirl-HTTParty-Pry/blob/master/web_scraper.rbhttps://medium.com/@LindaHaviv/the-beginner-s-guide-scraping-in-ruby-cheat-sheet-c4f9c26d1b8c
>>978064Хуярить скрейпера через нативный Net::HTTP это пиздецовая идея. В итоге придешь к тому что будешь хуярить тред-пул чтобы с горем пополам это работало хоть как-то оперативно.>Использовать для скрапера HTTP клиент вместо OpenURI - как раз по делу.Так если оба базируются на Net::HTTP - то какой резон-то?
В Rails первее всех собрали воедино множество инструментов для повышения удобства разработки. Но сейчас вы не найдете в нем "революционности". По сути, ничего нового в Rails не изобретено. ActiveRecord, MVC? Это паттерны прямиком из книжек 90-х годов. Шаблонизатор вроде .erb? Смешно. REST API? Тоже не ново. LESS, SCSS? Никого этим не удивишь. Миграции для БД, скаффолдинг тоже везде есть. Таким образом, в Rails есть всё то же самое, что и в других веб-фреймворках. Сейчас, когда все догнали и перегнали Rails, рубистам только и остается говорить, что всё спиздили у них. Что мы имеем в сухом остатке? Зрелое коммьюнити и очень зрелый фреймворк, т.к. все хипстеры, которые гоняются за технологиями, перепрыгнули куда-то в JavaScript-джунгли. Только вот эти хипстеры и вывели руби в люди, а не какие-то нудные корпоративные инженеры, как джаву и дотнет. Ах, да. Многопоточность и модель акторов сюда не завезли.
>>978064> использовать для скрапера HTTP клиент вместо OpenURI - как раз по делу.Ты заостряешь внимание на малозначимых вещах. Низкоуровевые сетевые библиотеки не нужны хотя бы потому, что не дадут ощутимого прироста в скорости, пока не научишься в многопоточность, оптимизированный парсинг тяжелых страничек и т.д. Начни писать код, решай реальные проблемы.---Бонусы в виде того, что кто-то гарантирует работу скраппера над кучей протоколов - это приятно, нужен uri - ты его берешь, забывая про то, что в интернете, оказывается много разных схем http, https, ftp, irc (lol) и т.д.Исходя из этих соображений, я бы не стал писать паучка с Net::HTTP, в худшем случае - запилил какой-нибудь интерфейс, чтобы такие извращенцы как ты могли запилить свою реализацию данной части скпаппера. Но пока не попросят, заниматься овер инженерингом - нет.
>>967320>рубокопЧто такое рубикоп?
>>964778 (OP)>http://railsforzombies.com/Rails for Zombies 2http://railsforzombiestwo.codeschool.com/
>>978250> RubocopМожешь считать это средством контроля за магией.
>>978219Вот сейчас ты себя прям очень высоко поставил фразами, типа "Начни писать код, решай реальные проблемы." и " Но пока не попросят, заниматься овер инженерингом - нет.". Высоты не боишься?Не мог бы тогда уважаемый сеньор привести пример своего скрапера для описанных выше задач, ну или хотя бы намекнуть как он его напишет.
Как/чем решается в Ruby/Rails?
Хочу записаться на курсы по Ruby/RoR. До этого никогда не занимался программирование. Есть какие подводные камни ?
>>978282>Есть какие подводные камни?Станешь носить кардиган, стричься в барбершопах, пить смузи и кататься на гироскутере.
>>978283про вейп забыл
>>978283Я редко очень подстригаюсь, смузи ни разу не пил, на улицу редко выхожу. Сам я точно буду осваивать этот язык больше года, а с курсами было бы не плохо их укоротить на полгода хотябы.
>>978295Помимо самого руби ещё много чего придется осваивать. Уверен, что зочешь влезать в айти? Ещё раз подумай хорошенько...
>>978298Хочу продвигаться на китайском рынке ИТ.
>>978298Либо свои проекты делать на китайский\снг рынок.
>>978269> намекнуть как он его напишетhttp://infolab.stanford.edu/~olston/publications/crawling_survey.pdf
>>978386Понятно. Специфическое чувство юмора, конечно. Удачи тебе!
>>978269>Не мог бы тогда уважаемый сеньор привести пример своего скрапера для описанных выше задач, ну или хотя бы намекнуть как он его напишет.Если смотреть на задачу глобально - то я бы не стал писать скрейпер html страниц в принципе. Если же локально - то я выше написал что использовать в качестве http агента - faraday с excon.
>>978276В Rails никак не решается, это фреймворк.А так вообще - решается тем что никто в здравом уме не будет пытаться выжать 10000 одновременных коннектов с одного процесса. Такие дела.
посмотрел гемы для jsonapi. ну вот такие вещи 1. многие патчат ActionControllerмне было бы понятнееrender json: UserSerializaer.new(user)или render_serializer userони же патчат render()если же у меня есть TrivialSerializer и UserSerializer, то какой из них будет использоваться? --- render user, serializerClass: ...гулопсть.2. добавляется метод класса к ActionController. чемyour_class_methodпонятнееinclude YourMixin?тоже самое, но не нужно патчить.а есть список проверенных гемов которые не делают таких глупостей? не jsonapi, а любых.
>>978776Ну есть же ActiveModel::Serializers, юзается если сделать rails new --api
>>978708А как нагрузку балансируют в вашем стеке? Какие инструменты, техники, технологии? Ссылка есть почитать?
>>978788это JSON сериализатор. jsonapi - http://jsonapi.org/стандарт для структуры json ответов.есть гем active_model_serializers, но вот что он делает:http://www.benjaminfleischer.com/2015/06/02/understanding-rails-model-serializers/он подменяет метод_render_with_renderer_jsonэто, что бы ты мог сделать:render json: userбыло бы понятнее если бы они просто добавили:_render_with_renderer_jsonapiтогда можно было сделать:render jsonapi: userиз этой записи ясно, что будет использоваться jsonapi.а так, получаются вот такие дуратские вопросы:http://stackoverflow.com/questions/20101179/how-to-disable-activemodelserializers-for-a-specific-controllerт.е. человек не хочет использовать jsonapi,и ему приходится вместоrender json: userписать:respond_with user, serializer: nil
>>978915что бы соединений или много запросов?соединений, не знаю. есть 10 rails серверов. перед ними ставят http балансировщик.
>>973847>minitestпик что у меня получилось с minitest.немного времени потратил..форматированный вывод неочень, надеюсь можно будет написать formatter.никаких rails-minitest, только то, что вместе с руби. кроме minitest-reporters для вывода.я включаю Minitest::Spec::DSL в Rails TestCase, не ок.
>>978915>А как нагрузку балансируют в вашем стеке?Так же как и в любом другом. Балансировка нагрузки не имеет отношения к используемым технологиям. Дрочево на requests per instance пустое.
TDD было придумано для того, чтобы взвалить на разработчика работу тестировщика, но при этом не платить за это. TDD противоречит принципу разделения задач.
>>979518Анус свой раздели, мгазь.
Yukihiro Matsumoto a.k.a. Matz.http://michaelhartl.com/ – author of Ruby on Rails Tutorial.http://russolsen.com/ – author of Eloquent Ruby and Design Patterns in Ruby.http://yehudakatz.com/ – один из разработчиков Ember.js, а также core team member в Ruby on Rails, jQuery и других проектах. https://mackenziechild.me/ – Rails Courses.Дополняйте список.
https://rubygems.org/ – package management framework (поставляется вместе с Ruby, начиная с версии 1.9).http://bundler.io/ – gems manager.https://ruby-toolbox.com/https://github.com/bayandin/awesome-awesomenesshttps://github.com/trending?l=ruby
>>979540Sandi MetzПравила для разработчиков от Sandi Metz (2013)http://habrahabr.ru/post/181434/
>>979541>https://github.com/bayandin/awesome-awesomenessВ шапку надо добавить.И это >>978253
>>979541Installers:http://rubyinstaller.org/http://railsinstaller.org/
https://ruby-forum.com/
Learning Ruby on Rails (StackOverflow)http://stackoverflow.com/questions/55574/learning-ruby-on-railsЛучший способ изучить Rails (2012)http://habrahabr.ru/post/138101/Обучение онлайн (2013) для изучающих Ruby/Railshttp://habrahabr.ru/post/203064/
Q: Рубаны, как вы админку кодируете? Какой гем ставить? Искаробки ведь не поддерживается? Почему так, кстати?A: Искаробки не поддерживает. Юзай Administrate или ActiveAdmin.Тоже в шапку, это часто спрашивают.
Setup Ruby On Rails on Ubuntuhttps://gorails.com/setup/ubuntu/14.04https://gorails.com/setup/ubuntu/16.04How To Install and Use PostgreSQL on Ubuntu 14.04https://digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-14-04И это тоже в шапку. Или запилите годный установочный гайд сами.
>>979550>И это тоже в шапку. Или запилите годный установочный гайд сами.Например:Ставим Ruby и RoR:1. Ставишь RVM2. Ставишь Ruby3. gem install bundler4. gem install rails5. rails new foobar && cd foobar6. bundle installВсё.Ставим Postgres:1. sudo apt-get install postgresql postgresql-server-dev-all (без второго пакета не скомпилируется гем pg)2. sudo -u postgres psqlВ pg-консоли:3. CREATE ROLE foobar WITH LOGIN CREATEDB PASSWORD 'foobar';Далее меняешь в config/database.yml имя пользователя и пароль на "foobar".Готово.
Каким гемом сделать пагинацию, рубаны?
>>979556will_paginate
>>979556Kaminari
https://en.wikibooks.org/wiki/Ruby_Programminghttps://ru.wikibooks.org/wiki/Rubyhttps://ru.wikibooks.org/wiki/Категория:Ruby
Правда, что связка Ruby/RoR уперлась в верх возможностей и рубаны перекатываются в Elixir и на другие вещи?
>>979518В рельсах нет тру-тдд и быть не может, потому что юнит-тесты не предусмотрены из коробки. Нужно бороться с фреймворком, вводить service/query/presenter/validator объекты, чтобы было нормальное разделение обязанностей, а не огромная куча спагетти>взвалить на разработчика работу тестировщикаЕсли разработчик пишет нерабочий код, который нужно отдельно тестировать, то нахуй такой разработчик нужен? Что он разрабатывает?
>>979566>Если разработчик пишет нерабочий код, который нужно отдельно тестировать, то нахуй такой разработчик нужен? Что он разрабатывает?Может он вручную тестирует или небольшими говнокодиками. Вместо всяких кукумберов и прочих анально-навязываемых вещей, которые не оплачиваются.
>>979566>то нахуй такой разработчик нужен?Чтобы писать нескончаемый говнокод. косарь баксов разрабу на лапу, а 4 косаря себе в карман. Галеры так и плывут.
>>979566> Нужно бороться с фреймворкомЧот рельсы такие жирные стали. Последний раз заглядывал в версию 2 и 3 и было няшно, а сейчас посмотрел и охуел.
>>979568А зачем он тестирует вручную, если можно написать автоматизированный тест, который будет работать всегда, и сейчас, и через десять минут, и через неделю, когда потребуется что-то переделать? И как он может быть уверен, что протестированный минуту назад функционал не сломался после добавления строчки кода? Прогонять все тесты вручную каждый раз? Это то же самое тестирование, только контр-продуктивное и ненадежное.> которые не оплачиваютсяТвое рабочее время не оплачивается или что? Тебе платят не за "напиши там чет в блоноте", а за "напиши там чет в блокноте и чтобы работало".>>979573По сути нихуя не поменялось.
>>979568Двачую, рубипидоров заставляют покрывать свой и не только код тестами и сверху хуй доплачивают...
>>979577Иди еще фулстекерам расскажи что они за двоих работают.
>>979589Ой, эти вообще квинтессенция айти-рабов.
>>979518За 6 лет разработки и участия во многих командах - никогда не видел каноничной разработки по TDD.>>979566>>979576>>979577И в принципе похоже почему. Тут даже и в хуй не дули как делается и зачем нужно TDD.
>>979564Нет. Elixir в принципе для другого и вряд-ли когда-то получит преимущества RoR.RoR как был для быстрого прототипирования лучшим и наиболее быстрым инструментом, так и остался.
>>979606>для быстрого прототипированияВот об этом по-подробнее.
Давайте лучше на английском общаться.
>>979551sudo -u postgres createuser --interactiveпароль ненужно.
>>979626http://blog.bigbinary.com/2017/04/24/rails-5-1-has-introduced-date-all_day-helper.htmlА как ты раньше жил без Date#all_day helper, а? а? а?
>>979606>лучшим и наиболее быстрымХуита, уже год прототипирую свои велосипеды на elixir + phoenix или на haskell, по скорости от рельс отличий не заметил. И перекат с рельс тоже вполне себе реальность, знаю уже несколько рубистов укатившихся кто-куда, в основном на жс, яву и го, даже на эликсир у одного получилось укатиться (работы пока маловато). Да и я сам, например, уже тот же год на руби только на работе пишу и следующая работа будет 100% не на руби.мимочетырегоданаруби-кун
>>979626Захуячить MVP на руби проще чем на других стеках.>>980026>по скорости от рельс отличий не заметилСкорее всего это значит что просто медленно вел разработку на RoR. Просто из базиса языка и подходов, писать на фениксе сложнее.А слушать про "перекаты" - мне каждый раз доставляет не иллюзорное удовольствие. Пока одни используют подходящие под задачу технологии, другие расценивают переход на другую технологию как явление схожее со сменой миллениума.
сап, программач. надеюсь на то, что кто-то потратит пару минут и поможет, вместо отсылок в гугл (там бывал). вопрос по ActiveRecord. есть таблица бд User, есть таблица File. в юзере есть поля preview и detail, которые ссылаются на таблицу файлов через id (то есть к каждой записи юзера надо присоединить две разные записи из таблицы файлов). еще эту штуку надо сериализовать в json (выбрать только некоторые поля для сериализации). не прошу писать полностью код, просто подскажите описание моделей и пример запроса для консоли, когда могу просмотреть юзера, у него получить preview файл и detail файл.
>>980026>мимочетырегоданаруби-кунКаково это?
>>979540http://rubyhacker.com/ – Hal Fulton.
Может кому-то будет полезно:http://rgho.st/8GtlFQfVp
Антуаны, рейтаните вакансию. Чем нужно заниматься:Работать в командеАнализировать требованияПроектировать решения у доски и в кодеПисать автоматизированные тестыОформлять разработческую документациюЧто нам хотелось бы видеть в тебе:Уровень — middle/senior developer;Опыт разработки на Ruby, Rails от 3-х лет;Умение писать модульные и интеграционные тесты на Rspec, Cucumber;Знание глубинных механизмов хранения и оптимизации PostgresSQL;Опыт работы с Docker;Опыт работы с очередями сообщений Sidekiq, RabbitMQ;Умение проектировать, писать чистый код;Должен быть с Linux на “ты”Уметь автоматизировать рутинные задачи;Желательно иметь опыт развертывания приложений с помощью Puppet, Chef, Ansible, bash;Знание JS фреймворков и техник будет огромным плюсом (особенно React.js);Наличие опенсорс портфолио (будет плюсом).Полный текст тут: https://hh.ru/vacancy/20345159 Описание отдаёт ЧСВ человеком, который её писал. Ну и плюс коммерческой разработки на рубях у меня нету, ибо в наших краях только пхп-гопота обитает. Каков шанс соснуть на собеседовании? И стоит ли лезть в подобное говно?
>>980342>Описание отдаёт ЧСВ человеком, который её писалПроблема в твоем восприятии>Ну и плюс коммерческой разработки на рубях у меня нетуЕсли умеешь все описанное - похуй. Умеешь = сделал как минимум один проект "для себя" с использованием технологии.>Каков шанс соснуть на собеседовании?Велик>И стоит ли лезть в подобное говно?Определенно да (опыт)
>>980342обычная вакансия как по мне, ничем относительно других не примечательна
>>980342Сходи посмотри, вакансия попахивает чуток, но это Казахстан, и у вас там не такой большой выбор, чтобы придираться к мелочам типа повторов> Писать автоматизированные тесты> Умение писать модульные и интеграционные тесты на Rspec, Cucumber;Или бибилиотекам типа > CucumberИ т.д. ЧСВ особого незаметил, требования для middle/senior как требования.
>>980409Ну я на мида не потяну, наверное. Там слишком много смуззи вроде докера/чиф/кукумба. Я, конечно, знаю, что они из себя представляют. Но работать с ними мне не было нужды.
>>980245>Просто из базиса языка и подходов, писать на фениксе сложнее.Это что за такая разница? Тотальная иммутабельность только добавляет удобства, а о всяких эрланговых процессах и прочих сложностях в фениксе, при желание, можно вообще не думать. Единственное, что мне проходит в голову это возможность в рельсах по-быстрому нахуярить лапшу из before/after_save и их друзей + логики в контроллеры напихать (хотя это и в фениксе можно), но так делать даже в MVP зашквар делать.>Пока одни используют подходящие под задачу технологииМножество задач решаемых руби/рельсами является подмножеством множества задач решаемых эликсиром/фениксом.>>980306Нормально. По моим постам, наверное, можно подумать, что я очень не люблю руби, но это на так, я просто разочарован его темпами и направлением развития. Матц обещает руби 3 в хрен знает каком году, гильды выглядят прямо скажем не очень, опциональную типизацию вообще не факт, что запилят, да и прибавки скорости всего в 3 раза, учитывая насколько руби тормозной сейчас, будет маловато. В рельсах с каждом релизом добавляют пару небольших хороших фич и кучу хуйни уровня suppress. Вот из-за всего этого и возникает чувство "пошло оно все, я съебывая".
>>980736Твои велосипеды не сложнее хелловорлда, раз в экосистему не упираешься, вот и все. мимо
>>980746Может года полтора назад я бы с тобой и согласился, но сейчас давай-ка приведи несколько примеров чего такого уникального есть в рубийной экосистеме?
>>980766Cравнивая с чем? Ну давай тыкну пальцем в небо, и предположу, что половину платежек и/или библиотек для рассылки смс (локализованных под рыночек) ты не найдешь и будешь пилить сам.
>>980736>Это что за такая разница>Тотальная иммутабельность только добавляет удобстваИ отсутствие стейта, которое для полноформатных приложений не шибко то и плюс.>>980766Ну кстати если говорить конкретно про эликсир, то например с MQ все не то чтобы очень хорошо. Часть библиотек в начальном этапе, часть уже в полузабвении.
Как же меня доебала экосистема рельсов вокруг реакта. Проебался весь день, то компоненты не импортятся, то редакс наебнется. В конце концов ебанул бин рельсов. Обоссыте мне ебало что-ли.Суть такова, хочу чтобы у меня был рельсовый апп, в котором в одну вьюшку маунтится весь мой реактовый апп, и больше ничего из ассет пайплайна не бралось, чтобы реактоговно все жило отдельно, собиралось вебпаком, юзало нод модули и слало реквесты например через аксиос на рельсовый сервер с которого и засервилось. То есть чтобы это говно было в одном аппе но как я хочу. И чтобы я мог развернуть на хероке или например деплоить с капистрано. Это вообще запиливаемо или нужно ебаться с двумя аппами?Сорри за корявый язык, но я уже умер в нутри с этих приколов
>>980778В 5.1 обещают добавить чуть-чуть смазки для программиста, так что держись! http://nithinbekal.com/posts/rails-5.1-features/
>>980784>http://nithinbekal.com/posts/rails-5.1-features/Ща чекнул, у них одна ишью осталась. Было бы здорово если бы завтра утром выкатили, но это все мои влажные
>>980778>То есть чтобы это говно было в одном аппе но как я хочуБудет гемор. Разделяй на два разных.
>>980778зчем, что бы webpack не запускать в отдельном терминале?капистрано не сложно, запустить две команды: npm install и webpack.
О, я это сделал на rc2Посмотрим сколько хуев натащу в рот но пока делает что я хотел
Котаны, а как в ваших рубях вывести больше одного пробельного символа подряд?Пробовал и puts " " , и puts "\s\s" - нихуя. Что блядь за недружелюбность?
Анон, это вновь этот аутист >>975516У меня вновь проблема, не OpenURL, по какой-то причине, не хочет открывать сайт. Вот код. Простите, что пришел снова со своими вопросами...require 'open-uri'[CODE]nump = rand 1..88500url = 'https://anidb.net/perl-bin/animedb.pl?show=character&charid=' + nump.to_sopen(url) {|f| f.each_line {|line| p line}}[/CODE]
>>981350Нашел ошибку, исправил, словил бан.
>>977855Не благодари. Надеюсь, нужные пакеты найдешь сам.https://packagecontrol.io/
Анон, есть ли работа для совсем недавно вкатившихся в рельсы? Пхп не нравится, а питон умирает в конвульсиях.
>>982091>питон умирает в конвульсиях.руби
>>982091На других я/п то же самое. Валютные курсы, индия, чо ты хотел...
оказывается можно легко camelCase параметры трансформировать в underscore:params.require(:blah).transform_keys(&:underscore).permit(...)а в jbuilder есть параметр для обратной трансформации в camelCase.
>>982462Это только для рельсы, если используешь Active* что-то там вне рельсы, то я тебя хочу обоссать.
Сап, для лабы надо рельсы, скачал Railsinstaller, установил, PATH прописал да, шин10, но если написать в консоли rails, пишет что "Системе не удается найти указанный путь." И правда, в /bin я не нашел такого файла. Что я делаю не так?
>>982961попробуй битнами рубистак
>>982969написал gem install rails и все ок стало
>>983032Ты bunde install забыл похоже
>>969667Все 56 минут можно заключить в одну фразу - "пользуйтесь правилами бухучета". Больше полезной для слушателя информации нет. Ну зато он молодец какой, серьезный парень, с докладом выступил, не хуе мое.
>>983634Кстати, двачеаноны, может кто-нибудь рассказать в чем суть системы двойной записи. Залип сегодня на видосах, смотрел туториальчики, но так и не понял в чем смысл. Ведут счета, каждую проводку отражают на каждом счете, если просуммировать дебет-кредит, то они сойдутся, легко проверять корректность (читаемость при этом сомнительная какая-то). Но суть всей этой возни не понятна, тем более в современных условиях.
>>982091В СНГ рельсы есть в Москве и Киеве. Ну и ещё немножко в Питере. Всё. Больше можешь даже не пытаться. Вкатился на рельсы, теперь вот думаю, куда укатываться. От js дрисни течёт кровь из глаз, пхп оплачивается как труд копирайтера. Хз, что делать.
Есть БД в postgresql и небольшая программа на рельсах, с подключением к этой БД. Как мне вывести данные с БД на html страницу (в таблицу)?
>>982677так точно.короче, у рельсов, params - возвращает параметры запроса. это блять метод наследуется от базового контроллера. но это не Hash, нет метода deep_transform_keys. есть просто transform_keys, не рекурсивный.http://stackoverflow.com/questions/17240106/what-is-the-best-way-to-convert-all-controller-params-from-camelcase-to-snake-caкак можно додуматься до этого^^^ и не додуматься до пикрелейтед?пикрел будет работать всегда.
>>983971Олигофрен, веб-макака. Кроме рельсов php и js ни до чего не допер.Особенно смешно когда рельсы это 150k+, js до 220к.
>>984442Дебич. params это strong parameters. Которые в свою очередь наследуются от HashWithIndifferentAccess, у которого есть все свойства рельсового хэша.
>>984459уже не наследуется.http://api.rubyonrails.org/classes/ActionController/Parameters.html
>>984465https://github.com/rails/rails/blob/v5.1.0/actionpack/lib/action_controller/metal/strong_parameters.rb#L228Ну раз ты сказал, то точно так.
>>984467куда спешишь?
>>984469В Арбат Престиж.
Сам, анон. Пишу гем-враппер, столкнулся с проблемой. Перед запросом нужно инициировать сессию, которая активна 15 минут, после чего она уничтожается и сервер ее не принимает. Как сохранить сессию для следующих запросов? В файлике хранить как-то некрасиво.ответ приходит такой {"ret_msg"=>"Approved", "session_id"=>"A1C7DFC2EBC642429CD08831B80605EC", "timestamp"=>"5/4/2017 10:09:40 AM"}, где "session_id" ключ для других запросов
Чем отличается обсервер от коллбеков?Сначала я вообще не мог понять разницу - например, в модели я определил коллбек after_create с отправкой письма нет, я так не делаю или написал обсервер, который отправляет письмо и вызвал после создания. Ни какой разницы, кроме того, что код в другом месте.Потом я нашел 2 тезиса:1. Коллбек является частью объекта и потому сильно с ним связан. Если реализовывать в нем логику не относящуюся к объекту, то нарушается принцип SRP.2. Observer pattern предусматривает механизм регистрации обсерверов - то есть мы не только их уносим из объекта, но и можем менять их состав. То есть это масштабируемость.Посоны, а какая еще есть принципиальная разница? Кто понимает архитектуру, объясните суть этих вещей.
>>983863Не знаю, о чем вы там говорили, но если вопрос о бухгалтерии, то суть в том, что каждая транзакция дублируется и идет отдельным путем. Если в итоге сумма всех транзакций выходит в ноль, то все правильно и можно подтверждать. Если нет, то ищешь ошибку. Это как перепроверка или тестирование, гарантия того, что нигде не обосрался и не ввел неправильное число. Потому что если обосрался и ввел лишний нолик, то это стоит компании дохуища бабла, а ты уезжаешь на бутылку.>>984673Ну как обычно сессии хранят? Либо на стороне клиента, либо на стороне сервера. Если на стороне клиента - шифруешь всю нужную информацию(в том числе дату) ключом, отдаешь клиенту зашифрованную строку, а он тебе ее отдает обратно при запросах. Расшифровываешь ключом, сверяешь дату и обрабатываешь запрос. На стороне сервера - вся информация в файлике(БД). >>984828В рельсах - шо то хуйня, шо это хуйня. Советую прочитать про Service Objects, а не лепить спагетти из обсерверов с колбэками.
>>984842> суть в том, что каждая транзакция дублируется и идет отдельным путем. >Если в итоге сумма всех транзакций выходит в ноль, то все правильно и можно подтверждатьАнон, если ты разбираешься, то объясни более понятно.Что понял я:- Сначала была простая запись, это был просто лог всех операций.- Потом Лука описал двойную запись, где появились счета и понятия дебета/кредита.- Как объясняют это в литература, мол это позволяет избегать ошибки очевидно, что это чисто ручной фактор и, что типа гораздо важнее, гибко строить аналитику.- Система дошла до наших дней и используется во всем мире, являясь единственным стандартом.Вот я не понимаю, в условиях IT, что дает двойная запись? Такое ощущение, что с современной точки зрения главная идея двойной записи - понятие счета. Что дают понятия дебета и кредита и дублирование их при каждой операции на каждом счете, не понимаю.
>>984925> Вот я не понимаю, в условиях IT, что дает двойная запись? Такое ощущение, что с современной точки зрения главная идея двойной записи - понятие счета. Что дают понятия дебета и кредита и дублирование их при каждой операции на каждом счете, не понимаю.Проследуй лучше в 1С тред, там тебе лучше пояснят зачем это нужно и как с этим мириться.мимо
Итак рубаны вкачусь чтоб задать своих глупых вопросов. И вам меня не остановить!1.Ставил ли кто себе это https://msdn.microsoft.com/en-us/commandline/wsl/about если да, то как ощущения?2. Почему на руби не пытаются поднять нейросеть?Или если есть такое, линконите, а?
>>984925>что дает двойная записьПерепроверка при наборе цифр руками. Если все транзакции в кампуктере и руками туда ничего не вводится, то я тоже не вижу практического смысла. Но в бухгалтерском учете это имеет статус закона, либо хуяришь double-entry, либо ты не бухгалтер и идешь нахуй. Это как если бы врач сказал "ну нахуя мне давать клятву гиппократа, >2017 год на дворе".
Котанва, что вы используете для т.н. сериализации объектов?Я вот недавно вкатываюсь и возникла у меня проблема с YAML/Psych: есть двумерный массив, строка и объект Process::status и вот он как бы не очень в yaml итоговый пролезает (при лоаде в nil), можно ли вложенный в массив объект тоже пропихнуть в yaml?
>>985005>Почему на руби не пытаются поднять нейросеть?Вопрос уровня "Почему отвёрткой не пытаются забивать гвозди?". Для всего есть свои инструменты, и задачи руби - клепать круды, не более.
>>985105Объект нельзя сериализовать. Можно только маршализировать, через Marshal.dump.Сериализатор ничего не знает о типах объектов, соотв-но раскладывает в свои примитивы(которые обычно стандартизированы - число, строка, бул, массив, ассоциативный массив).
>>985216>и задачи руби - клепать круды, не более.Поэтому у нас есть АБС на рубях. Потому что круды, да?
>>985005Я понимаю, что переходить по ссылкам с двача фу, и все такое, но что по первому вопросу?Ставил ли кто себе Оффициальный баш под виндовс и как оно вам?
>>985631Говно, тупой сигвиновский порт.
>>985005>2. Почему на руби не пытаются поднять нейросеть?https://www.crondose.com/2016/12/practical-machine-learning-ruby/?utm_campaign=Revue%20newsletter&utm_medium=Newsletter&utm_source=revue
>>985879>https://www.crondose.com/2016/12/practical-machine-learning-ruby/Там тащемта ничего нет про нейросети, в его списке другие ML-алгоритмы приведены, но нейросети.
А кристал живой? Кто следит, есть новости?
>>985952Ненужон, есть эликсир же.
>>985958По-моему разные цели, не?
>>985976И что по твоему в целях у эликсира, а что у кристала?
>>986032>эликсиравсякие сетевые хуйлоады c трафиком 300к/с>кристала все остальное, где функциональщина будет не к месту
>>986059на эликсир + феникс достаточно удобно разрабатывать обычный веб в духе рельс
>>986059>всякие сетевые хуйлоады c трафиком 300к/сТы походу путаешь с Go или Scala.Эликсир если разобраться он для задач где важна стабильность и consistency.Но я с тобой в корне не согласен. Функциональщина есть и в нативных рубях, причем если подумать - то ее довольно много.С другой точки зрения, вся разница функционального подхода и объектно-ориентированного в том, что во втором случае у тебя есть(при неправильной методике разработки) есть куча stateful говна, которое существует только потому что разработчик не придумал способа лучше.Если ты возьмешь стандартизированный образец модели Request-Response и разложишь ее на составляющие - ты увидишь абсолютно ту же матрешку последовательных вызовов себя-куда-то, которую ты встретишь в функциональной парадигме. За тем лишь исключением, что в OOP у тебя будет гора обвязочного хлама существующего параллельно стеку вызовов функций.
>>985952К концу года хотят 1.0 версию выпустить. По мне выглядит вкусно, кристалл - возможность расширить стек для казуального байтоебства (Не го же учить), и всего за полцены.Эликсир где-то мимо.
Народ, что-то тред совсем мертвый, что случилось?Может кто-нибудь дать ссылку на хороший гайд по модулям, перменным, приватности и всем такому? Сложная тема с множеством нюансов.
>>986791Лучше вопросы задай, и тебе объяснят.
>>986796Ну например, что делает module_function и как можно сделать тоже самое без нее?Но описание я могу посмотреть и в документации - делает доступным метод для вызова на модуле, а так же доступными как приватные методы при миксовании. При этом методы являются копиями и могут изменяться независимо.Но такое формальное объяснение не объясняет сути, его просто нужно запомнить. Как можно запомнить что делает include/extend, а можно знать, что руби создает анонимные классы для объекта/класса объекта.Формальный ответ про include/extend простой, а реально тема большая и сложная.
>>986841> как можно сделать тоже самое без неенабросал на коленке https://pastebin.com/FCwyErum> Как можно запомнить что делает include/extend,Почитай хабрапарашу, все разжевано, есть список. доп.литературы в комментах https://habrahabr.ru/post/143483
>>986841> анонимные классыancestor, а не просто анонимный класс.Тема ни разу не сложная. И вот что я тебе скажу. В практике - module_function не применяется.Если требуется Mixin - используется include/prepend/append.Если требуется синглтон - используется классический def self.Если требуется динамическое объявление - используется define_method/define_singleton_method.
>>986968>>987024Мда
>>987095Ах ты наверное решил просто теорию подрочить, ну тогда удачи.
Что случилось с apidock? Почему они больше не обновляются?
Вечер в хату рубаны. Собственно такой вопрос, нужно написать определение локали по ip-адресу, для стран СНГ - ru локаль, для остальных en локаль. Сталкивался ли кто - нибудь с таким, или направьте мой поиск в нужное русло, ибо в инете суют дефолт локаль, которая никоим образом тут не поможет.
>>987720http://www.rubygeocoder.com/
>>987740Во-первых, как он работает?Во-вторых, ты че, предлагаешь пацану при каждом запросе лезть в гугл геокодить? Ты ебанулся блять?
Пацан, изучи для начала функционал библиотеки, в частности раздел Local Database Services, а потом кукарекай.
>>987720Бтв, можешь погуглить в сторону Accept-Language request HTTP header, геолокация там вообще не используется.
Ананасы, только начал изучать Ruby: почему в данном коде https://ideone.com/mYRRmY при условии если переменная consonant не пустая, она не плюсуется к перменной sentence в 21 строке?Суть задачи такова:# Rule 1: If a word begins with a vowel sound, add an "ay" sound to the end of the word.# Rule 2: If a word begins with a consonant sound, move it to the end of the word, and then add an "ay" sound to the end of the word.
>>988003Вот это правильный совет.>>987903А ты ебало свое завали и не кукарекай тут, кретин.
Как заставить работать вместе Rails и npm?
>>964778 (OP)Сап, аноны. Что бы работать с БД мне нужно сделать active records для необходимых таблиц и связи так же как и в БД? Как можно обойтись без этих records и просто делать запросы sql ? (postgresql)
А почему не распространена практика использования чего-то типа JRuby. С чем в нем проблема?Звучит вроди здорово, потоки без GIL. Рельсы при этом потокобезопасны. Можно брать и использовать для нового проекта. Но что-то не встречал, чтобы его использовали на практике. Почему?
>>989008Потому что такая хуйня никогда не имеет успеха. Все эти трансляторы в JS с каких-либо других языков, приблуды, чтобы посадить на JVM (BEAM или любую другую), трансляторы в С (как Nim) - от лукавого.Например, для меня это какая-то мутная приблуда, которая обязательно прибавит дополнительный Лэйер, соответственно, плюс новых багов, нового пердолинга и т.д. плюс хз, хорошо ли ее мейнтейнят и не бросят ли.Короче, дополнительный источник головной боли.
>>989013Причем тут транслятор, если JRuby нативен?>для меня это какая-то мутная приблудаНу то что у тебя мозгов не хватило допереть это в целом объяснимо.Назвать elixir (а именно его ты имел ввиду упоминая BEAM) приблудой и транслятором это ебанись просто. >>989008Потому что зоопарк гемов оптимизированных для работы с JRuby ограничен и приходится искать подходящий вариант либо костыли наворачивать.Второй проблемой является иная парадигма разработки требуемая от разработчика. Понимание особенностей и преимуществ JVM и грамотное их использование.
>>989043>Потому что зоопарк гемовТак и думал, что проблема в экосистеме.
Смуззи... Вкусно.
>>989008еще есть rubinius. но я не смог его установить, падает с segmentation fault. и нет желания компаться в этом. до этого тоже думал, вот же есть rubinius, если нужно будет, то...
Аноны, подскажите, анализирую бинарные данные, затем записываю все в БД. 1. Можно ли использовать Rails для визуализации этих данных, целесообразно ли это? 2. Как правильно записывать данные, прямо из модуля парсинга на си++ коннектится в БД или через web интерфейс, который Rails предоставляет?
Анон, делаю Model.eager_load(:association).limit(10) - получаю 2 запроса, которые в итоге дают мне 10 объектов класса Model. Обычно это то, что нужно, но вот у меня есть кейс, где мне нужны именно 10 строк сджойненой таблицы, как мне это сделать?
кто знает почему ActiveRecord id, это специальный атрибут? используется id даже если установлю primary_key:Model.primary_key = 'primary_id'm = Model.new(id: 123)m.primary_id=> 123m.primary_id = 321m.id=> 321у меня id, это не глобальный идентификатор. а локлен для пользователя:/users/1/blog/1/users/2/blog/1 --- разные объекты.и по спецификации, название атрибута - id.пришлось id переименовать в local_id, но так-как по спецификации, имя полю должно быть id, то получается хрен знает что.т.е. json запрос{id: 123, attributes: ...}user.models.find_by(local_id: attrs[:id]) primary_id - primary_key нужен только дляmodel.destroy()так-как с локальным ключем удалитuser1.blog_id_1.destroy() - удалит и user2.blog_id_1
>>992325Model.joins(:table).limit(10).select("")
>>992673http://ruby-journal.com/how-to-override-default-primary-key-id-in-rails/
>>979541ооо
Здорова рубаны.
>>992325>eager_load>получаю 2 запросаЧего? Какие 2 запроса, если eager_load это версия с LEFT OUTER JOIN, делающая один запрос?>мне нужны именно 10 строк сджойненой таблицы>>992995А ты чего несешь? То есть так кончено, но наоборот:Table.joins(:model).limit(10)>>991890А при чем тут рельсы вообще и какая тебе визуализация нужна? Если ты про веб-морду, то используй. В базу пиши как удобнее.
>>994988> где мне нужны именно 10 строк сджойненой таблицы>Table.joins(:model).limit(10)Просто охуительное решение.
Объясните мне, что такое ActiveModelSerializers и трейлблейзеровский Roar? Какой это паттерн? Я ничего не нагуглил про "репрезентеры". Чем они отличаются, что вообще делают.(Я неоднократно работал с AMS и понимаю что делают оба гема, но не могу осмыслить их суть в архитектурном плане и к какому паттерну они относятся)
Какой гем для стайлуса использовать: https://rubygems.org/gems/stylus-source https://rubygems.org/gems/stylus * https://rubygems.org/gems/stylus_railsСасс категорически не нравится.
прогач, подскажиЕсть две модели Bitches - шлюхи, сосущие хуи и Сlients - клиенты у которых шлюхи хуйцы уже соснули.Вывожу шлюх в bitch_controoler в виде списка, нужно что бы по нажатию на строчку, появлялся список клиентов шлюхи. У меня отношения стоят что у одной шлюхи может быть много клиентов(так криво сделал, но пока норм)Идея только одна, вызывать client_controller, метод show, передавая в него id шлюхи и по id шлюхи делать выборку из Clients
>>996493Во-первых, а почему гем в 2017? Вроде же в рельсу вебпак добавили. Весь фронт перекатился на js инфраструктуру, зачем эти приблуды?>Сасс категорически не нравитсяБлять... слов не хватает.>>996566resources :bitches do resources clients, on: :member, only: :indexend# GET /bitches/:bitch_id/clientsclass ClientsControllerdef index@clients = Client.where(bitch_id: params[:bitch_id])endend
>>996813>Вебпак Что это и с чем его едят? Я только начинаю изучать рельсы. Что можешь посоветовать на счет стайлуса?
>>996925Сам не знаю что это, какой-то новый сборщик в js мире, типа стандарт. И вроде как его добавили в новую рельсу. Чему я рад если это так, потому что весь этот ассетс пайплайн такой бред, что пиздец просто - чтобы прикрутить какую-нибудь фронтовую библиотеку, ее нужно специально адаптировать под рельсы.По счет стилуса ничего не посоветую, третий раз в жизни о нем слышу и нахуй он нужен. Ты же не фронтовик, чтобы выбирать себе инструмент для достижения дзена, у тебя другие задачи, а в смежных областях лучше придерживаться мейнстрима.
>>996990> чтобы прикрутить какую-нибудь фронтовую библиотеку, ее нужно специально адаптировать под рельсы.Ты наркоман полный? Адаптировать это положить в assets/js и сделать include в манифесте?Webpack в рамках рельсовых приложений тот еще бред. Сама парадигма разделения frontend/backend приложений (для целей коих и служит вебпак и прочие) подразумевает что не имеет смысла включать фронт в рельсы, это должно быть отдельное клиентское JS приложение.
>>996994> Адаптировать это положить в assets/js и сделать include в манифесте?Хуй знает что тебе ответить. Очевидно что ты и этого никогда не делал.>Сама парадигма разделения frontend/backend приложений >(для целей коих и служит вебпак и прочие)Значение знаешь?
Сап, рубианон.Подскажи, пожалуйста, как можно реализовать функционал нескольких профилей используя devise?Например, есть пользователь Employer, и есть Jobseeker. Профили у них существенно разделяются. Что лучше сделать? Смотрел STI, но это говно какое-то.Хочу, чтоб при регистрации выбирался тип пользователя, и от этого уже ему создавалось поле либо в таблице JobseekerInfo либо в EmployerInfo.Подскажи, пожалуйста, я отчаиваюсь.
>>997006>Хуй знает что тебе ответить. Очевидно что ты и этого никогда не делал.Делал и сразу забил на это дело и разнес приложение на две раздельно живущие составляющие.>Значение знаешь?Козырнуть снобизмом не выйдет, мне похуй так-то.
>>996994у js есть тоже свой пакетный управляющий, как bundler у руби. с ним не нужно копипастить обновления js библиотек. ах да, у js библиотек тоже есть зависимости.>>997108примеры есть, инфа 100%. я не помню, кажется я добавлял два маршрута для разных моделей. но там есть какой-то метдо, типаredirect_on_sign_inили сгенирируй devise контроллеры и будет видно.
>>997130>примеры есть, инфа 100%. Если есть возможность - скинь пожалуйста. Очень важно, я правда искал, замахался уже.
>>997130>у js есть тоже свой пакетный управляющийhttps://sheerdevelopment.com/posts/using-yarn-with-railsИ никаких вебпаков, интеграций с рельсами и прочего.
Напомните как получить халявный студент-пак от гитхаба?
>>964778 (OP)Имеется линукс и руби 2.1.5. Нужно обновить до 2.1.9. Как это сделать? Гугл молчит.
>>997523rbenv/rvm
>>997390Отправить заявку тупой вопрос
>>974735> сделают на стэке WP+JQ за две недели и 10кссылки на макак в студию, а то пиздишь ты походу
>>974735да и вообще если не пиздишь еще насчет полтоса, давай контакты, сработаемся
>>997641Я не студент уже...
>>998549Исключили? Тогда скоро у тебя будет веселая, интересная, насыщенная жизнь. Научишься драить очки, познакомишься с горячими джигитами Дагой и Магой, которые помогут тебе расстаться с девственностью. Зачем какой-то гитхаб?
>>997390Должно хватить фотки студбилета действительного. Найди кого-нибудь в ближайшем университете и попроси студенческий на минуту.>>998553После универа по-прежнему нужно в армию идти, военная кафедра в общем случае либо проплачена, либо отсутствует. У меня треть группы таких же затравленных заучек, считающих, что раз они круглыми сутками изучают бесполезные предметы, то и все остальные должны. Иначе "армия, собирать лужи в ведро, подтираться колючей проволокой" и прочие ехидные насмешки над теми, кого отчислили.
Аноны, подскажите, есть данные модели, которые вывожу на экран в виде строк, при клике на строчку, нужно записывать в бд значение 1, которое говорит, что сообщение было просмотренно, что-то даже не пойму, как там че, вызывать?
Как в rails принято обновлять отображение модели, при добавлении в модель новых данных, т.е. в бд что-то попадает, как сказать view что надо перерисоваться.
>>998549В интернете найди фотографию студенческого билета и отфотошопь. Они сильно не рассматривают. Мне через 15 минут апрув пришел.
>>998680Action Cable
что за василий?https://twitter.com/matz_translated/status/869565081914421252
>>998729так, это новомодная хуйня или параша хипстерская?
>>999230а в чем разница то?
Просто оставлю это здесь.
>>1000144Идея неплохая, реализация не оч.
>>999840сорян, тупанл. Имел в виду, как деды в рельсах вьюих обновляли, при изменении данных модели.
>>1000202тебе для всех юзеров обновить в реалтайме надо или одному? если одному то аякс, если всем то всякие костыли типа ActionController::Live или вебсокеты
>>964778 (OP)На чем поднять вебсокет сервер для существуещего рельсоприложения? Помню когда-то пользовался websocket-rails, впечатления не самые лучшие. На пятые рельсы переползать пока нет возможности, так что их встроенную приблуду не предлгайте.
>>1000352Я бы взял faye-websocket он вроде позволяет прямо внутри рельсового процесса держать вебсокет-сервер. Сам я использовал только em-websocket и все было отлично, но он не обновлялся с 2014 и faye-websocket выглядит по-свежее.
>>964778 (OP)>https://netguru.co/blog/service-objects-in-rails-will-help - о сервисахМеня эта статья пиздец напрягает. Во-первых, у него дохуя ненужного кода и рассуждений, а про сервисы не сказано почти ничего, даже определиться не может, как их вызывать. Сам я не так давно начал их к себе в приложение вводить, но уже сделал вывод, что нет смысла в initialize пихать что-то, кроме зависимостей через опциональное DI. Потому что в итоге получается одноразовый объект, для каждого нового сета данных его нужно создавать заново, вместо того, чтобы отдать этот сет данных в call() и не париться с инициализацией. http://multithreaded.stitchfix.com/blog/2015/06/02/anatomy-of-service-objects-in-rails/Тут написано гораздо лучше и нет лишней воды.
>>1000258у юзера есть страница с сообщениями от приборов, приборы кладут в базу, я рельсой выбираю данные и формируют список сообщений, в общем пришло новое сообщение в БД, значит мне надо "наверное" постоянно мониторить БД на наличие новых сообщений или просто ее перерисовывать
Анон! Мечтаю начать прогнать, прогнать для андроида, не заработка ради, лишь для себя. Скажите, подойдёт ли руби для такого? Или же стоит смотреть в сторону ява/котлин?
>>979576А зачем писать код, который ломается от добавления строки кода, м? single responsibility как бы. Имплементировал модуль, тестанул в сосноли или вручную, забыл.
>>979576>А зачем он тестирует вручную, если можно написать автоматизированный тест,Дешевле нанять Машку, чтобы вручную кликала, ты заебешься на каждый кейс писать тесты, да и дорого это.
>>1001351>прогать
>>1001351>Имплементировал модуль, тестанул в сосноли или вручную, забыл.Запахло интернет-магазинами и перепилами редмайна.
>>1001351Нормальный SOLID от TDD неотделим, без TDD все твои SRP отправляются прямиком нахуй. Если опыта нет, то нормальный код ты не напишешь. А если есть, то знаешь, что нормального поддерживаемого кода не бывает без тестов.>>1001359Машка выполняет работу компьютера раз за разом и от количества машек и тестов, которые они должны прогонять, цена их труда растет по экспоненте. И нет, труд человека никогда не будет дешевле компьютера, который тот же самый тест кейс прогоняет быстро, бесплатно и без ошибок.QA - это профессия, которая существует только из-за ленивых непрофессиональных пидорасов-макак, типа тебя, которые даже блять! Не проверяют! Работу! Собственного! Кода! Вдумайся, пидорас, ты пишешь код и ты не знаешь, работает он или нет, не сломал ли он чего в системе. Какой ты нахуй программист, если то, что ты пишешь, не работает?
>>1002440>Не проверяют! Работу! Собственного! Кода!Диван, лол. Сам прграммист из-за замыленого взгляда и самолюбия творца не может беспрестрасно сломать и хакнуть свой код. Для деструктивной работы нужен специальный человек у которого задача ломать и проверять.>Вдумайся, пидорас, ты пишешь код и ты не знаешь, работает он или нет, не сломал ли он чего в системе.Диван х 2. Программист не думает в мастштабе всей системы и не может сразу телепатически сказать где чего отвалиось и какие подводные камни всплыли. Это отдельная задача следить за связаностью всей системы после написания кода в разных местах разными людьми.
>>1002476Я хуй знает, проигрывать с дебила или принимать как должное и объяснять неопытному рельсоребенку на пальцах.>самолюбия творцаЭто самая блядская идея, которая особенно сильно проявляется в динамопараше, что якобы программист должен себя позиционировать не как software engineer, а как ТВАРЕЦ ГУМАНИТАРИЙ.>сломать и хакнуть свой код>писать тестыДядя, ты дебил?>нужен специальный человек у которого задача ломать и проверять.И этот человек, внезапно, не QA. QA ничего не ломает, у них задача подтвердить работу системы. Люди, которые берут систему предварительно как следует протестированную и готовую, вертят ее в попытках сломать и найти баги, с которыми может столкнуться пользователь, называются по-другому, и такое ручное "тестирование" вполне оправдано.>не может сразу телепатически сказать где чего отвалиось и какие подводные камни всплылиДля этого, хуесос, у тебя должны быть тесты. Которые ты прогоняешь одной консольной командой или хоткеем и сразу видишь, "где чего отвалилось". >Это отдельная задача следить за связаностью всей системы после написания кодаТвоя ебаная задача - следить за работой своего быдлокода и за работой системы, которую ты написал/пишешь. Это не может быть чьей-то еще обязанностью, никто эту обязанность нормально выполнить не сможет, кроме программиста.
>>1002440Наивный даун думает что писать тесты на фронт, под все 100500 версии браузеров дешевле чем нанять Машку. Иди нахуй писать тесты на свои абстрактные фасолины, подменщик понятий, ты мамкин.
>>1002541Какие тесты на фронт, ебанутый? Я говорю про серверную логику, а не про "эта формочка отображается вот так, а в том браузере по-другому". UI в плане отображения вообще нет смысла тестировать, но это и должна быть одна из самых простых частей приложения, которая тупо парсит ответ сервера и расставляет его по местам на экране.
>>1002554У тебя жирок изо всех щелей течет, иди подмойся, мань.
>>1002541пишется один набор тестов и пускается из браузера.как бы, раньше Машка: устанавливает дополнение к браузеру и пишет скрипты которые ей кликают и все делают. сейчас наверное чет похожее по принципу.>>1002554это то, что люди видят. ну и сейчас же это сложное дерьмо на тысячи строк js. там тоже самое, что и с серверной хуитой. тоже есть вью и модели и контроллеры. ток модели дергают данные с твоего http сервера, а не из субд.правда, пока не знаю как эти react какахи тестировать.тесты - часть работы, за них платят деньги.
>>1002618>как эти react какахи тестировать.Если там есть какая-то логика, которая не связана с отображением, то так же, как и везде. Выносишь логику - тестируешь логику. Другое дело, конечно, что 90% фронтенд JS параши - это еще больший спагетти-пиздец, чем рельсы. А уж сколько "программных творцов", которые про тесты с архитектурой и краем уха не слышали, охуеешь.
>>964778 (OP)Пара вопросов от новичка.1. Обязательно ли нужен Линух? Да, на Винде проблемы, но есть же всякие сайты типа c9.io, так что можно комфортно ебаться с рельсами прямо в облаке.2. Поясните за mailer в рельсах.Видеоуроки с рутрекера по запиливанию своего говносайта на рельсах рекомендуют устанавливать для подверждения регистрации по мылу какие-то сторонние гемы, которым нужно вводить номер банковской карты. Я не хочу вводить такие свои данные. What do?3. Зачем нужен json? Я нихуя не понял.
>>1005347Что за видеоуроки? Дай ссылку.
>>1005454Вот это, если не ошибаюсь (я оптом дохуя всего скачал):Udemy - The Complete Ruby on Rails Developer Coursehttps://rutracker.org/forum/viewtopic.php?t=5105361Ещё просмотрел какой-то из Rails for Zombies - там тоже говорят, мол, устанавливай какие-то гемы, которые требуют платного аккаунта.
>>1005460Дичь какая-то. Возьми Michael Hartl - Ruby on rails tutorial.
Аноны, подскажите, есть форма где задаются разные поля для поиска, дата, период и т.д. все эти параметры передаю через params. Соответственно, в зависимости от params надо писать разные запросы. Т.е. если номер есть, то один запрос, если его нет, то второй.
>>10053471. Если ты хочешь дальше продолжить работать с руби и созданием сайтов, то обязательно, на виндах никто не крутит сайты и точка.Ты пишешь не только под какой-то язык, но и под платформу и линукс в том числе.На винде можно поиграть и рельса даже как-то заработает, но всё это баловство будет работать пока ты модули какие-то сторонние не захочешь попробовать.Другое дело, что линукс не обязательно себе на десктоп ставить, достаточно просто научить работать в виртуальной машине и командной строке и заодно избавиться от предубеждения о том, что линуксовая командная строка это типа ДОСОВСКОЕ окно из винды. Кстати сходная ситуация с каким-нибудь питоном.А C# как раз таки на винде лучше катит, так что если не можешь без винды жить, то го учить C#.2. Сам пока не дошёл до этого)))3. JSON нужен для того чтобы в индустрии был какой-то формат передачи данных между сервисами который будет понятен всем. Для этой же цели используется XML и просто текстовые файлы некого доморощенного формата. Один формат нужен для того, чтобы тебе не приходилось каждый раз писать синтаксический анализатор нового формата и чтобы ты сразу мог строить некую таблицу с ключами и значениями.Ну вот как-то так примерно.
Тред не читал.Привет шахтёрам из солнечного дотнета. Как себя чувствует экосистема раби? Есть ли работа? Есть ли фриланс? Работают ли стартапы с раби или она осталась только в легаси, которое не перекатилось на что-нибудь?
>>1006212Всё есть.Стало меньше, чем во времена хайпа, но найти можно.
>>1006212>рабиТолько Руби, а не раби.
>>1005700C# и на Линукса работает, .NET Core епт.
>>1006311Я про реальный мир говорю, а не какие-то экстремальные случаи типа mono с огрызками от МС (оно как бы работает, но поддержки на это не будет или только на каком-нибудь ушибленом по голове редхате).
>>1006296>Стало меньше, чем во времена хайпаВ ДС!Дефицит!По всем уровням!Охуительно меньше.
>>1007364Ага, видимо поэтому я работу найти не могу уже 2 месяца.3 года опыта, 1 проект в качестве лида
>>1007450У тебя похоже в резюме что-то не так или еще какие-то проблемы. В начале года за 2 недели получил 4 оффера. 4 года опыта.
Завтра начинаю вкатываться в руби с нуля.
https://stackoverflow.com/questions/44612454/cant-install-rbsfmlНа стаковерфлоу могут и не ответить, так что запощу ещё сюда с небольшой ремаркой. Я таки нагуглил один похожий вопрос, там было предложено возможное решение, я его попробовал применить, но это ни к чему не привело:https://github.com/Groogy/rbSFML/issues/22
>>1007450Поэтому наверное Gett ищет уже больше 7 месяцев, Wheely больше полугода, Поток открыл вакансии.Инсейлс джуниоров ищет, Мили по прежнему ищут в свой финстартап.Гарант, интерфакс, рамблер.Не можешь найти потому что дурень видимо.
>>1008540Так предлагайте бабос нормальный - найдете сразу же. Вечно рашкинские сео жалуются, что КАДРОВ НЕТ, а сами зп предлагают в 4 раза ниже рыночной
>>1008591Нормальный это сколько (лиду с 3х летним опытом суммарно)?
>>1008626>лид>3х летним опытомА раньше с тремя годами опыта и помидором-то не все соглашались считать.
>>1008540Если кто может не в курсе, на пике Инсейлс. Хотите попилить легаси-говно в таком курятнике? Юр а велком.По поводу остальных:>Gett ищет уже больше 7 месяцев, Wheely больше полугодаВидел только гетт где-то мелькнул один раз, приглашая вроде как на удаленку, виз перфект инглиш скилс.Второго вообще не видел.>Мили по прежнему ищут в свой финстартап. Поток открыл вакансии, интерфакс,Не кажется странным что их вакансии уже чуть-ли не год висят? Учитель дурак или ученики плохие? Опять же везде доработка легаси, а в случае с интерфаксом так еще и каких-то гос-порталов.>ГарантНу это вообще пушка.
>>1008882Алсо за последнее время было только пара хороших вакансий - ведомости и шармер. Они закрыли их за 2 недели.
>>1008628>Устраиваешься в контору с 3,5 инвалидами.>Поздравляю, ты лид!
>>1008908Не две недели. У ведомостей позиция открыта уже очень давно. Я к ним ходил еще в 2016. >>1008882Gett набирали в ДС с августа, в феврале в ДС приехала команда из зарубежа и начали интервьюировать самостоятельно.Мили - у них новый проект с веб2.0, года там точно нет.У интерфакса не госпортал.
>>1008989Ну не надо путать "очень давно открыта" и "была вакансия в 2016". Я тоже помню, что в 2016 они искали рубиста. И тоже это было что-то около нескольких недель. А чего не пошел, отказали?По поводу гетт не знаю. Но они ищут через хрюш почему-то (мне рассылка падает от хрюш). Блять, хотел бы к ним попроситься, если бы не ебаный английский.Мили сейчас конкретно не висят, но я помню они очень долго искали.А у интерфакса я сам был на собесе, так что не рассказывай.
>>1008994>А чего не пошел, отказали?Нет, просто они тянули долго с ответом.
>>1008540>>1008882>>1008989О, анонимусы, вы похоже разбираетесь в рынке труда. Скажите, какие есть сейчас интересные вакансии? Вот я открывал хедхантер, видел в частности те про которые вы пишите, но они достаточно унылые все, потому что сводятся к поддержке и рефакторингу. Кто занимается созданием? Или кто занимается большими системами? Вот все хотят хайлоад(тм), а где его брать-то?
>>1009158>Или кто занимается большими системами? Вот все хотят хайлоад(тм), а где его брать-то?
>>1009167PHP и Python надо в ЭНТЕРПРАЙЗ переносить
для рельсов чего брать, angular или react? А то эти js фреймворки успеваются появиться раньше чем я и их изучаю
>>1009205Вот и тексты вакансий кагбэ намекают, всем нам.
>>1009209>Angular - 2009>React - 2013Долго же ты изучаешь.
>>1009209> для рельсов чего брать, angular или react? А то эти js фреймворки успеваются появиться раньше чем я и их изучаюРазве выбор фронта зависит от того, что у тебя на бэке? Я на vue.js делаю.
>>1009240я на си++ за деньги пишу с 2009, мне до этих фреймворков всю жизнь как до луны было, вот последние три года параллельно в веб вкатываются
>>1009209В рельсах же какое-то свое говно для фронта?HAML вместо HTML, SASS вместо CSS, CoffeeScript вместо JavaScript. Все не как у людей.
>>1009341да не, это просто шаблонизаторы, тот же jade php это заимствованый slim из рельс.Учатся за пару дней, кофескрипт по желанию.
>>1009158Мили пилят банковский продукт с нуля.
>>1009247JQUERY и всякая хуета из бутстрап
>>1009587Че за мили? Нагуглились какие микрозаймы, в вакансиях у них ничего нет.А вот еще вопрос, какой адекватный уровень зп в ДС для мидла-сеньора?
>>1009676http://rabota.yandex.ru/salary
>>1009676>Че за мили? Нагуглились какие микрозаймы, в вакансиях у них ничего нет.Веб2.0 это они же.>А вот еще вопрос, какой адекватный уровень зп в ДС для мидла-сеньора?Смотря что ты вкладываешь в понятие "мидл сеньор".
Котаны, как можно реорганизовать вот этот код → https://pastebin.com/L2jA0nGpСобственно у меня есть набор переменных которые нужно сохранять в файлы и загружать из них, но я тупенький и у меня не хватает мозгов понять как можно всё это через итератор организовать, а очень хочется отдраить этот код, потому что файлов будет больше.Затруднения у меня вызывает непонимание того как увязать имя переменной с именем файла в каком-нибудь ассоциативном массиве или хеше, особенно в случае load, когда в переменную надо загружать данные из файла.
Можно как-то изменить длину уже запущенного цикла изнутри цикла? Не запускать while/until/step и рвать его по условию, а именно запустить цикл от одного числа до другого, а потом в процессе второе число подкрутить?Исключительно из эстетических соображений интересуюсь.
>>1010181Из эстетических соображений тут и нужен «while»-цикл.
>>1010188Сразу вдогонку, из эстетических соображений, какой из вариантов оставить? выкинуть оба нахуй
>>1009826https://pastebin.com/qrQSAKHt
>>1010205max = get_page(1)something2.upto(max).each do |iteration| rape_all_the_babies(get_page(iteration))end
>>1009696>Смотря что ты вкладываешь в понятие "мидл сеньор".Давай без вот этих виляний хвостом. Какая нормальная зарплата для специалиста с опытом коммерческой разарботки несколько лет?
>>1009696Проект3.0 что ли?Какие-то они мутные, у них даже сайта нет.
>>1010230Оу, вот это прикольно на самом деле, спасибо!
>>1010236Ты по первой странице rape_all_the_babies забыл долбануть.Забей, там на деле чуть больше строк, и повторять кусок кода отдельно перед циклом вообще не прикольно получается. И в функцию он не выносится нормально, нужно несколько параметров передавать, несколько значений возвращать, только больше навала получается. Но всё равно спасибо.
>>1010285Я видел имбецилов которые имели опыт в 5 лет и стояли на позиции тимлида, и новичков которые умели строить адекватную архитектуру.Сейчас в ДС middle может пойти где-то на 140-150, нормальный senior с зачатками лида найдет 180-200к. Нормальный лид который еще не ушел в управление - 250k.
>>1010286Ну мутные или нет - но деньги есть. Пусть сами по себе они и жадные довольно.
>>1010388Тимлид не обязательно сеньор, заебал мягкое с теплым путать. И ты тоже >>1008628
>>1010395>что ты вкладываешь в понятие сеньор>заебал вилять хвостом>заебал путать мягкое с теплымОпределение дашь, просветленный?
Зачем вы ишите работу в россии? можно ремоутом дохуя куда устроиться
>>1010749На ремоут нужно английский знать.
>>1010761Ну а в чем проблема то? документацию к хуйнянейм ты как читаешь? а конферецнции/cтатьи ?
>>1010767чукча - не писатель, чукча - читатель
>>1010749Фриланс?Долго строить портфолио и доказывать опыт, фактически с нуля.Работа из дома это не работа, я для себя понял. Слишком много отвлекающих факторов.Много геморроя с налоговой, которая доебется до источников дохода из-за рубежа.А вот с релокейтом я бы куда-нибудь перекатился.
>>1010800Сам себя убедил в невозможности, кек. Я на удаленке работаю уже полгода 30 часов в неделю, выходит 2к$ в месяц. С налоговой пока все в порядке, работаю легально через ИП. Вся прелесть в том что, я работаю на постоянной работе, но через Upwork, в итоге профиль нехило раскачивается.
>>1010800>>1011208Ну по хорошему оно у тебя всегда должно быть. даже если ты работаешь в конторе. что то на гитхабе и пара отзывов на линкедине я думаю сойдут.Я спокойной работаю из дома уже 1.4 года. По 5 часов каждый день. никаих проблем нет.Про налоговую мне какжеться это байки с двача. мне работо датель просто закидывет на пейонер около 2к долларов каждый месяц. никакой налоговой нет.ну и как сказал анон выше Ремоут > фриланс
>>1011208>работаю легально через ИП>upworkКаким образом твое ИП имеет вес для компании работающей в другой стране?>Я спокойной работаю из дома уже 1.4 года. По 5 часов каждый день. никаих проблем нет.Я попробовал несколько месяцев и понял что удаленка не для меня. Периодически по надобности бывают потребности поработать из дома, но не более.
>>1011234Я работаю через Upwork на постоянке, для компании нет никакого дела есть у меня ИП или нет - они просто закидывают деньги на мой счет в upwork'e дальше я уже сам ебусь с их выводом, ИП зарегал, чтобы налоговая не взяла меня за жопу о том, откуда у меня деньги. Я живу в регионе, где действуют налоговые льготы - 0% первые 3 года.
Портирую полезную либу под кристал.Бл#, мне с даже больше нравится... Что со мной не так???
Посоны, помогите.Что надо делать в этой ситуации?>Could not find rake-10.4.2 in any of the sourcesRun bundle install to install missing gems.Если можно - по шагам.мимо-js-пидор
>>1011376bundle install в папке с gemfile
>>1013415А потом УСН будешь делать или как?
>>966926> не прочитал до конца нет одной книги. Коллеги постоянно добываются, что я апдейт не делаю, а делать промывание атрибутов модели и сейв.Разве нужно читать книги, чтобы понять, что если действие можно выполнить за одну команду, то выполнять его за две - это неправильно?
>>967401> зато каждый апдейт рубокопа (обновление последней версии которого еще и в gitlab-ci прописано ) за всю кодовую базу садится сеньор и начинает заменять одни скобочки на другие.Может пора сменить упороту тиму на нормальную?
>>1010388пиздец, зашёл в руби-тред и расстроился. работаю за 1к баксов (милионник), зато интересно. до этого было 1.6к евро, но очень скучно. а бывает чтоб интересно и нормально платили?
>>1010205Что это за редактор?
>>1013642> а бывает чтоб интересно и нормально платили?Бывает, но ответственности больше, как и компетенций.
>>1013642Ох, анончик. У меня тоже беда с этим.Почему-то кругом одни вакансии с развитием каких-то старых проектов ("развитие" == поддержка на языке вакансий) со стеком рельсы + реляционка.А так хочется просто работать и делать новые проекты. Я что, многого прошу? Кто-то может не хочет работать, а я хочу. А нету. Ну почему, почему, блять?
Хочу захостить на своём компе одностраничный сайт для другого устройства в локали. Ткните пожалуйста нуба мордой, в какую сторону гуглить. БЕЗ рельсов, ибо это оверкил дикий будет.Уже есть опенсервер с пихой, там это дело пяти секунд, но хотелось бы на руби, если это не требует каких-то запредельных усилий.
>>1014138hanami, sinatra
>>1014147Спасибо.
Аноны, мне пиздец.Прощайте.
>>1014223Что случилось?
>>1014223пили прохладную
>>1014227>>1014259Считайте, что я ушел поддерживать интернет-магазин автозапчастей "ИП Шарыгин". То что это билет в один конец, думаю догадываетесь.
>>1014317в чем проблема, перепиши все на es6 и новые рельсы, потом не стыдно будет показывать
>>1014138jekyll
Ребят я чувствую себя Мидлом. Неплохо знаю реакт редукс. совсем капельку машил лернинга. имею очень хорошии рекомендации на линкедине и апворке. на гитхабе у меня лежит имлпементация фид форвард нейросети и веб приложуха на реакте и синатре к ней. Английский у меня неплохой. вышки нет и нет оффициального трудоустройства от слова вообще. каковы мои шансы на имиграцю отсуда нахуй? если тут успешные аноны которые получили супорт визы?
>>1014591Тебе лишь бы в countryname, но не в Rashke? Может достаточно город РФ поменять? Свои проблемы переездом не решить, везде есть свои заморочки. Обдумывание свалинга вообще стоит начинать не с вопроса "куда я хочу" (если ты не гениальный специалист уровня мыщъха), а с вопроса "кому я там нужен". Найдётся ответ (работодатель) - отлично, можно приступать к решению задачи. Просто свалить из РФ ради сваливания - не цель, жить везде можно и неплохо. Сначала хоть в туристическую поездку в несезон съезди - может сразу выбор по климату сузится, в Европе зимы весьма противные, мне мои (Челябинские) сухие -30 больше устраивают, чем Венгерские -10. Жевание газа и сопли в лужах "каковы мои шансы..." = 100% никуда не поедешь. При этом надо знать куда именно валить, почему именно туда. А не "отсюда". Тебе может фрилансом заняться? Работать без территориальной привязки по удалёнке и всё. И вся Земля перед тобой. В любую жопу уехал и клепай заказы. Там по ходу дела и оценишь, где стоит пускать корни.
>>1014733ну понятное дело что не в пакистан. Климат не так важен. сейчас я присматриваюсь к польше и чехии. И вакансии есть и климат под меня. Почему свалить из рф ради сваливания не цель? не хочу ташить суда политоту но, я просто не хочу жить в стране в которой нет базовых коституционных свобод, и полицейский скорее всего мой враг. я сейчас на фрилансе, но мне кажеться максимум что я на свои 1500$ потяну это тайланд потому что я с тянкой.
>>1014743Насколько я знаю, в Польше есть тонкости вроде языка, налогов, полицейских-взяточников даже в Польше, касательно Чехии на двоих 70к крон нормально, на этом знания кончаются и я в ридонли, попробуй параллельно и асинхронно потусоваться в 2ch.hk/em/res/384254.html и 2ch.hk/em/res/387355.html
>>1014836Спасибо анон!
>>1014743>полицейский скорее всего мой врагУ тебя был прецедент или пиздишь сходу вхолостую?
>>1014942Дохуя было. из последнего от чего я просто ахуел. Хотел себе на киви закинуть 3 куска. И черт меня дернул закинуть не там где я это всегда делаю а в каком то левом магазине. Такого открытого наеба я ещё никогда не видел. Фейковый автомат киви. но юай и внешка 1 в 1. все минус 5к. вот тут у чувака такая же история, собственно нашел его по тому что у нас в чеках ИП совпадает. https://dublikat.one/threads/razvod-terminal-oplaty.63191/ .после того как я написал заяву в ментуру. началось . участковый просто начал меня мурыжить. 5 дней мне перезванивал ! и спрашивал не дошли ли деньги. я вежливо ему отвечал мол нет, и не дойдут. потом он сказал мол они ему чек дали. Прислал мне фотку этого чека. я ему в ответочку принес выписку из банка мол нихуя. ну и он начал гаситься какое то время. постояно обещал перезвонить и нихуя не перезванивал. ну и потом мне просто сказл что нихуя не выйдет у тебя друг, на резоный вопрос почему он начал воду лить. и тут конечно я ахуел. очевидно что этот чувак их крышует. потому что 1. всем похуй что на этом автомате лого киви и юай киви. как так нахуй?2. Ну я не детектив и могу понять когда не ловят кого то за мошеничество в интернете. но у тебя сука автомат стоит. ИП стоит, какие могут быть проблемы?У меня досих пор горит с этой ситуации. Надо бы конечно продолжить их ебать из принципа и писать в прокуратуру но бля это столько времени занимает я ебу. Да и я не против развестись по умному но так это ну пиздец же.из другого другу мент пытался подкинуть гаш. хорошо 3ий друг снимал
>>964778 (OP)что там на рубях сейчас пишут?
>>1014957Веб Приложения
>>1014957Все что угодно.У нас банк на рубях.
>>1015062Рокетбанк?
>>1015210Йеп
>>1015304Думал к вам попробовать устроиться (нравится идея попилить банк и заодно узнать кухню изнутри), не поделишься немного инсайдом? Есть ли овертаймы, как команда (напрягает, что вакансии постоянно висят одни и те же, хотя может просто никто не обновляет страницу), может ли помидор рассчитывать на 200-250к?
>>1015331>Есть ли овертаймыЕсли поджаривает время - считай есть.>как команда (напрягает, что вакансии постоянно висят одни и те же, хотя может просто никто не обновляет страницу)Команда большая, но много подпроектов. Каждый своим занимается.Вакансий много потому что идет массовое расширение, куча нового делается.>может ли помидор рассчитывать на 200-250к?В теории наверное может.
>>1015346Никитушка?Ты слабоумный хипстоблядок. И офис ваш говно и банк ваш говно.>Команда большая4 человека блять? Или ты всяких пезд-менеджеров под командой понимаешь.
>>1015419>Никитушка?Мимо>4 человека блять15 человек на бэке, плюс человек 10-12 фронта. И будет больше.
>15 человек на бэке, плюс человек 10-12 фронта
Правда что в руби все объекты и все выражения? Ищу язык максимально похожий на лисп. JS наиболее близок к лиспу, но экосистема удручает.
Как в руби с асинхронностью?
>>1015880cpu-bound синхронен, без параллелизацииio-bound асинхронен, параллелизируется
>>1015824>МимоА то что он слабоумный хипстоблядок согласен? Или у вас там все такие?
>>1015928>Или у вас там все такие?Все. Поэтому видимо тебя и послали нахуй.
Посоны, а расскажите, какие "необычные" вещи/практики вы знаете в рубях (ну или в рельсах тоже)?Я, например, узнал, что оказывается в рубях есть множества http://ruby-doc.org/stdlib-2.4.1/libdoc/set/rdoc/Set.html:>s1 = Set.new [1, 2] # -> #<Set: {1, 2}>>s2 = [1, 2].to_set # -> #<Set: {1, 2}>>s1 == s2 # -> trueПрикольно, потому что может пригодиться в случае если нам нужно отсутствие упорядоченности и еще сеты контролируют уникальность.А вот другой любопытный пример. Flip Flop Operator:>5.times do |i|> print i if (i==2)..(i==4)>end># => 234Оператор создает набор условий и хранит состояние ? и работает так: возвращает true c того момента как встретит первое условие и до того, как встретит второе. На самом деле может быть более полезен:>lines.each do |line|> puts line if line =~ /^from/ .. line =~ /^to/>end
>>1016272Скажем, для разрежённого массива позволяю себе писать:elem&.methodВместоelem.method if elem
Сап, аноны.Есть некий скрипт на Ruby, есть ли способ собрать все зависимости в один файл так, чтобы на другой машине скрипт запустился, не требуя скачивания дополнительных пакетов?
>>1017072На ум приходит Docker и виртуалка.Но тебе наверное надо все гемы, можно конечно сказать, что у тебя тебя какая-то задача неправильная, но проблема интересная в некотором роде.Можно погрепать код на предмет всех require'ов и с этим списком вытянуть гемы через gem fetch (или просто вытащить уже скачанные из директории с гемами) и потом грузить как-нибудь через require_relative.
>>1017159Надо что-то вроде такого в итоге получить https://github.com/SYWorks/waidps
Хочу освоить данный яп, какую книгу почитать, если я уже знаю основы другого яп(java)?
>>989008Потому-что оно памяти жрет просто охуеть. JVM сама по себе довольно прожорлива, а с уровнем абстракции как у руби - это лютейший пиздец.
>>1017492Старые байки о главном. Долбоебы квотируют все подряд не задумываясь что такое холодный старт и почему у не-jvm рост памяти прогрессирующий.
>>1017776Расскажи подробнеемимо
>>1017776высунь голову из манямирка и не пытайся обернуть говно фантиком. если ты на самых банальных задачах выжираешь в десятки раз больше других решений(включая JVM-экосистему) - тут становится все просто: бери свое поделие и катись нахуй, всем будет насрать на твои росты памяти и старты, инфа 100 и так оно и происходит. если бы это не было байкой, то этот ваш jruby таки хоть кто-то использовал. а так это просто игрушка для эксперементов и некритичной скриптопараши. вакансий почти нет, известных пользователей тоже.
>>1017957https://github.com/jruby/jruby/wiki/SuccessStoriesJRuby юзают в коммерческих проектах и вообщедо сих пор пилят и не забросили.Основные причины: получить удобство рельсы иподдержку уникальных java-библиотек и java-legacy.С памятью там всё нормально (не идеально, но вполне нормально).
Помню последние бенчмарки, там torquebox ебал все рубишные стеки.
>>1017957Сейчас бы слушать советы от человека который в бою не видел системы с нагрузкой больше 100 rps.
>>1017957>то этот ваш jruby таки хоть кто-то использовал.Тащемта, всё оперативное планирование и контроль высокоскоростного движения в РЖД (считай, вся служба Д и околовертящиеся, нет, конечно Гид-Урал и Сетунь еще не похоронили, но...). Ну и в метро МСК кое-где (как минимум в службе Э).
>>1018278>return Response.new(status: 200, body: {}.to_json)>ебет всё
>>1017922О чем поподробнее? Говнометания на Jruby и Java в целом идут из-за того что она долго и муторно разогревается, сразу алокейтя кучу пространства. О чем ньюфаги не знают, это то, что разогнавшись машина ебет все интерпретируемое говно взашей, при этом имеет адекватные alloc-и, нормальный gc, который не блокирует мир, нормальные треды, которые не зависят от потоков операционной системы, не лимитированы по GIL в cpu-bound и где нет танцев с бубном по thread safety. Плюс к этому они получают доступ к использованию почти любого Java окружения.
Держите пацаны не самый свежий, но вроде как толковый подгон с лепры: http://rubyschool.us/
>>1018492Видио по два чиса, эта же с ума сайти можна. Просче доку перичитать.
fseek(file, 0, SEEK_END);size = ftell(file);fseek(file, 0, SEEK_SET);buf = (char )malloc(size);fread(buf, 1, size, file);fclose(file);fileSize = size;return buf;Как перевести этот Си-код на руби?
>>1018416С каких это пор оно не блокирует мир? Почти все интерпритации JVM делают остановку мира, кроме платного Azul. Она ебет, только если пользоваться непосредственно жабой, скалой или котлином и зная как. Запуская там скриптовые хреновины типа жруби, нэшхорнов, итд оверхед будет слишком велик.
>>1018798Какая разница что запускать на JVM. Там же единый байт код. Все языки в этот байт код компилятся.
как/где храните sql stored procedures?т.е. хотелось бы что бы rails db:create, db:reset подгружал и процедуры.
>>1020331вопрос про rails.
>>1020331вопрос снят. rails db:reset запустить миграции. я почему-то думал, что используется schema dump.т.е. добавлю процедуры миграциями.
Рубанасы, поясните за AA.Имеется код index'a для AA. column :screenshots do |object| object.screenshots.each do |shot| span do image_tag shot.screenshot_img.thumb end end endКакого-то хуя результатом его является пик.Поясните, где я мудак?
>>1020477отклеилосьСтолбец "Screenshots"
>>1020477в вьюхе ты накосячил.проверь все открытия тегов <% и <%=, обычно когда путают эти теги такая хня
>>1020818короче думаю ты <%= screensots.each do |screenshot| %> вместо <% screensots.each do |screenshot| %> хуйнул, и он тебе высрал жсон с screensots
>>1020818>>1020820Да, но нет. Как я писал - я юзаю ActiveAdmin.ActiveAdmin.register News doindex docolumn :screenshots do |object|object.screenshots.each do |shot|span doimage_tag shot.screenshot_img.thumbendendendendendP.S: и если бы я хуйнул <%= в ERB, то картинок бы не выводилось.
Наверное строку «image_tag shot.screenshot_img.thumb» надо в равно обернуть, а остальные немыми сделать, вот и всё.
>>1021053Наверное надо перестать ебстись в глаза и прочитать, что используется ActiveAdmin.
>>1021053Анус себе оберни, пёс
>>1021058>>1021060Ну ты решил-то проблему?
>>1021058Лол, так тебе про .html.erb народ говорит в котором вьюха рендерится?Ясен пень, что просто поставив знак равно вначале строки интерпретатор назовёт тебя бакланом.
>>1021073Не, сегодня еб мозг с геокодером.>>1021077Так я им о том же. Не использую кастомы в АА нигде кроме форм, да и там сразу на slim их рисую.
>>1021073захуярил вот так column :screenshots do |object| object.screenshots.each do |shot| span img(src: shot.screenshot_img.thumb) end nil end Короче span просто выводит span, a column принимает блок и выводит результат его выполнения, а результат его выполнения - массив скриншотов, а если в конце добавить nil это получается return nil.Сука вообще конечно пиздец.
>>1021448Пили ссылку на гитхаб, непонятно чё там у тебя, нигер ты черномазый.
>>1021699да всё уже и сам сделал, пока тебя дождешься...
Почему у меня при вызвое File.write(name, string) все файлы создаются с флагом executable и как это убрать?
>>1021983Кажется понял, файловая система msdoc и тут таких флагов вообще нет. Смутил файловый менеждер минта, который отображает это флаг в свойсвтвах файла.
>>1016272А я продолжаю открывать для себя всем известные вещи.Оказывается в рубях есть catch и throw.https://ruby-doc.org/core-2.4.1/Kernel.html#method-i-catch
>>1018406Откуда там вообще руби?Алсо, анончик, запили кулстори что-ли, ты видимо работаешь там? как в госконторе работается?
И еще, посоветуйте что-нибудь простое и понятное по рспеку. Я его сразу не вкурил и продолжил пользоваться минитестом. Потом еще делал подход, опять обилие dsl-магии меня отпугнуло. Но все-таки хочу на него перекатиться. Доки какие-то уебанские, хочется простой обзор, как им правильно пользоваться-то.
>>1022238ну охуеть, а break if не канает уже?
>>1022248Посмотреть примеры не судьба? В любом проекте рспек.
>>1023857Это не break, а continuation.По факту это просто усложненная версия Fiber-ов.
>>1023892а вот нахуй оно всралось?в посудно-бытовых задач имхо не применяется
Сап, ребята.Подскажите плс по следующему вопросу.Чуть меньше месяца вкатываюсь в руби. Знаю, понятное дело, самые основы пока что.Тем не менее, у меня цель как можно скорее начать на этом хотя бы что-то зарабатывать, а для этого, как я понял, нужно переходить к рельсам.Собственно вопрос: насколько надо знать руби, чтобы начинать вливаться в рельсы? Спасибо!
>>1023857>>1023892Вы про что? Что это такое?Вообще это инструмент для флоу-контрол, очень похожий на выброс исключений, просто с другой семантикой.>>1024031В пятой рельсе колбеки теперь не через return false останавливаются, а через throw :abort.
>>1024431Да можно толком и не знать. С рельсами совсем другая проблема - их нужно учить. Я бы даже сказал зубрить. Потому что все сплошь на соглашениях и шагу без них не ступишь - приходится искать и читать, как делается элементарная хуйня.
>>1024431Беги извлекать и сортировать числа из файлов по 40 гигабайтов, кек. Другими словами, ломись в конторы и делай тестовые задания, какими уебищными бы они не были. По ходу дела освоишь как руби, так и рельсу.
>>1024590Мы про kernel, рельсоеб ты дремучий
Аноны, вот нахуярил проект на тестовом сервере, но что-то медленно, если его сделать как продакшн, быстрей будет?
>>1024595отсылка в фанбоксу?
>>1024706Да вы сами не знаете про что вы.>>1024905Он типа крут? Расскажи если в курсе, пожалуйста.
Пока Антон жалуется на упорото-упорных хрюш в своем свитторе, смотрел видосики. Нашел, такойhttps://www.youtube.com/watch?v=ChxDqYVIYzwПоржал с обсуждения вопросиков про лямбду и проки. Поцаны каждый день этими знаниями пользуются.Анончик, а ты хоть раз использовал отличия лямдбы от прока? Можешь не отвечать, я знаю, что нет тот единственный раз не считается.
>>1025801юзал в монгоид
>>1025801>а ты хоть раз использовал отличия лямдбы от прока?Постоянно.Если отбросить более удобную работу с проками в тех же скоупах AR, проки постоянно используются в сервисах.
>>1025996И что же ты использовал, синтаксический сахар для объявления любого кол-ва переменных? Это несерьезно и решается через одну строчку типа a,b,c = *params.Или может различия в поведении на ретурн? Хуевое у тебя ооп тогда получается, очень хуевое. Ломать инкапсуляцию и менять логику в инкапсулированном методе-адресанте - это пиздец такое поддерживать. Добавил return и потом на весь садик: `Мама, мама у меня сломались каллбеки!1!!! Что делать?!?`
>>1025801Там ему сразу вопрос задали "вы сами на собеседовании давно были?". Мне кажется вся суть.Но мне больше пригорает с другого, что вот такие вот собеседователи ищут себе скиловых чуваков, вместо джунов (которые бы были благодарны и развивались), а потом отправляют их на круды, где это все не нужно и люди там тухнут. А потом он еще не доволен, что убив два года на "вырабатываение задач в джире" чувак не может ему про продукт рассказать. Епт, блять, да за два года такой зомби-работы не то что про продукт не расскажешь, а вспомнить не сможешь, что ты там вообще делал.
>>1026059Предполагается что ты сначала на PHP попишешь года два в офисе, выучишь паттерны и потом руби за недельку и рельсы за месяц. И всё это во время работы в своей конторе. Там же ты должен поднять какой-нибудь побочный проект и в течении года-двух его разрабатывать и поддерживать.После чего этого (через год-два) можешь робко смотреть на вакансии джунов в руби конторы.А так никаких руби-джунов не подразумевается обычно.
Сап, пацантрэ.Вкатываюсь в рельсы. Учусь на программема, сейчас проходит летняя практика. По знакомствам нашел практику в одной маленькой конторе. Руководитель практики сказал, что ему в принципе похеру на меня, но если хочу что-то сделать, то нужно сделать веб-приложение. И дал на выбор пару тем. Делаю приложение для городских игор (Типа бегаешь по городу, выполняешь задания). Возникла проблема:Есть 2 модели : Игры и блок игры. Т.е. игра содержит несколько блоков, соответственно связь belongs_to.C созданием игры все ок, но когда хочу прикрутить добавление блоков сразу при создании игры возникает пролбема (пик 2).Контроллер для создания блока игры (пик 1)
>>1025999Я хуй знает что ты лепишь, но слез бы ты со своей лошади и прекратил понты кидать.
>>1026168nested models
>>1026260Какие понты? Тебя спросили как ты используешь отличия, на что был вскукарекек про проки в скоупах. Ты бы хоть доки посмотрел сначала актив рекордские, в них лямды используют.Так что раз уж начал спорить с тем что проки (не лямбды) используются повсеместно, давай валидные кейсы их использования или слейся по-тихому.
Открываешь http://guides.rubyonrails.org/active_record_querying.htmlИ смотришь, в документации используется -> (lambda)И 0 совпадений по proc или Proc.newГуглишь proc vs lambda и находишь статьи где упоминают, что процы не рекомендуют использовать.http://batsov.com/articles/2014/02/04/the-elements-of-style-in-ruby-number-12-proc-vs-proc-dot-new/> By the way, given proc’s fairly counter-intuitive behavior regarding return, you should probably use lambdas most of the time.Илиhttps://stackoverflow.com/questions/626/when-to-use-lambda-when-to-use-proc-new> And finally, the proc method should never be used as it is inconsistent and has unexpected behavior. In Ruby 1.8 it actually returns a lambda! In Ruby 1.9 this has been fixed and it returns a Proc. If you want to create a Proc, stick with Proc.new.и т.д.Повседневно, они, блядь, используют.
Так, спрошу и тут тоже.В общем есть проект в директории, под гитом.Я хочу некоторые файлы этого проекта заменить своими на локальной машине, или добавить файлы только для себя (это в основном конфиги, которые лично меня не устраивают и я хочу иметь свои).Частично это можно решить глобальным гитигнором, но это хуевое решение. Кое-что я сложил в директории рядом с проектом, типа докер-композа и dot-env файлов, который можно так запускать.В идеале хотелось бы, чтобы моя директория-расширение, как бы монтировалась поверх проекта. Но при этом чтобы гит видел оригнал.Или например что-то типа личного гит-игнора, но локалного для проекта.
Сижу перепиливаю свой «процедурный» скрипт на классы (специальная олимпиада), у меня там erb использовался и пришлось разбираться что такое биндинг.А вы чем заняты?
>>1026298branch OR stash OR .gitexcludes
>>1026454Бранч и стеш не подойдут. Гитэксклюдес это глобальный игнор. Но пока гуглил его наткнулся на .git/info/exclude - типа локальный exclude, и это уже теплее.
>>1027615В папку проекта можно кинуть отдельный .gitignore, с дополнительными игнорами.
Парни, как относитесь к принципу рефакторинга extract method? Пикрелейтед.Если код дублируется, тогда, конечно, очевидно нужно выносить. Но вот как в этом конкретном примере мне кажется это ненужно шизофазия. Имхо, код сверху понятнее и читабильнее. Но я часто вижу, что начинают дробить обособленный метод на множество мелких, создавая такую лапшу, что чтобы прочитать код, приходится бегать по файлу и воссоздавать стек вызовов. И зачастую это объясняют "чтобы метод лучше читался".Но это мне так кажется. Хочется узнать, что думают другие и если используют, то почему. Алсо, если есть где-нибудь субъективная критика этой практики, поделитесь ссылочкой.
>>1027646>отдельный .gitignoreЭто как?
>>1028142Ты профессионально непригоден.Лучше иди асфальт укладывать или менеджером в эльдорадо.
>>1028141Причем здесь руби?---Принцип рефакторинга хороший, если уметь его применять в связках с другими паттернами.Давай возьмем пример посложнее, пусть отчет состоит не из двух частей, а из пятидесяти. Все написаны в одном методе printOwning. И тебе приходит задача - подготовить три вида отчетов, один полный на пятьдесят частей, два кусками по 5, и 35 частей.Первым делом ты откроешь код и охуеешь, увидев полотно на 400 строк кода. Но т.к. ты владеешь паттерном extract method, то за 1 коммит сможешь разделить огромный метод на множество маленьких частей. Эта хуйня отвечает за это, та - за то. Стало чуть понятнее.Вторым шагом применяется инверсия зависимостей, чтобы метод printOwning печатал нужный вид отчета (полный, частичный, минимальный, whatever).Вот так в два простых шага ты решил этот кейс.
>>1028207Ты умней других хочешь показаться? Я же написал, что вопрос не про DRY.
>>1028218То что я знаю больше тебя, не значит что я хочу что-то перед другими, особенно на анонимном форуме.Извлечение методов это не только читабельность, задел под расширение, но и удобство в тестировании. Когда тест крашится в маленьком методе, его проще поправить, а остальная часть программы тебя не волнует.Если думаешь, что можно научиться эффективно ходить на одной ноге, то тебе не следует идти в программисты. Тем не менее неоспоримость пользы одной ноги в связке с другой - неоспорима.Поэтому не выебывайся, и учи как бы глупо тебе не казалос и рднажды картина сложится в голове. Увы, но ооп по частям не работает.
>>1028141Даже башевские скрипты дроблю на отдельные функции, что сильно упрощает отладку и прочие НИОКРы.Может показаться, что кода несколько больше, но с практикой станет ясно, что разбираться в коде действительно проще, чем в простыне с if/while, принтами и циклами.
ОПчик а ты почему с гитхаба удалился, перекат теперь проебан.
>>1028141>если есть где-нибудь субъективная критикаВот тут в комментах чуваку аргументируют, что он поехавшийhttps://sites.google.com/site/unclebobconsultingllc/one-thing-extract-till-you-dropТам большинство все-таки разделяет его восторг, но пример показательный - декомпозиция ради декомпозиции.
ПЕРЕКАТhttps://2ch.hk/pr/res/1029529.htmlhttps://2ch.hk/pr/res/1029529.htmlhttps://2ch.hk/pr/res/1029529.html