The Future of Ruby(3)Предыдущий тред: https://arhivach.ng/thread/489585/ИЗУЧЕНИЕ ЯЗЫКАQ: C чего мне начать, чтобы стать рубистом?A: Отличным началом будет Programming Ruby (The Pragmatic Programmers Guide), читать Eloquent Ruby и The Well Grounded Rubyist после прочтения первой толку особо не даст, одни и те же вещи, дальше читаем Ruby Way, затем познаем метапрограммирование с Metaprogramming Ruby.А дальше открываем Ruby cookbook 2015 года, Пишем свой код во время чтения.Q: Следующий уровень, продвинутые книги по руби:A: Confident Ruby by Avdi Grimm | Practical Object-Oriented Design in RubyRefactoring Ruby Edition | Ruby Under a MicroscopeQ: Онлайн курсы чтобы попробовать/вкатиться:A: https://ruby.github.io/TryRuby/ | https://rubymonk.com/https://www.codewars.com/?language=ruby | http://rubykoans.comQ: Какой gem посмотреть, чтобы понять, как писать код?A: Лучше всего посмотреть небольшие gem'ы вроде cancancan, pundit, camping.Еще можешь полистать на гитхабе гемы с нарастающей популярностью (там еще нет тысяч строк, и тебе будет легче понять): https://github.com/trending?l=rubyQ: Хорошие практики по руби и рельсам?A: Обязательно стайлгайды (как оформлять код):https://github.com/rubocop-hq/ruby-style-guidehttps://github.com/JuanitoFatas/fast-rubyhttps://github.com/rubocop-hq/rails-style-guideРуководства "для чайников":https://www.railstutorial.org/book [en]https://www.theodinproject.com/tracks/1 [en] | http://codenamecrud.ru/ [ru]Еженедельная рассылка с новостями из руби мирка:https://rubyweekly.comПрочая годнота:https://github.com/markets/awesome-rubyQ: Документация по стандартным библиотекам руби и рельс:A: https://ruby-doc.org/ | https://api.rubyonrails.orghttps://guides.rubyonrails.orgQ: Можно ли на руби писать нативные GUI, мобильные приложения, игры?A: Да, но не стоит.Q: Что ещё изучить?A: Английский, git, linux. Паттерны. Один из часто используемых - Service Object.СРЕДА РАЗРАБОТКИQ: Как установить разные версии рубей?A: https://rvm.io | https://github.com/rbenv/rbenv | https://github.com/asdf-vm/asdfhttps://www.youtube.com/watch?v=IhTXDklRLME
>>1505729 (OP)> The Future of RubyВсегда, когда вижу на сайте какой-нибудь библиотеки или другой технологии новость с заголовком "the future of технология_нейм", это означает, что разработка прекращается, и будущего у неё нет.
>>1505818Всегда когда вижу комментарий о том, что какая-то технология себя изжила, это означает мамкиного эксперта.
Ребята, если Ruby умрёт, на какой язык перекатиться среди тех же задач и с таким же сладким синтаксисом?
Из Java-макаки имеет смысл перекатываться в Ruby, имея опыт в Java Spring около года?Заебало настраивать эти бесконечные modelDatasourceDependenciesManagerFactory и ждать, пока проект, писавшийся 6 лет, наконец запустится через 10 минут после нажатия кнопки.Почитал Agile Web Development on Rails - понравилось, так как в полной мере понимаю, о чём идёт речь.
>>1507255Завсисит. Ruby и рельсы хороши тем, что они до сих пор является некоторым маркером "правильных" людей. Если для тебя это важно и вокруг тебя есть работа на RoR, то имеет смысл попробовать.http://www.paulgraham.com/pypar.html
>>1507677Там даже над шуткой, где мол каждый год говорят, что руби умер, не посмеялись. Настолько люди верят в кончину рубина.https://youtu.be/IhTXDklRLME?t=94
>>1507723А, ты в общем про доклад. Не, я до конца не смотрел. Да и думаю создатель ЯПа до последнего будет пытаться реанимировать свой язык, вряд ли он скажет RIP
>>1507546>является некоторым маркером "правильных" людейВ смысле осиляторов непростого и продуманного фреймворка, или о чём ты?
>>1507546У меня нет задачи ощущать себя "правильным" человеком.Для меня этот аспект неважен, значение имеет вопрос - реальна ли возможность смены стека (хотя фактически поменяется 20%) и поиск работы в Москве, если раньше именно на Ruby не было коммерческой разработки
>>1507897Без руби-опыта может быть тяжеловато, хотя в целом в ДС проблем быть не должно. Готовься в первый год по зарплате просесть.
>>1507897> У меня нет задачи ощущать себя "правильным" человеком.А какая у тебя задача? Ты залётный что-ли в ойти?> реальна ли возможность смены стека Да, очевидно реальна. Ради чего?> поиск работы в МосквеРынок RoR в Москве после крысиса так и не оправился (источник: я работал в самой большой Ruby команде в городе). Найти можно, но, например, я бы на твоё резюме даже и не посмотрел. Нужен опыт.
>>1507998> Рынок RoR в Москве после крысиса так и не оправился (источник: я работал в самой большой Ruby команде в городе). Найти можно, но, например, я бы на твоё резюме даже и не посмотрел. Нужен опыт.Ну и на хуй вас тогда, элитариев
>>1507701>Там даже над шуткой, где мол каждый год говорят, что руби умер, не посмеялись.А хули над ней смеяться, когда уже который год каждый раз ее шутят? Ну блять. Тебе будет смешно, если я расскажу тебе один и тот же анекдот раз пять?
>>1509041Еще как надоел, только у них как бы есть большая разница. ПХП технология уровнем ниже и там больше клиентуры, меньше требований, купил книгу по пхп и пошел зарабатывать деньги, одна хуйня никто не понимает как писать правильно, так зачем замарачиваться, если тебе это не нужно, а большинству это не нужно. Есть люди которым вообще группы в быдлятне хватает, чтобы толкать свой товар, там еще больше чем клиентуры пхп, но это не значит что создание групп в ВК лучше языка программирования ПХП.Питон форсят как лучший язык для новичка, естественно пропаганда делает свое ЛОЛ. Ты же не удивляешься почему Пыня президент в РФ, ну вот по этому и питон популярен. Без пропаганды он бы загнулся еще лет 10 назад, потому как какой человек будет писать на этом дерьме осознанно.
>>1509052>ПХП технология уровнем нижеПиздец я сказанул. Заняла место на рынке уровнем ниже конечно, сам технология та же, обычный текстовый редактор.
>>1509052>ПХП технология уровнем нижеэто почему,говно скрипт и на руби написать можноплюс магия иногда боком встает
>>1509033Спрос не на руби падает, а на уеб CRUD поделки на коленке (и это хорошо). Есть несколько факторов почему так:- Сегодня никому в голову уже не приходит писать свой собственный магазин, сайт визитку и прочие CRM. Не только на рельсах, а вообще.- Фокус переключился на SPA. А на бекенде? Да похуй! Раз уж мы тут ебёмся в присядку с JS и реактом, давайте на сервере тоже JS захуярим.- Рельсы перестали быть такими модными и молодёжными. К тому же DHH и кампания не понятно чем последние 5 лет занимаются. Ничего нового крутого и революционного за всё это время добавлено не было.
>>1509245>Фокус переключился на SPAЧто кстати довольно забавно и говорит о большинстве программистов как о животных. Реально СПА нужно в 10% из 100 где ее применяют. Появилась новая технологиянейм и все тупо рванули ее хуячить и похуй зачем ее придумали, главное смари как умеет делать ЫЫЫЫЫЫ. Так же было и с Рельсами, лепили всюду и потом дико рыдали что не робит. Знакомый парень в Яндексе на реакте кодил, такого рассказал и показал что я в ахуе. Я раньше считал Яндекс дегенератами, но вот так откровенно их код никогда не видел и признаться честно, такого говна, я даже представить себе не мог, что можно кодить буквально как в мусорное ведро без какой либо структуры в принципе, 1500 строк в роутере на сервисе уровня сайта-визитки - говно вопрос. Прямо как та обезьяна из басни Крылова. Зачем Реакт в сайт визитку, это я уже молчу, Яндекс то лучше меня небось знает.>Раз уж мы тут ебёмся в присядку с JS и реактом, давайте на сервере тоже JS захуярим.Гениальная мысль, узнается подчерк Шарикова в подобной логике КЕК Похуй бизнес, похуй деньги, давайте хуйню вытворим, ну прикольно же ребят.
>>1509033Для мелкосайтов рельсоподобных фреймворков достаточно уже и на других языках.А для крупных сайтов нужна асинхронность.
Вопрос.Зачем использовать делегирование связанных атрибутов, например пик1>delegate :name, :domain, to: :company, prefix: true Если вызов>@user.company.nameбыстрее на бенчмарке? пик2или я что-то неправильно понимаю?
>>1509807Я не гонюсь за скоростью.Но делегирование распространенная практика.Хотя мне больше удобнее через дот-синтаксис писать. >user.company.nameНаткнулся в одном проекте снова на методику делегирования, решил проверить скорость. Шина не произошло. Заинтересовался, в чем тогда смысл? Просто в удобстве?
>>1509628>>1509823Потому что это банальная абстракция. Делая parent.child.attribute ты течёшь деталями имплементации и выкручиваешь самому себе из будущего яйца.Почитай про Interface Segregation Principle.Гораздо проще тестирировать и поддерживать код где отдельные куки проекта не зависят от всех остальных кусков.
Здоровеньки булы! Как именно себя проявляет полиморфизм в рельсовых проектах? Правильно ли я понимаю, что в руби из-за строгой типизации ad-hoc полиморфизм?
Почему на рубях нет какой-нибудь крутой cms для блоггинга?Я понимаю что можно наскафолдить свое поделие, но оно не будет таким годным как https://ghost.org/Конечно же загуглил, но ничего годного не нашел. Почему до сих пор никто не сделал что-то подобное госту?После такого начинаешь верить что он и правда умирает.
>>1509984Мы используем термин duck typing вместо полиморфизма.> ad-hoc полиморфизмRuntime polymorphism скорее. Сложно назвать то что у нас есть ad-hoc в класcическом смысле.
>>1510025> Почему на рубях нет какой-нибудь крутой cms для блоггинга?Как насчёт https://github.com/opoloo/lines-engine или той же Spina CMS?> не будет таким годным как https://ghost.org/И что конкретно годное там?> Почему до сих пор никто не сделал что-то подобное госту?Потому что Medium очевидно. И jekyll и Gatsby.
>>1510035Видел спину и lines перед тем как написать сюда.У спины уебищная админ панель. Посмотрел скрины lines - чуть не блеванул.>И что конкретно годное там?Она охуенно выглядит. Скрин сверху. Это первое что бросается в глаза.Много позитивных постов, что народу нравится.Medium превращается в говно. Они вроде начинают вводить подписку или что-то в этом духе.Так-то jekyll это не cms. Будет не совсем удобно.Вот есть же discourse, написаный на рубях. Всем он заходит.
>>1510025>Почему на рубях нет какой-нибудь крутой cms для блоггинга?потому что это тот самый CRUD и ActionText, который rails умеет из коробки?зачем плодить то, что делается за вечер даже без подключения сторонних компонентов.
>>1510220Не все хотят с этим разбираться или тратить время на создание с нуля.Вот например, решил я создать блог и писать на определенную тему. Видя что есть решения которые достаточно развернуть на впску, я отдам предпочтение им, даже если знаю rorА так, я начну создавать велосипед и в итоге у меня пропадет желание заниматься блоггингом
>>1510233Наверное потому что похапе - говно для вчерашних расклейщиков объявлений, а руби - стильный и выразительный язык для интеллектуалов.
>>1509819Я про то, что в руби не нужен do при определении метода, а он спросил про do как раз по этой причине, хуле не понятно
Есть одна index страница, у которой есть две линки с 'remote: true'. И есть index.js.erb файл, конечно. Проблема в чем: одна линка долна делать одно, другая совершенно другое. А index.js.erb один же. Вопрос: можно ли по клику на линку с 'remote: true' передать в index.js.erb что именно нажато? Или надо говно затея и надо писать отдельный AJAX для одной линки, а у другой оставлять 'remote: true'.
>>1512416Или говно затея и надо писать отдельный AJAX для одной линки, а у другой оставлять 'remote: true'?слоу фикс
У каминари можно сделать так, чтоб, например, страница 2 содержала в себе элементы первой и второй страницы, а страница 3 соответственно содержала в себе элементы первых двух и т.д? В доках не могу такого найти, может кто сталкивался
>>1512540Всё, нашел. Достаточно в page всегда передавать единичку, каждый раз умножая то, что передаешь в per на номер страницы
9 Industries where Flagship Companies Choose Ruby on RailsTourism and Hospitality• AIRBNB• COUCHSURFINGMarketing• CRAZY EGG• BBDO• ACCENTURESocial Media• ASK.FM• WE HEART IT• GOODREADSSoftware Development• GITHUB• ZENDESK• MICROSOFTHuman Resources• FIVERR• HELPING• YELLOWPAGES.COME-commerce / Retail• SHOPIFY• GROUPON• NEDAPFinance• BLOOMBERG• KICKSTARTER• FUNDERAEntertainment• NETFLIX• HULU• TWITCHReal Estate• SPACELIST• PROLOGIShttps://medium.com/@rubyroidlabs/9-industries-where-flagship-companies-choose-ruby-on-rails-839b7e21812b
Поясните мне за руби, хайп по нему же прошёл уже? И ничего нового на нём не пишут (потому что тормозной и кроме рельсов нет нихуя), только легаси осталось? Или я неправ и у рубистов есть какие-то перспективы?
>>1518477Написал за этот год два новых проекта на рельсах, теперь сижу сеошу один и наполняю контентом другой. Все хорошо.Про руби в целом ничего сказать не могу. В том числе плохого.Пикрелейтед с руби-ивентов evrone. Неплохая самоирония.
>>1518478Мил человек, подскажите как сеошить рельсовые проекты?Наклепал только альты для пикч, метатеги и манифест. Что для сео еще нужно?
>>1519184>Наклепал только альты для пикч, метатеги и манифест. Что для сео еще нужно? Шаги правильные но этого очень мало.Для интернет-магазина (если это он):sitemap_genarator, скармливаем выхлоп поисковикам. По моему опыту карта сайта таки дает выхлоп,что бы не говорили на этот счет.robots.txt с удалением вообще всего, связанного с внутренним поиском и любыми параметрами урла (эти ваши фильтры, страницы кроме первой и т.п.). Ибо дубли и мусор - это чистить обязательно. Микоразметка а-ля schema.org для снипеетов поисковиков - в обязательном порядке.Дескрипшены разделов - в обязательном порядке. Можно разгрузить ручную работу взяв перечень ключевиков из товаров категории и накидать пару десятков вариантов текстового сопровождения для воды и избежания переспама и тошностности. Раздробить на логические части, рандомизировать выборку/порядок для каждого раздела.Дробление каталога на СЧ/НЧ запросы с автогенерацией посадочных под них. У меня, например, товары разбиты по категориям, внутри них по группам и производителям. Посадочные у меня являют собой связки 1 группа и 1 производитель, при условии что товары, подпадающие под эти условия есть и нет категории, которую эта связка продублирует (т.е. категории с одной группой и одним производителем). Плюс посадочные по СЧ запросам по каждому производителю и группе товаров отдельно, опять же, следим за дублями существующих разделов каталога.Генерация около 2к таких посадочных у меня заняла 3 нескучных вечера.<noindex> для яндекса где надо, чтобы не индексировал всякие "Добавить в корзину", и т.п. Для гугла не помню как это делается, у меня с него трафика мало, пока смысла не вижу, да и снипеты у него сразу подхватились от meta-descrition, ничего лишнего не вылазит.Про бэклинки, если проект молодой, забудь на время. Про покупку ссылок вообще навсегда, в 2к19 они даже вредны. Трафик с соцсетей переоценен, причем сильно.Всякие Яндекс.справочники, карты и прочее - вполне полезны, кто бы что ни говорил, но это в моем случае, тут оффлайн-сеть из 14 магазинов в одном миллионнике.Внутренний поиск по сайту лично я делал с использованием триграмм через pg_search, мб в чьем-то случае больше подойдет full-text. Вообще по каталогу в любом случае нужно очень много ручной работы - прописывать словари синонимов и т.п. Без этого никуда.Перелинковка-перелинковка-перелинковка. Не забываем разгрузить главную от кучи ссылок - никаких выпадающих каталогов на всю левую часть страницы. Ссылок 10-15 на самые популярные разделы и посадочные хватит, остальное в поиск и отдельную страницу каталога.Это только первичные работы, все остальное, в основном, идет от ПФ, поэтому колдуй над юзабилити и поиском. Следи за поведением пользователей на сайте. Можно кучу всего прописать для самостоятельного анализа ПФ, например, сохранять пустые результаты пользовательского поиска внутри сайта для корректировки релевантности синонимаов товаров и т.п.За первые 2 месяца переработки с нуля на рельсах полудохлого ИМ на опенкарте с кучей грубых ошибок траф взлетел со 150 уников в день до 450. Ряд ключевых СЧ позиций сразу прыгнули в топ-3, причем у гугла тоже. Не исключено что роль сыграл еще возраст домена (он не менялся), но я не профессиональный сеошник, чтобы сильно вникать. В целом, вся информация в сети есть.Собственно, рельсы мне дали возможность большую часть этого оавтоматизировать + контролировать все и вся, ибо самопис.Для блогов/шмогов ничего не подскажу - никогда не занимался. Полагаю, все то же самое, в целом, кроме манипуляций с выдачей.
>>1519226А, да, ЧПУ для урлов забыл. Готовые решения не используй, это легко пишется самостоятельно.Например:routes.rb get ':category_seo_name/:product_seo_name', to: 'products#show', as: :productproducts_controller.rb def show if params[:product_seo_name] && params[:category_seo_name] @product = Product.find_by(seo_name: params[:product_seo_name]) @category = @product.category end end
>>1505729 (OP)А руби действительно не умирает что ли?Зачем он нжуен вообще. По размеру экосистемы сильно уступает питону, по производительности интепритатора просто сосёт у жс (V8). На реальных задачах, где важно ещё IO - тоже днище, ни грин тредов, ни крутой асинхронщины. По мощности и монструозности фреймворков какой-нибудь Spring куда обширнее и сбольшим количеством интеграций. Сириуслуи нахуя нужен руби?
>>1519291тоже самое можно сказать и про пистон (но вообще субъективщина, кому-то и ML-языки кажутся удобными)
>>1519295Пистон не является языком одного фреймворка мимо ябусь с ебенячей асинхронщиной и дата процессингом
>>1519302Да, много блокировок io, т.к. работа со сторонними апи, запросами в бд, тот же фауст и прочая залупа
>>1519302Асинхрощины во мне дохуя, рубист стоит передо мной и рельсы свои дрочит, я говорю: "Старина, съеби нахуй". Даю ему корутины и все: "Забирай и проваливай"Паша Питонист
Есть задача распарсить цены на товары в магазине.Все товары находятся на одной странице, но отображается лишь часть и остальные подгружаются по нажатию кнопки.Мой вопрос заключается только в том, как загрузить страницу сразу со всеми товарами?
>>1519822Разобрался сам. На самом деле там есть страницы и они грузятся отдельно. Надо просто перебирать их до первого редиректа.
>>1519950А, ну тогда зря я по SEO расписывал - тут только бэклинки, имейл-маркетинг, оффлайн-продвижение, в зависимости от того, что за товар/услуга.
>>1520027>>1520036Долгая история почему на рельсах.Если бы знал сразу, что будет одностраничник, наклепал бы на реакте в один компонент. нетНо по сложившимся обстоятельствам выбор пал на рельсы. >>1520037Не зря. Мне seo был интересен для общей картины, а не для данного сайта.
Поцаны думаю вкатиться а точнее перекатиться на руби, какие подводные?За бугор смогу срулить с руби? Как по заказам и аутсорсу на руби? В рф ясно что почти нету руби.
>>1520101В основном конечно США, но в у нас руби тоже весьма популярен, думаю по популярности стоит после США/Японии.
>>1520138Кто и почему думает, что на руби рельсах существуют только легаси прожекты?Это утверждение тех, кто не работал руби-разработчиком, я так понимаю?мимо-рельсо-макака
>>1520138Да легаси это 80 процентов рынка если не больше в любом языке. Только в стартапах пилят какие то с нуля штуки.>>1520175На ру сегмент работаешь или на забугорных господ?Стоит вообще вкатываться туда? Рельсы немного мне напоминают питон с их джангами.
>>1520198>На ру сегмент работаешь или на забугорных господ?На забугор из России. Рельсы у них ценятся лучше, чем у нас. И заказов для ру-девелопера больше, по понятным ценовым причинам.>Стоит вообще вкатываться туда?Если тебе подходит по душе стек, то вкатывайся, на руби приятно писать код. Зарплаты нормальные есть. ну смотря куда попадешь
Есть страница https://www.petsonic.com/vetnova-glyco-flex-lll-snacks-para-perro.htmlВ ней надо достать текст с radiobutton'ов. Делаю так:html.xpath("//fieldset/div/ul/li").each do |item| puts item.xpath("//label/span").first.contentendНо мне трижды возвращает текст первой кнопки (30 Comprimidos). ЧЯДНТ?
>>1520736jQuery не подойдет тебе? Что-то вроде этого>Array.from($('.radio_label').map( (item) => $('.radio_label')[item].textContent ))Вернет массив с текстами радио.
Короче, я понял что проблема не совсем в том, что возвращаются не те значения, а в том, что я неправильно их ищу. Приfile.xpath('//fieldset/div/ul/li/label').each do |item|puts item.contentendвыводится весь контент (название и цена) корректно, без повторов.Но тогда остается вопрос, как достать не весь контент, а c каждого span'a по отдельности.
>>1505729 (OP)Сап, антуаны!Помогите понять, пожалуйста. Задача не очень кодерская, но слишком завязана на руби и его особенности.Поставил Редмайн, хочу учтановить на него плагин, выполняю команду, как описано в мане (https://framagit.org/infopiiaf/redhopper)root@server:/opt/redmine-4.0.5-0/apps/redmine/htdocs# RAILS_ENV=production ./bin/bundle exec rake redmine:plugins:migrate NAME=redhopperПолучаю ошибку:Could not find gem 'acts_as_list (~> 0.9.17)' in any of the gem sources listed in your Gemfile.Run `bundle install` to install missing gems.Вроде, по человечески написано, делаю (оно не рекомендует делаться от рута, но иначе ругается на дефицит прав):root@server:/opt/redmine-4.0.5-0/apps/redmine/htdocs# ./bin/bundle installмноготекста, затем Installing nokogiri 1.10.4 with native extensionsGem::Ext::BuildError: ERROR: Failed to build gem native extension.ещё многотекстаTo see why this extension failed to compile, please check the mkmf.log which can be found here: /var/lib/gems/2.5.0/extensions/x86_64-linux/2.5.0/nokogiri-1.10.4/mkmf.logextconf failed, exit code 1В этом "логе" какая-то ересь:"gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/ruby2.5-TeLQY5/ruby2.5-2.5.5=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC conftest.c -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -lruby-2.5 -lpthread -lgmp -ldl -lcrypt -lm -lc "checked program was:/ begin /1: #include "ruby.h"2:3: int main(int argc, char argv)4: {5: return 0;6: }/ end /Всё, на этом месте я сломался. Спасите, пожалуйста.
>>1521085ну тут очевидно нокогири просит установить либу которая на сишке написана, а она сбилдиться не может вероятно из-за того что какие-то пакеты не устанволеныпопробуй sudo apt-get install libpng-devsudo apt-get install --reinstall zlibc zlib1g zlib1g-dev
>>1521093>sudo apt-get install libpng-dev>sudo apt-get install --reinstall zlibc zlib1g zlib1g-devНе помогло.>>1521090>Гугли как поставить acts_as_list в руби Нашёл это:/opt/redmine-4.0.5-0/ruby/bin/gem install acts_as_list --source 'https://rubygems.org/'Но на сервере ограничения на работу с сетью вернее от не доверяет сертификату на проксе, но с этим я, наверное, возиться буду ещё дольше. Пытаюсь понять, как сделать это локально и что и откуда для этого надо скачать.
>>1521090>>1521128Как раз этим занимался.Кажется, не работает. Я ХЗ:root@server:/opt/redmine-4.0.5-0/apps/redmine/htdocs# gem install ~/acts_as_list-1.0.0.gemSuccessfully installed acts_as_list-1.0.0Parsing documentation for acts_as_list-1.0.0Done installing documentation for acts_as_list after 0 seconds1 gem installedroot@server:/opt/redmine-4.0.5-0/apps/redmine/htdocs# RAILS_ENV=production ./bin/bundle exec rake redmine:plugins:migrate NAME=redhopperCould not find gem 'acts_as_list (~> 0.9.17)' in any of the gem sources listed in your Gemfile.Run `bundle install` to install missing gems.root@server:/opt/redmine-4.0.5-0/apps/redmine/htdocs# gem install ~/acts_as_list-1.0.0.gem Successfully installed acts_as_list-1.0.0Parsing documentation for acts_as_list-1.0.0Done installing documentation for acts_as_list after 0 seconds1 gem installedroot@server:/opt/redmine-4.0.5-0/apps/redmine/htdocs# RAILS_ENV=production ./bin/bundle exec rake redmine:plugins:migrate NAME=redhopperCould not find gem 'acts_as_list (~> 0.9.17)' in any of the gem sources listed in your Gemfile.Run `bundle install` to install missing gems.Если делать bundle install, то он опять спотыкается о нокогири:Fetching nokogiri 1.10.4Installing nokogiri 1.10.4 with native extensionsGem::Ext::BuildError: ERROR: Failed to build gem native extension....An error occurred while installing nokogiri (1.10.4), and Bundler cannot continue.Make sure that `gem install nokogiri -v '1.10.4' --source 'https://rubygems.org/'` succeeds before bundling.Ну и дальше по кругу.
>>1521174Я тут заметил...# grep "acts_as" /opt/redmine-4.0.5-0/apps/redmine/htdocs/Gemfileничего не говорит, а# grep "acts_as" /opt/redmine-4.0.5-0/apps/redmine/htdocs/plugins/redhopper/Gemfileговоритgem 'acts_as_list', '~> 0.9.17'Ещё по первому пути есть дополнительно файл "Gemfile.lock", а по второму - нет.Может это быть критично?
>>1521237acts_as_list тут не причем. У тебя nokogiri не собирается, он тебе об этом и пишет. Попробуй sudo apt-get install ruby-dev, судя по логу тебе именно его не хватает.
>>1521402>apt-get install ruby-devНаходил этот совет в интернетах и уже пробовал, ничего не изменилось.Видимо, у редмайна в сборке зашиты свои руби... Впрочем, даже если использовать bundle из системы, где стоит в том числе ruby-dev, то падает точно так же.
>>1524065как то такdef _store_accessors_module if @_store_accessors_module == nil mod = Module.new include mod mod else @_store_accessors_module end end
>>1523856на html что-то хуячить - это так себе идеялучше руби-врапперы для этого юзать и не ебать себе мозги//рубист с 4летним опытом
>>1519290у руби своя ниша - быстро писать аппликухи под не очень высокую нагрузку. кроме рор там ничего нет (и не надо, лол)джава со спрингом быстрее, но смысл с ними трахаться и тратать время, если ты даже не знаешь, взлетит ли твоя идея.мне кажется что в целом все идет к тому, что есть чистый фронт (на каком-нибудь реакте или вьюжс) и бекенд на rest-e (похуй что)// мимо жава-макака
РЕПОСТНУ СЮДА ПОЖАЛУЙ Ruby meetup #11 пройдет в Москве 28 ноябряПриглашаем вас на уже традиционную встречу рубистов и к ним стремящихся, которая пройдет в Rambler 28 ноября 2019 года. Обсудим, что происходит в Ruby в текущий момент, угостим всех пиццейМитап бесплатный, предварительная регистрация обязательна: https://railsclub.timepad.ru/event/1109233/Начало: 19.00.Организаторы: EvroneЛокация: Rambler Group - Варшавское шоссе, д.9, стр 1, Даниловская мануфактура, ряды солдатенкова, подъезд 5.
>>1505729 (OP)Как для rails app определить, сколько нужно кластеров application puma сервера, тредов, воркеров? Сколько connectiohns к БД? Как это мапиться физически (сколько нужно) на железно, ядра и треды процессора?
>>1530823Ясен хрен! А теперь проверь FPS здесь на условном 2.3 и 2.7https://github.com/mame/optcarrothttps://www.downloadroms.io/roms/nintendo/https://github.com/colby-swandale/waterfoulhttps://www.downloadroms.io/roms/gameboy/
Здарова, бандиты! Проконсультируйте по циферкам, пожалуйста. Тружусь рубистом в мухосрани, пришол на галеру с пыхобэкграундом 1 год как джун на зпху 60 кесов, и вот я хуй его знает, норм ли это зп, что просить после испыталки? Скока примерно рейт у рубиста в замкадье? Тасочки закрываю самостоятельно, без надзора и контроля.
>>1531043Хз, все зависит от резюме.Кажись у тебя норм ЗПшка.У нас стажеры получают 0-20, джуны 20 - 50, мидлы - 50 - 90, синьоры 90-120.Гавноконтрорам нет смысла в крутых разрабах и повышении квалификации - им достаточно иметь пачку джунов, еще столько же мидлов и 1-2 синьора без амбиций, ибо размеры проектов диктуют.
смотрел сравнение эни кабла с другими системами,там он неплохо держит 20к холостых клиентов.а если эти 20к начнут что то слать на обработку,рельсы наебнуться?
Ньюфаг в треде.Нужно ваше разъяснение.На пикче программа аля рулетка, и я только начал изучать хэши. И никак не могу понять, как так получается, что в первом случае, при if, hh[a] берётся ключ, к примеру 111, а во втором случае hh[a] уже берётся значение 10?
>>1535447Ну не знаю, у тебя вообще почти всегда будет nil в hh[a]. rand(111..555) супер редко будет попадать на твои ключи хеша
>>1535492Да это то я знаю.Вот, попытался на пикче объяснить.Почему первый hh[a] принимает значение key (111), а второй hh[a] принимает значение value (10), а не два раза принимает 111, к примеру?Всё работает правильно, но я не понимаю почему это работает именно так.
>>1535502Книжку пробовал открывать вообще? hh[a] твое в любом случае интерпретируется именно как значение. А запись if hh[a] говорит о том, что значение выражения под ифом конвертируется в булеан и проверяется на истинность.
>>1535621>Все скриптовые ускоряются по немногу,а рубен как старый дед кряхтит У тебя проблемы развести заказчика на более дорогой тариф из облака?
>>1535621Он дохлый уже, а один из разработчиков взял и запилил Elixir, который тоже медленный как числодробилка, но охуеть какой быстрый как язык для хайлоад конкаррент / дистрибьютед систем.
Приветствую всех этом чатике, есть вопрос по организации работы сервисадано: рейлс, сайдкик, редис, еще одна программа на рубицель: отправить программе задачу из рейлс, выполнить действие программы, передать в рейлс результаты (задача может выполняться часами, рельса должна отображать состояние задачи)какое я вижу решение: рейлс и программа висят на одном канале в редис, рейлс публикует задачу, программа отчитывается о состоянии в процессе и публикует результат по окончанию работы. Однако, мне не понятно, как подписать рейлс на события? Возможно ли такое сделать средствами сайдкик, стартовать джоб с пришедшими данными? Как вообще решаются подобные задачи?
>>1536028Есть два стула. Либо сделать программу частью рельсового приложения (вынести в какой-то сервис, я хз, че там у тебя вообще за программа). Либо сделать это рубишное приложение чем-то типо rack приложения, в которое ты стучишься из рельсы и получаешь ответ.
>>1536028>Однако, мне не понятно, как подписать рейлс на события?Просто посылай HTTP запрос в рельсы из своей программы с названием канала в параметрах. Вообще, если инстансов программы одновременно будет запускаться немного, то можно ее в отдельном треде в рельсовом приложение запустить.
>>1536246программа работает с железом, которое висит на ком-портах, я хочу запускать инстанс на каждую железку, в том числе иметь возможность подключить удаленно, например, поднять инстанс на ноутбуке, чтобы он регистрировался в рейлс-приложении.на сервере думаю сделать отдельный воркер, который будет стартовать рейк таск с эвент машиной и слушать каналы, раскидывая джобы в сайдкик по событиям.по-сути нужен просто надежный меседж брокер, который обслужит шину передачи данных, непонятно пока, подходит ли редис для этого.
>>1530338Короче я загуглил. Если кому интересно, вот что я выяснил.Говоря про пуму (puma) и однопоточный сишный руби (MRI), то количество воркеров = количество тредов процессора с учетом гипертрединга (hyper threading). Это связано с тем, что однопоточный руби внезапно однопоточен, полностю thread-safe.Каждый кластер или каждый воркер будет выступать в качестве форка (подпроцесса) системного виртуального ядра и будет работать в рамках этого ядра.То бишь 8 ядерный 16 поточный ксенон = 16 воркеров ака кластеризированная пума (puma workers, web concurency, clusters).Эта конфигурация даст кластер из 16 однопоточных приложений.Каждый воркер независимо от других принимает реквесты от веба, в нашем примере 16 одновременных соединений.Не очень много, но тут на помощь приходят треды пумы (puma threads). У одного пума воркера может быть много тредов, по дефолту 1 воркер = 16 тредов. Каждый воркер внутри себя распределяет полученные реквесты по этим самым тредам, при этом в рамках своей однопоточной работы может переключать процесс выполнения пума тредов для оптимизации, например если какой-то пума тред ждет ответа на чтение/запись в бд, то пума передаст управление другому, который ждет просчета на ресурсах процессора прямо сейчас.Все это безобразия, судя по всему, хорошо работает в случаях с задержками I/O и не очень в случае с ЦП зависимыми приложениями - там не получиться просто передавать управление от медленных I/OПомимо этого есть еще пулл соединений к базе данных (pool connections).Так как все воркеры пумы, или ее кластеры, независимы, то и пул соединений у каждой из них свой, независимый.Конфигурация выставляется как "пул соединений с БД на один воркер" = "количество тредов в воркере".В нашем случае - 16.Итого получается 16 воркеров по 16 тредов = 256 кластеризированных тредов и соответственно 256 соединений к БД.То есть мы готовы одновременно принимать 256 реквестов с веба.Но это в теории. С одной стороны часть этих реквестов уйдет с помощью nginx на статику и даже не затронет rails, с другой есть еще бэкграунд джобы и прочие операции, которые также кушают ресурсы.Соединения к БД можно утилизировать с помощью дополнительной прослойки к базе данных - балансировщик, например pg-bouncer.Тогда весь пул будет держать именно он, а воркеры будут обращаться к нему за соединениями для своих тредов. Это уменьшит количество простаивающих в холостую соединений и сэкономит память.Из минусов - приложение лишиться ряда плюшек СУБД, например в pg-bouncer потеряются параметризированные подготовленные выражения aka prepared staements (.where('user.name = :name', name: my_name_var)), рекомендательный блокировки aka advirsory lock и что-то там еще.
>>1537155>потеряются параметризированные подготовленные выражения aka prepared staements (.where('user.name = :name', name: my_name_var))Prepared statements это другое (https://www.postgresql.org/docs/current/sql-prepare.html), where который ты написал работает и с pgbouncer.
Посоветуйте книгу по руби, желательно на русском, ангельский у меня только в процессе изучения и книги пока тяжело на нём даются.
>>1537797>>1537799Ну вот для тебя специально на русском туториал:https://ruby.github.io/TryRuby/пройди его для начала. Когда пройдёшь может и найдём тебе книгу по руби/рельсам НА РУССКОМ лол бля серьёзно в 2k20 просто ебануться
>>1537319Я понял о чем речь, спасибо большое.https://postgrespro.ru/docs/postgrespro/9.5/sql-prepare>Подготовленные операторы могут принимать параметры — значения, которые подставляются в оператор, когда он собственно выполняется. При создании подготовленного оператора к этим параметрам можно обращаться по порядковому номеру, используя запись $1, $2 и т. д. Дополнительно можно указать список соответствующих типов данных параметров. Если тип данных параметра не указан или объявлен как unknown (неизвестный), тип выводится из контекста, в котором этот параметр используется впервые (если это возможно). При выполнении оператора фактические значения параметров передаются команде EXECUTE. За подробностями обратитесь к EXECUTE.
>>1537961Первым языком в руби для самостоятельного изучения? Ну такое. Если стажером на галеру на стабильную маленькую зарплату и гарантированный рост - еще можно, а так... лучше ух пыху подергать, там хоть работы побольше
>>1507255 >>1507262 >>1507897 >>1507928 >>1507998 >>1508159>>1509033 >>1518477 >>1519290 >>1520101 >>1520117 >>1520138>>1520175 >>1520181 >>1520198 >>1520237 >>1520654 >>1531043>>1531094 >>1536097 >>1536136 >>1536174 >>1536340 >>1538737ПОЛОЖНЯК ПО РУБИ И РЕЛЬСАМ НА КОНЕЦ 20191. В Москве руби-вакансий БОЛЬШЕ, ЧЕМ КОГДА БЫ ТО НИ БЫЛО2. Платят БОЛЬШЕ, ЧЕМ КОГДА БЫ ТО НИ БЫЛО3. В LinkedIn на РЕМОУТ предложений летит БОЛЬШЕ, ЧЕМ КОГДА БЫ ТО НИ БЫЛО (компании из США/Европы/Азии и даже есть Бангладеш и Африка) платят обычно $4-6,5k в месяц, похуй какая часть мира4. В LinkedIn на РЕЛОКЕЙТ (в основном Германия/Польша/Скандинавия) предложений летит БОЛЬШЕ, ЧЕМ КОГДА БЫ ТО НИ БЫЛО5. Рублёвые зарплаты в Москве не меньше чем на Java вообще в целом, что из Java в руби перекатываются, что из руби в Java6. Никакой ПОДДЕРЖКИ ЛЕГАСИ ПРОЕКТОВ НА ПЛАВУ, в основном СТАРТАПЫ и НОВЫЕ ФИЧИ ПАЧКАМИ БЫСТРЕЕ БЫСТРЕЕ В ПРОД7. Московская конференция Ruby Russia собирает народу БОЛЬШЕ, ЧЕМ КОГДА БЫ ТО НИ БЫЛО и в Питере тож оживилась Питерская конфа.>Рынок RoR в Москве после крысиса так и не оправилсяЧто это за ПИЗДЁЖ?>(источник: я работал в самой большой Ruby команде в городе)Это в какой? АТ-консалтинг? ПрогрессСофт? Лига Цифровой Экономики? Evrone? Rambler? в разное время разные Ruby-команды были самыми большимиисточник: мой опыт и опыт знакомыхмимо долларовый удалёнщик $5,5k в месяц после налогов, ≈5 лет опыта работы на руби
>>1537881Нет, все верно расписал. Я бы только добавил, что 16 тредов на воркер это по-моему опыту дохуя, если у тебя не одни запросы к базе делаются, обычно 5-8 тредов достаточно.
>>1538824Только зачем нужны ссаные рельсы, если есть охуенный эликсир с не менее охуенными экто и пениксом? Лучшего экспириенса с языком у меня за весь опыт работы еще не было, а уж от его модульности, производительности и ненагруженности концепциями любая рельсошлюха будет течь как водопад уже через неделю работы. Думаю через полгодика мой основной рельсопроект будет полностью на нем и в освободившееся время можно будет пойти нести свет еще не прозревшим рельсоблядям.
>>1538892>Лучшего экспириенса с языкомСразу видно человека, не познавшего кложу.А чо по эликсиру? Я знаю руби, но рельс не знаю, но знаю джанго. Рекомендуешь сразу вкатываться в эликсир?
>>1538948Кложа у меня следующая в очереди на изучение, я знаю, что она тоже охуенная, но руки пока не доходят.>Рекомендуешь сразу вкатываться в эликсир? Если тебе нужна работа джуна чтобы вот прям выучил и пошел на галеру, то не рекомендую, лучше любой мейнстрим язык/фреймворк. Но если уже есть несколько лет программистского бэкграунда и можешь себе позволить месяц-другой поизучать новый стек, то разумеется.
>>1539427Вообще все так. Матц и компания слишком консервативны (хули еще ждать от японцев), но иногда на Матца видимо накатывает и он начинает мерджить рандомные фичи в язык.
>>1539601А зачем вообще пытаться сделать из говна конфетку запилить функциональщину в руби, если уже есть эликсир? Я в упор не понимаю этой логики, в итоге вместо нормального старого руби и нормального нового эликсира будет эликсир и его франкейнштейновского вида подобие. Нахуя?
>>1539601> начинает мерджить рандомные фичи в языкэто примерно как острую боль запить аналгином,а не понять причину
не задумывался что происходит в скриптах типа:blah.rb:def blah; endкуда крепятся определения?я высмеивал жабу за все то дерьмо в которое нужно завернуть print "hello". но с руби тоже самое.blah.rb:def blah; end1.blah => nilт.е. простые скриптики не очень то писать, нужно оборачивать в какой-то метод/модуль.
>>1539816дело в том, что метод blah добавится к Object от которого наследуют все остальные. вот это не очень. к примеру, если где-то:if obj.respond_to?(:blah) .. do_smthend
Щито делать если потерял интерес к rails, а может вообще к макакингку?До этого делал для себя проекты и немного макакил на фрилансе в течении нескольких лет.Потом вкатился в депрессию и ничего не делал год+-, потом меня потянуло на эликсир и я делал задания из книги с большим интересом.Сейчас опять год ничего не делал. Начал повторять ruby/rails и как-только начинаю во что-то вникать, то какое-то сильное ощущение грусти и тяжести в груди.Хотел устроиться на галеру, но теперь у меня еще и неуверенность. И вообще кажется что нужно деградировать до qaИли это депрессия и все же придется пить колеса?А может мне запостить это в тред депрессии? :(
>>1540634Ну так переставай макакить, открой для себя TDD и становись нормальным программистом понемногу.
Аноны, есть один проект на рельсах.Давно уже крутится на хироку, все было хорошо. Но тут прилeтает фидбэк от пользователя, что при попытке загрузки на сайт трека проект с музыкой связан ему выбило на экран 'An unhandled lowlevel error occurred.' В логах посмотреть не могу, потому что на хироку лимит 1500 строк, а увидел сообщение не сразу. Вручную воспроизвести проблему не удалось. Куда смотреть? Что делать? Не хочется, чтобы ошибка повторилась. в гугле говорят, что это может быть из-за неправильной установки secret keys, но до этого все работало и сейчас никто не менял ключи
>>1543371Это не точно, но возможно ошибка появилась во время дэйли рестарта дино. Может ли быть из-за этого?
>>1538824че за пиздеж? я в САМОЙ БОЛЬШОЙ РУБИ КОМАНДЕ сижу в офисе и поддерживаю легаси за три МРОТа в месяц.Руби мертвый язык, жалею что не учил джангу.
>>1543557я в САМОЙ БОЛЬШОЙ ДЖАНГО КОМАНДЕ сижу на Бали и запиливаю новые фичи за три тарелки риса в месяц.Джанго мертвый язык, жалею что не учил кобол
>>1549535Нет, чтобы вкатится надо сначала стать мидлом/сеньёром на другом стеке (PHP/Python/C/C++/JS + алгоритмы/паттерны и 3 года опыта), потом уже руби/рейлс.Джунов на руби не существует в реальных условиях.Все истории успеха это исключение из правила.Можете в фак добавить.Спасибо за внимание.
>>1549626Сейчас да, но 5 лет назад например я вкатился через Руби. И тогда много стартапов было еще на нем, как раз джуно-мидлов и набирали. Просто на Руби намного выше порог входа чем во многой другой вебни, вот и всё. Нужно подаваться в конторые разрабатывающие на Руби.У нас в Таллинне не хватает рубистов и эликсирщиков, только хрен где их найдешь.Поэтому все в руках вкатывальщиков. Но бесспорно, в 10 раз проще это JS и фронт.
>>1549899фронт это насколько огромный стек технологий и языков, который еще и раздувают из года в год, что это только со стороны кажется учи жс и усё будет, там помимо жс поплывешь в этом море говна да и очень подвержен моде, все "устаревает" за пару лет, если крестовик он и 10 лет назад крестовик, то на фронте как сраные макаки из крайности в крайность.врот энд это ад, не лезь дебил, оно тебя сожрет.
>>1549626Это полный пиздежь. Есть куча галер, куда берут СТАЖЕРОВ и обучают до джунов. Все что ты сказал применительно к Еликсиру, но не к рубям
>>1549935ФРонт енд это боль, но там самый минимальный порог входа - по крайне мере по моему опыту - я говорю о совсем нубах уровня закончил универ/решил сменить профессию сварщика. Для бэкенда нужен больший, именно для вкатывания, бэкграунд. При этом у миддлов/сеньеров конечно свои сложности не меньшие, чем у аналогичных позиций в бекенде.
>>1549899>У нас в Таллинне не хватает рубистов и эликсирщиковХм, если бы я не занимался мобилой, не сомненно бы на рубях сидел.А так, даже впадлу делать свои идеи на рельсах, ибо просто хочется делать pip install и не беспокоится обо всем.
>>1549935Это только кажется что стек огромный, на деле если понимаешь о чем речь все инструменты нужны, важны и не так уж и сложны.На фронте легчайший порог входа, начать можно с банального хтмл стилей и уже что-то да будет.
>>1550651Правда где-то по серединетяжело найти стажировку на РоР в замкадьено если ты в ДС/ДС2/ДС3 то можешь за еду и опыт погрести в регионах почти полная монополия макак на пхп/1с, лично я стажировался джавистом, считаю очень повезломимо фриланс-бомж на плавающем стеке
>>1524065Метод _store_accessors_module - аксессор какой-то штуки. Штука эта - модуль. Если этот модуль не инициализирован до первого вызова аксессора, аксессор его инициализирует. Элементарно же, сука.
>>1551605вангую будут версии 2.8 2.9 и потом может 3.0но к тому времени поезд окончательно уйдетон и так ушел,теперь только догонять
>>1551734Так обещали же анонс 3.0 в декабре (еще в августе, лол)? Или там рил могут так наебать и выпустить 2.0?
>>1551734Да будет версия 3.0, только скорее всего там не будет масштабных изменений и чего-то что вернет Руби популярность.>>1550651Скорее второй, но нужно понимать что сейчас в Руби действительно сложнее вкатиться джуном, чем допустим 5 лет назад. Все зависит от тебя и куда ты идти работать хочешь. В ДС/ДС2 проблем быть не должно в принципе с любым языком и стеком.
>>1552326Откуда уверенность что не будет обещанного? Или в руби такой наеб это норм?? Я просто не пойму никак.
>>1552326>>1551734Основная цель Ruby 3x3 это увеличение производительности в 3 раза по сравнению с 1.9/2/2.1.Большое изменение которое в итоге ожидается это полноценный JIT, и родная асинхронность.И по всем направлениям работа идёт.Это всё не значит, что руби станет популярнее, но ускорение интерпретатора поможет ему сохранить популярность (экосистема гемов тут тоже играет свою роль).>>1552338За руби нет таких третьих рейхов как гугл, только сейлсфорс и немного другой мелочи. А так по совмести при смене версий руби всегда приятно удивлял, в некоторых аспектах лучше питона 2->3.
>>1552395>х лучше питона 2->3а следует все перепилить,а то тащит старое говно.которое тяжело улучшить
>>1552429Новое говно, даже с запахом ромашек, будет никому не нужно.Имхо всегда лучше пилить новый язык.
>>1551095А зачем дергать аксессор до инициализации? Ну, в каких кейсах такое происходит? правда понять пытаюсь, другой анон
>>1553580>Ну, в каких кейсах такое происходит?Например, у тебя есть класс, который отражает состояние какой-то директории на диске, процедура чтения с диска занимает время, директорий может быть много, читать диск при каждой инициализации класса - повесить программу на неопределенное время, и не факт, что эта информация вообще понадобится, по этому инициализируем состояние каталога по вызову метода, кладем результат в переменную класса, по дальнейшему вызову уже не дрочим диск а просто отдаем результат переменной.
>>1553607Скучно. Typescript и фронтэнд это путь в будущее, а не Руби. Хоть он и мой любимый и первый по сути язык программирования, но надо признать что кина не будет...
>>1553731>фронтэнд это путь в будущееВесь твой фронтенд уже сейчас сводится к подключению бутстрап-либы и конфигу с биндингами к апи, в будущем всю эту визуальную мишуру еще больше автоматизируют и формошлепов-фронтендеров заменит простенький деплой скрипт, серъезная же бизнес-логика на клиент-сайд не уйдет никогда, опять же, такие задачи как доменная модель, архитекрура приложения, интеграция приложения в какие-то существующие экосистемы и бизнес процессы на фронте впринципе не должны решаться.
>>1553879Как раз наоборот, апишка должна строится от UI компонентов, и вся разработка быть фронтенд-дривен. Бекенд, кстати, на 90% занимается дублированием фронта и чаще всего нахуй не нужен, достаточно базы в клауде и сервиса авторизации. В принципе, переход на GraphQL - это шаг в эту сторону.
>>1553981если у тебя есть возможность строить модель предметной области от гуя, то я даже хз, что это за задачи такие - буклетик, бложик?
>>1554000Нет, healthcare приложение, разрабатываемое уже 3+ лет с 3 фронтендерами и 3 бекендщиками. Как почти и любое другое приложение. Вот как бекендщик строит апишку? Правильно, открывает макеты и смотрит формочки. Ну и база так же моделируется: например, если в ревью можно выбрать что-то одно и обязательно - новая колонка, если опционально -может быть новая таблица и 1к1, а если там пачка всего - то 1 ко многим, а если сразу на разные сущности с одно скрина - то много ко многим. Ну и в целом набор колонок определяется, хоть и не полностью, набором инпутов в формах, их типом и тем, к чему они относятся.
>>1554029>healthcare приложение, разрабатываемое уже 3+ лет с 3 фронтендерамився суть разработки от фронтенда
>>1554530"почему руби такой непопулярный""есть ли будущее у руби""почему они смеются над символом скобок, когда сами пишут целые слова""как приготовить смузи на рубях""нужна ли нормальная кроссплатформенность"
>>1554962>>1554951>>1554949Это прикольная херня когда теб енужно прогрессбар сделать, который будет точно процентики показывать и вообще сообщать о своей активности.yeild можно внутри метода внутри цикла поместить и будет типа отзывчиво.На простых 2-3 строчных примерах этого просто не показать.
>>1536468Таки сделал эту хуйню.Пришлось подключать RabbitMQ и гем Hutch, Хач сам умеет подгружать рейлс приложение, достаточно создать консьюмер и стартануть воркер, в консьюмере описывается канал, который будет слушать хач и отдавать выполнение консьюмеру по приходу сообщения в этот канал.На клиенте тоже самое. Сервер публикует задачи в канал киентов, клиенты публикуют результат в канал сервера, в итоге имеем event-driven microservice rails application, очень интересная фича, как мне кажется.
>>1555149Ты интуитивно понял то можно заменять do..end фигурными скобками? Ты, блять, долбаный гений! Это, блять, блоки. Об этом идет речь на первых же страницах любого учебника.
>>1555440[1, 2, 3] - массив[1, 2, 3].each - перебираем элементы массива[1, 2, 3].each do - соответствующий цикл[1, 2, 3].each do |n| - цикл, в котором перебираем элементы массива [1, 2, 3], где |n| - каждый элемент массива для соответствующего прохода цикла.т.о. в первой итерации .each n принимает значение первого элемента массива [1, 2, 3][0], т.е. 1. во второй - 2 и т.д.тебе точно нужно в кодинг? это самые тупые азы, которые еще в школе на вижуал бейсик/турбо паскале/что там сейчас дают.
The Well-Grounded Rubyist могу посмоветовать, третье издание было в марте, свежее считай.Metaprogramming Ruby - отличная книга, следущая ступень, раскрывает сильные стороны языка, после которой точно не станешь писать глупости типа >>1555638
>>1555799>для таких как тыЯ другой анон. А вот из-за этих вот>С картинками и квизамиИ не могу читать эти говнокниги. Как будто для детей или инфантилов пишут, которые не могут как нормальные люди информацию воспринимать.
>>1555859чето против инфантилов имеешь? раз на раз го выйдем, говно блять комнатноеhttps://poignant.guide/book/chapter-1.html - лучшая книга по руби
>>1556143Руби можно выучить и по старой книге матца.Только это не заменит целый ворох других знаний необходимых программисту.Программирование это сложно и лёгким оно быть не может (иначе в прошлом году заменили бы неиронками большую часть погромистов).
>>1556148>Программирование это сложно и лёгким оно быть не может (иначе в прошлом году заменили бы неиронками большую часть погромистов).Это говорит лишь о том, что нейронки на данном этапе своего развития все ещё говно. Мейнстримовое программирование - обычный интеллектуальный труд с пониженной творческой составляющей, вроде перекладывания бумажек в офисе. Обучить ему можно любого вчерашнего таксиста/курьера за несколько месяцев.
>>1505818 >>1505993 >>1507677 >>1507723 >>1509011 >>1509033>>1509245 >>1509258 >>1518477 >>1519290 >>1519299 >>1519326>>1526384 >>1530761 >>1535621 >>1535683 >>1535686 >>1536136>>1538892 >>1554580 >>1539696 >>1554861 >>1555638Вот тут @dhh пояснил про весь этот дроч на супербыстрые байтоёбские языки с асинхронностью/многопоточностью/гринтредами/залупатредами и экономию на дата-центрах (в двух словах хуй чего вы сэкономите на таких масштабах как Basecamp на своих новых стильных технологиях):>We spend about $3 million every year to run all the versions of Basecamp and our legacy applications. That spend is spread across several on-premise data centers and cloud operations. It does not include the budget for our 7-person strong operations team, this is just the cost of connectivity, machines, power, and such.>There’s a lot of spend in that bucket. The biggest line item is the million dollars per year we spend storing 4.5 petabyte worth of files. We used to store these files ourselves, across three physical data centers for redundancy and availability, but the final math and operational hassle didn’t pan out. So now we’re just on S3 with a multi-region redundancy setup.>After that, it’s really a big mixed bag. We spend a lot of money on databases, which all run on MySQL. There’s ElasticSearch clusters that power our search. A swarm of Redis servers providing caching. There’s a Kafka pipeline and a Big Query backend for analytics. We have our own direct network connections between the data centers and the cloud.>Everything I’ve talked about so far is infrastructure we’d run and pay for regardless of our programming language or web framework. Whether we run on Python, PHP, Rust, Go, C++, or whatever, we’d still need databases, we’d still need search, we’d still need to store files.>So let’s talk about what we spend on our programming language and web framework. It’s about 15%. That’s the price for all our app and job servers. The machines that actually run Ruby on Rails. So against a $3 million budget, it’s about $450,000. That’s it.>Let’s imagine that there was some amazing technology that would let us do everything we’re doing with Ruby on Rails, but it was TWICE AS FAST! That would save us about ~$225,000 per year. We spend more money than that on the Xmas gift we give employees at Basecamp every year. And that’s if you could truly go twice as fast, and thus require half the machines, which is not an easy thing to do, despite what microbenchmarks might delude you into thinking.>Now imagine we found a true silver bullet. One where the compute spend could be reduced by an order of magnitude. So we’d save about $400,000/year, reducing everything we spend running our app and job servers to an unrealistically low $45,000/year. That reduction wouldn’t even pay for two developers at our average all-in cost at Basecamp!>Now let’s consider the cost of those savings. We spend more money on the 15-strong developer team at Basecamp than our entire operations budget! If we make that team just 15% less productive, it’ll cost us more than everything we spend to run Ruby and Rails at Basecamp!>Working with Ruby and Rails is a luxury, yes. Not every company pay their developers as well as we do at Basecamp, so maybe the rates would look a little different there. Maybe some companies are far more compute intensive to run their apps. But for most SaaS companies, they’re in exactly the same ballpark as we are. The slice of the total operations budget spent running the programming language and web framework that powers the app is a small minority of the overall cost.>For a company like Basecamp, you’d be mad to make your choice of programming language and web framework on anything but a determination of what’ll make your programmers the most motivated, happy, and productive. Whatever the cost, it’s worth it. It’s worth it on a pure cost/benefit, but, more importantly, it’s worth it in terms of human happiness and potential.>This is why we run Ruby. This is why we run Rails. It’s a complete bargain.https://m.signalvnoise.com/only-15-of-the-basecamp-operations-budget-is-spent-on-ruby/
>>1556796Да. Жалко что на руби слишком мало специфичных АПИ, opposite в питоне придостаточных.А писать кастомные парсеры, даже не с АПИ а скрабинг хтлма, так влом.Но рельсы я поддерживаю. Душой.Пришлось писать на фласке свои хотелки.
>>1556838>на руби слишком мало специфичных АПИ, opposite в питоне придостаточныхЭто каких же? Хоть один пример? Даже для всяких tensorflow есть гемчик
>>1556898да взять тот же https://github.com/search?q=merriam+webster+pythonРуби & рельсы это только веб, к сожалению.Белые люди на питоне пишут. Но если бы я работал на беке, я бы взял рельсы офк.
>>1556749>Обучить ему можно любого вчерашнего таксиста/курьера за несколько месяцев.Кстати, забавно, но нет, нельзя обучить любого.У некоторых абстрактное мышление очень слабое.Простые конструкцие процедурного программирования любой освоит, но дальше будет распиздос за гранью добра и зла.
>>1557246А потом надстройки над процедурными конструкциями с помощью тех же процедурных конструкций. Что сложного в том же ООП: все есть объект или комбинация объектов. Достаточно следовать SOLID, знать какие-то распространёнными паттерны, прочитать пару книг Clean Code/Perfect Code/Refactoring/TDD и дальше просто наращивать опыт. Полиморфизм на сабтайпинге можно даже ребёнку обьяснить на простых примерах.
>>1557830Прочитать недостаточно, нужно ещё понять.А до этого написать кучку своих проектов/скриптов.Понять какие проблемы решает та или иная конструкция языка/паттерн.И сами эти книжки бесполезны без проектов средней величины.
>>1557830>прочитать пару книг Clean Code/Perfect Code/Refactoring/TDD и дальше просто наращивать опыт.Так можно сказать про очень много специальностей и профессий.
>>1557246>Кстати, забавно, но нет, нельзя обучить любого.>У некоторых абстрактное мышление очень слабое.Полная хуйня, любой человек со здоровым мозгом(без врожденных болезней/травм) может при желании научиться чему угодно, вообще без каких-либо исключений. "Слабое абстрактное мышление" это долбоебизм на уровне "математический склад ума".
>>1558457Ну значит травмированных много, чо.Любой может теорию относительности на коленке вывести.И прочие розовые сопли."Математический склад ума" это лишь попытка нормисов описать способности человека.
>>1558459Это реальность, а не сопли, дурачок. Не было ни одного научного исследования, которое бы подтверждало, что с рождения у одних людей есть предрасположенность к условной математике, а у других к условной истории, это так не работает. Абсолютно любой "гуманитарий" может научиться физике, программированию, математике. Как и любой программист может научиться рисованию, музыке, истории и прочему. Вопрос только в желании и времени. Нет хуже мрази, чем напыщенная хуета с религиозным мышлением типа тебя, говорящая ньюфагам, что они не смогут вкатиться, потому что боженька так порешал и родил их второсортными людьми.
>>1558472>Абсолютно любой "гуманитарий" может научиться физике, программированию, математике.Нет. Есть такая штука как интеллект (измеряется в IQ). Наследуется от родителей от 60 до 80%. Развить этот самый интеллект невозможно. Можно только приостановить "увядание", которое начнется ближе к 30 годам. Можешь поискать на ютубе - Jordan Peterson IQ.В армию США вообще не берут людей с IQ меньше 83.Именно из-за этого некоторые работают программистами 300кк в наносекунду в гуглах, а некоторые крутят гайки на заводах или водят трамвай всю жизнь.
>>1558615>Есть такая штука как интеллект (измеряется в IQ)Нет ни одного способа измерить так называемое айкью, который давал бы одинаковые результаты в течение жизни человека, в 5 лет, в 15, в 25, в 40(тот есть тот самый врожденный интеллект). А следовательно все последующие твои фантазии - антинаучная хуета. >Можно только приостановить "увядание", которое начнется ближе к 30 годамЕще более антинаучная хуета, мозг "увядать" начинает только в совсем поздних годах, и то обычно из-за болезней. Многие профессора прекрасно преподают и публично выступают до 80 лет, сохраняя ясный рассудок и имея кучу опыта за плечами.
>>1558737Честно скажи, ты дурачок? Я не отрицаю, что по улицам ходят умные и глупые люди, я просто пытаюсь донести простой факт, что потенциальная способность овладеть каким-либо скиллом у всех одинаковая, и что уровень владения данным скиллом зависит на 99% от усилий и времени, потраченных на его изучение, а не от каких-то рандомных врожденных факторов, которые никто так и не смог измерить нормально, но почему-то адепты складов ума в них верят, как когда-то верили в евгенику.
>>1558752>Я не отрицаю, что по улицам ходят умные и глупые людиОткуда они тогда вообще взялись эти глупые люди? Если, по-твоему, все стартую с идентичными характеристиками, что тогда помешало им овладеть на равне с умными?
>>1558778Пиздец тупой вопрос. Потому что они ходили в разные школы, выросли в разных семьях, имели разный уровень достатка, разное количество времени на учебу, вращались в разных социальных кругах и прочее прочее.
>>1558786...а так же разный уровень гормонов, разную активность отделов мозга, чувствительность к веществам, при высоком дофамине человек не усидит 12 часов за пекой, при низком серотонине не сфоркусирует внимание и уснет и так далее и тому подобное.
>>1558797>при высоком дофамине человек не усидит 12 часов>при низком серотонине не сфоркусирует внимание и уснетПолная хуйня, если нет врожденного заболевания, которое сильно влияет на гормональные уровни, то колебания гормонов в пределах нормы не имеют значения, в день два разных человека смогут учиться новой информации примерно одинаковое время, плюс-минус час ни на что не повлияет.
>>1558813Нет, влияет. Тебе нужно опять сужать рамки и говорить что людям должно быть это интересно как минимум.Что ты на этом форуме собираешься доказывать, когда 90% шизойдов здесь сидят? Особенно в "мы вам перезвоним"В итоге, ты прав и неправ. И тот анон тоже прав и неправ.От себя подчеркну что от среды больше всего зависит.ушел.
>>1558472Дурачок и сопляк здесь ты.Отсутствие исследование не означает, что с рождения нет разницы. Плюс исследования такого рода в открытом виде не появятся наверное ещё в ближайшие 200-300 лет (т.к. идёт борцуньба с гитлером).Ты путаешь талант и получение базового навыка.Ты даёшь людям ложную надежду.Условия не равны, генетика не равна, жизненные условия не равны, время отведённое всем не равно, не у всех даже интернет есть.Тут люди стек не могут сменить, потому что это сложно, а ты говоришь про рандомного ваньку который хочет 300к/сек.>>1559060Белые люди пишут на е-мейле.>>1558878Умное название для сравнения групп переменных с образцом.
>>1558752>евгеникуВащето как раз евгеника, в отличии от хуеты про склады ума, лженаукой как раз не является, и запрещена исключительно из-за моральных противоречий. А ее потенциальная "работа" доказывается как минимум существованием кучи искуственных видов, превосходящих своих оригинальных диких соплеменников в том, в чем человеку нужно. Например искуственный лосось, который в несколько раз превосходит в размерах горбушу на ферме твоей тетки на чукотке, или синантропные крысы (которых человек вывел вообще случайно), интеллект которых в несколько раз превосходит интеллект их диких уже вымерших собратьев.
>>1559208Угу, жопы нет, а слово есть.Вообще ты рассуждаешь как ванильная пизда которая любит говорить "девочки не какают и не пукают".Мыслишь какими-то ура-лозунгами про равенство и жвачку.Не боись, сопляк, мы просто говорим правду, а не пытаемся выпилить половину мира.Понимать и осознавать правду тоже важно, а как оно должно быть в идеале мы и без тебя лучше знаем.>>1559162Мы обсуждаем порог вхождения в ЯП.Очень много вопросов имеют под собой глубокие философские .>>1559254Это тоже самое, что и круд, но только с ещё большем количеством сахара.
>>1559160>Отсутствие исследование не означает, что с рождения нет разницы.С таким подходом легче сразу верить в бога, распределяющего ум и талант, что ты какими-то мелочами загоняешься.>Плюс исследования такого рода в открытом виде не появятсяЖидорептилоиды в жопу говна заливают и не дают исследовать/публиковать, я понял, шиз.>Ты даёшь людям ложную надежду.Нет, дурачок, я говорю людям, что при желании и старании у них есть все возможности добиться чего-то в жизни. Это обычный принцип, на котором построены все без исключения успешные сообщества в сегодняшнем мире, и работает он охуенно, в отличие от твоего "боженька порешал при рождении".>>1559219>ее потенциальная "работа" доказывается как минимум существованием кучи искуственных видовТы в курсе, что евгеника - это селекция человека, а не каких-то диких видов пчел?
>>1559342И чем же селекция человека отличается от каких-то диких видов пчел? Тезис в том, что евгеника, которую обозвали лженаукой, развития (или признания) не имеет и никогда не получит не из-за того, что это якобы лженаука, а исключительно из-за моральных ограничений. Просто потому что проводить селекцию человека неправильно, а не потому что она невозможна.
>>1559348>И чем же селекция человека отличается от каких-то диких видов пчел? Тем, что человек - это не пчела и не животное, что бы ни кукарекали макины школонигилисты. Человек - невероятно сложное уникальное существо, имеющее самосознание.>Просто потому что проводить селекцию человека неправильно, а не потому что она невозможна. Мораль и "правильность" можно не трогать вообще, селекцию человека проводить просто-напросто непрофитно. Никому, кроме поехавших, нахуй не нужен вид людей, дающих больше молока/тягающих большие веса/имеющих определенный внешний вид. Главное качество и ценность человека - это его интеллектуальные способности, которые определяются в первую очередь средой и опытом. И евгеника лженаука как раз поэтому - никто никогда не смог доказать, что ум это врожденное качество.
>>1559342> С таким подходом легче сразу верить в бога, распределяющего ум и талант, что ты какими-то мелочами загоняешься.Я не верю во всякие христианства и персонифицированных хуеботин с магией, но во что-то типа устройства вселенной от спинозы да. (Альберт Эйнштейн кстати тоже тяготел к спинозе)Атэизм это признак высокоуровневого функционального скудоумия (это значит ты умеешь жить в обществе и с виду не дурак, но интеллекта у тебя нет)> Жидорептилоиды в жопу говна заливают и не дают исследовать/публиковать, я понял, шиз.Ты ебанулся? Рассовые исследования/вопросы запрещены практически везде.> Нет, дурачок, я говорю людям, что при желании и старании у них есть все возможности добиться чего-то в жизни.Это глупость, стоит принять во внимание хотя бы стартовые условия.Не все могут быть руководителями корпораций или президентами.Желания и старания недостаточно в этом мире.> Это обычный принцип, на котором построены все без исключения успешные сообщества в сегодняшнем миреУспешные сообщества построены на рабовладении.>и работает он охуенно, в отличие от твоего "боженька порешал при рождении".И работают успешные сообщества сегодня на скрытом рабстве (например финансовом).Ты не понимаешь реальных принципов стоящих за функционированием современной цивилизации.>>1559348В шведяшке или нигерландах кстати и проводили селекцию после второй мировой, поэтому они там более одинаковые и здоровые чем в остальной европке.>>1559353>Человек - невероятно сложное уникальное существо, имеющее самосознание.Бля какой же ты слюнтяй госпади, говорящие цитатки из ВК.> И евгеника лженаука как раз поэтому - никто никогда не смог доказать, что ум это врожденное качество.Опять же эти исследования незаконны сегодня.Второе цель евгеники это не ум.> Главное качество и ценность человекаАдекватность. Ты кстати не обладаешь этим качеством.Ты так хочешь казаться хорошим мальчиком, аж до приторности.
>>1559354>Атэизм это признак высокоуровневого функционального скудоумия (это значит ты умеешь жить в обществе и с виду не дурак, но интеллекта у тебя нет)Тупее хуйни не слышал, но мне даже интересно, как ты будешь оправдываться за ученых-атеистов. У них тоже интеллекта нет, просто притворяются?>Рассовые исследования/вопросы запрещены практически везде.При чем тут раса, ебанутый, исследования о врожденном IQ и его наследовании никто никогда не запрещал, можешь приносить и показывать.>Это глупость, стоит принять во внимание хотя бы стартовые условия.Куда ты жопой виляешь, речь о врожденных способностях/талантах.>Успешные сообщества построены на рабовладении.Назови хоть одно. На кукарек "США" я тебя сразу же обоссу и укажу на то, что США стали сверхдержавой как раз после отмены рабства, так что постарайся лучше.>И работают успешные сообщества сегодня на скрытом рабстве (например финансовом).Опять скрытые жиды в жопу говна заливают и не держат тебя в рабстве, я понял. Таблетки-то выпил?
>>1559356> Тупее хуйни не слышал, но мне даже интересно, как ты будешь оправдываться за ученых-атеистов. У них тоже интеллекта нет, просто притворяются?Я не говорю про учёных-атеистов (потому что ты не учёный в частности), а про обычных хуёплётов-атеистов из ВК как ты.Учёные-атеисты должны быть атеистами, чтобы противостоять засилию церкви в умах быдла. Тут у меня нет претензий, пусть они даже от всего сердца верят в атэизм (который тоже является верой, хоть и скрытой).> При чем тут раса, ебанутый, исследования о врожденном IQ и его наследовании никто никогда не запрещал, можешь приносить и показывать.Это подпадает в канву о расовых исследованиях, никому не хочется лишаться поста за такие исследования.> Куда ты жопой виляешь, речь о врожденных способностях/талантах.Речь о том чтобы вкатиться в программирование и том что это не для всех доступно, по множеству причин.В том числе и потому, что интеллектуальные способности и предрасположенности у всех разные. Как и личные предпочтения.> Назови хоть одно. На кукарек "США" я тебя сразу же обоссу и укажу на то, что США стали сверхдержавой как раз после отмены рабства, так что постарайся лучше.Угу, сразу после отмены))) Легко становиться сверх-державой на костях рабов.> Опять скрытые жиды в жопу говна заливают и не держат тебя в рабстве, я понял."Если я чего-то не вижу, то этого нет. Если чего-то не понимаю, то и понимать нечего."Ты слюнтяй.
>>1559357>Если я чего-то не вижу, то этого нет.Если какую-то вещь видит только определенные люди, и при этом не могут предоставить никаких доказательств к ее существованию, кроме анекдотических, то в практическом смысле этой вещи не существует. Ну как бог, призраки, магия, определение способностей к программированию при рождении и прочее. Но ты уже окончательно скатился в шизу про невидимых жидов-капиталистов и про кости рабов под сша, так что можно заканчивать.
>>1559361Какие доказательства тебе нужны валенок блядь?Ты видишь горы программистов вокруг?Я имею в виду талантливых программистов.Ты видишь надёжные и безопасные ОС без единого бага?Идеально работающее ПО?С чего ты вообще решил что все рождаются идеально одинаковыми-то?Мозг это такой же орган и он у кого-то слабее, а у кого-то сильнее, просто потому что необходимые для работы мозга, например, нейромедиаторы вырбатываются у всех по-разному.Какие тебе доказательства выблядок надо?Чтобы на пабмеде была написана статья конкретно для >>1559361 на дваче, который мнит себя учёным?Каждый день на улицах доказательства ходят, мама мия, ему доказательства нужны.А ну и опять же, ты даже не понимаешь разницы между приписыванием слов кому-то тех или иных качеств (как ты приписываешь мне сказки про жидов) и объяснением логики мышления (когда я говорю что ты хочешь себе и другим казаться лучше чем ты есть).
>>1559353Евгеника не может быть ЛЖЕНАУКОЙ по определению. Это вообще, не наука, а прикладная дисциплина от генетики, подобно тому, как дата-саенс - прикладная дисциплина математики. А как невозможность доказательства врожденных умственных способностей отрицает евгенику - вдвойне непонятно. Ты - шизло. Не сри в тред своей бакалаврской мудростью, сидишь круды ковыряешь - ковыряй.
>>1559393Просто не знаю на каком основании ты отрицаешь умственную врожденную предрасположенность к определенному виду деятельности. Какие есть данные, чтобы утверждать это или отрицать? Например для спорта высших достижений предрасположенность просто наглядно демонстрируется. Там отбор делается с детства, когда казалось бы все должны быть на равных. Хоть ты обтренируйся ты не сможешь бегать на длинные дисанции 20 км/час - у тебя биохимия крови не позволит в нужном количестве кислород к тканям подгонять или в приседании 240 кг поднять
>>1559399В спорте высших достижений отбор проходят миллионы кандидатов, а на выходе из них получается один Роналду и еще пара десятков человек с ним ним на уровне. И без того очевидно, что в их рекордах есть какая-то доля, обусловленная врожденными особенностями организма (строение ног, биохимия крови, форма залупы, длина пальцев, ты понял), но и огромный срез спортсменов, так же обладающий похожими врожденными качествами за всю так и не достигает даже близких к ним результатов (или эквивалентных в нишах, релевантным своим "врожденным особенностям"), откуда мы и можем придти к заключению, что методология, дидактика, упражнения, хардворкинг и прочая нудная параша имеет свой вес (лично я подозреваю что намного бОльший, чем врожденные особенности) в достижении успеха. Это обсуждение, бля, ну это ваще полная хуйня. Научный метод после выведения гипотезы из эмпирического опыта подразумевает ее проверку, а нам ее кроме как на других полученных путем эмпирики данных не проверить. Все, возвращаемся круды шлепать на рельсе и ждем шестую.
>>1559399>Просто не знаю на каком основании ты отрицаешь умственную врожденную предрасположенность к определенному виду деятельности.Потому что ее никто никогда не смог доказать, хотя попыток было дохуя? Это пиздец какая старая идея, что способности человека предопределены с рождения, и она постоянно не проходит испытание практикой. Дети из низших слоев общества спокойно могут учиться наравне с элитой, если им дать такую возможность, негры могут учиться наравне с белыми, гуманитарии могут научиться программированию и математике и т.д. Скорее вопрос, на каком основании ты вообще решил, что с рождения кто-то лучше жмет по кнопкам, а кто-то лучше сочиняет стихи. Хочешь плодить лишнюю сущность просто так - доказывать нужность и правильность этой сущности придется тебе, а не кому-то еще.>Например для спортаМощно ты конечно сравнил тягание килограммов с высшей нервной деятельностью.
>>1559416Опять всё в одну кучу свалил, чтобы увести обсуждение в сторону.В данном обсуждении я не утверждал что негры хуже белых.Биохимия мозга, количество нейронов, инсулиновый баланс.Ты-то почему не можешь смириться с тем что просто тупо мозги у людей разные?Множество людей с трудом могут контролировать свой вес и вообще жить рационально, контролируя свои желания. Что опять же также зависит от многих факторов развития мозга.Если кому-то, специально, дать возможность, провести за руууучку, потратить на них время и деньги, одним словом вуман ху код.А кто-то сам берёт и делает и ему это в 1000 раз легче.Олсо, никто не говорил что способности определяются с точностью до специальности (как ты снова узколобо пытаешься манипулировать говоря о клавишах и стихах, и ты ведь даже не понимаешь как тупо это со стороны выглядит), но развитие тех или иных отделов мозга, даёт человеку возможность преуспеть в той отрасли которая отпечатается в его сознании в ходе взаимодействия со средой.
>>1559426>никто не говорил что способности определяются с точностью до специальностиРазумеется, определяются они не так, но как - никто не знает, просто тебе так кажется, примерно почувствовал. Еще раз - сущность плодишь ты, ты и доказывай, что она имеет какое-то практическое влияние на реальный мир, которое можно измерить. Либо доказываешь, что одни рождаются со способностями к программированию и легко выучат его за месяц, а другие не рождаются и им нет смысла даже пытаться, либо идешь нахуй со своими антинаучными маняфантазиями.
>>1559437Каждое твоё слово в этом посте это какой-то штамп, все вот эти "плодишь сущности", эти гротески про "выучить за месяц".Речь изначально вообще шла про то, чтобы прокормить себя программируя на руби, в россии.Если ты родился маленьким жирным карликом, то балериной тебе не стать, сорян.Десять лет назад никто не знал о механизмах старения организма, а сегодня разрабатывают передовые техники для сохранения теломер и предупреждения других факторов.Некоторые люди рождаются с лучшими генетическими характеристиками тех или иных систем организма. Если это не научились измерять, это не значит что этого нет.И пять же есть реальность, которую мы все наблюдаем и феномены, которые не имеют научного объяснения в силу ряда причин.Смысл попытаться есть конечно, но у тебя только 60-70 лет жизни.Возможно стоит попытаться делать, то что тебе лучше даётся, а программирование оставить в качестве хобби.
>>1559469Нет, дружочек, хуйню пока придумываешь только ты. Сначала затирал про спортсменов, потом про вес, потом про старение. Ты понимаешь, насколько глупо эту звучит, когда у тебя нет доказательств и ты пытаешься их придумать через смешные аналогии уровня "процент жира в организме у всех разный, а значит способность к обучению определенным навыкам тоже"? Ладно ты был бы просто плодящий сущности верун, но ты еще и лезешь к бедным вкатывальщикам со своей шизой "не получается написать хеллоу ворлд с первого раза? ну наверное программирование это не твое, способностей врожденных нет, я конечно их измерить не могу, но примерно почувствовал и за тебя решил, что тебе не стоит программированием заниматься". Чем ты отличаешься от средневекового попа, который затирает крестьянскому ребенку про то, что тому не стоит учиться читать, потому что бог так решил и крестьяне должны поля пахать?
>>1559483Да, все люди в мире могут одновременно быть президентами или главами своих транснациональных корпораций. (раз уж ты так любишь преувеличения)Занимайся чем хочешь слюнтяй, я тебя не отговариваю.
>>1558472я много психологии читаю, и ютуб начал мне подсовывать ролики известного на западе психолога джордана питерсонатам в одном видео он утверждает что есть контора которая интеллекту сопоставляет профессию так вот по утверждению этой конторы ПОЛОВИНА населения непригодна к какой либо работы для них из за их тупизны просто нет профессии и 10 процентов негодны даже в американскую армииинтересно было бы посмотреть как это контора все считает но если эти данные правда то мир выглядит совсем по другому
>>1559553Звучит как пиздежь.Или там работы уровня ракетостроения. Уборщиком в макдак, кассиром в мелкий магаз, курьером и ещё дохуя каких работ, которые может осилить любой васян без образования.
>>1559553>по утверждению этой конторы ПОЛОВИНА населения непригодна к какой либо работы 15%, а не 50% - https://youtu.be/fjs2gPa5sD0?t=302. И не половина населения, а 15% населения которая имеет IQ <= 85.Незаконно нанимать человека в армию США с IQ меньше 83 - https://youtu.be/fjs2gPa5sD0?t=354 . 10% населения (США видимо) имеет IQ <= 83.Официально в США нельзя проводить IQ тесты и на основе результатов этих тестов нанимать или не нанимать человека на работу. Компании, которые разрабатывают подобные тесты хитрят и называют эти тесты не IQ-тесты, а General Cognitive Ability Test. Суть одна и та же, а названия разные.
>>1559783фифти фифтинпонялнадо было субтитры включить так из 15 процентов может получится уборщик в макдак или нет?
>>1559553Ну и вот тебе рассказ о клиенте Питерсона, у которого был очень низкий IQ - https://youtu.be/AlwDuaWuMcY?t=146 .Человек испытывал проблемы со складыванием писем в конверты.
>>1559789> Абсолютно любой "гуманитарий" может научиться физике, программированию, математике.ну тогда это утверждение очевидно не верно
>>1559787Таймкод проебался - https://www.youtube.com/watch?v=fjs2gPa5sD0&feature=youtu.be&t=302Разве что уборщиком работать и то наверное будут проблемы. Вот тут история про человека с IQ примерно равным 80 - >>1559789
>>1559795Нет никакой "предрасположенности" к техническим или гуманитарным дисциплинам. Если у тебя достаточный показатель IQ, то ты с легкостью затащишь технические специальности и будешь хорошо шарить в математике и физике.Есть книга - https://www.amazon.com/Mind-Numbers-Science-Flunked-Algebra/dp/039916524X . Где человек рассказывает как будучи "гуманитарием" уже в довольно взрослом возрасте затащила PhD по матеше.
>>1559806Блядь тупая ты пидорасина, никто не говорит про предрасположенность к гуманитарности или математичности тупая ты хуесосина блядь!Тут всем и так это давно очевидно.Тупая ты шаблонная ослина, тут все это понимают.Речь об интеллектуальных способностях в принципе.Бляд ещё с древних времён есть расхожее "талантливый человек талантлив во всём".Ты опять картинок в ВК про полушария мозга персмотрел где на одной стороне красивая природа, а на другой квадратные небоскрёбы?Сука как бесят и злят такие ушлёпки госпади.
>>1559367>Ты видишь надёжные и безопасные ОС без единого бага?>Идеально работающее ПО?долбоеб? долбоеб
>>1560780Угу, ещё злобные кремлеботы у всех ВОЗМОЖНОСТИ отбирают, чтобы выучить программирование на руби и вкатиться без опыта на должность архитектора.Их шпионы, а наши разведчики.У них теории заговоров, у нас объективная оценка.Угу-угу.
>>1560794Го. Без поддува большой корпорации эликсир никуда не взлетит.Юзай элик для души или если ты рубист уже в команде завязанной на эликсир.
>>1560791Ваши аргументы не аргументы, ррррряя, можно ссылку на lgbt.org где сказано что люди не равны! ррррряяяяяСлюнтяй, педрила, бака, скебе, коноярро!Поскольку руби японский язык, традиционные ценности в этом треде почётнее, чем твои мурзиклки про идеальный мир
Вы во что тред превратили, гомики ебаные? Пиздец, как будто в /b зашёл, доказывают тут кто кого умнее в буковках, делать вам блядь нечего, долбоебы!
>>1560795Руби как раз взлетел чисто на коммьюнити, без ссаных гугломайкрософтов. Я бы даже сказал, это была одна из причин его взлета. А у эликсира кроме руби корней еще есть охуенный эрланг за спиной, в котором все фичи из го использовались в продакшене еще когда сам го у бати в яйцах сидел. Ну и будущее уже прочно за динамикоязыками, вялое возобновление дроча на статическую типизацию в последние годы вряд ли куда-то выльется, просто история смолток-джава-руби повторяется в виде фарса. Я бы не списывал эликсир со счетов так легко
>>1560955У самих рельс главная проблема не в прожорливости если тебе важна прожорливость крудов, то ты вряд ли вообще туда зашел, а в том, что DHH не смог вовремя остановиться с магией и продолжил ею заливать рельсы как малафьей, в итоге из удобного экспрессивного фреймворка, который можно интуитивно освоить за несколько дней и начать клепать круды, получился ебаный монстр, пытающийся угодить вообще всем. А в чистом руби по сравнению с какими нибудь пхп-питонома в производительности разницы особо нет, это не цель таких языков.
>>1560955Ты даун? Тебе уже выше пояснили, что руби с рельсами в масштабах даже дохуя большого и нагруженного проекта (с пользователями со всей планеты) стоят несоизмеримо дешевле, даже чем зарплата разработчиков: >>1556796
>>1560975DHH бывает говорит умные вещи, но потом как просрется про мертвое ТДД или про фак ю в ответ на просьбы перестать самодурствовать и срать в рельсы своими охуительными идеями, против которых выступают 99% пользователей этих самых рельс. Ну и понятное дело, что он будет до последнего агитировать за свой фреймворк любыми способами, это его бизнес.
>>1560975Проблема рельсов не в стоимости серваков, это он лукавил. Проблема рельсов в скорости разработки и поддержки высоконагруженных сложных систем - это дольше и сложнее прогать. Впрочем, это не означает, что следует бросаться переписывать все и вся, дропая команду разработки
>>1561148>поддержки высоконагруженных сложных систем - это дольше и сложнее прогатьэто вопрос квалификации инженера, как уже выше писали и как показывает практика - руби и рельса вполне позволяют строить масштабируемые высоконаргуженные программы.
>>1560940>>1560876У руби конечно дела получше чем у перла (за которым наверное сейчас только букинг), но по сравнению с питоном это далеко не взлетел.>>1561350Можно, для винды есть инсталлер.
>>1561421>по сравнению с питономНаркоман, сравнивать руби с самым популярным языком общего назначения, который еще и используется в вузах при этом?
>>1561188Фича рельс - скорость разработки простых систем, MVPшек. >>1561341Спору нет, вполне возможно. Но все таки руби рельс не такими штуками силён.
>>1562305>>1562298Пока сейлсфорс не загнётся у руби будет ок всё. Ну бейскамп подсобит.Если сдюжат добавление JIT быстрого руби может снова выстрелить.
>>1563586>Что должен знать джун-рельсовик в 2020? Всё то же самое, что и мидл, но с поправкой на отсутсвие опыта.
>>1563646С поправкой на то, что не знать (учить у себя дома попутно смотря аниме), а работая на реальной работе в офисе.
>>1563586Ruby on Rails interview questions в Гугле. Меня некоторые вещи оттуда спрашивали, помимо вопросов про прошлый опыт и паттерны программирования
>>1563745> Ruby on Rails interview questions в Гугле. Меня некоторые вещи оттуда спрашивали, помимо вопросов про прошлый опыт и паттерны программированияА какие вообще паттерны обычно используются именно в реальных рельсо-проектах? Можешь рассказать что-нибудь про свой опыт?
>>1563808Плюс-плюс. Тоже интересно. Что-то и сам знаю, но не владею пониманием общей картины, так сказать.
>>1563808Если это не праздный вопрос, а серьезный, то я просто про декоратор рассказал и про фабрику. Но я на Джуна шел с почти нулем опыта.К слову, эти общие вопросы не были чем-то важным, их так, для галки походу спросили. Уже более прикладные рельсовые долго спрашивал тех.специалист
Вкатываюсь. Есть 2 года опыта фронтенда. Цель найти удаленку за неплохие деньги. Буду отписываться о результатах в треде.
Студентота-вайтишник. После ератовских курсов "руби/рор в облаках" предложили место в одной уже не маленькой компании. Тз выполнил, собес завалил как я считаю – на вопросах по SQL да, я у мамы одаренный. После перезвонили, сказали что могут взять после повторного собеса через 2+ месяца, если подготовлюсь к более сложному ну и скинули на почту темы по которым готовиться с проектом для практики. Я просто хз, это нормальная практика и еще можно надеяться, что меня примут или забить и начать учить джанго? потому что в моем городе больше открытых вакансий на руби/рельсы нет, а когда и появляются, то на мою заявку не отвечают
>>1565940Я в подобной ситуации хуй забил на тех, кто предлагали НЕМНОЖЕЧКО ПОДОЖДАТЬ и прийти через 40 лет повторно, и хуй его зная, будет ли в тот момент вакансия эта. Только у меня наоборот было, там на сишарп не приняли, в итоге я в руби попал.
>>1563808В смысле как обычно используются?В обычных проектах не очень много паттернов ты лично видишь, особенно если ты пиздюк, но они есть.Например Singleton - используется всюду, например во всех твоих моделях ака ActiveRecord::MyModel.find(id) вызывается инстанс метод find синглтон обекта MyModel.Или MVC - model view controller.Или сам ActiveRecord - это название паттерна обращения с источником данных и по дефолту используется именно он. Более того я не видел нигде, кроме тупых статеек на медиуме, использование других паттернов. Везде пихают ActiveRecord и норм.Или фабрики. Ну тут просто. Когда тебе хочется получить экземпляр объекта, но этот объект достаточно сложен для создания и тебе впадлу всю эту сложность здесь и сейчас применять. Тогда ты делегируешь созданием объекта фабрике и от нее получаешь готовый объект. Или абстрактной фабрике - и тогда ты от абстрактной фабрики получаешь нужную тебе фабрику, чтобы получить нужный тебе объект.
>>1561067Кстати последнее время на том же медиуме натыкаюсь на статьи и идеи как раз о том, что тдд мертв. Это откуда вообще?
>>1560876Вот это история с ерлангом, otp, ets и прочим и привлекает в эликсире, помимо пайпов в def, конечно...
>>1566036Трехмесячные бесплатные тренинги от компании епам, по итогу которых выдается сертификат и, если неповезет, job offer.>>1566049>>1566054Вас понял, тогда пойду учить джанго, там хоть вакансий навалом. А когда позвонят с предложением повторное пройти, то соглашусь, ну мало ли
>>1505729 (OP)Что коллеги рубисты думают о Crystal?Понимаю, что ему будет сложнее взлететь, как какому-нибудь Go, и вообще ситуация сложная в плане конкурентов, но классный же язык.
>>1566979Годнота всяко лучше эликсиро-говна, но шансы на взлет почти нулевые, если каким-то чудом не найдется именитого спонсора.
>>1566987> шансы на взлет почти нулевыеВот это очень обидно, да.А чем плох Эликсир?Ведь в нём от Руби только синтаксис и имена для модулей стдлиба. По факту это Эрланг - абсолютно другой язык. Кристал всё-таки ближе к Руби.
>>1567043Не застал уже руби, когда вкатился полностью, но во времена бума стартапов, на нём все писали прототипы каких-либо проектов. Затем получали деньги (обычно находили спонсоров) и доделывали проект до полного продакшна. Плюсы: быстро, легко, недорого, модно (на тот момент)А сейчас то ли стартапов стали меньше выкатывать, то ли мода сместилась на ноду, хз даже, но руби как-то угасает потихоньку для многих. Хотя вакансий всё ещё довольно много, платят хорошо даже совсем начинающим.Сам язык очень приятен в освоении (имхо, он даже приятнее питона многими моментами). Хотя тут всё субъективно.
>>1567172Лучше относись к любому языку, как просто к инструменту решения задачи.Если бизнесу нужно быстро выкатить прототип чего угодно, то разумно выбрать язык, который очень быстро позволит это сделать, а ещё было бы замечательно, чтобы можно было сэкономить денег на этом языке из-за перегретого рынка и большого кол-ва макак соответственно.
>>1567227Почему же? Наоборот, конкуренты - такие же как ты вкатывальщики в новый ЯП мидлы/синьоры - джуны не изучают еликсир, им это ни к чему.
>>1554566Отлично, по двачу можно выбрать язык в который вкатываться. Меньше быдла, больше денег.ASM наше все
>>1530109>>1531807Видео с Московского Ruby Meetup #11https://youtu.be/YTOFFt8SPBEhttps://youtu.be/gFHwZ7ipSSUhttps://youtu.be/WywsoH0kRCU
>>1572622Что на работе выдали, тем и пользуюсь. В нашем мухосранском филиале у всех линукс. В Москве кто на что горазд, примерно поровну линукса, макоси и (!)винды
>>1572631хотетьно дорогои сука ссыкотно отдать 200+ за ноут с высоким риском заебаться с ремонтом#мухостранскиестрадания
>>1572633Пока работал в офисе, работал на том, что дают.Два раза из трёх выдавали макбукНо как ушёл на долларовую удалёнку, пришлось купить.Минусы обладания собственным:- устаревание (скорее внешнее, моральное, чем техническое) кому не жалко денег, меняют раз в два-три года, а ты сидишь на позапрошлом, пока часть друзей купили новых- ремонт/обслуживание
>>1572647Вот-вот, ремонт.Мало того, что я отдам за него мнохаденех, так за эти деньхи он еще весьма вероятно будет ломучим говно. Так в моем мухосранске еще и нет официального сервиса.А что народ в этой вашей Москве юзает, РубиМайн?
>>1572654>так за эти деньхи он еще весьма вероятно будет ломучим говноЭто вряд ли, пользуюсь макбуками с 2011 года, ни один из них не был ломучим говном.Но я к тому что, пока что-то современное и приличное выдают на работе (если не стационар), нет смысла брать свой макбук, чтобы он лежал в ящике и устаревал.>А что народ в этой вашей Москве юзает, РубиМайн?Ну как обычно: RubyMine, vim, Visual Studio Code
>>1572654Я вот тоже думал, что взять, в итоге взял ноут dell, накатил debian с тайловым десктопом, удобно, недорого, железо мощное, макбуком пользовался у товарища, и что-то он меня не впечатлил, слишком много ненужной хуйни в нем.
>>1572661Почему вообще макбуки так популярны среди разработчиков? Просто "я сеньор 300к могу себе позволить"?
>>1572726homebrew + долго держит зарядку + удобно с собой носить (как ультрабук от других производителей, но нет проблем уровня линукс не так встанет — аккумулятор будет садиться в два раза быстрее, fn-кнопки не подцепятся, яркость не получится регулировать или ещё какая линукс-проблема)
Как можно скофигурировать время ожидания для Capybara?Использую с RSpec. Например, в тесте код: expect(page).to have_content "something"Если на странице нет "something", то капибара будет ждать этот контент очень долго. Как сократить время?
Дошел до гибкой разработки рельс, это пиздец. Как вообще запоминать всю эту тягомотину действий при создании приложения, когда там буквально за 4 страницы происходит неебическое количество телодвижений
>>1580191Дык это компании, которые на хайпе вкатились в эликсиростек пару лет назад, понаписали на нем кучу всего и теперь не знают, что делать, потому что хайп прошел, спецов на элике нет, приходится брать кого угодно с улицы.
>>1580684Жду элексирошизика, который тотально разьебет руби с рельсами и обоснует почему элексир по всем фронтам лучше, чем любой динамически типизированный язык
Здесь можно спрашивать про рельсы? У меня есть две модели, User и News. Сделал join-табличку для many-to-many через миграцию, в обоих моделях прописал has_and_belongs_to_many, как в этой статье: https://www.sitepoint.com/master-many-to-many-associations-with-activerecord/ Теперь я хочу при создании новости добавлять к ней тех пользователей, которые к этой новости относятся, то есть в той же форме как-то делать записи в мтм-табличку. Я уже научился это делать через консоль, но хочется чтобы форма тоже с этим справлялась. Как мне быть?
>>1582883Можно прямо в контроллере news_controller в экшне create, но это не Rails-way. Лучше в модели News с помощью коллбэка after_create. А еще лучше - в модели определяешь соответствующий метод с нужной логикой и вызываешь его в контроллере в create, чтобы было нагляднее.
>>1582883видел такую фичу в rails_admin, там в форме два списка, в перовм ассоциированные пользователи, во втором все доступные, и из доступных можно перекидывать в ассоциированные, далее форма просто постит id пользователей из первого списка, а в контроллере уже что-то вроде User.where(id: params['user_id']).each {|u| u.news << selected_news }
>>1583204>User.where(id: params['user_id']).each {|u| u.news << selected_news }Ууу, бля, за такое на любой нормальной работке убивают нахуй.
>>1583417>Отдельный INSERT в базу для каждого юзера вместо insert_all>each вместо find_each>Бизнеса логика в контроллере>в чем проблема-то?Мы вам перезвоним.
>>1583523>Отдельный INSERT в базу для каждого юзера вместо insert_allТы же в курсе, что insert_all не вызывает коллбеков и не проводит валидаций? >each вместо find_eachИ сколько там batch_size по дефолту? 1000? Я сомневаюсь, что у него больше 1000 пользователей в базе за раз будут получать ассоциацию с новостью, а иначе это не принесет никаких профитов.>>Бизнеса логика в контроллереЧто ты тогда вообще предлагаешь делать в контроллере? Дергать модель на каждый чих? Как по мне, так это именно в моделях код превращается в кашу и требует какой-то организации, а не в контроллерах.
>>1583595>Ты же в курсе, что insert_all не вызывает коллбеков и не проводит валидаций?Да. Использование коллбеков в любом случае зашквар. Если прямо нужны валидации можно использовать activerecord-import, но обычно у записей в join table у many to many их нету.>И сколько там batch_size по дефолту? 1000?В данном случае ты прав, но лучше взять за правило всегда его использовать, как по мне.>Что ты тогда вообще предлагаешь делать в контроллере? Дергать модель на каждый чих?Service object, бизнес логики не должно быть ни в контроллерах, ни в моделях.
>>1583603>Да. Использование коллбеков в любом случае зашкварну да, вместо обычного коллбэка для нотификации пользователя о новой новости будем всё гонять через еще одну абстракцию, при том, что рельса дает полноценно использовать ООП через STI, мне вообще непонятно, чего такого можно поместить в Service Object, чего нельзя было бы просто реализовать наследованием и миксинами.
>>1583603>бизнес логики не должно быть ни в контроллерах, ни в моделях.Можешь подробнее про это? Сам пишу бекенд только на ноде, но думаю архитектура схожая. Есть папка с контроллерами, есть с моделями. В моделях все очень чисто, в контроллерах куча логики. Ты имеешь в виду что надо всю логику оборачивать в функции, держать их отдельно, а в контроллерах отрабатывать request (получать параметры запроса) -> передавать параметры в функцию, в которой лежит бизнес-логика и вызывать её, ну и в конце отправлять response? Просто не понятно, как ответ формировать, в логике ведь много вариантов ответа в зависимости от условий, это тогда надо объект res тоже передавать в функциию с БЛ, это же ещё более стрёмно получается.
>>1583840>в логике ведь много вариантов ответа в зависимости от условий, это тогда надо объект res тоже передавать в функцииюа нахера возвращать данные разных типов в зависимости от условий, разве от такого логика и на клиенте не превратится в кашу?а если тип не разный, то и потребности такой не возникнет
Ну что же вы, РУБИСТЫ? Прошли уже Developer Ecosystem Survey 2020?https://surveys.jetbrains.com/s3/a2-developer-ecosystem-survey-2020
>>1586168я думаю речь о том, что при формировании ответа, например, для таблицы, нужно учитывать такие вещи как пагинацию, сортировку, фильтры, учитывать какие-то атрибуты из профиля пользователя, уровни доступа, проводить агрегацию каких-то данных для вьюхи и прочее прочее, перенося логику из модели/контроллера в сервисный объект мы прячем код в черный ящик, который вынужден принимать все аргументы, вместо того чтобы докомпозировать логику в консерны и включать в необходимые модели.
Не программирую на руби потому что пайчарм бесплатный и там есть дебаггер.Рубимайн купить себе не могу.Без IDE кодить не ОК как-то.
>>1505729 (OP)Слушайте, ребята, вот в шапке почти что четыре книги для изучения руби, это извините меня охуеешь какой объем читать, при том, что когда рельсы то учить? По какому плану прокачивались до джунов?
>>1589589Руби джун это тот кто в других языках уже на уровне мидла.Руби джун это перекатывальщик на руби-стек.Язык изучается неделю.Месяц рельса.Работа по знакомству.
>>1589613Руби это блатной язык, работа по знакомству, так можно про любой другой стек сказать, или опять суровая действительность, что джун это мидл за меньшие деньги?
>>15832301. Разве может быть несколько юзеров с одним id? find вместо where2. news - ассоциация? n+1, надо прелоадить (хотя юзер у тебя один, как сказано в пункте 1)3. Про бизнес логику и find_each уже сказали (хотя последний не актуален опять же тк у тебя один юзер). Контроллер - это заголовки, параметры и дерганье объектов, да. А бизнес логика должна бть и не в моделях, а в сервисных объектах.
>>1583689>вместо обычного коллбэка Ты и не заметишь, как эти "обычные колбэки" разрушат поддерживаемость кода и мораль команды
>>1586306Ты передаешь туда все, а уже внутри осуществляешь разделение. Сервисный объект может вызывать много сервисных объектов, прикинь? А контроллерам оставь вещи попроще аля код ответа
Кто-нибудь в силах помочь с этой ошибкой? Третьи сутки сижу.ActionView::Template::Error (undefined method `pathname' for #<#<Class:0x0...>Возникла, когда пытался поднять версию руби и рельс. Откатывать назад не вариант.
>>1589944>1. Разве может быть несколько юзеров с одним id? find вместо whereРечь шла про множество пользователей, форма отправит PUT-запрос с полем "user_ids" => [1, 2, 3], where(id: user_ids) выполнит что-то вроде where user.id IN [1, 2, 3] - одним запросом.>2. news - ассоциация? n+1, надо прелоадить (хотя юзер у тебя один, как сказано в пункте 1)Не надо ничего прелоадить, новость уже загружена, юзеры дернутся одним запросом, N+1 там на INSERT в ассоциирующую таблицу, далеать быстрый bulk insert или медленный со всем рельсовым обвесом - уже из конкретной задачи нужно смотреть, от количества этих самых инсертов, и как по-мне, так это преждевременная оптимизация чистой воды.
>>1589946>Ты и не заметишь, как эти "обычные колбэки" разрушат поддерживаемость кода и мораль команды Могу в это поверить, недавно экспериментировал с коллбэками и инвалидацией кэша в редис, всё это достаточно мудово поддерживать, но медленный инсерт и работа с кэшем в коллбэке компенсируется нулевой задержкой на последующий доступ к данным.
>>1591337бурное обсуждение.поток скринов с кодом,обсирание этого кода.вопросы по теории и пр.но так как это язык не для вкатывальщиков с нуля(в отличие от пхп и жс),то тут и тухло
Кто-нибудь имел дело с gem 'carrierwave-google-storage' и gem 'carrierwave-aws'?Сейчас на проекте используется s3. Нужно заменить на GCS. Будут ли использоваться те же пути и префиксы для имэджей?Если я переведу весь проект и контент хранилища на Google Cloud Storage, останутся ли в рабочем состоянии картинки?Rails 4.1.8/4.2.8
Как, по-вашему мнению, лучше организовать интерфейс пользователя - табы, каждый таб как отдельную страницу со своей вьюхой, либо вешать на таб onClick js event, дергающий json из api, и собирающий содержимое на клиенте? Содержимое достаточно простое - таблицы.Особенно интересн этот момент с подключенным turbolinks'ом.
Я думаю вообще отказаться от json api с этими табами и рендерить всё сервер-сайд, обновляя на клиенте через турболинкс, это в разы проще поддерживать.Еще вопрос про stimulus.js, кто-нибудь юзал? Хотелось бы нормально оформить весь js, и при этом не подключать монструозный реакт или что-то такое.
>>1595980>он умер это такКакой главный признак мертвой технологии? Она не поддерживается и не дает своим пользователям современных решений.Руби обновляется? Да, обновляется. Полезные гемы пилят? Да, пилят.Мне кажется на этом можно закончить с размышленями мертв/не мертв.
>>1596421Инвейдеры эликсира в рубитредеКак вообще привлекать народ в эликсир, если даже в руби ориентир обучения и поиска работы сугубо рельсовый?
>>1595141>Еще вопрос про stimulus.js, кто-нибудь юзал? Хотелось бы нормально оформить весь js, и при этом не подключать монструозный реакт или что-то такое. Кароче нашел интересную штуку - StimulusReflex, серверный рендеринг через вебсокет с выборочным обновлением stimulus-компонента на странице, хорошо работает с турболинксом, буквально в пару строк на js можно сделать отзывчивый компонент со сложной логикой на бэке, выглядит очень интересно, особенно в контексте очистки проекта от js-говн без просадки по ux.
Разобрался со стимулусом (как мне кажется), попробую резюмировать в интересные моменты:Турболинкс, стимулус и рефлекс - компоненты одной системы и интегрируются друг в друга, не требуя какой-то особой конфигурации, работа такого прилодения выглядит следующим образом:- пользователь заходит на страницу, загружает js бандл и вьюху.- включается турболинкс, он занимается кэшированием страниц на клиенте, дальнейшие переходы происходят через него, загружается только вьюха, без бандла, без инициализации js.Если пользователь уже был на странице, тубролинкс открывает её из кэша и делает запрос к серверу, если контент с сервера отличается от кэша - контент и кэш обновляется, если ответ идентичен - ничего не происходит, для пользователя это выглядит как переход на страницу без всяких задержек и перезагрузки страницы.- стимулус отслеживает появление на странице своих компонентов и проводит их загрузку, состояние компонентов задается через html-атрибуты тега и приходит с вьюхой.- рефлекс посредсвтом атрибутов тега позволяет вешать на разметку различные сервер-сайд действия, события и позволяет делать partial reload по селектору.Идеальный сценарий работы связки:Пользователь нажимает на ссылку, турболинкс открывает готовую страницу из кэша - клиент-сайд, без задержек, пользователь производит рефлекс-действие, через вебсокет запрос ухдит на сервер, сервер генерирует вьюху, извлекает контент по запрошенному селектору и отправляет в вебсокет (передается не вся страница, только запрошенный фрагмент), рефлекс на клиенте получает контент и точечно обновляет DOM по селектору, если появляются новые stimulus-компоненты - происходит их загрузка.Что имеем на стороне сервера:- новая абстракция - reflex controller, разбирает параметры запроса из вебсокета и передает выполнение обычному контроллеру.- дополнительыне атрибуты тегов во вьюхе.на клиенте:- турболинкс.- стимулус контроллер с подключенным рефлексом.клиент без какой-то особой конфигурации, состояние компонентов приходит с севрера в тегах.Визуально работа связки не отличима от полноценного SPA на JSON API, однако по сложности - дефолт Rails MVC монолит с полноценными вебсокет-соединениями от клиентов, соотвественно, и возможностью бродкастить, инициировать обновления контента со стороны сервера, пинг и прочие фишки сокета.Судя по всему буду целиком избавляться от JSON API и каши из js на клиенте в пользу сервер рендера в своей программе, это существенно всё упрощает.
Не в обиду будет сказано, я ещё зелёный во всей этой теме программирования,но какой же пиздец на Linux со шрифтами. PT Sans, PT Serif чуть сглаживают этот пиздец, но не сильно. Ребят, вы очки большинство носите?
>>1607449Ubuntu 18.04.4, Gnome 3( или что здесь). Может это из-за моего монитора, что имеет не Full HD разрешение. Сейчас вроде получше, но на почту Yandex зайти страшно, там просто вырвиглаз.
Подскажите, как сделать правильно обработку ошибок?Проект для управления своей музыкой на рельсах.Все файлы треков/картинок треков/картинок альбома лежат на s3. Во вьюхе есть что-то вроде:.row [email protected] do |sound| .play{"sound-img": "#{sound.image.url(:small)}"}...Так вот на s3 есть не все нужные файлы, и для отсутствующих файлов вылетает ошибка undefined method 'public_url' for nil.Как обработать такие ошибки для отсутствующих файлов, чтобы приложение не падало?Сейчас прямо во вьюхе написал:.row [email protected] do |sound| - begin .play{"sound-img": "#{sound.image.url(:small)}"} ... - rescueRescue оставил пустым, так приложение не падает, но только на этой странице, для других вьюх то же самое нужно будет прописать.Но это какой-то хуёвый подход. Как сделать правильно?
>>1609003можно использовать safe navigation operator - &.sound.image&.url(:small) || 'not_found'можно в модели Sound сделать геттер, который бы отдавал плейсхолдер если image == nil - вьюха будет почище.
>>1609261Судя по твоему вопросу и тому где ты его задаешь, эластик тебе не нужен. Юзай pg_search/ransack. Затраты на поддержку эластика оправданы только в случае энтерпрайза средней крупности. Даже на ИМ с каталогов в 12-15к позиций он чаще всего нахуй не нужен. Нужны нормальные словари.
>>1609308Да нет, нужен. Рансак уже и так используется, но эластик тоже есть. Хрен знает, зачем я вопрос здесь задаю, впрочем :D
>>1609003Дополню к вариантам >>1609230begin/rescue тут не надо. Или сделай хелпер отдельный, или просто пиши в шаблоне if sound.imageЕсли хочешь по феншую, то можешь использовать паттерн NullObject:https://thoughtbot.com/blog/rails-refactoring-example-introduce-null-object