Этого треда уже нет.
Это копия, сохраненная 31 июля 2021 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Ruby thread 2021 Pandemic Recovery EDITION /ruby/ # OP 1950019 В конец треда | Веб
Предыдущий тред героически тонет здесь: https://2ch.hk/pr/res/1787634.html (М)
Arhivach: http://arhivach.net/thread/610822/

Ruby thread 2021 Pandemic Recovery EDITION

ИЗУЧЕНИЕ ЯЗЫКА
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 Ruby
Refactoring Ruby Edition | Ruby Under a Microscope

Q: Онлайн курсы чтобы попробовать/вкатиться:
A: https://ruby.github.io/TryRuby/ | https://rubymonk.com/
https://www.codewars.com/?language=ruby | http://rubykoans.com

Q: Какой gem посмотреть, чтобы понять, как писать код?
A: Лучше всего посмотреть небольшие gem'ы вроде cancancan, pundit, camping.
Еще можешь полистать на гитхабе гемы с нарастающей популярностью (там еще нет тысяч строк, и тебе будет легче понять): https://github.com/trending?l=ruby

Q: Хорошие практики по руби и рельсам?
A: Обязательно стайлгайды (как оформлять код):
https://github.com/rubocop-hq/ruby-style-guide
https://github.com/JuanitoFatas/fast-ruby
https://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-ruby

Q: Документация по стандартным библиотекам руби и рельс:
A: https://ruby-doc.org/ | https://api.rubyonrails.org
https://guides.rubyonrails.org

Q: Можно ли на руби писать нативные GUI, мобильные приложения, игры?
A: Да, но не стоит.

Q: Что ещё изучить?
A: Английский, git, linux. Паттерны. Один из часто используемых – Service Object.
https://www.sitepoint.com/7-design-patterns-to-refactor-mvc-components-in-rails

СРЕДА РАЗРАБОТКИ
Q: Как установить разные версии рубей?
A: https://rvm.io | https://github.com/rbenv/rbenv | https://github.com/asdf-vm/asdf

Q: Есть ли чат в Telegram?
A: @LearnRubyForPikabuChat | @rubylang | @rubyschool | @rubyrush
@pro_rb | @saintprug | @moscowrb | @ruby_talks | @ruby_random
Отсортированы по размеру

Паблики в Telegram
@LearnRubyForPikabu | @ruby_rails_tips_tricks | @painless_rails_ru | @ruby_bookshelf

РАБОТА
https://hh.ru/search/vacancy?text=ruby
https://t.me/rubyjob

МИНИМУМ НА ДЖУНА
ToDo: Здесь обязательно появится минимальный набор знаний и умений на джуна (что должен уметь вкатун-рельсовик), как найти первую работу и т.д.
Но это потом.

https://www.youtube.com/watch?v=0kM7yFM6Dao
Saint P Ruby.jpg46 Кб, 640x640
# OP 2 1950103
Saint P Ruby community Winter Meetup 2021

Зимний митап Saint P Ruby Community 2021! ДА, И СТРИМ И ЗАПИСЬ БУДУТ.
25 февраля на площадке Купибилета,
Стартуем, как обычно в 19.00.

Докладчики и доклады:
1. Ну собственно Шаматов. Я расскажу про Dry CLI: проект, над которым я периодически работаю.
2. Юлиан Покровский расскажет про Алгоритмы и структуры данных для рельсовика.
3. Владимир Дементьев настолько хорош, что у него есть 4 доклада, и он шафлом выберет тот, который расскажет нам.
4. Михаил Грачев расскажет про Линтеры, которые на страже порядка

25 февраля в 19:00
Литейный пр. 26, St. Petersburg, Russia
Регистрация обязательна: https://kommunity.com/saintpruby/events/winter-meetup-2021-6b2d4c4f

Стрим, предположительно, здесь
https://www.youtube.com/c/SaintPRubyCommunity
3 1950126
>>1950019 (OP)
Ну шо, вкатились?
4 1950159
>>1950126
перекатились.
5 1950186
>>1950126
Померли.
6 1950191
>>1950126
Да в пхп
7 1950235
>>1950191
Аналогично, сейчас думаю куда перекатиться, вакансии сплошное говно из CMS
8 1950299
>>1950235
Рельсы же.
9 1950394
>>1950299
Тоже думаю, пока времени мало, на работе проект добьем и начну прожект писать. А так, бложик пробовал писать 1в1 Лара, синтаксис пока до конца не понял, немного не привычен. Зато был сильно удивлен увидев количество вакансий на удалёнке, особенно забугорных.
10 1950404
>>1950235
Работаю в васянском хайлоаде на yii, заглядываю в Руби тренд потому что язык красивый, но работ нет а хайлоада уж точно
11 1950526
>>1950404
На западе есть.
12 1951009
Имею желание пройти ератовский тренинг по руби с целью смены работы. Насколько реально стать ждуном на рельсах с 1-2 годами опыта даже не веба? есть еще вариант с дотнетом и гарантированным трудоустройством, но там платят мало
13 1951029
>>1951009
А что нереального в становлении джуном?
14 1951059
Чем вы лучше clojure?
15 1951113
>>1951009
Вполне реально. Тем более что разрабов сейчас не хватает. Многие работодатели растят сами из совсем неофитов для инхауза, но на хх.ру ты их врядли найдешь.
16 1951115
>>1951113
Где обычно зависают? Как-то в телеге иногда попадались в чатах, может какие каналы полезные есть?
17 1951154
>>1951115
Нашел один интересный https://t.me/rubyjob кстати, большей части вакансий нет на хх.ру, забавно)
18 1951264
>>1951113
А ты сам как давно вкатился? На удаленке у западного барина?
19 1951265
Кто-то пробовал hotwire-rails? Как впечатление?
22 1952036
Мне непонятно как отлаживать ракторы, на каждый чих падает IsolationError; pry, irb - ничего не работает.
23 1952080
>>1950019 (OP)
Антош, скажи честно вкатываться в руби - хорошая идея?
24 1952229
>>1952080
Нет. Пиздят про то что вкатиться джуном реально, но на самом деле это реально только для хохлов, у которых почему-то RoR крайне распространён и из которых состоит данный тред, судя по всему. Лучше вкатывайся в пхп, без иронии говорю.
мимо
25 1952267
Сап, двач. Насколько хороший варик перейти мидлу php в rails?

И такой вопрос, есть ли по рубину продуктовые компании, или только АУТСОУС? Не хочу в аутсорсе работать =(
26 1952361
>>1952080
>>1952229
Полностью согласен, иди в пыху, с рубями мы сами разберемся.
27 1952596
>>1952080
Руби дрочит память и сборщик мусора, других минусов нет.
Рельса всё еще лучшей фреймворк для веба.
28 1952613
>>1952229

>Лучше вкатывайся в пхп


Выбирай сразу WP, Bitrix, Joomla без иронии говорю
29 1952618
>>1952613
Да. Или 1С и visual basic для программирования в экселе.
30 1952624
>>1952267
Сейчас на стадии переката, учу-дрочу язык и рельсы прожект пилю, если с Yii или Laravel работал то ROR на 95% тоже самое. Синтаксис языка только непривычен как-то, но в целом с пыхи нет проблем перекатываться. По вакансиям местные подскажут, но я мониторю хх.ру потихоньку там много продуктовых попадалось.
31 1952625
>>1952618
Ты тоже без иронии?
32 1952635
>>1952625
Да, без иронии говорю.
33 1952668
Почему руби такой охуенный? Был бы он только с лиспоподобным синтаксисом, было бы еще охуенней.
34 1952738
>>1952668
смолтолк
35 1952811
>>1952668
Кложа.
36 1952825
>>1952811
Да, классный язык. Параллельно с рубями на нем что-то пишу, очень нравится всё это функциональное, парадигма новая, все дела.
37 1952888
>>1952825

>парадигма новая


Это случайно не новый вариант лиспа?
38 1952937
Вы еще живы?
39 1952938
>>1952888
Clojure это лисп: нотация на s-экспрешшенс, негигиеническая макросистема в духе коммон лисп, динамический и лексический скоуп.
Отличия от коммон лиспа на языковом уровне - нормал ордер редакшн(ленивые вычисления) по умолчанию и наличие в стандартной библиотеке иммутабельных структур данных, литералы для всех дефолтных структур(мап, сет, вектор, лист). Если кратко то как-то так.
40 1952947
>>1952938
Я примерно так и думал, что это лисп доработанный напильником
41 1952955
>>1952947
Common Lisp довольно жирен и дизайн стандартной библиотеки там говно, кложка же проста, компактна и в ней много полезного, предпочитаются иммутабельные структуры данных и использование функций высшего порядка везде(струтурирование программы с помощью последовательных трансформаций данных выраженных через map/filter/fold), тут явно вин.
С другой стороны коммон лисп генерил нативные бинарники и с тайп хинтами и аннотациями для компиляции там получался очень быстрый машинный код, кложка же живет поверх JVM, это не то чтобы совсем ужасно но отличия есть, так что тут вин не очевиден.
А в целом вон есть рэкет(лисп с гигиенической макросистемой, оченоь продвинутой) но не пригоден для использования(на нем ничего не написано).
Так что, да, соглашусь кложка очень аккуратна.
А рубик сам по себе хорош, ООПшка с кодогенерацией на основе неплохой макросистемы, очень чистый и приятный синтакс.
И рубик и кложку делали люди со вкусом.
42 1952963
как там,рельсы все еще жрут озу и проц?
43 1952977
>>1952955

>кложка же живет поверх JVM


То есть в теории можно подружить с жабой?
44 1952980
>>1952977
(.toUpperCase "fred")
-> "FRED"
(.getName String)
-> "java.lang.String"
(.-x (java.awt.Point. 1 2))
-> 1
(System/getProperty "java.vm.version")
-> "1.6.0_07-b06-57"

джавку можно звать прямо из кложокода
45 1952981
>>1952267
есть, через пару лет после вката будешь двести-ке-ке получать, если толковый
46 1952982
>>1952981
хотя если мидл, то гораздо быстрее может будет
47 1953221
Тред одного мертвого языка обсуждает другой мертвый язык, у которого даже нет своего треда.
48 1953244
>>1950019 (OP)

>СoffeeScript


>2021

49 1953279
>>1953221

> язык, у которого даже нет своего треда.


Давай сравним количество вакансий на популярном в php (на котором большая часть сайтов) фреймворке laravel и количество вакансий на рельсах, если из пыхи выкинуть говностудии где клепают визитки, а лару прикрепили для красного словца, то будет +/- одинаково. Думаю говорить о какой-то мертвости языка бессмысленно, а на забугорных рынках его доля и того больше, тем более сейчас вышла 3 версия, которая в разы быстрее (ситуация примерно как с выходом 7 пхп), скоро потихоньку в проде начнет появляться, до смерти еще далеко, вон джаву уже сколько лет хоронят, а на спринге сейчас 3000 вакансий. Думаю не стоит делать необдуманных и импульсивных выводов. Шел бы ты уже отсюда, долбоеб
50 1953281
>>1953244

>>СoffeeScript


Надо отдать должное много из его фишек появилось в современном js
51 1953289
>>1953279
Извини, ты прав.
52 1953395
>>1953279

>вышла 3 версия, которая в разы быстрее


Насколько я знаю, быстрее она только по сравнению с с 2.0, а это уже давно легаси. Начиная с 2.4 разница не такая большая, и многие оптимизационные фичи нужно ебаться и включать руками.
53 1953550

>познаем метапрограммирование с Metaprogramming Ruby


Годная книга вообще?
54 1953618
>>1953550
Книга про кодогенерацию на рубике. Таких книг не много в принципе, так что читать однозначно стоит, особенно если хочешь быть адвансд девелопером. Например рэйлз использует кодогенерацию по полной, чтобы тебе вручную бойлерплейт не писать.
Если не знаешь што такое кодогенерация то вот пример: запускаешь irb, пэйстишь в irb пример отсюда
https://en.wikipedia.org/wiki/Ruby_(programming_language)#Metaprogramming

далее

irb(main):032:0> "".methods.grep /in_/
=> [:in_red, :in_green, :in_yellow, :in_blue, :in_black, :in_white, :in_magenta, :in_cyan]
irb(main):033:0> "Something".in_red
=> "<span style=\"color: #f00\">Something</span>"
55 1953620
>>1953550
Очень годная, хорошо оформлена и структурирована, простой английский без всяких мудацких выражений, разбита по дням, в конце каждого дня - практическая задача. Совсем зеленым нубам не подойдет, так как требует базового понимания происходящего и определенного опыта, остальным рекомендую к изучению.
Снимок экрана 2021-02-27 211408.jpg42 Кб, 988x257
56 1953715
в чем причина?
57 1953716
>>1950019 (OP)
Что из себя представляет работа на руби? Делать скучные круды и просто получать килобаксы? Вы не выгораете от этого?
58 1953755
>>1952980

>НЕ CALLABLE A STATEMENT


пиздец, адепты ебучие
59 1953783
60 1953857
>>1953716
Выстраиваем архитектуру хайлоад приложений, расфасовываем микросервисы по кубернетсам, двигаем мировую сферу веб-разработки вперед, получаем килобаксы.
61 1953869
>>1953857
те распиливаете рельсы на части с др языками?
62 1953903
>>1953869
Пробиваем рельсы АК'ом.
63 1953994
Героически вкокотился
64 1954000
>>1953994
Что умеешь? Сколько за это целковых дают?
65 1954111
>>1954000
Скаффолжу круды на аутсорсе. Делаю вид, что занимаюсь КРУДами часами, на деле прописываю все через одну команду. Платят много.
sage 66 1954163
>>1954111
Выгорать не собираешься?
67 1954167
>>1953869
Зачем другие языки? Руби вполне справляется, вынос из рейлс-монолита в микросервис и горизонтальное масштабирование решает проблему и без подключения других языков.
68 1954180
>>1954163
Зачем и почему?
69 1954194
Подскажите, пожалуйста, идеи для каких-нибудь проектов на руби без рельс. Можно и с ними, в принципе.
70 1954415
>>1954194
имибджборда
71 1954892
>>1954194
Твиттер
72 1954894
Сап, рубач! Я тут заметил одну вещь поглядывая видосики на ютюбах, рубисты очень часто используют vim, хотя у остальных разработчиков всегда IDE, почему так не уж то он такой удобный?
73 1954911
>>1954415
>>1954892
Ладно. Звучит довольно просто, КРУД всё же, прикручу сокеты еще со стимулусом. Появилась еще парочка идей, ух, бля.
74 1954943
>>1954894
Некоторым людям удобно, когда текстовый редактор управляется с клавиатуры.
Другим это неудобно и они используют текстовики с графическим управлением мышкой + иногда хоткеи.
А третьи используют IDE. Зачем — незнаю.
75 1954994
>>1954892
Уже нет-скала
76 1955020
>>1954994
Ты о чем, наркоман?
77 1955022
>>1955020
он был написан на рельсах.потом перевели на скалу
78 1955023
>>1955022
Никто не спрашивал, на чем какой сайт был написан, вообще-то.
umbrelliompirubymeetup.jpg60 Кб, 1280x1280
# OP 79 1955072
RUBY ONLINE MEETUP!

4 марта в 17:00 эксперты из компании UMBRELLIO и MPI поделятся своим практическим опытом в ruby разработке.

Программа митапа:
17:10 — Рустам Ибрагимов, "SmartCore (smart-rb) — a set of common abstractions and principles, realized in scope of Ruby, DDD and Clean Architecture"
17:50 — Александр Ильчуков, "MPI: композитные атрибуты моделей данных"
18:30 — Астхана Аникет, "Метрики эффективности сервиса"

Регистрация по ссылке
https://umbrellio-event.timepad.ru/event/1535736/
80 1955132
>>1955072

>SmartCore (smart-rb)


Это же блять литералли спиженный dry-rb, только в сто раз хуже.
81 1955133
>>1955132
Зато своё, полноценно отечественное.
82 1955546
Скажите, как сейчас принято пердолить приложения.

Я запустил все через docker-compose и собирался так и разворачивать на сервере.
Потом мне дяди сказали что это не ок и нужно пердолить куб.

Вроде как запердодил все на k3s. Осталось настроить пару вещей.

Смущает то что:
1. У меня всего 1 хост 2cpu/2gb ram
2. После установки докера и k3s - минус 700мб ram
3. Какого хуя, раньше же хватало 1gb на простые приложения?

Это простое api приложение pet проект.

С другой стороны, сейчас я могу пердолить все с компа, без всяких scp и переноса инфы чтобы что-то запустить. Так же, если правильно понял, не придется пердолиться с конфигами nginx'a.

Еще я запустил private registry. Но буду его отключать после пуша.
83 1955836
>>1955546
А мог бы арендовать виндосервер, поставить туда denwer или openserver и таскать проекты мышкой по папочкам версия1, версия22 и т.д.
84 1955914
>>1955836
Я больше балУюсь. Может быть предложишь еще 1с?
85 1956966
Когда там рельсы переведут на ракторы и акторы?
image.png141 Кб, 500x260
87 1957479
В рамках подготовки к большой конференции RubyRussia, которая обязательно состоится этой осенью, Evrone взяли видео интервью у Юкихиро Матцумото!

Текстовая версия https://evrone.com/yukihiro-matsumoto-interview-2021

https://www.youtube.com/watch?v=B-UFFo4M-04
88 1957481
>>1957479
Что будет с руби, когда Мацумото умрет?
89 1957591
>>1957481
Он же не фюрер вроде Гвидо, ничего не изменится.
90 1957660
>>1950019 (OP)
А в треде разработчики с України есть? Как дела с руби в Украине или вы все на западного барина работаете?
91 1957681
>>1957660
Посмотри на доу.юа информацию. Я сам вкатываюсь только, но вроде как в Украине не так уж и плохо с местными вакухами, если ты в каком-нибудь Харькове или Киеве.
92 1957787
>>1957660
Есть.
Причем с дружной команды Днепра.
Не шучу
93 1957919
>>1957660
Во Львове много руби контор.

>или вы все на западного барина работаете


Разумеется, ты либо напрямую работаешь на западного заказчика, либо через контору. Разве бывает иначе?
RubyRussia RailsClub Evrone.jpg40 Кб, 960x502
# OP 94 1958310
Online Ruby Meetup №13

Уже ставшая традицией встреча Рубистов пройдет в 13-ый раз!

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

Программа:
19:00 Григорий Петров (Evrone) — Почему Ruby медленный?
19:45 Евгений Фатеев (VK Работа) - Learning to Rank вместе с Ruby
20:30 Молчанов Андрей (Uscreen) - Краткая история кеширования
21:15 Цепелев Дмитрий (Evil Martians) - Как ускорить GraphQL API

11 марта 19:00–21:00
Регистрация обязательна: https://rubyrussia.club/meetup-13
95 1958621
Слабо на микрофреймворке запилить сайт без гемов?
96 1958642
>>1958621
Что должно быть на самом сайте при этом?
97 1958644
>>1958621
Каком именно? Синатра?
98 1960496
Есть одно приложение на руби и думаю как его задеплоить в впс. Стоит ли оборачивать это в докер и на впс разворачивать этот самый докер? ВПС сейчас совсем голый и ничего там нет кроме рута.
Как в таком случае лучше сделать?
Что по производительности в этом случае? И насколько я понимаю сама ос в докере не включена, поэтому я не очень понимаю как это должно собираться для прода, мне тот же дебиан надо локально держать для сборки? Как те же настройки домена должны подтягиваться и сертификаты? Или докер чисто для дева, а в проде лучше просто настроить все скриптом а патчи через гит пулить?
99 1960652
>>1960496
Докер нужен для автоматизации (и возможности настраивать для приложения окружение отличное от окружения на самом хосте), если тебе раз поставить посмотреть то нахуй не нужно. Разве что ты хочешь именно в докере поковырятся. Система там уже есть (в образе, там есть некоторые нюансы - контейнер это не полная виртальная машина, без дополнительной хуйни от может запуститься только на линуксе, но это в общем не важно). Сертификаты/настройки или зашиваются в образ (image) - берешь какой-то за основу и делаешь собственный добавляя туда все нужное тебе гавно. Или подтягиваются из какой-то директории которая доступна и из контейнера и на хосте (в докере это volume называют).
100 1960653
>>1960496
если ты деплоишь в докере без к8с или подобного, можно попробовать так это не бест практисы ни разу
- описать systemd service, который будет отвечать за твой контейнер, чтобы логи транслировались туда + был перезапуск и прочее
- конфиги хранить не в докере, типа, либо ты вставляешь конфиги при билде имеджа и они у тебя лежат в куче имеджей, что не безопасно, либо ты их хранишь на хосте где у тебя запущен контейнер, но тогда тебе нужен какой-то баш скрипт чтобы передавать их в контейнер, вообще я бы тут хранил всё в env

> Что по производительности в этом случае?


у докера оверхед почти нулевой на линуксе, забей

> И насколько я понимаю сама ос в докере не включена


включена, если у тебя докер типа
FROM ruby-2.6-alpine
WORKDIR /srv/app
RUN cp Gemfile Gemfile.lock /srv/app/
...
ENTRYPOINT bundle exec rails s
то каждая строчка это типа докер имедж и каждая следующая включает в себя предыдущее и весь имедж это ОС + твой апп и так далее
для прода можешь замутить отдельный докерфайл для оптимизации, то есть отнять гемы группы development, test, не брать ассеты, они же должны быть на каком-то s3

> Как те же настройки домена должны подтягиваться и сертификаты?


хранить на хосте и передавать внутрь

ТЛДР
если у тебя версия руби/рельс такая, что ты можешь обойтись дефолтными зависимостями ОС, немного сторонних либ и изменения не будут частыми, деплой без докера, докер это для
а) автомасштабирования
б) легаси/специфические либы
и так далее
101 1962148
Раньше не задумывался, что писать в пуме в workers и threads_count, а так же надо ли ставить preload_app

есть 2cpu
102 1962154
>>1960653

>ТЛДР


А если нужно что-то допиливать. Вообще с докером быстрее все настроить и пердолить обновления.

А k8s(есть же лайтовые варианты вроде k3s) еще проще, когда все настроено.

Рекомендуют вот это, но я не пробовал http://dokku.com
103 1962809
>>1962154
А докер-конфиг через что деплоить?
Я вот пишу cap production deploy и прод обновляется, с докером же та же херня будет, только плюс пердолить скрипт для контейнера?
104 1963100
>>1962809
Капистрано такая параша. Ее настраивать - дикий пердолинг. Но кто-то использует ее с докером.

Не знаю зачем тебе докер конфиг, я его не использовал.

Если в крадце:
Ты делаешь docker build из dockerfile
Пушишь его в repository(это можно автоматизировать, но мне было лень, чтобы после пуша на гитхаб оно само билдило image)
И там где хочешь поднимать просто делаешь docker-compose up подкинув .env
105 1963209
>>1962809
если без CI/CD, то можешь погуглить "deploy with docker-compose", типа, ты запустишь со своего компа docker-compose команды указав HOST переменную и он их выполнит где надо
106 1963221
Интересно, то есть от капистрано можно вообще избавиться?
107 1963299
>>1963221
Давно не юзаем (про свою тиму говорю, может кому и норм)
108 1963330
>>1963209

>указав HOST переменную


А разве там не нужно подкидывать .env в то место куда ты деплоишь?
109 1963494
>>1963330
хз я просто вспомнил про этот способ и подкинул, погугли
110 1963672
>>1963494
Ну я к тому что много гемора
Online RubyMeetup XIII.jpg831 Кб, 2210x1792
112 1964006
>>1958310
>>1963925
ВКАТИЛСЯ ПО КЛАССИКЕ
113 1964917
Давно был такой вопрос.

Есть ли разница между Class.new

И

Созданием хука included, который так же инициализирует класс и хранит инициализованные объекты в массиве, которые мы потом можем использовать?
По идее это избавляет от постоянной инициализации и не расходует память, как Class.new, верно?
114 1965192
>>1964917

>хранит инициализованные объекты в массиве, которые мы потом можем использовать?


Чево блять? Это типа пародия на синглтон, только без сингл?

>избавляет от постоянной инициализации и не расходует память


Зачем тебе избавляться от инициализации и с чего ты взял, что Class.new "расходует память"?
115 1965432
>>1963925
Слегка оффтоп: по-моему первый спикер говорил в самом начале, что "питание на ядра процессора подается по очереди". Нахуя так?
Screenshot 2021-03-13 at 00.09.26.png210 Кб, 950x2086
116 1965500
>>1965192
Ну возможно это бред.
117 1965656
спбтв усе?
118 1965657
>>1965500
по памяти лопнешь и работает медленно.
119 1965713
>>1964917
Что ты хочешь сделать?
120 1965720
>>1965500
Это не бред, это сумасшедший говнокод, который написан без какой-либо цели и назначения, просто потому что тебе в голову стукнула глупейшая идея уровня "Class.new расходует память", которую ты даже не попытался осмыслить или проверить, перед тем как лепить вот это. Удали пока не поздно и сделай обычный класс.
121 1965964
>>1964917
а BaseService / BaseAccount почему тогда инициализируешь?
типа, руби полностью объектный, если ты пишешь без инициализации классов, это не значит, что код, который ты переиспользуешь или там классы/числа/строки не инициализируются
я понимаю если бы ты с нуля как-то изъебнулся без объектов писать и переписал сайдкик себе и так далее
sage 122 1966172
>>1964917
Откуда вы беретесь? Запрос в БД в 10 раз медленней чем инициализация 100 классов, оставь эти наооптимизации для других языков, напиши нормальный класс. Руби не про скорость выполнения.
123 1966378
>>1966172
Руби - это про трупный запах.
124 1966481
что-то я давно смузи не пил
125 1966607
>>1954943
Так а нахуя вим, когда можно просто поставить вим плагин под любуюу иде? Или для руби иде нет?
126 1966637
>>1966172
Там речь не про скорость, а про засерание памяти наверн
127 1966652
>>1966378
В СНГ может быть, в цивилизации Руби на плаву. И что самое няшное, нет смешных вакансий за 1к бачей как на ДЖсе и другом популярном говне, меньше залетных вкатышей и мидлы-сеньоры норм бабки получают.
128 1966734
>>1966607
Ни в одном из них нет даже полного базового функционала. Сужу по Rubymine. Vs Code давно не щупал, но, там , говорят, до сих пор плагин не просто не полностью работате, но и чудовищные ресурсы выжирает.
129 1966741
>>1954943

>А третьи используют IDE. Зачем — незнаю


Помимо более лучшего автокомплита тут все под рукой, в пару кликов можно увидеть все докеры, зайти в контейнер, открыть вкладку с базами, зайти в любую таблицу, с гитом тоже можно посмотреть другие ветки, вся история перед глазами, удобнее мержить когда все навиду. Все вот это можно и в терминале наколотить, но это дольше, в идеешке пару движений тачпаду или нажатые хоткеи и все готово, это просто удобнее. Ещё интеграция бд в проект, автокомплит SQL запросов. И конечно же проверка на косяки, все ошибки подсвечиваются и при комите переспрашивает ide.
Конечно если пользоваться только как текстовым редактором с автокомплитом, то тогда да смысла ide нет, проще взять какой-нибудь саблайм он шустрее.
131 1967912
Сколько надо выставлять в пуме workers, threads если есть 2cpu 2gb ram.
Какой надо ставить pool в database.yaml?
Screenshot 2021-03-16 at 01.52.29.png63 Кб, 595x347
132 1968021
133 1968097
Народ, я сам слесарь, но руби раньше использовал как вспомогательный язык для своих проектов, и даже embed'ил в свои плюсовые приложения. В общем, мне нравится руби больше чем питон. Но всё же, я не мастер в его ОПП и ваще, использовал как скриптовый язык. Но хочу перекатится на чистую удалёнку и руби выглядит для меня самым вкусным: вижу в инете жирные удалённые вакансии, но всё RoR. Что скажете за это: правда так много вакансий, или это какие-то феки?
134 1968098
>>1968097
фейки
быстрофикс
135 1968445
>>1968097
Да, рор все еще остается популярным фреймворком
136 1968953
>>1968097
Всё это фейки HеRок, они берут с улицы и переучивают на Пайтон и ДжаваСкрипт. Рубисты не нужны, как и сам Руби.
137 1969038
>>1968953
Согласен полностью. Я как в офис пришел, программистом-рельсовиком устроиться, мне PyCharm поставили, дали в руки джангу, грят, сиди, кодируй. Оказалось, рельсы умерли уже лет пять назад, а руби и подавно. Пришлось переучиваться, взяли "джунгистом" работать, что поделать, сижу, переучиваюсь, джаваскреп, вот.
138 1969261
>>1968953
>>1969038
анон, я - слесарь, реально не в курсе. Вы рофлите сейчас или сыриусли?
139 1969263
>>1969261
Ну представь, ты пришел работать слесарем, а тебе говорят, что слесари не нужны, и заставили переучиваться на сантехника. Реалистичная ситуация?
140 1969267
>>1969263
it seems not to be possible
141 1969313
>>1969263
Я устраивался электрослесарем, мне сказали тогда, что я должен еще сантехнику чинить.
142 1969327
>>1969267

>It seems to not be possible


Пофиксил вкатуна

мимо боярин
145 1969334
>>1969327

>It doesn't seem to be possible


Если уж на то пошло
146 1969335
>>1969334
без doesn't тоже можно
image.png8 Кб, 476x106
147 1969991
Аноны, у вас етсь опыт работы с Hotwire Turbo?

https://turbo.hotwire.dev/

Сравниваю эту технологию и vue.js + rest api (на том же руби) и мне кажется что vue.js позволяет в куда более гибкий ui с реактивностью и реиспользованием компонентов. Но хз, реального опыта с turbo нету.
148 1970000
>>1969991
У меня почему-то не работало удаление каких-либо элементов по сокетам, кто-то запостил ишью на гитхабе, но нихуя непонятно, как решать. Охуенно, короче.
149 1970011
>>1970000

Охуенно, чо. Но в любом случае, я вообще не уверен что эта хуйня может в реактивность, как это умеют spa движки нынче
150 1970014
>>1970011
Просто хутемель отсылает по сокетам, вот и всё, аякс обыкновенный, реактивить можно, обмазывайся со стимулосом. Создано-пересоздано потому, что нынешний фронт представляет из себя хтонический ужас из смузитехнологий и их хлёбов.
151 1970021
>>1970014

Понял, буду чекать дальше.

Но пока первое впечатление - похоже на серебряную пулю, было уже JSF, gwt, которые соснули и никому не нужны. Генерация и магея это такое дело, хуй знает.
Смузихлебство с фрнотом и масштабируемым беком мне как-то ближе чем эта непонятная монолитная ёбань.
152 1970217
>>1970021
У DHH https://hey.com/ весь гуй так построен, можно пожмакать бесплатно на триале, на мой взгляд с отзывчивостью полный порядок.
153 1970422
>>1970217

Да, выглядит неплохо. Вопрос только что там с исходным кодом и не пришлось ли там изъябываться им чтобы сделать тривиальные для vue.js вещи.
154 1970837
Скажите что для базового интерфейса можно быстро подключить и начать юзать, пока рельсы изучаю, а то уже глаза болят от голого черно-белого html'а. Что-то наподобие бы самих рельс, чтобы взял установил, набрал пару команд и все есть бай дифолт ну или небольшая конфигурация тоже ок. В фронте просто, вообще, нихуя не понимаю, пока что присмотрелся к bootstrap? Настораживает только что там mobile first прям сразу написанно.
sage 155 1971573
Взять бы одну большую лопату, вырыть большую яму и закопать всю вашу динамически-типизированную парашу.

A lot of convention over configuration might lead your ass to be configured gay-way.
156 1971579
>>1971573
Можешь sorbet попробовать, а так в руби 3 постепенно добавляют статическую типизацию.
157 1971623
>>1971573
На чем пишешь? РАБоты нет и приходится от зависти срать в треды динамиконяшных языков?
158 1971631
>>1971623

Котлен, голенг, жаба.

Руби-жс-питон-парашу приходится тоже ковырять, но каждый раз блевотный рефлекс.
159 1971746
>>1971573

>gay-way


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


Как называется эта болезнь?
160 1971805
>>1971746
Рубист?
161 1972099
>>1970837
бутстрап, tailwind, вот это все, да
162 1972427
>>1971746

Пиздец аргумент, охуеть. У вас, молодой человек, логика протекла в рантайме, следующий раз обдумывайте что говорите во время ЗБОРОЧКИ.
163 1972597
>>1972427
Ох уж эти волшебные типы, которые предотвращают ошибки бизнес-логики в рантайме. Жаль, что существуют они только в больном уме типошизиков.
164 1972811
>>1968021
Шутки из твиттора про твиттор

Ничего, что эта ебаная помойка и раньше работала через жопу?
166 1975936
>>1975924
Давай тогда на православный пхп пересаживайся, легушка
167 1975958
>>1975936
Так я как раз вкатыш - хочу вкатиться на пыху, а потом пересаживаться на руби
168 1976016
>>1975958
Пиздец. Вот такие и заполонили ойти.
169 1976149
>>1976016
Сами виноваты, с нежеланием растить джунов на своём конченном языке. Они в итоге вкатываются как могут, благо единственное требование для вката в элитнейший язык Руби это "просидеть на жопе 1 год бэкендером хоть на битрикс".
170 1976174
>>1975958
Не стоит, опыт на пхп не особо котируется в рельсомирке. Было время даже когда он считался негативным.
171 1976175
>>1975924
Нормальные люди получают зарплату не в валютах третьего мира, так что ничего не поменялось.
172 1976295
Я чего-то не понимаю, или в руби всё не очень хорошо с keyword arguments? В третьей версии получше, но всё равно иногда бывает многовато бойлерплейта
173 1976300
>>1976295
А уж расфасовка kwargs... Слишком уж динамично. Не, я понимаю, что в динамике одновременно и вся мощь языка, но могли бы кое-что и свистнуть у Crystal.
174 1978928
>>1976295
Что именно "не очень хорошо"? Все с ними заебись уже давно.
175 1979022
>>1976149

> "просидеть на жопе 1 год бэкендером хоть на битрикс"


Лол и за этот год научиться создавать инфобдоки в админке, писать компоненты лапшой и клепать шаблоны на говнокоде уровня 4 версии пхп. Если хочешь потом в рельсы, то лучше Yii он очень похож
176 1979371
>>1976149

>растить джунов на своём конченном языке


А кто-то сейчас растит джунов? Этих вкатывальщиков - как собак не резанных, кидаешь им задачи, кто вывозит - тот и растет, а спецов выделять чтобы возился с дурачками, ну это очень расточительное удовольствие, за такое еще нужно деньги брать, а не зарплату платить.
177 1979623
Обязательно иметь опыт какой-то в кодинге, или можно самому вкотицца с нуля?
178 1979656
>>1979623
Нельзя. Все программисты вылазиют из пизды уже с опытом в кодинге.
sage 179 1980170
Какая причина популярности руби?
180 1980251
>>1980170
Раньше аналогов не было. Питон использовался задротами и нердами, нода только пилилась, а пхп говно.
181 1980339
>>1980170
Лет 10 рельсы были единственный нормальным веб-фреймворком
Да и до сих пор чтобы побыстрому накидать мвп для стартапа ничего лучше для бекенда не изобрели.
182 1980902
>>1979371
Растят. В моей конторке, по крайней мере.
183 1981662
Какие книги по ООП дизайну можно почитать, помимо книг Санди? Такие, чтобы отнести к разработке на раби\рельсах можно было.
184 1981991
>>1981662
Видишь ООП в реальности?
Алгоритм как переводится?
Алгоритм противоречит ООП.
185 1982074
>>1981991
Чего?
186 1982076
>>1981991
Весна...
187 1982184
>>1982074
ООП отсутствие компиляции(связаности) все маня-объекты с обращением всего в нул ундефинден.
Алгоритм это путь, а значит императивный.
Тобишь если писать маня-ооп на императивном то ты пишешь процедурки с линковками переменных и скрытыми полями типа аррр_приват[]
И никакое ООП нахуй не всралось с классами и множествами множеств.
188 1982269
>>1982184
Я не совсем понимаю, ты как-то невнятно излагаешь мысли.
189 1982447
>>1982184
Какая разница, даже если у тебя супер-позднее связывание как в смолтолке и нет заранее фиксированной топологии, в динамике путь все равно путь есть.
190 1982483
Дратути уважаемые господа. Встретил в логе такую хуйню:

>Completed 200 OK in 360882ms (Views: 10.4ms | ActiveRecord: 37.9ms)


Как определить, на что проебалось 6 минут?
191 1982646
>>1982483
Посмотреть на предыдущие строчки этого же запроса.
192 1982687
>>1982646
И правда, спасибо, там внутри метода прятались HTTP запросы.
193 1982938
>>1981991
ООП есть только в ерланге и эликсире. /thread

Твое "ооп", из с++, которое спизжено из симулы и которое распространенно, хуйня полная, которую подхватили и впаривают неокрепшим умам. И ты еще здесь впариваешь.

Впрочем, для тебя и смалталк окажется слишком сложный, даже не пытайся. маня.
194 1982940
>>1982938

>ООП есть только в ерланге и эликсире


Тупее еще ничего не слышал. Что-то уровня "ФП существует только на бумаге, потому что в любой программе есть стейт".
195 1983082
>>1982940
ФП есть только в брейнфаке, так как ты не гарантируешь результат компиляции и игнорирование промежуточных итогов.
тобишь вар залупа= конст 2+ конст 2 будет считать каждый раз а не в собраном виде уже вар залупа = 4
nor nand
196 1983084
>>1983082
Весна..
197 1983089
>>1982447
Нет в динамичном ООП ты орешь что ты обосрался, а мамка вытирает тебе жопу или нет если мамки нету.
Рук и ног у тебя нету ведь для вытирания жопы они не нужны.
198 1983158
>>1983089
Ну и как это мешает сделать алгоритм?
199 1983474
Блять, что там за скандал с mimemagic? Я не могу проект выкатить
200 1983523
Шо по кристалу? Пользоваться можно?
201 1983579
>>1983523
Да. 1.0 версия вышла недавно.
202 1983581
>>1982940

>Тупее еще ничего не слышал.


Мои искренние соболезнования, чел. Земля тебе пухом. Даже не пытайся оправдаться и писать что то в ответ. За мной Алан Кей стоит и труды людей книжек object thinking и прочее.

Чел, даже не пытайся в разговор. Ты уже загнал себя в дерьмо. Ушел.
203 1983588
>>1983581
Вот бы еще за тобой аргументы стояли, а не только прочитанная и услышанная где-то шиза, которую ты принял за чистую монету и теперь высираешь тут без попытки ее хоть как-то обосновать.
204 1983608
>>1982938

>ООП есть только в ерланге и эликсире


А как же руби?
205 1983612
>>1983158
Алгоритм должен выполнять то что реально и возможно, а не ну короче создали калькулятор и 2+2не гарантируем будет ли выполнено или нет, может там оператор + пошел на обед
206 1984140
>>1983612
Если что модель акторов полна по Тьюрингу, держу в курсе.
207 1984193
>>1983523
Коммерчески - пока нет. Если нужны статически типированные руби, то норм штука, я тыкаю понемногу.

Правда, хелловорлд в Lucky так и не смог скомпилировать, т. к. макака и там что-то с постгресом надо ебаться, но это пройдёт надеюсь

https://crystal-lang.org/reference/getting_started/ - синтаксис
https://github.com/crystal-lang/crystal/wiki - ещё немного про синтаксис, плюс всякое техническое про компилятор
https://github.com/veelenga/awesome-crystal - куча библиотек
https://tourmaline.dev/ - фреймворк для клепания телеграм-ботов, очень удобный (хоть и поломанный немножко последнее время)

Если кто тоже увлекается - создайте тред, что ли а то я нуб, не рискну
208 1984894
>>1984193

>Если нужны статически типированные руби


Не нужны. На этом кристал заканчивается.
209 1986042
>>1984894
Да тут больше фишка в том что это дело компилируется и работает шустро почти как C этакай Golang с синтаксисом Ruby
210 1986625
Раби еще жив?
Кто-нибудь адоптит сорбет? Выглядит как хуета для тех, кто не любит писать тесты или нанимает сотни макак, чтоб хоть как-то их контролировать.
sage 211 1986634
>>1986625

> Раби еще жив?


Хуй знает, по этому треду вообще непонятно.
212 1986836
>>1986625
А с чего умирать-то?
213 1986837
>>1986625
Алсо, думаю что это специфичная хутка, каким-нибудь сложным проектам подойдет, но для остальных 99% это будет оверинжиниринг.
214 1987133
Ок, с сорбетом не зашло, смотрю. Может кто успешно юзает dry-whatever? Не могу никак на эту дичь перейти с Virtus, поляк поехал со своими неперегруженными интерфейсами, в итоге перегружен зоопарком становится разраб.
215 1987263
>>1987133
Юзают все, и это набор библиотек, бери любую по требованию и юзай без задней мысли. Без do и result монад я вообще не понимаю, как люди обходились в древние времена.
216 1987504
>>1975924
Ну хуй знает, отклонил несколько офферов 320-350, сейчас в идеале выйти на 440, минимум - 380
photo.jpg206 Кб, 569x507
217 1987610
>>1987504

>отклонил несколько офферов 320-350


Вы там в край охуели на своем рубе?
218 1987637
>>1987133
просто возьми кристал, все эти руби-потуги в строгую типизацию просто кал
219 1987665
>>1987637
Шизик, ты?
220 1987725
>>1987637
Ну во-первых, кристал не для продакшна - это точно, во-вторых, я не очень верю в пользу статической типизации, просто хочется более удобную прибуду для валидации и преобразования всяких параметров.
221 1988333
>>1975924 >>1987504 >>1987610

>Ну хуй знает, отклонил несколько офферов 320-350, сейчас в идеале выйти на 440, минимум - 380


Эх ща бы сидеть в рублях

>Вы там в край охуели на своем рубе?


Нет

ЗА МАРТ ВСЕ ПОЛУЧИЛИ?

мимо долларовый удалёнщик $6k в месяц после налогов из предыдущих тредов
222 1988402
>>1988333
Все правильно делаешь. Но я пока не нашёл хорошую удаленку чтобы и
- продукт, а не атусорс
- не стартап
- востребованный на рынке
- $$$
- без переезда
- без если с таймзонами
- без гугл-like собеса

Дело времени, офкорс. Но и на наших тоже смотрю, если продукт пиздатый
223 1988403
>>1988402
- contract, а не job permit
Вот ещё, ну ты понял, рано или поздно так и будет, ангельский в порядке
224 1988405
>>1987610
Ну вот первых проф скилл же растёт, а если не растёт то нахуй так жить?
Во вторых доллар жи
В третьих удаленка и ковид всех уравнивает в сторону увеличения (для нас) и локальным галерам и наебизнесам все сложней конкурировать
225 1988422
>>1988333
Сколько лет опыта?
226 1988436
>>1988422
6+ лет (уже ближе к 7) ну, это с самого начала, с первой работы стажером/Intern/Junior

мимо долларовый удалёнщик $6k в месяц после налогов из предыдущих тредов
227 1988638
>>1987725
ну во первых, если у тебя простейший круд и бзенслогика по преборазованию записей в постгре, то кристал с этим справится даже в проде
во-вторых там есть тайп инференс и писать большинство типов просто не нужно
но вобще он тоже кал, соглы
228 1991062
>>1988436
На каком уровне нужно знать js для вката?
229 1991289
>>1991062
Если легаси-проект, то, скорее всего, хватит Jquery + немного вникнуть в синтаксис coffeescript. Если более-менее новье, то лучше ваниллу подучить чутка. В целом - сильно много не надо.
230 1991724
>>1988333
ниггер ты охуенен, мой герой просто
расскажи немножк што делаешь?
231 1991871
Кто знает, есть ли курсы по руби за доллары, но чтоб сам учился(без ментора, без какой-либо группы в привязке)? Но чтоб была проверка на базе кода какого-то?
232 1993153
Господа рубисты, есть ли у нас вас в языке возможность узнать имя константы, значение которой было присвоено переменной, каким-то более приличным способом, чем так?
MyModule.constants.find { |sym| MyModule.const_get(sym) == my_var }.to_s
233 1993359
>>1993153
irb(main):004:0> ::ZALUPA.object_id
=> 77620
irb(main):005:0> z = ::ZALUPA
=> "hello"
irb(main):006:0> z.object_id
=> 77620
234 1993505
>>1993359
Охуенно, спасибо. На stackoverflow такого не было.
235 1993852
>>1993505
Я не он, но во всех базовых туториалах и учебниках по ruby это есть чуть ли не в первой главе, ну.
sage 236 1995367
test
sage 237 1995975
>>1988436
1 человек за весь тред. Все остальные не могут вкатиться.
238 2000149
>>1995975

Все мои последние проекты - это перекот с рубей (рельсов, как правило) на голенг/жабу/котлен.

Нахуя вкатываться в мертвое говно?
239 2000455
>>2000149
Незачем. Иди крудошлепствуй на голенгах дальше, эту золотую жилу оставь нам.
240 2000491
>>2000149
Ну по такой логике, все мои последние проекты - это рельсы, так что зачем вкатываться в неиспользуемое мертвое говно, вроде жабы, го или котлина? Оправдывайся.
241 2001583
>>2000455

>крудошлепствуй



От рельсоеба это звучит как самокритика
242 2003267
>>2001583
Для неумелых и страдающих афантазией как ты, конечно, все будет как самокритика. Иди крудошлепствуй, дурачок.
243 2010811
>>2000149

>на голенг/жабу/котлен


Ты на всем сразу пишешь?
244 2011069
Анон, помоги нубу. Есть проект такой структуры, что внутри папки есть проект в гите. Но каждая папка внутри этой папки- это тоже отдельные проекты в гите. Не могу настроить рубимайн, чтобы он понимал, что каждая папка это отдельный проект, а не все это один который в корневой папке
245 2011761
>>2011069
эти подпроекты - сабмодули главного проекта
гугли git sumbodules
246 2011915
>>1950019 (OP)
свифт похож на руби блоками.

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

Жалко руби никогда не изучу. А может и к счастью, динамического никогда не любил. Даже хз как там у вас в проектах все. и 3.0 не особо спасает как я понял.
247 2012033
>>2011761
С точки зрения гита это совершенно отдельные проекты
248 2012348
>>2012033
Одновременно верны обе вещи - это сабмодули топ левел проекта(этот проект о них знает и это выражается на уровне команд для менеджмента сабмодулей, наличия .gitmodules файла и прочего) и в то же самое время они являются отдельными проектами и ничего не знают о топ левел проекте.
249 2014628
Уже треть работников Basecamp дропнулась из компании https://twitter.com/_breeeeen_/status/1388198260603506693
Весь ios team и несколько людей с высоких позиций. Плюс кто-то из rails core team. што такои там dhh сделаль?
250 2014631
>>2014628
Ясно, запретили в рабочих чатах упездываться про "политику" и все самые яростные SJW ушли.

This is the rule that’s gotten the most attention so far. Basecamp co-founders Jason Fried and David Heinemeier Hansson are banning conversations about social issues and politics on Basecamp’s official workplace account. Their reasoning is that such conversations are a) too distracting from work, b) unconnected to work, and c) too stressful and conflict-laden. “You shouldn’t have to wonder if staying out of it means you’re complicit, or wading into it means you’re a target,” writes Fried. An addendum post from Hansson notes that Basecamp will still engage in conversations about political topics deemed core to their business, such as “antitrust, privacy, employee surveillance.”

The employee take: The founders of Basecamp assume that conversations about politics and society are unrelated to work. It’s a false assumption. Politics and societal issues shape the world of work in myriad ways, including both the products that Basecamp builds and the experiences that people have while working there. We know, for example, that people’s racial and gendered biases get built into algorithms; that programming terms can reflect racist histories; that conversations about transgender and LGBTQ rights can apply to something as concrete as company policy surrounding pronouns; and that the #MeToo movement prompted a much-needed conversation about how sexism and sexual harassment are rampant in many workplaces.
251 2014770
>>2014628

> Весь ios team


Кто бы мог подумать что для гей-оси работают в основном геи, трансы, блмщики и всё вот это или точнее кто их поддерживает и занимаются хуйней вместо работы, как жаль что сами рельсы тоже не от японцев, а то как-то зайдя на репо увидел "main" вместо запрещенного слова, как блять капитализм вылился в настоящий 1984, а не коммунизм, нихера не понимаю.
252 2014774
>>2014770
А капитализм в коммунизм и выливается у них к сожалению. Все эти блм клоуны и шизики трансы, по крайней мере их thought leaders в академии и около являются "тренированными марксистами". Больно видеть как гнойная identity politics и психически больные люди разрушают в частности американское общество и то что создали продуктивные люди.
253 2014778
254 2014787
>>2014628
нормально там они барагозят
255 2014908
>>2014628
Он трампист.
Screenshot2021-05-01 Misc #17828 Deprecate use of master an[...].png108 Кб, 1772x834
256 2014986
257 2020767
>>1950019 (OP)

> Ruby


Зачем нужен, когда есть python? Чем он лучше?
Не бейте ньюфага, лучше обоссыте
258 2020789
>>2020767

>Чем он лучше?


Рельсами.
sage 259 2020801
>>2020767
Наличием каноничного и правильного ООП.
260 2022888
Хочу походить по собесам на мидла с перекатом в дс, что там сейчас спрашивают кроме самих руби и рейлс, кто в курсе?
261 2022924
>>1953279

>а на спринге сейчас 3000 вакансий


Но вот разработчиков на спринге не в 3 раза меньше
262 2022925
>>2022924
*больше
image.png4,3 Мб, 1920x1080
sage 263 2023133
>>2022888

Спрашивают готовы ли вы будете начать миграцию с рельс на более актуальный стек
264 2023170
>>2023133
Это какой интересно
265 2023256
>>2020767
import import
import (
import )
import .
import os
import print
import alphabet
import sky
import allah

print(ну(а(ты().как().думаешь(?))))

В руби намного пизже синтаксис, чище выглядит код, лучше выдержан ООП-стиль без шизосмеси методчейнов и функций от функций. От двоеточий после def и if, которые абсолютно никакой информации не несут ни человеку, ни интерпретатору, меня пиздец как коробит. Нормальной интерполяции строк не завезли, каждый чих надо импортировать, на базовых классах (особенно коллекциях) нет половины методов, которые в руби искаропки. Ну и итераторы в руби лучше, чем for и while, если проникнешься.
266 2023340
>>2023256
Потому что руби это язык программирования который делает программиста счастливым
sage 267 2023486
>>2023340

В какой именно момент руби, будучи динамической парашей, может сделать программиста счастливым?

Варианты:
- Во время отладки
- Во время написания тестов
- Во время чтения очередного залупного обновление очередного никому не нужного нахуй convention over configuration правила.

Сосите хуй, рубисты.
268 2023621
>>2023486

>В какой именно момент руби, будучи динамической парашей, может сделать программиста счастливым?


В момент, когда ты пишешь код, а не ублажаешь анальный конпелятор из-за религиозной веры в манятипы.
269 2024624
>>2023256

>Нормальной интерполяции строк не завезли


В версии 3.6 или 3.7 теперь есть интерполяция, а так да питон с виду лаконичный и простой, но как-то много мелочей которые добавляют хуевости в язык, плюс не хватает синтаксических фишек которые есть в руби
270 2024628
>>2023170
PHP + Bitrix и это не шутка https://wrp.ru/uslugi/perenos-ruby-on-rails-bitrix/
271 2024640
>>2024628

>По сравнению с другими фреймворками Ruby on Rails выбирают много разработчиков. Но на фоне популярных CMS это сообщество выглядит очень скромно. Для сравнения, разработчики «1С-Битрикс» в 11 раз больше.



Страшно представить...
272 2025173
>>2024640

>Для сравнения, разработчики «1С-Битрикс» в 11 раз больше.



Представил ангар, наполненный гигантами, переписывающими гитхаб с рэйлз на битрикс.
273 2025322
Жаль конечно что популярность невысокая в СНГ, ведь все заебись, язык красивый, маскот и вся эта эстетика языка (красненький, рубин, гемчики, рельсы) очень красивая, ну и то что создатель японец и создавал его с конкретной целью сделать язык для людей, придает чуточку шарма, чего не скажешь о php, js да и питон с go тоже, бездушная хуйня... Я не рубист если что.
274 2026467
>>2025322
Да вполне норм, имхо, учитывая что крупных компаний, которые могут позволить себе массово набирать рубистов-джунов и растить для себя у нас нет вполне популярнен в своей нише. Рельсы даже в в госконторы пробиваются иногда..
275 2028102
>>1950019 (OP)
Кто устроился на джуна в этом году? А то тут как будто перепись матёрых рубистов, которые в валютах получают, мне до такого ещё далеко. Решил с системного администрирования начать вкалывать под рельсы, либо дожимать и идти в DevOps, на пороге выбора, поделитесь мыслям, нужно решить в пользу одного или другого.
276 2029045
>>2028102
Ну а ты сам как думаешь? Много устроилось?
277 2029047
>>2028102
Я после полгода пыха перекатился в этом году. На счёт мыслей, просто попробуй и то и другое, тогда окончательно определишься, одно другое дополняет, что разработчику нужно уметь немного девопсить, что девопсу будет полезно знать какой нибудь скриптовый язык. Можно даже попробовать поработать с чем-то из них, если не понравится, то никто не заставляет жениться на всю жизнь. Я с php начал потому что знаком был немного, а вот как чуток освоился и поглядел какие вакансии говно на нем, сплошные студии кузницы говносайтов, либо недотырпрайз на симфони, так и потихоньку перекатился. А до этого вообще какой хуйней только не занимался и на заводе гайки крутил и проектировал инженерные системы.
278 2029074
>>2029047
На руби другие задачи решают? Те же самые круды для недотырпрайза, один в один. Когда нужно серьезное ноухау сделать пишут не на скриптухе, потом уже на пыхоплеяде дописывают процессинг для бабла.
279 2029246
>>2029074
На пхп другие задачи решают, на одну продуктовую компанию будет десяток студий, каждый раз когда мониторить рынок просматриваешь сотни таких вакансий, а в этих студиях все делается наотъебись, поскольку клепаешь по сайту в день я утрирую, но раз в недели 2 - месяц новый проект, веслаешь и фронт и бек и девопс, пишешь со сроком вчера и постоянно вносятся правки, это качество кода переноситься и в продуктовую разработку, довелось это даже лицезреть пару проектов, я скорее из-за этого ушел. А если перекатываться в симфони, где код почище, пишут тесты и бывают интересные проекты, то на мой взгляд жаба и спринг интереснее будет, особенно по зарплате, php с каждой версией больше становится похож на джаву.
На руби чаще всего продуктовые компании, даже если по проектам смотреть, то на рельсах больше интересных проектов, чем в пхп на ларавеле (советую посравнивать на том же хх.ру) , что отражается на культуре кода и разработки в целом, благо есть с чем сравнить. Ну и плюс ко всему на руби синтаксис лаконичный и сахарный, гемы на все случаи жизни есть, да и много полезных фишек у самого языка.
А так да, одни круды, генерация json'ок на фронт и формы мы вам перезвоним.
281 2029550
>>2029548
Это типо мотивация для вката?
sage 282 2029964
>>2029548
Накрудошлёпили хуиты на пике хайпа, а теперь пытаются зарплатами завлечь, потому что никто не хочет работать на мёртвой залупе
283 2030191
>>2029964
Да вроде тут ни пыха, ни питон, ни goвно, ни жава не упоминаются, да и платят им не так много в сравнении с богоподобным Ruby. Кого там, индусов на этот зоопарк клоунский завлекать? О ком речь идет у тебя?
284 2030477
>>1950019 (OP)
Слышал что в руби нет смысла соваться, если нет хотя бы 1-2 года разработки на другом языке, так как джуном стать на нем нереально, это правда и лучше выбрать какой-то другой язык для вката?
285 2030490
>>2030477
Неправда.
286 2030499
>>2030477
Правда.
287 2030511
>>2030490
>>2030499
Не верь им.
288 2030526
>>2030191

>Да вроде тут ни пыха, ни питон, ни goвно, ни жава не упоминаются


Кто о чём, а вшивый о бане.

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


Пруфы в студию.

>О ком речь идет у тебя?


О руби речь у меня, не виляй.
sage 289 2030569
>>2029964

Осторожнее, ты можешь обидеть нежных рельсодрочеров в этом итт треде. Они еще не проснулись и не открыли для себя ни spa, ни data first, ни нормальные ЯП.
290 2030604
>>2030569

>spa


Не нужно, есть hotwire-rails.

>нормальные ЯП.


Не совсем понимаю тебя. Рельсоводы и пишут как раз таки на руби.

>data first


Это не актуально, просто не нужно, кек.
291 2030658
>>2030604

>Это не актуально, просто не нужно, кек.


Как сказал анон то ли в голанг, то ли в си, треде, "Ненуждоиды есть первый признак загнивания языка".
292 2030810
>>2030658
Раз уж пришел открывать людям глаза, так может пояснишь, что это за "data first"-то такой?
293 2032529
>>2030604

>как раз таки на руби.



>нормальные ЯП



>2021



Чем может руби удивить в 2к21, когда есть шарпцы, котлен, скалка, раст?

Правильно, только глубоким горловым миньетом. Только им.
neSmeshno.png369 Кб, 454x453
294 2032838
>>1991724
ниггре так и не ответил
sage 295 2033022
>>2032529

>шарпцы, котлен


Эта индуская хуйня отстаёт по выразительности от раби десятилетней давности

>скала


Многословная оверкомпликейтед параша

>раст


Байтоеб, плез
296 2033760
>>2032838
да, жаль, может быть ответит еще?

мимооригинальныйспрашивательниггера
16212070022030.jpg95 Кб, 1218x820
297 2033868
Щито делать если я достаточно долго не использовал rails, хотя в прошлом делал какие-то проектики для себя, а так же использовал другие ruby framrwork'и. И вот я решил освежить знания, начал листать книгу по рельсам и меня прям воротит от нее?
В итоге я просто копипастил код чтобы посмотреть как работает проект. Был больше интересен результат.

При этом мне стало интересно рисовать векторную хуйню. И вот я потыкал tailwind + немного обновил внешний вид одного старого сайтика(статического, там bumla) и мне ок.
Еще я примерно месяц назад пердолился с кубернетисом чтобы задеплоить проектик и мне тоже было ок.

Как это можно объяснить? С чем может быть связан негатив к рельсам?
Мог ли я перегореть, лол? Как это вообще возможно? У меня были попытки искать работу, но все заканчивалось тем что убирал резюме и забивал на неск месяцев. Хотя были какие-то предложения. А сейчас вообще чувстую себя тупым.
298 2033969
>>2033868
К психиатру пиздуй
Screenshot6.png2,4 Мб, 1239x918
299 2033985
>>2033868
А ты зачем этим вообще занимаешься? Рельсы — это просто инструмент для молниеносного крудошлепства, если ты не планируешь вебмакакингом заниматься, то и не трогай их. В бар сходи, пиво с друзьями попей, расслабься, зачем тебе все это?
16212070022031.jpg131 Кб, 1026x1202
300 2034044
>>2033969
Антидепрессанты могут усугубить ситцацию и все это долго.

>>2033985

>молниеносного крудошлепства,


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

Но с другой стороны, может быть ты додик-подпивас, который кроме форм ничего не делал и по-этому написал так. Еще и свои быдло-равлечения предлагаешь.
301 2034067
>>2030604

>hotwire-rails.


Сразу нахуй
sage 302 2034664
>>2034044
Ясно. По съебам давай с треда, никто помогать тебе не намерен, тебе здесь не рады.
303 2034970
>>2034664
Сам начал токсить, чмо.

Чому перестали поддерживать http://ramaze.net
304 2034989
>>2034970
Извини, пожалуйста, не хотел тебя обидеть.
305 2035022
>>2034989
Поссал на тебя.
306 2035023
Что думаете насчет http://padrinorb.com

По идее это будет даже более годно чем hanami и тем более rails ?
307 2035164
>>2034970
Почти все мелкие фреймы умерли или стагнируют. Только Sinatra/Roda норм.
Roda интереснее во всём.

>>2035023
Что тут думать? Поверх Sinatra сделан, есть админка, но она какая-то страшная. В целом вещь неплохая.
308 2035165
Почему на Ruby нет аналога WP, ну или Bludit/Automad?
Одни монструозные Rails-based CMS.
309 2035183
>>2033868
ищи конторы где просят писать нормальный код, а не крудошлепить антипатерны на рельсе, будет норм.

на рельсе, кстати, тоже можно писать почти без боли.
310 2035228
>>2035183
Либо пытать счастье во фронте
sage 311 2035285
При загрузке файла в padrino через carrierwave, создается tmp папка на рабочем столе. С чем это может быть связано? В inializer'е только код отсюда

https://github.com/padrino/padrino-recipes/blob/e52c583119cb88281dc13103f10a111c0419bae6/plugins/carrierwave_plugin.rb#L7
313 2036074
>>1984894
Ну хуй знает. Динамика динамикой, а иногда смотришь и думаешь:

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


> А в этом массиве я только инты и собираюсь хранить. Зачем мне туда что-то другое пихать? Ну пусть будет массив одного типа, мне не жалко.


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


> Так этот метод же в любом случае будет принимать только строку, я же на неё #downcase сразу же вызываю в этом методе. Ну и чо плохого будет, если я сразу помечу, что он принимает строку и возвращает строку?



И наоборот, в кристале нилчеки порой заёбывают, и код замусоривается, когда что-то может быть нилом только теоретически. Парсить JSON и подобные структуры тоже боль, там надо компилятору доказать, что ты точно-точно знаешь, в каком формате этот жсон придёт.
Но, наверное, хорошо, что заставляет немножко подумать, прежде чем шлёпать десять методов, которые потом в рантайме по пизде пойдут.
314 2036118
>>2036074
Зачем жрать на кристале, если есть го? (Зачем жрать капусту, если есть картошка?)
Screenshot75.png79 Кб, 712x350
315 2036527
Рубикуны, поясните по-хардкору, какого хуя на последних рельсах на вполне типичном проекте без особой нагрузки (последний релиз рельс, свежий релиз mysql) я получаю такую поеботу совершенно рандомно:

ActiveRecord::ConnectionNotEstablished (No connection pool for 'ActiveRecord::Base' found.):

Как вообще возможно такое, что ПУЛ отсутствует?

Судя по сорцам рельс (ActiveRecord::ConnectionAdapters::ConnectionHandler#retrieve_connection), эта ошибка возникает не когда нет возможности получить коннекшон из пула, а когда самого пула нет. Это блеать в моей голове не укладывается. Как так-то нахуй?

Ниакого ОСОБОЙ нагрузки нет - пару вкладой с рефрешем раз в 2-3 секунды и через 30-60 секунд, как правило, эта хуйня воспроизводится. Через секунд 5-10 эта хуйня пропадает и работа восстанавливается.

В mysql смторел кол-во коннекшонов - оно всегда 2-3 и до лимита оч далеко (лимит около 150).

Может есть какие-то идеи куда еще можно копнуть?
316 2039926
Всегда считал что нет разницы между references и integer.
Как все же принято делать?

Пример

rails g model Membership user:references plan:references
создает t.references :user, null: false, foreign_key: true

Здесь сам по себе идет index из-за foreign_key?

--

rails g model Membership user:bigint plan: bigint
создает t.bigint :user_id

И я видел что потом добавляют
add_index :membership, [:user_id, :plan_id], unique: true
317 2041280
Козлы, вы чо померли тут?
image.png57 Кб, 171x200
318 2041361
>>2041280

> Козлы, вы чо померли тут?

320 2043029
Продублирую с ньюфаг треда, аноны

В руби вообще возможно джуном залететь? На хх полторы вакансии висит. Хочу ебошить бекенд, или мне джангу копать? Синтаксиси языка очень понравился по сравнению с питоном
321 2043200
>>2043029
Реально, если тебе нужны вакансии прям сегодня, то лучше пхп, если можешь тихонечко работая проходить собесы пару месяцев, то вполне возможно, а если живёшь в Москве или Питере, то там ещё проще. С питоном не все так гладко, там вкатывальщиков дохуя
322 2043764
>>2043029
А я думаю что маловероятно попасть джуном с улицы, нужно свои проекты попилить, набраться опыта. А Python это только Django как флагман и может ещё Flask если для web. Остальных почти не видно. Ещё Web2Py (теперь Py4Web) помню.
323 2043772
>>2043200
Этот PHP вездесущ и неубиваем. Там тоже придётся учить какой-нибудь Laravel и ещё кучу всего, но мне кажется в мире Ruby это всё органичнее (rake, rack, puma, minitest и все все все потроха которые требуются для разработки). WordPress ещё на PHP, тоже популярная вещь.

RoR конечно более всего в штатах популярен. Можно посмотреть расклады тут: https://trends.builtwith.com/websitelist/Ruby-on-Rails/Russia
324 2044126
Лучше не лезь в пхп, ничего хорошего этот опыт тебе не даст.
325 2044495
Поясните за индексы в join tables
Никогда не пердолился с этим, оставлял как есть. А сейчас задумался.

create_join_table :locations, :offers do |t|
# t.index [:location_id, :offer_id], unique: true
# t.index [:offer_id, :location_id], unique: true
end

Вот допустим если у меня будет страница Location и на ней Offers этого Location

И в то же время будет Offer со списком Locations.

По идее надо выбирать первый вариант? Оба варианта выбирать плохо?
sage 326 2044516
>>2035164
Все же потыкал роду. Кажется интереснее синатры. Но у меня такое ощущение что все эти проекты вымрут. А как наверно лампово было на них что-то делать лет 7 назад :'(
327 2044519
>>2044516
Почему вымрут? Roda + Sequel + RodaAuth = отличный стек
328 2044520
>>2044495
Первый вариант
329 2045520
>>2044519

> Sequel



https://github.com/jeremyevans/roda-sequel-stack/blob/master/models.rb
Как-то слишком много пердолинга
330 2045523
>>2014774
А меня больше забавляет тот факт, что с этим там никто не борется.
То есть нет борцов против них. Они уничтожают, потому что им позволяют мне кажется это еще более пиздецовее
331 2046661
Вот так законно делать?

add_index :votes, [:votable_id, :votable_type]

add_index :votes, [:user_id, :votable_id, :votable_type], unique: true
332 2047208
Такой вопрос

Есть

User
Associateship(возможно плохое название)
Provider

По и идее нужно чтобы в Provider был главный юзер который сможет приглашать других пользователей

В итоге у меня есть несколько статусов типа

invited
joined
declined

И дальше

has_many :active_members/pending_member/passive_member,
-> { where("associateships.state = ?", joined/invited/declined) },
through: :associateships,
source: :provider

Какой здесь должен быть source? По идее везде provider?
--

Как мне сделать главного юзера который сможет приглашать других?

Создать какой-нибудь join где хранить главных юзеров(которые могут приглашать и редактировать)

Так же я накидал моделей типа Role, Right, но пока не дошел до них
332 2047208
Такой вопрос

Есть

User
Associateship(возможно плохое название)
Provider

По и идее нужно чтобы в Provider был главный юзер который сможет приглашать других пользователей

В итоге у меня есть несколько статусов типа

invited
joined
declined

И дальше

has_many :active_members/pending_member/passive_member,
-> { where("associateships.state = ?", joined/invited/declined) },
through: :associateships,
source: :provider

Какой здесь должен быть source? По идее везде provider?
--

Как мне сделать главного юзера который сможет приглашать других?

Создать какой-нибудь join где хранить главных юзеров(которые могут приглашать и редактировать)

Так же я накидал моделей типа Role, Right, но пока не дошел до них
sage 333 2047487
А еще, логично ли кидать индекс на primary_key если нужно чтобы было has_one?
Screenshot 2021-05-29 at 03.38.45.png68 Кб, 790x1014
sage 334 2047634
Так как тред мертв, продолжим.

Если я хочу вынести все константы в отдельный model.rb
Как сделать его require до иницализации других моделей?

--

Есть смысл все делать через константы или можно сразу прописывать в enum? (Вторая секция на скрине) Как я понял что если эти значения будут использоваться только для select в форме, то можно без констант, а если я планирую использовать эти значения где-то в других файлах, то удобнее с ними.
trans.png1,6 Мб, 1442x1604
335 2047715
>>2045523
Братишка, половина Омерики против этого. Это в "синих" штатах в основном творится ультрапиздец - трансы, ниггеры и прочие меньшинства кэнселят всех, захватили универы, где преподают теорию расы и гендерную науку, ведут пропаганду среди детишек "если ты мальчик но поиграл с куклой тебя надо сажать на гормоны и потом отрезать тебе хуй и вырезать дыру которая будет твоей пусечкой, внутри которой будут расти волосы и сочиться гной и которую тебе придется расширять(dilation procedure) каждый день до конца жизни чтобы оно не заросло". Ментально дефективные гниды(риск суицида под 40%) надели халаты и захватили дурдом.
А вот "красные" штаты как то получше выглядят и там этой гадкой шизе противостоят. В целом я люблю Омерику и верю что они вывезут в результате.
336 2047736
>>2047634
>>2047487
>>2047208
>>2046661

Ну сдохла же доска, ну. Сходи лучше на стековерфлоу.

мимо-вкатун
337 2047851
>>2047634

>Есть смысл все делать через константы или можно сразу прописывать в enum?


Зачем константы? В модели же объявляешь enum, к нему можно получить доступ из метакласса.

Если уж заморачиваться с отдельной сущностью - https://naturaily.com/blog/ruby-on-rails-enum в конце описан способ вынести работу со статусом в отдельный класс, но я не вижу особо смысла в этом, честно говоря.
338 2047887
>>2047634

>Если я хочу вынести все константы в отдельный model.rb


Зачем их выносить в отдельный файл? Если речь идет о чем-то вроде Order::States, то и держи константу там, где она используется, то есть в модели Order.

>Есть смысл все делать через константы или можно сразу прописывать в enum?


Рельсовый enum - это ужасный костыльный контр-интуитивный антипаттерн. Сделай обычный контейнер для констант через класс/структ и держи все там. Вместо ебли с волшебными переменными и волшебными скоупами, ты будешь писать обычный руби код уровня Order.where(state: Order::States.completed) или if order.state == Order::States.completed и тебе не придется гадать, во что оно там превращается под капотом, и куда писать сырое значение, а куда волшебное название из енума. Скоупы и сокращенные записи для этого всего можно сделать элементарно.
339 2048029
>>2047851
Как-то давно так делал, но не нравилось что в бд хранятся 0 1 2 вместо значений которые сразу дают какое-то представление

>Сделай обычный контейнер для констант через класс/структ и держи все там


Вот так и хотел сделать. На моем скрине самое нижнее где unit.
Вчера почему-то не работало. Сейчас кажется ок.
340 2048087
b, c = [1, 2]
Как это называется, где это в документации? Вроде бы патерн матчинг, но не нахожу в доках.
341 2048095
>>2048087
Destructuring, это не PM
342 2048109
>>2048095
Да. В ruby это array decomposition. Хотел что-то такое, если вместо массива мой объект:
b, c = my_obj.
Но не понял пока что должно быть у obj.

Зато так можно:
def my_obj.to_a; [1, 2]; end
irb(main):031:0> a, b = *my_obj
=> [1, 2]
Screenshot 2021-05-29 at 17.11.02.png64 Кб, 466x512
343 2048175
sage 344 2048181
>>2048175
Хотя этой хуйня.
345 2048256
Есть ли смысл писать парсеры на руби или питон в этом плане лучше? Кто писал в чем вообще разница?
346 2048286
>>2048256
Пиши на том что лично тебе удобнее
347 2049910
>>2048175
>>2048087
Напиши ещё

head, *tail = my_array

Весёлая хуйня.
image.png411 Кб, 1280x640
348 2050505
Summer Saint P Rubyconf 2021

Докладчики и доклады:
- Ruby 3.0 Ractors. Михаил Дмитриев (57 votes)
- Rails X. Vladimir Dementyev (56 votes)
- Сага о сагах. Антон Давыдов (50 votes)
- Development-driven testing. Simon Perepelitsa (43 votes)
- Full-stack monitoring. Dmitry Salahutdinov (41 votes)
- Property based testing. Boris Beginin (34 votes)
- Readable code, complexity and you. Grigory Petrov (33 votes)
- Software Engineering vs Software development. Юлиан Покровский (27 votes)

5 июня 10:00 - 19:00
Стрим: будет

Конгрессный центр ПетроКонгресс (Санкт-Петербург, Лодейнопольская ул., 5)
Регистрация: https://kommunity.com/saintpruby/events/summer-saint-p-rubyconf-2021-dbba253c
Screenshot 2021-06-03 at 21.28.18.png146 Кб, 626x1370
349 2055614
Есть гем который генерирует имя и картинку?
Как на двоще бывают рандомные имена
Или пикрил как у телеги
350 2055637
>>2055614
Faker же.
351 2055788
>>2055637
Но он не может в картинки?
352 2055792
>>2055637
>>2055788
Посмотрел. В телеге эти картинки прописаны вот так

https://contest.com/css/contest-zoo.css?7
354 2055901
Хотя можно и обычный факер юзать видимо
https://github.com/faker-ruby/faker/blob/master/doc/default/avatar.md
355 2056778
>>2055788
Может. В комментах выше отписали.
356 2056850
>>2056778
Блять, там только роботы. Это не то.
357 2056888
Кстати, можно использовать github вместо gravatar.

https://github.com/identicons/hui.png
https://github.com/identicons/pizda.png

Они вообще не против этого?
Screenshot 2021-06-04 at 23.32.49.png382 Кб, 2010x1768
358 2057278
Это что за неуважение?
Просто тыкал. Кто-нибудь использует ebs? И вообще, куда вы пердолите свои никчемные высеры поделия?
8DFC8DDC-B5E3-46D9-BB1A-873D683AA8CB.png2,1 Мб, 1920x1440
359 2057620
0795607B-BA43-4233-8FB8-5DE9246C3882.png4,4 Мб, 1342x1792
360 2057657
9390ACF3-4CDF-4375-847A-A75683AE55E4.png2,9 Мб, 1920x1440
361 2057662
6B954019-2953-44F1-B11B-A7947F68344A.png1,7 Мб, 1342x1792
362 2057925
363 2057959
>>2057662
Twgwfwv gsvs
364 2059324
Как вообще делают шаблоны(layouts) где пользователь может сам вставить голый html на страницу через UI или вообще создать отдельный шаблон и выбрать например разные места где будет что-то отображаться?
365 2059753
>>2059324
HTML + CSS + JS во вьюхах.
Это, вроде как, первые уроки в любом туториале.
366 2059756
>>2059324
>>2059753
Или ты имеешь ввиду чтобы прям висивиг где-то в админке?
367 2059767
>>2059324
Ну берут и делают, в чем конкретно вопрос? Есть элементы, есть позиции у этих элементов, все укладывается в обычную запись в базе.
16212070022031.jpg131 Кб, 1026x1202
368 2059881
>>2059753
>>2059756

>pic



>>2059767
Так? ERB.new(@page.body).result.html_safe

А если подблоки то там сохранять content_for :... и в templat'e писать yield в разных местах или ключевое слово типа <- block feed -> и потом заменять его на yieldы?
369 2059889
>>2059881
Ты путаешь лейаут приложения(для которого надо писать yield и который предопределен) и лейаут кастомной страницы-шаблона. Кастомная страница в твоем описании - это абсолютно отдельная сущность и рендерится она отдельно, обычно во фрейме. И там ты уже берешь эту страницу, смотришь какие в нее понапихали элементы и где их надо рендерить и в каком виде. По сути то же самое, что и рендерить например таблицу или модал, только более замудренное.
370 2059891
>>2059881

>pic



Понятия не имею что это должно означать.

В любом случае, тебе стоит внятнее формулировать вопрос и хотя бы какой-то пример юзкейса привести. Вариантов масса. Плюс - не факт, что тебе действительно на самом деле нужны такие костыли.
sage 371 2059906
>>2059891
Ну это не для какого-то проекта, а просто вопрос возник, как такое в принципе делают)
Screenshot 2021-06-07 at 04.43.15.png67 Кб, 1006x204
372 2060129
це шо не так format.js { render json: @post.errors, status: :unprocessable_entity }
373 2060154
>>2060129
И еще как вообще правильно такое делать? Или теперь принятно использовать hotwire. Я видел что там просто это сделать(обновить форму и показать шибки без перезагрузки страницы)
374 2060158
>>2060154
Или можно просто рендерить :new, layout: false и заменять форму
375 2061007
Не понял, как вернуть json одной записи

Есть _post.json.jbuilder

respond_to
format.js { render json: @post }

json.extract! post, :id,
Оно возвращает все атрибуты
sage 376 2061027
>>2061007
Хотя это я додик
377 2061279
Я что-то не пойму.

Если надо засабмитить форму через js(например, используя stimulus и ujs) нужно ли оставлять на форме local: false или делать "submit -> form#submitForm"

submitForm() {
Rails.fire(this.formTarget, 'submit')
}

Просто оно странно работает. Я уже попытался экспериментировать, делая setTimeout. Оно просто не сабмитит форму через Rails.fire

--
Если оставить local: fase и ajax:success->form#onPostSuccess ajax:error->form#onPostError, то оно работает, но мне нужно это все сделать через js
378 2062199
```
Нет чего-то интересного на GitHub — пришли примеры сложного или красивого кода из рабочих проектов
```

Какие же марсиане помойка просто.
379 2062446
>>2062199
Всегда считал их пафосными пидорасами)
Но они вроде крутые, нет?
Стикер191 Кб, 362x346
380 2062601
Стоит ли в сбермаркет собеседоваться?
381 2063509
>>2062601
Анон несколько тредов назад рассказывал что в инстамаркете переработки и дрочево на алгоритмы.

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

board (по сути это то же самое что и category или tag)
posts

Можно отображать все через board#show и в нем @posts
А можно через posts#index и там смотреть на params

Какой их этих способов предпочтительнее
383 2063970
>>2055614

>Есть гем который генерирует имя и картинку?


Недавно видел что-то похожее
http://planetruby.github.io/gems/pixel/05-pixelart-characters
384 2063984
>>2063569
В роуте для такого кейса у тебя будут вложенные ресурсы
resources :boards do
__resources :posts
end

это сгенерирует REST роуты типа boards/{borad_id}/posts/{post_id}.
385 2064037
>>2063984
А если добавлять комментарии к постам например, получится /boards/board_id/posts/post_id/comments
Это неудобно же
image.png60 Кб, 420x294
386 2064329
>>2063984
Вопрос был не в этом. Ну да ладно.
Не первый раз замечаю что в треде анона(подозреваю что он подпивас-вкатывальщик), который дает такого рода ответы.

>>2064037
А если сделать так и еще начать добавлять туда member do, то все это выглядит не красиво

resources :boards, path: ""', only: [:show, :create] do
resources :posts, path: "", only: [:show, :new, :create]
end
387 2064619
>>2063569
Если тебе не нужны ни поиск, ни пагинация по постам, и ты всегда хочешь просто получать все до единого посты борды, то /boards/:id/posts. Если же поиск и пагинация нужны, то либо POST /posts/search(если делаешь нормальное API, с которым надо работать не только твоему же рельсо серверу, потому что в таком случае передавать параметры запроса в квери залупе - это моветон), либо GET /posts и там дрочи квери.
388 2064706
resources :categories do
__resources :books

Category.new(name: "hui")
localhost:3000/hui

@category = Category.find_by(name: params[:category_id])
@new_book = @category.books.new

render form, book: @new_book

form_with model: [:category, book]

=> form action="/hui"

Обычно же делается [@category, @category.new], а символы для неймспейсов. Как оно работает?
389 2064708
f
sage 390 2064929
>>2064706
Please use symbols for polymorphic route arguments.
391 2064983
Какая реальная вилка ЗП? А то мне утверждают, что 100к чистыми это заебись зарплата, а даже 150 уже не бывает. 3 Года нормального опыта, + год попыток в руководство отделом что не пошло и добило меня. На что можно рассчитывать если сьебу? на НЕ руководящую должность, даже на тимлида не пойду
392 2064993
>>2064983
Если на мидла, то от 200к.
sage 393 2065003
>>2064993
Спасибо. А то уже не выносимо делать то, для чего не предназначен или просто черт ленивый и разбираться не хочу, я уже сам запутался
394 2065587
>>2064329

>А если сделать так и еще начать добавлять туда member do, то все это выглядит не красиво


Выглядит так себе, генерирует хер пойми что, сам уже склоняюсь к тому, что лучше руками прописывать роуты, типа как здесь:
https://github.com/openstreetmap/openstreetmap-website/blob/master/config/routes.rb
395 2066095
>>2065587

> генерирует хер пойми что



welcome to ruby world
396 2066931
Аноны посоветуйте материал по структуре проекта на руби. Как сделать импорт на рельсах из CSV в Postgresql?
397 2067289
Нубский вопрос: в одном репозитории апи на рельсе, а другом- фронт на вью. Надо их развернуть на тестовом стенде. Как они видят друг-друга? Где и что прописывать?
398 2067348
>>2067289
почитай про докер.
399 2067439
есть post и polymorphic comments

Если делать <%= render @post.comments %>, то оно ругается что в _comment поле comment nil, хотя еще ни одной записи добавлено не было.

Если сделать
@post.comments each do comment
__if comment.persisted
____render 'comments/comment', comment: comment

Что-то тут не так? Оно ведь должно работать без проверки persisted
sage 400 2067441
>>2067439
fix *Если сделать так, то оно работает
401 2067454
>>2067348
Ну вот развернул я апи на 3001 порту, где во вью приложении хранить эту инфу?
402 2067488
>>2067454
Тебе devops или жс тред. Ты заворачиваешь оба приложения в имаджи. И там и там кидаешь ENV в .env файл. Ты явно не тыкал докер.

>на тестовом стенде


Что такое тестовый стенд.
Ты думаешь здесь экстрасенсы? А если это все пердолить в куб, то это совсем другая история.

Так что ты додик.
403 2067567
>>2067439
У тебя не должно nil прилетать во вьюхи вместо пустого массива. Попробуй в консоли добраться до comments через промежуточную модель. Т.е. у тебя должна быть быть промежуточная_модель.comments
Screenshot 2021-06-14 at 06.03.46.png150 Кб, 1276x466
404 2067577
>>2067567

> промежуточную модель.


Post.find(id).comments возвращает пустой массив.

Если делать вот так, то работает. Там просто комментарии еще могут быть и на самих комментариях.
render @post.comments.where(commentable: @post|@comment)

А еще, то что на пике это же ок?
405 2068328
Как-то я сразу не подумал. Как посчитать nested comments?

post - has_many_comments
comments - has_many_comments

comments сделаны как polymorphic

В итоге если сделать post.comments.count, то вернет только комментарии как бы первого уровня. А ответы на комментарии не посчитает.

Я сначала хотел просто добавить в комментарии parent_id, но забыл. Это хорошая идея или надо как-то по-другому?
406 2068331
Руби-бро, поясните что там есть актуального по вкату.
Неужели книженция 2004 года?
407 2068360
>>2068328
Да, parent_id норм.
408 2068660
Живы?
409 2069536
>>2068660
дед инсайд
image.png57 Кб, 171x200
410 2069549
411 2069558
>>2068360
Типа у всех комментов commentable будет @post
А parent_id и какой-нибудь depth только для нестинга, да?
412 2069812
Почему callbacky не работают на виртуальных аттрибутах?

Есть wysiswyg редактор у которого есть метод возвращающий text.
Тк в бд хранится html, я сделал виртуальный аттрибут(rendered) и пытался сделать before_validation gsub чтобы убрать \n, но оно не работает как бы я ни пытался.

А если сделать кастомный валидатор, то работает.

Что тут можно сделать? В то же время тот атрибут куда записывается html может быть пустым.
sage 413 2070644
Что за хайп пошел вокруг этого какиша https://alpinejs.dev ?

stimulus.js все?
414 2071716
>>2068331
Симдянов из свежего. Путь Ruby актуальна, она более на реальную практику ориентирована. Хартл конечно же. Ну и Ruby. Объектно-ориентированное проектирование.
415 2073784
create_table :comments do |t|
t.references :user, null: false, foreign_key: true
t.text :body, null: false

t.references :parent, index: true, foreign_key: {to_table: :comments} <---- вот это выглядит старнно
t.references :commentable, polymorphic: true, null: false

comment.rb
+ has_many :replies, class_name: "Comment", inverse_of: 'parent' (не знаю насчет inverse здесь)

Хочу чтобы было @comment.replies через parent_id.
Отписывал выше - у меня у всех комментариев commentable это @post.

да, можно сделать через scope
416 2073922
>>2073784
Достаточно было прописать ,foreign_key: 'parent_id'

А есть ли большая разница между

t.references :parent, index: true, foreign_key: {to_table: :comments}

и

t.references :parent, index: true
MOSHED-2021-5-31-22-6-49.jpg1,1 Мб, 1920x1080
417 2077395
Доброе время всем, есть тут те кто относительно недавно (последние пару лет) проходил курсы на thinknetica? Как вообще ощущение? Полезно если только вкатываться? можно ли сразу после идти на стажировку/джуном. Сам я уже 30летний лоб почти, просто хочу перекатиться из инженеры в погроммисты (ну или нет). Интересует ваше мнение (отзывы варируются от хороших до плохих, так что интересно еще.
418 2077544
>>2077395
Я не покупал курс, просто смотрел старый слитый курс, мог сказать что это отличный курс, но только не для новичка, т.е. явно должны быть пара пет-прожектов. Там основная фишка в том что дают понимание как работают в команде, т.е. гит, трекеры и т.д. Если вкатышь, то думаю этоит курс не самая лучшая идея, там уже предполагается что чел понимает руби/рельсы.
posterevent1561940.jpeg79 Кб, 1248x702
419 2078140
Online Ruby Meetup №14

• Оптимизация Rails API-приложений. 5 простых шагов, чтобы добиться успеха. Артур Корочанский, Ruby internal tool developer, Level.Travel
• Рисуем Vue.js вместе с Rails. Иван Соловьев, Teamlead, Evrone

(Завтра) 24 июня 19:00–21:30
Регистрация: https://railsclub.timepad.ru/event/1561940/
420 2078437
>>2077544
Спасибо за ответ, я тоже скачал слитый курс, точнее два курса (ruby on rails с нуля и профессиональный курс, а сейчас они эти два курса в один объеденили), ты видимо смотрел только профессиональный курс, я пока смотрю базовый - все разжевывают с нуля, вроде понятно, как дальше будет не знаю, курс через месяц уже стартует надеюсь подтяну за этот месяц что непонятно.
421 2078830
>>2078437
Thinknetica пожалуй лучший курс по RoR, из русскоязычных.
Но лучше идти туда после прочтения Симдянова (Ruby) и Хартла (Rails) - это сильно ускорит прохождение курса (первые два блока) и сэкономит деньги на обучении, всего месяц на книги потратишь
422 2078885
>>2077395
>>2077544
Слитый вряд ли хорошо подойдет для того кто идет в айти. Если ты с джанги, ларавеля (добавь в список по вкусу) перекатываешься - может быть как роадмап проканает. На деле у них идеальная антипиратская система - 80% выхлопа в домашках которые тебе будут с высокой вероятностью возвращать с комментариями к твоим пулл реквестам.
423 2079110
Dksn
424 2079419
>>2078885
я инженер, перекатываюсь из solidworks )))

>80% выхлопа в домашках которые тебе будут с высокой вероятностью возвращать с комментариями к твоим пулл реквестам.


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

>>2078830
Большое спасибо за ответ.
425 2079428
sage sage 426 2079585
Почему в def create не работает params[:parent_id], но работает comment_params[:parent_id]

f.hidden_field :parent_id, value: "..."

Мне нужно создавать comments, replies. Изначально хотел делать 1 форму, но кажется все же лучше 2 отдельные.

Я хотел проверять parent_id и в ответ кидать форму с ошибками через json
427 2079663
>>2078140
Какая-то лютая унылость вышла. Один спикер выступал 15 минут, второй - 20. Оба в своей тематике откровенно плавают. Организаторы, как выяснилось, даже не смотрят предварительно доклады спикеров (они идут в записи) и не знают сколько они длятся. Рукалицо.
Предыдущие евроновские митапы были значительно лучше, в этот раз что-то пошло не так.
telegram-cloud-photo-size-2-5388792396122272430-y.jpg116 Кб, 1280x720
428 2082694
Ruby On Rails Meetup | СберМаркет Tech
ОНЛАЙН

• Ruby, нейрофизиология и читаемый код. Петров Григорий, DevRel в Evrone
• Service Object в Rails. Олег Федоткин, Head of PaaS СберМаркет
• Чем другие фреймворки лучше Rails. Кирилл Мокевнин, основатель Hexlet

ЗАВТРА 29 июня в 18:00
Регистрация: https://sbermarket.timepad.ru/event/1660166/
429 2083383
Не понял, как загрузить файл на s3 через js?
там wysiwyg редактор и он сразу вставляет <img src="base64.."/>

const upload = new DirectUpload("base64", "http://localhost:3000/rails/active_storage/direct_uploads");
upload.create((err, blob) => {
console(err/blob) <- тут ничего не происходит вообще})
430 2083405
>>2064983
Мидл 220-300
431 2083406
>>2068328

>Как посчитать nested comments?


Никак.

> parent_id


Не поможет.
Если комментарии многоуровневые (пост > ответ -> ответ на ответ -> ответ на ответ на ответ) то это решается стандартными средствами в один проход.
Решений несколько:
1 хранить путь от поста к текущему комментарию в строке «parent_id/parent_id_parent_id/…) и для получения всей ветки where path like
2 использовать CTE с рекурсивным запросом, это называется транзитивное замыкание графа так и гуглиться
3 использовать гем, который совершит обход дерева за тебя путём нескольких запросов к БД со стороны приложения, я такой как-то видел, traversable вроде называется, генерит кучу запросов конечно же
432 2083768
>>2083406
Если выставлять на всех комментариях commentable: @post, то можно считать.

Если на каждом комментарии прописывать parent_id, то можно получать ветки where(commentable: post, parent: comment)

Первый уровень комментариев(к самому посту будет с parent: nil) Можно их подгружать сразу и потом при необходимости грузить ответы на комментарии.

На сосаке сразу грузятся все комментарии и потом жсом фильтруются и отрисовываются.
433 2083809
>>2083768

> Если выставлять на всех комментариях commentable: @post, то можно считать.


Только к посту, но не к ветке.

> Если на каждом комментарии прописывать parent_id, то можно получать ветки where(commentable: post, parent: comment)


И для каждой ветки (каждого комментария, которыц является веткой, то есть присутствует в других комментариях в поле parent_id) по запросу

> Можно их подгружать сразу и потом при необходимости грузить ответы на комментарии.


Ага и каждую ветку придётся грузить отдельным запросом
434 2083810
>>2083768
>>2083809
Это все неэффективно в плане количества запросов. Связано это с теп, что иерархическая ака древовидная ака графовая структура хранится в «плоской» sql базе в виде таблиц с записями.
435 2083832
>>2083809

>Ага и каждую ветку придётся грузить отдельным запросом


Это даже плюс(хотя актуально только если там ооочень много ответов).
436 2083922
>>2082694
СТРИМ (начнётся через 20 минут)
https://www.youtube.com/watch?v=VT_LbyLcBO0
437 2083948
>>2083832
Да конечно плюс ага.
Пост
Коммент 1
Коммент 1
Коммент 1
Коммент 1
Коммент 2
Коммент 3
Коммент 2
Коммент 3
Коммент 4
Коммент 1
Удачи тебе вот такой тред по одной ветке грузить без подветок,охуеешь
438 2083950
>>2083948
Сука.
Пост
Коммент1
Коммент1_коммент1
Коммент1_коммент1_коммент1
Коммент1_коммент1_коммент2
Коммент1_коммент1_коммент2_коммент1
Коммент1_коммент1_коммент2_коммент2
Коммент1_коммент2
Коммент1_коммент3
Коммент1_коммент3_коммент1
Коммент2
Коммент3
Коммент4
439 2084039
>>2083922
Чел в белой футболке микрофон бы купил бы.
440 2084070
>>2084039
Думаю, что его проблема в том, что он капчует из Таиланда/Индонезии (судя по тому, что у него уже ночь там)
441 2084103
>>2083950
>>2083950
Думаю что ты шиз.

Особенно после того что написал тут

>parent_id/parent_id_parent_id/…



> совершит обход дерева за тебя путём нескольких запросов к БД со стороны ....генерит кучу запросов конечно же


Поэтому и лучше все грузить по отдельности.

Блять это то же самое что и

= post.comments.where(parent_id: nil) do |comment|
__=render comment

Это первые комментарии как на youtube

К ним можно грузить ответы

has_many :replies, class_name: "Comment", inverse_of: 'parent', foreign_key: 'parent_id'

и

"comments/_comment.html.erb"

comment.replies.each do |reply|
__= render comment, comment: reply
441 2084103
>>2083950
>>2083950
Думаю что ты шиз.

Особенно после того что написал тут

>parent_id/parent_id_parent_id/…



> совершит обход дерева за тебя путём нескольких запросов к БД со стороны ....генерит кучу запросов конечно же


Поэтому и лучше все грузить по отдельности.

Блять это то же самое что и

= post.comments.where(parent_id: nil) do |comment|
__=render comment

Это первые комментарии как на youtube

К ним можно грузить ответы

has_many :replies, class_name: "Comment", inverse_of: 'parent', foreign_key: 'parent_id'

и

"comments/_comment.html.erb"

comment.replies.each do |reply|
__= render comment, comment: reply
442 2084347
Как сделать путь контроллеру localhost:3000/projects ?Контроллер создаю rails generate controller Projects index, путь localhost:3000/projects/index
Screenshot 2021-06-30 at 01.56.40.png18 Кб, 536x102
443 2084391
какого хуя
444 2084404
>>2084347
мб потому что ты Projects во множественном числе прописал
445 2084621
>>2084391
Любишь binding.pry через Ctrl+C закрывать?
446 2084698
>>2084621
Оказалось это был ./bin/webpack-dev-server

Кстати, как можно ускорить билд, когда используешь tailwind.
Заметил что при редактировании js файлов(контроллеров stimulus), он быстро все компилит.

И еще такая проблема. Я подсел на firefox и он тоже со временем начинает пожирать память, если часто обновлять страницу
447 2084736
>>2084698

>Оказалось это был ./bin/webpack-dev-server


Тут не подскажу - тупо не использую.

>Кстати, как можно ускорить билд, когда используешь tailwind.


>Заметил что при редактировании js файлов(контроллеров stimulus), он быстро все компилит.


ХЗ, опять же - не работал с tailwind. Вроде у них свои фишки с минификацией.

>И еще такая проблема. Я подсел на firefox и он тоже со временем начинает пожирать память, если часто обновлять страницу


Пользуюсь исключительно FF - не наблюдал.
448 2085157
>>2083810

>Это все неэффективно в плане количества запросов. Связано это с теп, что иерархическая ака древовидная ака графовая структура хранится в «плоской» sql базе в виде таблиц с записями.


Почему бы не хранить тред в виде вложенных массивов? Вроде бы монга такое умеет.
449 2085200
>>2085157
реддит и твиттер делают именно запрос чтобы подгрузить комменты
450 2085217
как реализовать структуру такого вида?
[{
id: int,
title: string,
todos: [
{
id: int,
text: string,
isCompleted: bool
}
]
}]
суть: нужно запилить хуйню как на пикрил. идеи: создать отдельную модель todo и соединить с первой project. как это сделать хуй знает, может кто шаги объяснить? или мб похожий проект на гите есть
451 2085402
Скажите кто использует рубимайн, можно ли не покупая просто скидывать триал версию и так использовать пока вкатываешься? потом можно было бы и купить 6 тыс. руб в год вроде не дорого...

Я просто блять не могу больше так, пытался уйти на вим с солорграфом или вскоуд, но это всё работает так будто всё в альфа версии, там баг, тут баг... тут работает не до конца и так далее, это не говоря про постоянную настройку, хочется просто, чтобы из коробки было дохуя фич и они работали.
452 2085413
>>2085402
на рутрекере есть локальные активашки на вечный лицуху
453 2085438
>>2085413
Этот вариант 100% пиратский, хотелось бы что-то более лицушное пусть и используя полумеры.
454 2085454
>>2085438
все пути конкретные - ты или платишь или нет.
z.mp4698 Кб, mp4,
1280x720, 0:04
455 2085658
>>2085217
Ты даже не пытался. Кыш из треда
image.png214 Кб, 1108x934
456 2085671
Кто может объяснить, что ввожу я super(name), что пишу super, один и тот же результат выводит. Энивей же аргумент передаётся.
457 2085686
>>2085671
Есть еще третий вариант - super(), как бы без аргументов.
458 2085691
>>2085686
Теперь оно имеет смысл, когда нет аргмуентов, нужно юзать super()
Но всё же, не понял разицу с пика выше.
459 2085698
>>2085691
Пойду курить доки. Спасибо
460 2085716
Понравился синтаксис языка, причем ещё давно, хочу вкатиться. Насколько критично то, что я не скачал все пакеты? Имею в виду, установил только минимальное количество файлов. Есть ли возможность кодить так же на Андроиде?
461 2085879
Где можно скачать эту книгу?
https://bhv.ru/pdfview/?to=view_2664_978-5-9775-4060-5.pdf
462 2086212
Есть пример загрузки файла https://edgeguides.rubyonrails.org/active_storage_overview.html#integrating-with-libraries-or-frameworks

Там в конце часть const hiddenField = ...

Если я сделаю hiddenField.name = "post[files][]", то он загружает файлы, но file.name получается "files"

В контроллере в permitted_params есть (...,files: [])

Я хочу чтобы отображалось имя файла. Нужно в ручную делать attach или как?
Если сделать post[files][${hiddenField.name}]
То он будет ругаться на unpermitted params. files: [filename=>blob_id, filename2=>blob_id}
Наверно можно сделать accepts_nested_attributes, но судя по примеру по ссылке, там на гифке все работает без пердолинга
--

Так же вопрос. Когда я кидаю файлы, они сразу начинают загружаться. В терминале INSERT INTO "active_storage_blobs"

И потом когда я отправляю форму там

INSERT INTO "active_storage_attachments" ("name", "record_type", "record_id", "blob_id", "created_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id"

UPDATE "active_storage_blobs" SET "metadata" = $1 WHERE "active_storage_blobs"."id" = $2

Кажется что тут что-то не так
463 2086241
>>2085671
А что тебе не понятно?
super(argument) - явно передаёшь какой-то аргумент
super 1 передаются все аргументы, которые пришли в метод
super() - без них
464 2086281
>>2086212
судя по всему file.blob.filename
465 2086316
>>2086241
Да я сразу не понял, что можно другие аргументы передавать. Просто ситуация выше меня смутила, ибо результат был идентичен
466 2086536
Как ограничить размер загужаемого на s3 файла?
Что писать в bucket policy?
Файл загружается до отправки формы.
467 2086554
>>2086536
Вот какого хуя об этом не написано тут?https://edgeguides.rubyonrails.org/active_storage_overview.html
468 2086555
>>2086536
Вот какого хуя об этом не написано тут?https://edgeguides.rubyonrails.org/active_storage_overview.html
469 2087080
>>2086536
Емнип для этого нужен отдельный гем activestorage validators
470 2087208
>>2087080
Файлы на s3 начинают грузиться до сабмита формы
471 2087317
>>2087208
я на рубике не пишу совсем, но вот нагуглякал, может пунтк 1 в тему(JS валидатор который прогоняется когда файло выбрано)?
https://stevenyue.com/blogs/validate-attachment-file-size-and-type-in-rails/
473 2087545
>>2087080
>>2087317
>>2087318
Сколько же подпивасов в треде
sage 474 2087546
>>2087545
Добавлю, что подозреваю что нужно заоверрайдить контроллер который создает pres signed url
475 2088612
>>1950019 (OP)
Какая ситуация по вкату на Июль 2021?
476 2088617
>>1950019 (OP)
Какая ситуация по вкату на Июль 2021?
477 2088654
>>1950019 (OP)
Какая ситуация по вкату на Июль 2021?
478 2088827
Кто-нибудь использует Aptana Studio? Пойдет на замену RubyMine или говно?
479 2088915
Анончик, прошу совета у тебя, о мудрейший. Что ты используешь на проектах для аналитики? У нас есть некий дешборд для каждого клиента где показывается сколько было постов, сообщений, загрузок файлов и прочих событий за какой-то период. Данные эти все берутся прямо из базы. Ожидаемо, оно начинает подлагивать так как данных много и чем больше клиентов будет тем больше будет лагать.

Я в сомнениях какой сервис предложить чтобы слать туда все эти события а потом строить дешборды по ним. Из нужных фич - это фильтрация событий по разным параметрам(тип события, user_id, дата), агрегация(типа выбрать 5 топовых юзеров, посчитать количество за период). Я работал раньше с mixpanel, он вроде заточен как раз под такие штуки и там есть довольно гибкий язык запросов, но он вроде дорогой. Есть еще всякие amplitude но про них я ничего не знаю. Или брать какой-нибудь амазоновский dynamodb/redshift/kinesis и пердолиться с ним.
480 2089084
В чём я не прав то?
481 2089224
Есть идеи как это вообще делать?
482 2089226
>>2088915
PowerBI.
483 2089285
>>2089224
А что ты уже умеешь? Прочитать первые два бита из числа сможешь?
Screenshot 2021-07-07 at 11.44.35.png17 Кб, 360x278
484 2089439
>>2089285
Так могу если ты про это.
485 2089468
>>2089439
А еслиспомощью операторов на картинке?
всё тот же мимокрокодил из си-треда
486 2089545
>>2089468
>>2089439
В общем решил для тренировки вашу задачку
(сам в байтоебле до этого замечен не был).
Вопрос в том, решил ли я её самым оптимальным образом или можно лучше?
Есть ли ещё подобные задачки?

Кодирование:

number = form_index | (color_index << 2) | (x_coordinate << 5) |(y_coordinate << 13);

Раскодированние:

form = number & 0b11;
color = (number & (0b111 << 2)) >> 2];
x_coordinate = (number & (0b11111111 << 5)) >> 5;
y_coordinate = (number & (0b11111111 << 13)) >> 13;
487 2089575
>>2089545
Я надуюсь, что ты тот анон, что пришёл с вопросом.

>Вопрос в том, решил ли я её самым оптимальным образом или можно лучше?


Так это не задача, это задание на закрепление использования поразрядных операторов. Оптимально было бы использовать битовые структуры, чтобы самодокументирующийся код получился, но я про руби не знаю, есть ли тут такое вообще.
488 2089631
>>2089224
>>2089439

Это откуда?
489 2089653
>>2089545
>>2089224
Зачем заниматься байто-сексом в не байто-сексе языке?
490 2089699
>>2089631
>>2089653
Я купил книгу эту >>2085879 читаю и делаю упражнения. Но этого, с кодировкой не понял.
Я думал что опытные рубисты поймут в чем суть задания и объяснят мене.

Вышел какой-то СИ-боярин и говорит что что-то там накодировал. Ответ убил
491 2089753
>>2089084
Владислав, иди нахуй
492 2089941
>>2089699

> в чем суть задания



сделать надо было еще вчера! хули ты не сделал! чтобы сел и сделал. времени час!

Объяснил, опытный рубист.
493 2089954
>>2089941

>опытный рубист


ебанутая пидераха
494 2090308
>>2020767
Двачну вопрос, я такой же ньюфаг. Зачем мне как заказчику, например, делать выбор в пользу руби, если питонистов и пхпшников на рынке на порядок больше?
495 2090368
>>2090308

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


В том, что заказчику похуй на том что ты там делаешь, он смотрет на готовый продукт и проверяет на наличие фич кликая по сайту, а что там под капотом в чёрной коробке ему глубоко похер и уж тем более на чём оно написанно.
496 2090413
>>2020767
Легаси, которое на западе популярно.
497 2090802
>>2085716
На андроиде можно, но ты заебешься, купи на авите дноутбук лучше.
498 2090936
Как бы вы сделали на рельсах полное семейное дерево, в котором есть по два родителя (а не просто parent - child, это просто)?

Я сначала делал class Cat, который может быть как родителем, так и ребёнком, и класс Litter (помет котят), у которого есть father_id и mother_id, а у каждого котёнка есть litter_id. Оно работает как-то хуёво у меня.

Может, сделать AbstractCat, и от него наследовать BreedingCat и Kitten? А если, вдруг, котенок подрастёт и останется в разведение, можно будет перенести его в таблицу breeding_cats. Последних все равно будет относительно немного, хз.

Завтра ещё поковыряю и покажу конкретный код, если надо
499 2090938
>>2090936
Ну и вообще, нормально ли городить новую модель на каждый чих? Посоветуйте хорошие проекты с открытым кодом почитать.
500 2091073
>>2090936
Я бы все в одной модели делал.
501 2091203
>>2090936

>Как бы вы сделали на рельсах полное семейное дерево, в котором есть по два родителя


Родственные связи - отношение одного человека ко многим, соответственно, есть модель Человек, а так же модель РодственнаяСвязь, которая ссылается на двух людей и содержит тип отношения, Человек через ассоциацию has_many :through получает доступ ко всем своим родственникам.
изображение.png108 Кб, 1319x709
502 2091698
Короче, пока сделал вот так.

Если на Litter вызвать #father или #mother - всё работает как ожидаемо

Если на котёнке вызвать #litter (где он родился), то тоже работает
А если на котяре вызвать #litters (в каких пометах он отец), то выплёвывает

Litter Load (0.6ms) SELECT "litters". FROM "litters" WHERE "litters"."mother_id" = ? AND "litters"."mother_type" = ? / loading for inspect */ LIMIT ? [["mother_id", 1], ["mother_type", "Cat"], ["LIMIT", 11]]
Traceback (most recent call last):
ActiveRecord::StatementInvalid (SQLite3::SQLException: no such column: litters.mother_type)


Вот этот суффикс _type я видел только тут https://api.rubyonrails.org/classes/ActiveRecord/Inheritance.html

и, как я понял, он означает что-то вроде сабкласса в иерархии наследования (где таблица только одна, по основному классу).

Может, и правда сделать абстрактный класс кошачьего существа и от него наследовать кота и кошку?
503 2091704
>>2091698
Ещё попытался сделать так, что Cat has_many :kittens, through: :litters, as: :father/mother, но это уже на потом, если у меня самое основное не работает
504 2091778
>>2091698
Для класса Litter нужно прописать foreign_key в belongs_to ассоциациях, чтобы AR знал, на какие id опираться для извлечения данных, ты их прописал в миграции, но это должно быть прописано в модели в первую очередь.

Ассоциация Litter has_many :kittens не будет работать, так как нет данных о конечных id Cat для извлечения.

belongs_to содержит foreign_key внутри таблицы
has_many содержит foreign_key во внешней таблице

Соответственно: Cat has_many :father_for, class_name: 'Litter', foreign_key: 'father_id'

Вообще есть ощущение, что у тебя логическая ошибка при построении моделей, потомство по-сути подмножество котов, то есть входят в модель Cat, а каждый кот - чье-то потомство, одна сущность размазана по двум моделям, по этой причине возникает сложность с описанием ассоциаций.
505 2092645
>>2091778

>Ассоциация Litter has_many :kittens не будет работать, так как нет данных о конечных id Cat для извлечения


Но ведь это у меня как раз-таки и работало даже до того, как я расплакался и пришел на двач

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


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

UPD: методом проб и ошибок пришёл к пкрлтд. Всё работает как задумано, но has_many :litters, foreign_key: 'father_id' отменяет has_many :litters, foreign_key: 'mother_id'.

Это проблема именно на стороне модели Cat, т. к. Litter всё переваривает, и в базе конфликтов никаких нет. Запрос такой:
SELECT "litters".* FROM "litters" WHERE "litters"."father_id" = ?

Самое простое решение, что я вижу - переписать в классе Cat метод #litters, на Litter.find_by, но с условным оператором, который будет проверять пол кота, на котором вызывается запрос.

И в целом как, не сильно говно? Я лишнего не понаписал вроде, постарался максимально компактно записать всё.
506 2092646
>>2092645
ебанарот, а чё ненужные скрины не отвалились-то?
507 2092763
>>2092645

>UPD: методом проб и ошибок пришёл к пкрлтд. Всё работает как задумано, но has_many :litters, foreign_key: 'father_id' отменяет has_many :litters, foreign_key: 'mother_id'.



А нафига ты их разделяешь? У тебя же есть пол в модели cats.
508 2092810
>>2090308

Заказчику россиянину конечно ваш Ruby не нужен.

Вы стату посмотрите, какой легаси? Ruby в лидерах
509 2092831
Без россиянина барина как-нибудь обойдусь в крайнем случае, но PHP и прочую погань учить не буду. Брал то что по кайфу. К тому же PHP сейчас оброс сахаром, стал каким-то Java подобным, как франкенштейн

Пусть по кайфу будет, а барина на вилы
510 2093801
>>2090308
Скорость разработки же. Руби весьма популярен для стартапов.
https://charliereese.ca/article/top-50-y-combinator-tech-startups
511 2093860
Объясните зачем и почему next, а не return

post "/gems/:gems/categories" do
gem_name = params[:gems]

redirect "/" unless gem_name

gem = Gems.fetch_gem_by_name(gem_name)

next 404 unless gem

category_ids = params["categories"] ? params["categories"].map(&:to_i) : []
categories = Category.where(id: category_ids).to_a

believe = params["believe"]
token = Token.new(params["token"])

CategoryChange.new(gem, categories, token, believe).execute

redirect "/gems/#{gem.name}"
end
512 2093863
>>2093801
Я про эту стату и писал выше. В СНГ конечно всё иначе.
В США очень популярен.

Кому интересно что пилят, лезем сюда:
https://trends.builtwith.com/websitelist/Ruby-on-Rails/Russia
https://github.com/jeromedalbert/real-world-rails
513 2093881
>>2092763
Так ведь Litter belongs_to двум разным объектам. Мамке и папке.
514 2094278
>>2093881

>Мамке и папке.


Ты не понял. У тебя это одна и та же модель Cat, это просто алиасы. Из-за этого ты два foreign_key делаешь в одну таблицу.
Тебе вообще не нужно belongs_to: father, belongs_to: mother - беспричинно усложняешь, с учетом того, что пол (sex) у тебя в модели Cat уже есть (кстати, почем он binary, а не integer???)

Сделай belongs_to: parent, class_name: 'Cat'

Выборки делай методами или скоупами.

Например:
def father
parent.where(sex: :male)
end>>2093881
1626119721222.jpeg14 Кб, 414x238
515 2094388
>>2094278

> binary


Интереса ради тыкнул. Охуел, когда увидел, что это руби-строки "1" и "0", уже поменял.

> belongs_to :parent


А я не понял, а в таблице, получается, на каждый litter только один parent_id будет?

> методами или скоупами


Да со стороны litter у меня уже всё работает. К стандартным только пикрлтд добавил (в Cat), вроде нормально. Просто я пездюк без опыта, и мне непонятно, дебильные ли это костыли или оптимальный способ решения.
516 2096109
Товарищи рельсовики, есть кто вкатился в Канаду без высшего образования?
517 2096567
>>2023256
я конечно сам рубист уже много лет, много чем кроме руби пописал, в общем руби нравятся, но больше всего ненавижу в руби всяких шизиков как ты

> без шизосмеси методчейнов и функций от функций.


если ты про замыкания и возможность передавать функцию как аргумент?
А в руби так нельзя, да?
А блядь там же сахар, что функцию можно без скобок вызывать, поэтому теперь нельзя реализовать нормально передачу функции как объект в языке. Поэтому они ебанули блоки, вот это решение, не шизоидное. Ну ок, теперь пишем ебаные блоки, зато скобки не пишем, аа блядь забыл, в рубишном стайлгайде почти всех компаний, если аргументов больше 1 то скобки ставим. Хуево вышло, тебе так не кажется?
Да и ебанули эти блоки а толку, сахарного декоратора тоже нет, в жопу себе эти блоки можешь засунуть

> От двоеточий после def и if, которые абсолютно никакой информации не несут


в руби ты енд в конце ставишь, но зато без : и табуляции. Да даже если ненавидишь вложения по табуляции, в с подобном синтаксисе со скобками {} лучше, нахуй эти end. Лучше потому что если у тебя легаси метод на овер 200 строк, ты в виме, да и в любом редакторе из коробки найдешь конец любого блока. в случае руби, тебе нужен специальный парсер, который найдет найдет нужный енд. ДЛЯ МЕНЯ ПИЗДЕЦ КОРОБИТ

> нет половины методов, которые в руби искаропки.


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

> Ну и итераторы в руби лучше, чем for и while, если проникнешься.


про list comprehension ты конечно же не слышал
518 2096882
>>2094388
У каждого Кота есть мать и отец, которые в свою очередь являются котами, то есть достаточно одной модели и одной таблицы.
изображение.png37 Кб, 814x173
519 2096920
>>2096567

>про list comprehension ты конечно же не слышал


Глянул ради интереса, это нормальная практика на питоне - писать такое?
520 2097565
>>2096920
Да все нормик
https://ideone.com/Iu9mxN
Screenshot 2021-07-16 at 23.14.30.png51 Кб, 224x316
521 2097931
Собираюсь прочесть пикрелейтед (2014г).
Знаю что есть более свежие книги, но хочу начать с этой
Если кто читал, скажите что из написанного потеряло актуальность
522 2097941
>>2097931
Упс, она в 2014 переведена на русский. Сама книга 2011 года.
523 2098132
>>2097931

Листал, она старая очень. Хартла читай. В сети есть по Rails 6, но на английском. Можешь сверять с предыдущим русскоязычным изданием.
524 2098286
>>2020767
Руби нужен когда ты заебался бороться с дизайном языка-нейм и наконец понял, что хочешь просто писать программы обычным английским языком, по мере возможности. Начинать с руби - не могу порекомендовать, я не представляю как такой человек потом выйдет в остальное дикорастущее ИТ и не сдохнет от первого же разрыва шаблона, которых там как говна за баней, как будто придумывать всякую экстравагантную хуйню - являлось основной целью дизайнеров других ЯП, чтобы быть нитакими как все.
525 2098293
>>2098132
Кстати даже эта книга что я скинул, оказывается имеет новую редакцию для 6 рельсов от 2020года.
526 2098804
>>2098293
Английское бумажное? Даже pdf думаю нет.
Почему мало издают литературы у нас по Ruby/RoR
527 2098820
>>2098286

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



О чём речь, можно подробнее?
Screenshot 2021-07-17 at 22.52.03.png302 Кб, 1502x556
528 2098911
>>2098804
Вон 6 версия верхняя левая.
Я пдфок накачал и 1 книгу даже купил. Все что выделено, это 20-21 год.
529 2098920
>>2098911
Ага, вижу. Как ты их читаешь, тем более такое количество, с экрана неудобно

Head First не зашла в этот раз. Серия неплохая в целом.
Там Sinatra ещё

Ruby для романтиков это которая всеть утекла или покупная?
Я листал ту что в сеть попала, что-то она не очень, а цена высокая
530 2098930
>>2098920
Я вкатыш. Только начал читать книги.
Прошел этот курс https://rubyschool.us/ и от них бесплатная книга книга по руби "для романтиков"(не рельсы. В ссылке что скинул)
Покупал электронную эту https://bhv.ru/product/samouchitel-ruby/
На русский как я понял книги очень хуево переводят. Спустя года 3 после релиза.
531 2099058
>>2098286
Ну хуй знает. На руби можно тихо-спокойно ознакомиться с основными концептами программирования без особой ебли если не считать ебучий линукс с RVM)))))))))))))). Если бы я начинал на питоне или, ещё хуже, на чём-то джаваподобном, я бы через три дня забросил и пошёл на завод работать.
532 2099654
>>2098930
Симдянова в бумаге брал. На пару раз прочесть хватит, потом развалится.

> На русский как я понял книги очень хуево переводят



Это да. Хочется бить их и за волосы таскать
533 2099656
>>2098930
Симдянова в бумаге брал. На пару раз прочесть хватит, потом развалится.

> На русский как я понял книги очень хуево переводят



Это да. Хочется бить их и за волосы таскать
534 2099963
Консоль Interactive Ruby пишет про "NameError" когда пытаюсь запустить .rb-файл, но при этом открывает файлы если открыть их непосредственно из папки, в смысле нажать на файл и открыть.
Так же не могу скачать пакеты, по крайней мере команда на скачку графических пакетов ни к чему не привела. Кто-нибудь знает в чем дело?
535 2100033
>>2099963
Скрины давай, ничего не понятно
536 2100263
Вопрос, господа

RoR для разработки дейтинг-приложения подойдёт? Какие сложности могут быть? Интерактив интересен, чат, живые уведомления, статус онлайн и прочее
537 2101105
>>2100263
Весь этот функционал видел в гайдах на Drifting Ruby, только за бабки.
538 2101900
Тим лиды есть в треде? Как оно вам быть прорабом этой хуйни?
539 2105909
Почему в этих случаях forums_path

тригерит forums_controller

resources :forums do
resources :posts
end

а тут posts_controller

resources :forums, path: '' do
resources :posts, path: ''
end

И где в этом случае нужно рендерить посты?

Можно в posts_controller проставлять forum(before_action: set... only: :index)

Либо в forums_controller
sage 540 2105910
>>2105909
Наверно, все же правильнее рендерить посты из forums#show(Это если брать аналогию со стандартным примером post/comments)
541 2107961
Перекатите тред, чо вы как эти самые
sage 542 2108040
>>2107961
Зачем....
543 2111516
господи, тут мертвее чем в сишном треде. Что руби уже наконец сдох?
544 2111774
>>2111516

> Что руби уже наконец сдох?


Если тебя этот вопрос волнует, то значит есть какой-то профит с этого?
545 2111804
>>2111774
ну да, когда руби сдохнет столько народу на заводы за станки пойдут Роиссию матушку с колен поднимать
Тред утонул или удален.
Это копия, сохраненная 31 июля 2021 года.

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

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