Сохранен 531
https://2ch.hk/pr/res/2596950.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Ruby thread номер undefined method + for nil:NilClass (NoMethodError) /ruby/

 Аноним 02/02/23 Чтв 16:19:36 #1 №2596950 
image.png
Что нового:
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/
sage[mailto:sage] Аноним 02/02/23 Чтв 16:20:32 #2 №2596953 
Предыдущий: https://2ch.hk/pr/res/2376685.html
Аноним 02/02/23 Чтв 16:23:17 #3 №2596955 
Снимок экрана от 2023-02-02 01-16-41.png
Просто оставлю это здесь
Аноним 02/02/23 Чтв 16:37:07 #4 №2596980 
>>2596955
$1200 в месяц - это очень хорошая зарплата, не понимаю ваших претензий
Аноним 02/02/23 Чтв 16:42:13 #5 №2596993 
>>2596980
1200 $ в день. Это 150$ в час.
Это реальная зарплата.

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

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

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

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

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

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

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

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

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

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

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

Дополню.

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

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

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

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

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

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

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

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

Bootstrap и Tailwind помогают относительно без ебли относительно неплохие странички раскрашивать.
Аноним 06/02/23 Пнд 16:16:44 #53 №2601223 
на всл установилась версия 2.7.0, через rbenv хз как последнюю 3.2.0 ставить, если смысл ебаться или для вката и 2.7 пойдет?
Аноним 06/02/23 Пнд 18:02:32 #54 №2601340 
Какую зп можно считать нормальной по меркам РФ после года разработки на рельсах?
Аноним 06/02/23 Пнд 18:10:29 #55 №2601347 
>>2600936
Для джуна на ру-контору на удаленке вполне норм. Не парься.
Аноним 06/02/23 Пнд 18:32:47 #56 №2601376 
>>2601340
290, пчел
Аноним 06/02/23 Пнд 18:40:32 #57 №2601389 
>>2601340
ЗП какую? Серую/белую? При каком графике работы? Конкретнее давай.
Аноним 06/02/23 Пнд 19:14:28 #58 №2601448 
>>2601389
Зп белую, за 8-ми часовую 5-ти дневку на удаленке
Аноним 06/02/23 Пнд 19:21:34 #59 №2601457 
>>2601448
120к
sage[mailto:sage] Аноним 06/02/23 Пнд 19:25:42 #60 №2601464 
>>2601223
https://asdf-vm.com/guide/getting-started.html

git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.11.1
echo '. "$HOME/.asdf/asdf.sh"' >> ~/.bashrc
echo '. "$HOME/.asdf/completions/asdf.bash"' >> ~/.bashrc
asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
asdf install ruby latest
asdf global ruby latest
Аноним 06/02/23 Пнд 19:26:04 #61 №2601465 
Да ёбаная сажа липнет, фыдлваофжлдывацфунгшам
Аноним 06/02/23 Пнд 19:29:29 #62 №2601471 
>>2601464
>>2601464
С RVM и RBENV ебля в рандомные моменты вообще из ниоткуда, особенно под WSL

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

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

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

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

Система через которую деньги закидывают. Дам и контракт подписываю
Аноним 08/02/23 Срд 00:24:51 #73 №2603148 
>>2601727
А в рф она заблочена или можно привязать карту российского банка?
Аноним 08/02/23 Срд 00:33:05 #74 №2603152 
Снимок экрана от 2023-02-08 00-30-49.png
>deel

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

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

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

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

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

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 #87 №2608086 
simplescreenrecorder-2023-02-1204.10.07.mp4
Я тут самый успешный.
Аноним 12/02/23 Вск 12:10:33 #88 №2608295 
>>2608086
Найс
Аноним 12/02/23 Вск 16:09:16 #89 №2608636 
>>2608075
Псих. Где ты это осваиваешь?
Аноним 12/02/23 Вск 17:10:41 #90 №2608718 
1670867567646083-int.png
>>2608636
>Где ты это осваиваешь?
Я это не осваиваю, а знаю, я просто учу ruby on rails.

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

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

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

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

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

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

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

Пруф ми вронг

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

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

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

И что теперь делать? Перекатываться на Laravel или Django?
Аноним 15/02/23 Срд 05:09:33 #125 №2611691 
>>2611677
Что делать говори
Аноним 15/02/23 Срд 05:13:02 #126 №2611692 
>>2611677
не смог осилить английский и даже что-то из курса айти, поэтому вынужден работать в иной сфере, но из зависти писать в тредах из раздела "программирование"?
Аноним 15/02/23 Срд 05:20:38 #127 №2611697 
изображение.png
>>2611677
У меня для тебя есть три строчки текста, которые, ты можешь осмыслить, в теории.
Аноним 15/02/23 Срд 05:26:43 #128 №2611702 
>>2611699
>У тебя нет разрешения на удалёнку в СГА
В чем? Что такое СГА?
Аноним 15/02/23 Срд 05:38:14 #129 №2611713 
>>2611692
Ну не пиши, еблан.
>>2611691
Перекатывайся в стек, актуальный в россии
>>2611697
С действительностью как пересекается? Давай, находясь в России устройся рельсовиком на американского барина без свистоплясок с оплатой в битках и прочим говном и чтобы официально, удачи.
Аноним 15/02/23 Срд 05:38:38 #130 №2611714 
>>2611709
пьяный, чтоли?
Аноним 15/02/23 Срд 05:41:09 #131 №2611715 
>>2611713
>и чтобы официально
про аутстафинг, договор подряда, аутсорс ты не слышал, конечно, да? А знаешь почему? Потому что синдромвахтерное недобыдло побирается на своей безмозглости даже не умея считать спг или читать конституцию. Иди на хуй короче, исподтишковое быдло.
Аноним 15/02/23 Срд 05:42:20 #132 №2611716 
>>2611715
Ты там из комы вылез недавно, чмондель? У нас тут война с нато идет, долбоеб
Аноним 15/02/23 Срд 05:45:33 #133 №2611717 
изображение.png
>>2611716
>У нас тут война с нато идет, долбоеб
я не знаю, с кем у тебя там война, с англосаксами из телевизора?
Иди воюй тогда или пролечись, ты чего доебался?
Аноним 15/02/23 Срд 05:48:20 #134 №2611718 
>>2611717
Сразу как только ты устроишься руби подсосом у американского барина, находясь в России в нынешние времена. аутсорс у него, когда все бодишопы съебались
лол
Аноним 15/02/23 Срд 05:58:30 #135 №2611724 
изображение.png
>>2611718
Ты там сам в манямирке и вообще не шаришь за айти работы, анон из треда выше писал про deel, к примеру, это называется аутстафинг.
Аноним 15/02/23 Срд 06:04:56 #136 №2611725 
>>2611724
https://help.letsdeel.com/hc/en-gb/articles/4485661490065-Important-updates-relating-to-Russia-and-Ukraine
Аноним 15/02/23 Срд 06:08:42 #137 №2611726 
>>2611713
>Перекатывайся в стек, актуальный в россии
псалтырь++?
Аноним 15/02/23 Срд 06:18:52 #138 №2611734 
Screenshot20230215061527.jpg
>>2611725
ахахахаха

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

Есть ли методы фреймворка для "взятия файла на лету" из-за предела веб папки вебсервера? Ну т.е. файл не доступен из вне, как это реализовано в Yii2?
Аноним 15/02/23 Срд 07:14:20 #143 №2611751 
>>2611750
>Есть ли методы фреймворка для "взятия файла на лету" из-за предела веб папки вебсервера? Ну т.е. файл не доступен из вне, как это реализовано в Yii2

Вот как это работает в yii2:
https://dev-tips.ru/blog/post/kak-v-yii2-vernut-kontent-v-vide-fayla-dlya-sohraneniya

Возможно ли такое на рельсах?
Аноним 15/02/23 Срд 13:18:06 #144 №2612095 
image.png
image.png
image.png
image.png
>>2611570
Учитывай, что линкедин это в основном поиск иностранных специалистов, ибо зачастую по странам все используют свои локальные сайты, по этому всё не так уж и плохо.

Вот сравнение с украиной. На линкедине 15, на сайте уже 50
50 вакух достаточно, смотри третий-четвёртый скрин, это лучше 300 вакансий на питоне но с конкуренцией в 300 человек на место
Аноним 15/02/23 Срд 14:57:07 #145 №2612332 
>>2611750
> но разве нет встроенной в фреймворк валидации файлов?
Читать сюда: https://github.com/igorkasyanchuk/active_storage_validations
Аноним 15/02/23 Срд 17:43:57 #146 №2612556 
изображение.png
>>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 #147 №2612606 
Вы ебанутые? Нахуя вы тред расскачиваете? Руби мертв
Аноним 15/02/23 Срд 20:50:26 #148 №2612799 
>>2612556
Хранилище настраивается в конфигах, можно и локально на сервере.
Как видишь валидации нет, gem для этого и был создан
Можешь какой-нибудь Shrine посмотреть
Аноним 15/02/23 Срд 20:51:12 #149 №2612801 
>>2612606
Это не Ruby мёртв, а вкатун не нужен
sage[mailto:sage] Аноним 15/02/23 Срд 23:07:47 #150 №2612877 
>>2612801
Чем больше раскачивается тред, тем больше вкатунов, шиз
Аноним 15/02/23 Срд 23:08:49 #151 №2612879 
>>2612877
Принял!
Аноним 15/02/23 Срд 23:18:38 #152 №2612886 
>>2612877
Не пизди, хули толку от вкатунов, если РАБоты для них нет? Наоборот надо их сюда звать, может кабаны оживят технологию
sage[mailto:sage] Аноним 15/02/23 Срд 23:36:40 #153 №2612897 
>>2612886
Они демпигнуют
[mailto:safe] Аноним 16/02/23 Чтв 01:13:00 #154 №2612944 
>>2612897
Хотя какая разница - скоро всех заменят
sage[mailto:sage] Аноним 17/02/23 Птн 03:21:17 #155 №2613960 
В общем, я глянул исходники 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 #156 №2614066 
>>2613960
>И валидация файлов в рельсах говно.
В ActiveStorage-то? То бишь из коробки? Ну да. Не знаю никого, кто бы им пользовался. Выше рекомендовали shrine - вполне недурный gem.
Аноним 17/02/23 Птн 10:40:09 #157 №2614100 
1512208306631.jpg
Сап, рубисты.

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


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 #158 №2614276 
>>2614100
Как видишь технически да
Но зачем это? Ты пытаешься сделать Service object, который будет возвращать результат либо ошибку?

Класс Error должен наследоваться от одного из класса ошибок (там есть деление на ноль), и для этого есть rescue и прочее
Аноним 17/02/23 Птн 14:10:57 #159 №2614301 
>>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 #160 №2614327 
>>2614276
Есть мнение что rescue и вообще экспешоны - антипаттерн, и лучше возвращать структуры вроде { ok: result } или { error: ZeroDivisionError }.
Аноним 17/02/23 Птн 14:40:55 #161 №2614343 
>>2614327
Конкрето в Rails - возможно
Но обработка всё равно через rescue обычно идёт, а возвращается хеш или специальный класс
Аноним 17/02/23 Птн 15:42:57 #162 №2614421 
16740920784610.jpg
>>2614301
>А что ты хочешь конкретно валидировать?
1. допустимый размер файла в килобайтах
2. допустимые расширения файлов, например, только изображения (.jpg, .jpeg, .gif, .png)
3. допустимые mimetype, чтобы не загрузили файл с расширением .jpg, который по факту будет являться переименнованным zip файлом
4. В редких случаях формат имени файла, но это свой метод валидации будет написан тогда

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

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

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

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

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

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

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

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

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

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

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

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

И да, не надо предлагать мне rbs\sorbet и прочее. Это говно.
Аноним 22/02/23 Срд 14:39:19 #181 №2619610 
Screenshot20230222143719.jpg
>>2619328
>превьюшечки
Есть же и imagick делает их успешно.
Аноним 22/02/23 Срд 17:52:29 #182 №2619809 
>>2619608
И как бы типы выглядили? Как в Crystal? RBS конечно не то, но решение изящное, как CSS для HTML
Аноним 23/02/23 Чтв 08:28:29 #183 №2620402 
>>2619610
Я про системный интерфейс гнума (диалог выбора файла). Сорри за оффтоп, но аж глаз задергался.
Аноним 24/02/23 Птн 13:45:21 #184 №2621384 
>>2619281
Круто, есть ссылка на открытую репу?
Аноним 24/02/23 Птн 19:59:46 #185 №2621726 
$ 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 #186 №2621734 
>>2621726
перезапустил с --verbose
там какие-то сишные либы компилятся, хуй знает, наверно связано с тем, что я недавно весло апдейтил и апгрейдил.
Аноним 24/02/23 Птн 20:26:14 #187 №2621776 
>>2621726
>>2621734

Все установилось, всем не похуй.
Аноним 24/02/23 Птн 23:12:48 #188 №2622021 
Как бы сделали скоуп для показа всех 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 #189 №2622025 
image.png
>>2622021
Аноним 24/02/23 Птн 23:20:18 #190 №2622030 
>>2621384
https://github.com/butteff/rails_blog_sample
Аноним 24/02/23 Птн 23:28:36 #191 №2622038 
>>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 #192 №2622042 
>>2622038
И тогда "неуволенные" - это те, у кого последний известный этап карьеры не в списке "завершающих" (Terminated, Resigned, Retired).
Аноним 24/02/23 Птн 23:44:22 #193 №2622049 
>>2622038
А можно вообще всю эту хуйню запихать в стейт машину внутрь модели и смотреть на ебала приходящих в команду разработчиков.
Аноним 25/02/23 Суб 00:16:37 #194 №2622068 
>>2622038
Нужно только для моего примера
sage[mailto:sage] Аноним 25/02/23 Суб 03:29:48 #195 №2622146 
>>2622030
и зачем ты нашел эту ссылку?
Там же еще не окончено обучение мое и половина кода надо будет "причесать".
Аноним 25/02/23 Суб 13:52:19 #196 №2622397 
>>2622146
Тише, чмондель, тише
Аноним 26/02/23 Вск 03:03:29 #197 №2623034 
6e23caa0fba9ee543f2fbeff4a0761d0.jpg
>>2622992
хуй не сидит, а стоит
Аноним 05/03/23 Вск 07:42:35 #198 №2630165 
Вкатун на связи. Есть какой-нибудь хоткей или что-то, чтобы мне не пришлось руками прописывать |key| вот эту хуйню в блоке? vscode, vim вот мои два редактора
Что сделать? Или вы просто прывкли сами палки прописывать? Лично я по инерции ставлю } вместо | и это напрягает
Аноним 05/03/23 Вск 09:18:38 #199 №2630195 
>>2619281
Выглядит круто. Я вообще ещё ничего не изучал, просто читаю тред.
Сколько времени нужно вкатываться, чтобы делать такую годноту на Ruby? Заработок и вакансии не волнуют - чисто как хобби.
Аноним 05/03/23 Вск 09:23:01 #200 №2630198 
Да, и как правильно вкатываться не переходя на Linux?
WSL2 для этого подойдёт?
Аноним 05/03/23 Вск 13:45:58 #201 №2630332 
>>2630165
В Sublime text после открытия блока через do или { подставляется |variable|

Смотри по редактору, может сниппет какой сделать
Аноним 05/03/23 Вск 13:57:35 #202 №2630351 
>>2630165
do_something { _1 + _2 }
Аноним 05/03/23 Вск 17:00:27 #203 №2630609 
Книжка Well Grounded Rubyist реально годная. Я читал на русском от Питерского книжного дома другую книжку о руби, но вот эта меня реально впечатлила. Есть моменты которые не доходят с первого раза, но пока как по мне одна из лучших книг для начинания по руби. Элокент Руби не понял вообще. Хрень какая то.
Аноним 05/03/23 Вск 17:56:20 #204 №2630673 
>>2630198
возьми и попробуй, расскажешь
sage[mailto:sage] Аноним 06/03/23 Пнд 13:29:47 #205 №2631461 
>>2630609
В этой книжке просто идет перечисление стандартных методов. Это все есть в apidock
Аноним 06/03/23 Пнд 21:17:15 #206 №2631997 
>>2631461
>apidock
Хуета та ещё. У многих методов никакого описания нет
Аноним 06/03/23 Пнд 22:41:57 #207 №2632079 
>>2619281
Мань, где тесты?
Аноним 07/03/23 Втр 00:18:16 #208 №2632176 
>>2631997
https://ruby-doc.org/3.2.1/NEWS/NEWS-3_1_0_md.html
Аноним 07/03/23 Втр 12:40:25 #209 №2632451 
Можно ли установить Ruby без вот этого всего говна?

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


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

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

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

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

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

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

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

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

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

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

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

000001
000010
000011

В общем почему не просто числа 1, 2, 3, 5, n (через enu,)
Аноним 12/03/23 Вск 17:50:02 #234 №2638130 
>>2638120
Почитай про chmod на линухе
Аноним 12/03/23 Вск 17:58:47 #235 №2638142 
>>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 #236 №2638195 
>>2638142
Вспомнил что такое битовые маски, просто биты используются как набор переключателей (флажков), погуглил ещё про ruby on rails bitmasks, даже нашлась пара гемов как раз для ролей на масках

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

Agreed.
Аноним 12/03/23 Вск 20:21:35 #239 №2638335 
>>2632451
специально для окрщиков придумали контейнеры. обмазывайся докером.
Аноним 12/03/23 Вск 20:23:54 #240 №2638338 
>>2638335
А ты видел сколько там ненужных контейнеров если в pa -a. Набилдишь разными тагами, пока будешь тренироваться и засрешь систему)
sage[mailto:sage] Аноним 12/03/23 Вск 20:25:26 #241 №2638339 
>>2638338
или image list
Аноним 12/03/23 Вск 20:32:35 #242 №2638346 
>>2638338
для меня это не было проблемой, удалить все контейнеры и имаджи это намного легче чем сносить систему или пытаться её почистить от левых пакетов.
sage[mailto:sage] Аноним 12/03/23 Вск 20:37:09 #243 №2638349 
image.png
>>2638346
Докер пропишется в автозапуск, добавит тебе скрытые networks и будет грузить систему
Аноним 13/03/23 Пнд 23:54:22 #244 №2639442 
Привет тред, какой метод добавления версии приложения в version.rb является каноничным? Кроме того, чтобы просто константу в этот файл воткнуть
Аноним 14/03/23 Втр 07:08:04 #245 №2639511 
>>2639442
Делай как ОКРщик Джереми Эванс:
https://github.com/jeremyevans/roda/blob/master/lib/roda/version.rb

Там даже тесты на версию есть :)

Используй семантическое версионирование
Аноним 17/03/23 Птн 16:35:28 #246 №2643179 
ActiveSupport::Concern https://api.rubyonrails.org/classes/ActiveSupport/Concern.html

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

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

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

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

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

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

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

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

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 #257 №2644144 
>>2644007
https://apidock.com/ruby/Hash/dig
Аноним 18/03/23 Суб 19:59:26 #258 №2644600 
Объясните разницу:

class Admin::User
...
end

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

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

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

Но и она, и GPT-4 оче плохо делают работу программиста, даже джуна полноценно не заменят.
>>2644600
https://rubystyle.guide/#namespace-definition
Я запомнил как "делай как рубокоп говорит, иначе какой-то геморрой с лукапом"
Аноним 23/03/23 Чтв 03:51:01 #263 №2649564 
Вот новый сайт, и первая статья вполне годная для новичков или тех кто забыл: https://rubyhero.dev
Книжки тоже ничего

Делитесь годными ссылками чтоли, жлобы)

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

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

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

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

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

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

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

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

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

<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 #281 №2662095 
>>2662074
Что значит страница обновлялась посекундно?
Это просто время
Аноним 04/04/23 Втр 12:11:36 #282 №2662391 
>>2662074
>Вот это выдала. Но это нихуя не работает.
Лол.
Каждый рядовой оператор ГПТ через 10 лет.

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

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

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

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

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

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

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


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

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

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

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

Анимедаун, спок
Аноним 02/05/23 Втр 15:43:45 #304 №2686541 
>>2596950 (OP)
Есть ли совместная фотка dhh и Мацумоты?
Аноним 02/05/23 Втр 17:11:15 #305 №2686644 
>>2686541
Где они в засос?
Аноним 02/05/23 Втр 17:23:59 #306 №2686659 
>>2596955
Это австралийские доллары, если что.
Аноним 03/05/23 Срд 21:58:46 #307 №2687722 
Парни, а стоит ли в руби вкатываться после опыта на джанге? Что-то хочется более изящного, меньше магии и более короткие функции
Аноним 04/05/23 Чтв 23:03:08 #308 №2688620 
image.png
>>2687722
> а стоит ли в руби
> меньше магии и
Аноним 05/05/23 Птн 03:22:26 #309 №2688745 
надо бомпануть тред, поэтому скопирую пост из /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 #310 №2694780 
>>2687722
В руби больше магии и меньше вакансий
Аноним 11/05/23 Чтв 23:34:23 #311 №2695547 
>>2694780
И меньше конкуренции.
Аноним 12/05/23 Птн 14:28:05 #312 №2696020 
>>2695547
знаешь почему Неуловимого Билли так никто и не поймал?
потому что он был нахуй никому не нужен
Аноним 13/05/23 Суб 00:13:48 #313 №2696798 
>>2696020
Неуловимого Джо. Если ты шутишь на уровне телепередачи Городок, хотя бы постарайся быть точнее.

По всему остальному - у меня немного другие данные, скажем так.
Аноним 21/05/23 Вск 11:19:27 #314 №2706304 
>>2660464
так лол, тоже самое
Аноним 21/05/23 Вск 20:19:00 #315 №2707156 
Привет всем рубистам итт. Не знал, что у вас есть свой тред, тогда продублирую свой вопрос тут.
Есть рубисты итт?
Работаю на питоне с пыхой, пишу примитивный бэкенд без архитектуры/ооп. Все проекты идут на аутсорс, код стайла и код ревью нет.
Есть вариант уйти в руби и рельсы, сложно его понять, не имея нормального опыта на других языках? Сказали, что онбординга не будет, нужно в сжатые сроки начинать делать таски.
Аноним 21/05/23 Вск 20:19:52 #316 №2707158 
>>2707156
>Есть рубисты итт?
Извините, забыл удалить.
Аноним 23/05/23 Втр 12:10:18 #317 №2709050 
Screenshot20230523-140832.png
Дожили...
Аноним 24/05/23 Срд 19:19:55 #318 №2710671 
>>2707156
Есть вот «Rails for PHP Developers» http://www.r-5.org/files/books/computers/languages/ruby/java/Derek_DeVries_Mike_Naberezny-Rails_for_PHP_Developers-EN.pdf и моя любимая «Eloquent Ruby» http://www.r-5.org/files/books/computers/languages/ruby/main/Russ_Olsen-Eloquent_Ruby-EN.pdf
Аноним 24/05/23 Срд 22:10:23 #319 №2710850 
Screenshot from 2023-05-24 21-21-38.png
Screenshot from 2023-05-24 21-22-51.png
image.png
array.slice(2,5)

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

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

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

Создаю пост с тегами ruby, ror, programming
Как создать три записи в БД сразу
Если такой тег уже есть, то он должен прикрепляться к посту, если нет, то создаваться
Аноним 22/06/23 Чтв 09:07:31 #323 №2741158 
Screenshot20230622090302.jpg
Почему ruby считается мертвым, если десятки тысяч вакансий на линкедине и gem файл, который запостил ночью, уже имеет 97 загрузок, хотя он мало кому нужен, ведь он малоактуален?
Аноним 22/06/23 Чтв 09:43:51 #324 №2741194 
>>2741158
Какие автоматические хуитки качают-зеркалят, наверное.
Аноним 22/06/23 Чтв 09:50:18 #325 №2741198 
>>2741158
Да я удивился. Думал руби посерьезнее будет, а там такая же помойка как в npm. Запросто можно себе майнер поставить
Аноним 28/06/23 Срд 02:58:17 #326 №2746725 
>>2608931
>Вроде бы и учат в университетах
Ммм, это в каких например?
Аноним 28/06/23 Срд 08:15:14 #327 №2746776 
1.png
Это норм?
strace показывает что ruby пытается найти sqlite3 файлы во всех гемах. На пикче видно ENOENT (No such file or directory)
Какая-то херня после хардресета...
Аноним 28/06/23 Срд 08:21:18 #328 №2746777 
>>2746776
Хотя скорее всего норм. Руби ищет модуль по всем путям.
Аноним 28/06/23 Срд 18:15:25 #329 №2747494 
>>2722895
> Если я хочу отправлять рассылку со своего домена [email protected], то как быть?
> придётся свой почтовик поднимать?
Любое письмо можно подписать любым обратным адресом. Но если ты хочешь читать то, что на этот адрес отвечают - тогда да, либо свой сервер, либо у всяких провайдеров рассылок такая функция может быть.
> Как мне добавить теги к постам, можете в целом описать?
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 #330 №2747962 
>>2747494
Спасибо, добрый анон
Аноним 29/06/23 Чтв 08:32:29 #331 №2747967 
Подскажите, как и чем лучше прикрутить уведомления о событиях по типу как соц. сетях: ВК, Одноклассники
Аноним 29/06/23 Чтв 12:14:24 #332 №2748103 
>>2747494
> Любое письмо можно подписать любым обратным адресом.
Так, собственно, часто и делают: "[email protected]"
Аноним 29/06/23 Чтв 12:22:26 #333 №2748110 
>>2747967
А что такое событие? Где оно создаётся?
> ВК, Одноклассники
Типа "Вася Пупкин лайкнул твой пост"? Ну у меня первая мысль - сделать модель Notification с текстом, булевым флагом прочитано/не прочитано и опционально ссылкой на то, о чём уведомление.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Проблема конечно в том что я вообще не рельсовик нихуя и не рубевщик, я из мира жвм и мне вся эта поеботина 'endless number of conventions over configuration' (c) меня ебет очень сильно.
Как и все это ебучее динамическое мета-программирование. Отсутствие даже обоссаных ХИНТОВ для типов (хотя можно еще поковырять rbs, но по ощущениям этой хуйней никто не пользуется). В общем после жс и рубей конечно еще больше начинаешь любить котлин, но я понимаю что вкусовщина все дела, да, наверное прост я слишком СТАР для всего этого и привык к умному конопелятору и помощи IDE, память уже НЕ ТА
Аноним 06/09/23 Срд 23:48:36 #364 №2831714 
>>2829517
https://www.akshaykhot.com/turbo-internals/

А конвенции это в основном нейминг
Аноним 07/09/23 Чтв 01:40:25 #365 №2831760 
Нужны нормальные таблицы на хотваер, с сортировкой и пагинацией, с поиском, фильтрами, самому такое делать мудово, задача-то абсолютно тривиальная, почему-то нет гема с в стиле руби, который бы завёлся в три строчки без лишних заморочек.
Аноним 11/09/23 Пнд 10:57:32 #366 №2836636 
>>2831760
https://bhserna.com/building-data-grid-with-search-rails-hotwire-ransack.html
Не оно?
Аноним 13/09/23 Срд 18:51:23 #367 №2840019 
Дайте вакушечку((

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

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

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

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

В принципе можно всякие юниксовые скрипты и костыли для себя писать и ботов в телегу и дискорд.
Аноним 27/11/23 Пнд 16:36:34 #413 №2939536 
>>2938707
>>2939519
Был ещё какой-то игровой движок на Руби для всякой индюшатины (платный причём), но я так и не понял соль.

https://dragonruby.org/toolkit/game
Аноним 29/11/23 Срд 09:53:35 #414 №2941833 
Чето 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 #415 №2951450 
Кто-нибудь что-нибудь слышал о конторе SPACE44?
Аноним 18/12/23 Пнд 17:08:22 #416 №2968382 
>>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 #417 №2995953 
>>2858085
никак, раскусят тебя на каверзных вопросах по теории и метамагии всякой. сам джун строг пытался перескочить на мидла с аутсорс-галеры, в итоге иду джуном в продуктовую компанию, но ЗП х1.7
Аноним 10/01/24 Срд 18:34:35 #418 №2996345 
>>2995953
Получается не очень хорошо прошел тех. собес?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выводы?

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

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

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

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

Думайе.

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

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

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

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

Ну и линкедин
Аноним 23/02/24 Птн 20:51:57 #439 №3061084 
image.png
Двач, что такое :abysmall в первой строке и почему он имеет значение? Предполагаю, что значение задано изначально.
Это же не переменная, а что это? Метод, который возвращает строку?
Аноним 23/02/24 Птн 21:23:31 #440 №3061130 
Господа, интересует следующий вопрос: можно ли примерно прикинуть соотношение количества вакансий на руби к количеству вакансий на других языках?

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

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

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

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

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

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

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

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

Например {'hey' => :test}
Что такое :test?
Аноним 24/02/24 Суб 15:14:27 #455 №3061806 
>>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 #456 №3062031 
>>3061571
Что значит импортозамещай? Что именно можно сделать в одиночку?
Аноним 24/02/24 Суб 18:13:32 #457 №3062037 
>>3061806
>:abysmall это СИМВОЛ символьный литерал
спасибо

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

То что работодатель там пишет - тебя вообще ебать не должно. Твоя задача - это по описанию сопоставить свои навыки и то что им требуется. Осиляешь ты эту работу или не осиляешь. Говоришь, вот у меня такие и такие навыки, нанимаете? Нет? Я дальше тогда пошёл. Не надо ничо объяснять. Не надо никак оправдываться. Ты не обязан на 100% подходить под описание. Если они будут выёбываться - тогда пусть сами берут нахуй и работают. Всё.
Аноним 16/04/24 Втр 18:00:49 #503 №3125220 
>>3125151
Понял. Спасибо
Аноним 17/04/24 Срд 18:46:14 #504 №3126661 
>>3124971
конечно пиши на чем нравится, вот вакуха на джуна, удаленка
https://hh.ru/vacancy/97186095?query=Ruby&hhtmFrom=vacancy_search_list
Аноним 21/04/24 Вск 18:47:39 #505 №3130856 
Screenshot from 2024-04-21 02-50-36.png
Доброе утро этого осеннего вечера, господа! Не смотря на шизофазию мною написанного, однажды я всё же полез на 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 #506 №3146943 
>>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 #507 №3146980 
>>3106358
Абстрактный класс - это умозрительная хуйня, класс, который ты планируешь наследовать и не планируешь инстанциировать. Если рассмотреть конкретный пример бизнес-логики и нормально назвать эти классы, то 95% вопросов отпадают сами собой. Если у тебя есть зоопарк с кошечками и собачками, то тебе и в голову не придёт создать ЖИВОТНОЕ, вот животное здесь - это абстрактный класс.

Просто в каких-то языках есть специальные конструкции, которые будут вываливать ошибку при попытке создать объект, а в каких-то нет но можно писать костыли для получения этого функционала, суть от этого не меняется.
Аноним 07/05/24 Втр 11:30:01 #508 №3147204 
>>3146943
>dry-rb
Мало того что это набор кривых костылей, так еще и русофобская параша, блокнувшая российские ip на веб-сервере, может там еще и закладки в коде, кто знает.
Аноним 07/05/24 Втр 11:50:32 #509 №3147233 
>>3147204
Ладно, похоже что я гоню, видимо хостер просто в бане у РКН.
Аноним 08/05/24 Срд 18:12:19 #510 №3148825 
>>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 #511 №3148889 
>>3125151
Ебать, первый раз нормальное объяснение этому тейку увидел.
>Да блять нет никаких джунов
Аноним 08/05/24 Срд 19:52:25 #512 №3148940 
Есть ли смысл пытаться конкурировать на Ruby если на всю страну 8 вакансий(4 из которых станционарные и мне не подходят) для людей с опытом работа 1-2 года? На каждую вакансию конкурс примерно 20-50 человек или лучше пытаться на пыхе? Руби мне больше нравится, но я в целом не понимаю чего можно ожидать от конкурентов а у меня 0 опыт работы.
Аноним 11/05/24 Суб 20:02:01 #513 №3152099 
Screenshot from 2024-05-11 19-56-19.png
>>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 #514 №3152100 
>>3152099
>Не хочу показаться навязчивым и не претендую на звание суперзвезды в программировании, но, считаю, что я точно среднего уровня, поэтому делаю некоторые выводы о том, что у меня все же попроще. Я могу объявить инициализацию класса, передав в конструкторе шаблон валидации, как на этой картинке, и просто потом передать хэш для валидации, например, @@valid.check_hash(hash_data, 'status'), т.е., как мне кажется, у меня сильно проще, хотя dry-rb сильно поплуярнее, и я не могу понять зачем усложнено там, т.е. я смотрел их gem с миллионами загрущок, и решил написать свой, т.к. у меня, кажется, проще все же.
>
>Документацию на gem или сам gem можно найти по ссылке
https://butteff.ru/extensions/
Аноним 12/05/24 Вск 12:58:11 #515 №3152692 
>>3152099
Костыль какой-то, в dry-rb всё нормально сделано - в класс прописаны атрибуты и их тип, во время создания объекта конструктору передаёшь хэш, всё проверяется и пишется в атрибуты без лишних движений, у тебя же какой-то левый объект, нужно объяснять ему структуру хэша, хранить его состояние, потом спрашивать, валид\невалид, нахуя это всё нужно? Зачем так усложнять, плодить сущности какие-то? Зачем скрывать валидацию из кода в либу? Контакты какие-то придумываешь, синтаксис твоей хуйни еще в голове держать, у тебя проблемы с архитектурой программы если такое говно приходится рожать.
Аноним 13/05/24 Пнд 12:09:28 #516 №3154063 
>>3152099
Не понимаю тебя. Либы для того и существуют, чтобы столкнувшись с %проблема_нейм% тебе не пришлось изобретать велосипед и писать с нуля то, что уже много раз было реализовано до тебя. Спроектировать, написать, отладить, снабдить документацией, а потом ещё и поддерживать свой gem — это в любом случае более трудоёмкая задача, чем изучить API готового решения. Каким бы изъёбистым API не казалось, какой бы уёбищной не была документация, как правило, всё равно освоить готовую либу легче, чем реализовать свою. Не знаю, зачем приходится такие очевидные вещи говорить.

Тащемта, если тебе нравится (и есть время на это) реализовывать свои велосипеды — пожалуйста, дело твоё. Но пользоваться лично я этим не буду, лол.
Аноним 16/05/24 Чтв 19:21:49 #517 №3158392 
А чё по вакушечкам? Дайте вакушечку....
Аноним 19/05/24 Вск 11:16:27 #518 №3161464 
>>2596950 (OP)
Привет, Рубистычи, думаю вкатиться в ROR чисто для self-build проектов, каких-то простых SaaS очень привлекла экосистема, комьюнити, и особенно Hotwire/Stimulus, Но не привлекла ебучая магия, отсутствие нормального дебагера, как будто завести проект - уже победа. На моем стеке на работе в принципе тоже самое, это джанга ебаная, всеми силами пытаюсь устроиться как гошник, но не зовут, т.к даже имея сильный бекграунд и сениорский грейд, я все равно для них свитчер-вкатун. А влажная мечта выйти из найма в свои СааСочки всегда была и есть.
Аноним 12/06/24 Срд 05:12:04 #519 №3188732 
book.jpg
Покупал кто?
Аноним 02/07/24 Втр 23:10:48 #520 №3210242 
No.
Аноним 04/07/24 Чтв 12:08:04 #521 №3211479 
https://jooby.dev/jobs/uipocndmko9t-secret_agents-ruby_engineer-1831

Ждуны, забирайте
Аноним 04/07/24 Чтв 13:53:21 #522 №3211589 
>>3211479
Накинулись
Аноним 04/07/24 Чтв 17:21:45 #523 №3211814 
>>3211479
Ор, у меня эта вакуха была за 22 год и там было от 50к-100к вилка.
>>3211589
оставь мне!!!!!!
Аноним 04/07/24 Чтв 19:38:26 #524 №3211951 
>>3211814
> оставь мне!!!!!!
Но я тоже хочу
Аноним 04/07/24 Чтв 19:59:23 #525 №3211957 
>>3211951
Ну ладно тогда.
Тебе ответили? Меня игнорят.
Аноним 04/07/24 Чтв 20:04:19 #526 №3211958 
>>3211957
Тоже пока тишина не хотят с двачерами общаться
Аноним 05/07/24 Птн 11:06:03 #527 №3212308 
>>3211957
>>3211958
Я к ним на миддла подался неделю назад, только вчера ответили.

Приходите тоже, будем раковать в рабочем чятике.
Аноним 10/07/24 Срд 11:15:16 #528 №3217096 
image.png
ДевОпс пытающийся кодить для души ИТТ.

Паца, а вот знаете такую хуйню, типо как маскот на сайте выплывающий? А-ля как Скрепочка из старого Майкрософт Офиса.
Можно на рельсах чето подобное замутить? Есть может гем какой или еще чего.

Гугл ведет меня сюда: https://github.com/joshuajansen/magnific-popup-rails

капча хорошая...
Аноним 10/07/24 Срд 16:24:29 #529 №3217433 
>>3217096
UPD

Внезапно открыл для себя Pixi JS. Вот это подходит вроде под реквест... Я у одного чувака на сайте видел мордашку, она спавнилась рандомно на странице, чето говорила и была кликабельна. Показ бы пример, да ссылка канула в лету.
Аноним 10/07/24 Срд 21:03:13 #530 №3217701 
>>3217433
>спавнилась рандомно на странице, чето говорила
Хуёвая практика в плане юзер-интерактив, всё что всплывает и мозолит глаза, провоцирует внимание, сам наверное понимаешь.
Аноним 11/07/24 Чтв 10:08:38 #531 №3218006 
>>3217701
Оператор чата подержки Наталья онлайн!!111
comments powered by Disqus