Главная Юзердоски Каталог Трекер NSFW Настройки

Программирование

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 517 74 171
Ruby thread номер undefined method + for nil:NilClass (NoMethodError) /ruby/ Аноним 02/02/23 Чтв 16:19:36 2596950 1
image.png 184Кб, 1024x768
1024x768
Что нового:
https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/

ИЗУЧЕНИЕ ЯЗЫКА
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: @rubylang | @rubyschool | @rubyrush | @ruby_talks | @ruby_wdh

РАБОТА
https://hh.ru/search/vacancy?text=ruby
https://t.me/rubyjob
https://rubyjobs.dev/
https://www.upwork.com/
02/02/23 Чтв 16:20:32 2596953 2
Аноним 02/02/23 Чтв 16:23:17 2596955 3
Снимок экрана о[...].png 66Кб, 1111x544
1111x544
Просто оставлю это здесь
Аноним 02/02/23 Чтв 16:37:07 2596980 4
>>2596955
$1200 в месяц - это очень хорошая зарплата, не понимаю ваших претензий
Аноним 02/02/23 Чтв 16:42:13 2596993 5
>>2596980
1200 $ в день. Это 150$ в час.
Это реальная зарплата.

Средняя зарплата айтишника во всем мире 135 тыс. долларов в год (средний уровень)

1200 в месяц - не деньги вовсе. Это заработок за пару дней должен быть минимум.

>не понимаю ваших претензий
Ты, наверное, даже конституцию не понимаешь, да?
Аноним 02/02/23 Чтв 17:03:02 2597039 6
изображение.png 109Кб, 502x508
502x508
изображение.png 50Кб, 1111x153
1111x153
>>2596980
>$1200 в месяц - это очень хорошая зарплата
6000-8000 за удаленку без ебли мозгов от недоразвитых - вот уже что-то уровня мрот айтишника, потому как должны быть миллионы долларов просто на консалтинге даже или на айти исследованиях рынка.
Аноним 02/02/23 Чтв 19:34:18 2597258 7
>> Ruby thread номер undefined method + for nil:NilClass (NoMethodError)

Soucka. Жизненно.
орнул
Аноним 02/02/23 Чтв 20:02:34 2597302 8
>>2596955
Это уже ит-консалтинг скорее.
Аноним 03/02/23 Птн 13:52:26 2597946 9
Аноним 03/02/23 Птн 13:57:07 2597951 10
>>2597039
По факту, марсиане - аутсорс галера, cредненькая зпшка, додики-сотрудниками, постящие свои нюдесы. общение с ними начинается с предложения нарушить свои трудовые догововора, аля "покажите ваш коммерческий код", что как бы намекает. Понтов выше крыши.

пруф ми вронг.
Аноним 03/02/23 Птн 18:03:32 2598163 11
>>2597951
> постящие свои нюдесы

Жесть. Как раз хотел к ним апплаиться на след неделе, но после того как ты такое написал.....пожалуй сделаю это прямо сейчас. Go martians!
Аноним 04/02/23 Суб 01:05:51 2598498 12
>>2596993
> Ты, наверное, даже конституцию не понимаешь, да?
Это шутка была, пчел. Когда кто-то типа учителя в рашке говорит "получаю 17 тыщ рублей", принято отвечать: "17 тысяч в день - это очень хорошая зарплата. Вот тут такое же, только наоборот.
Аноним 04/02/23 Суб 09:30:38 2598595 13
Напоминаю: вкатуны, проходите мимо этого языка.
Аноним 04/02/23 Суб 13:04:43 2598724 14
>>2597951
> аля "покажите ваш коммерческий код"
Не храню, доступ к репозиторию забрали при увольнении. А какой ответ должен быть?
Аноним 04/02/23 Суб 13:05:03 2598725 15
>>2597951
> аля "покажите ваш коммерческий код"
Не храню, доступ к репозиторию забрали при увольнении. А какой ответ должен быть?
Аноним 04/02/23 Суб 14:59:28 2598853 16
>>2598498
Теперь понятно, это, безусловно, горькая правда, спора нет, 17 тыс руб, как и 1200$ - низкая зарплата, ты прав, конечно.
Аноним 04/02/23 Суб 15:06:01 2598860 17
>>2597951
>По факту, марсиане - аутсорс галера, cредненькая зпшка, додики-сотрудниками, постящие свои нюдесы

Ну вот, и даже они предлагают 6-8 тыс $ за удаленку, я же говорю, это должен быть абсолютный мрот айтишника.
Аноним 04/02/23 Суб 18:11:21 2599105 18
>>2598725
>Не храню, доступ к репозиторию забрали при увольнении. А какой ответ должен быть?
Поставь себя на место собеседующего, у него задача - убедиться что ты не вкатунишка с курсов, к которому придется приставлять личного ментора и ревьюить каждую запятую, он хочет увидеть что ты можешь и пишешь код, и что-то посложнее дефолтного скаффолда с каталогом залуп, а то что у тебя ни строчки кода не осталось и доступ забрали и показать нечего звучит максимально тухло, после такого аргумента не перезанимают.
Аноним 04/02/23 Суб 18:20:33 2599128 19
>>2598725
>А какой ответ должен быть?
Говоришь, что ты подписал nda, но реализовывал такое-то, можешь показать кусок кода на гитхабе другого своего недопроекта.
Аноним 05/02/23 Вск 02:13:00 2599487 20
Почему все говорят, что Ruby умер?
Меня все знакомые отговаривают его учить, причём отговаривают агрессивно, будто промытые. Что за хуйня?
Аноним 05/02/23 Вск 08:14:52 2599550 21
Аноны, это опять я. У меня ОКР и я очень тщательно отношусь к программам, которые устанавливаю в систему. Так вот.

Можно ли установить Ruby base file, но не устанавливать MSYS2 development toolchain?

Мне кажется, что это избыточное говно - для меня, новичка изучающего Ruby.

Будут ли нужны эти компоненты, когда я начну изучать Ruby on Rails? Являются ли они необходимыми для этого фреймворка?

Поясните этот момент, аноны.
Аноним 05/02/23 Вск 08:49:29 2599563 22
>>2599550

Дополню.

И нужен ли новичку Devkit? Он занимает больше 800 мб, это пиздец
Аноним 05/02/23 Вск 09:17:06 2599581 23
И ещё один вопрос - как обновлять версию Ruby в Windows?
Возможно ли это?
Аноним 05/02/23 Вск 10:52:24 2599653 24
>>2599581
Ты неправильно ставишь вопрос.
Он должен звучать следующим образом:
"Стоит ли использовать Ruby в Windows?"
Ответом будет: "Нет, если ты не лютый мазохист. Если так нужна винда, ставь wsl, в нем линух, там уже работай с руби".
Аноним 05/02/23 Вск 10:53:31 2599655 25
>>2599653
Ты ответил не по теме. Я спрашивал не это, так конкретно указано, что меня интересует
Аноним 05/02/23 Вск 11:05:36 2599668 26
>>2599655
Тебе ж добра желают, болван. Нах ты нужен на рынке труда со своим шиндовс? Там за забором очередь из линуксоидов и кабану не нужно заставлять девопса усложнять пайплайны в компании из-за какого-то хуя, который хочет винду и не может сам свои проблемы с этим шиндовсом порешать.
Аноним 05/02/23 Вск 11:08:05 2599669 27
>>2599668
Да вы заебали со своим рынком и вакансиями. У вас рабское мышление, что ли? Вы это учите только ради денег? Ебанулись?
Мне просто по кайфу, я не буду работать
Аноним 05/02/23 Вск 11:13:09 2599673 28
>>2599669
Что ты собрался в шинде изучать? Обходные костыли и затычки чтобы юникс абстракции в руби интерпретаторе не протекали? Это тебе доставляет эстетическое удовольствие?
Аноним 05/02/23 Вск 11:57:51 2599694 29
>>2599673
Пиздец, тебя это ебёт? Я задал КОНКРЕТНЫЕ вопросы.
А твоё личное мнение меня не интересует
Аноним 05/02/23 Вск 12:01:27 2599696 30
>>2599694
КОНКРЕТНЫЕ вопросы задавай своему наставнику на работке или чаджпт, а здесь люди попиздеть собираются о жизни и технологиях. И нас не ибет насколько твои вопросы чистоконкретные.
Аноним 05/02/23 Вск 12:04:38 2599700 31
>>2599696
Чел, ты хуже бабы, реально. Я задал вопрос и увяз в куче ненужного мне говна, но ни одного ответа на поставленный вопрос не прозвучало. Дай угадаю - девушки у тебя нет, да?
Аноним 05/02/23 Вск 12:08:17 2599703 32
>>2599700
Если будешь пытаться скомпилировать очередной руби пакет под винду, разработчик которого windows.h в жизни не видел, потому что на маке сидит, то девушки у тебя точно не будет.
Аноним 05/02/23 Вск 12:11:09 2599705 33
>>2599703

Ахаха, реально до тебя не доходит? Даже нейросети помнят контекст беседы.

Ладно, вот, прочти ещё раз >>2599669
Аноним 05/02/23 Вск 12:17:33 2599710 34
>>2599705
Контекст беседы один: когда коту делать нехуй - он яица лижет и называет это ОКР. Ты настолько туп чтобы не понимать, что легко могут подсказать только по вопросам, которые встречаются в ежедневной практике? Но большинство работает с руби под никсами. Это тебе надо искать таких же вонаби ОКР как и ты.
Аноним 05/02/23 Вск 12:19:33 2599712 35
>>2599710

Чел, больше не пиши. Ты реально тупой. Что вы вообще делаешь в этом треде, если даже не понимаешь смысла сообщений?

Подожду ответа адекватных анонов. Надеюсь, тут есть такие
Аноним 05/02/23 Вск 12:23:48 2599714 36
>>2599712
пчел, тебе нужно оформить срыгос из треда, фастом
Аноним 06/02/23 Пнд 03:25:43 2600678 37
>>2597039
Я с годом опыта (чуть прикрутил) Ели выгрыз 1600 на удалёнке в ру язычной компании. Но ничего скоро буду получать миллионы, вот увидите
Аноним 06/02/23 Пнд 03:29:23 2600680 38
>>2599487
>промытые
Ты уже ответил. Думаешь кто-то что-то проверял, смотрел какая конкуренция или динамика по вакансиям и тд? Один сказал, миллион повторили . Так пхп хейтят, хотя большинство людей и не писали на нём сейчас на жс перешло
Аноним 06/02/23 Пнд 10:00:22 2600851 39
>>2599700
>ни одного ответа на поставленный вопрос не прозвучало
>Если так нужна винда, ставь wsl, в нем линух, там уже работай с руби

Это вполне конкретный ответ/решение твоих проблем. Как текущих, так и будущих.
Тебе люди правильно подсказывают что на чистой винде будет очень много ебли и работать все будет криво, а местави вообще работать не будет, причем инфу именно под винду ты так просто не нагуглишь, придется пердолиться по полной и самостоятельно.

И здесь тебе по твоим вопросам ничего не подскажут, потому что таких извращенцев как ты здесь не видели уже лет несколько.
Аноним 06/02/23 Пнд 11:23:50 2600908 40
Аноним 06/02/23 Пнд 12:07:13 2600936 41
image.png 9Кб, 716x215
716x215
image.png 23Кб, 727x437
727x437
Аноним 06/02/23 Пнд 12:15:09 2600944 42
>>2600678
>>2600936
> Ели выгрыз
Чел, ты не понял. Тебя наебывают. Это зепка через пол года. Через год дают 150к+
Аноним 06/02/23 Пнд 12:18:16 2600947 43
>>2600944
Ну практического опыта полгода. 4 месяца стажировки за 300 долларов, пол года за 500. Я всё сложил и накрутил 2 месяца, вышел на 1600 долларов. на одной вакансии сказали, что дохуя прошу
Аноним 06/02/23 Пнд 12:23:38 2600953 44
>>2600947
без опыта на руки в рф дают 80к
считай
Аноним 06/02/23 Пнд 12:23:56 2600954 45
>>2600953
Я не в рф и зп не в рублях
Аноним 06/02/23 Пнд 12:27:59 2600958 46
>>2600954
Пчел, тогда иди на реддит и форчан
Аноним 06/02/23 Пнд 12:30:07 2600960 47
>>2600958
Там мне будут писать, что зп джуна после вуза это 100к долларов в год
Аноним 06/02/23 Пнд 13:05:58 2600997 48
>>2599487
Руби - это не язык, на котором пишут из-за внешней динамики вроде настроений других разработчиков. Руби - это язык, на котором пишут, потому что по кайфу. Если ты умудрился в 2к23 отбиться от пропаганды питона и жс и как-то найти руби и начать его учить - скорее всего, у тебя были причины, и у тебя всё будет норм.
>>2599550
А хуй его знает, тут все на лунихе и маке. Можешь WSL установить. Но вроде бы стандартная поставка Rails на винде и без MSYS должна работать. Не уверен насчёт расширений, которые нужны будут для обработки картинок, например.
Аноним 06/02/23 Пнд 13:54:17 2601059 49
Как быть, если я не хочу фронтендом заниматься? Вроде везде где работал получалось только на беке сидеть, но большинство вакансий это фуллстак, стоит ли переживать?
Аноним 06/02/23 Пнд 13:56:54 2601065 50
>>2601059
Пчел, тебя еще не заставляли вкатыаться в мобилки?))
Аноним 06/02/23 Пнд 14:32:14 2601086 51
>>2599550
Но вообще
> У меня ОКР и я очень тщательно отношусь к программам, которые устанавливаю в систему.
Тебе бы линукс попробовать, он таким нравится. И я сейчас даже почти не шучу. Начни с убунты, потом освоишься, потихоньку накатишь себе арч без декстопного окружения, или Qubes OS, где всякий хлам для разработки в одной виртуалке, а программы для чтения хентайной манги - в другой.
Аноним 06/02/23 Пнд 14:36:07 2601095 52
>>2601059
Хуй знает. Смотри по аутсорс-галерам (это когда в описании вакансии что-то типа "мы успешно помогаем нашим клиентам разработкой современного бла-бла-бла"), там обычно команды на каждом проекте небольшие, но фронтом/мобилкой другой чел занимается.

Если всё-таки попадёшь на фулл-стак - ещё не всё пропало, можно выкрутиться и обойтись без JS. Я несколько месяцев так протянул типа-фуллстаком, знал только основы HTML и на лету немного CSS подхватил (уже забыл всё).

Bootstrap и Tailwind помогают относительно без ебли относительно неплохие странички раскрашивать.
Аноним 06/02/23 Пнд 16:16:44 2601223 53
на всл установилась версия 2.7.0, через rbenv хз как последнюю 3.2.0 ставить, если смысл ебаться или для вката и 2.7 пойдет?
Аноним 06/02/23 Пнд 18:02:32 2601340 54
Какую зп можно считать нормальной по меркам РФ после года разработки на рельсах?
Аноним 06/02/23 Пнд 18:10:29 2601347 55
>>2600936
Для джуна на ру-контору на удаленке вполне норм. Не парься.
Аноним 06/02/23 Пнд 18:32:47 2601376 56
Аноним 06/02/23 Пнд 18:40:32 2601389 57
>>2601340
ЗП какую? Серую/белую? При каком графике работы? Конкретнее давай.
Аноним 06/02/23 Пнд 19:14:28 2601448 58
>>2601389
Зп белую, за 8-ми часовую 5-ти дневку на удаленке
Аноним 06/02/23 Пнд 19:21:34 2601457 59
06/02/23 Пнд 19:25:42 2601464 60
Аноним 06/02/23 Пнд 19:26:04 2601465 61
Да ёбаная сажа липнет, фыдлваофжлдывацфунгшам
Аноним 06/02/23 Пнд 19:29:29 2601471 62
>>2601464
>>2601464
С RVM и RBENV ебля в рандомные моменты вообще из ниоткуда, особенно под WSL

asdf конкретно под WSL не пробовал, но выглядит как что-то очень простое
Аноним 06/02/23 Пнд 19:40:21 2601492 63
>>2601464
Спасибо, но я просто rbenv с гита последний установил и он уже 3.2 руби подтянул нормально, начинаю вкат, отсасываю на этапе поиска работы и вешаюсь. Пока план такой.
Аноним 06/02/23 Пнд 20:10:41 2601507 64
>>2601492
>начинаю вкат, отсасываю на этапе поиска работы и вешаюсь. Пока план такой.
У меня такой же был. Сейчас не то чтобы в золотых горах купаюсь, но жизнь намного лучше стала, чем была до решения вкатиться. Так что хуй тебе, руби не одобряет суецыд
хотя рашка в 2к23 - это другой разговор, конечно, тут не знаю
Аноним 06/02/23 Пнд 23:46:50 2601669 65
>>2601086
> арч без декстопного окружения
Это как и зачем? Arch сильно сложен? Не понятно какие пакеты ставить, а какие нет. Знаю что есть установщик облегчающий накат Arch
Аноним 06/02/23 Пнд 23:47:46 2601670 66
>>2601223
2.7 пойдёт, а для последних ещё и Rust нужен

rbenv кстати заебись
Аноним 06/02/23 Пнд 23:49:24 2601672 67
>>2599550
WSL поставь. Я поставил и охуел как всё удобно.

> Arch сильно сложен?
Нет, при установке достаточно идти по вики (не так давно вообще графический установщик в стандартный образ добавили), а потом достаточно уметь гуглить.
Аноним 07/02/23 Втр 00:21:34 2601686 68
>>2601669
Да он не то что сложен, гайды довольно понятные, и ты там ничего космического не делаешь. Даже гном в пару строчек устанавливается. Просто надо ебаться буквально с каждой мелочью, настраивать звук, ковыряться, как сделать неублюдочные шрифты и так далее, потом что-то может начать друг с другом конфликтовать - и вот тут уже нужно много энтузиазма.
Аноним 07/02/23 Втр 00:22:01 2601687 69
>>2601670
> а для последних ещё и Rust нужен
Только если JIT хочешь.
Аноним 07/02/23 Втр 01:02:12 2601710 70
Аноним 07/02/23 Втр 01:05:07 2601711 71
>>2599581
>И ещё один вопрос - как обновлять версию Ruby в Windows?
>Возможно ли это?

В линуксе ты можешь накатить RVM и выбирать какую версию использовать из доступных (установленных), можно быстро переключиться между версиями, RVM вроде и под винду есть
Аноним 07/02/23 Втр 01:52:07 2601727 72
>>2601710
https://app.deel.com/

Система через которую деньги закидывают. Дам и контракт подписываю
Аноним 08/02/23 Срд 00:24:51 2603148 73
>>2601727
А в рф она заблочена или можно привязать карту российского банка?
Аноним 08/02/23 Срд 00:33:05 2603152 74
Снимок экрана о[...].png 126Кб, 884x559
884x559
>deel

>ОАЭ стремится сделать страну более привлекательной для мировых технологических компаний и стать ИТ-центром в регионе, отмечает агентство.

получается, в ОАЭ будет мекка айтишников, надо точно ехать туда снова, раз уж отсюда выгоняют
Аноним 08/02/23 Срд 01:08:15 2603170 75
>>2603148
Я на ру карту не выводил у меня её и нет, но там не обязательно на неё, можно на бинанс в bnb выводить, я вот на revolut вывожу
Аноним 09/02/23 Чтв 17:08:56 2604811 76
Что почитать о руби на русском? Английский знаю, но читать фулл тайм английскую книжку, начинает тошнить. Приходится задумываться над каждым словом.
Аноним 09/02/23 Чтв 18:19:22 2604876 77
>>2604811
> Английский знаю
> читать фулл тайм английскую книжку, начинает тошнить.
> Приходится задумываться над каждым словом.
хихикнул
Аноним 09/02/23 Чтв 18:36:18 2604892 78
image.png 7Кб, 411x115
411x115
>>2604811
Книги и на русском есть. В браузере сайты и статьи можно автоматически переводить
Аноним 10/02/23 Птн 09:39:13 2605674 79
>>2604876
Чо ты хихикаешь?
По рзеузльаттам илссоевадний одонго анлигсйокго унвиертисета, не иеемт занчнеия, в каокм проякде рсапжоолены бкувы в солве. Галовне, чотбы преавя и пслонедяя бквуы блыи на мсете. осатьлыне бкувы мгоут селдовтаь в плоонм бсепордяке, все-рвано ткест чтаитсея без побрелм. Пичрионй эгото ялвятеся то, что мы не чиаетм кдаужю бкуву по отдльенотси, а все солво цлиеком.
На английском так ты не сможешь.
Аноним 10/02/23 Птн 09:41:58 2605676 80
>>2604892
У меня с глазами итак пиздец, вместо ручек и карандашей гора различных капель для глаз из за постоянного внимания на монитор. Хотелось бы книжки реальные. Ощутить так сказать классические бумажные буквы глазами.
Аноним 10/02/23 Птн 11:05:40 2605748 81
>>2605674
>На английском так ты не сможешь.
Чел, это твоя проблема что ты переводишь слова

Ты же ру не переводишь, а у тебя сразу появляются ассоциации
Аноним 10/02/23 Птн 12:51:37 2605854 82
>>2605676
Если у тебя с глазами проблемы, то зачем в айти вкатываться?
Аноним 11/02/23 Суб 12:09:42 2607185 83
Антош привет начался вкатываться по odin project. Опытный анон подскажи это норм вариант?
Аноним 11/02/23 Суб 12:33:20 2607201 84
>>2607185
Нет, он устаревший. Есть русскоязычный аналог, не могу вспомнить название правда
Аноним 11/02/23 Суб 23:03:56 2607903 85
>>2607185
Рельсы там не учил, а вот по руби +- всё неплохо. Рельсы лучше по доке учить я думаю
Аноним 12/02/23 Вск 04:17:10 2608075 86
Снимок экрана о[...].png 162Кб, 1366x768
1366x768
Накатил простой чат на вебсокетах.

Просто отписываю тут в качестве бампа, ну и на случай если кто-то вбросит что еще стоит учить.

Теперь мой список обновился до этого:

This is the list of what I have learned:

ruby language basics +
rails install +
rails console basics +
rails MVC:
Controllers creation +
Models creation +
Views creation +
View refactoring (render partial) +
Forms creation +
Model relationships (has_many\belogns_to)
Validation +
Concerns (Modules) +
http basic auth +
Routing system +
Database Migrations +
Redirection +
ActiveRecord +
CRUD +
Helper file modules try +
Console scripts (rake tasks from /lib/tasks) [can be in use for cron, for example] +
env files implementation with additional env variables (dotenv-rails gem) +
cache system connection and use (redis with redis gem) +
queue functionality (rails jobs creation with resque job provider) +
Assets connection +
JS implementation (rails structure [from javascript folder]) +
Mailer + (DMARC local problem, but mailer works and mailer active job executes)
Additional gems\libs installation via bundler and gemfile +
Login\Registration functionality (devise gem lib) +
unit tests (RSpec based) +
Sessions and cookies +
websockets +

To learn/try:

Another web server out of puma (Nginx)
Another database out of sqlite (mariadb\mysql)
RBAC
Flash errors

Active storage
File upload
captcha


To read:

API quick look +
security aspects +
best practices +
Аноним 12/02/23 Вск 05:00:38 2608086 87
simplescreenrec[...].mp4 868Кб, 1366x768, 00:00:55
1366x768
Я тут самый успешный.
Аноним 12/02/23 Вск 12:10:33 2608295 88
Аноним 12/02/23 Вск 16:09:16 2608636 89
>>2608075
Псих. Где ты это осваиваешь?
Аноним 12/02/23 Вск 17:10:41 2608718 90
167086756764608[...].png 50Кб, 657x527
657x527
>>2608636
>Где ты это осваиваешь?
Я это не осваиваю, а знаю, я просто учу ruby on rails.

К примеру, я знаю, что такое вебсокеты и как они работают, знаю, как написать этот чат на иных языках и фреймворках, а вот как реализуются вебсокеты на рельсах - нет, поэтому мне достаточно было понять только эту часть - я почитал оф доки, посмотрел 2-3 видео и реализовал, и вот он работает, как и ожидалось

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

>>2608295
>Я тут самый успешный.
>Найс

Ну, спасибо, конечно, но фраза "я тут самый успешный" была написана с иронией и сарказмом, с самокритикой, очевидно, т.к. ничего действительно выдающегося там нет.
Аноним 12/02/23 Вск 19:14:35 2608896 91
Расскажите как сделать уведомления наподобии вк,
чтобы при ответе на твой комментарий или лайк прилетали

Только ActionCable или ещё есть варианты?
Аноним 12/02/23 Вск 19:35:17 2608922 92
>>2608718
>фраза "я тут самый успешный" была написана с иронией
Без иронии, поставил убунту, сделал демку из хотваера, записал видео, это на голову выше например чела повыше, который ставит на винду mingw и тратит время на бестолковые размышления о необходимости девкита.
Аноним 12/02/23 Вск 19:41:55 2608931 93
med141109614713[...].jpg 35Кб, 640x427
640x427
Руби как латынь. Вроде бы и учат в университетах, но язык мертв. Пруф ми вронг.
Аноним 12/02/23 Вск 20:02:39 2608943 94
>>2608931
Руби отличный язык чтобы освоить кодинг, все концепции как на ладони, открыты и понятны, языки более низкого уровня накладывают ограничения, например, на джаве ты заебешься писать абстрактный код, на расте заебешься, на сишке в принципе не сможешь, а на руби - пиши любую дичь какая в голову приходит, практикуйся, в худшем случае у тебя будет минус пару гигабайт оперативы и лишняя секунда процессорного времени.
Аноним 12/02/23 Вск 20:16:58 2608960 95
>>2608896
>Только ActionCable или ещё есть варианты?
Ну можешь api написать и по таймеру чекать уведомления в бд или в редисе каком-нибудь, брав по ajax ответы от api сервера, ну или activejob реализовать, чтобы уведомления собирал, только это не лучше вебсокетов для этой задачи, т.к. более нагруженнее.
Аноним 12/02/23 Вск 20:24:25 2608973 96
>>2608931
>но язык мертв. Пруф ми вронг.
Ну вакансии то немного, но все же имеются, миллионы gem либ написано, и есть проекты, которые ruby используют, я вот учу его, т.к. мне надо для работы, внезапно.

>>2608931
>как латынь
Как латынь - это brainfuck, вот это точно без прикладного характера, но для особенных, ну или ассемблер, чтобы быть ближе к низкому уровню, к основам мироздания.
Аноним 12/02/23 Вск 20:29:13 2608982 97
videoplayback.mp4 3119Кб, 640x360, 00:02:09
640x360
>brainfuck
Аноним 12/02/23 Вск 20:53:48 2609022 98
>>2608718
> была написана с иронией и сарказмом

Братишка не обесценивай себя. Я по жизни считаю так - ты учишься чему то, сделал чтото работающее и за это респект. Продолжай так же и у тебя все получится с руби и работой на нем.
Аноним 12/02/23 Вск 21:08:15 2609032 99
Анончики, подскажите, где и как вы изучали построение архитектуры кода? Столкнулся с тем, что становится сложно разделать какие-то большие куски логики. Solid понимаю, но этого явно не достаточно. Хотелось бы услышать, какая литература или практические советы вам помогли? Спасибо.
Аноним 12/02/23 Вск 21:16:24 2609037 100
>>2608931
Работу найти на руби проще, чем на любом другом языке

Пруф ми вронг

не искал работу дольше недели за свою карьеру
Аноним 12/02/23 Вск 21:21:10 2609041 101
Аноним 13/02/23 Пнд 04:00:07 2609302 102
>>2608960
Ну что это? Short / long polling
Как Job будет собирать уведомления
А если Redis упал? Нужно же в БД всё хранить
Уведомления и статус прочитано или нет
Аноним 13/02/23 Пнд 05:49:35 2609318 103
>>2609037
>Пруф ми вронг
Так ты не вкатыш и переехал наверно в грузию, чмо
Аноним 13/02/23 Пнд 08:46:35 2609357 104
>>2608943
Ну конечно. Что то не припомню чтобы в школах учили Руби. А вот какой нибудь Паскаль - да.
Аноним 13/02/23 Пнд 09:25:01 2609384 105
>>2608982
ЖЖ Артемия Лебедева уже нашел?
Аноним 13/02/23 Пнд 09:50:32 2609403 106
>>2609041
Спасибо, обязательно просмотрю.
Аноним 13/02/23 Пнд 11:01:16 2609483 107
>>2609357
руби учили в начале нулевых он тогда как раз выходил на плато своего хайпа, потом стрельнули рельсы и пошла пизда по кочкам, ну а дальше он сдох
Аноним 13/02/23 Пнд 11:53:35 2609519 108
>>2609483
Если он сдох, но почему на вакансию джуна 40 рыл?

Это вы сдохли, а не Ruby
Аноним 13/02/23 Пнд 12:53:19 2609577 109
>>2609318
Ну уже не вкатышь, но вкатиться на руби, где максимум 10 челов было на вакансию было куда проще, чем на питон, где вполне легко 100-200. Я так же уехал, но не в Грузию, а в Латвию. В чём проблема то?
Аноним 13/02/23 Пнд 13:52:24 2609630 110
>>2609519
Потому что на руби всего вакансий 20 на страну из них джуновских - две.
Имеет значение популярность у кабана, а не только у вкатуна. У вкатуна популярно всё, кроме 1с разве что.
Аноним 13/02/23 Пнд 14:17:04 2609659 111
>>2609302
Я же говорил:
>только это не лучше вебсокетов для этой задачи, т.к. более нагруженнее.
Аноним 13/02/23 Пнд 16:15:35 2609796 112
>>2609519
А мне говорили руби комьюнити адекватное. Что то ты не похож на адекватного. Наверни ромашки чел.
Аноним 13/02/23 Пнд 16:57:12 2609857 113
>>2609815
Чел, ну теперь и в открытие жалобу катать?
Аноним 13/02/23 Пнд 21:00:34 2610180 114
Аноним 13/02/23 Пнд 21:19:16 2610210 115
>>2610180
Почти год опыта 4 из каких трейни
Аноним 13/02/23 Пнд 21:19:37 2610211 116
>>2610210
>4 из
естественно я про месяцы
Аноним 14/02/23 Втр 05:35:05 2610406 117
>>2609630
Кабана -- нахуй. Сам будь кабаном
Аноним 14/02/23 Втр 05:37:54 2610407 118
>>2609796
Хуяшки)

Заебали гундеть. Писать на том что по-кайфу, кабана слать нахуй
Самому кабаном становиться
Аноним 14/02/23 Втр 10:20:27 2610506 119
>>2610407
нужно послать себя нахуй?
Аноним 14/02/23 Втр 16:43:57 2611146 120
Вот уеду в японию и я там со своим руби буду самым желанным мальчиком
Аноним 14/02/23 Втр 23:04:34 2611570 121
Снимок экрана о[...].png 21Кб, 565x181
565x181
Снимок экрана о[...].png 22Кб, 565x181
565x181
Снимок экрана о[...].png 19Кб, 565x181
565x181
Снимок экрана о[...].png 23Кб, 565x181
565x181
Я просто вбил "ruby on rails" в linkedin, да еще и "entry level"
И 5 тыс+ вакансий в США, 64 в австралии и новой зеландии, 2 в России, даже в ОАЭ их больше.
Аноним 14/02/23 Втр 23:43:33 2611608 122
изображение.png 379Кб, 722x250
722x250
>>2611570
>5 тыс+ вакансий
Т.е. я учу рельсы, потому что мне надо по работе, с чувством, что "вау, круто, неплохой язык", да и тут сравнивали ruby с латынью, все пишут, что вакансий почти нет, многих отговаривают учить. В это же время 5 тыс. вакансий на entry level, ну поделим их на 5 даже, чтобы исключить повторы от hr агенств, или на 10, все равно - это больше, чем "атомов в видимой вселенной".
Аноним 15/02/23 Срд 03:15:23 2611677 123
>>2611608
Точно, давно вы все стали гражданми сша, чтобы работать на заокеанского барина? В россии вон 2 вакансии и грызите друг другу глотки
Аноним 15/02/23 Срд 05:09:13 2611690 124
>>2611570
В штатах популярнее всего, да

И что теперь делать? Перекатываться на Laravel или Django?
Аноним 15/02/23 Срд 05:09:33 2611691 125
Аноним 15/02/23 Срд 05:13:02 2611692 126
>>2611677
не смог осилить английский и даже что-то из курса айти, поэтому вынужден работать в иной сфере, но из зависти писать в тредах из раздела "программирование"?
Аноним 15/02/23 Срд 05:20:38 2611697 127
изображение.png 25Кб, 644x91
644x91
>>2611677
У меня для тебя есть три строчки текста, которые, ты можешь осмыслить, в теории.
Аноним 15/02/23 Срд 05:26:43 2611702 128
>>2611699
>У тебя нет разрешения на удалёнку в СГА
В чем? Что такое СГА?
Аноним 15/02/23 Срд 05:38:14 2611713 129
>>2611692
Ну не пиши, еблан.
>>2611691
Перекатывайся в стек, актуальный в россии
>>2611697
С действительностью как пересекается? Давай, находясь в России устройся рельсовиком на американского барина без свистоплясок с оплатой в битках и прочим говном и чтобы официально, удачи.
Аноним 15/02/23 Срд 05:38:38 2611714 130
Аноним 15/02/23 Срд 05:41:09 2611715 131
>>2611713
>и чтобы официально
про аутстафинг, договор подряда, аутсорс ты не слышал, конечно, да? А знаешь почему? Потому что синдромвахтерное недобыдло побирается на своей безмозглости даже не умея считать спг или читать конституцию. Иди на хуй короче, исподтишковое быдло.
Аноним 15/02/23 Срд 05:42:20 2611716 132
>>2611715
Ты там из комы вылез недавно, чмондель? У нас тут война с нато идет, долбоеб
Аноним 15/02/23 Срд 05:45:33 2611717 133
изображение.png 24Кб, 645x104
645x104
>>2611716
>У нас тут война с нато идет, долбоеб
я не знаю, с кем у тебя там война, с англосаксами из телевизора?
Иди воюй тогда или пролечись, ты чего доебался?
Аноним 15/02/23 Срд 05:48:20 2611718 134
>>2611717
Сразу как только ты устроишься руби подсосом у американского барина, находясь в России в нынешние времена. аутсорс у него, когда все бодишопы съебались
лол
Аноним 15/02/23 Срд 05:58:30 2611724 135
изображение.png 51Кб, 394x431
394x431
>>2611718
Ты там сам в манямирке и вообще не шаришь за айти работы, анон из треда выше писал про deel, к примеру, это называется аутстафинг.
Аноним 15/02/23 Срд 06:04:56 2611725 136
Аноним 15/02/23 Срд 06:08:42 2611726 137
>>2611713
>Перекатывайся в стек, актуальный в россии
псалтырь++?
Аноним 15/02/23 Срд 06:18:52 2611734 138
Screenshot20230[...].jpg 73Кб, 720x523
720x523
>>2611725
ахахахаха

если работадатель заинтересован, он найдет способ оформить аутстафинг в тысяче других агенств, а еще llc часто оформлено не в сша, а в оаэ или в панамским офшорах, на кипре. Вся суть машинкодебила грязноручкожопного
Аноним 15/02/23 Срд 06:20:57 2611736 139
>>2611734
Что ниже написано ты пропустил, да? Мелкобуквенный чмондель, защищающий свой манямирок
Аноним 15/02/23 Срд 06:25:22 2611737 140
>>2611736
Там написано, что новые клиенты из рф не возможны в deel, а существующие остаются. Swift в банках не под санкциями работает. Есть тысячи иных компаний аутстафинга и офлайн работающих.
Аноним 15/02/23 Срд 07:01:26 2611747 141
>>2611739
>Не тысячи, а 10-20 штук на всё СНГ
Во всем мире? Пару тысяч международных контор найдется, 10-20 штук подобных в одной только москве известных, типа менпауа.
Аноним 15/02/23 Срд 07:09:27 2611750 142
16763040633610.png 591Кб, 736x947
736x947
Анон, вопрос по рельсам, которые я изучаю, я не нашел в документации или в паре видосиков на ютюбе валидацию для загрузки файлов. Я увидел пример валидации во вью файлах, но это валидация по разрешению файла, а не по mime type, также я не увидел пример валидации допустимого размера файлов. Я могу нагуглить gem от рандомного васяна, который решает проблему, но разве нет встроенной в фреймворк валидации файлов?

Есть ли методы фреймворка для "взятия файла на лету" из-за предела веб папки вебсервера? Ну т.е. файл не доступен из вне, как это реализовано в Yii2?
Аноним 15/02/23 Срд 07:14:20 2611751 143
Аноним 15/02/23 Срд 13:18:06 2612095 144
image.png 13Кб, 531x159
531x159
image.png 8Кб, 414x134
414x134
image.png 2Кб, 186x71
186x71
image.png 15Кб, 190x761
190x761
>>2611570
Учитывай, что линкедин это в основном поиск иностранных специалистов, ибо зачастую по странам все используют свои локальные сайты, по этому всё не так уж и плохо.

Вот сравнение с украиной. На линкедине 15, на сайте уже 50
50 вакух достаточно, смотри третий-четвёртый скрин, это лучше 300 вакансий на питоне но с конкуренцией в 300 человек на место
Аноним 15/02/23 Срд 14:57:07 2612332 145
Аноним 15/02/23 Срд 17:43:57 2612556 146
изображение.png 29Кб, 747x105
747x105
>>2612332
>Читать сюда

1. Но там ActiveStorage, а это файлы в облаках и загрузка их куда-то на абстрактный амазон, а не в папку веб сервера с валидацией их, как я понял быстро посмотрев.

2. igorkasyanchuk - это всё же не фреймворк функционал, а сторонний gem lib, т.е. средствами фреймворка валидации файлов нет?

3. Есть ли генерация файлов на лету? Допустим, папка /var/www/railsapp/public открыта "из вне" всем желающим и все файлы внутри нее могут быть выкачаны. А я храню файл в /var/www/railsapp/protected - где нет прав на доступ всем остальным, кроме владельца файла (пользователя веб сервера). Если надо дать данные из файла для загрузки, то я на php беру данные file_get_contents(/var/www/railsapp/protected/myfile.pdf) и даю его на загрузку через sendFile() как на картинке. Для меня это выглядит более защищенная архитектура для файлов, может там что-то важное пользовательское, например, документы, а не аватарки.
Аноним 15/02/23 Срд 18:23:42 2612606 147
Вы ебанутые? Нахуя вы тред расскачиваете? Руби мертв
Аноним 15/02/23 Срд 20:50:26 2612799 148
>>2612556
Хранилище настраивается в конфигах, можно и локально на сервере.
Как видишь валидации нет, gem для этого и был создан
Можешь какой-нибудь Shrine посмотреть
Аноним 15/02/23 Срд 20:51:12 2612801 149
>>2612606
Это не Ruby мёртв, а вкатун не нужен
15/02/23 Срд 23:07:47 2612877 150
>>2612801
Чем больше раскачивается тред, тем больше вкатунов, шиз
Аноним 15/02/23 Срд 23:08:49 2612879 151
Аноним 15/02/23 Срд 23:18:38 2612886 152
>>2612877
Не пизди, хули толку от вкатунов, если РАБоты для них нет? Наоборот надо их сюда звать, может кабаны оживят технологию
15/02/23 Срд 23:36:40 2612897 153
16/02/23 Чтв 01:13:00 2612944 154
>>2612897
Хотя какая разница - скоро всех заменят
17/02/23 Птн 03:21:17 2613960 155
В общем, я глянул исходники Yii2, то, что используется для sendFile "на лету", - это x-sendfile http заголовки веб сервера. И в puma это не реализовано, но такое можно использовать, если добавить nginx, как middle-ware:

https://stackoverflow.com/questions/44370604/rails-file-download-via-send-file-is-slow-is-x-sendfile-or-similar-available-in

https://github.com/rack/rack/blob/main/lib/rack/sendfile.rb

получается, что если ты хранишь какие-то файлы за пределами открытой папки веб сервера, то надо либо делать прослойку с nginx\apache каким-нибудь, либо брать файл - писать его в public папку, а после показывать страницу с кнопкой "загрузить", и удалять его по ссылке через какое-то время, что все равно не безопасно нихрена, т.к. какое-то время файл будет доступен для всех подряд, если знать или перехватить ссылку.

И валидация файлов в рельсах говно.
Аноним 17/02/23 Птн 10:04:13 2614066 156
>>2613960
>И валидация файлов в рельсах говно.
В ActiveStorage-то? То бишь из коробки? Ну да. Не знаю никого, кто бы им пользовался. Выше рекомендовали shrine - вполне недурный gem.
Аноним 17/02/23 Птн 10:40:09 2614100 157
1512208306631.jpg 379Кб, 811x879
811x879
Сап, рубисты.

Помогите ньюфагу. Допустима ли практика возвращать из метода объект, чей класс меняется в зависимости от внутренней логики метода? Банальный пример:


class Error
attr_reader :details

def initialize(details)
@details = details
end
end

def div(a, b)
return Error.new("ошибка: деление на ноль") if b == 0
a / b
end

# вызываем метод:
result = div(foo, bar)
if result.is_a?(Error)
puts result.details
else
puts "результат операции: #{result}"
end


Как видно, тут результат выполнения метода div будет либо Integer, либо Error.

Понятно, что тут вместо этого можно возвращать Hash с полями result и error, но меня интересует исходный вопрос. Допустима ли такая реализация? Если нет, то почему?
Аноним 17/02/23 Птн 13:47:44 2614276 158
>>2614100
Как видишь технически да
Но зачем это? Ты пытаешься сделать Service object, который будет возвращать результат либо ошибку?

Класс Error должен наследоваться от одного из класса ошибок (там есть деление на ноль), и для этого есть rescue и прочее
Аноним 17/02/23 Птн 14:10:57 2614301 159
>>2613960
Отправка файлов пользователю вообще довольно мутная тема, самый нормальный варик для этого (кроме облачного хранения) - писать в паблик и делать редирект, тогда доставкой файла будет заниматься веб-сервер, это самый эффективный способ. Рейлс конечно же умеет отправлять файлы самостоятельно, send_file читает из любого места доступного приложению, не только из паблика, так же рейлс может отдать поток через send_file_headers - https://apidock.com/rails/ActionController/Streaming/send_file_headers%21 с которым можно отправлять подготовленные куски данных, это всё работает через веб-сервер, так что в любом случае нужно учитывать специфику того что будет проксировать трафик на проде, это не заёбы рейлс а особенности веба.

>И валидация файлов в рельсах говно.
А что ты хочешь конкретно валидировать? Входящий файл для сервера это просто пара заголовков с названием и размером, да и сам контент, чтобы валидировать контент нужно проводить десериализацию, кто знает что у тебя там прилетело от пользователя, может pdf, csv, xlsx, или картинка, работать с этими форматами - слишком специфичная задача, а рельса и так очень жирный фреймворк, вполне разумно вынести такие вещи в отдельные гемы.
Аноним 17/02/23 Птн 14:32:52 2614327 160
>>2614276
Есть мнение что rescue и вообще экспешоны - антипаттерн, и лучше возвращать структуры вроде { ok: result } или { error: ZeroDivisionError }.
Аноним 17/02/23 Птн 14:40:55 2614343 161
>>2614327
Конкрето в Rails - возможно
Но обработка всё равно через rescue обычно идёт, а возвращается хеш или специальный класс
Аноним 17/02/23 Птн 15:42:57 2614421 162
16740920784610.jpg 437Кб, 540x960
540x960
>>2614301
>А что ты хочешь конкретно валидировать?
1. допустимый размер файла в килобайтах
2. допустимые расширения файлов, например, только изображения (.jpg, .jpeg, .gif, .png)
3. допустимые mimetype, чтобы не загрузили файл с расширением .jpg, который по факту будет являться переименнованным zip файлом
4. В редких случаях формат имени файла, но это свой метод валидации будет написан тогда

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

>>2614301
>так же рейлс может отдать поток через send_file_headers
Вот, это то, что я и хотел найти, спасибо
Аноним 17/02/23 Птн 16:15:57 2614447 163
>>2614421
>send_file_headers
Надо учитывать что этот способ плохо совместим с защитой от дудоса и вообще хреново масштабируется, например клаудфлара на бесплатных тарифах отказывается обслуживать стриминг. ActiveStorage как раз абстракция, которая позволяет без гемора подключать к программе CDN.
Аноним 17/02/23 Птн 16:49:14 2614486 164
16760658733935.jpg 94Кб, 600x450
600x450
>>2614447
Мне пока не нравится то, что это не реализовано в puma/rack, если я правильно понимаю, и для подобного функционала нужно дополнительно иметь nginx/apache веб сервер, т.е. это еще одна "прослойка", получается, что-то уровня "middle ware" или "third-party-software", если использовать rails.

Я просто исхожу из опыта разработки на yii2, где сразу используется nginx в качестве веб сервера. Если передавать файл для загрузки через x-sendfile, он загружается, как ожидается, без бубна с конфигами.

>этот способ плохо совместим с защитой от дудоса

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

Я просто учу rails и смотрю, как там и что устроено, пока вот смотрю валидацию файлов и какие методы для работы с ними имеются.
Аноним 17/02/23 Птн 18:39:50 2614609 165
14816828228330.gif 40Кб, 500x666
500x666
>>2614276
> Как видишь технически да
Ну вопрос, очевидно, был не в том, можно ли технически технически можно и не снимая свитер штаны срать, но - сам понимаешь...

> Класс Error должен наследоваться от одного из класса ошибок (там есть деление на ноль), и для этого есть rescue и прочее
Деление на ноль было только в качестве примера, офкос - как самая очевидная/понятная ситуация.

С ошибками разобрался с raise, но всё ещё остаётся вопрос, насколько что-то подобное возможно в общем случае. Например, если какой метод возвращает то String, то Regexp. В древних языках откуда я пришёл такое не допускается by design. Логика подсказывает, что и в Ruby так делать не надо, но интересно послушать мнение.
Аноним 19/02/23 Вск 20:31:55 2617114 166
>>2614609
>14816828228330
Да нормальная практика, хотя и вносит путаницу
Аноним 19/02/23 Вск 20:33:36 2617117 167
Если я пилю сайт с объявами, то как быть с моделями?
Создавать под каждый тип свою: квартира, машина, телефон или сделать через JSON конструктор?
Аноним 20/02/23 Пнд 02:29:52 2617369 168
>>2617117
Не понял, что ты подразумеваешь под JSON конструктором?
Аноним 20/02/23 Пнд 03:51:43 2617377 169
>>2617117
>>2617369
Скорее всего речь за STI шла.

Я бы очевидно сделал для больших категорий свои модели, ибо там могут быть очень разные параметры которые по разному нужно валидиоровать.
Аноним 20/02/23 Пнд 06:42:26 2617402 170
>>2617369
Одна модель с данными в JSON, вот думаю получится так или нет

Валидации, выборка
Аноним 20/02/23 Пнд 08:42:36 2617426 171
>>2617402
Селект по полям JSON-а убивает производительность в ноль, JSONB побыстрее но всё равно в разы медленнее обычного столбца, что там с индексами тоже не понятно. Это удобная штука когда неизвестно что за структура будет храниться, какие-нибудь конфиги например, в случае каталога объявлений у нас все поля известны заранее, к тому же по ним будет сортировка и всякие ограничения, для такого JSON не подходит.
Аноним 20/02/23 Пнд 14:23:59 2617632 172
>>2617426
Значит нужна модель под каждое
Аноним 21/02/23 Втр 14:01:14 2618579 173
ну мертвая же технология, очевидно, нах вы тред свой перекатываете лол
Аноним 21/02/23 Втр 16:34:25 2618791 174
>>2618579
Последний апдейт меньше месяца назад, не вводи людей в заблуждение.
К тому же всё еще самый удобный фреймворк для бекенда.
Аноним 21/02/23 Втр 16:41:20 2618797 175
>>2618579
>ну мертвая же технология, очевидно, нах вы тред свой перекатываете лол
Можно писать любые посты в тредах о ruby с сажей тогда, чтобы общаться в тредах, кому это нужно или интересно, и не отвлекать других с мантрами "айти все"
Аноним 21/02/23 Втр 16:46:49 2618801 176
>>2618791
И че? дельфи вон тоже обновляется, только все равно никоу не нужен, пердите в свое легаси да и только.
>самый удобный
Ты скозал?
>>2618797
Номрас до абсурда доводишь и как мне писать, где и что без тебя разберусь, порватка.
Аноним 21/02/23 Втр 18:42:30 2618906 177
>>2618579
А какая не мёртвая?
22/02/23 Срд 02:31:26 2619281 178
simplescreenrec[...].mp4 1946Кб, 1366x768, 00:01:11
1366x768
Чтобы освоить active storage запилил имаджборду уровня б.
Все равно еще не доволен валидацией файлов, надо будет найти gem под это.
Аноним 22/02/23 Срд 08:25:30 2619328 179
>>2619281
Ммм... гномовский файлпикер... превьюшечки.
Аноним 22/02/23 Срд 14:36:57 2619608 180
>>2619281
Попробуй ELM кста, для себя, на нем прикольно верстать

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

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

И да, не надо предлагать мне rbs\sorbet и прочее. Это говно.
Аноним 22/02/23 Срд 14:39:19 2619610 181
Screenshot20230[...].jpg 46Кб, 720x308
720x308
>>2619328
>превьюшечки
Есть же и imagick делает их успешно.
Аноним 22/02/23 Срд 17:52:29 2619809 182
>>2619608
И как бы типы выглядили? Как в Crystal? RBS конечно не то, но решение изящное, как CSS для HTML
Аноним 23/02/23 Чтв 08:28:29 2620402 183
>>2619610
Я про системный интерфейс гнума (диалог выбора файла). Сорри за оффтоп, но аж глаз задергался.
Аноним 24/02/23 Птн 13:45:21 2621384 184
>>2619281
Круто, есть ссылка на открытую репу?
Аноним 24/02/23 Птн 19:59:46 2621726 185
$ rbenv install 3.2.1
To follow progress, use 'tail -f /tmp/ruby-build.20230224195214.1290.log' or pass --verbose
Downloading ruby-3.2.1.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.1.tar.gz
Installing ruby-3.2.1...

Долго оно чет ставится уже 8 минут, че происходит?

wsl2 если че, раньше такого не было
Аноним 24/02/23 Птн 20:06:57 2621734 186
>>2621726
перезапустил с --verbose
там какие-то сишные либы компилятся, хуй знает, наверно связано с тем, что я недавно весло апдейтил и апгрейдил.
Аноним 24/02/23 Птн 20:26:14 2621776 187
Аноним 24/02/23 Птн 23:12:48 2622021 188
Как бы сделали скоуп для показа всех employees которые в данный момент не уволены?
То есть либо их никогда не увольняли, либо уволили и потом восстановили

active_resignation это уволили, но не восстановили

через left_joins получается какой-то треш
типа Employeeleft_joins(:active_resignation).where(active_resignation: { cancellation: nil })..

Пробовал разные варианты

---
Employees
has_one :active_resignation -> where Resignations.missing(:resignation_cancellation)

Resignations
has_one :resignation_cancellation
belongs_to :employee

ResignationCancellations
belongs_to :resignation
Аноним 24/02/23 Птн 23:16:57 2622025 189
image.png 60Кб, 1354x757
1354x757
Аноним 24/02/23 Птн 23:20:18 2622030 190
Аноним 24/02/23 Птн 23:28:36 2622038 191
>>2622021
По-моему, ты зря разогнался создавать модели на каждый пук.
Employee has_many :stages
А у Stage типы:
Hired
Terminated
Resigned
Retired
Promoted
Demoted
Transferred
Suspended
Reinstated
Contract renewal
Performance review
Salary increase
Salary decrease
Leave of absence
Paid time off
Sick leave
Family and medical leave
Maternity/paternity leave
Training completed
Certification obtained
Discipline action
Grievance filed
Grievance resolved
Employee complaint
Employee feedback
Exit interview
м т.п.
Аноним 24/02/23 Птн 23:31:41 2622042 192
>>2622038
И тогда "неуволенные" - это те, у кого последний известный этап карьеры не в списке "завершающих" (Terminated, Resigned, Retired).
Аноним 24/02/23 Птн 23:44:22 2622049 193
>>2622038
А можно вообще всю эту хуйню запихать в стейт машину внутрь модели и смотреть на ебала приходящих в команду разработчиков.
Аноним 25/02/23 Суб 00:16:37 2622068 194
>>2622038
Нужно только для моего примера
25/02/23 Суб 03:29:48 2622146 195
>>2622030
и зачем ты нашел эту ссылку?
Там же еще не окончено обучение мое и половина кода надо будет "причесать".
Аноним 25/02/23 Суб 13:52:19 2622397 196
>>2622146
Тише, чмондель, тише
Аноним 26/02/23 Вск 03:03:29 2623034 197
6e23caa0fba9ee5[...].jpg 160Кб, 1080x1350
1080x1350
>>2622992
хуй не сидит, а стоит
Аноним 05/03/23 Вск 07:42:35 2630165 198
Вкатун на связи. Есть какой-нибудь хоткей или что-то, чтобы мне не пришлось руками прописывать |key| вот эту хуйню в блоке? vscode, vim вот мои два редактора
Что сделать? Или вы просто прывкли сами палки прописывать? Лично я по инерции ставлю } вместо | и это напрягает
Аноним 05/03/23 Вск 09:18:38 2630195 199
>>2619281
Выглядит круто. Я вообще ещё ничего не изучал, просто читаю тред.
Сколько времени нужно вкатываться, чтобы делать такую годноту на Ruby? Заработок и вакансии не волнуют - чисто как хобби.
Аноним 05/03/23 Вск 09:23:01 2630198 200
Да, и как правильно вкатываться не переходя на Linux?
WSL2 для этого подойдёт?
Аноним 05/03/23 Вск 13:45:58 2630332 201
>>2630165
В Sublime text после открытия блока через do или { подставляется |variable|

Смотри по редактору, может сниппет какой сделать
Аноним 05/03/23 Вск 13:57:35 2630351 202
Аноним 05/03/23 Вск 17:00:27 2630609 203
Книжка Well Grounded Rubyist реально годная. Я читал на русском от Питерского книжного дома другую книжку о руби, но вот эта меня реально впечатлила. Есть моменты которые не доходят с первого раза, но пока как по мне одна из лучших книг для начинания по руби. Элокент Руби не понял вообще. Хрень какая то.
Аноним 05/03/23 Вск 17:56:20 2630673 204
>>2630198
возьми и попробуй, расскажешь
06/03/23 Пнд 13:29:47 2631461 205
>>2630609
В этой книжке просто идет перечисление стандартных методов. Это все есть в apidock
Аноним 06/03/23 Пнд 21:17:15 2631997 206
>>2631461
>apidock
Хуета та ещё. У многих методов никакого описания нет
Аноним 06/03/23 Пнд 22:41:57 2632079 207
Аноним 07/03/23 Втр 00:18:16 2632176 208
Аноним 07/03/23 Втр 12:40:25 2632451 209
Можно ли установить Ruby без вот этого всего говна?

1 - MSYS2 base installation
2 - MSYS2 repository update
3 - MSYS2 and MINGW development toolchain


Просто чисто один интерпретатор и всё? Я только обучаюсь и не хочу засорять систему ненужными мне компонентами ОКР
Аноним 07/03/23 Втр 13:09:19 2632493 210
>>2632451
> ОКР
Поссал на тебя, чмохен
Аноним 07/03/23 Втр 21:43:17 2633089 211
Рубаноны поясните за self. Не доходит пока что. Когда его ставить надо, когда не надо, почему ставят когда он не нужен, почему не ставят когда нужен. Начал читать, а там про объект в объекте и такая ебень, аж мозги поплыли.
Аноним 07/03/23 Втр 21:45:31 2633090 212
16738092158500.mp4 174Кб, 852x480, 00:00:04
852x480
>>2630195
>Заработок и вакансии не волнуют - чисто как хобби
Аноним 07/03/23 Втр 21:49:00 2633093 213
>>2633089
Селф это когда: класс.метод,
обычный метод: хуй = класс.ню; хуй.метод
не нарю в руби
Аноним 07/03/23 Втр 22:05:18 2633112 214
>>2633093
class C
def C.x
end
end
C.x
То есть это можно записать как
class C
def self.x
end
end
C.x
Аноним 07/03/23 Втр 22:13:30 2633128 215
IMG202303080012[...].jpg 58Кб, 720x1265
720x1265
Аноним 07/03/23 Втр 22:13:59 2633130 216
Аноним 07/03/23 Втр 23:09:43 2633166 217
Аноним 08/03/23 Срд 07:59:11 2633380 218
>>2633130
да тут долбоёбы одни, разве не понятно по сообщениям?
Аноним 08/03/23 Срд 12:25:06 2633552 219
>>2633089
Если ты про self в названиях методов, то с self - это методы класса, а без self - методы экземпляра класса.
Аноним 09/03/23 Чтв 20:41:04 2635014 220
image.png 7402Кб, 3114x2166
3114x2166
:'(
хотите в 2005?
Аноним 12/03/23 Вск 04:08:40 2637533 221
Есть модель User с аттрибутом role (user или admin)
и связью has_many :events

events может создавать только пользователь с ролью admin, это как новости которые только админ может публиковать, а пользователи только смотреть и комментировать

Можно как то через условия has_many сделать или вообще как тут лучше написать? Может через STI добавить отдельную модель Admin и в ней указать связь has_many :events

Опять же получается лишнее поле в БД у простых пользователей
Аноним 12/03/23 Вск 11:29:23 2637659 222
carbon.png 139Кб, 974x894
974x894
Аноним 12/03/23 Вск 13:59:42 2637823 223
image.png 219Кб, 2153x1896
2153x1896
>>2630198
Да для начала подойдёт и офффициальный установщик руби для винды. Просто имей в виду, что на 99% работ от тебя ожидают как минимум базовых навыков в терминале луниха; по папочкам там ходить, зависимости разрешать, по ssh куда-то на сервер зайти и там логи почитать и так далее.

Так что я рекомендовал бы всё-таки WSL, если ты работать где-то в айти планируешь.
>>2632451
Лучше засори сразу, а то потом какая-нибудь библиотека для базы данных (или типа того) отъебнёт.
>>2633130
Объясняю. В руби всё почти - объект. Классы - это тоже объекты. Почему так? Потому что класс - это по сути информация о том, как класс и его экземпляры себя ведут. Где у нас в ООП лежит информация? В объектах. Поведение у классов тоже есть (методы, на которые они отвечают, в других языках их иногда называют статическими методами, в руби это - методы класса). Так что самые настоящие объекты класса Class.

Как только эта концепция в голове усядется, иди гуглить про eigenclass (он же singleton class) в Ruby. Там тебя ждут ещё более шокирующие открытия и наконец-то объяснение того, что НА САМОМ ДЕЛЕ значит синтаксис def self.some_method (но для простоты можешь пока считать это просто синтаксисом для объявления статических методов)
Аноним 12/03/23 Вск 14:03:51 2637827 224
https://workingwithruby.com/
Принёс вам введение в TCP, процессы юниха и многопоточность с использованием руби

https://rubyfu.net/
А вот это - в кибербезопасность
Аноним 12/03/23 Вск 14:11:45 2637838 225
>>2637827
Спасибо! Ещё годнота есть? Ребята, делитесь!
Аноним 12/03/23 Вск 14:14:54 2637839 226
>>2637659
Не то. Тут лишняя связь. Аттрибут admin есть в самой модели User
Аноним 12/03/23 Вск 14:17:52 2637847 227
>>2637839
Я как раз и привел такую схему потому что не должно быть в юзере информации о том что он админ, это приводит к хранениию ненужного флага у всех остальных юзеров. Админ это роль а не информация у юзера и должна храниться отдельно.
Аноним 12/03/23 Вск 14:19:51 2637850 228
>>2637847
В итоге чтобы сделать юзера админом - добавляем запись в таблицу AdminRole с user_id юзера. Работаем с евентами этого юзера как админа через модель User. Все работает как в случае если админ 1 так и любое количество
Аноним 12/03/23 Вск 15:58:19 2637961 229
>>2637850
Лишние сущности какие-то, прибиваешь гвоздями таблицу AdminRole, в ней ссылки на Event, когда тебе понадобится сделать ModeratorRole - будешь создавать новую таблицу? В модели Event будешь добавлять belongs_to moderator_role? А юзеру прописывать has_one на каждую возможную роль? При том что достаточно всего лишь чекнуть роль пользователя в контроллере при создании эвента.
Аноним 12/03/23 Вск 16:25:14 2638015 230
>>2637961
>> будешь создавать новую таблицу

А что особенного? Мы создаем новые таблицы все время чтобы связать куски информации друг с другом. Можно конечно хранить все в одной и после добавления 100 новых ролей у тебя у каждого юзера будет 100 взаимоисключающих флагов. Так уж получилсь что при добавлении функциональности приходится добавлять код.
Аноним 12/03/23 Вск 16:36:15 2638027 231
>>2637847
Почему нельзя хранить роль в таблице Users?
По умолчанию там будет user, ещё есть admin, moderator, anybody

Может просто сделать проверу прав как это реализовано в Pundit и всё?
Аноним 12/03/23 Вск 16:43:52 2638037 232
>>2638027
Да в принципе можно, почему нет. Я просто про разные варианты. Кстати если бы ролей было много я бы переименовал свой AdminRole в просто Role и там бы флаги хранил, можно кстати паковать флаги в инты битовыми операции если юзеров и ролей куча.
Аноним 12/03/23 Вск 17:39:06 2638120 233
>>2638037
> можно кстати паковать флаги в инты битовыми операции если юзеров и ролей куча

Можно подробнее про это, не совсем понимаю зачем это и как

Я помню видел что-то подобное в одном коде, там переменным присваивались битовые сдвиги или что-то такое:

000001
000010
000011

В общем почему не просто числа 1, 2, 3, 5, n (через enu,)
Аноним 12/03/23 Вск 17:50:02 2638130 234
>>2638120
Почитай про chmod на линухе
Аноним 12/03/23 Вск 17:58:47 2638142 235
>>2638120
Короч смотри тему.
Представь у нас есть 8 битный int.
0000 0000 = 0
0000 0001 = 1 (2^0)
0000 0010 = 2 (2^1)
0000 0011 = 3 (2^1 + 2^0)
0000 0100 = 4 (2^2)
и так далее
Теперь представь каждый бит у нас это какойто флаг.
Нужно лишь понять как выставлять флаг, обнулять флаг в 0, проверять выставлен ли флаг.
возьмем например роли админ, модератор и other и представим их разными степенями двойки
admin = 1
moderator = 2 или 1 << 1 (шифтим единицу вправо на 1 бит)
other = 4 или 1 << 2 (битшифт единицы вправо на 2 бита)

Создадим пустую роль
role = 0
Выставим у нее флаг админ используя битовый or (|)
role = role | admin
модератор
role = role | moderator
Теперь в role записано что юзер админ и модератор
проверяем админ ли юзер используя битовый and(&)
is_admin = role & admin
модератор ли
is_moderator = role & moderator
Админ и модератор
both_roles = admin | moderator
is_both = role & both_roles == both_roles
То есть вся идея - пакуем булы в биты, юзаем битовые операции для операций над ними.
Энум тут можно использовать но придется создавать по энуму для каждой комбинации ролей
Аноним 12/03/23 Вск 18:38:29 2638195 236
>>2638142
Вспомнил что такое битовые маски, просто биты используются как набор переключателей (флажков), погуглил ещё про ruby on rails bitmasks, даже нашлась пара гемов как раз для ролей на масках

А выборка по ролям через ActiveRecord тоже по маске идёт я так понял, чтобы например вытянуть всех с ролью moderator или banned
Аноним 12/03/23 Вск 19:43:45 2638302 237
>>2638037
Если ролей много то всё равно нужна немного другая схема: User, Role, Event и join-модель UsersRoles; Event просто belongs_to User, чтобы не терять записи если юзер потеряет роль, завязывать эвент на роль никакого смысла нет.
Аноним 12/03/23 Вск 19:49:46 2638310 238
>>2638302
> завязывать эвент на роль никакого смысла нет

Agreed.
Аноним 12/03/23 Вск 20:21:35 2638335 239
>>2632451
специально для окрщиков придумали контейнеры. обмазывайся докером.
Аноним 12/03/23 Вск 20:23:54 2638338 240
>>2638335
А ты видел сколько там ненужных контейнеров если в pa -a. Набилдишь разными тагами, пока будешь тренироваться и засрешь систему)
12/03/23 Вск 20:25:26 2638339 241
Аноним 12/03/23 Вск 20:32:35 2638346 242
>>2638338
для меня это не было проблемой, удалить все контейнеры и имаджи это намного легче чем сносить систему или пытаться её почистить от левых пакетов.
12/03/23 Вск 20:37:09 2638349 243
image.png 35Кб, 161x120
161x120
>>2638346
Докер пропишется в автозапуск, добавит тебе скрытые networks и будет грузить систему
Аноним 13/03/23 Пнд 23:54:22 2639442 244
Привет тред, какой метод добавления версии приложения в version.rb является каноничным? Кроме того, чтобы просто константу в этот файл воткнуть
Аноним 14/03/23 Втр 07:08:04 2639511 245
Аноним 17/03/23 Птн 16:35:28 2643179 246
ActiveSupport::Concern https://api.rubyonrails.org/classes/ActiveSupport/Concern.html

Мнения, отзывы, холивары? Какие плюсы, минусы, подводные камни, в том, чтобы брать его в не-Rails проекты? По-моему, прикольная штука, чуть меньше мозгоёбли вокруг миксинов.
Аноним 17/03/23 Птн 17:19:40 2643232 247
>>2643179
Технически это просто вынос кода как и всякие штуки вроде ServiceObject и прочего

Ну когда их применял для лайков например (Likeable, тут тоже есть соглашение о названиях), то получалось не совсем REST

То есть можно было просто сделать отдельный контроллер для лайков

По мне нормальная вещь, для выноса общего фунцкионала, всё же ООП у нас
Аноним 17/03/23 Птн 17:24:10 2643240 248
В общем в попытках сделать чат как на СЗ вот что я нашёл:

short polling - тут устаревшее и нагрузку даёт хорошую
long polling - тут похожее
web sockets - тут свои минусы вроде без гарантии доставки, опять же скорость для ActionCable низкая
SSE - в Rails для этого заготовка, многое самому надо реализовывать (пока не понятно как)

Вопрос: что лучше использовать из этого?

Ещё нашёл Kafka и RabbitMQ. Может это то что мне нужно?
Аноним 17/03/23 Птн 17:26:13 2643244 249
>>2643232
Кстати наковырял тут https://github.com/asyraffff/Open-Source-Ruby-and-Rails-Apps

Там на одном из сайтов полно сервисов, для лайков например сервис использовался, а не консёрны или отдельный контроллер в который передаёшь пользователя и likeable объект
Аноним 17/03/23 Птн 19:14:40 2643423 250
>>2643232
Ты не понял. Миксины - это встроенный функционал в руби, и как-то так они в целом и используются. Concern просто небольшая надстройка, которая немного его расширяет и прячет некоторое количество бойлерплейта (чтобы удобне было методы класса добавлять, например)
Аноним 17/03/23 Птн 20:03:01 2643454 251
>>2643423
Ну про одиночное наследование и механизм примесей я знаю
Объясни что не так?
Аноним 17/03/23 Птн 20:47:19 2643493 252
>>2610210
Слушай, а что на собесах на рубиста спрашивают? Мой основной язык Си/С++, питон. Писали байндинги с++ для руби. В основном прототипирование на руби писал. Никаких рельство. Но руби нравится гораздо больше, чем питон
Аноним 17/03/23 Птн 23:23:07 2643684 253
Вкатуны, вы итак не нужны были рельсовикам, потому что нубы, а теперь вас вообще гопота-4 порешает, как самочувствие? Какие планы на жизнь?
Аноним 18/03/23 Суб 01:48:38 2643855 254
>>2643684
А плюсовики compvision нужны на руби?
Аноним 18/03/23 Суб 06:55:15 2643910 255
>>2643675
Надеюсь Гоша умрёт в страшных муках.
18/03/23 Суб 11:37:50 2644007 256
Двач, если есть массив/хэшобьект примерно такой

hey.test.ololo['somekey']['anotherkey'][0][0]

Как проверить, что вся его длина существует?

if hey && hey.test && hey.test.ololo['somekey' && ... && hey.test.ololo['somekey']['anotherkey'][0][0]

Выглядит глупо же.
Аноним 18/03/23 Суб 13:44:02 2644144 257
Аноним 18/03/23 Суб 19:59:26 2644600 258
Объясните разницу:

class Admin::User
...
end

module Admin
class User
end
Аноним 19/03/23 Вск 13:23:44 2645045 259
>>2644600
Резолвинг констант происходит по-разному.
Аноним 19/03/23 Вск 19:49:41 2645640 260
>>2645045
Можно яснее об этом? Первое объявление используется часто, вроде как сокращение, но у них отличия оказывается есть
Аноним 22/03/23 Срд 14:28:36 2648684 261
>>2645640
в `Admin::User` если объявить метод использующий класс `A`, то класс будет искаться относительно глобального нейспейса.

в `module Admin` если объявить метод использующий класс `A`, то класс будет искаться относительно неймспейса админ.

Проще говоря, внутри модулей можно писать относительные пути к константам и код смотрится чище.
Аноним 23/03/23 Чтв 03:05:51 2649550 262
>>2643454
Да всё так, консерны ничего принципиально нового не делают, это и есть миксины. Там в доке по ссылке все отличия и перечислены.
>>2643684
Зачем ты что-то пишешь, если ни хуя не в теме. Был бы в теме - написал бы хотя бы про Codex.

Но и она, и GPT-4 оче плохо делают работу программиста, даже джуна полноценно не заменят.
>>2644600
https://rubystyle.guide/#namespace-definition
Я запомнил как "делай как рубокоп говорит, иначе какой-то геморрой с лукапом"
Аноним 23/03/23 Чтв 03:51:01 2649564 263
Аноним 23/03/23 Чтв 12:23:39 2649847 264
>>2599550
WSL ставишь RVM туда и в РубиМайне или ВСкоде ремоут интерпретатор юзаешь
Аноним 23/03/23 Чтв 15:09:01 2650062 265
>>2649550
Да не трясись ты так, заменят тебя, не сразу, но заменят.
Аноним 27/03/23 Пнд 23:51:17 2654818 266
Стоит ли пробовать вкатиться в эликсир? Там вообще есть жизнь? Есть небольшие варианты вкатиться в телеком на эрланге, даже пробовал читать книгу по эрлангу и вроде зашло, но уже слишком привык быть веб-макакой и как-то оно нахуй не сдалось. Но и к эликсиру подходить не хочу, пока не прошарю за OTP. При этом смотрел вакансии на эликсире и их литералли 0, вообще нихуя.
Уже давно есть чувство, что среди эрлангеров/эликсировщиков дохуя рубистов - наверняка и тут такие найдутся.
Аноним 28/03/23 Втр 09:17:06 2654927 267
Кто смотрел DHH, там какой-то новый способ выкатки придумали, что думаете?
Аноним 28/03/23 Втр 09:18:02 2654928 268
t.png 260Кб, 403x601
403x601
Кто читал? Тут на Ruby всё, есть смысл просвещаться?
Аноним 28/03/23 Втр 09:20:02 2654931 269
>>2654818
Язык одного фреймворка
Так всё рубистами и пилилось, а вакансии в бурже есть, но там другие условия

Лучше что-то одно тянуть и не распылятся
28/03/23 Втр 20:21:25 2655569 270
Как часто рубаны меняют компанию?

Кажется я приуныл и отупел. Часто заставляют делать вещи не относящиеся к руби

В последнее время ничего не учил. Иногда кликал по ссылкам известного newsletter

Проект - легаси. Хотя один челик так не думает) В команде условные 3 человека

Сколько принято сидеть на одном месте? Пару лет? Зепку вроде стабильно поднимают, но может где-то наебывают

Мои действия?
Аноним 30/03/23 Чтв 03:46:42 2656873 271
Как запретить определённый код в миграции (падать с ошибкой при попытке прогнать её)? Я додумался только написать спек, который парсит файлы схемы/миграций, но это не очень надёжно.

Короче, gen_random_uuid() какие-то прямо сумасшедшие проблемы вызывает, и после id: :uuid надо обязательно дописывать default: -> { "uuid_generate_v4()" }

Я уже не знаю, почему так, всю ночь долбался с постгресом, и у меня совсем башка не варит, придумайте вариантов, а я с утреца почитаю. Как-то манкипатчить ActiveRecord::Migration, что ли
30/03/23 Чтв 11:57:53 2657066 272
>>2656873
> -> { "uuid_generate_v4()" }
default: 'gen_random_uuid()'
Аноним 30/03/23 Чтв 21:57:38 2657704 273
Привет тред.
Только начал в рельсы. Какая стандартная практика, если нужно объединить несколько миграций? Допустим, в одной я создал таблицу, во второй добавил столбец, в третьей добавил дефолтное значение для столбца. По таймстемпам эти миграции не подряд идут, если это важно.
Аноним 30/03/23 Чтв 22:09:05 2657715 274
>>2657704
https://guides.rubyonrails.org/active_record_migrations.html#old-migrations
я так понял можно роллбек сделать до самой ранней миграции, которую нужно объединить, в нее засунуть содержимое остальных нужных миграций, удалить те, что больше не нужны. Ничего от этого не сломается? Рельсы сами разберутся куда делись другие миграции?
Аноним 01/04/23 Суб 18:00:03 2659502 275
У меня какой то кризис. Вот я значит почитал книги по рельсам и начал работать. Пишу значит код, что то не понятно я ищу ответ в разных местах, в телеге, в книгах. И я начинаю понимать, что большая часть моего кода это чужой код! Моё личное это небольшая часть. Всякие данные и названия. Получается я ничего не создаю, а повторяю уже написанное. Да и вообще вся наша жизнь это сплошной паттерн. Нет ничего уникального. Все это когда то было придумано. Такие странные мысли в голове.
Аноним 02/04/23 Вск 05:48:14 2660164 276
>>2659502
Просто ты почувствовал себя веб-макакой
Делай monkey patching теперь
Аноним 02/04/23 Вск 13:36:28 2660427 277
>>2659502
ничего, скоро все это будет делать gpt
Аноним 02/04/23 Вск 13:50:57 2660449 278
>>2660427
А что удобно. Просто много подробностей нужно задавать. А если слишком много то нейросеть тупит. Но в целом да, GPT с лёгкостью может настрочить много полезного кода. Другой вопрос, а что потом делать людям? Если нейросеть выйдет на более продвинутый уровень это получается программа будет писать программы. Конец IT, армагеддон. Создаём голема.
Аноним 02/04/23 Вск 13:58:46 2660464 279
>>2659502
Порешай литкод и вообще вкатись в алгоритмы.
Аноним 03/04/23 Пнд 21:25:18 2662074 280
Спросил у нейросети код для того чтобы страница обновлялась посекундно. Вот это выдала. Но это нихуя не работает.

<p>Current time is <span id="current-time"></span></p>
<script>
setInterval(function() {
document.getElementById('current-time').innerHTML = new Date().toLocaleTimeString();
}, 1000);
</script>

Мне этот ваш жабаскрипт ещё надо знать что ли, чтобы писать на рельсах? Хтьфу бля.
Аноним 03/04/23 Пнд 22:27:10 2662095 281
>>2662074
Что значит страница обновлялась посекундно?
Это просто время
Аноним 04/04/23 Втр 12:11:36 2662391 282
>>2662074
>Вот это выдала. Но это нихуя не работает.
Лол.
Каждый рядовой оператор ГПТ через 10 лет.

Синиор операторы будут еще уметь в html
Аноним 04/04/23 Втр 12:18:07 2662396 283
Screenshot from[...].png 152Кб, 1562x370
1562x370
Аноним 04/04/23 Втр 15:25:37 2662530 284
>>2662095
Ну запрос был нейросетке, чтобы время обновлялось автоматически каждую секунду. Чтобы видно было секунды тикающие.
>>2662391
Нет паддажи. Она пишет нормальный код. Иногда хороший. Почему бы и не воспользоваться? Правда одна проблема. Теперь любой запрос она ассоциирует с Рельсами и Руби.
Аноним 04/04/23 Втр 18:47:19 2662754 285
>>2662530
JS нужен конечно, раз fullstack, даже с hotwire минималка нужна как раз для часиков

Ребята, у нас у всех они тикают, двери закрываются(
Аноним 04/04/23 Втр 19:50:04 2662817 286
Объясните когда и как часто надо делать коммиты, я запутался

1. Вот я добавил тесты на модель, саму модель и фабрику, как тут лучше сделать: 3 коммита или одним ебануть?

2. Создал тесты и контроллер с двумя action: index и show, тут коммит что добавил тест, затем контроллер, затем коммиты на каждый action или два коммита: тесты и контроллер. Вот эти мелкие куски кода (всякие вложенные вещи типа action или всякая мелочёвка типа фабрик) сбивают с толку

3. После контроллера нужно добавить маршруты к нему

Тут ещё нужно придумать какое-то соглашения о именовании: тесты, контроллеры, модели и прочее
Аноним 04/04/23 Втр 20:18:38 2662845 287
>>2662817
Так, как принято у тебя на проекте, лол. У нас 1 таска = 1 коммит, если нет причин разделять на разные для удобства ревью.
Для удобства ревью - это когда у тебя миграция, которая в 15 файлах меняет аннотации, и ты эту поебень пихаешь отдельным коммитом чтобы не маячило. Всё остальное нахуй не нужно разделять по коммитам - то что ты каким-то своим образом выделяешь скоуп для фиксации изменений никому не облегчит работу, потому что уже и так есть общепринятый скоуп в виде задачи. Ну и per-commit никто банально не смотрит МРы, если заранее не предупредить.

Если ты в соло работаешь над петпроджектом, то хуярь как удобно.
Аноним 04/04/23 Втр 20:51:42 2662864 288
>>2662845
> У нас 1 таска = 1 коммит, если нет причин
Шиз, скорее всего он спрашивает про другое


По факту, как нужно делать:
- Создаешь pr для решения какой-то задачи(нужно обобщить)
- Дальше можно хуярить туда сколько угодно коммитов
- Когда все готово, делаешь squash and merge, описав все старые коммиты одним предложением
Аноним 04/04/23 Втр 22:28:07 2662952 289
>>2662845
В соло собираюсь

1 таска это какого размера? Например я прикрутил лайки к постам, фоткам и комментариям. Мне всё целиком уебать одним коммитом "добавлены лайки"?
Аноним 04/04/23 Втр 22:32:34 2662955 290
>>2662864
У меня из-за этих коммитов ОКР развилось
Аноним 04/04/23 Втр 23:11:39 2662976 291
>>2662952
Какого захочешь. Твой пример зависит от реализации. Если это что-то вроде одного концерна "Likeable" и инклюд в нужных моделях, shared тесты и одна миграция, то одним, потому что это нельзя декомпозировать. Если ты над каждой моделью пердолился, то разными.
Делай как тебе удобно, серьезно. Хоть каждый файл отдельным коммитом закрывай.
Аноним 06/04/23 Чтв 01:33:30 2663837 292
image.png 11Кб, 566x82
566x82
Двач, почему в консоли я вижу несколько раз "Connected to websockets"? Как проверить "if !connected"?
Аноним 11/04/23 Втр 20:00:49 2669405 293
image.png 96Кб, 1343x692
1343x692
image.png 66Кб, 497x585
497x585
Зачем и почему instance_exec мутирует вложенные блоки и меняет им скоуп? (пикрил 1)

Можно поменять как на пикрил 2, но это уже не то получается, некрасивенько(((((99(9
Аноним 11/04/23 Втр 20:23:17 2669446 294
Какой современный способ деплоя расскажите
Аноним 11/04/23 Втр 20:56:49 2669467 295
>>2669405
Ладно, почему так, я понял. А как сделать то, что хочу - не понял.
Аноним 11/04/23 Втр 21:18:00 2669486 296
>>2669467
Можешь для начала объяснить, что ты хочешь.
Аноним 11/04/23 Втр 23:24:05 2669592 297
>>2669486
Чтобы 107 строчка вернула "SomeClass method"
Аноним 11/04/23 Втр 23:24:55 2669593 298
>>2669592
Имеется в виду, не меняя вызов кода в SomeClass, а только имплементацию в BlockRunner

Ну нельзя так нельзя, и хуй с ним.
Аноним 12/04/23 Срд 10:30:17 2669849 299
Аноним 17/04/23 Пнд 14:04:55 2674569 300
Аноним 17/04/23 Пнд 23:13:38 2674998 301
>>2674569
Чтобы xss провернуть нужен инжект данных с клиент-сайда, get или post атрибуты, в данном случае вызова объекта Data, откуда там xss возьмется?
Аноним 27/04/23 Чтв 20:56:05 2683021 302
>>2596950 (OP)
Аноны, а какие есть плюшки и профиты у Руби?
Сейчас пишу на Питухоне и Го. Го устраивает, но не хочу ебаться с асинхронщиной, у нас на проекте копеечный рпс, не надо нам асинхронщина. Да и контора идет ко дну, а как-то что-то нашел руби, дай думаю, хуя японский какой то бошковитый чел, ну давааааааааай.
Аноним 28/04/23 Птн 02:18:25 2683135 303
>>2683021
> хуя японский какой то бошковитый чел, ну давааааааааай.

Анимедаун, спок
Аноним 02/05/23 Втр 15:43:45 2686541 304
>>2596950 (OP)
Есть ли совместная фотка dhh и Мацумоты?
Аноним 02/05/23 Втр 17:11:15 2686644 305
Аноним 02/05/23 Втр 17:23:59 2686659 306
>>2596955
Это австралийские доллары, если что.
Аноним 03/05/23 Срд 21:58:46 2687722 307
Парни, а стоит ли в руби вкатываться после опыта на джанге? Что-то хочется более изящного, меньше магии и более короткие функции
Аноним 04/05/23 Чтв 23:03:08 2688620 308
image.png 38Кб, 225x225
225x225
>>2687722
> а стоит ли в руби
> меньше магии и
Аноним 05/05/23 Птн 03:22:26 2688745 309
надо бомпануть тред, поэтому скопирую пост из /b:

Мне надо было выучить шифрование в rails для баз данных, некоторых значений таблиц, и вот я нашел видео, в котором автор сначала просил нейросеть, которая нашла инструкцию, которая не имеет смысла: https://www.youtube.com/watch?v=SZCuEfvs9rc[РАСКРЫТЬ]

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

Нейросетка - один изинструментов для программиста, а не вместо него. Стековерфлоу и гугл же не заменил айтишников, так и это не заменит.

Далее - гендир чатгопоты (chat-GPT) cказал, что нейросеть достигла предела возможностей: https://stealthoptional.com/news/chatgpt-improvements-coming-to-an-end-says-openai-ceo/

Так что такие дела.
Аноним 11/05/23 Чтв 11:16:05 2694780 310
>>2687722
В руби больше магии и меньше вакансий
Аноним 11/05/23 Чтв 23:34:23 2695547 311
>>2694780
И меньше конкуренции.
Аноним 12/05/23 Птн 14:28:05 2696020 312
>>2695547
знаешь почему Неуловимого Билли так никто и не поймал?
потому что он был нахуй никому не нужен
Аноним 13/05/23 Суб 00:13:48 2696798 313
>>2696020
Неуловимого Джо. Если ты шутишь на уровне телепередачи Городок, хотя бы постарайся быть точнее.

По всему остальному - у меня немного другие данные, скажем так.
Аноним 21/05/23 Вск 11:19:27 2706304 314
>>2660464
так лол, тоже самое
Аноним 21/05/23 Вск 20:19:00 2707156 315
Привет всем рубистам итт. Не знал, что у вас есть свой тред, тогда продублирую свой вопрос тут.
Есть рубисты итт?
Работаю на питоне с пыхой, пишу примитивный бэкенд без архитектуры/ооп. Все проекты идут на аутсорс, код стайла и код ревью нет.
Есть вариант уйти в руби и рельсы, сложно его понять, не имея нормального опыта на других языках? Сказали, что онбординга не будет, нужно в сжатые сроки начинать делать таски.
Аноним 21/05/23 Вск 20:19:52 2707158 316
>>2707156
>Есть рубисты итт?
Извините, забыл удалить.
Аноним 23/05/23 Втр 12:10:18 2709050 317
Screenshot20230[...].png 137Кб, 720x1600
720x1600
Дожили...
Аноним 24/05/23 Срд 19:19:55 2710671 318
Аноним 24/05/23 Срд 22:10:23 2710850 319
Screenshot from[...].png 31Кб, 574x161
574x161
Screenshot from[...].png 17Кб, 508x97
508x97
image.png 32Кб, 819x266
819x266
array.slice(2,5)

в javascript - с 3-го элемента по шестой
в ruby с 3-го элемента вернет 5 следующих
в php - также

давайте ненавидеть джаваскрипт
Аноним 25/05/23 Чтв 18:51:48 2711836 320
>>2707156
Вкат в руби после питона довольно легкий - у нас джуны как раз так переучивались. Насчет пыхи не скажу - нет опыта.
Аноним 29/05/23 Пнд 13:09:12 2715001 321
>>2710850
> в javascript - с 3-го элемента по шестой
А нахуя, если есть array[2..5]? Они ебанутые там все совсем?
Аноним 06/06/23 Втр 08:40:46 2722895 322
Если я хочу отправлять рассылку со своего домена mail@domain.my, то как быть? Делал только через GMail, а так придётся свой почтовик поднимать? Стоит оно того и насколько сложно?

Как мне добавить теги к постам, можете в целом описать?

Создаю пост с тегами ruby, ror, programming
Как создать три записи в БД сразу
Если такой тег уже есть, то он должен прикрепляться к посту, если нет, то создаваться
Аноним 22/06/23 Чтв 09:07:31 2741158 323
Screenshot20230[...].jpg 27Кб, 720x555
720x555
Почему ruby считается мертвым, если десятки тысяч вакансий на линкедине и gem файл, который запостил ночью, уже имеет 97 загрузок, хотя он мало кому нужен, ведь он малоактуален?
Аноним 22/06/23 Чтв 09:43:51 2741194 324
>>2741158
Какие автоматические хуитки качают-зеркалят, наверное.
Аноним 22/06/23 Чтв 09:50:18 2741198 325
>>2741158
Да я удивился. Думал руби посерьезнее будет, а там такая же помойка как в npm. Запросто можно себе майнер поставить
Аноним 28/06/23 Срд 02:58:17 2746725 326
>>2608931
>Вроде бы и учат в университетах
Ммм, это в каких например?
Аноним 28/06/23 Срд 08:15:14 2746776 327
1.png 95Кб, 1878x269
1878x269
Это норм?
strace показывает что ruby пытается найти sqlite3 файлы во всех гемах. На пикче видно ENOENT (No such file or directory)
Какая-то херня после хардресета...
Аноним 28/06/23 Срд 08:21:18 2746777 328
>>2746776
Хотя скорее всего норм. Руби ищет модуль по всем путям.
Аноним 28/06/23 Срд 18:15:25 2747494 329
>>2722895
> Если я хочу отправлять рассылку со своего домена mail@domain.my, то как быть?
> придётся свой почтовик поднимать?
Любое письмо можно подписать любым обратным адресом. Но если ты хочешь читать то, что на этот адрес отвечают - тогда да, либо свой сервер, либо у всяких провайдеров рассылок такая функция может быть.
> Как мне добавить теги к постам, можете в целом описать?
google: many-to-many activerecord

Post has_many :taggings
Post has_many :tags, through: :taggings
Tagging belongs_to :post
Tagging belongs_to :tag
Tag has_many :taggings
Tag has_many :posts, through: :taggings
> Создаю пост с тегами ruby, ror, programming
> Как создать три записи в БД сразу
> Если такой тег уже есть, то он должен прикрепляться к посту, если нет, то создаваться
Ну, то, что ты описываешь, я представляю так: есть таблица tags с уникальным индексом на title
В контроллере Posts#create пишешь
post = Post.new(post_params)
# Тут N запросов в базу, ну и хуй с ними, потом оптимизируешь
tags = params[:tags].each { |t| Tag.find_or_initialize_by(title: t) }
post.tags = tags
post.save
Аноним 29/06/23 Чтв 08:14:07 2747962 330
>>2747494
Спасибо, добрый анон
Аноним 29/06/23 Чтв 08:32:29 2747967 331
Подскажите, как и чем лучше прикрутить уведомления о событиях по типу как соц. сетях: ВК, Одноклассники
Аноним 29/06/23 Чтв 12:14:24 2748103 332
>>2747494
> Любое письмо можно подписать любым обратным адресом.
Так, собственно, часто и делают: "noreply@domain.my"
Аноним 29/06/23 Чтв 12:22:26 2748110 333
>>2747967
А что такое событие? Где оно создаётся?
> ВК, Одноклассники
Типа "Вася Пупкин лайкнул твой пост"? Ну у меня первая мысль - сделать модель Notification с текстом, булевым флагом прочитано/не прочитано и опционально ссылкой на то, о чём уведомление.

Потом PostLike.after_create { Notification.create!(user: self.post.user) }

Ну и этот after_create выносишь в отдельный консёрн, и вешаешь его на все модели, которые должны уведомлять после своего создания.

Если хочешь пуши - гугл firebase cloud messaging - это для андроида. Для яблока тоже какая-то похожая система есть. Её подключаешь к Notification

Если хочешь дать юзеру настраивать, какие уведомления получать в каких случаях - это уже совсем куча кода, там надо конкретно смотреть, какие опции ты хочешь дать.
Аноним 29/06/23 Чтв 14:56:22 2748259 334
>>2748110
Да, лайк, комментарий, подписка
С моделями и БД вроде всё понятно, а что выбрать для доставки самого уведомления? SSE, Polling, Cable (WebSockets) или ещё чего
Аноним 29/06/23 Чтв 15:46:02 2748307 335
>>2748259
Ну можешь просто значок показывать, если юзер грузит страницу, и у него непрочитанные уведомления. Но если твоим юзерам очень нужно, чтобы их заёбывали пуши - вебсокеты какие-нибудь, да.
Аноним 05/07/23 Срд 11:31:04 2754415 336
Аноним 18/07/23 Втр 20:42:42 2772051 337
Мацумото! DHH! Где вакансии?!
Аноним 19/07/23 Срд 21:18:56 2773854 338
>>2772051
На го, питухоне и жс
Аноним 25/07/23 Втр 01:39:34 2780362 339
Аноним 26/07/23 Срд 18:01:20 2782570 340
VID202307231717[...].mp4 420Кб, 576x576, 00:00:05
576x576
Аноны, добрый вечер. С руби я вообще не знаком, но надо одну утилитку превратить в бинарник линуксовый.

Всё, что я нашёл - это rubyc, но он не работает (не у меня одного, под видео с ним вопросы, как это вообще заводить). Не подскажите альтернативы?

Спасибо.
Аноним 27/07/23 Чтв 22:30:31 2784729 341
Чего-то у вас тут вообще тихо стало, да вакансии на глаза все меньше попадпются. Кроме evrone и марсиан вообще кто-нибудь пришлет на руби?
Аноним 08/08/23 Втр 21:59:46 2798870 342
>>2596950 (OP)
Расскажите кулстори почему rubylang и половина каналов по руби умерла? 4 года в них не заходил и вот привет.
Аноним 08/08/23 Втр 22:05:05 2798876 343
>>2798870
Потому и умерла, что ты не заходил.
sage 08/08/23 Втр 22:50:54 2798949 344
image.png 57Кб, 171x200
171x200
Давно тут не был. Это все тот же тред или перекатили с названием undefined(уже второй)?

Вы используете turbo frames и вот это вот все в проектах?
Меня почему-то не сильно тянет с этим экспериментировать, хотя видел в паре видосов как используют

Кажется увяз в своей легаси помойке и не сильно стремлюсь куда-то двигаться. Хотя мне пару знакомых намекает что пора. Щито делать? Взять гэпчик? За пару лет не разу не брал
08/08/23 Втр 22:56:57 2798960 345
>>2798949
А еще кажется что если сейчас решу создать проект с нуля, то жидко обосрусь)
Аноним 09/08/23 Срд 03:22:08 2799174 346
Хуя ажно 5 постов за один вечер! Руби жив!
Аноним 10/08/23 Чтв 18:51:19 2801200 347
Мертвецам привет. Остальным соболезную
Аноним 13/08/23 Вск 23:56:33 2805359 348
Че мужики, руби кайф чи гумно? Так заебала эта джава, хочу чего-то лайтового. Вакансий вообще нет или просто надо уметь искать?
Аноним 14/08/23 Пнд 01:31:01 2805389 349
>>2805359
На нём писать прикольно дохуя всякого сахарочка, а в рельсах вообще дохуя всяких прикольных плюшек. Но из этого всего вытекает минус в том что можно всякого нахуевертить и это будет тяжело поддерживать и как раз таки большая часть работы этом именно поддержка написанного, новых проектов мало.
Вакансий с каждым днем все меньше и меньше. Основной и можно сказать единственный фреймворк теряет популярность как и все MVC фреймворки, куча фишек для фронтенда теперь нахуй не нужна и тд и тп. А остальное особо не взлетело.
Аноним 14/08/23 Пнд 04:43:53 2805421 350
>>2805359
Ну так иди в дуднет. Динамикодрисня в большом легаси не может быть лайтовой.
Аноним 14/08/23 Пнд 13:18:36 2805742 351
>>2805389
>теряет популярность как и все MVC фреймворки
Почему? я не шарю в теме
Аноним 14/08/23 Пнд 16:02:56 2806025 352
>>2805742
Буква V view в них стала не нужна, html никто не генерирует, а на фронт летит json и там реакто-ангуляры все переваривают. Плюс стало популярно писать микросервисы вместо монолитов. Собственно огромное количество фич из рельс и того же джанго стали не нужны. На питоне взлетели всякие fastapi, взлетела nodejs из-за асинхронности, поскольку с теми же ресурсами можно держать большую нагрузку, да и вообще на go не так уж и больно писать микросервисы.
А руби нихуя только предложить не смогло кроме полудохлых не особо производительных sinatra и Hanami.
Аноним 14/08/23 Пнд 16:25:44 2806058 353
image.png 21Кб, 618x114
618x114
image.png 198Кб, 2938x144
2938x144
>>2798949
Решил наверстать что добавили. Открыл посл ролик dhh, поставил этот rich_text.. картинка добавилась, но видна только при редактировании. Оно же должно все из коробки работать(
Аноним 14/08/23 Пнд 16:33:02 2806069 354
>>2806058
Нашел что нужно ставить vips
Начинает казаться что dhh такой дегенерат что пздц прост

Здесь еще дофига зависимостей
Аноним 14/08/23 Пнд 16:35:57 2806075 355
image.png 2907Кб, 2576x1492
2576x1492
эта хуйня еще и цвет поменяла
Аноним 14/08/23 Пнд 18:05:18 2806241 356
>>2806025
Не пиздеть. Hotwire это забытое старое, как раз таки рендеринг html на сервере

В Ruby много интересного появилось, другое дело что это не завезли в Rails ещё
Аноним 14/08/23 Пнд 18:25:13 2806281 357
>>2805359
Ruby заебись, ваканский мало и от middle+
15/08/23 Втр 12:02:53 2806881 358
>>2806075
оказалось что это стиль
Аноним 20/08/23 Вск 03:02:26 2812590 359
Ребзя, я ни хуя не понимаю, как работает Omniauth? У меня Rails API, есть мобилка на Flutter (Android + iOS)

Можете объяснить на пальцах флоу? Нигде не гуглится конкретный этот случай.

Я правильно понимаю, что:
1. Есть какие-то ключи, с которыми мобилка звонит гуглу, получает от него структуру auth data (где id)
2. Мобилка шлёт полученную структуру на мою АПИ типа auth/callbacks/google, а я должен сделать что? По идее, проверить, что это всё взято напрямую от гугла а не составлено кем-то ещё?

Мне это самому делать, или гем omniauth-google_oauth_2 это за меня сделает? Если нет, то что он делает вообще? Почему он просит от меня client_id и secret, а потом оказывается, что они для андроида и айоси разные? Короче, ничего не понимаю, мозг уже выкипел, помогайте.
02/09/23 Суб 14:51:50 2826793 360
image.png 69Кб, 1144x649
1144x649
>>2806241

Как раз зашел в тред чтобы спросить а юзают собственно кто-нить Hotwire в продакшоне?

Какой вообще опыт? По ощущениям оно не популярно.

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

А сейчас прожект на рельсах хоелось бы подтянуть к чему-то более динамичному и решил попробовать hotwire, но блеать меня терзают смутные сомнения по поводу этой идеи обмениваться кусками html и еще какая-то МАГЕЯ под капотом. Боюсь в случае проблем будет ситуация что буду только я и эта ебаная проблема. В случае vue.js etc сообщество говнокодеров гигантское и база знаний уже большая.
Аноним 02/09/23 Суб 19:56:46 2827129 361
>>2782570

Это пиздос гемор, боролся с тем же самым, в итоге оказалось проще переписать на жс и распространять через нпм без ебли со сборочкой бинаря
Аноним 02/09/23 Суб 20:56:04 2827222 362
>>2826793
> Как раз зашел в тред чтобы спросить а юзают собственно кто-нить Hotwire в продакшоне?
hey.com достаточно? На habr'е есть пост (нужно искать), там как раз переводили проект на hotwire с react или vue уже не помню, а так какой hotwire когда legacy кругом?

> меня терзают смутные сомнения по поводу этой идеи обмениваться кусками html и еще какая-то МАГЕЯ под капотом
Обычный html и только
Ну какая магия? JS же, естественно спотыкаться будешь, оно всегда так
05/09/23 Втр 08:11:20 2829517 363
>>2827222

Да я понимаю что не магея конечно.. жас там крутится и меняет куски html'я, но я не знаю как это работает в деталях, понимаешь.

Потратил год назад дня 3-4 на попытку интеграции легаси рельсового приложения с hotwire, подохуел немного, не заводилось и все тут сука. Так и пришлось оставить ui допотопный. Но сейчас все больше и больше необходимости иметь динамичный UI и вот опять я думаю еще одну попытку сделать внедрить hotwire.

Проблема конечно в том что я вообще не рельсовик нихуя и не рубевщик, я из мира жвм и мне вся эта поеботина 'endless number of conventions over configuration' (c) меня ебет очень сильно.
Как и все это ебучее динамическое мета-программирование. Отсутствие даже обоссаных ХИНТОВ для типов (хотя можно еще поковырять rbs, но по ощущениям этой хуйней никто не пользуется). В общем после жс и рубей конечно еще больше начинаешь любить котлин, но я понимаю что вкусовщина все дела, да, наверное прост я слишком СТАР для всего этого и привык к умному конопелятору и помощи IDE, память уже НЕ ТА
Аноним 06/09/23 Срд 23:48:36 2831714 364
Аноним 07/09/23 Чтв 01:40:25 2831760 365
Нужны нормальные таблицы на хотваер, с сортировкой и пагинацией, с поиском, фильтрами, самому такое делать мудово, задача-то абсолютно тривиальная, почему-то нет гема с в стиле руби, который бы завёлся в три строчки без лишних заморочек.
Аноним 11/09/23 Пнд 10:57:32 2836636 366
Аноним 13/09/23 Срд 18:51:23 2840019 367
Дайте вакушечку((

К злым марсианам есть смысл подаваться? Там жоско ебут на собесах?
Аноним 14/09/23 Чтв 08:34:06 2840583 368
>>2840019
Кем? Ебут, но попробовать всё равно стоит
Аноним 14/09/23 Чтв 10:30:18 2840654 369
Аноним 15/09/23 Птн 09:03:27 2841940 370
Также вкатываюсь в поиск работы. MIddle. Рубач, накидайте плиз вопросов с собесов, которые у вас были.
Аноним 15/09/23 Птн 17:33:16 2842676 371
>>2841940
Вопрос: как ты стал мидлом? У мидлов проблем с трудоустройством быть не должно
Аноним 15/09/23 Птн 17:34:50 2842680 372
Что делать джуну, как найти свою первую работу, поделитесь опытом вката или это уже гиблое дело и стоит поискать в другом месте?
мне кажется что последний вагон уходит и дальше будет совсем никак
Аноним 19/09/23 Втр 00:29:44 2847405 373
>>2842680
>15.09 вопрос
>игнор
>руби тред
Жаль, очень жаль.
Как ты до джуна дорос расскажи? Где работал?
Аноним 19/09/23 Втр 03:08:31 2847454 374
>>2829517
> умному конопелятору
> сидишь объясняешь умному конопелятору, что 123 - это число
Аноним 19/09/23 Втр 10:16:37 2847571 375
>>2847405
>как найти свою первую работу
>Где работал?
19/09/23 Втр 11:24:29 2847647 376
Аноним 19/09/23 Втр 12:43:24 2847728 377
Бампер любимому треду!
Живи, тред!
Аноним 19/09/23 Втр 13:44:38 2847806 378
>>2842680
Сомневаюсь, что на рынке рф есть джуновские вакансии по рубям и рельсам.
Аноним 19/09/23 Втр 21:13:49 2848374 379
Планирую засесть за изучение рубей и рельс на ближайшие полгода, мб меньше (база есть) и найти работу джуновскую.
Какие подводные?
Аноним 19/09/23 Втр 23:07:58 2848456 380
Аноним 19/09/23 Втр 23:59:45 2848481 381
Аноним 20/09/23 Срд 07:18:06 2848555 382
>>2848374
> Какие подводные?
Надводные: работу хуй сышешь, нужны мудилы, хотя это везде так
Аноним 20/09/23 Срд 13:38:22 2849003 383
>>2848555
Ты не можешь найти работу?
Аноним 20/09/23 Срд 13:40:28 2849007 384
>>2848555
Я знал лично только одного рубиста и он действительно был мудилой
Аноним 20/09/23 Срд 16:20:38 2849196 385
>>2849003
Любой вкатун её не получит
Аноним 23/09/23 Суб 15:42:33 2852442 386
>>2842676
Я пока на рынок не выходил. Вот хочу понять, что сейчас хотят на рынке.
Аноним 26/09/23 Втр 16:12:50 2855999 387
>>2848374
>>2842680
Вещаю с полей, менял работу мидла на этой неделе заодно помониторил рынок. Джуновских вакансий в рф нет от слова, можно даже не надеятся. По сути, единственная контора, которая более менее гарантировано может взять хорошего джуна - это СберМаркет. Но и они переходят на Go и не факт, что через год всех переквалифицируют.
Аноним 26/09/23 Втр 16:23:23 2856019 388
>>2852442
Docker стал обязательным, везде спрашивали. Стало больше проектов с dry и graphql.
Аноним 27/09/23 Срд 09:31:00 2857023 389
>>2855999
Джунам/интернам только через галеры/агентства уже давно.
Аноним 27/09/23 Срд 22:03:06 2858082 390
Аноним 27/09/23 Срд 22:04:07 2858084 391
Аноним 27/09/23 Срд 22:04:47 2858085 392
>>2855999
Как джуном прикинуться миддлом и пролезть?
Аноним 01/10/23 Вск 20:28:02 2862526 393
Читаю твиттерских, каждый первый уже юзает Copilot. Что скажет анон? Стоит заморочиться с проксями и зарубежными банковскими картами?
01/10/23 Вск 20:36:40 2862534 394
>>2862526
>Читаю твиттерских
Ну у них и спрашивай.
Аноним 18/10/23 Срд 18:59:30 2883931 395
Аноним 30/10/23 Пнд 20:14:00 2900617 396
>>2840019
У эвилов крутая штука с их опенсорс хуйней
Если сам будешь туда наяривать переодичеки, то сами на тебя выходят
а там и релокация в ЖАПОНИЮ
Аноним 30/10/23 Пнд 20:14:31 2900619 397
>>2840654
они съебывают с рубей щас, на го
Аноним 30/10/23 Пнд 20:19:27 2900626 398
>>2826793
мы в конторке сделали црмку с хотваерам. админы текут быдло трясется жс идет нахуй мы кайфуем.

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

сложные шьтуки я бы не стал на нем пока делать, еще не хватает экспертизы, там сорсы надо задрачивать чтобы его раскрыть в полной степени
Аноним 02/11/23 Чтв 16:03:37 2903900 399
>>2900617
Это как работает? Можно подробнее
Аноним 08/11/23 Срд 20:16:58 2912823 400
Доложили вы хуйнёй маетесь.
Аноним 08/11/23 Срд 23:16:08 2913288 401
Ваш тред мёртв?
Аноним 09/11/23 Чтв 00:01:32 2913362 402
Аноним 10/11/23 Птн 22:48:23 2916622 403
>>2913362
Зачем? А как же великий Ruby?
Аноним 10/11/23 Птн 23:00:06 2916637 404
Вкатываюсь в Ruby потихоньку. Дополнительно для дефа ебошу пых по 2 часика в день, мало ли, вдруг не удастся работу на лучшем ЯПе найти.
Аноним 11/11/23 Суб 14:24:52 2917420 405
>>2916637
Звучит как хороший план.
Аноним 11/11/23 Суб 15:54:32 2917567 406
Кто-нибудь знает как в Rails реализована работа с сокетами? После того, как ответ был отправлен, он закрывается или keep-alive?
Аноним 11/11/23 Суб 19:18:57 2917981 407
>>2917567
Я сокетами мало знаком, но что это за сокет такой, который закрывается и нахуй он нужон?
Аноним 11/11/23 Суб 19:23:43 2917993 408
Кто нибудь может посоветовать посмотреть проекты на гитхабе с dry-rb? Так много возможностей, но как это все в кучу собирать...
Аноним 11/11/23 Суб 19:31:23 2918000 409
>>2917567
Закрывается, этим веб-сервер занимается а не Rails, держать коннект это вообще не про http, есть вебсокеты для таких задач.

>>2917993
Да нахрен не нужен этот dry-rb, в Руби есть сейчас типизация, а в Рейлс есть всё то же самое чем этот пакет костылей занимается.
Аноним 11/11/23 Суб 23:41:07 2918354 410
>>2917993
Задавлся точно таким же вопросом, но так ничего и не нашел... Собираю все в кучу сам.
Аноним 27/11/23 Пнд 02:51:13 2938707 411
>>2596950 (OP)
>Q: Можно ли на руби писать нативные GUI, мобильные приложения, игры?
>A: Да, но не стоит.
А что на нем пишут обычно?
Аноним 27/11/23 Пнд 16:29:05 2939519 412
>>2917993
Имхо, дрисня какая говняная. Во всяком случае, в Rails-проектах это просто пятое колесо.
>>2938707
Коммерчески - бэкэнды для веба и всяких мобильных приложений, закрытые админки/CRM для средней руки бизнесов.

В принципе можно всякие юниксовые скрипты и костыли для себя писать и ботов в телегу и дискорд.
Аноним 27/11/23 Пнд 16:36:34 2939536 413
Аноним 29/11/23 Срд 09:53:35 2941833 414
Чето STI перестал работать после обновления Рейлс, если я воткну в application.rb

config.after_initialize do
__Dir[Rails.root.join('app', 'models', '/*.rb')].each do |f|
____require(f)
__end
end

ничего не сломается?
Аноним 05/12/23 Втр 20:18:32 2951450 415
Кто-нибудь что-нибудь слышал о конторе SPACE44?
Аноним 18/12/23 Пнд 17:08:22 2968382 416
>>2941833
Кароче почитал тут в доке что require нельзя в рельсе делать, так что теперь вот такой странный костыль в after_initialize:

Dir[Rails.root.join('app', 'models', '/*.rb')].each do |f|
__Object.const_get(File.basename(f, '.rb').camelize)
end
Аноним 10/01/24 Срд 14:06:50 2995953 417
>>2858085
никак, раскусят тебя на каверзных вопросах по теории и метамагии всякой. сам джун строг пытался перескочить на мидла с аутсорс-галеры, в итоге иду джуном в продуктовую компанию, но ЗП х1.7
Аноним 10/01/24 Срд 18:34:35 2996345 418
>>2995953
Получается не очень хорошо прошел тех. собес?

Предстоит в ближайшие пол года пытаться свичнуться с джуна на мидла (хотя бы попробовать), сейчас начинаю дрочить теорию.
Аноним 10/01/24 Срд 19:03:54 2996435 419
>>2995953
вообще работа есть, че то на хх вообще грустно((
Аноним 10/01/24 Срд 21:10:58 2996719 420
>>2996345
В первую очередь дрочи теорию именно по самому руби, а не по рельсам. В сети дохуя потенциальных вопросов по собесам на рор, кстати, в основном англоязычных, с подробным разборам. Сам по ним готовился когда-то.
Аноним 10/01/24 Срд 22:10:19 2996817 421
>>2996719
Спасибо, попробую поискать. Пока собираюсь дрочить руби, всякое по базам и немного алгоритмов
Аноним 24/01/24 Срд 20:53:27 3017670 422
Эхххх ну привет пидарасы.

Руби бог 13 лет экспы репортинг ин.

Бампану тред своей стори и поставлю этим постом жирную точку в истории под названием "Вкатился, катился и ДОКАТИЛСЯ", которая началась в руби треде ЕЩЁ ТОГДА, здесь она и закончится.

Помню году в 2010-2012 прочитал стори одного рубиста ещё на старом программаче (которую олдфаги уже и не вспомнят) как он красиво кодил опенсорц на рубях (рспек ЕМНИП) и ему сделали ремоут офер (что для 20хх было чем-то ВАУ) за какие-то бешенные бабки, на которые он мог позволить себе путешествовать и жить жизнь ПО КАЙФУ.

У меня появилась мечта.

Я, в ту бытность ещё будучи околошколой, пишущий на си/паскале, прочитав тред - загорелся. Купил книгу от Маца и дважды переписал её в тетрадь тезисно.
Работы на рубях в РФ было больше чем инцелов в /б/ тогда. В течение пары месяцев дрочки рубей, участия в специальных олимпиадах в пр нульча, если кто помнит пробежавшись по книге о рельсах - нашел свою первую работу джуном.

Приблизился на шаг ближе к мечте.

Бабки были огромные на то время, 90к после налогов (3к зелени примерно на 2013 год ДЖУНУ). Я даже не осознавая того факта что мне тупо повезло быть в правильное, сытое время, в нужном месте, с трендовой технологией в руках - ПОЙМАЛ ЗВЕЗДУ и начал менять РАБоты как перчатки, диктуя свои условия

Лонг стори шорт, спустя года 2-3 я пришел к своей мечте.

Полностью удалённый оффер, куча денег, чемодан-вокзал-тайланд, поездки по островам с новыми друзьями, вещества, тяны, наркотики, новые знакомства, новые проблемы; жил в таком ритме я где-то года 3-4 хз.

В итоге я вышел на пик переехав в одну очень успешную азиатскую страну где лутал ЕБЕЙШИЕ 20к не считая бонусов и стоков баксов просто за то, что был ЛИДОМ.

Параллельно, не осознавая что мне тупо повезло в своё время и искренне ощущая себя как охуенный спец, начал собеседоваться в серьезные компании, где нормальные инженеры с образованием и опытом создания действительно сложных систем, умением перекладывать байтики в памяти и писать быстрые алгоритмы - начали меня ОПУСКАТЬ на собесах.

Тогда я понял, что я тупой, всего навсего крудошлёп. Хуже Васяна на заводе, пишу модельки да контроллеры на рельсовой конвеерной ленте, а возомнил себя ИНЖЕНЕРОМ, ПРОГРАММИСТОМ! Звезда упала и порвала мне анус.

А потом ещё руби рынок во всём мире пошёл на спад понятно что сапорт все еще стоит денег, но эта история рано или поздно закончится.

Это вогнало меня в жуткую депру, попыткы доказать себе что я не крудошлёп длились много лет, и в общем-то они были позитивные, но успехом не увенчались. Осилил пару сложных книг по алгоритмам, даже в ФААНГ собеседовался вполне успешно (но из-за сокращений соснул хуйца в итоге всё равно).

Пытался вкатываться в более сложные языки типа скалы, но после руби это пиздец как лениво и непонятно нахуя это надо. В итоге я понял что в развитии своём как профессионал я так и остался КРУДОШЛЁПОМ, пускай и на максималках.

Ещё я недооценил влияние скуф-эффекта, выгорания и депрессии на возможности проф развития в IT области, я стал НЕОБУЧАЕМЫМ и пиздец каким ленивым. Щас мне просто всё лень и хочется делать всё что угодно, но не включать мозг.

Моя последняя работа за дохуя денег кстати закончилась выгоранием и нарушениями психики, так что ХЭПИ ЭНДА НЕ БУДЕТ. Я всё ещё разгребаю последствия влияния руби на мозг.

Зачем я всё это написал?

Наверное чтобы красиво закрыть гештальт.
Вижу щас как вкатуны выбирают Го и другие трендовые технологии несмотря на то, что рынок мёртв лмао и сперва такой: хаха ебать МАКАКИ. А потом вдруг начал видеть параллели между собой тогда и ими сейчас. И чёто охуел.

Выводы?

С одной стороны я залутал крайне много денег, но в итоге заебался, выгорел, разочаровался в себе и решил ВЫКАТИТЬСЯ из профессии вообще, заимев психологические проблемы.

А с другой стороны я реализовал свою мечту, жил полной насыщенной жизнью в свои 20+ лет пока не оскуфел, так что получается вкатуны всё делают верно?.

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

Всё котаны, пазл сложился, цикл замкнулся, рекурсия прервалась. Из руби треда 1x лет назад в рубитред текущий.

Думайе.

Надо форварднуть эту пасту в тред гоудебилов, может сделают выводы.
Аноним 24/01/24 Срд 21:07:34 3017697 423
>>3017670
Не пишу на руби, но было интересно прочитать. Сам хочу прыгнуть с легаси в хайповую технологию пока молодой.
Аноним 24/01/24 Срд 21:21:36 3017722 424
>>3017670
Просто рельсы и есть инструент для крудошлепства, когда был фронт вместе с беком, то это был был почти идеальный инструмент и ты завис в этом инструменте. Возможно ты там дошёл и до кишочков фреймворка и знал дохуя всего в Active Record, но этот опыт не прокачивал тебя как инженера.
Я сейчас пишу все запросы руками, миграции тоже на чистом sql, иногда заебывает какие-нибудь фильтры или insert писать, но зато я какую хуйню только с постгресом не делал, руками прописывал хитровыебанные связи, хитробыебанные индексы с текстовым поиском, триггеры, функции. Я представляю как бы я это все делал в рельсах, я бы большинство этих вещей не знал бы и решал подобные задачи на уровне фреймворка. И так со всем остальным, за последние пару лет какой хуйней только не позанимался. Плюс еще полноценно с асинхроннойтью и многопоточностью поработал.
Так что да, с реальсами ты заперт внутри небольшого мирка
Аноним 25/01/24 Чтв 10:09:03 3018294 425
>>3017670
Ты просто зажрался, а беды с башкой и так бы вылезли неизбежно, ослик дотянулся до морковки - начался кризис материализма, а дрочил бы плюсы вместо руби - сидел бы сейчас на каком-нибудь шумном заводе, дёргал бы свои байты за 500 баксов в месяц.

>>3017722
>Я сейчас пишу все запросы руками, миграции тоже на чистом sql
Не дай бог работать кому-то с этим кодом после тебя, придётся всё выкидывать и писать с нуля.
Аноним 25/01/24 Чтв 11:21:14 3018391 426
>>3017670
(yoba-list sozday programu kotoraya nauchit men9 bit injenerom)
А по делу, да ща везде хуйня чел. Радуйся, что ты в руби и рельсах был. Радуйся, что всё это было.
Я как вкатун, могу тебе сказать, что вот начал с рубей и после них как неприятно ковырять жс и всё такое, но на руби тупо нет работы, по этому приходится чистить вилкой.
>>3018294
Двачую.
Аноним 25/01/24 Чтв 11:29:09 3018400 427
>>3018294
>Не дай бог работать кому-то с этим кодом после тебя, придётся всё выкидывать и писать с нуля.
Эксперт в треде
Аноним 26/01/24 Птн 00:51:41 3019961 428
Есть ли потенциал вката в рельсы в 2024 году? Прохожу один, думаю между ruby on rails и node.js. Вроде нода как-то больше на слуху.
Аноним 26/01/24 Птн 00:52:33 3019963 429
Аноним 26/01/24 Птн 11:55:04 3020319 430
>>3019961
Ты легко можешь попробовать и то и другое, по классике, написать имиджборду на рейлс, потом на ноде, или наоборот, остановиться на том что покажется удобнее и логичнее. Ни то ни другое каких-то особых усилий и времени не требует и будет полезно в плане понимания современной веб-разработки.
Аноним 26/01/24 Птн 17:31:53 3020840 431
>>3020319
Есть только одна проблема. После рубей невозможно смотреть в сторону жс.
Аноним 26/01/24 Птн 19:02:19 3021014 432
>>3020319
>>3020840
Я раньше питон немного ковырял, адаптация к жсу вроде норм прошла.

Можно спросить наивный вопрос? Смело посылай поесть говна, если это прям тупость. Но где больше денех дают, вакансии на руби есть? И вообще фуллстек вакансии с руби бывают?
Аноним 26/01/24 Птн 19:44:01 3021081 433
>>3021014
>где больше денех дают
в рубях, закачик кабан с забугра в основном
>вакансии на руби есть
есть но мало и не джуновские
>вообще фуллстек вакансии с руби бывают
почти все бывают, это фуллстек фреймворк

Ток я сам не в рубях, говорю из того, что наблюдал.
Аноним 11/02/24 Вск 15:09:06 3043768 434
>>3021014
> И вообще фуллстек вакансии с руби бывают?
Смотря что иметь в виду. Когда у тебя странички свёрстаны на руби+html вместе с бэком - бывает. Когда бэк на руби и отдельно фронт на каком-нибудь реакте - тоже бывает.
Аноним 15/02/24 Чтв 12:28:15 3049389 435
Столкнулся с интересной задачей, нужно прикрутить гуй (glimmer-dsl-libui) к одной программе, программа через ffi дёргает сишный код, в котором происходит блокировка, и невозможно его сделать асинхронным, треды-файберы, всё по барабану, когда идёт вызов - процесс блокируется и гуй не отвечает, то есть мне нужно делать гуй в другом процессе, через popen я мог бы запускать два процесса, с гуем и с блокируемым кодом, но вот вопрос - как передавать данные из одного прцоесса в другой, есть идеи? Пока присматриваюсь к distributed ruby, чтобы просто кидать данные через сокет, но может что-то упускаю и есть инструменты поудобнее?
Аноним 20/02/24 Втр 14:38:35 3056079 436
>>3049389
Ну сделал в итоге два варианта - через drb, удобно, гоняет объекты в обе стороны, скрывает под капотом все заморочки, как будто бы даже бесшовно, но через сеть, показалось немного громоздко для такой простой задачи, остановился на обычном IO.popen и чтением в потоке из stdout (10 строк кода простив 100 в drb), чем проще тем лучше.
Аноним 23/02/24 Птн 19:09:59 3060889 437
Двач, сап. Может есть какие-то узкоспециализированные ресурсы для ruby on rails вакансий кроме банального hh ру и хабр карьеры? upwork в РФ заблочен на глухо, что есть еще?
Аноним 23/02/24 Птн 20:25:14 3061019 438
Аноним 23/02/24 Птн 20:51:57 3061084 439
image.png 272Кб, 1190x619
1190x619
Двач, что такое :abysmall в первой строке и почему он имеет значение? Предполагаю, что значение задано изначально.
Это же не переменная, а что это? Метод, который возвращает строку?
Аноним 23/02/24 Птн 21:23:31 3061130 440
Господа, интересует следующий вопрос: можно ли примерно прикинуть соотношение количества вакансий на руби к количеству вакансий на других языках?

То есть примерно сказать, что количество вакансий на руби в n раз меньше, чем на шарпе, или в m раза меньше, чем на джаве.

Я пытался прикинуть соотношение через hh, но результат очень неточный, так как при поиске одного языка, ты в итоге видишь в выдаче в том числе совершенные другие языки, потому что в каких-то вакансиях могут быть указаны вообще 5 разных языков одновременно.
Аноним 23/02/24 Птн 22:25:20 3061226 441
>>3061084
Это symbol синтаксис как у названия переменной, только впереди двоеточие, а по сути та же строка.
Аноним 23/02/24 Птн 23:00:50 3061277 442
>>3061130
Выборку жёстче сделай и посмотри
Мало очень вакансий
Аноним 23/02/24 Птн 23:03:20 3061280 443
>>3061084

p :abysmall # выводит как есть, для отладки полезно
pp :abysmall # переводит в строку
Аноним 23/02/24 Птн 23:13:52 3061292 444
Screenshot from[...].png 3Кб, 177x84
177x84
Screenshot from[...].png 2Кб, 68x71
68x71
>>3061226
>>3061280
Вот код, и вот его результат, т.е. к переменной нельзя обратиться через двоеточие. Так что это тогда в примере выше отсюда: >>3061084 ???
Аноним 23/02/24 Птн 23:21:47 3061307 445
image.png 11Кб, 276x211
276x211
Аноним 23/02/24 Птн 23:23:35 3061309 446
image.png 3Кб, 73x97
73x97
>>3061307
Вывело так, т.е. это не хэш тоже.
Аноним 24/02/24 Суб 00:10:45 3061368 447
>>3061277
Как же жаль, что существует невероятно крутой один прожект, и при этом количество вакансий низкое.
Аноним 24/02/24 Суб 00:39:38 3061411 448
изображение.png 5Кб, 519x68
519x68
>>3061307
Символ это как строка, разница в том что две одинаковые строки - разные объекты, а два одинаковых символа - один и тот же объект.
Аноним 24/02/24 Суб 00:41:46 3061416 449
>>3061292
Переменная со значением 'hey'
Символ :test
Символ переведённый в строку

Почитай про символы и разницу между методами p и puts
Аноним 24/02/24 Суб 00:43:00 3061419 450
>>3061368
Что за проект? И что, туда люди нужны? Пробуй тогда
Аноним 24/02/24 Суб 00:45:37 3061422 451
Аноним 24/02/24 Суб 03:30:39 3061484 452
>>3061422
А что в нём крутого? В РФ и округе с вакансиями беда, вам в США надо
Аноним 24/02/24 Суб 09:57:56 3061571 453
>>3061484
Сейчас такое время, если ты в РФ, бери рейлс и импортозамещай сам, благо инструмент позволяет строить приложения любой сложности особо не напрягаясь.
Аноним 24/02/24 Суб 11:16:58 3061611 454
>>3061084
>>3061416

На первой картинке есть :abysmall
Что это, метод? Хэш? Переменная? Обьект класса? Массив?

Не массив, не переменная.
Хэш должен иметь ключи еще, значит не хэш.

Обьект класса вернул бы на p что-то об этом.
Может метод тогда, верно?

К чему обращаются через двоеточие внутри хэша?

Например {'hey' => :test}
Что такое :test?
Аноним 24/02/24 Суб 15:14:27 3061806 455
>>3061611
бля это вопрос или ты криво отвечаешь? ЯННП

:abysmall это СИМВОЛ символьный литерал

:test это тоже символ

Символ это тип данных в руби

Символ это как строка, с тем отличием что символ :a это всегда один объект в памяти :a.object_id == :a.object_id, в то время как одинаковые по значению строки могут ссылаться на разные объекты в памяти 'a'.object_id != 'a'.object_id

>К чему обращаются через двоеточие внутри хэша?

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

>Например {'hey' => :test}

тут ключ это строка 'hey'
hash = {'hey' => :test}
hash['hey'] вернёт :test
hash[:test] вернет nil, так как такого ключа нет

>что такое :test
символ

Ты вообще нулевой что ли? Почитай иди книгу базовую по руби
Аноним 24/02/24 Суб 18:08:11 3062031 456
>>3061571
Что значит импортозамещай? Что именно можно сделать в одиночку?
Аноним 24/02/24 Суб 18:13:32 3062037 457
>>3061806
>:abysmall это СИМВОЛ символьный литерал
спасибо

>Почитай иди книгу базовую по руби
посоветуй может быть, пожалуйста
Аноним 24/02/24 Суб 20:05:24 3062210 458
>>3062037
Симдянов, самоучитель Ruby
Аноним 24/02/24 Суб 21:18:37 3062290 459
>>3062210
чиво блядь?

любую книгу бери programming ruby, ruby programming language от маца, в руби несмотря на версию 3 нихуя особо существенного не изменилось, кроме keyword arguments
Аноним 24/02/24 Суб 21:19:12 3062291 460
А вообще братан учи гоу или питон, зачем тебе руби? Хайп прошел, хайрят в основном синьоров, рынок в целом в жопе щас
Аноним 24/02/24 Суб 21:20:47 3062294 461
>>3062290
well grounded rubyist. Ваш мац больше на справочник похож
Аноним 24/02/24 Суб 21:21:46 3062297 462
>>3062290
Того блядь, а это старьё нафиг не нужно
Изменилось и ещё как
Аноним 24/02/24 Суб 21:22:34 3062299 463
>>3062294
Он не знает английский, а ты ему суешь не то, что сейчас нужно
Аноним 24/02/24 Суб 21:23:00 3062302 464
>>3062291
И будет 1 в 100000 вкатунов
Аноним 24/02/24 Суб 21:25:50 3062308 465
>>3062291
>Хайп прошел
И что, инструмент стал хуже? Нет, не стал. Появились какие-то вменяемые фуллстек-альтернативы? Тоже нет.
Аноним 24/02/24 Суб 21:29:11 3062316 466
>>3062297
>>3062302
чё вы развонялись манюни? я в руби с 2008 года и не одного джуна на ноги поставил, если чел прочитает ту или другую книгу что я посоветовал - он будет охуенынм спецом.

"Новые уникальные фичи" чел освоит прочитав чейнджлог к новой версии рубей, все равно будет писать на рельсах лол

Че там уникального в современных книгах по руби? за ракторы, паттерн матчинг, кварги пояснят лол? 80% инфы (самой важной) будет то же самое, да и хоть одна норм книга вышла по языку вообще за последние 10 лет? руби мертв давно уже

>>3062294
прочитал дважды, лучшая книга по руби
Аноним 24/02/24 Суб 21:30:31 3062318 467
>>3062308
конечно, любой го/питон/джава фреймворк

не вижу в 2024 смысла на руби писать
угараю с тех кто за 10 лет так и не пересел с руби на более вменяемый язык, руби - как бы я его ни любил - язык одного фреймворка, руби программеры в целом хуевые программеры, ибо руби чисто прагматичный язык для веба
Аноним 24/02/24 Суб 21:36:39 3062343 468
>>3062318
Неплохой вброс, с го-фреймворка реально проиграл.
Аноним 24/02/24 Суб 22:21:22 3062419 469
>>3062343
Причина тряски? Давно писал на го или той же джаве, рубидаун? Никому твои рельсы уже не нужны кроме легаси проектов. А джсоны гонять лучше чем на го не придумаешь. Простой руби сервис жрал четыре инстанса и лагал как мразь на галере моей предыдущей. Го на одном летает и жрать не просит. Код писать не гемморойнее чем на руби. А тот факт что за него платят деньги - ну ты понял.
Аноним 24/02/24 Суб 22:37:28 3062425 470
>>3062419
>джсоны гонять лучше чем на го не придумаешь
Задача примитивная, конечно тебе не нужен рейлс чтобы записать портянку текста в сокет.

>Код писать не гемморойнее чем на руби
Опять же, если задача - прогон джейсона, тебе сишка и десяток функций подойдет для этого.
Аноним 24/02/24 Суб 22:58:14 3062433 471
>>3062425
Скажи еще ассемблер

Рельсы сейчас в век фуллстек жээса что-то из прошлого столетия
Аноним 24/02/24 Суб 23:15:16 3062440 472
Ебать, тут постов высрали, наверное больше чем за весь прошлый год.
Думаю, что руби мёртв больше чем жив, но рельсы ещё дадут прикурить, новых фич дохуя и писать фронт судя по всему легче становится чем гонять апишку, но это пока что всё для США, лет 5 и до нас дойдет нишево.
Аноним 25/02/24 Вск 00:13:03 3062465 473
>>3062433
Rails и есть fullstack, ваши React'ы не нужны
Аноним 25/02/24 Вск 00:14:08 3062466 474
>>3062440

Сказано же, что Ruby не умер, он просто стал вампиром
А в РФ можно и на WordPress магазины клепать
Аноним 25/02/24 Вск 01:01:53 3062500 475
wake-up-dracula.gif 3964Кб, 300x218
300x218
>>3062466
>Ruby не умер, он просто стал вампиром
Аноним 25/02/24 Вск 10:13:56 3062666 476
>>3062465
Дурак что ли? Фулстек везде куда не плюнь. Нахуй рубисты нужны когда можно фулстек жс макаку взять? Рынок изменился. Руби нужен только для легаси, в основном хайрят синьоров. Точка. Нам всем надо смириться.
Аноним 25/02/24 Вск 11:20:23 3062725 477
>>3062666
Тебя забыл спросить, на чем мне писать, еще какие-то точки ставит, охуеть дебил.
Аноним 25/02/24 Вск 11:30:32 3062732 478
>>3062725
Конечно пиши на чем хочешь. Я сам на паскале иногда пишу. Но денег мне за это не платят. Платят за Goвно.
Аноним 25/02/24 Вск 13:03:07 3062833 479
>>3062666
Ну к слову, ты не прав, что хайрят ток сеньоров. Есть стажировки даже на рубях, бесплатные конечно, но всё же. Да мало.
Другое дело, что это не фулстэк, а апишку делать. Так что вся прелесть рельс не чувствуется.
Аноним 25/02/24 Вск 20:41:50 3063439 480
>>3062833
Бесплатно я и на идрисе по стажироваться могу лол.
Аноним 28/02/24 Срд 01:29:20 3066563 481
>>3062666
> Нахуй рубисты нужны
Админки пилить, если джангистов нехватает
Аноним 03/03/24 Вск 00:49:52 3071157 482
Screenshot from[...].png 614Кб, 677x506
677x506
Сап, двач! Через 2 дня первое техническое собеседование.
Что нужно быстро повторить\выучить, чтобы пройти на мидла по ruby on rails?

Может есть какой гайд там и мануал, шпаргалка с вопросами и ответами, примеры кусков кода там?
Аноним 03/03/24 Вск 04:48:06 3071321 483
>>3071157
Что за два дня можно выучить, залупа
500 вопросов ищи и видео на YT
Аноним 08/03/24 Птн 02:57:35 3076886 484
Аноним 11/03/24 Пнд 14:49:26 3081564 485
Аноним 18/03/24 Пнд 15:51:27 3090896 486
>>3076886
Видимо, он устроился на свои сытые миддловские 250к и теперь никогда не будет онлайн
Аноним 29/03/24 Птн 16:00:42 3105326 487
Ебучий Руби и РОР, я менеджер проектов, поступил проект с данным стеком, не можем сеньора граммотного под него уже полтора месяца найти за 320к в месяц, резюме мало , тим лид проекта никого выше мидла плюс оценить не может с рынка (он адекватыч, ему не в интересах валить, себе замену ищет т.к. увольняется), сука какая же боль
Аноним 29/03/24 Птн 20:31:00 3105786 488
>>3105326
Не могу найти синьора, потому что синьоров мало сейчас, а мидл не нужен, джун тем более.
хех
Аноним 30/03/24 Суб 00:13:11 3106070 489
Screenshot from[...].png 202Кб, 1314x454
1314x454
Screenshot from[...].png 10Кб, 301x54
301x54
Screenshot from[...].png 161Кб, 835x608
835x608
>Если смотреть youtube, то есть видео, где абстрактным классом считается обычный класс, который наследуют, и в котором переопределяют методы. Но при этом от обычного класса можно создать его instance, т.е. объект. А если смотреть википедию, то там написано, прям сразу в определении, что объекты от абстрактных классов создавать не предполагается, т.е. интерпретатор выдает ошибку в иных языках программирования, но в Ruby я могу создать объект класса, который считается абстрактным. Когда я спросил об этом в тусовке Ruby программистов в Telegram, которых я считаю гуру, то там мне ответили, что в Ruby нет абстрактных классов.

>Получается, что я завалил бы собеседование автору видео, если ответил бы, как считает Telegram тусовка, или завалил бы собеседование тусовке, если бы смотрел только видео, и завалил бы автору статьи в википедии, если бы ответил, как автор видео или тусовка Telegram.

https://2ch.hk/pr/res/3106055.html
Аноним 30/03/24 Суб 01:02:30 3106103 490
>>3106070
>После я пошел искать информацию об этом в Ruby, т.к. последние годы работал с этим языком программирования, и тут, получается, уже есть разногласия:
Нет интерфейсов, нет абстрактных классов, есть объект класса (метакласс), есть объект экземпляра, можно запретить метаклассу плодить экземпляры (синглтон), тогда это будет некое подобие абстрактного класса из джавы, разногласий тут никаких нет, просто у тебя пробелы какие-то по базовым вещам, что довольно странно само по себе, наталкивает на мысль что ты не работал с ООП и пропустил целиком главу из учебника, а это хуёвый звоночек на собесе.
Аноним 30/03/24 Суб 11:54:27 3106358 491
>>3106103
>аталкивает на мысль что ты не работал с ООП и пропустил целиком главу из учебника, а это хуёвый звоночек на собесе.

>Нет интерфейсов, нет абстрактных классов
а как же видео про абстрактные классы в Ruby тогда?

А как же 2 года с Rails, в котором MVC и ООП?
А как же ActiveRecord в нем, который ORM?

Вот я и хочу узнать про абстрактные классы, потму что одни говорят одно, другие - другое, а википедия третье, а я просто смотрю архитектуру проекта и делаю также, и мне плевать абстрактный класс я наследую или просто класс, если он есть, меня мало волнует SOAP или REST API в проекте, потому что я смотрю json пришел или xml на реквест, ровно также, как мне пофиг мазь или крем прописал врач, я беру и мажу им то, что необходимо, я не понимаю зачем мне знать в каких случаях лучше перекись, а в каких хлоргексидин, если нужен антисептик, когда порезал палец, т.е .в проекте хлоргексидин - берешь его, перекись -её, какая мне разница в отличиях, я что, экстрасенс знать, что предпочитает тот, кто проводит собеседование? Потом все, когда я заваливаю собеседования, считают меня тупым, потом удивляются факту того, что я могу работаь на мировом рынке и выдерживать конкуренцию там, не могут в это поверить, блокируют соединение и считают, что дядя в цру, когда это не так, ищут самолет какой-то вместо фсб, максимум ебанутое быдло.
Аноним 30/03/24 Суб 12:31:39 3106388 492
>>2596950 (OP)
Рубисты, как широкого распространен JRuby?
Аноним 30/03/24 Суб 12:50:29 3106397 493
>>3106388
>Рубисты, как широкого распространен JRuby?

>JRuby — интерпретатор языка программирования Ruby, написанный целиком на Java. Из Ruby-кода в JRuby можно вызывать классы Java, таким образом можно получить доступ ко всем библиотекам, инфраструктурам и инструментам платформы Java.

Т.е. ты хочешь сказать, что можно из Ruby вызывать классы Java, где уже точно есть и абстрактные классы в том числе? Мне так отвечать на абстрактном собеседовании?
Аноним 30/03/24 Суб 13:01:25 3106399 494
>>3106397
Вопрос про абстрактные классы и интерфейсы это ловушка для вкатуна с курсов, который нарисовал себе годы опыта, но на самом деле не работал, на некоторые вопросы просто нужно заранее держать сформулированное определение в голове.

>>3106358
Бывает так что человек всё знает на практике, но объяснить не может - не владеет терминологией, тут только один вариант - читать книги из ОП-поста, первую базовую любую, вторую метапрограмминг, третью любую из продвинутого, текста много, но на выходе у тебя будет полный багаж теории и на всякой академической шелухе и попыткам копнуть поглубже ты уже не прогоришь.
Аноним 30/03/24 Суб 20:45:29 3106999 495
>>3106399
>Бывает так что человек всё знает на практике, но объяснить не может - не владеет терминологией, тут только один вариант - читать книги из ОП-поста, первую базовую любую, вторую метапрограмминг, третью любую из продвинутого, текста много, но на выходе у тебя будет полный багаж теории и на всякой академической шелухе и попыткам копнуть поглубже ты уже не прогоришь.

Это очень ценный совет, спасибо огромное.
Аноним 30/03/24 Суб 22:57:22 3107281 496
Аноним 16/04/24 Втр 15:58:42 3124971 497
Нравится ruby, +- научился крудошлепить с рельсами. Стоит ли дрочить этот стек дальше в ожидании вакансий стажер в учи/сбер/самокат или вкатываться в другой язык, но любить ruby?
Аноним 16/04/24 Втр 16:19:56 3125021 498
>>3124971
>Стоит ли дрочить этот стек дальше в ожидании вакансий стажер
Значит ты хочешь прийти с улицы без опыта, шоп тебя всему научили. А остальные чо блять тупые, этого не хотят? Или ты ожидаешь что ты будешь там единственным? Бля таких любителей халявы как ты, да тем более в сбер пол-города нахуй найдётся. Удачи тебе конкурировать с 500 человек на место. Таких ленивых увальней, которые ждут что работодатель их обучит, прокачает им опыт, пол-россии как минимум.
Аноним 16/04/24 Втр 16:28:10 3125036 499
>>3125021
Ну вакансий руби/рельсы для джунов нет, а волчарой становиться не хочу, поэтому и думаю попытаться залететь в какой нибудь другой бек язык, где хотя бы вакансии джунов присутствуют
Аноним 16/04/24 Втр 16:38:36 3125049 500
>>3125036
>Ну вакансий руби/рельсы для джунов нет
Да блять нет никаких джунов. Это просто образное выражение, это не буквально где-то прям заголовок вакансии висит. Такие вещи говорят между строк в описании (которое никто не читает), а не вывешивают в заголовках. Не существует никаких критериев что есть "джуниор". Кто это нахуй? Как он выглядит? Это больше как синоним говнокодера/рукожопа, а не конкретная вакансия.
Аноним 16/04/24 Втр 17:02:37 3125096 501
image.png 12Кб, 441x155
441x155
>>3125049
Нахуй они тогда так делают? Могу ли я считать, что этот год опыта я получил дроча курсы?
Аноним 16/04/24 Втр 17:34:09 3125151 502
>>3125096
>Нахуй они тогда так делают?
Опыт - это объективный фактор. Его можно посчитать. А "звания" это субъективщина, открой любой сайт с индусами, там каждый первый "сениор html-верстальщик". Чмохи с заниженным самомнением считают себя "джуниорами", а с завышенным "сениорами". Хотя этих сениоров пруд пруди на каждом сайте.

То что работодатель там пишет - тебя вообще ебать не должно. Твоя задача - это по описанию сопоставить свои навыки и то что им требуется. Осиляешь ты эту работу или не осиляешь. Говоришь, вот у меня такие и такие навыки, нанимаете? Нет? Я дальше тогда пошёл. Не надо ничо объяснять. Не надо никак оправдываться. Ты не обязан на 100% подходить под описание. Если они будут выёбываться - тогда пусть сами берут нахуй и работают. Всё.
Аноним 16/04/24 Втр 18:00:49 3125220 503
Аноним 17/04/24 Срд 18:46:14 3126661 504
Аноним 21/04/24 Вск 18:47:39 3130856 505
Screenshot from[...].png 42Кб, 761x403
761x403
Доброе утро этого осеннего вечера, господа! Не смотря на шизофазию мною написанного, однажды я всё же полез на dry-rb, чтобы посмотреть на валидацию от гуру с миллионами загрузок. Все, что я увидел в их решении для валидации, было о том, что мне надо писать свои регулярные выражения, используя их класс с многостроков, т.е. я должен был написать много для простых действий.

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

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

- Там можно валидировать переменную или хэш.
- Там можно использовать готовые валидаторы.
- Там можно добавить шаблон для валидации хэша.
- Там можно добавить свои валидаторы к готовым (для любителей писать свои регулярные выражения).
- Там можно иметь валидацию или nil (для редких случаев, если девушка оставила номер телефона или нет).
+ Там нельзя валидировать хэши с вложенными хэшами пока иксзибит валидирует хэш, чтобы валидировать хэш (т.е. рекурсивная валидация вложенных хешей будет сделана когда-нибудь позже)
+ Там нет линтера и не будет, так что интервалы происаны в 4 пробела при табуляции (потому что я умею считать только с пяти до четырех).
+ Там нужен рефакторинг, и я оптимизирую код позже, т.е. он будет более профессиональным, но только тогда, когда я вырасту с middle+ до entry level

Просто я действительно не нашел простую валидацию, а у меня просто, как я считаю. Что думаете?
https://github.com/butteff/is_valid_ruby_gem ?

Но это всего-лишь 0.0.9 версия...
Аноним 06/05/24 Пнд 23:58:18 3146943 506
>>3130856
> Доброе утро этого осеннего вечера, господа
Копипаста даже не палится. Ладно, поговорим с копипастой.

>также я не увидел там валидацию хэшей, а мне нужно было именно это
Эм, в смысле? Может, я не понял автора, но всё там есть. Для каждого вложенного хэша нужно объявить свой Contract, унаследовавшись Dry::Validation::Contract. Через Dry::Schema.Params объявить схему, как показано тут: https://dry-rb.org/gems/dry-schema/1.13/nested-data/#nested-code-hash-code

Dry::Schema позволит проверить, что структура хэша соответствует ожидаемой. Если всё совпало, то каждый вложенный хэш можно валидировать через соответствующий Contract.
Аноним 07/05/24 Втр 02:33:43 3146980 507
>>3106358
Абстрактный класс - это умозрительная хуйня, класс, который ты планируешь наследовать и не планируешь инстанциировать. Если рассмотреть конкретный пример бизнес-логики и нормально назвать эти классы, то 95% вопросов отпадают сами собой. Если у тебя есть зоопарк с кошечками и собачками, то тебе и в голову не придёт создать ЖИВОТНОЕ, вот животное здесь - это абстрактный класс.

Просто в каких-то языках есть специальные конструкции, которые будут вываливать ошибку при попытке создать объект, а в каких-то нет но можно писать костыли для получения этого функционала, суть от этого не меняется.
Аноним 07/05/24 Втр 11:30:01 3147204 508
>>3146943
>dry-rb
Мало того что это набор кривых костылей, так еще и русофобская параша, блокнувшая российские ip на веб-сервере, может там еще и закладки в коде, кто знает.
Аноним 07/05/24 Втр 11:50:32 3147233 509
>>3147204
Ладно, похоже что я гоню, видимо хостер просто в бане у РКН.
Аноним 08/05/24 Срд 18:12:19 3148825 510
>>3147204
У меня всё открывается. Вроде как там висела вверху строчка "бла-бла-бла, помогите хохлам", её видно вот здесь, например:

https://web.archive.org/web/20230405005510/https://dry-rb.org/

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

Что касается кривости, то, лол, а что не кривое? Это опен-сорс, так что по определению ничего хорошего ждать не стоит. Но я использовал dry-system, dry-configurable, dry-validation и пару других мелких (dry-cli, dry-files). Да - кривое, да - плохо документированное, но лучше, чем ничего.

Дальше оффтопик. Меня больше удивляет, что они там пилят Hanami, неужели им кто-то пользуется? Даже рельсы-то отмирают, ньюбисы руби обходят стороной и вкатываются во всякие Django, и пилить очередной фреймворк на рубях какая-то сомнительная идея...
Аноним 08/05/24 Срд 19:10:20 3148889 511
>>3125151
Ебать, первый раз нормальное объяснение этому тейку увидел.
>Да блять нет никаких джунов
Аноним 08/05/24 Срд 19:52:25 3148940 512
Есть ли смысл пытаться конкурировать на Ruby если на всю страну 8 вакансий(4 из которых станционарные и мне не подходят) для людей с опытом работа 1-2 года? На каждую вакансию конкурс примерно 20-50 человек или лучше пытаться на пыхе? Руби мне больше нравится, но я в целом не понимаю чего можно ожидать от конкурентов а у меня 0 опыт работы.
Аноним 11/05/24 Суб 20:02:01 3152099 513
Screenshot from[...].png 14Кб, 299x227
299x227
>>3146943
>Для каждого вложенного хэша нужно объявить свой Contract, унаследовавшись Dry::Validation::Contract. Через Dry::Schema.Params объявить схему, как показано тут: https://dry-rb.org/gems/dry-schema/1.13/nested-data/#nested-code-hash-code
>
>Dry::Schema позволит проверить, что структура хэша соответствует ожидаемой. Если всё совпало, то каждый вложенный хэш можно валидировать через соответствующий Contract.

Не хочу показаться навязчивым и не претендую на звание суперзвезды в программировании, но, считаю, что я точно среднего уровня, поэтому делаю некоторые выводы о том, что у меня все же попроще. Я могу объявить инициализацию класса, передав в конструкторе шаблон валидации, как на этой картинке, и просто потом передать хэш для валидации, например, @@valid.check_hash(hash_data, 'status'), т.е., как мне кажется, у меня сильно проще, хотя dry-rb сильно поплуярнее, и я не могу понять зачем усложнено там, т.е. я смотрел их gem с миллионами загрущок, и решил написать свой, т.к. у меня, кажется, проще все же.

Документацию на gem или сам gem можно найти по ссылке htpps://butteff.ru/extensions/
Аноним 11/05/24 Суб 20:03:12 3152100 514
>>3152099
>Не хочу показаться навязчивым и не претендую на звание суперзвезды в программировании, но, считаю, что я точно среднего уровня, поэтому делаю некоторые выводы о том, что у меня все же попроще. Я могу объявить инициализацию класса, передав в конструкторе шаблон валидации, как на этой картинке, и просто потом передать хэш для валидации, например, @@valid.check_hash(hash_data, 'status'), т.е., как мне кажется, у меня сильно проще, хотя dry-rb сильно поплуярнее, и я не могу понять зачем усложнено там, т.е. я смотрел их gem с миллионами загрущок, и решил написать свой, т.к. у меня, кажется, проще все же.
>
>Документацию на gem или сам gem можно найти по ссылке
https://butteff.ru/extensions/
Аноним 12/05/24 Вск 12:58:11 3152692 515
>>3152099
Костыль какой-то, в dry-rb всё нормально сделано - в класс прописаны атрибуты и их тип, во время создания объекта конструктору передаёшь хэш, всё проверяется и пишется в атрибуты без лишних движений, у тебя же какой-то левый объект, нужно объяснять ему структуру хэша, хранить его состояние, потом спрашивать, валид\невалид, нахуя это всё нужно? Зачем так усложнять, плодить сущности какие-то? Зачем скрывать валидацию из кода в либу? Контакты какие-то придумываешь, синтаксис твоей хуйни еще в голове держать, у тебя проблемы с архитектурой программы если такое говно приходится рожать.
Аноним 13/05/24 Пнд 12:09:28 3154063 516
>>3152099
Не понимаю тебя. Либы для того и существуют, чтобы столкнувшись с %проблема_нейм% тебе не пришлось изобретать велосипед и писать с нуля то, что уже много раз было реализовано до тебя. Спроектировать, написать, отладить, снабдить документацией, а потом ещё и поддерживать свой gem — это в любом случае более трудоёмкая задача, чем изучить API готового решения. Каким бы изъёбистым API не казалось, какой бы уёбищной не была документация, как правило, всё равно освоить готовую либу легче, чем реализовать свою. Не знаю, зачем приходится такие очевидные вещи говорить.

Тащемта, если тебе нравится (и есть время на это) реализовывать свои велосипеды — пожалуйста, дело твоё. Но пользоваться лично я этим не буду, лол.
Аноним 16/05/24 Чтв 19:21:49 3158392 517
А чё по вакушечкам? Дайте вакушечку....
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов