Этого треда уже нет.
Это копия, сохраненная 13 июля в 15:17.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
image.png184 Кб, 1024x768
Ruby thread номер undefined method + for nil:NilClass (NoMethodError) /ruby/ 2596950 В конец треда | Веб
Что нового:
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 2 2596953
Предыдущий: https://2ch.hk/pr/res/2376685.html (М)
Снимок экрана от 2023-02-02 01-16-41.png66 Кб, 1111x544
3 2596955
Просто оставлю это здесь
4 2596980
>>2596955
$1200 в месяц - это очень хорошая зарплата, не понимаю ваших претензий
5 2596993
>>2596980
1200 $ в день. Это 150$ в час.
Это реальная зарплата.

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

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

>не понимаю ваших претензий


Ты, наверное, даже конституцию не понимаешь, да?
6 2597039
>>2596980

>$1200 в месяц - это очень хорошая зарплата


6000-8000 за удаленку без ебли мозгов от недоразвитых - вот уже что-то уровня мрот айтишника, потому как должны быть миллионы долларов просто на консалтинге даже или на айти исследованиях рынка.
7 2597258

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



Soucka. Жизненно.
орнул
8 2597302
>>2596955
Это уже ит-консалтинг скорее.
9 2597946
>>2596950 (OP)
Дежурно напоминаю: руби is dead.
10 2597951
>>2597039
По факту, марсиане - аутсорс галера, cредненькая зпшка, додики-сотрудниками, постящие свои нюдесы. общение с ними начинается с предложения нарушить свои трудовые догововора, аля "покажите ваш коммерческий код", что как бы намекает. Понтов выше крыши.

пруф ми вронг.
11 2598163
>>2597951

> постящие свои нюдесы



Жесть. Как раз хотел к ним апплаиться на след неделе, но после того как ты такое написал.....пожалуй сделаю это прямо сейчас. Go martians!
12 2598498
>>2596993

> Ты, наверное, даже конституцию не понимаешь, да?


Это шутка была, пчел. Когда кто-то типа учителя в рашке говорит "получаю 17 тыщ рублей", принято отвечать: "17 тысяч в день - это очень хорошая зарплата. Вот тут такое же, только наоборот.
13 2598595
Напоминаю: вкатуны, проходите мимо этого языка.
14 2598724
>>2597951

> аля "покажите ваш коммерческий код"


Не храню, доступ к репозиторию забрали при увольнении. А какой ответ должен быть?
15 2598725
>>2597951

> аля "покажите ваш коммерческий код"


Не храню, доступ к репозиторию забрали при увольнении. А какой ответ должен быть?
16 2598853
>>2598498
Теперь понятно, это, безусловно, горькая правда, спора нет, 17 тыс руб, как и 1200$ - низкая зарплата, ты прав, конечно.
17 2598860
>>2597951

>По факту, марсиане - аутсорс галера, cредненькая зпшка, додики-сотрудниками, постящие свои нюдесы



Ну вот, и даже они предлагают 6-8 тыс $ за удаленку, я же говорю, это должен быть абсолютный мрот айтишника.
18 2599105
>>2598725

>Не храню, доступ к репозиторию забрали при увольнении. А какой ответ должен быть?


Поставь себя на место собеседующего, у него задача - убедиться что ты не вкатунишка с курсов, к которому придется приставлять личного ментора и ревьюить каждую запятую, он хочет увидеть что ты можешь и пишешь код, и что-то посложнее дефолтного скаффолда с каталогом залуп, а то что у тебя ни строчки кода не осталось и доступ забрали и показать нечего звучит максимально тухло, после такого аргумента не перезанимают.
19 2599128
>>2598725

>А какой ответ должен быть?


Говоришь, что ты подписал nda, но реализовывал такое-то, можешь показать кусок кода на гитхабе другого своего недопроекта.
20 2599487
Почему все говорят, что Ruby умер?
Меня все знакомые отговаривают его учить, причём отговаривают агрессивно, будто промытые. Что за хуйня?
21 2599550
Аноны, это опять я. У меня ОКР и я очень тщательно отношусь к программам, которые устанавливаю в систему. Так вот.

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

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

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

Поясните этот момент, аноны.
22 2599563
>>2599550

Дополню.

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

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

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

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

Подожду ответа адекватных анонов. Надеюсь, тут есть такие
36 2599714
>>2599712
пчел, тебе нужно оформить срыгос из треда, фастом
37 2600678
>>2597039
Я с годом опыта (чуть прикрутил) Ели выгрыз 1600 на удалёнке в ру язычной компании. Но ничего скоро буду получать миллионы, вот увидите
38 2600680
>>2599487

>промытые


Ты уже ответил. Думаешь кто-то что-то проверял, смотрел какая конкуренция или динамика по вакансиям и тд? Один сказал, миллион повторили . Так пхп хейтят, хотя большинство людей и не писали на нём сейчас на жс перешло
39 2600851
>>2599700

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


>Если так нужна винда, ставь wsl, в нем линух, там уже работай с руби



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

И здесь тебе по твоим вопросам ничего не подскажут, потому что таких извращенцев как ты здесь не видели уже лет несколько.
40 2600908
>>2600678
скетчепидор, спок
42 2600944
>>2600678
>>2600936

> Ели выгрыз


Чел, ты не понял. Тебя наебывают. Это зепка через пол года. Через год дают 150к+
43 2600947
>>2600944
Ну практического опыта полгода. 4 месяца стажировки за 300 долларов, пол года за 500. Я всё сложил и накрутил 2 месяца, вышел на 1600 долларов. на одной вакансии сказали, что дохуя прошу
44 2600953
>>2600947
без опыта на руки в рф дают 80к
считай
45 2600954
>>2600953
Я не в рф и зп не в рублях
46 2600958
>>2600954
Пчел, тогда иди на реддит и форчан
47 2600960
>>2600958
Там мне будут писать, что зп джуна после вуза это 100к долларов в год
48 2600997
>>2599487
Руби - это не язык, на котором пишут из-за внешней динамики вроде настроений других разработчиков. Руби - это язык, на котором пишут, потому что по кайфу. Если ты умудрился в 2к23 отбиться от пропаганды питона и жс и как-то найти руби и начать его учить - скорее всего, у тебя были причины, и у тебя всё будет норм.
>>2599550
А хуй его знает, тут все на лунихе и маке. Можешь WSL установить. Но вроде бы стандартная поставка Rails на винде и без MSYS должна работать. Не уверен насчёт расширений, которые нужны будут для обработки картинок, например.
49 2601059
Как быть, если я не хочу фронтендом заниматься? Вроде везде где работал получалось только на беке сидеть, но большинство вакансий это фуллстак, стоит ли переживать?
50 2601065
>>2601059
Пчел, тебя еще не заставляли вкатыаться в мобилки?))
51 2601086
>>2599550
Но вообще

> У меня ОКР и я очень тщательно отношусь к программам, которые устанавливаю в систему.


Тебе бы линукс попробовать, он таким нравится. И я сейчас даже почти не шучу. Начни с убунты, потом освоишься, потихоньку накатишь себе арч без декстопного окружения, или Qubes OS, где всякий хлам для разработки в одной виртуалке, а программы для чтения хентайной манги - в другой.
52 2601095
>>2601059
Хуй знает. Смотри по аутсорс-галерам (это когда в описании вакансии что-то типа "мы успешно помогаем нашим клиентам разработкой современного бла-бла-бла"), там обычно команды на каждом проекте небольшие, но фронтом/мобилкой другой чел занимается.

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

Bootstrap и Tailwind помогают относительно без ебли относительно неплохие странички раскрашивать.
53 2601223
на всл установилась версия 2.7.0, через rbenv хз как последнюю 3.2.0 ставить, если смысл ебаться или для вката и 2.7 пойдет?
54 2601340
Какую зп можно считать нормальной по меркам РФ после года разработки на рельсах?
55 2601347
>>2600936
Для джуна на ру-контору на удаленке вполне норм. Не парься.
56 2601376
>>2601340
290, пчел
57 2601389
>>2601340
ЗП какую? Серую/белую? При каком графике работы? Конкретнее давай.
58 2601448
>>2601389
Зп белую, за 8-ми часовую 5-ти дневку на удаленке
59 2601457
sage 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
61 2601465
Да ёбаная сажа липнет, фыдлваофжлдывацфунгшам
62 2601471
>>2601464
>>2601464
С RVM и RBENV ебля в рандомные моменты вообще из ниоткуда, особенно под WSL

asdf конкретно под WSL не пробовал, но выглядит как что-то очень простое
63 2601492
>>2601464
Спасибо, но я просто rbenv с гита последний установил и он уже 3.2 руби подтянул нормально, начинаю вкат, отсасываю на этапе поиска работы и вешаюсь. Пока план такой.
64 2601507
>>2601492

>начинаю вкат, отсасываю на этапе поиска работы и вешаюсь. Пока план такой.


У меня такой же был. Сейчас не то чтобы в золотых горах купаюсь, но жизнь намного лучше стала, чем была до решения вкатиться. Так что хуй тебе, руби не одобряет суецыд
хотя рашка в 2к23 - это другой разговор, конечно, тут не знаю
65 2601669
>>2601086

> арч без декстопного окружения


Это как и зачем? Arch сильно сложен? Не понятно какие пакеты ставить, а какие нет. Знаю что есть установщик облегчающий накат Arch
66 2601670
>>2601223
2.7 пойдёт, а для последних ещё и Rust нужен

rbenv кстати заебись
67 2601672
>>2599550
WSL поставь. Я поставил и охуел как всё удобно.

> Arch сильно сложен?


Нет, при установке достаточно идти по вики (не так давно вообще графический установщик в стандартный образ добавили), а потом достаточно уметь гуглить.
68 2601686
>>2601669
Да он не то что сложен, гайды довольно понятные, и ты там ничего космического не делаешь. Даже гном в пару строчек устанавливается. Просто надо ебаться буквально с каждой мелочью, настраивать звук, ковыряться, как сделать неублюдочные шрифты и так далее, потом что-то может начать друг с другом конфликтовать - и вот тут уже нужно много энтузиазма.
69 2601687
>>2601670

> а для последних ещё и Rust нужен


Только если JIT хочешь.
70 2601710
>>2600936
это апворк?
71 2601711
>>2599581

>И ещё один вопрос - как обновлять версию Ruby в Windows?


>Возможно ли это?



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

Система через которую деньги закидывают. Дам и контракт подписываю
73 2603148
>>2601727
А в рф она заблочена или можно привязать карту российского банка?
Снимок экрана от 2023-02-08 00-30-49.png126 Кб, 884x559
74 2603152

>deel



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



получается, в ОАЭ будет мекка айтишников, надо точно ехать туда снова, раз уж отсюда выгоняют
75 2603170
>>2603148
Я на ру карту не выводил у меня её и нет, но там не обязательно на неё, можно на бинанс в bnb выводить, я вот на revolut вывожу
76 2604811
Что почитать о руби на русском? Английский знаю, но читать фулл тайм английскую книжку, начинает тошнить. Приходится задумываться над каждым словом.
77 2604876
>>2604811

> Английский знаю


> читать фулл тайм английскую книжку, начинает тошнить.


> Приходится задумываться над каждым словом.


хихикнул
image.png7 Кб, 411x115
78 2604892
>>2604811
Книги и на русском есть. В браузере сайты и статьи можно автоматически переводить
79 2605674
>>2604876
Чо ты хихикаешь?
По рзеузльаттам илссоевадний одонго анлигсйокго унвиертисета, не иеемт занчнеия, в каокм проякде рсапжоолены бкувы в солве. Галовне, чотбы преавя и пслонедяя бквуы блыи на мсете. осатьлыне бкувы мгоут селдовтаь в плоонм бсепордяке, все-рвано ткест чтаитсея без побрелм. Пичрионй эгото ялвятеся то, что мы не чиаетм кдаужю бкуву по отдльенотси, а все солво цлиеком.
На английском так ты не сможешь.
80 2605676
>>2604892
У меня с глазами итак пиздец, вместо ручек и карандашей гора различных капель для глаз из за постоянного внимания на монитор. Хотелось бы книжки реальные. Ощутить так сказать классические бумажные буквы глазами.
81 2605748
>>2605674

>На английском так ты не сможешь.


Чел, это твоя проблема что ты переводишь слова

Ты же ру не переводишь, а у тебя сразу появляются ассоциации
82 2605854
>>2605676
Если у тебя с глазами проблемы, то зачем в айти вкатываться?
83 2607185
Антош привет начался вкатываться по odin project. Опытный анон подскажи это норм вариант?
84 2607201
>>2607185
Нет, он устаревший. Есть русскоязычный аналог, не могу вспомнить название правда
85 2607903
>>2607185
Рельсы там не учил, а вот по руби +- всё неплохо. Рельсы лучше по доке учить я думаю
Снимок экрана от 2023-02-12 04-13-27.png162 Кб, 1366x768
86 2608075
Накатил простой чат на вебсокетах.

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

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

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 +
Снимок экрана от 2023-02-12 04-13-27.png162 Кб, 1366x768
86 2608075
Накатил простой чат на вебсокетах.

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

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

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 +
simplescreenrecorder-2023-02-1204.10.07.mp4868 Кб, mp4,
1366x768, 0:55
87 2608086
Я тут самый успешный.
88 2608295
>>2608086
Найс
89 2608636
>>2608075
Псих. Где ты это осваиваешь?
1670867567646083-int.png50 Кб, 657x527
90 2608718
>>2608636

>Где ты это осваиваешь?


Я это не осваиваю, а знаю, я просто учу ruby on rails.

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

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

>>2608295

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


>Найс



Ну, спасибо, конечно, но фраза "я тут самый успешный" была написана с иронией и сарказмом, с самокритикой, очевидно, т.к. ничего действительно выдающегося там нет.
91 2608896
Расскажите как сделать уведомления наподобии вк,
чтобы при ответе на твой комментарий или лайк прилетали

Только ActionCable или ещё есть варианты?
92 2608922
>>2608718

>фраза "я тут самый успешный" была написана с иронией


Без иронии, поставил убунту, сделал демку из хотваера, записал видео, это на голову выше например чела повыше, который ставит на винду mingw и тратит время на бестолковые размышления о необходимости девкита.
med14110961471394647968image.jpg35 Кб, 640x427
93 2608931
Руби как латынь. Вроде бы и учат в университетах, но язык мертв. Пруф ми вронг.
94 2608943
>>2608931
Руби отличный язык чтобы освоить кодинг, все концепции как на ладони, открыты и понятны, языки более низкого уровня накладывают ограничения, например, на джаве ты заебешься писать абстрактный код, на расте заебешься, на сишке в принципе не сможешь, а на руби - пиши любую дичь какая в голову приходит, практикуйся, в худшем случае у тебя будет минус пару гигабайт оперативы и лишняя секунда процессорного времени.
95 2608960
>>2608896

>Только ActionCable или ещё есть варианты?


Ну можешь api написать и по таймеру чекать уведомления в бд или в редисе каком-нибудь, брав по ajax ответы от api сервера, ну или activejob реализовать, чтобы уведомления собирал, только это не лучше вебсокетов для этой задачи, т.к. более нагруженнее.
96 2608973
>>2608931

>но язык мертв. Пруф ми вронг.


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

>>2608931

>как латынь


Как латынь - это brainfuck, вот это точно без прикладного характера, но для особенных, ну или ассемблер, чтобы быть ближе к низкому уровню, к основам мироздания.
videoplayback.mp43 Мб, mp4,
640x360, 2:09
97 2608982

>brainfuck

98 2609022
>>2608718

> была написана с иронией и сарказмом



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

Пруф ми вронг

не искал работу дольше недели за свою карьеру
102 2609302
>>2608960
Ну что это? Short / long polling
Как Job будет собирать уведомления
А если Redis упал? Нужно же в БД всё хранить
Уведомления и статус прочитано или нет
103 2609318
>>2609037

>Пруф ми вронг


Так ты не вкатыш и переехал наверно в грузию, чмо
104 2609357
>>2608943
Ну конечно. Что то не припомню чтобы в школах учили Руби. А вот какой нибудь Паскаль - да.
105 2609384
>>2608982
ЖЖ Артемия Лебедева уже нашел?
106 2609403
>>2609041
Спасибо, обязательно просмотрю.
107 2609483
>>2609357
руби учили в начале нулевых он тогда как раз выходил на плато своего хайпа, потом стрельнули рельсы и пошла пизда по кочкам, ну а дальше он сдох
108 2609519
>>2609483
Если он сдох, но почему на вакансию джуна 40 рыл?

Это вы сдохли, а не Ruby
109 2609577
>>2609318
Ну уже не вкатышь, но вкатиться на руби, где максимум 10 челов было на вакансию было куда проще, чем на питон, где вполне легко 100-200. Я так же уехал, но не в Грузию, а в Латвию. В чём проблема то?
110 2609630
>>2609519
Потому что на руби всего вакансий 20 на страну из них джуновских - две.
Имеет значение популярность у кабана, а не только у вкатуна. У вкатуна популярно всё, кроме 1с разве что.
111 2609659
>>2609302
Я же говорил:

>только это не лучше вебсокетов для этой задачи, т.к. более нагруженнее.

112 2609796
>>2609519
А мне говорили руби комьюнити адекватное. Что то ты не похож на адекватного. Наверни ромашки чел.
113 2609857

>>2609815


Чел, ну теперь и в открытие жалобу катать?
114 2610180
>>2609577
Давно вкатился?
115 2610210
>>2610180
Почти год опыта 4 из каких трейни
116 2610211
>>2610210

>4 из


естественно я про месяцы
117 2610406
>>2609630
Кабана -- нахуй. Сам будь кабаном
118 2610407
>>2609796
Хуяшки)

Заебали гундеть. Писать на том что по-кайфу, кабана слать нахуй
Самому кабаном становиться
119 2610506
>>2610407
нужно послать себя нахуй?
120 2611146
Вот уеду в японию и я там со своим руби буду самым желанным мальчиком
121 2611570
Я просто вбил "ruby on rails" в linkedin, да еще и "entry level"
И 5 тыс+ вакансий в США, 64 в австралии и новой зеландии, 2 в России, даже в ОАЭ их больше.
изображение.png379 Кб, 722x250
122 2611608
>>2611570

>5 тыс+ вакансий


Т.е. я учу рельсы, потому что мне надо по работе, с чувством, что "вау, круто, неплохой язык", да и тут сравнивали ruby с латынью, все пишут, что вакансий почти нет, многих отговаривают учить. В это же время 5 тыс. вакансий на entry level, ну поделим их на 5 даже, чтобы исключить повторы от hr агенств, или на 10, все равно - это больше, чем "атомов в видимой вселенной".
123 2611677
>>2611608
Точно, давно вы все стали гражданми сша, чтобы работать на заокеанского барина? В россии вон 2 вакансии и грызите друг другу глотки
124 2611690
>>2611570
В штатах популярнее всего, да

И что теперь делать? Перекатываться на Laravel или Django?
125 2611691
>>2611677
Что делать говори
126 2611692
>>2611677
не смог осилить английский и даже что-то из курса айти, поэтому вынужден работать в иной сфере, но из зависти писать в тредах из раздела "программирование"?
изображение.png25 Кб, 644x91
127 2611697
>>2611677
У меня для тебя есть три строчки текста, которые, ты можешь осмыслить, в теории.
128 2611702
>>2611699

>У тебя нет разрешения на удалёнку в СГА


В чем? Что такое СГА?
129 2611713
>>2611692
Ну не пиши, еблан.
>>2611691
Перекатывайся в стек, актуальный в россии
>>2611697
С действительностью как пересекается? Давай, находясь в России устройся рельсовиком на американского барина без свистоплясок с оплатой в битках и прочим говном и чтобы официально, удачи.
130 2611714
>>2611709
пьяный, чтоли?
131 2611715
>>2611713

>и чтобы официально


про аутстафинг, договор подряда, аутсорс ты не слышал, конечно, да? А знаешь почему? Потому что синдромвахтерное недобыдло побирается на своей безмозглости даже не умея считать спг или читать конституцию. Иди на хуй короче, исподтишковое быдло.
132 2611716
>>2611715
Ты там из комы вылез недавно, чмондель? У нас тут война с нато идет, долбоеб
изображение.png24 Кб, 645x104
133 2611717
>>2611716

>У нас тут война с нато идет, долбоеб


я не знаю, с кем у тебя там война, с англосаксами из телевизора?
Иди воюй тогда или пролечись, ты чего доебался?
134 2611718
>>2611717
Сразу как только ты устроишься руби подсосом у американского барина, находясь в России в нынешние времена. аутсорс у него, когда все бодишопы съебались
лол
изображение.png51 Кб, 394x431
135 2611724
>>2611718
Ты там сам в манямирке и вообще не шаришь за айти работы, анон из треда выше писал про deel, к примеру, это называется аутстафинг.
137 2611726
>>2611713

>Перекатывайся в стек, актуальный в россии


псалтырь++?
Screenshot20230215061527.jpg73 Кб, 720x523
138 2611734
>>2611725
ахахахаха

если работадатель заинтересован, он найдет способ оформить аутстафинг в тысяче других агенств, а еще llc часто оформлено не в сша, а в оаэ или в панамским офшорах, на кипре. Вся суть машинкодебила грязноручкожопного
139 2611736
>>2611734
Что ниже написано ты пропустил, да? Мелкобуквенный чмондель, защищающий свой манямирок
140 2611737
>>2611736
Там написано, что новые клиенты из рф не возможны в deel, а существующие остаются. Swift в банках не под санкциями работает. Есть тысячи иных компаний аутстафинга и офлайн работающих.
141 2611747
>>2611739

>Не тысячи, а 10-20 штук на всё СНГ


Во всем мире? Пару тысяч международных контор найдется, 10-20 штук подобных в одной только москве известных, типа менпауа.
16763040633610.png591 Кб, 736x947
142 2611750
Анон, вопрос по рельсам, которые я изучаю, я не нашел в документации или в паре видосиков на ютюбе валидацию для загрузки файлов. Я увидел пример валидации во вью файлах, но это валидация по разрешению файла, а не по mime type, также я не увидел пример валидации допустимого размера файлов. Я могу нагуглить gem от рандомного васяна, который решает проблему, но разве нет встроенной в фреймворк валидации файлов?

Есть ли методы фреймворка для "взятия файла на лету" из-за предела веб папки вебсервера? Ну т.е. файл не доступен из вне, как это реализовано в Yii2?
143 2611751
>>2611750

>Есть ли методы фреймворка для "взятия файла на лету" из-за предела веб папки вебсервера? Ну т.е. файл не доступен из вне, как это реализовано в Yii2



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

Возможно ли такое на рельсах?
144 2612095
>>2611570
Учитывай, что линкедин это в основном поиск иностранных специалистов, ибо зачастую по странам все используют свои локальные сайты, по этому всё не так уж и плохо.

Вот сравнение с украиной. На линкедине 15, на сайте уже 50
50 вакух достаточно, смотри третий-четвёртый скрин, это лучше 300 вакансий на питоне но с конкуренцией в 300 человек на место
145 2612332
>>2611750

> но разве нет встроенной в фреймворк валидации файлов?


Читать сюда: https://github.com/igorkasyanchuk/active_storage_validations
изображение.png29 Кб, 747x105
146 2612556
>>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() как на картинке. Для меня это выглядит более защищенная архитектура для файлов, может там что-то важное пользовательское, например, документы, а не аватарки.
147 2612606
Вы ебанутые? Нахуя вы тред расскачиваете? Руби мертв
148 2612799
>>2612556
Хранилище настраивается в конфигах, можно и локально на сервере.
Как видишь валидации нет, gem для этого и был создан
Можешь какой-нибудь Shrine посмотреть
149 2612801
>>2612606
Это не Ruby мёртв, а вкатун не нужен
sage 150 2612877
>>2612801
Чем больше раскачивается тред, тем больше вкатунов, шиз
151 2612879
>>2612877
Принял!
152 2612886
>>2612877
Не пизди, хули толку от вкатунов, если РАБоты для них нет? Наоборот надо их сюда звать, может кабаны оживят технологию
sage 153 2612897
>>2612886
Они демпигнуют
Аноним 154 2612944
>>2612897
Хотя какая разница - скоро всех заменят
sage 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 папку, а после показывать страницу с кнопкой "загрузить", и удалять его по ссылке через какое-то время, что все равно не безопасно нихрена, т.к. какое-то время файл будет доступен для всех подряд, если знать или перехватить ссылку.

И валидация файлов в рельсах говно.
156 2614066
>>2613960

>И валидация файлов в рельсах говно.


В ActiveStorage-то? То бишь из коробки? Ну да. Не знаю никого, кто бы им пользовался. Выше рекомендовали shrine - вполне недурный gem.
1512208306631.jpg379 Кб, 811x879
157 2614100
Сап, рубисты.

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


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, но меня интересует исходный вопрос. Допустима ли такая реализация? Если нет, то почему?
1512208306631.jpg379 Кб, 811x879
157 2614100
Сап, рубисты.

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


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

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

>И валидация файлов в рельсах говно.


А что ты хочешь конкретно валидировать? Входящий файл для сервера это просто пара заголовков с названием и размером, да и сам контент, чтобы валидировать контент нужно проводить десериализацию, кто знает что у тебя там прилетело от пользователя, может pdf, csv, xlsx, или картинка, работать с этими форматами - слишком специфичная задача, а рельса и так очень жирный фреймворк, вполне разумно вынести такие вещи в отдельные гемы.
160 2614327
>>2614276
Есть мнение что rescue и вообще экспешоны - антипаттерн, и лучше возвращать структуры вроде { ok: result } или { error: ZeroDivisionError }.
161 2614343
>>2614327
Конкрето в Rails - возможно
Но обработка всё равно через rescue обычно идёт, а возвращается хеш или специальный класс
16740920784610.jpg437 Кб, 540x960
162 2614421
>>2614301

>А что ты хочешь конкретно валидировать?


1. допустимый размер файла в килобайтах
2. допустимые расширения файлов, например, только изображения (.jpg, .jpeg, .gif, .png)
3. допустимые mimetype, чтобы не загрузили файл с расширением .jpg, который по факту будет являться переименнованным zip файлом
4. В редких случаях формат имени файла, но это свой метод валидации будет написан тогда

>>2614301

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


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

>>2614301

>так же рейлс может отдать поток через send_file_headers


Вот, это то, что я и хотел найти, спасибо
163 2614447
>>2614421

>send_file_headers


Надо учитывать что этот способ плохо совместим с защитой от дудоса и вообще хреново масштабируется, например клаудфлара на бесплатных тарифах отказывается обслуживать стриминг. ActiveStorage как раз абстракция, которая позволяет без гемора подключать к программе CDN.
16760658733935.jpg94 Кб, 600x450
164 2614486
>>2614447
Мне пока не нравится то, что это не реализовано в puma/rack, если я правильно понимаю, и для подобного функционала нужно дополнительно иметь nginx/apache веб сервер, т.е. это еще одна "прослойка", получается, что-то уровня "middle ware" или "third-party-software", если использовать rails.

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

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



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

Я просто учу rails и смотрю, как там и что устроено, пока вот смотрю валидацию файлов и какие методы для работы с ними имеются.
14816828228330.gif40 Кб, 500x666
165 2614609
>>2614276

> Как видишь технически да


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

> Класс Error должен наследоваться от одного из класса ошибок (там есть деление на ноль), и для этого есть rescue и прочее


Деление на ноль было только в качестве примера, офкос - как самая очевидная/понятная ситуация.

С ошибками разобрался с raise, но всё ещё остаётся вопрос, насколько что-то подобное возможно в общем случае. Например, если какой метод возвращает то String, то Regexp. В древних языках откуда я пришёл такое не допускается by design. Логика подсказывает, что и в Ruby так делать не надо, но интересно послушать мнение.
166 2617114
>>2614609

>14816828228330


Да нормальная практика, хотя и вносит путаницу
167 2617117
Если я пилю сайт с объявами, то как быть с моделями?
Создавать под каждый тип свою: квартира, машина, телефон или сделать через JSON конструктор?
168 2617369
>>2617117
Не понял, что ты подразумеваешь под JSON конструктором?
169 2617377
>>2617117
>>2617369
Скорее всего речь за STI шла.

Я бы очевидно сделал для больших категорий свои модели, ибо там могут быть очень разные параметры которые по разному нужно валидиоровать.
170 2617402
>>2617369
Одна модель с данными в JSON, вот думаю получится так или нет

Валидации, выборка
171 2617426
>>2617402
Селект по полям JSON-а убивает производительность в ноль, JSONB побыстрее но всё равно в разы медленнее обычного столбца, что там с индексами тоже не понятно. Это удобная штука когда неизвестно что за структура будет храниться, какие-нибудь конфиги например, в случае каталога объявлений у нас все поля известны заранее, к тому же по ним будет сортировка и всякие ограничения, для такого JSON не подходит.
172 2617632
>>2617426
Значит нужна модель под каждое
173 2618579
ну мертвая же технология, очевидно, нах вы тред свой перекатываете лол
174 2618791
>>2618579
Последний апдейт меньше месяца назад, не вводи людей в заблуждение.
К тому же всё еще самый удобный фреймворк для бекенда.
175 2618797
>>2618579

>ну мертвая же технология, очевидно, нах вы тред свой перекатываете лол


Можно писать любые посты в тредах о ruby с сажей тогда, чтобы общаться в тредах, кому это нужно или интересно, и не отвлекать других с мантрами "айти все"
176 2618801
>>2618791
И че? дельфи вон тоже обновляется, только все равно никоу не нужен, пердите в свое легаси да и только.

>самый удобный


Ты скозал?
>>2618797
Номрас до абсурда доводишь и как мне писать, где и что без тебя разберусь, порватка.
177 2618906
>>2618579
А какая не мёртвая?
simplescreenrecorder-2023-02-2202.25.40.mp41,9 Мб, mp4,
1366x768, 1:11
sage 178 2619281
Чтобы освоить active storage запилил имаджборду уровня б.
Все равно еще не доволен валидацией файлов, надо будет найти gem под это.
179 2619328
>>2619281
Ммм... гномовский файлпикер... превьюшечки.
180 2619608
>>2619281
Попробуй ELM кста, для себя, на нем прикольно верстать

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

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

И да, не надо предлагать мне rbs\sorbet и прочее. Это говно.
Screenshot20230222143719.jpg46 Кб, 720x308
181 2619610
>>2619328

>превьюшечки


Есть же и imagick делает их успешно.
182 2619809
>>2619608
И как бы типы выглядили? Как в Crystal? RBS конечно не то, но решение изящное, как CSS для HTML
183 2620402
>>2619610
Я про системный интерфейс гнума (диалог выбора файла). Сорри за оффтоп, но аж глаз задергался.
184 2621384
>>2619281
Круто, есть ссылка на открытую репу?
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 если че, раньше такого не было
186 2621734
>>2621726
перезапустил с --verbose
там какие-то сишные либы компилятся, хуй знает, наверно связано с тем, что я недавно весло апдейтил и апгрейдил.
187 2621776
>>2621726
>>2621734

Все установилось, всем не похуй.
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
image.png60 Кб, 1354x757
189 2622025
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
м т.п.
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
м т.п.
192 2622042
>>2622038
И тогда "неуволенные" - это те, у кого последний известный этап карьеры не в списке "завершающих" (Terminated, Resigned, Retired).
193 2622049
>>2622038
А можно вообще всю эту хуйню запихать в стейт машину внутрь модели и смотреть на ебала приходящих в команду разработчиков.
194 2622068
>>2622038
Нужно только для моего примера
sage 195 2622146
>>2622030
и зачем ты нашел эту ссылку?
Там же еще не окончено обучение мое и половина кода надо будет "причесать".
196 2622397
>>2622146
Тише, чмондель, тише
6e23caa0fba9ee543f2fbeff4a0761d0.jpg160 Кб, 1080x1350
197 2623034
>>2622992
хуй не сидит, а стоит
198 2630165
Вкатун на связи. Есть какой-нибудь хоткей или что-то, чтобы мне не пришлось руками прописывать |key| вот эту хуйню в блоке? vscode, vim вот мои два редактора
Что сделать? Или вы просто прывкли сами палки прописывать? Лично я по инерции ставлю } вместо | и это напрягает
199 2630195
>>2619281
Выглядит круто. Я вообще ещё ничего не изучал, просто читаю тред.
Сколько времени нужно вкатываться, чтобы делать такую годноту на Ruby? Заработок и вакансии не волнуют - чисто как хобби.
200 2630198
Да, и как правильно вкатываться не переходя на Linux?
WSL2 для этого подойдёт?
201 2630332
>>2630165
В Sublime text после открытия блока через do или { подставляется |variable|

Смотри по редактору, может сниппет какой сделать
202 2630351
>>2630165
do_something { _1 + _2 }
203 2630609
Книжка Well Grounded Rubyist реально годная. Я читал на русском от Питерского книжного дома другую книжку о руби, но вот эта меня реально впечатлила. Есть моменты которые не доходят с первого раза, но пока как по мне одна из лучших книг для начинания по руби. Элокент Руби не понял вообще. Хрень какая то.
204 2630673
>>2630198
возьми и попробуй, расскажешь
sage 205 2631461
>>2630609
В этой книжке просто идет перечисление стандартных методов. Это все есть в apidock
206 2631997
>>2631461

>apidock


Хуета та ещё. У многих методов никакого описания нет
207 2632079
>>2619281
Мань, где тесты?
209 2632451
Можно ли установить Ruby без вот этого всего говна?

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


Просто чисто один интерпретатор и всё? Я только обучаюсь и не хочу засорять систему ненужными мне компонентами ОКР
210 2632493
>>2632451

> ОКР


Поссал на тебя, чмохен
211 2633089
Рубаноны поясните за self. Не доходит пока что. Когда его ставить надо, когда не надо, почему ставят когда он не нужен, почему не ставят когда нужен. Начал читать, а там про объект в объекте и такая ебень, аж мозги поплыли.
16738092158500.mp4174 Кб, mp4,
852x480, 0:04
212 2633090
>>2630195

>Заработок и вакансии не волнуют - чисто как хобби

213 2633093
>>2633089
Селф это когда: класс.метод,
обычный метод: хуй = класс.ню; хуй.метод
не нарю в руби
214 2633112
>>2633093
class C
def C.x
end
end
C.x
То есть это можно записать как
class C
def self.x
end
end
C.x
IMG20230308001247.jpg58 Кб, 720x1265
215 2633128
>>2633112
ну типа
216 2633130
>>2633128
рубисты объясните
217 2633166
>>2633128
Шиз, ты ебанулся?
218 2633380
>>2633130
да тут долбоёбы одни, разве не понятно по сообщениям?
219 2633552
>>2633089
Если ты про self в названиях методов, то с self - это методы класса, а без self - методы экземпляра класса.
image.png7,2 Мб, 3114x2166
220 2635014
:'(
хотите в 2005?
221 2637533
Есть модель User с аттрибутом role (user или admin)
и связью has_many :events

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

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

Опять же получается лишнее поле в БД у простых пользователей
carbon.png139 Кб, 974x894
222 2637659
>>2637533
Может как то так?
image.png219 Кб, 2153x1896
223 2637823
>>2630198
Да для начала подойдёт и офффициальный установщик руби для винды. Просто имей в виду, что на 99% работ от тебя ожидают как минимум базовых навыков в терминале луниха; по папочкам там ходить, зависимости разрешать, по ssh куда-то на сервер зайти и там логи почитать и так далее.

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

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

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

>> будешь создавать новую таблицу



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

Может просто сделать проверу прав как это реализовано в Pundit и всё?
232 2638037
>>2638027
Да в принципе можно, почему нет. Я просто про разные варианты. Кстати если бы ролей было много я бы переименовал свой AdminRole в просто Role и там бы флаги хранил, можно кстати паковать флаги в инты битовыми операции если юзеров и ролей куча.
233 2638120
>>2638037

> можно кстати паковать флаги в инты битовыми операции если юзеров и ролей куча



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

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

000001
000010
000011

В общем почему не просто числа 1, 2, 3, 5, n (через enu,)
234 2638130
>>2638120
Почитай про chmod на линухе
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
То есть вся идея - пакуем булы в биты, юзаем битовые операции для операций над ними.
Энум тут можно использовать но придется создавать по энуму для каждой комбинации ролей
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
То есть вся идея - пакуем булы в биты, юзаем битовые операции для операций над ними.
Энум тут можно использовать но придется создавать по энуму для каждой комбинации ролей
236 2638195
>>2638142
Вспомнил что такое битовые маски, просто биты используются как набор переключателей (флажков), погуглил ещё про ruby on rails bitmasks, даже нашлась пара гемов как раз для ролей на масках

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

> завязывать эвент на роль никакого смысла нет



Agreed.
239 2638335
>>2632451
специально для окрщиков придумали контейнеры. обмазывайся докером.
240 2638338
>>2638335
А ты видел сколько там ненужных контейнеров если в pa -a. Набилдишь разными тагами, пока будешь тренироваться и засрешь систему)
sage 241 2638339
>>2638338
или image list
242 2638346
>>2638338
для меня это не было проблемой, удалить все контейнеры и имаджи это намного легче чем сносить систему или пытаться её почистить от левых пакетов.
image.png35 Кб, 161x120
sage 243 2638349
>>2638346
Докер пропишется в автозапуск, добавит тебе скрытые networks и будет грузить систему
244 2639442
Привет тред, какой метод добавления версии приложения в version.rb является каноничным? Кроме того, чтобы просто константу в этот файл воткнуть
245 2639511
>>2639442
Делай как ОКРщик Джереми Эванс:
https://github.com/jeremyevans/roda/blob/master/lib/roda/version.rb

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

Используй семантическое версионирование
246 2643179
ActiveSupport::Concern https://api.rubyonrails.org/classes/ActiveSupport/Concern.html

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

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

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

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

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

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

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

Там на одном из сайтов полно сервисов, для лайков например сервис использовался, а не консёрны или отдельный контроллер в который передаёшь пользователя и likeable объект
250 2643423
>>2643232
Ты не понял. Миксины - это встроенный функционал в руби, и как-то так они в целом и используются. Concern просто небольшая надстройка, которая немного его расширяет и прячет некоторое количество бойлерплейта (чтобы удобне было методы класса добавлять, например)
251 2643454
>>2643423
Ну про одиночное наследование и механизм примесей я знаю
Объясни что не так?
252 2643493
>>2610210
Слушай, а что на собесах на рубиста спрашивают? Мой основной язык Си/С++, питон. Писали байндинги с++ для руби. В основном прототипирование на руби писал. Никаких рельство. Но руби нравится гораздо больше, чем питон
253 2643684
Вкатуны, вы итак не нужны были рельсовикам, потому что нубы, а теперь вас вообще гопота-4 порешает, как самочувствие? Какие планы на жизнь?
254 2643855
>>2643684
А плюсовики compvision нужны на руби?
255 2643910
>>2643675
Надеюсь Гоша умрёт в страшных муках.
sage 256 2644007
Двач, если есть массив/хэшобьект примерно такой

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

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

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

Выглядит глупо же.
258 2644600
Объясните разницу:

class Admin::User
...
end

module Admin
class User
end
259 2645045
>>2644600
Резолвинг констант происходит по-разному.
260 2645640
>>2645045
Можно яснее об этом? Первое объявление используется часто, вроде как сокращение, но у них отличия оказывается есть
261 2648684
>>2645640
в `Admin::User` если объявить метод использующий класс `A`, то класс будет искаться относительно глобального нейспейса.

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

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

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

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

Игру хочу: https://summonthejson.com/products/ruby-flashcards
264 2649847
>>2599550
WSL ставишь RVM туда и в РубиМайне или ВСкоде ремоут интерпретатор юзаешь
265 2650062
>>2649550
Да не трясись ты так, заменят тебя, не сразу, но заменят.
266 2654818
Стоит ли пробовать вкатиться в эликсир? Там вообще есть жизнь? Есть небольшие варианты вкатиться в телеком на эрланге, даже пробовал читать книгу по эрлангу и вроде зашло, но уже слишком привык быть веб-макакой и как-то оно нахуй не сдалось. Но и к эликсиру подходить не хочу, пока не прошарю за OTP. При этом смотрел вакансии на эликсире и их литералли 0, вообще нихуя.
Уже давно есть чувство, что среди эрлангеров/эликсировщиков дохуя рубистов - наверняка и тут такие найдутся.
267 2654927
Кто смотрел DHH, там какой-то новый способ выкатки придумали, что думаете?
t.png260 Кб, 403x601
268 2654928
Кто читал? Тут на Ruby всё, есть смысл просвещаться?
269 2654931
>>2654818
Язык одного фреймворка
Так всё рубистами и пилилось, а вакансии в бурже есть, но там другие условия

Лучше что-то одно тянуть и не распылятся
sage 270 2655569
Как часто рубаны меняют компанию?

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

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

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

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

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

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

Я уже не знаю, почему так, всю ночь долбался с постгресом, и у меня совсем башка не варит, придумайте вариантов, а я с утреца почитаю. Как-то манкипатчить ActiveRecord::Migration, что ли
sage 272 2657066
>>2656873

> -> { "uuid_generate_v4()" }


default: 'gen_random_uuid()'
273 2657704
Привет тред.
Только начал в рельсы. Какая стандартная практика, если нужно объединить несколько миграций? Допустим, в одной я создал таблицу, во второй добавил столбец, в третьей добавил дефолтное значение для столбца. По таймстемпам эти миграции не подряд идут, если это важно.
274 2657715
>>2657704
https://guides.rubyonrails.org/active_record_migrations.html#old-migrations
я так понял можно роллбек сделать до самой ранней миграции, которую нужно объединить, в нее засунуть содержимое остальных нужных миграций, удалить те, что больше не нужны. Ничего от этого не сломается? Рельсы сами разберутся куда делись другие миграции?
275 2659502
У меня какой то кризис. Вот я значит почитал книги по рельсам и начал работать. Пишу значит код, что то не понятно я ищу ответ в разных местах, в телеге, в книгах. И я начинаю понимать, что большая часть моего кода это чужой код! Моё личное это небольшая часть. Всякие данные и названия. Получается я ничего не создаю, а повторяю уже написанное. Да и вообще вся наша жизнь это сплошной паттерн. Нет ничего уникального. Все это когда то было придумано. Такие странные мысли в голове.
276 2660164
>>2659502
Просто ты почувствовал себя веб-макакой
Делай monkey patching теперь
277 2660427
>>2659502
ничего, скоро все это будет делать gpt
278 2660449
>>2660427
А что удобно. Просто много подробностей нужно задавать. А если слишком много то нейросеть тупит. Но в целом да, GPT с лёгкостью может настрочить много полезного кода. Другой вопрос, а что потом делать людям? Если нейросеть выйдет на более продвинутый уровень это получается программа будет писать программы. Конец IT, армагеддон. Создаём голема.
279 2660464
>>2659502
Порешай литкод и вообще вкатись в алгоритмы.
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>

Мне этот ваш жабаскрипт ещё надо знать что ли, чтобы писать на рельсах? Хтьфу бля.
281 2662095
>>2662074
Что значит страница обновлялась посекундно?
Это просто время
282 2662391
>>2662074

>Вот это выдала. Но это нихуя не работает.


Лол.
Каждый рядовой оператор ГПТ через 10 лет.

Синиор операторы будут еще уметь в html
Screenshot from 2023-04-04 13-17-01.png152 Кб, 1562x370
283 2662396
>>2660164

> веб-макакой

284 2662530
>>2662095
Ну запрос был нейросетке, чтобы время обновлялось автоматически каждую секунду. Чтобы видно было секунды тикающие.
>>2662391
Нет паддажи. Она пишет нормальный код. Иногда хороший. Почему бы и не воспользоваться? Правда одна проблема. Теперь любой запрос она ассоциирует с Рельсами и Руби.
285 2662754
>>2662530
JS нужен конечно, раз fullstack, даже с hotwire минималка нужна как раз для часиков

Ребята, у нас у всех они тикают, двери закрываются(
286 2662817
Объясните когда и как часто надо делать коммиты, я запутался

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

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

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

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

Если ты в соло работаешь над петпроджектом, то хуярь как удобно.
288 2662864
>>2662845

> У нас 1 таска = 1 коммит, если нет причин


Шиз, скорее всего он спрашивает про другое

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

1 таска это какого размера? Например я прикрутил лайки к постам, фоткам и комментариям. Мне всё целиком уебать одним коммитом "добавлены лайки"?
290 2662955
>>2662864
У меня из-за этих коммитов ОКР развилось
291 2662976
>>2662952
Какого захочешь. Твой пример зависит от реализации. Если это что-то вроде одного концерна "Likeable" и инклюд в нужных моделях, shared тесты и одна миграция, то одним, потому что это нельзя декомпозировать. Если ты над каждой моделью пердолился, то разными.
Делай как тебе удобно, серьезно. Хоть каждый файл отдельным коммитом закрывай.
image.png11 Кб, 566x82
292 2663837
Двач, почему в консоли я вижу несколько раз "Connected to websockets"? Как проверить "if !connected"?
293 2669405
Зачем и почему instance_exec мутирует вложенные блоки и меняет им скоуп? (пикрил 1)

Можно поменять как на пикрил 2, но это уже не то получается, некрасивенько(((((99(9
294 2669446
Какой современный способ деплоя расскажите
295 2669467
>>2669405
Ладно, почему так, я понял. А как сделать то, что хочу - не понял.
296 2669486
>>2669467
Можешь для начала объяснить, что ты хочешь.
297 2669592
>>2669486
Чтобы 107 строчка вернула "SomeClass method"
298 2669593
>>2669592
Имеется в виду, не меняя вызов кода в SomeClass, а только имплементацию в BlockRunner

Ну нельзя так нельзя, и хуй с ним.
299 2669849
>>2669593
Запрещаю
300 2674569
>>2662074

>.innerHTML


enjoy your xss
lmao
301 2674998
>>2674569
Чтобы xss провернуть нужен инжект данных с клиент-сайда, get или post атрибуты, в данном случае вызова объекта Data, откуда там xss возьмется?
302 2683021
>>2596950 (OP)
Аноны, а какие есть плюшки и профиты у Руби?
Сейчас пишу на Питухоне и Го. Го устраивает, но не хочу ебаться с асинхронщиной, у нас на проекте копеечный рпс, не надо нам асинхронщина. Да и контора идет ко дну, а как-то что-то нашел руби, дай думаю, хуя японский какой то бошковитый чел, ну давааааааааай.
303 2683135
>>2683021

> хуя японский какой то бошковитый чел, ну давааааааааай.



Анимедаун, спок
304 2686541
>>2596950 (OP)
Есть ли совместная фотка dhh и Мацумоты?
305 2686644
>>2686541
Где они в засос?
306 2686659
>>2596955
Это австралийские доллары, если что.
307 2687722
Парни, а стоит ли в руби вкатываться после опыта на джанге? Что-то хочется более изящного, меньше магии и более короткие функции
image.png38 Кб, 225x225
308 2688620
>>2687722

> а стоит ли в руби


> меньше магии и

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/

Так что такие дела.
310 2694780
>>2687722
В руби больше магии и меньше вакансий
311 2695547
>>2694780
И меньше конкуренции.
312 2696020
>>2695547
знаешь почему Неуловимого Билли так никто и не поймал?
потому что он был нахуй никому не нужен
313 2696798
>>2696020
Неуловимого Джо. Если ты шутишь на уровне телепередачи Городок, хотя бы постарайся быть точнее.

По всему остальному - у меня немного другие данные, скажем так.
314 2706304
>>2660464
так лол, тоже самое
315 2707156
Привет всем рубистам итт. Не знал, что у вас есть свой тред, тогда продублирую свой вопрос тут.
Есть рубисты итт?
Работаю на питоне с пыхой, пишу примитивный бэкенд без архитектуры/ооп. Все проекты идут на аутсорс, код стайла и код ревью нет.
Есть вариант уйти в руби и рельсы, сложно его понять, не имея нормального опыта на других языках? Сказали, что онбординга не будет, нужно в сжатые сроки начинать делать таски.
316 2707158
>>2707156

>Есть рубисты итт?


Извините, забыл удалить.
Screenshot20230523-140832.png137 Кб, 720x1600
317 2709050
Дожили...
319 2710850
array.slice(2,5)

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

давайте ненавидеть джаваскрипт
320 2711836
>>2707156
Вкат в руби после питона довольно легкий - у нас джуны как раз так переучивались. Насчет пыхи не скажу - нет опыта.
321 2715001
>>2710850

> в javascript - с 3-го элемента по шестой


А нахуя, если есть array[2..5]? Они ебанутые там все совсем?
322 2722895
Если я хочу отправлять рассылку со своего домена maiQP=lANUSdomuAPainPUNCTUMm.n+y, то как быть? Делал только через GMail, а так придётся свой почтовик поднимать? Стоит оно того и насколько сложно?

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

Создаю пост с тегами ruby, ror, programming
Как создать три записи в БД сразу
Если такой тег уже есть, то он должен прикрепляться к посту, если нет, то создаваться
Screenshot20230622090302.jpg27 Кб, 720x555
323 2741158
Почему ruby считается мертвым, если десятки тысяч вакансий на линкедине и gem файл, который запостил ночью, уже имеет 97 загрузок, хотя он мало кому нужен, ведь он малоактуален?
324 2741194
>>2741158
Какие автоматические хуитки качают-зеркалят, наверное.
325 2741198
>>2741158
Да я удивился. Думал руби посерьезнее будет, а там такая же помойка как в npm. Запросто можно себе майнер поставить
326 2746725
>>2608931

>Вроде бы и учат в университетах


Ммм, это в каких например?
1.png95 Кб, 1878x269
327 2746776
Это норм?
strace показывает что ruby пытается найти sqlite3 файлы во всех гемах. На пикче видно ENOENT (No such file or directory)
Какая-то херня после хардресета...
328 2746777
>>2746776
Хотя скорее всего норм. Руби ищет модуль по всем путям.
329 2747494
>>2722895

> Если я хочу отправлять рассылку со своего домена maia`NlANUSdomaic!JnPUNCTUMm%~@y, то как быть?


> придётся свой почтовик поднимать?


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

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


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
330 2747962
>>2747494
Спасибо, добрый анон
331 2747967
Подскажите, как и чем лучше прикрутить уведомления о событиях по типу как соц. сетях: ВК, Одноклассники
332 2748103
>>2747494

> Любое письмо можно подписать любым обратным адресом.


Так, собственно, часто и делают: "nShioreplyANUSdoio3mainPUNCTUMmNmHy"
333 2748110
>>2747967
А что такое событие? Где оно создаётся?

> ВК, Одноклассники


Типа "Вася Пупкин лайкнул твой пост"? Ну у меня первая мысль - сделать модель Notification с текстом, булевым флагом прочитано/не прочитано и опционально ссылкой на то, о чём уведомление.

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

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

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

Если хочешь дать юзеру настраивать, какие уведомления получать в каких случаях - это уже совсем куча кода, там надо конкретно смотреть, какие опции ты хочешь дать.
334 2748259
>>2748110
Да, лайк, комментарий, подписка
С моделями и БД вроде всё понятно, а что выбрать для доставки самого уведомления? SSE, Polling, Cable (WebSockets) или ещё чего
335 2748307
>>2748259
Ну можешь просто значок показывать, если юзер грузит страницу, и у него непрочитанные уведомления. Но если твоим юзерам очень нужно, чтобы их заёбывали пуши - вебсокеты какие-нибудь, да.
336 2754415
Зацените какой видос залили, бесплатно
https://www.youtube.com/watch?v=fqYoLWKjQWE
337 2772051
Мацумото! DHH! Где вакансии?!
338 2773854
>>2772051
На го, питухоне и жс
339 2780362
>>2772051
У нас в клубе!
VID20230723171754774.mp4420 Кб, mp4,
576x576, 0:05
340 2782570
Аноны, добрый вечер. С руби я вообще не знаком, но надо одну утилитку превратить в бинарник линуксовый.

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

Спасибо.
341 2784729
Чего-то у вас тут вообще тихо стало, да вакансии на глаза все меньше попадпются. Кроме evrone и марсиан вообще кто-нибудь пришлет на руби?
342 2798870
>>2596950 (OP)
Расскажите кулстори почему rubylang и половина каналов по руби умерла? 4 года в них не заходил и вот привет.
343 2798876
>>2798870
Потому и умерла, что ты не заходил.
image.png57 Кб, 171x200
sage sage sage 344 2798949
Давно тут не был. Это все тот же тред или перекатили с названием undefined(уже второй)?

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

Кажется увяз в своей легаси помойке и не сильно стремлюсь куда-то двигаться. Хотя мне пару знакомых намекает что пора. Щито делать? Взять гэпчик? За пару лет не разу не брал
sage 345 2798960
>>2798949
А еще кажется что если сейчас решу создать проект с нуля, то жидко обосрусь)
346 2799174
Хуя ажно 5 постов за один вечер! Руби жив!
347 2801200
Мертвецам привет. Остальным соболезную
348 2805359
Че мужики, руби кайф чи гумно? Так заебала эта джава, хочу чего-то лайтового. Вакансий вообще нет или просто надо уметь искать?
349 2805389
>>2805359
На нём писать прикольно дохуя всякого сахарочка, а в рельсах вообще дохуя всяких прикольных плюшек. Но из этого всего вытекает минус в том что можно всякого нахуевертить и это будет тяжело поддерживать и как раз таки большая часть работы этом именно поддержка написанного, новых проектов мало.
Вакансий с каждым днем все меньше и меньше. Основной и можно сказать единственный фреймворк теряет популярность как и все MVC фреймворки, куча фишек для фронтенда теперь нахуй не нужна и тд и тп. А остальное особо не взлетело.
350 2805421
>>2805359
Ну так иди в дуднет. Динамикодрисня в большом легаси не может быть лайтовой.
351 2805742
>>2805389

>теряет популярность как и все MVC фреймворки


Почему? я не шарю в теме
352 2806025
>>2805742
Буква V view в них стала не нужна, html никто не генерирует, а на фронт летит json и там реакто-ангуляры все переваривают. Плюс стало популярно писать микросервисы вместо монолитов. Собственно огромное количество фич из рельс и того же джанго стали не нужны. На питоне взлетели всякие fastapi, взлетела nodejs из-за асинхронности, поскольку с теми же ресурсами можно держать большую нагрузку, да и вообще на go не так уж и больно писать микросервисы.
А руби нихуя только предложить не смогло кроме полудохлых не особо производительных sinatra и Hanami.
353 2806058
>>2798949
Решил наверстать что добавили. Открыл посл ролик dhh, поставил этот rich_text.. картинка добавилась, но видна только при редактировании. Оно же должно все из коробки работать(
354 2806069
>>2806058
Нашел что нужно ставить vips
Начинает казаться что dhh такой дегенерат что пздц прост

Здесь еще дофига зависимостей
image.png2,8 Мб, 2576x1492
355 2806075
эта хуйня еще и цвет поменяла
356 2806241
>>2806025
Не пиздеть. Hotwire это забытое старое, как раз таки рендеринг html на сервере

В Ruby много интересного появилось, другое дело что это не завезли в Rails ещё
357 2806281
>>2805359
Ruby заебись, ваканский мало и от middle+
sage 358 2806881
>>2806075
оказалось что это стиль
359 2812590
Ребзя, я ни хуя не понимаю, как работает Omniauth? У меня Rails API, есть мобилка на Flutter (Android + iOS)

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

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

Мне это самому делать, или гем omniauth-google_oauth_2 это за меня сделает? Если нет, то что он делает вообще? Почему он просит от меня client_id и secret, а потом оказывается, что они для андроида и айоси разные? Короче, ничего не понимаю, мозг уже выкипел, помогайте.
image.png69 Кб, 1144x649
sage 360 2826793
>>2806241

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

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

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

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

Это пиздос гемор, боролся с тем же самым, в итоге оказалось проще переписать на жс и распространять через нпм без ебли со сборочкой бинаря
362 2827222
>>2826793

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


hey.com достаточно? На habr'е есть пост (нужно искать), там как раз переводили проект на hotwire с react или vue уже не помню, а так какой hotwire когда legacy кругом?

> меня терзают смутные сомнения по поводу этой идеи обмениваться кусками html и еще какая-то МАГЕЯ под капотом


Обычный html и только
Ну какая магия? JS же, естественно спотыкаться будешь, оно всегда так
sage 363 2829517
>>2827222

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

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

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

А конвенции это в основном нейминг
365 2831760
Нужны нормальные таблицы на хотваер, с сортировкой и пагинацией, с поиском, фильтрами, самому такое делать мудово, задача-то абсолютно тривиальная, почему-то нет гема с в стиле руби, который бы завёлся в три строчки без лишних заморочек.
367 2840019
Дайте вакушечку((

К злым марсианам есть смысл подаваться? Там жоско ебут на собесах?
368 2840583
>>2840019
Кем? Ебут, но попробовать всё равно стоит
369 2840654
>>2840019
В evrone иди.
370 2841940
Также вкатываюсь в поиск работы. MIddle. Рубач, накидайте плиз вопросов с собесов, которые у вас были.
371 2842676
>>2841940
Вопрос: как ты стал мидлом? У мидлов проблем с трудоустройством быть не должно
372 2842680
Что делать джуну, как найти свою первую работу, поделитесь опытом вката или это уже гиблое дело и стоит поискать в другом месте?
мне кажется что последний вагон уходит и дальше будет совсем никак
373 2847405
>>2842680

>15.09 вопрос


>игнор


>руби тред


Жаль, очень жаль.
Как ты до джуна дорос расскажи? Где работал?
374 2847454
>>2829517

> умному конопелятору


> сидишь объясняешь умному конопелятору, что 123 - это число

375 2847571
>>2847405

>как найти свою первую работу


>Где работал?

sage 376 2847647
>>2847571

> джуну

377 2847728
Бампер любимому треду!
Живи, тред!
378 2847806
>>2842680
Сомневаюсь, что на рынке рф есть джуновские вакансии по рубям и рельсам.
379 2848374
Планирую засесть за изучение рубей и рельс на ближайшие полгода, мб меньше (база есть) и найти работу джуновскую.
Какие подводные?
380 2848456
>>2848374

> Планирую


Нинада
381 2848481
>>2848456
Чому так?
382 2848555
>>2848374

> Какие подводные?


Надводные: работу хуй сышешь, нужны мудилы, хотя это везде так
383 2849003
>>2848555
Ты не можешь найти работу?
384 2849007
>>2848555
Я знал лично только одного рубиста и он действительно был мудилой
385 2849196
>>2849003
Любой вкатун её не получит
386 2852442
>>2842676
Я пока на рынок не выходил. Вот хочу понять, что сейчас хотят на рынке.
387 2855999
>>2848374
>>2842680
Вещаю с полей, менял работу мидла на этой неделе заодно помониторил рынок. Джуновских вакансий в рф нет от слова, можно даже не надеятся. По сути, единственная контора, которая более менее гарантировано может взять хорошего джуна - это СберМаркет. Но и они переходят на Go и не факт, что через год всех переквалифицируют.
388 2856019
>>2852442
Docker стал обязательным, везде спрашивали. Стало больше проектов с dry и graphql.
389 2857023
>>2855999
Джунам/интернам только через галеры/агентства уже давно.
390 2858082
>>2856019
Был MRSK, теперь мутировал в Kamal: https://kamal-deploy.org/
391 2858084
>>2857023
Подробнее бы
392 2858085
>>2855999
Как джуном прикинуться миддлом и пролезть?
393 2862526
Читаю твиттерских, каждый первый уже юзает Copilot. Что скажет анон? Стоит заморочиться с проксями и зарубежными банковскими картами?
sage 394 2862534
>>2862526

>Читаю твиттерских


Ну у них и спрашивай.
395 2883931
https://www.railstutorial.org/ вот этой штукой по 7 рельсам в пдф кто нибудь может поделиться?
396 2900617
>>2840019
У эвилов крутая штука с их опенсорс хуйней
Если сам будешь туда наяривать переодичеки, то сами на тебя выходят
а там и релокация в ЖАПОНИЮ
397 2900619
>>2840654
они съебывают с рубей щас, на го
398 2900626
>>2826793
мы в конторке сделали црмку с хотваерам. админы текут быдло трясется жс идет нахуй мы кайфуем.

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

сложные шьтуки я бы не стал на нем пока делать, еще не хватает экспертизы, там сорсы надо задрачивать чтобы его раскрыть в полной степени
399 2903900
>>2900617
Это как работает? Можно подробнее
400 2912823
Доложили вы хуйнёй маетесь.
401 2913288
Ваш тред мёртв?
402 2913362
>>2913288
Вкатываюсь в го
403 2916622
>>2913362
Зачем? А как же великий Ruby?
404 2916637
Вкатываюсь в Ruby потихоньку. Дополнительно для дефа ебошу пых по 2 часика в день, мало ли, вдруг не удастся работу на лучшем ЯПе найти.
405 2917420
>>2916637
Звучит как хороший план.
406 2917567
Кто-нибудь знает как в Rails реализована работа с сокетами? После того, как ответ был отправлен, он закрывается или keep-alive?
407 2917981
>>2917567
Я сокетами мало знаком, но что это за сокет такой, который закрывается и нахуй он нужон?
408 2917993
Кто нибудь может посоветовать посмотреть проекты на гитхабе с dry-rb? Так много возможностей, но как это все в кучу собирать...
409 2918000
>>2917567
Закрывается, этим веб-сервер занимается а не Rails, держать коннект это вообще не про http, есть вебсокеты для таких задач.

>>2917993
Да нахрен не нужен этот dry-rb, в Руби есть сейчас типизация, а в Рейлс есть всё то же самое чем этот пакет костылей занимается.
410 2918354
>>2917993
Задавлся точно таким же вопросом, но так ничего и не нашел... Собираю все в кучу сам.
411 2938707
>>2596950 (OP)

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


>A: Да, но не стоит.


А что на нем пишут обычно?
412 2939519
>>2917993
Имхо, дрисня какая говняная. Во всяком случае, в Rails-проектах это просто пятое колесо.
>>2938707
Коммерчески - бэкэнды для веба и всяких мобильных приложений, закрытые админки/CRM для средней руки бизнесов.

В принципе можно всякие юниксовые скрипты и костыли для себя писать и ботов в телегу и дискорд.
413 2939536
>>2938707
>>2939519
Был ещё какой-то игровой движок на Руби для всякой индюшатины (платный причём), но я так и не понял соль.

https://dragonruby.org/toolkit/game
414 2941833
Чето STI перестал работать после обновления Рейлс, если я воткну в application.rb

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

ничего не сломается?
415 2951450
Кто-нибудь что-нибудь слышал о конторе SPACE44?
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
417 2995953
>>2858085
никак, раскусят тебя на каверзных вопросах по теории и метамагии всякой. сам джун строг пытался перескочить на мидла с аутсорс-галеры, в итоге иду джуном в продуктовую компанию, но ЗП х1.7
418 2996345
>>2995953
Получается не очень хорошо прошел тех. собес?

Предстоит в ближайшие пол года пытаться свичнуться с джуна на мидла (хотя бы попробовать), сейчас начинаю дрочить теорию.
419 2996435
>>2995953
вообще работа есть, че то на хх вообще грустно((
420 2996719
>>2996345
В первую очередь дрочи теорию именно по самому руби, а не по рельсам. В сети дохуя потенциальных вопросов по собесам на рор, кстати, в основном англоязычных, с подробным разборам. Сам по ним готовился когда-то.
421 2996817
>>2996719
Спасибо, попробую поискать. Пока собираюсь дрочить руби, всякое по базам и немного алгоритмов
422 3017670
Эхххх ну привет пидарасы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выводы?

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

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

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

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

Думайе.

Надо форварднуть эту пасту в тред гоудебилов, может сделают выводы.
422 3017670
Эхххх ну привет пидарасы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выводы?

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

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

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

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

Думайе.

Надо форварднуть эту пасту в тред гоудебилов, может сделают выводы.
423 3017697
>>3017670
Не пишу на руби, но было интересно прочитать. Сам хочу прыгнуть с легаси в хайповую технологию пока молодой.
424 3017722
>>3017670
Просто рельсы и есть инструент для крудошлепства, когда был фронт вместе с беком, то это был был почти идеальный инструмент и ты завис в этом инструменте. Возможно ты там дошёл и до кишочков фреймворка и знал дохуя всего в Active Record, но этот опыт не прокачивал тебя как инженера.
Я сейчас пишу все запросы руками, миграции тоже на чистом sql, иногда заебывает какие-нибудь фильтры или insert писать, но зато я какую хуйню только с постгресом не делал, руками прописывал хитровыебанные связи, хитробыебанные индексы с текстовым поиском, триггеры, функции. Я представляю как бы я это все делал в рельсах, я бы большинство этих вещей не знал бы и решал подобные задачи на уровне фреймворка. И так со всем остальным, за последние пару лет какой хуйней только не позанимался. Плюс еще полноценно с асинхроннойтью и многопоточностью поработал.
Так что да, с реальсами ты заперт внутри небольшого мирка
425 3018294
>>3017670
Ты просто зажрался, а беды с башкой и так бы вылезли неизбежно, ослик дотянулся до морковки - начался кризис материализма, а дрочил бы плюсы вместо руби - сидел бы сейчас на каком-нибудь шумном заводе, дёргал бы свои байты за 500 баксов в месяц.

>>3017722

>Я сейчас пишу все запросы руками, миграции тоже на чистом sql


Не дай бог работать кому-то с этим кодом после тебя, придётся всё выкидывать и писать с нуля.
426 3018391
>>3017670
(yoba-list sozday programu kotoraya nauchit men9 bit injenerom)
А по делу, да ща везде хуйня чел. Радуйся, что ты в руби и рельсах был. Радуйся, что всё это было.
Я как вкатун, могу тебе сказать, что вот начал с рубей и после них как неприятно ковырять жс и всё такое, но на руби тупо нет работы, по этому приходится чистить вилкой.
>>3018294
Двачую.
427 3018400
>>3018294

>Не дай бог работать кому-то с этим кодом после тебя, придётся всё выкидывать и писать с нуля.


Эксперт в треде
428 3019961
Есть ли потенциал вката в рельсы в 2024 году? Прохожу один, думаю между ruby on rails и node.js. Вроде нода как-то больше на слуху.
429 3019963
>>3019961
И да, я из РФ.
430 3020319
>>3019961
Ты легко можешь попробовать и то и другое, по классике, написать имиджборду на рейлс, потом на ноде, или наоборот, остановиться на том что покажется удобнее и логичнее. Ни то ни другое каких-то особых усилий и времени не требует и будет полезно в плане понимания современной веб-разработки.
431 3020840
>>3020319
Есть только одна проблема. После рубей невозможно смотреть в сторону жс.
432 3021014
>>3020319
>>3020840
Я раньше питон немного ковырял, адаптация к жсу вроде норм прошла.

Можно спросить наивный вопрос? Смело посылай поесть говна, если это прям тупость. Но где больше денех дают, вакансии на руби есть? И вообще фуллстек вакансии с руби бывают?
433 3021081
>>3021014

>где больше денех дают


в рубях, закачик кабан с забугра в основном

>вакансии на руби есть


есть но мало и не джуновские

>вообще фуллстек вакансии с руби бывают


почти все бывают, это фуллстек фреймворк

Ток я сам не в рубях, говорю из того, что наблюдал.
434 3043768
>>3021014

> И вообще фуллстек вакансии с руби бывают?


Смотря что иметь в виду. Когда у тебя странички свёрстаны на руби+html вместе с бэком - бывает. Когда бэк на руби и отдельно фронт на каком-нибудь реакте - тоже бывает.
435 3049389
Столкнулся с интересной задачей, нужно прикрутить гуй (glimmer-dsl-libui) к одной программе, программа через ffi дёргает сишный код, в котором происходит блокировка, и невозможно его сделать асинхронным, треды-файберы, всё по барабану, когда идёт вызов - процесс блокируется и гуй не отвечает, то есть мне нужно делать гуй в другом процессе, через popen я мог бы запускать два процесса, с гуем и с блокируемым кодом, но вот вопрос - как передавать данные из одного прцоесса в другой, есть идеи? Пока присматриваюсь к distributed ruby, чтобы просто кидать данные через сокет, но может что-то упускаю и есть инструменты поудобнее?
436 3056079
>>3049389
Ну сделал в итоге два варианта - через drb, удобно, гоняет объекты в обе стороны, скрывает под капотом все заморочки, как будто бы даже бесшовно, но через сеть, показалось немного громоздко для такой простой задачи, остановился на обычном IO.popen и чтением в потоке из stdout (10 строк кода простив 100 в drb), чем проще тем лучше.
437 3060889
Двач, сап. Может есть какие-то узкоспециализированные ресурсы для ruby on rails вакансий кроме банального hh ру и хабр карьеры? upwork в РФ заблочен на глухо, что есть еще?
438 3061019
>>3060889
https://t.me/rubyjob можешь здесь посмотреть из не очевидного.

Ну и линкедин
image.png272 Кб, 1190x619
439 3061084
Двач, что такое :abysmall в первой строке и почему он имеет значение? Предполагаю, что значение задано изначально.
Это же не переменная, а что это? Метод, который возвращает строку?
440 3061130
Господа, интересует следующий вопрос: можно ли примерно прикинуть соотношение количества вакансий на руби к количеству вакансий на других языках?

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

Я пытался прикинуть соотношение через hh, но результат очень неточный, так как при поиске одного языка, ты в итоге видишь в выдаче в том числе совершенные другие языки, потому что в каких-то вакансиях могут быть указаны вообще 5 разных языков одновременно.
441 3061226
>>3061084
Это symbol синтаксис как у названия переменной, только впереди двоеточие, а по сути та же строка.
442 3061277
>>3061130
Выборку жёстче сделай и посмотри
Мало очень вакансий
443 3061280
>>3061084

p :abysmall # выводит как есть, для отладки полезно
pp :abysmall # переводит в строку
444 3061292
>>3061226
>>3061280
Вот код, и вот его результат, т.е. к переменной нельзя обратиться через двоеточие. Так что это тогда в примере выше отсюда: >>3061084 ???
image.png11 Кб, 276x211
445 3061307
image.png3 Кб, 73x97
446 3061309
>>3061307
Вывело так, т.е. это не хэш тоже.
447 3061368
>>3061277
Как же жаль, что существует невероятно крутой один прожект, и при этом количество вакансий низкое.
изображение.png5 Кб, 519x68
448 3061411
>>3061307
Символ это как строка, разница в том что две одинаковые строки - разные объекты, а два одинаковых символа - один и тот же объект.
449 3061416
>>3061292
Переменная со значением 'hey'
Символ :test
Символ переведённый в строку

Почитай про символы и разницу между методами p и puts
450 3061419
>>3061368
Что за проект? И что, туда люди нужны? Пробуй тогда
451 3061422
>>3061419
Я про odin project
452 3061484
>>3061422
А что в нём крутого? В РФ и округе с вакансиями беда, вам в США надо
453 3061571
>>3061484
Сейчас такое время, если ты в РФ, бери рейлс и импортозамещай сам, благо инструмент позволяет строить приложения любой сложности особо не напрягаясь.
454 3061611
>>3061084
>>3061416

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

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

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

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

Например {'hey' => :test}
Что такое :test?
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


символ

Ты вообще нулевой что ли? Почитай иди книгу базовую по руби
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


символ

Ты вообще нулевой что ли? Почитай иди книгу базовую по руби
456 3062031
>>3061571
Что значит импортозамещай? Что именно можно сделать в одиночку?
457 3062037
>>3061806

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


спасибо

>Почитай иди книгу базовую по руби


посоветуй может быть, пожалуйста
458 3062210
>>3062037
Симдянов, самоучитель Ruby
459 3062290
>>3062210
чиво блядь?

любую книгу бери programming ruby, ruby programming language от маца, в руби несмотря на версию 3 нихуя особо существенного не изменилось, кроме keyword arguments
460 3062291
А вообще братан учи гоу или питон, зачем тебе руби? Хайп прошел, хайрят в основном синьоров, рынок в целом в жопе щас
461 3062294
>>3062290
well grounded rubyist. Ваш мац больше на справочник похож
462 3062297
>>3062290
Того блядь, а это старьё нафиг не нужно
Изменилось и ещё как
463 3062299
>>3062294
Он не знает английский, а ты ему суешь не то, что сейчас нужно
464 3062302
>>3062291
И будет 1 в 100000 вкатунов
465 3062308
>>3062291

>Хайп прошел


И что, инструмент стал хуже? Нет, не стал. Появились какие-то вменяемые фуллстек-альтернативы? Тоже нет.
466 3062316
>>3062297
>>3062302
чё вы развонялись манюни? я в руби с 2008 года и не одного джуна на ноги поставил, если чел прочитает ту или другую книгу что я посоветовал - он будет охуенынм спецом.

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

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

>>3062294
прочитал дважды, лучшая книга по руби
467 3062318
>>3062308
конечно, любой го/питон/джава фреймворк

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

>джсоны гонять лучше чем на го не придумаешь


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

>Код писать не гемморойнее чем на руби


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

Рельсы сейчас в век фуллстек жээса что-то из прошлого столетия
472 3062440
Ебать, тут постов высрали, наверное больше чем за весь прошлый год.
Думаю, что руби мёртв больше чем жив, но рельсы ещё дадут прикурить, новых фич дохуя и писать фронт судя по всему легче становится чем гонять апишку, но это пока что всё для США, лет 5 и до нас дойдет нишево.
473 3062465
>>3062433
Rails и есть fullstack, ваши React'ы не нужны
474 3062466
>>3062440

Сказано же, что Ruby не умер, он просто стал вампиром
А в РФ можно и на WordPress магазины клепать
wake-up-dracula.gif3,9 Мб, 300x218
475 3062500
>>3062466

>Ruby не умер, он просто стал вампиром

476 3062666
>>3062465
Дурак что ли? Фулстек везде куда не плюнь. Нахуй рубисты нужны когда можно фулстек жс макаку взять? Рынок изменился. Руби нужен только для легаси, в основном хайрят синьоров. Точка. Нам всем надо смириться.
477 3062725
>>3062666
Тебя забыл спросить, на чем мне писать, еще какие-то точки ставит, охуеть дебил.
478 3062732
>>3062725
Конечно пиши на чем хочешь. Я сам на паскале иногда пишу. Но денег мне за это не платят. Платят за Goвно.
479 3062833
>>3062666
Ну к слову, ты не прав, что хайрят ток сеньоров. Есть стажировки даже на рубях, бесплатные конечно, но всё же. Да мало.
Другое дело, что это не фулстэк, а апишку делать. Так что вся прелесть рельс не чувствуется.
480 3063439
>>3062833
Бесплатно я и на идрисе по стажироваться могу лол.
481 3066563
>>3062666

> Нахуй рубисты нужны


Админки пилить, если джангистов нехватает
Screenshot from 2024-03-03 00-47-55.png614 Кб, 677x506
482 3071157
Сап, двач! Через 2 дня первое техническое собеседование.
Что нужно быстро повторить\выучить, чтобы пройти на мидла по ruby on rails?

Может есть какой гайд там и мануал, шпаргалка с вопросами и ответами, примеры кусков кода там?
483 3071321
>>3071157
Что за два дня можно выучить, залупа
500 вопросов ищи и видео на YT
484 3076886
>>3071157
Ну че как прошло?
485 3081564
>>2598595
Почему?
486 3090896
>>3076886
Видимо, он устроился на свои сытые миддловские 250к и теперь никогда не будет онлайн
487 3105326
Ебучий Руби и РОР, я менеджер проектов, поступил проект с данным стеком, не можем сеньора граммотного под него уже полтора месяца найти за 320к в месяц, резюме мало , тим лид проекта никого выше мидла плюс оценить не может с рынка (он адекватыч, ему не в интересах валить, себе замену ищет т.к. увольняется), сука какая же боль
488 3105786
>>3105326
Не могу найти синьора, потому что синьоров мало сейчас, а мидл не нужен, джун тем более.
хех
489 3106070

>Если смотреть youtube, то есть видео, где абстрактным классом считается обычный класс, который наследуют, и в котором переопределяют методы. Но при этом от обычного класса можно создать его instance, т.е. объект. А если смотреть википедию, то там написано, прям сразу в определении, что объекты от абстрактных классов создавать не предполагается, т.е. интерпретатор выдает ошибку в иных языках программирования, но в Ruby я могу создать объект класса, который считается абстрактным. Когда я спросил об этом в тусовке Ruby программистов в Telegram, которых я считаю гуру, то там мне ответили, что в Ruby нет абстрактных классов.



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



https://2ch.hk/pr/res/3106055.html (М)
490 3106103
>>3106070

>После я пошел искать информацию об этом в Ruby, т.к. последние годы работал с этим языком программирования, и тут, получается, уже есть разногласия:


Нет интерфейсов, нет абстрактных классов, есть объект класса (метакласс), есть объект экземпляра, можно запретить метаклассу плодить экземпляры (синглтон), тогда это будет некое подобие абстрактного класса из джавы, разногласий тут никаких нет, просто у тебя пробелы какие-то по базовым вещам, что довольно странно само по себе, наталкивает на мысль что ты не работал с ООП и пропустил целиком главу из учебника, а это хуёвый звоночек на собесе.
491 3106358
>>3106103

>аталкивает на мысль что ты не работал с ООП и пропустил целиком главу из учебника, а это хуёвый звоночек на собесе.



>Нет интерфейсов, нет абстрактных классов


а как же видео про абстрактные классы в Ruby тогда?

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

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

>Рубисты, как широкого распространен JRuby?



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



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

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

>Бывает так что человек всё знает на практике, но объяснить не может - не владеет терминологией, тут только один вариант - читать книги из ОП-поста, первую базовую любую, вторую метапрограмминг, третью любую из продвинутого, текста много, но на выходе у тебя будет полный багаж теории и на всякой академической шелухе и попыткам копнуть поглубже ты уже не прогоришь.



Это очень ценный совет, спасибо огромное.
496 3107281
>>3106397
конечно
497 3124971
Нравится ruby, +- научился крудошлепить с рельсами. Стоит ли дрочить этот стек дальше в ожидании вакансий стажер в учи/сбер/самокат или вкатываться в другой язык, но любить ruby?
498 3125021
>>3124971

>Стоит ли дрочить этот стек дальше в ожидании вакансий стажер


Значит ты хочешь прийти с улицы без опыта, шоп тебя всему научили. А остальные чо блять тупые, этого не хотят? Или ты ожидаешь что ты будешь там единственным? Бля таких любителей халявы как ты, да тем более в сбер пол-города нахуй найдётся. Удачи тебе конкурировать с 500 человек на место. Таких ленивых увальней, которые ждут что работодатель их обучит, прокачает им опыт, пол-россии как минимум.
499 3125036
>>3125021
Ну вакансий руби/рельсы для джунов нет, а волчарой становиться не хочу, поэтому и думаю попытаться залететь в какой нибудь другой бек язык, где хотя бы вакансии джунов присутствуют
500 3125049
>>3125036

>Ну вакансий руби/рельсы для джунов нет


Да блять нет никаких джунов. Это просто образное выражение, это не буквально где-то прям заголовок вакансии висит. Такие вещи говорят между строк в описании (которое никто не читает), а не вывешивают в заголовках. Не существует никаких критериев что есть "джуниор". Кто это нахуй? Как он выглядит? Это больше как синоним говнокодера/рукожопа, а не конкретная вакансия.
image.png12 Кб, 441x155
501 3125096
>>3125049
Нахуй они тогда так делают? Могу ли я считать, что этот год опыта я получил дроча курсы?
502 3125151
>>3125096

>Нахуй они тогда так делают?


Опыт - это объективный фактор. Его можно посчитать. А "звания" это субъективщина, открой любой сайт с индусами, там каждый первый "сениор html-верстальщик". Чмохи с заниженным самомнением считают себя "джуниорами", а с завышенным "сениорами". Хотя этих сениоров пруд пруди на каждом сайте.

То что работодатель там пишет - тебя вообще ебать не должно. Твоя задача - это по описанию сопоставить свои навыки и то что им требуется. Осиляешь ты эту работу или не осиляешь. Говоришь, вот у меня такие и такие навыки, нанимаете? Нет? Я дальше тогда пошёл. Не надо ничо объяснять. Не надо никак оправдываться. Ты не обязан на 100% подходить под описание. Если они будут выёбываться - тогда пусть сами берут нахуй и работают. Всё.
503 3125220
>>3125151
Понял. Спасибо
504 3126661
>>3124971
конечно пиши на чем нравится, вот вакуха на джуна, удаленка
https://hh.ru/vacancy/97186095?query=Ruby&hhtmFrom=vacancy_search_list
Screenshot from 2024-04-21 02-50-36.png42 Кб, 761x403
505 3130856
Доброе утро этого осеннего вечера, господа! Не смотря на шизофазию мною написанного, однажды я всё же полез на dry-rb, чтобы посмотреть на валидацию от гуру с миллионами загрузок. Все, что я увидел в их решении для валидации, было о том, что мне надо писать свои регулярные выражения, используя их класс с многостроков, т.е. я должен был написать много для простых действий.

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

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

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

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

Но это всего-лишь 0.0.9 версия...
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.
507 3146980
>>3106358
Абстрактный класс - это умозрительная хуйня, класс, который ты планируешь наследовать и не планируешь инстанциировать. Если рассмотреть конкретный пример бизнес-логики и нормально назвать эти классы, то 95% вопросов отпадают сами собой. Если у тебя есть зоопарк с кошечками и собачками, то тебе и в голову не придёт создать ЖИВОТНОЕ, вот животное здесь - это абстрактный класс.

Просто в каких-то языках есть специальные конструкции, которые будут вываливать ошибку при попытке создать объект, а в каких-то нет но можно писать костыли для получения этого функционала, суть от этого не меняется.
508 3147204
>>3146943

>dry-rb


Мало того что это набор кривых костылей, так еще и русофобская параша, блокнувшая российские ip на веб-сервере, может там еще и закладки в коде, кто знает.
509 3147233
>>3147204
Ладно, похоже что я гоню, видимо хостер просто в бане у РКН.
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, и пилить очередной фреймворк на рубях какая-то сомнительная идея...
511 3148889
>>3125151
Ебать, первый раз нормальное объяснение этому тейку увидел.

>Да блять нет никаких джунов

512 3148940
Есть ли смысл пытаться конкурировать на Ruby если на всю страну 8 вакансий(4 из которых станционарные и мне не подходят) для людей с опытом работа 1-2 года? На каждую вакансию конкурс примерно 20-50 человек или лучше пытаться на пыхе? Руби мне больше нравится, но я в целом не понимаю чего можно ожидать от конкурентов а у меня 0 опыт работы.
Screenshot from 2024-05-11 19-56-19.png14 Кб, 299x227
513 3152099
>>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/
514 3152100
>>3152099

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


>


>Документацию на gem или сам gem можно найти по ссылке


https://butteff.ru/extensions/
515 3152692
>>3152099
Костыль какой-то, в dry-rb всё нормально сделано - в класс прописаны атрибуты и их тип, во время создания объекта конструктору передаёшь хэш, всё проверяется и пишется в атрибуты без лишних движений, у тебя же какой-то левый объект, нужно объяснять ему структуру хэша, хранить его состояние, потом спрашивать, валид\невалид, нахуя это всё нужно? Зачем так усложнять, плодить сущности какие-то? Зачем скрывать валидацию из кода в либу? Контакты какие-то придумываешь, синтаксис твоей хуйни еще в голове держать, у тебя проблемы с архитектурой программы если такое говно приходится рожать.
516 3154063
>>3152099
Не понимаю тебя. Либы для того и существуют, чтобы столкнувшись с %проблема_нейм% тебе не пришлось изобретать велосипед и писать с нуля то, что уже много раз было реализовано до тебя. Спроектировать, написать, отладить, снабдить документацией, а потом ещё и поддерживать свой gem — это в любом случае более трудоёмкая задача, чем изучить API готового решения. Каким бы изъёбистым API не казалось, какой бы уёбищной не была документация, как правило, всё равно освоить готовую либу легче, чем реализовать свою. Не знаю, зачем приходится такие очевидные вещи говорить.

Тащемта, если тебе нравится (и есть время на это) реализовывать свои велосипеды — пожалуйста, дело твоё. Но пользоваться лично я этим не буду, лол.
517 3158392
А чё по вакушечкам? Дайте вакушечку....
518 3161464
>>2596950 (OP)
Привет, Рубистычи, думаю вкатиться в ROR чисто для self-build проектов, каких-то простых SaaS очень привлекла экосистема, комьюнити, и особенно Hotwire/Stimulus, Но не привлекла ебучая магия, отсутствие нормального дебагера, как будто завести проект - уже победа. На моем стеке на работе в принципе тоже самое, это джанга ебаная, всеми силами пытаюсь устроиться как гошник, но не зовут, т.к даже имея сильный бекграунд и сениорский грейд, я все равно для них свитчер-вкатун. А влажная мечта выйти из найма в свои СааСочки всегда была и есть.
book.jpg107 Кб, 600x581
519 3188732
Покупал кто?
520 3210242
No.
522 3211589
>>3211479
Накинулись
523 3211814
>>3211479
Ор, у меня эта вакуха была за 22 год и там было от 50к-100к вилка.
>>3211589
оставь мне!!!!!!
524 3211951
>>3211814

> оставь мне!!!!!!


Но я тоже хочу
525 3211957
>>3211951
Ну ладно тогда.
Тебе ответили? Меня игнорят.
526 3211958
>>3211957
Тоже пока тишина не хотят с двачерами общаться
527 3212308
>>3211957
>>3211958
Я к ним на миддла подался неделю назад, только вчера ответили.

Приходите тоже, будем раковать в рабочем чятике.
image.png2 Кб, 256x50
528 3217096
ДевОпс пытающийся кодить для души ИТТ.

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

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

капча хорошая...
529 3217433
>>3217096
UPD

Внезапно открыл для себя Pixi JS. Вот это подходит вроде под реквест... Я у одного чувака на сайте видел мордашку, она спавнилась рандомно на странице, чето говорила и была кликабельна. Показ бы пример, да ссылка канула в лету.
530 3217701
>>3217433

>спавнилась рандомно на странице, чето говорила


Хуёвая практика в плане юзер-интерактив, всё что всплывает и мозолит глаза, провоцирует внимание, сам наверное понимаешь.
531 3218006
>>3217701
Оператор чата подержки Наталья онлайн!!111
Тред утонул или удален.
Это копия, сохраненная 13 июля в 15:17.

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

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