Этого треда уже нет.
Это копия, сохраненная 30 марта 2023 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
image169 Кб, 1185x1075
Ruby thread проёбанная нумерация edition /ruby/ 2376685 В конец треда | Веб
Что нового:
https://hotwired.dev/
https://rubyonrails.org/2022/1/6/Rails-7-0-1-has-been-released
https://www.ruby-lang.org/en/news/2021/12/25/ruby-3-1-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/
image.png88 Кб, 627x419
2 2376691
>>376685 (OP)
Не надо так перекатывать - обезьяна включила фильтр, спасибо /po/ и /wm/.
Достаточно одной ссылки.
1654884649294.jpeg94 Кб, 720x720
3 2376738
>>376691
Но ведь... Но ведь.. Пирикот всегда копипастился минимум три раза... Это же... Традиции...
4 2376750
>>376738
Обычно три раза ссылка на тред и один раз линк.
5 2376806
>>376691
Ебучая лахта, вечно все портит
6 2376843
>>376806
Не хочется разводить хохлосрач, но этот раз наоборот.
7 2376852
>>376843
Пиздуй в wm срачи разводить
8 2376880
>>376852
Начни с себя, хуесос. Там и закончи.
9 2376895
Ахуенно руби тред начался. В прочем, всё на уровне языка
10 2376896
Блядь, пиздец, программисты ебаные. Даже тред прекатить не могут нормально. Всё у вас, пидарасов, через жопу, блядь, работает. И за что только такие охуевшие преференции вам общество предоставляет.
11 2377094
>>376685 (OP)
Небо голубое, трава зеленая, а руби мертый.
12 2377161
Что ещё интересного, помимо руби, японцы /pr/ивнесли в сферу ит? Если только последние 20 лет учитывать.
Sample-of-controlling-robotic-cars-written-on-the-edit-scre[...].png48 Кб, 632x360
13 2377166
>>377161
Doolittle, дико например.
14 2377167
>>377166
Dolittle сука блядь, ёбаный андроид, ебать мой хуй. Программисты-пидарасы, блядь, Microsoft Word в 1997 году на компьютере Pentium 200 MMX безо всяких нейросетей и даже без интернета знал все словоформы и даже пунктуацию правильно подчёркивал иногда, а ёбаный телефон 24/7 подключённый к сети, передающий все данные Великому Богу-Машине, над которым трудятся лучшие умы человечества, подчёркивает мне красным слово «пункнтуация». Да вы, блядь, совсем там охуели что ли, пидарасы, блядь.
15 2377313
>>377166
Почему оно кверху ногами-то?
16 2377315
>>377313
Японцы, хули с них взять.
17 2378510
>>377094
Не мертвый, а вызревший, твердо и четко!
18 2387274
Шо тут происходит?

def memoize(func)
cache = {}
lambda { |args| cache[args] ||= func.call(args) }
end
sage 19 2387283
Где почитать по turbostreams или вообще последних апдейтах чтобы не сильно растянуто было. Или пересмотреть видос dhh?
20 2387298
>>387274
Гугли замыкание
мимо не знаю руби
sage 21 2387314
>>387298
Здесь надо давать memoize(func) блок
Очень кривая конструкция
22 2387380
>>387274
Кеширование результата вызова функции. Чтобы не перевычислять ее заново для тех же аргументов. Называется memoization.
23 2387424
>>387380
Но откуда там у func .call?
24 2387466
>>387424
а в чем проблемо? call просто вызывает функцию
https://www.notonlycode.org/12-ways-to-call-a-method-in-ruby/
25 2387471
>>387466
Если мемоизатор немного подругому написать и производительность сравнить

https://pastebin.com/cS0ujPpv
26 2387472
>>387466
call работает на блоках/проках

ты же не можешь сделать
def hello...

hello.call

Но это работает внутри lambda {}
Screenshot 2022-06-23 at 21.34.49.png129 Кб, 904x824
27 2387473
>>387472
shiiiieet
28 2387475
>>387472
lambda тут не при чем, у func есть метод call
посмотри выше pastebin ссылку
sage 29 2387476
>>387473
Сработает только если метод вернет lambda { p "hello" }
Screenshot 2022-06-23 at 21.40.31.png126 Кб, 1956x704
30 2387479
>>387475
В контексте твоего класса понятно. Пример взят отсюда
sage 31 2387480
>>387479
А может и не понятно. Ну ладн поизучаю. спс
32 2387490
>>387471
Порекомендуй литературы)
Кроме eloquent и metaprogramming
33 2387507
>>387490
Я читал well grounded rubyist и github. Да в принципе любая литература подойдет, главное читать и писать код. В руби я пришел с нетривиальным опытом в ФП(lisp, haskell, ml-family) и c++. Так что например и метапрограммирование и Enumerable мне были понятны сходу и интуитивно.
34 2390347
Роман Пушкин Программист Из Сан-Франциско(тм) свои книги и курсы бесплатно выложил на сайте, уже давно вроде, но не суть, суть в том, что кто нибудь читал или проходил, норм ли? Я тотали нуб в разработке, а чутка поискал про языки и всё такое, понял что руби интересен, хочу учить и потом найти работу. надеюсь, вроде говорят, что джунов рубистов хантят после платных курсов, значит в теории есть шанс самому научиться и рассылать CV
Параллельно уже начал курс по хтмс, ксс и джс, для общего развития и один хер надо знать базу. пожелайте удачи!
И еще вопрос, на рубях можно, что угодно написать? Типа приложение в которое как в личных дневник писать заметки и чтобы сохранять? Или например, свой блог, чтобы там заливать фотки или типа того? Или для всего этого нужно прям джс изучать и на нем писать фронт часть и только тогда будет работать?
Извиняюсь за тупые вопросы, просто интересно.
35 2390697
Имеется проект на 7 рельсах с использованием tailwindcss.
Хочу использовать файлы scss для стилей. Но не могу нагуглить как это реализовать.
Добавил гем sass-rails, но scss файлы не работают.
Помогите нубу.
36 2390854
>>390347

>Роман Пушкин Программист Из Сан-Франциско(тм) свои книги и курсы бесплатно выложил на сайте


Первый раз вижу, честно говоря, 100 часов видео и книга на 400 страниц это серьезно, в том же metaprogramming ruby всего 250 страниц, скринкасты drifting ruby по 10-20 минут длятся, походу Роман Пушкин тот еще любитель присесть на уши и налить воды в текст.
37 2390891
>>390347

> И еще вопрос, на рубях можно, что угодно написать?


С веб-интерфейсом - да.

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


> Или для всего этого нужно прям джс изучать и на нем писать фронт часть и только тогда будет работать?


Основной функционал можно с помощью HTML и ERB сделать, если надо какой-то суперкрутой интерфейс - жаваскрипт.

Есть две ветки: backend и full-stack. Во второй жабаскрипт знать надо, в первой - без него можно обойтись (грубо говоря, фронт будут писать другие люди, и это может быть мобильное приложение, например, которое разговаривает с твоим сервером). Ну ты сам поймёшь, нравится тебе жс или нет. В принципе, есть места, куда можно прийти джуном на фуллстак вообще не зная JS и CSS, и там по месту подтягивать, так что дальше основ фронта идти не надо, сфокусируйся на руби именно.
38 2390990
>>390891

> С веб-интерфейсом - да.


чел

http://www.rubymotion.com
39 2390993
>>376806
Свинина, эта лахта сейчас с тобой в комнате?
40 2390994
>>376685 (OP)
Зачем вы учите руби? (нахуя)
41 2391011
>>390994
Тут учат не руби. Тут учат веб разработку. Второй ЯП выучить, дело месяца.
42 2391014
>>391011
На рубях все лагает
43 2391015
>>391014
Кулстори
sage 44 2391074
>>391011
как выучить разработку?
45 2391083
>>391014
Двачаю, то пыхтит работает, то хуяк хуйпоймичего и простой запрос сходить в БД на 2 селекта и вылюнуть жсон обрабатывает почти секунду. Потому хуяк все заработало
46 2391087
Рубаны, такой вопрос - почему в 9 из 10 случаев от рубиста ждут знаний фуллстека? Думал перекатиться на руби, даже умудрился проработать месяц в одной конторе - говно веб-аппки, с кривыми дизайнами, js-лапшой и кучей технического долга. По другим собеседованиям сложилось впечатление, что примерно вся так работа на руби и выглядит с одной лишь разницей, что в отличии от пхп-копроеда чек за работу сильно жирнее.

Получается, что здесь, как и в пыхе, только один путь - веб приложения по всеми вытекающими? Мне очень понравился язык, да и рельса тоже. Но вот перспектива сидеть и крудошлепить, верстать и ковырять js - такое себе.
47 2391090
>>391087
Пушто язык одного фреймворка, хайп по рубям один большой пранк
Ну хоть не пыха
48 2391203
>>390891
>>390854
Спасибо. сохранил дрифтинг руби себе
Со всем этим, я думаю, можно разобраться, нужно время. Тут меня даже интересует перспектива хотя никто не может знать заранее, что если вкладываться в руби и рельсы, чтобы потом можно было либо на бек, либо на фуллстек идти.
Просто не хочется вложиться в одно и потом все равно через жс заходить на работу. Пока что навскидку жс меньше понравился синтаксисом и представление ооп в руби тоже ближе.
49 2392075
Со вчерашнего дня ебался с установкой последней версии рубей. Столько всего хуй знает как пашет. Лучше уж сразу во фронт...
Пизжю, я всё же установил и чувствую вкус победы
Аноним 50 2392131
В rvm нужная версия руби, но когда ввожу ruby -v - там она другая. Как фиксить?
51 2392138
>>392131
Троллишь?
>>392075-анон который только что ебался с этой хуйней
52 2392282
>>391087
Ну хз, ходи по аутсорс-студиям, там часто JSON API делают, а фронт какая-нибудь мобилка. Кто ищет - тот найдёт, у меня такой проблемы особо не возникало, только на одной работе типа-фуллстеком был (и там жсом не кормили, только html+css)
53 2392283
>>392131
Какая ОС, какой шелл? Напиши /bin/bash --login и попробуй ещё раз
54 2392542
Че с вакансиями, пиздец... заходишь на хх, листаешь по дс1 или дс2 и тупо на первой же странице заканчиваются именно ruby программисты и начинается какое-то сисадминство, перекаты в другие языки, в 1ску и т.п. ахуеть
55 2392678
56 2392749
>>392542
«А что случилось», ты? Там уже даже до глубинного народа доходить начало, а хули, такие вещи они понимают. Рубль-то у нас вон какой, видали? Здоровый, сука! Правда, цены чё-то не падают, а наоборот. И где же работа, ведь я программист...
57 2392794
>>392542
Да вроде норм, меня наоборот херки начали всюду преследовать после СО.
58 2392864
>>392749
В /po
>>392794
Такая же фигня
59 2393605
>>393480 (Del)
чёрт, как же хочется научиться кодить на руби......
изображение.png41 Кб, 875x680
60 2394032
Вкатываться в эти ваши рельсы?
я сам особо не программист, пишу на работе в жупитер ноутбуках на питоне скрипты, хочу вот в бекенд влетать, но говорят питон слишком популярен и тяжело вкатываться, я не обосрусь с руби и тем что он недостаточно популярен?
61 2394244
>>393605

А хули там учить, он очень лёгкий как бейсик.
62 2394273
>>394244
Я скорее вот об этом >>394014 (Del)
>>394032
Что это за рейтинг? По нему у рубей всё плохо. Вообще, поговаривают, что рубистам наиболее близок перекат в еликсир с фениксом потому что на хайпе или в свифт если хочется постоянства, но он не опенсорс.
63 2394297
>>394273

>Что это за рейтинг?


Количество запросов в гугл, ясное дело в топе будет тот, на котором студенты лабы сдают.
64 2394351
>>394244

>А хули там учить, он очень лёгкий как бейсик.


Без гугла сможешь пояснить за передачу аргумента в функцию?
65 2394916
за сколько часов можно с нуля вкатиться в рельсы и устроиться на работу?
66 2395183
>>395104 (Del)
Это тот самый Дэвид Хейнемейер?
67 2395683
>>394032
Питон слишком популярен в качестве клея для других технологий. Если сравнивать конкретно веб-разработку бэкэнда на джанге и веб-разработку бэкэнда на рельсе - разрыв куда меньше. А если учесть, что 99% вкатунцов прут в питон, и смотреть на соотношение вакансий к соискателям, то руби выигрывает.

Ну и фуллстак на рубях попроще и поинтереснее, наверное, с хотваером и всем остальным. Но это если проникнуться.
68 2395684
>>394916
500-800 часов, наверное, если есть предрасположенность.

Если "с нуля" - это ещё и с нулевым знанием английского, то больше, тут сам понимаешь.
69 2395917
>>395872 (Del)
>>395875 (Del)
чейта ты притащил?
интерфейс браузера няшный, захотелось обратно туда...
70 2396169
Есть в треде те кто реально рубистами работают и из рф?
Че делаете?
71 2396218
>>396169
Да.
Работаем.
Я, например, на двух проектах - один большой проект фуллтайм с легаси кодом в команде, один парт-тайм небольшой интернет-магазинчик в соляного, где я стараюсь все поддерживать в современном состоянии, насколько хватает времени.

>>395987 (Del)
Приведи примеры. ЗА 4.5 года ни одного мертвого гема не встретил, кроме всяких пейперклипов, которым еще года 3 назад пора было на свалку.
72 2396264
>>396218
Что скажешь про вкат сейчас нубу в рф. Как учить и что учить. Сейчас книгу читаю. Видимо рельсы и где-то годик нужен?
Как потом работу искать? Ты на фрилансе?
73 2396288
>>396264
В марте двух джунов взяли без опыта (я был против, но не мне решать - это даже не джуны, а стажеры - вообще без знания языка, один после пайтона, другой после жопы одина).

Сейчас немного освоились через тесты и анализ структуры проекта, получают от манагеров таски уже поинтереснее, пока не смотрел как справлются, своего хватает.

Как учить и что учить - вроде в шапке все есть, все актуально, даже если каким-то книжкам 3-5-6 лет, это не великая проблема.

Если надумаешь вкатываться - забудь про всякие хх.ру и т.п., юзай рекрутинговые агентства (вот эти джуны к нам так и пришли) либо сарафанное радио.

Я сам вкатывался несколько лет назад, работая манагером на кабанчика, параллельно решив сделать ему ИМ как пет-проект (это и есть теперь мой теперешний парт-тайм).

Не фрилансил никогда, только инхаус.
74 2396329
>>396296 (Del)
А, ну за синатру не знаю ничего, я только по рельсам, увы.
>>396297 (Del)
Ну повезло, рад за тебя, вполне искренне. Много народу жалуется, что через хх, суперджобы, сложно найти подходящее, плюс с противоположной стороны знаю, что хорошие кабанчики на этих сервисах почти не размещаются. Самому не доводилось пробовать, как-то сама работа приходила всегда.
>>396299 (Del)
37, вкатывался уже за тридцатник, до этого в старших классах на крестах рогалики пилил, потом много лет не до погроммирования было.
75 2396333
>>396296 (Del)
Ну, кстати, этож опенсорс, кто тебе мешает заняться, ххе?
Вон в том же evrone, говорят, доплачивают за коммиты в опенсорс-проекты в свободное время.
76 2396356
>>396288
Спс за ответ.

>>другой после жопы одина


Это что значит?

>Как учить и что учить - вроде в шапке все есть, все актуально, даже если каким-то книжкам 3-5-6 лет, это не великая проблема.


Понял, с жс я заметил другая ситуация, тупо всякие статьи больше 2х лет уже совсем ниче не пашет...

Про агенства не знал, спс. Такие агенства типа берут мзду и создают CV, а потом уже предлагают тебя или как это работает?
Алсо, слышал, что хоть курсы всяких гикбрейнс и подобных контор хрень, но мол там есть плюс, что HR ждут тех кто закончил и предлагают работу. Но у меня один хуй нет столько денег сейчас, чтобы потратить 100к на курс или сколько там сейчас
77 2396360
>>396288
Можешь подсказать агентства?
78 2396374
>>396356

>>другой после жопы одина


>>Это что значит?


Odin Ass. Битрикс, короче.

>>Понял, с жс я заметил другая ситуация, тупо всякие статьи больше 2х лет уже совсем ниче не пашет...


Ну если ты в рельсы вкатываешься, то либо бэкендером - там жс другие люди заниматься будут, либо фуллстэк, тут жс нужен, да, но, по сути, только азы:
https://learn.javascript.ru/ - вполне достаточно и трети/половины, остальное покрывают всякие встроенные в релься ujs/hotwire/turbo и т.п. В легаси проектах активно jquery еще крутится - там вообще все просто.

>>Такие агенства типа берут мзду и создают CV, а потом уже предлагают тебя или как это работает?


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

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


Правильно слышал. Почитай вот, например: https://vc.ru/search/v2/content/relevant?query=geekbrains

>>мол там есть плюс, что HR ждут тех кто закончил и предлагают работу.


Неправильно слышал. Сертификаты этой хуеты ничего не стоят, т.к. учат там хуй пойми чему и зачем, плюсом, бабки ты не вернешь, если просечешь на середине курса, что это лажа и тебя там никто ничему учить и не собирался. Инфонаебизнес как он есть. Подробности по той же ссылке выше.
>>396360
Не в курсе, сорри, не узнавал откуда нам джунов прислали, знаю только что рабочая тема.
79 2396394
>>396374
Спс еще раз, теперь лучше врубился. Я как раз про фулстек думал, чтобы врубаться че происходит. Мне современный веб не очень нравится, потому что жс стал чем-то типа флеша, но его не отключишь, сайты тупа не работают если отрубить.
Еще и башлять процент агенству с зп, звучит пиздецово, но я все равно пока не шарю че как.
Почитаю с сылку, спс.
80 2396422
>>396418 (Del)

>Нет ли ощущения тумана в голове или постоянной ленивости?


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

>Еще мало сплю, может дело в этом.


Тоже немаловажный фактор, к слову.
81 2396884
>>396422
Можешь еще ответить на пару вопросов, плс.
Ты на удаленке и джуны тоже?
Я из мухосрани где вообще таких работ не бывает, максимум пара вакансий одна на пыху, другая на жс в веб студию +пыха ковырять вордпресс
Так что мне либо удаленка, либо переезжать.

Как считаешь сколько нужно вложить человекочасов, чтобы попытать удачу через эти агенства или еще как?
Так как тут анон писал? >>395684
Мне можно, например, по пути сделать пару ИМ для знакомых, пару одностраничников для всяких знакомых репетиторов и тп. думаю вот, это вообще релевантный опыт или нет, потому что на рубях наверное легаси в основном всякое?
82 2396963
>>396884

>Ты на удаленке и джуны тоже?


Да. У нас так устоялось еще до ковида.

>Я из мухосрани


Конкретнее?

>Как считаешь сколько нужно вложить человекочасов, чтобы попытать удачу через эти агенства или еще как?


От тебя зависит, на самом деле.
Тот анон писал про 500-800 часов - имхо, завышенная цифра. Актуально только если ты вообще ноль в вебе. Если есть базовое понимание того, что вообще происходит в плане MVC, HTML, CSS и проч, то я бы сказал, что часов 300, если заниматься хотя бы по 3 часа в день. Это получится 5 месяцев, если на выходных заниматься своими делами. Вполне джун.

>по пути сделать пару ИМ для знакомых, пару одностраничников для всяких знакомых репетиторов и тп.


>это вообще релевантный опыт или нет


Более чем релевантный. Про легаси - ну да, его очень много на рынке, но это не сильно принципиально, на самом деле. Рельсы - это convention over configuration, в первую очередь. Поэтому вкатиться в легаси-проект, изучая актуальные версии, не очень сложно (наоборот - не факт).
Тем более что ветка 5.2.х (самая распространенная, пожалуй) 1 июня сего года EOL, сейчас многие легаси-проекты будут думать об апгрейде.
83 2397013
>>396963
Спс за развернутые ответы.
Я скорее нуб, чем нет, хтмл, ксс ковырял, жс мало.

>Конкретнее?


В.Новгород, который под питером грубо говоря.
84 2397156
удаленные валютные бро, как у вас с получением шекелей?
85 2397369
>>397163 (Del)
Ты поехавший какой-то. Любой может написать: "Можешь еще ответить на пару вопросов, плс.", где там отсылка к предыдущему анону который вопросы задавал?
86 2397631
>>397013
Мимопроходил - не гони на Новгород, это далеко не мухосрань, бывал в вашей области по работе часто. Ладно если бы ты в каких-нибудь Боровичах сидел. Вот тогда бы и ныл. В твоем случае можно без сложностей рассматривать варианты из Питера, в случае необходимости прыгнуть в ласточку и докатить за 3 часа или сколько там у вас до СПб.
87 2397754
>>397631
Я и сам Новгород люблю. И все мои друзья, знакомые тоже Просто, что локальных работ нет, а каждый день по 3ч. туда и обратно на ласточке гонять сам понимаешь вариант так себе.
88 2397981
>>396288

> Если надумаешь вкатываться - забудь про всякие хх.ру и т.п., юзай рекрутинговые агентства (вот эти джуны к нам так и пришли) либо сарафанное радио.



Можно подробнее про это?
89 2398857
Хочу сделать маленькую приложуху с веб-интерфейсом для конфига и раздавать её домохозяйкам. Самый простой способ - поднимать веб-сервер на синатре на локалхосте и говорить юзеру, чтобы открыл браузер. Вроде работает как надо.

Вопрос: сильно ли будет сложнее сделать это всё на электроне? Чтобы юзверь кликнул на иконку и запустил окошко? Или я заебусь руби к нему прикручивать? Там много джаваскрипта надо знать?
90 2398859
>>396963

>Актуально только если ты вообще ноль в вебе


Ну там речь и шла про "с нуля".
мимототанон
91 2399129
>>397981
Я рекрутингом и собесами не занимаюсь, делюсь только инфой о том, откуда к нам люди приходят + привожу подобные доводы, учитывая некоторые собственные наблюдения. Прав я или нет - хз, на самом деле. Т.ч. подробностей давать не буду, чтобы не получилось так, что я что-то посоветовал, а оно не взлетело в каком-то частном случае. Единственный момент - обязательно проверять агентство на скам хотя бы немного + сразу разворачиваться и уходить если, например, начнут впаривать какие-нибудь негосударственные пенсионные фонды, расширенны пд и подобную хуету.
>>398857

>Чтобы юзверь кликнул на иконку и запустил окошко


Ты только что PWA, зачем тебе еще и электрон?

>Там много джаваскрипта надо знать?


Нет. Можно даже почти совсем не знать.
>>398859
Ну "с нуля" можно по-разному понимать. Секретутка или хрюша, которая на клавиатуре ищет эскакдоллар или жэкакгермания - это тоже "с нуля".
92 2399130
>>399129

>расширенны пд


запрашивать расширенные пд
*самофикс
93 2399214
>>398857

>поднимать веб-сервер на синатре на локалхосте и говорить юзеру, чтобы открыл браузер


>на электроне?


>заебусь руби к нему прикручивать?


Да, просто запустишь электрон на руби, ярлыком с рабочего стола стартанешь веб-сервер синатры на локалхосте, та через FFI отдаст веб-интерфейс.
image.png71 Кб, 270x217
94 2399872
>>398857

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



>Вопрос: сильно ли будет сложнее сделать это всё на электроне? Чтобы юзверь кликнул на иконку и запустил окошко? Или я заебусь руби к нему прикручивать? Там много джаваскрипта надо знать?

95 2399873
>>399872
>>398857
А вообще, подсос, смотри сюда http://shoesrb.com
изображение.png96 Кб, 1347x765
97 2400291
>>399880

>Glimmer DSL for LibUI supports bidirectional (two-way) data-binding


Неужели у кого-то дошли руки допилить гуй на руби до вменяемого состояния, даже не верится что это случилось.
98 2403989
Подскажите, хочу сделать бота на рубях который будет брать картинки с каналов с мемами и я по запросу смогу их смотреть. Ткните плс как найти инфу по теме, я даже кодить не умею, нужно с чего-то начать.
99 2404203
>>403989
Нах те мертвый руби, когда есть питон и по любому запросу типа tg python bot тебе миллион инфы выдаст?
100 2404316
>>404203
Я не умею кодить, хочу научиться и хотел на рубях, вот по этому.
Посмотрю по твоему запросу что в гугле.
101 2404333
>>404316
чел, а ты руби выбрал потому что любишь аниме, а тут создатель японец?)))
102 2404388
>>404333
Были два первых языка которые много лет назад попробовал: ruby и java но я всё дропнул тогда
Ну ты понял шо засело мне в подсознание, закрываю гештальт.
103 2404852
>>404203
У питона всратый синтаксис, как уважающий себя человеком может на нем писать?
А после руби я вообще не знаю на чём можно писать, это лучший синтаксис ever.
104 2405037
>>404852

>всратый синтаксис


Госпаде и вот эти чучела мнят себя инженерами...
105 2405118
>>405037
Питон и правда всратый, назови хотя бы еще один язык, в котором принято отбивать вложенность кода табами? Кому вообще пришла в голову такая дурная идея? Не говоря уже про объектную модель, по своей организованности которая не далеко ушла от пыха.
106 2405119
Так почему же руби здох, если он такой пиздатый? Спрашиваю без подъёба, если что.
107 2405140
>>405119
не стоит вскрывать эту тему, анон) Иди в питонотред
108 2405550
>>405118

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


У меня от тебя haml.
109 2405584
>>405119
Нишмагли в JIT-конпелятор.
110 2405615
>>405119
Ты про мир или про рф?
В мире не похоже, что уж совсем сдох.
sage 111 2406431
>>405119
Тебе не надоело каждый тред этот вопрос перепощивать?
112 2406549
>>406431
Убедительного ответа никто не дал до сих пор.
113 2407318
>>399873
А как оно работает? Рубишный рантайм запаковывает?
114 2408857
>>391087

>Получается, что здесь, как и в пыхе, только один путь - веб приложения по всеми вытекающими?


По факту, так и есть. Большинство вакансий - фуллстек. Перспектив практически нет. Унылое старое легаси с тучей гавно кода, как на руби так и на жаваскрипте....
115 2417445
Блин руби вроде интересный язык, решил пройти уроки по руби, зашел на сайт RVM, сайт походу с 2017 не обновлялся ))
116 2417645
>>417445
А зачем ему обновляться?
117 2417830
Ruby 3 реально работает очень быстро?
118 2417925
>>417645

>А зачем ему обновляться?


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

>>408857

>Перспектив практически нет. Унылое старое легаси с тучей гавно кода


Че рил все так плохо ? Я изначально в жс вкат начал, но нода мне показалась не оч дружелюбной да и вакансий на ней так же мало как на руби для ждунов.
119 2418062
>>408857

>Унылое старое легаси с тучей гавно кода, как на руби так и на жаваскрипте....


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

И к слову о говнокоде, у руби есть все инструменты чтобы не превращать код в говно, собственно в этом и смысл существования руби, сам Матз постулирует - the language is “optimized for programmer happiness.”, а какой первый пункт этого самого happiness? Поменьше говнокода разгребать, и вся экосистема руби в целом с этим успешно справляется.
120 2418094
>>417830

>Ruby 3 реально работает очень быстро?


Скорость это не про язык и не про фреймворк, это про архитектуру самого приложения, как кэши организованы, как данные хранятся, какое количество запросов требуется для извлечения информации, блокирующие операции и так далее, синтетические бенчмарки и таблицы с цифрами, которые показывают скорость отображения пустой страницы - не имеют практического смысла, если всё же хочешь бежать за цифрами - тебе в go или rust, а скриптопараша вся идет мимо когда появляется критерий "очень быстро", потому что в программировании "быстро" и "легко в разработке" - взаимоисключающие понятия.
121 2418136
>>418094

> взаимоисключающие


пчелик, а как же crystal?
122 2418149
>>417925

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


Так ты про софт или про сайт? Софт (RVM) вполне себе обновляется изредка (а ему и не нужно часто - он просто работает). А сайт.. а зачем? Вся инфа в одном месте, разложена по полочкам, старикан с тростью на месте, чего еще надо-то? ) У rbenv вон вообще сайта нет.
123 2418233
>>417445
RVM -- фуня, да и нечему там особо обновляться
rbenv -- лучше
124 2418235
>>417830
Ну посмотри пузомерки
yjit ещё появился

Всё равно много в RoR из Ruby 3 не задействовано
125 2418236
Кто там за скоростью опять гонится? Вам она зачем, вы всё равно столько хитов не наберёте

Shoes -- всё, после исчезновения автора ещё тянули, но теперь помер
126 2418237
Стоит катиться в руби? Есть поверхностные знания питона и либ для дата анализа, да всякие цсс верхами. Хочу одина начать проходить, а там после идёт разветвление на жс и руби. Подскажите вкатышу, в общем.
127 2418241
>>418237
Нет, пчел, иди в свой загон
128 2418243
>>418241
Какой загон?
129 2418258
>>418243
Загод дата анализа)
130 2418262
>>418243
Пчел, почему ты не решил вкатиться в джанго, если как-то знаешь python
131 2418293
>>418236

>Shoes -- всё, после исчезновения автора ещё тянули, но теперь помер


Есть же нормальный гуй https://github.com/AndyObtiva/glimmer-dsl-libui
Уже прикрутил себе формочки для пары консольных утилит, даже переписывать не пришлось, вполне юзабельная штука.
133 2418393
>>418237

>Стоит катиться в руби?


Во всех языках сейчас одна сложность - до мидла наковырять опыта. Для мидлов работа есть. Как ты станешь мидлом уже никого не ебет,
в некоторых вакансиях уже стали писать ДЖУН ПЛЮС )) и 2 года опыта ))) что бы отсеять еще больше вкатунов.

Можешь взять с ютуба уроки по рельсам, ставишь рельсы, запускаешь проект и ковыряешь сайт, синтаксис языка и так понятен если уже с каким то знаком. Я щас так и делаю.

Ну потратишь месяц условно, зато разберешься как сайты работают. Базы данных одни и те же везде - монга и sql.
Принципы везде похожие как я понял, по сути ничего не теряешь.
Чатики в телеге по руби живые, вакансии для джунов - 1-2 в месяц появляются )).
134 2418416
>>418393
А если мидОл протирал 2 года штаны, он мидОл?
135 2418429
>>418342
Ну рисовать линии на канве - такая хуйня, чарты под капотом это везде треш и угар, без исключения.
136 2418441
>>418293
а сохранять в бд там можно или это больше как клиент?

выбор даты кажется работает не оч. Нет системного календаря
137 2418451
>>418441
Да вроде обычный календарь.

В БД твоё приложение сохраняет, а это просто компоненты на форме, которые цепляются к данным.
Screenshot 2022-07-28 at 14.51.02.png27 Кб, 544x308
138 2418472
>>418451
У меня окошка этого не появляется
image.png868 Кб, 2704x1796
139 2418549
Ну все, можно ебашить
140 2418552
>>418549
Хотя все начинает тормозить если много записей. Но добавить ui к скриптику норм тема
141 2418917
>>418136
А ты на нём писал? Ну как, уже встречался со сценариями, когда какой-то АПИ может вернуть (но по факту никогда не возвращает) nil, и как после этого код вызова этого АПИ выглядит?
142 2419036
>>418416

>протирал 2 года штаны


Для меня ответ да, потому что мидол в моем вкатунском понимании это чел который уже самостоятельно работал с боевыми задачами, большими проектами, плавал в говнах, багах и т.п.
Возможно этот опыт можно и самому дома получить, если запилить какой нибудь огромный проект с кучей зависимостей, баго, но так делают только чеды.
143 2429143
>>405119
Хайп прошел. Сейчас на хайпе пайтон, php, java. Когда-нибудь их хайп тоже пройдет, и они станут как руби. Это закон-условность круговой поруки. Ничего личного, просто людские умы (стадный разум).
144 2429153
>>396394
Так-то можно жс отключить, может даже всё норм будет.
image.png92 Кб, 600x600
145 2429701
Спрошу и тут тоже.
Посоны, каким вержн-менеджером пользуетесь?
- rbenv
- asdf
- rvm
- что-то еще?

Уходили ли с одного на другое из-за каких-то проблем?
146 2429803
>>429701
rbenv

прост и удобен. Большего не нужно
147 2430160
>>429701
rvm, потому что синдром утенка.
rbenv, внезапно, показался мне каким-то перемудренным.
148 2431337
>>405119
Потому что он остался в своем времени когда все остальные языки двигались дальше. Только к 3 версии что-то попытались JIT например, но было уже поздно. Надо отдать должное руби мир в свое время был впереди всех и принес много новых вещей. Короче его эпоха уходит
149 2432476
>>429803
>>430160
Благодарю за отзывы, аноны.
Эх, мало здесь людей.

>>431337
А кто как двигался? И какие альтернативы у рубей?
Тоже спршиваю не холивара ради, а потому что недоумеваю.
Я в своей практике работал на руби, потом на го. Ну и немного общался с бывшими питонистами, немного с джсерами, плюс информация "из фона", типа подвернувшейся статьи в интернете, о том как кто-то пересаживался с руби на джс, например.
Короче у меня сложилось впечатление, что с точки зрения классической веб-разработки руби и рельса - авангард по сей день. Судил я по разным аспектам типа орагнизации проекта, тестирования, орм и тп - там эти вещи какие-то деревянные/необтесанные. (Конечно, я не писал ни на питоне на на джсе, могу сильно заблуждаться).

И вот как-то так сложилось, что рынок у питона, джс (тем более пхп) сильно больше. Бизнесу гораздо выгоднее начинать новые проекты на популярном стеке - факт. Но чисто с технической точки зрения, конкретно для веб-разработки, я не понимаю, в чем руби может уступать. Скорее только наоборот.
Но вот пописав на гошке у меня порвался шаблон. Поскольку все типизировано, то стек вызовов прозрачен насквозь, в пару кликов можно добраться до самых кишок библиотек, видеть что и где вызывается, четко понимать что на входах и выходах. И это блять прям другой мир. Хоть я и плевался и плююсь от го, там полно дерьма, но реально теперь даже не знаю каким путем идти дальше.
sage 150 2433135
>>432476

> потом на го


Пчел, срыгос оформи из треда, фастом
151 2435009
Если хочу сделать какой-то api wrapper как лучше подойти к организации/структуре проекта?
152 2435117
>>432476

>орм


Активрекорд полное говно, тормознутое пиздец, а ещё бывают криворукие дебилы начинают неправильно её юзать, например в сериалайзере писать так чтобы волнялся запрос, вместо того чтобы приджойнить снаружи в контроллере и получаются запросы в цикле и ещё 1000 и 1 способ выстрелить в ногу. Как она мне не нравилась. Сейчас пишу чистые SQL запросы это небо и земля, вместо того чтобы ебать себе мозги с орм я иной раз всю логику убираю на уровень запроса.

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


Я тоже в ту сторону ушёл, только в раст, тут аналогично всё можно поглядеть от и до, а ещё компилятор лютый помогает косяки исправлять и заставляет задумываться над владением, мутабельностью и временем жизни у переменных, если ошибки и есть то только в логике.
153 2435121
>>432476

>А кто как двигался?


Почти все пошли в сторону ввода в языки тайпхинтинга, пыха с питоном ввели в синтаксис, для js сделали тайпскрипт по сути можно даже питы не прописывать и писать как в обычном js только единственно не даст в ногу выстрелить например когда строки с числом складываешь вот только у руби получился какой-то костыль из отдельных файлов, оно и понятно синтаксис не позволит нормально такое провернуть.
Еще все движутся в сторону jit компиляции, где руби отстаёт и в сторону асинхронности, даже в пыхе что-то делают.
И какие альтернативы у рубей?
php, python, js
154 2435123
>>433135
Чего тебя порвало так?
155 2435271
>>435117
пидо

> раст


, спок
156 2435297
>>435271
Вот и школота подъехала
157 2435313
>>435297
ты че, пес, я cto
158 2435369
>>435121

В Ruby 2 JIT'а, один от Shopify

Типы вынесены отдельно, по аналогии с HTML / CSS
Наоборот красиво сделано
159 2435397
>>435121

>у руби получился какой-то костыль из отдельных файлов


>синтаксис не позволит нормально такое провернуть


Смешно, это вопрос не синтаксиса а подхода, тайпчекинг в скриптовых языках это просто этап тестирования, ты же не пишешь тесты в исполняемом файле? (хотя я видел такое в питоне практикуют)
Утилита rbs тебе под проект генерирует untyped-скелет с классами, которые и правишь по необходимости, вообще не прикасаясь к рабочему коду, это и есть нормальный подход.
160 2435403
>>435121

>руби отстаёт и в сторону асинхронности


Асинхронность в языках с глобальным локом вообще отдельная тема, почти везде это коллбэчное наебалово и хаки, достаточно загуглить "Async Python is not faster" чтобы прикинуть фундаментальность проблемы, и в руби 3 завезли настоящий параллелизм в виде акторов, только чтобы писать такой код нужно внезапно быть в состоянии реализовать архитектуру программы с параллельным выполнением, так что вкатунам я бы не советовал забивать голову такими вещами.
161 2435538
>>435397
Получается править нужно в двух местах при необходимости, мне нравится как в пхп и питоне это реализовано просто пишешь типы в этом же коде и все наглядно видно
изображение.png254 Кб, 1138x528
162 2435653
>>435538

>все наглядно видно


"Наглядно видно" с определенным количеством кода превращается в "насрано на экране", чего руби всеми силами старается избегать, такая уж философия языка, программист сам решает посредством IDE какую информацию он хочет видеть а какую нет, если прописываешь типы прямо в коде у тебя такого выбора уже нет.
163 2441167
Анон, пытаюсь обратиться к одному сайту.
Юзаю Faraday, у него дефолтный адаптер Net::HTTP.
Составил запрос, выставил заголовки как надо. В курле - все ок. Из скрипта получаю 403.

Бред какой-то. Единственное, что мне приходит в голову, что поведение библиотеки на уровне протокола как-то отличается и сервер фильтрует запросы по этому признаку слышал, что в туркменистане так голенговская библиотека попала под пиздорез.
Как проверить вообще такое?
А как можно посмотреть фактический https-запрос который уходит?
164 2441326
>>441167
А сервер отвечает на http? Может там https?
165 2442459
>>441326
Эмм, вот ты меня в тупик поставил.
Но нет, ссылка https-ная и если обращаться по http, то 301 редирект. А я 403 получаю.

Сейчас не могу проверить, но планирую попробовать какой-нибудь curb использовать. Если его пропустит, то это будет конечно ахтунг.
166 2442579
>>442459
Дебс, а скинуть ссылку в тред тебе не пришло в голову. Думаешь тут экстрасенсы твоей криворукости?
169 2442753
>>442732
добавлю что пздц конеш. А почему faraday, а не httparty?
170 2442942
>>442579

>Дебс, криворукости...


Господи, сколько же вас болезненных озлобленных униженных калек.
Парень, ты настолько уверен в своих знаниях? Настолько невъебенно крут, что считаешь, что можешь так обращаться к первому встречному?

По поводу ссылки, я не свечу ее сознательно. По поводу криворукости, не тебе быдлотине судить.
Больше мне, дебил ебаный, не пиши.
171 2442952
>>442942
Да не трясись ты так, подсос
172 2443203
>>435009
Например? Что он должен оборачивать, и как будет выглядеть код, использующий твою либу?
173 2443208
>>441167

> Бред какой-то. Единственное, что мне приходит в голову, что поведение библиотеки на уровне протокола как-то отличается и сервер фильтрует запросы по этому признаку


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

В 95% случаев рукожопом оказываюсь я.
174 2444393
>>442942
Пиздец. Да ты сам болезный обиженка, если тебя так рандомный чел с двача триггерит.
мимокрок
175 2444463
>>443208
В 95% случаев рукожопы манкипатчат и метапрограмируют все, до чего руки дотянутся, вместо того, чтобы сделать обычный изолированный прямолинейный интерфейс без выебонов. Фарадей хороший пример такого.
1661597929670.jpeg110 Кб, 1124x722
176 2447071
>>444463
Вообще да. Когда впервые открываешь для себя динамическое генерирование методов или ещё какую хуйню - выглядит суперкруто. А когда в консолечке в очередной раз пишешь Klass.instance_method(:zalupa).source_location, потому что хуй пойми, откуда оно берётся, и натыкаешься на вот такое - что-то восторг подувядает.

Рельсе, конечно, можно, хули мы ей предъявим, но когда гем простой как два пальца - брррр
image77 Кб, 2172x738
177 2449406
Хы
178 2449757
>>449406
РЖД - передовые технологии
image.png13 Кб, 438x160
179 2452292
>>441167
Дошли сегодня руки поразбираться.
Короче, вот если кому интересно, на скрине результаты моих мытарств - все клиенты работают, кроме родного рубишного.

В проекте пока решил просто поменять клиента на Typhoeus (под капотом либкурл).

Что это такое хз. С одной стороны вряд ли это какой-то фильтр, потому что тогда не должны были бы работать, например, гошные запросы (ибо известно, что их можно различать). С другой стороны 403 на нормальный запрос это мммаксимум странно.

Сайт который я паршу - одна достаточно известная доска объявлений
1526177331614198.png41 Кб, 710x400
180 2452363
>>452292
Метасплоит же через рубишные либы работает с сетью, легко мог попасть в блеклист какого-нибудь фаервола, есть за что его блочить - инструмент хакера как ни крути.
181 2452366
Пропиши юзер-агент из браузера, может пройдет.
182 2452598
Что происходит с проектом, когда набирается 1000 migrations? Его переписывают?
183 2452746
>>452598
Новую базу данных можно развернуть из файла schema.rb, после того как миграция выполнена везде где требуется обновление и откат исключен - эти файлы можно просто удалить.
image.png261 Кб, 500x375
184 2455168
Сап, рубаны. А что посоветуете почитать по рельсам для среднего левела? Читал гибкую разработку и Хартла, обе книги для начинающих. Есть какая-то литература для продолжающих?
185 2455425
>>452292

> ибо известно, что их можно различать


Не понял. А как?
186 2456605
>>455168

>Есть какая-то литература для продолжающих?


Для продолжающих уже более фундаментальные вещи - sicp можно почитать (позиционируется для начинающих но по факту без опыта эта литература не заходит), Страуструпа, Банду четырех, кароче классику. Конкретно по руби есть почтовые рассылки - ruby weekly, ruby digest, из них попадаешь на блоги грамотных разрабов, которые глубоко копают в своих исследованиях, у них можно почитать и предыдущие публикации.
187 2456813
>>455168
John Athayde, Bruce Williams — «The Rails View»
188 2456946
>>456813

> Rails 3


> Ruby 1.9

189 2456991
>>452292
Может разные версии HTTP, а сервер банит совсем древние?
190 2457048
>>456991
Базовая это 1.1, которой лет больше чем тебе, а могут откатываться и до 1.0.
191 2457287
>>456813

>John Athayde, Bruce Williams — «The Rails View»



Книга про вьюхи? А ты хорош
image.png935 Кб, 918x750
192 2457348
>>452292

> одна достаточно известная доска объявлений


Пчел, ну ты и одибиливший швайнокорась. Почему бы просто не дать ссылку на пример объявы или на весь сайт пздц прост
193 2457350
>>457348
Еще зачем-то в текстовый редактор вставил. Проорунькал чет
194 2457387
А почему, когда в контроллер передаются params с кучей аттрибутов, там вместо массива хэшей хуйня вроде {"0" => {...}, "1" => {...}} и так далее? А в некоторых местах вместо "0" и "1" какие-то ебанутые числа вроде "1615516191948"

Никак нагуглить не могу. Загадка.
195 2457712
>>457387
Вот. Хз, почему так.
196 2457725
>>457712
Вложенность же 0, 1
197 2457747
>>457048
Я о том и говорю что может быть клиенты требующие старый протокол идут нахуй на Cloudflare а остальные давайте сюды
198 2457817
>>457712
Что с клиента приходит то и попадает, похоже на какие-то манипуляции с календарем.
199 2458112
>>457387
Ебанутые числа это, очевидно, unixtime.
Если ты вкатыш, гугли; если джун, обратись к ментору; если ты мидл, то нет, ты не мидл.
200 2458115
>>452292

> Что это такое хз


Может быть это: https://daniel.haxx.se/blog/2022/09/02/curls-tls-fingerprint/
201 2458323
>>457725
Ага, а 1662548583660 - это тоже вложенность?
>>457817
Ды фулл-стак приложение на рельсе, simple_form присылает формочки.
>>458112
Ага, то есть, вечером одного дня было 1662479789022, утром следующего - 1662548595470

Тогда получается, если это секунды, то за ночь прошло 19112 часов, если миллисекунды - то 19 часов, охуенно, да?

Да хоть бы и юникс тайм, вопрос не в этом, вопрос - почему оно там берётся.
202 2458330
>>458323
А браузерный инспектор во вкладке "Сеть" для post-запроса этих заголовков не показывает? TLS и cloudflare в теории могли насрать туда, точнее веб-сервер или прокси который всё это терминирует мог добавить какой-нибудь мусор, но на дев-машине всего этого нет и было бы чисто.
203 2458783
>>458323
Таймстемпы в миллисекундах делает джаваскрипт. Ты на работе эту хуйню ковыряешь или где? Спроси у фронтовых разработчиков, что они там засылают и когда.

> Тогда получается, за ночь прошло 19 часов, охуенно, да?


А что не так? Я столько обычно и сплю.
204 2458998
>>458783
На работе, да, но там фронта выделенного нет, рельсовские формочки просто. Короче, я забил и перестал полагаться на значения ключей.
изображение.png42 Кб, 609x610
205 2459020
>>458998
Погоди, ну тебе прилетают параметры в контроллер, ты же их фильтруешь всё равно? Аналог private person_params как в пикрил у тебя же есть?
206 2459033
>>459020
Да просто там уровни вложенности косячно расположены (потому что там некоторых объектов может не существовать, и вложенные формы в них не отрендерятся, поэтому некоторые инпуты кладутся напрямую, но потом их надо запихать поглубже (то есть ручками парсить эту структуру, обычные permit-require не то вернут), чтобы передать правильный хэш в update_attributes или что-то такое. Я уже из головы этот кошмар выкинул.
207 2459636
Решил немного освоить Руби.
Хули ничего не работает тут у вас?
Поставил пакет ruby в debian 11 и получил ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux-gnu]на самом деле это wsl, а не debian)
Поставил vscode в винде.
Поставил расширение https://marketplace.visualstudio.com/items?itemName=rebornix.Ruby

Делаю debug и ничего не происходит!
Мне обязательно теперь ставить ruby3.1 и как все додидки ставить rvm ? Не хочу систему засирать просто.
Не мог же debian11 устареть?
208 2459650
>>459636
отбой
кое-как разобрался https://github.com/rubyide/vscode-ruby/blob/main/docs/debugger.md

плохо что ничего не работает само и в инсталляторе нет никаких описаний
209 2459674
>>459650
блин, а с этим багом что делать?
https://github.com/rubyide/vscode-ruby/issues/618
вообще ничего не понял что он сделал чтобы проблема исчезла

подчеркну: я не собираюсь глубоко изучать ruby.
Мне просто нужен отладчик в vscode и незасранная система
210 2459682
>>459674
https://bugs.launchpad.net/ubuntu/+source/puppet/+bug/1875848

export RUBYOPT='-W0'

ну, спасибо, блять.
господи, что за отсталое коммуники? как вы не этом пишете?
211 2459727
>>459682

>Windows


>WSL


>debugger


Ну так и ищи как в винде под всл настраивается дебаггер, причем тут руби? Сам же ставишь экзотику какую-то через костыли.
212 2459916
>>459727
Доброго вечора.
у меня все остальные языки (python, go, nodejs) обычно заводились с первого раза. Эффект масштаба зашлифовывает мелкие проблемы.

А тут у вас что-то все плохо.
213 2459917
>>459727
На самом деле тут обычный debian 11. Считать это костылями нельзя.
Просто все (зачем-то) привыкли ставить ruby version manager.
А я так не люблю.
214 2459920
>>459916
Кому нужна шинда в 2022?
1. Не ойтишникам нужен телефон или планшет с iOS
2. Директору Mac чтобы графики прибыли смотреть
3. Ойтишникам PC c Линукс.
4. Школьникам консоль чтобы играться.
215 2459959
>>459917
Так у тебя какая проблема, кнопка debug не работает в vscode для руби запущенного под wsl не костыль, ага?
216 2459976
>>459917

>зачем-то) привыкли ставить ruby version manager


Как раз чтобы не засирать систему, rvm ставит руби в домашнюю директорию пользователя, с правами пользователя, apt поставит пакет в /usr/bin и /var/lib, еще и будет просить админских прав на каждое шевеление бандла с гемами, так что вопрос чистоты системы и последующей мозгоебки с программами как раз в пользу менеджера версий. Ну если тебе это всё не нужно то всегда можно добавить репу со свежей версией руби и поставить свежий пакет оттуда, точно так же как это делают для питона, го, ноды и вообще почти любой программы в дебиане.
217 2459978
>>459976
Так debian 11 - это и есть незасранная система.
"не засирать систему" для меня означает, что у меня только системные пакеты и я могу из единой точки обновлять и устранять уязвимости. Вот вот такие бывают интересы у людей, представь себе.

Да ладно, че вы возбудились?
Работает у меня. Но руби все равно хуевый и непопулярный.
218 2460368
>>459636
>>459650
>>459682
какой же ты дегенерат, пздц прост
219 2466840
А что случилось? Почему тред умер?
220 2467071
>>466840
В смысле умер? Всегда примерно такой постинг был.
221 2472188
пыха и ларавел или руби рельсы?
для вката и работы спрашиваю, но пока учусь понятно, что буду что-то своё делать. вроде всё указывает на пыху, такой уж рынок рф, но хочется рубями обмазываться и хотвайром в перспективе....
222 2472189
>>472188

> рынок рф


Ты ебанутый?
223 2472202
>>472189
Ну пока по другому никак.
224 2473077
>>472202
Когда ты доучишься IT рынок РФ буде представлять из себя кучку задротов в НИИ, которые пилят прошивки для ракет, так что лучше вкатывайся сразу в сишку под эмбеддед.
225 2473166
>>472188
Оба

По стате видно что пыха востребованней конечно
226 2473201
>>472188
Я вот кстати тоже перед таким выбором стоял в своё время, в универе были лабы на пыхе, сделал условный интернет-магазин, потом сделал тот же самый магазин на asp.net, потом на рейлс, в итоге через один курс диплом защищал уже на руби он рейлс с более сложной программой. Руби для студента очень хороший выбор как мне кажется, простой и выразительный язык с очень мощными возможностями, логичный и хорошо структурированный, после джавы и шарпа с его asp mvc я просто как свежего горного воздуха вдохнул разбираясь с руби, как сейчас помню это ощущение. Так что тебе как студенту лучше пробовать писать на всём до чего руки доходят.
227 2473255
>>459920

> Школьникам консоль чтобы играться.


Анекдот в тему!

Плейстешен демонстрируют игрокам распродажу.
— Вот, товарищи геймеры, скидки до 75%! Петров!
— Я!
— Купи наши игры.
Петров тужится, пыжится, не купить.
— Не получается.
— Сидоров, помоги Петрову
Пытаются вдвоем, та же ситуация.
— Не получается.
— Иванов, помогай.
Пыхтят втроем. Купить не могут.
— Никак не купить, товарищ издатель!
— А хули вы хотели? Данный товар недоступен в вашем регионе...
228 2473621
>>473201
Спасибо за ответ. На рубях работаешь и далее?
>>473166
Спасибо и тебе. Тот же самый вопрос, работаешь на рубях?
Я понял, что ковырять-то пока учишься можно, что угодно, но чтобы поработать...
>>473077
Тоже вариант.
sage 229 2474424
Всегда думал что
add_reference :books
добавляет foreign_key: true автоматически. Или я не понимаю смысла foreign_key?
230 2474940
>>474424
Да, можно явно указать

add_reference :posts, :author, null: false, foreign_key: { to_table: :users }
231 2474964
Мне одному формулировка задачи кажется ублюдочной? https://leetcode.com/problems/container-with-most-water/
232 2474965
>>474964
промазал
233 2475026
>>474940
Ну вот как раз смысл to_table понятен, а если мы не делаем foreign_key: true ?
234 2475083
>>474424

>Всегда думал что


>add_reference :books


>добавляет foreign_key: true автоматически. Или я не понимаю смысла foreign_key?


Хороший вопрос. Нет, не добавляет, по дефолту только индекс и поле id.
В чем же тогда смысл foreign_key, если рейлс его по умолчанию игнорирует? С foreign_key во время записи база данных будет проверять наличие id, на который создается ссылка, если его нет то транзакция упадет. Если внешнего ключа на уровне бд нет то запись будет добавлена, и во время обращения к ассоиации активрекорд тебе вернет nil и в базе данных будут ссылки на записи, которых не существует. По уму конечно внешний ключ лучше прописывать, безе будет чище.
235 2475188
>>474424
Когда генерируешь миграцию (rails g migration .... references: books) - то добавляет. Если ручками миграцию пишешь, то ручками foreign key и дописывай.
236 2475646
>>475188
Что ты несёшь?
237 2475650
>>475083
Подробнее можно? Речь ведь о миграциях
Прописал, накатил

Откуда проверка?
238 2475651
>>475026
Я писал и с ключом и без
В схеме разницы никакой не увидел

Что не так?
239 2475808
>>475646

>Что ты несёшь?


https://guides.rubyonrails.org/active_record_migrations.html
В официальной документации ровно то, что я "несу".
240 2476306
Руби только для веба используется?
241 2476536
>>476306
ещё жысоны перекладывать
242 2476740
>>476306
в SketchUp используется как внутренний язык
243 2476751
>>476306
Нет пчел, можно делать приложения http://www.rubymotion.com
)))
244 2476832
>>476751
RubyMotion кажись всё, помер
245 2476863
>>476832
Да и сам руби тоже.
unnamed.png450 Кб, 1920x1080
246 2477015

>RubyRussia



>2022, 30 сентября - 1 октября, онлайн



>Два дня, 14 новейших докладов, запись в 4К - всё это RubyRussia’22. В конце сентября мы соберём рубистов со всей России и ближнего зарубежья, чтобы с ведущими разработчиками обсудить будущее нашего любимого языка и всего, что построено вокруг него.

247 2477108
Как считаете стоит ли апнуть ноут с текущими ценами?
Есть 15 2015

Рассматриваю прошки 14/16 (с 16 наверно имеет смысл брать 32/32 1tb)?
248 2478546
Falcon вместо Puma
Sequel вместо ActiveRecord
GraphQL вместо REST
Fibers вместо Threads
<secret> вместо Sidekiq
Kafka вместо Rabbit

(c) samokat.tech
249 2478549
Falcon вместо Puma
Sequel вместо ActiveRecord
GraphQL вместо REST
Fibers вместо Threads
<secret> вместо Sidekiq
Kafka вместо Rabbit

(c) samokat.tech
250 2479181
>>476863
Что мертвей, lua или ruby?
251 2479515
>>478549

>GraphQL вместо REST


Оверкилл, не?
252 2479721
>>479519 (Del)
Не нишевый, но мертвый?
Screenshot 2022-10-02 at 15.26.04.png161 Кб, 2550x1370
254 2479791
255 2479957
>>376685 (OP)
Аноны, есть ли смысл вкатываться в раби?
В унике пишем на си и перл, но боюсь что с этим работу не найти.
Живу в Эр Эф если что
256 2480129
Как вообще понять по что вкатываться? В руби конфах руби жив, тут руби умирает, пиздец
257 2480148
>>480129
А что ты хочешь делать?
258 2480161
>>480148
Я остановился бы на бэкенде веб приложений, наверное, почему то считаю это самым лёгким для вката. База в программировании есть у меня и на работе на питоне пишу скрипты. Не понимаю что лучше: популярный язык, много материалов, вакансий, но и конкуренции со вкатунами. Или менее популярный язык, с меньшим количеством материалов для обучения и с меньшим количеством вакансий, но и с соответственно меньшей конкуренцией для вката. Возможно это так не коррелирует, но я пока так думаю.
259 2480162
>>480161
Чел, так ты не хочешь программировать, ты хочешь чтобы полегче вкатиться и чиллить на удалёночке за 300к.
260 2480177
>>480162
Дык, я и не писал об обратном
261 2480211
>>480177
Катись в похуйпэ. Упругим зумерам оно не интересно, а работы ёбнешься.
262 2481921
Есть в треде кто реально работают где-то на рубях? и рельсах Не пет проекты и не фриланс, а нормальный такой тыртырпрайз. Какая обстановка по работе у рубистов сейчас? Сложно говорить про будущее, но если есть мысли - напишите.
Меня беспокоит, что я выбрал стек рор и чето работы на хх и хабр вакансиях вообще нихуя. Переодически чекаю и например на хх, выбираю рф, выбираю программирование и мне выдает типа 100 вакансий на всю страну, к тому же, после первой же страницы уже вакансии без рельс, какие-то системные администраторы и т.п. Что-то меня удручает такая картина и я не понимаю, что хантят после курсов вкатунов или что? Потому что курсов по рубям тоже не мало в рф. Меньше чем по пихону или жс, но они есть и интересно почему если вакансий практически нет.
263 2482041
>>481921
Ответ прост: если что-то не устраивает, то перекатывайся на другой стек. В рф, очевидно, руби медленно умирает (хз как за бугром). Работа, конечно, ещё будет лет пять, но вакансий, как ты заметил, мало. Значит и выбор не такой широкий будет у тебя. Попробуй посмотреть в сторону пайтона, ноды, го, с#. Ну ещё пыхи и жабы (если хочешь колупать говно мамонта).
264 2482055
>>481921

>Есть в треде


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

>Что-то меня удручает такая картина и я не понимаю, что хантят после курсов вкатунов или что?


После курсов не хантят никого и нигде. Разве что аутсорсинговые агентства.
Кстати, можешь к ним и попробовать обратиться, но комиссии у большинства конские, а серьезные конторы типа evrone хантят от мидла и выше.
image.png50 Кб, 300x168
265 2482135
>>482041

> Попробуй посмотреть в сторону пайтона, ноды, го, с#.


Все так. Лущие языки, между прочим
266 2482162
>>482041
>>482055
Понял, что нихуя не понял.
Ладно, буду дальше ковыряться, один хуй базу знать надо, а там посмотрим, мб в великолепные жс, пихон или пыху придется идти......
267 2482896
>>482162
Ну в целом руби - неплохой язык для вкатуна в веб. Потом в тот же питон очень просто будет вникнуть. А от пыхи будешь плеваться, да.
Ну а жс один хрен на базовом уровне хотя бы нужен везде.
268 2482919
>>482904 (Del)

>Пятая пыха и седьмая+ это дохуя разные вещи


Дело не в версии пыха а в его кодовой базе, с которой предлагают работать и за которую платят, битриксы-хуитриксы, вордпрессы, сляпаные на коленке цмс, вот это вот всё имеют в виду когда говорят про плохой пых, а не версию интерпретатора.
269 2483336
>>482925 (Del)

>это примерно как шиндовс и (догоняющий, ололо) реактос


Не понял, кто кого догоняет? С чем ты вордпресс сравниваешь?
270 2485046
>>482162
Вкатись в пыху, отработай годик, перекатись в рельсы - война закончится, вакухи появятся да и с попытом в вебе работу гораздо легче искать будет.
271 2485218
>>485046
Да я тоже так подумал. Пока все равно изучаю только руби и рельсы. Хтмл, ксс и жс немного знаю. Мб ещё год на обучение уйдет, а там посмотрю. Пока самое подходящее это пыха+ларавел, а потом уже с опытом на рельсы.
Я хочу в продуктовых компания работать, знаю в каких и их стек, но это нужен опыт+эмиграция и т.п. а это ещё лет на 5 думаю.
272 2485324
>>485218

> опыт+эмиграция


А ты у мамки разрешения спросил?
273 2491101
Кто нибудь в Грузии есть?
Если там карту банка получить, то ей можно расплачиваться за сервисы за пределами Грузии, например на Amazon книгу купить? И какой у вас банк. Я слышал что в Bank of Georgia есть какие-то ограничения, но не в Liberty Bank.
274 2491921
У патриотов лицензия на Jetbrains ни у кого не слетела? Халява для РФ и Белки закончилась 14 числа, но чот все работает как и работало.
275 2492223
>>479759
С таким же успехом можно зарегать домен iscoboldead.com и также писать NO
image.png52 Кб, 1488x372
276 2492839
прямо плак плак
277 2498474
278 2498766
>>492223
Но никто так не делает.
279 2499272
>>485046
Рельсы ещё живы?
280 2499773
ку, хз че делать. хочу вкатиться в руби, но боюсь что работу потом нихуя не найду в своей залупе. или продолжать фронт учить (но я ненавижу верстать, кодить заебись), или руби. кто ищет тот всегда найдет конечно, но вакансий ваще нихуя :(
281 2499860
>>499773
Да есть вакансии, просто #джуныненужны
И так не только с RoR

Вкатывайся на фронт и параллельно учи RoR, а там видно будет
282 2499984
>>499272
>>499773
>>499860
Да. Руби мерт. Кыш отсюда
image.png67 Кб, 747x522
283 2516072
Вопрос закрыт
284 2516220
>>516072
Хуйня какая-то. Руби, блядь, как Ленин. Вроде вечно живой, но давно уже здох.
285 2516460
Поясните про микросевсисы в руби, бывают ли какие-нибудь системы управления с гуем типа сайдкик-веб? Чето пока для меня всё это выглядит как какой-то инфраструктурный пердолинг, должно же быть что-то по удобнее.
286 2516486
>>516460
чем ты управлять собрался, управленец)
287 2516515
В руби треде какой-то токс орудует.
288 2516672
>>516220

>Руби, блядь, как Ленин


Как говори Маяковский: "Ленин - жил, Ленин - жив, Ленин - будет жить!"
И Руби будет жить пока всю его синтаксис и семантику не перенесут на что-то более производительное, такие вещи как эликсир и кристал в общем-то показывают направление движения, но ресурсов для реализации нужно несопоставимо больше, как в более совершенном обществе будет построен коммунизм, так и на более совершенных технологиях будет построен Руби 4.0, главное не терять верный курс, товарищи!
289 2519698
Рубаны, как поставить rubyracer на m1? Неужели нужно все удалять и ставить rbenv в терминале через розетту? Чому все так плохо?
sage 290 2519875
>>519698
Сам отвечаю. Нужно ставить brew для i86 и устанавливать i86 версию rbenv и другие gem'ы С новыми гемами может все и хорошо, но со старыми есть проблемы
291 2521834
>>516672

> эликсир


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

> кристал


Уже лучше. Если только на сервере, то вообще хорошо (нужен целый ворох библиотек в рантайме, а со статической линковкой, как я понял, в LLVM-based везде всё очень грустно). Там вроде интерпретатор допиливают, чтобы на каждый чих в девелопменте не перекомпилировывать по часу.
292 2521836
>>521834

> чуть что - беги читать доки эрланга


что вполне логично, когда под капотом ERTS

>Да и в целом не представляю, как без ООП писать жирные системы


Зачем и кому ты пишешь тут о своих личных проблемах?
293 2521839
>>521836

> Зачем


Чтобы пообщаться.

> кому


Тебе.

Ты необщительный какой-то. Девку-то нашёл уже, или всё сидишь как сыч за компутатором?
294 2521855
>>521839
да и ты сгодишься
295 2522437
>>519698
Удаляй это говно и используй ноду. Если перекатиться на ноду будет невозможно (оно того стоит), то меняй работодателя, у тебя хуевая работа.
296 2522438
>>491101
Я есть.

Сейчас ТБС можно получить, а так у меня ещё есть SOLO (премиумка BoG) и кредо.

Сервисы платятся, про ограничения не знаю что сказать, я что-то краем уха слышал, что бог картами нельзя в нескольких странах по типу Бразилии платить (но это не точно).
297 2522451
>>522438
Братишка, я ОП, уже тоже в Грузии и с картами разобрался, так что тоже отвечу себе.
Получил обычную BOG мастеркард(уже в амазоне расплачивался, все работает), также зарегил ИП и открыл обычный и бизнес счет в TBC, ибо там сходу дают бизнес счет для людей без подтвержденной истории(выписка и договор) работы по ИП, а в BOG для бизнес счета обязательно подтверждать историю.
298 2522588
>>522437
Калоед, срыгос оформи из треда
299 2522782
Почему в Ruby не добавят нормальный компилятор, как в C# и Java? Вроде есть какой-то Crystal, можно перенести наработки оттуда.

Интерпретируемых языков как грязи, от Перла до Дарта. В основном эта ниша занята Python и JavaScript. А вот компилируемость спасла бы Ruby от вымирания.
300 2522843
>>522782

> Почему в Ruby не добавят нормальный компилятор, как в C# и Java?


Потому что это интерпритируемый язык, много магии делается в рантайме

>Интерпретируемых языков как грязи, от Перла до Дарта.


Dart может компилироваться в байт-код для VM как у жабы

> А вот компилируемость спасла бы Ruby от вымирания.


Нет, уходят больше не потому что руби какой-то не компилируется и медленный, это задача девопса поднять еще пару контейнеров с приложением на сервере. Основная проблема что руби теряет популярность это то что его основной фреймворк RoR устарел, в свое время он принес много нового, но сейчас большая часть этой магии нихуя не нужна, особенно с фронтендом, ActiveRecord нахуй не нужон поскольку он тормоз ебучий, да и много где можно обойтись без ORM вообще и многое другое.
Смысла использовать целенаправленно именно рельсы становится мало
301 2522875
>>522843

> ActiveRecord нахуй не нужон


похихикал с додика
302 2522934
>>522875
Для сферического в ваккуме круда в духе создали Dog с привязкой к User, поменяли ей буковки, удалили, показали всех собак хозяин и тп это самый топ. Как и сами рельсы, из консоли все сгенерировали в одну команду и CRUD готов.

Но как начинается что-то более сложное что то-то типа выводить хозяев собак которые были на площадке, когда хозяин id 100500 выводил срать свою собаку, отсортировать по дням, внутри дня отсортировать сначала собак с красным ошейником, потом по убыванию веса и выводить не больше 5 результатов за день. Примерно такое говно постоянно делал для отдела продаж и отправлял на почту эксельки раз в месяц/неделю
И ты сидишь и думаешь как бы этот запрос сделать правильным с точки зрения ORM и изобретаешь всякие нелепые конструкции которые под капотом делаются в какой-то там sql запрос, и люто бесит когда ты не можешь использовать фишки того же постгреса. Иногда запросом можно вытянуть большую часть данных в каком нужно виде без писанины кучи кода.
16692176411010.jpg329 Кб, 850x1076
303 2522947
>>522934
Поздравляю, вы только что хранимые процедуры.
304 2522968
>>522934
это edgecase, есть sqlviews
305 2522971
>>522947

>хранимые процедуры.


Только нахуя для них нужна ORM?
306 2523078
>>522875
но ведь он прав
307 2523083
>>522947
зачем хранимки? просто запросы в свободной форме, без ограничения под требования ORM
308 2523110
>>522843

>RoR устарел


>ActiveRecord нахуй не нужон


Изобрели что-то получше? Нужно больше конкретики, что за продукты, какие технологии, функционал?

>можно обойтись без ORM


Реально предлагаешь хардкодить SQL и без маппинга в объекты ебошить логику на сырые массивы из базы? Или что ты предлагаешь вместо ОРМ?
Стикер512x512
309 2523117
>>523110

>Реально предлагаешь хардкодить SQL и без маппинга в объекты ебошить логику на сырые массивы из базы? Или что ты предлагаешь вместо ОРМ?


Язык в котором есть структуры, вытащил из базы и записал в массив структур
310 2523163
>>523110

>что за продукты, какие технологии, функционал?



1. паттерн activerecord (берёт название от рубишного гема) делает каждую сущность объектом, что не совсем правильно. нахера делать entity.save ведь под капотом происходит db.save(entity). если убрать лишнее говно, вдруг окажется что сущности - это плоские структуры, что упрощает понимание всего.

2. он же смешивает слои приложения - уровень entity оказывается гвоздями прибит к уровню persistence, то есть ты просто перебирая коллекцию вдруг начинаешь ходить в базу, тут тебе и N+1, а если ты передашь коллекцию в html-шаблон - у тебя вдруг шаблон начнёт подсасывать из базы лол

3. паттерн uow (он есть в джаве в hibernate и пхпшном клоне - doctrine) - это большой оверхед

От orm нужны генератор миграций, конструктор sql-запросов и маппер ответов субд в сущности. остальное говно говна перегружает либо железо либо голову

Короче, в руби есть https://sequel.jeremyevans.net/ , в эликсире https://github.com/elixir-ecto/ecto . В экто вообще кстати нет проблемы N+1 by design, там запросы отдельно, данные отдельно просто потому что как я написал выше сущности - это просто структуры без капли логики.
16608517257490.mp41,8 Мб, mp4,
1024x576, 0:15
311 2523342
312 2523345
>>523163
Опять в треде гавно, продвигабщее DSL, pokekal
313 2523432
>>523345
хуясе ты треснул пополам
314 2523478
>>523163

>просто структуры без капли логики


Так и в чем смысл данных без логики? Вся фишка AR как раз в богатых возможностях для работы с данными, валидации, кооллбэки, удобным тестированием, полная поддержка ООП, инкапсуляция, полиморфизм, наследование, миксины. Пока ты будешь долбиться в db.save на каждый entity и рожать очередного архитектурного монстра с god-объектом, за это время ActiveRecord легко и непринужденно позволит описать любой бизнес-процесс, вообще не отвлекаясь ни на какой db.
315 2524275
>>523478

>в чем смысл данных без логики?


наглядность, очевидность, простота отладки, сериализации или отправки по сети

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



разница между validate(entity) и entity(validate)

> полная поддержка ООП, инкапсуляция, полиморфизм, наследование, миксины



ненужно

>ActiveRecord легко и непринужденно позволит описать любой бизнес-процесс, вообще не отвлекаясь ни на какой db



Активрекорд - это абстракция, связывающая вышележащий уровень (бизнес-логики) и нижележащий уровень (хранилище). Как и любая абстракция она покрывает лишь часть кейсов для вышележащего уровня и может использовать лишь часть возможностей от нижележащего уровня. ORM вообще и AR в частности - это инструменты быстрого прототипирования и перестают быть эффективными при нестандартной бизнес-логике или для хайлоада.
316 2524949
>>524275

>validate(entity)


Требуется сущность validate в неймспейсе, validate должен знать как работать с entity, которых могут быть сотни.

>entity(validate)


Для rails это entity.valid? - грамотно спроектированный вызов, скрывающий не интересующие детали реализации.

>перестают быть эффективными при нестандартной бизнес-логике


При нестандартной бизнес логике АР как раз помогает не скатить программу в архитектурного монстра, изолируя все сущности в своих файлах, четко прописывая связи между этим сущностями, и эти сущности не растекаются по абстракции как в случае c validate(entity), где validate должен содержать в себе логику для работы с каждый из entuty, а изолированы строго в своих файлах.
317 2527623
>>522451
Хуя ты шустрый кабанчик.
мимо два месяца в Армении, даже соцкарту не чесался получить
318 2528421
>>524949

>validate должен знать как работать с entity, которых могут быть сотни


Можешь писать валидатор для агрегата целиком. Агрегатор - это термин из DDD, иерархическое и логически связанное объединение энтити. Например ShoppingCart содержит в себе товары, каждый из которых связан с таблицей цен, и цена ещё может зависеть от региона покупки, и где-то там же болтается дисконтная программа, ну такое. Всё вместе это агрегат.
Причём дохвати фишку: главная сложность валидации - это не валидация длины строки, которая решается аннотацией, а кросс-энтити валидация, например "покупателю из Сызрани можно заказать не более трёх рубашек одинакового цвета дешевле 400 рублей каждая". Такую валидацию сложно сделать только в рамках одног объекта, потому что она будет лазить в несколько. Поэтому внешняя функция.

>Требуется сущность validate в неймспейсе


Это не проблема вообще, положи валидатор куда тебе надо и какой надо.

>Для rails это entity.valid? - грамотно спроектированный вызов


Честно, даже разбирать не хочу, что там спроектировано в rails, причины описал выше: как только валидация становится кросс-энтити - её приходится кастомить, и хорошо если AR-валидатор не мешает это делать, не хочется тратить силы на борьбу с грамотно спроектированными вызовами.

>изолированы строго в своих файлах


В небольшом проекте это часть решения, в большом - часть проблемы. AR подходит для быстрого прототипирования.
319 2529867
Подскажите, как в ruby подтянуть переменные окружения?
Есть конфиг-файл гитлаба gitlab.rb
Там задаются пароли и токены, типа
gitlab_rails['db_password'] = password

Как не писать их в открытом виде, а передать в виде линуксовых пременных окружения.
Пытался сделать так:
gitlab_rails['omniauth_providers'] = [
{
name: "google_oauth2",
# label: "Provider name", # optional label for login button, defaults to "Google"
app_id: "GOOGLE_API_KEY",
app_secret: "GOOGLE_APP_SECRET",
args: { access_type: "offline", approval_prompt: "" }
}
]
Но ruby не воспринимает их как переменные, говорит, что они не заданы.
В общем, хелпуйте аноны
320 2529976
>>529867
Переменная ENV, например ENV["GOOGLE_API_KEY"]

Господа не подскажете какой хостинг используете для Rails, чтобы идеи потестить?
321 2530093
>>529976
На любой vps ставить пуму и пердолишь капистрано. А если потестить, то ставишь докер и пишешь docker-compose
322 2530117
Привет, вопрос не по теме, но возник во время изучения рельс. Рельсы одной командой запускаются на локалхосте, правильно я понимаю, что если у пк белый айпи адрес, то можно без проблем запустить проект на общее обозрение?
И тогда вопрос зачем нужны веб сервера типа апача нгинкс и остальных? Я похоже не совсем понимаю схему работы, как правильно загуглить? Мне нужно не как работает интернет, а как взаимодействует рельсо приложение, руби сервер и сам апач / нгинкс
324 2530871
>>529867

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


Ну так и передавай.
https://ruby-doc.org/3.1.3/ENV.html
325 2531591
>>530117

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



рельсы - самодостаточный http-клиент
самым околосистемным уровнем является например passenger
дальше задействуется ruby rack
дальше уже сами рельсы

nginx/lighthttpd - это реверс-прокси. они принимают http-запросы на 80й порт и адресуют на этот же хост на порт например 8080, который слушает твоё рэйлс-приложение.

разница в том, что nginx
а) может проксировать трафик с нескольких виртуальных жостов, например site1.com -> порт 8080, site2.com -> 8081 итд
б) эффективнее раздаёт статику, например site1.com/account - обрабатывает твоё приложение, а site1.com/images - отдаётся напрямую
326 2531592
>>531591
в) на нжынкс проще навешивать ssl-сертификаты. а между nginx и твоим rails траф может быть не зашифрованным
image.png97 Кб, 900x434
327 2537703
Что означают круглые скобки внутри |(аргументов блока)|?

https://github.com/jenseng/hair_trigger/blob/64339cd0df77a837a6e3c53d667624ec9f24b385/lib/hair_trigger.rb#L90
image.png34 Кб, 862x146
328 2537709
>>537703
Как я понял, это когда в качестве аргумента туда должен прилететь какой-то объект, который встроенной магией можно разбить на несколько (а-ля a, b, c = [1, 2, 3]), и мы это делаем на лету? Вроде начинаю понимать, но хз, как по-человечески сформулировать. Впервые такую хуйню увидел. И не гуглится толком.
329 2537715
>>537709
Это называется деструктуризация и есть в куче языков.
330 2537716
>>537709
деструктурирование
331 2539370
Привет, тред.

Помогите, пожалуйста, с задачей.

Нужно в модуле создать метод класса, который возвращает количество объектов класса. И этот метод соответственно подключить к классу.

Если делать это просто в классе то все понятно, переменная класса и она в конструкторе инкрементится.

А в модуле как это сделать? Переменную класса объявить в модуле не проблема. А вот как сделать, чтобы она увеличивалась при создании объекта класса?

Задача по идее для новичков, поэтому вариант, которые предлагают тут кажется не подходят https://stackoverflow.com/questions/17497771/is-it-possible-to-override-initialize-in-a-ruby-module
Screenshot from 2022-12-13 01-10-57.png195 Кб, 1134x748
332 2539457
image.png515 Кб, 1024x1028
333 2539650
>>539457
загуглил
334 2539697
>>539650
Ну, это использует информацию от GC, оно не предсказуемо ибо сейчас у тебя живо 3 объекта, через секунду может быть 0(например на твоем скриншоте они не присвоены к переменными поэтому будут garbage collected.
Screenshot from 2022-12-13 13-59-31.png165 Кб, 1142x755
335 2539744
>>539697
Ну и мой код можно упростить добавив явный вызов в initialize
336 2539792
Сап, /pr/. Решил пойти на курсы по Ruby. Выбрал Thinknetica. Нормальная школа или параша?
337 2539796
>>539792
Пчеликус, зачем пиаришь это говно?)
338 2539813
>>539796
Я знал, что с этого начнётся) Братан, я вкатыш, хочу понять куда пойти учиться. Если можешь посоветуй что-то дельное, а не рофли
339 2539823
>>539813
Начни с базового туториала https://guides.rubyonrails.org
image.png62 Кб, 590x668
340 2544413
>>539457
>>539744
Кажется так работает
sage 341 2544414
>>544413

class A
include In
end

A.new
A.count
342 2544572
>>544413
Ага, это самый оптимальный вариант. Руби не мой основной язык, то что у модулей есть initialize я не знал.
D03DD105-EBD6-4B42-B935-814C4A6592A4.jpeg23 Кб, 390x390
343 2545428
есть ли у кого-то из вас пикча с фумо и с книгой пикрелейтед? буду крайне благодарен
344 2546286
>>537715
>>537716
Ну, в общем, принцип тот же, что и во множественном присвоении (в руби это через массивы работает ЕМНИП)? Просто иногда хрен разберёшь, где отдельная фича синтаксиса, а где какое-то логическое следствие из тех, что я уже знаю (типа head, *tail = array)
345 2546288
>>544572
Тут фишка именно в prepend. Это include, но в случае одноименных методов при препенде приоритет берут методы модуля, а при инклюде - непосредственно описанные в классе.

Можешь погуглить про ruby method lookup chain
346 2546294
>>539792
Ну нормальная, я был. Правда, не закончил, и потом всё равно сам допинывал. Вкатывался с полного нуля.

Начни сам с основ руби и основ rails (guides.rubyonrails.org тебе в помощь), это всё примерно везде одинаково подаётся и есть бесплатно. И если после этого застрянешь - тогда уже думай, какой платный курс брать.

Не знаю, как они поспевают за обновлениями. Когда я проходил, там скринкасты были где-то на год-два протухшие, в целом тогда было норм, но если не обновляли до сих пор - тогда фигня какая-то.
347 2546774
>>521834

>не представляю


Поюзай хаскель в проде, тогда поймешь.
Screenshot from 2022-12-21 19-53-19.png134 Кб, 1122x668
348 2548624
>>546288

>> Можешь погуглить про ruby method lookup chain



Ага, знаю про нее.
Тут можно и без препенда.
349 2548641
>>548624
А если ты в классе initialize опишешь, оно будет так же работать?
350 2548654
>>548641
Только если супер руками звать в нем. Либо можно препендить и звать супер в initalize модуля.
351 2548663
>>544572
Еще в чем руби меня удивил это то, что он не инициализирует base class по умолчанию.
Screenshot from 2022-12-21 20-27-50.png82 Кб, 535x438
352 2548665
>>548663
Второй пик не то прикрепил
353 2548826
>>548654
Если в классе будет initialize, без prepend работать не будет
Не помню уже - или не буде работать с параметрами
354 2548855
>>548826
Параметры можно форвардить в супер, а так да - препенд тут лучше подходит
355 2548911
>>548663
Что за IDE?
356 2549048
>>548911
repl.it
357 2552481
Что обычно делают со старыми migrations? Про schema не надо писать
358 2552922
>>548663
Какой ужас.
359 2553012
>>552481
Что значит "старые миграции" и зачем ты хочешь что-то с ними сделать?
360 2553167
>>553012
Блять, чел. Зачем ты задаешь вопрос, не ответив на мой? Если у тебя в проекте 1000+ миграций и добавляются еще миграции, что будешь делать???

Если кто-то новый начинает работатать над проектом, их все надо прогонять.
Если я переключаюсь между бранчами и иногда делают RAILS_ENV=test db:drop db:create.... чтобы восставновить schema это занимает время
361 2553220
>>553167
Возьми и сделай сквош миграций. Дропаешь старье и актуальную схему импортируешь. Джун за час такое тебе сделает.
362 2553388
363 2553419
>>553220
Это? Первый раз такое вижу
https://github.com/jalkoby/squasher
364 2553923
>>553167

>Зачем ты задаешь вопрос, не ответив на мой?


Это называется "уточнить что подразумевается в изначальном вопросе".

>Блять, чел.


Хамить маме своей будешь. Я знаю ответ, но не пошел бы ты на хуй.
365 2554029
>>553923
Какой же ты дегенерат, поссал на тебя, говно
366 2554072
>>554029
Зумерки вкатываются в рельсы. А говорят, что джунов не берут.

>Если я переключаюсь между бранчами и иногда делают RAILS_ENV=test db:drop db:create


Однажды ты поймешь, где здесь ошибка.
367 2554115
>>554072
Дебс, это хак чтобы постоянно не делать rollback. Делая на test, в dev остаются данные, но schema приводится к актуальному виду. Для тебя-додика дополню что в конце еще migrate
368 2554398
>>554115
Если ты такой "умный", зачем спрашиваешь? Больше тебе писать не буду, хамло трамвайное. Еще раз, иди на хуй.
Ты делаешь неправильно.
369 2554525
>>554398
Говно, спок. Ты предлагаешь грузить сразу из schema - это не ок.
Еще раз поссал на тебя
370 2554779
>>554525

>Ты предлагаешь грузить сразу из schema


Это твои собственные слова, нет, не предлагаю. Сука, вынудил таки ответить.
Обратно в /b, быдло.
371 2554816
>>554779
Чел, зачем ты тролируешь, если сам не знаешь ответа. А как тебя попустили, плачешь и кричишь "в b"? Это прям классЕка поведения шизика
372 2555095
>>553419
Что-то типа такого. Схему несложно руками импортировать, но проверьте что у вас чистая база без данных, или делайте вторую миграцию на импорт фикстур.
373 2555635
>>555095

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



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

Через drop create... на тестовой бд можно восстановить схему и использовать в dev(все данные в dev)
374 2556094
>>376685 (OP)
Существует нормальная полная обновляемая документация по Руби, с полным описанием языка и тонкостям программирования на нем? Дока на официальном сайте ужасная. Всего лишь небольшое введение в язык, справочники по апи, и зачем то куча устаревших книг и туториалов.
375 2556119
>>556094
Ишь чего захотел.
rwby.jpg93 Кб, 600x473
376 2556362
377 2556793
А я бы почти что нибудь про внутрянку руби, сишка, байтоёбство, алгоритмы, вот это всё, форкнул бы репу и переименовал всё на "Ряба" вместо руби, как майонез, и запилил бы статью на хабр про новый отечественный язык программирования.
378 2556875
>>556793
а rails назвал бы dresina?
sage 379 2556884
>>556875
или нет, лучше сам язык так назвать
380 2556930
>>556094
А чо нет-то. Прочитай книжку, как разберёшься с объектной моделью и метапрограммированием - в 95% случаев будет хватать АПИ доков с офффициального сайта.
381 2557420
Как понять что у модели прописано self.abstract_class
Не дожидаясь инициализации
382 2557714
>>557420
Прочитать файл

Ну или спросить у неё .abstract_class?
383 2557719
>>557714
Вкатун, спок. abstract_class буде nil до инициализации

Нужно без блока
after_initialize
image.png25 Кб, 518x181
384 2557727
>>557719
Я не понимаю, чего ты хочешь, и зачем тебе это? До инициализации чего, приложения?
385 2557752
>>557727

> Я не понимаю,


томушо ты вкатун

Если у тебя в ApplicationRecord есть хук inherited(base)
И в этом хуке тебе нужно узнать какие inherited classы являются abstract или найти среди них класс где объявлен определенный объявлен определенный private метод

у тебя base.abstract_class? будет показывать nil

можно прямо в inherited сделать after_initialize, то это не производительно для того что нужно
image.png339 Кб, 1966x1496
386 2557756
387 2557766
>>557752
Ты занимаешься каким-то извращением. Можешь попарсить ast, но вообще тебе нужно переформулировать задачу.
388 2557767
>>557752
Не представляю ситуации в которой понадобилось бы выяснять абстрактный класс или нет, у него даже метода save нет чтобы что-то с ним сделать, очевидно что это какой-то косяк в архитектуре если приходится такими проверками заниматься.

>>557756
И что? Ты сам-то пробовал что-нибудь сложнее хело ворлда отправить в браузер из раста? Мне кажется что нет.
389 2557770
>>557756
Там где нет dominant framework проект в говно превращается всего за пару лет разработки. Фреймворк где все включено конечно не гарантирует отсутствие говна, но куча микро библиотек 100% превращается в кучу говна за короткое время.
390 2557772
>>557752
Ты какой-то хуйнёй занимаешься, есть такое подозрение. У тебя там каждый день новые классы появляются, из которых половина - абстрактные? Захардкодь те, что абстрактные, да и всё.
391 2557774
>>557767

> Не представляю ситуации в которой понадобилось бы выяснять абстрактный класс или нет,



Ты слился, чел
392 2557776
>>557772
Блять, ок. Пусть в каждом классе есть приватный метод

def pidor
true
end

Нужно при инициализации приложения нати всех пидоров унаследованных от главного пидора active_record и выполнить какое-то действие. after_initialize do в self.inherited использовать нельзя

включайте маневры
393 2557777
>>557776
быстрофикс application_record *
394 2557778
Сразу для вкатунов поясняю

private_method_defined?(:pidor) не вернет true тк по факту еще нет инициализации
395 2557780
>>557752

>томушо ты вкатун


А то. Как раз когда смотрю на свой вкатунский код двухлетней давности, охуеваю от тонн динамической генерации говна, чтоб МЕТАПРОГРАММИРОВАНИЕ УУУ и АБСТРАКЦИЯ ООО и ЗАТО НЕ ПОВТОРЯЮТСЯ ТРИ ПОХОЖИХ МЕТОДА и плевать, что итоговое решение в два раза больше, чем эти самых три метода, а зачастую ещё и медленнее, и хуй поймёшь, что оно делает.
>>557776

>Пусть в каждом классе есть приватный метод


>Нужно при инициализации приложения нати всех пидоров


У тебя или с русским языком проблемы, или ты решаешь не ту задачу, что нужно решить.
ЯННП, но я серьёзно тебе говорю, невкатун, захардкодь просто, что бы там ни было.
396 2557781
>>557776

посмотри как работает сникерс что-ли
397 2557783
>>557780
Что захардкодить пчел?

Ладно. Мне нужно на основе нескольких правил, например абстрактный класс или класс-пидор заинклудить в каждый унаследованный класс кое-какие модули и добавить какие-то скоупы, вызвать какой-то метод внутри класса который унаследовал от application_mode

Какие-то классы нужно пропустить, какие-то выбрать, понимаешь?
Я могу создать список классов исключений, но их слишком много чтобы этим заниматься.
398 2557785
>>557778
Загрузить все константы через Rails.autoloaders.main.preload, дальше уже и штатные способы будут работать и всех наследников можно вытащить.
FGLRRCCUUAILpFk.jpg54 Кб, 750x737
399 2557794
Так, репортинг, заметил что если делать в initializer'e, то все достаточно быстро

Rails.application.config.after_initialize do
ApplicationRecord.descendants.each |d|
if d.abstract_class?
...

Я то делал все прямо в хуке application_controller
400 2557795
>>557794
application_record
sage 401 2557796
хотя есть еще нюансы(
image.png55 Кб, 808x294
402 2557799
В чём я не прав? Тут где-то есть говнокод, или норм?

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

Условная конструкция и raise exception немного смущают, но хз, как лучше.
sage 403 2557804
404 2557931
>>557799
А для чего нужна такая штука при assign? Разве есть в этом смысл?
405 2557932
>>557931
причина в комменте не очень аргументирована
image.png57 Кб, 171x200
406 2557941
Как считаете, сколько еще просуществует руби, если в rails начали хейтить dhh? Где обещанная strada?

Сколько лет еще тонуть будем?

Или все заебись?
407 2557942
>>557941
Чел, там уже нейросети код пишут, а ты всё думаешь о том, когда руби здохнет.
408 2557945
>>557942
Ведомый додик, спок
409 2557967
>>557931
>>557932
Ну у тебя есть точка POST /users

Передаёшь туда date_of_birth: "asdf", ошибка валидации, 422, "date of birth is not valid"

А передаёшь туда gender: "asdf", рантайм падает, 500, "oshibka nomer poshel nahuy"
410 2557970
>>557967
И происходит это до вызова save, то есть нормальную валидацию в модели на это не написать.
411 2557971
>>557967
Так для этого и создана валидация при сохранении в моделях?
412 2557972
>>557970
Можно сделать form_object, но если у тебя такое только в 1 месте, то ок
413 2558036
>>557799
Перехватывать все ArgumentError во всех контроллерах, парсить регекспом тело сообщения и вываливать на клиент сам экспшон - как-то не очень выглядит, лучше уж этим заниматься когда делаешь пермит параметров и падать оттуда в конкретных ситуациях несоответствия енума, по крайней мере это логичное место для таких ситуаций.
414 2559467
>>558036

> это логичное место для таких ситуаций.


по версии вкатуна
415 2561125
Прювет, двач. Делаю пет-проект, и надо сделать функцию асинхронных задач (пока ничего жёсткого, просто I/O bound задачи и таймеры, чтобы основной тред не занимало).

Есть смысл самому поковыряться и написать своё на ракторах? Или просто выдрать ActiveJob (заодно и сайдкик какой-нибудь можно будет прикрутить, если вдруг понадобится в будущем)? Просто я в асинхронщине ни бум-бум, только один раз с каким-то асинк гемом написал небольшой разгребальщик очереди в 10 тредах. Я получу ЦЕННЫЙ ОПЫТ, или нагеморроюсь больше?
416 2561205
>>561125
Для опыта пощупай sidekiq. У ракторов в мире рельсовых (и аналогичных) приложений назначение специфичное - выполнять сетевые пачку сетевых вызовов.

С таким на работе будешь развлекаться, если сильно (не) повезет.
417 2561206
>>561125
Для опыта пощупай sidekiq. У ракторов в мире рельсовых (и аналогичных) приложений назначение специфичное - выполнять пачку сетевых вызовов.

С таким на работе будешь развлекаться, если сильно (не) повезет.
418 2564420
А есть какой-нибудь гем, который проходится по объявленным роутам и расставляет комменты на экшонами контроллеров?

https://rubygems.org/gems/annotate_routes
https://rubygems.org/gems/annotate_controllers

Вот типа такого, только чтобы работало.
419 2564421
>>564420
https://github.com/mmichael0413/annotate_controllers/blob/master/lib/annotate_controllers/annotator.rb

Хотя я вот этот по диагонали посмотрел - вроде код написан, только у меня крашится. Можно форкнуть-починить.
420 2564427
421 2564601

> I wonder why this gem (or any gem like it) doesn't see development, seems like a useful tool to me.



Нафиг не нужны аннотации:
можешь смотреть роуты в консольке (либо пишешь свои rake таски для rpc/кастома)
либо в тестах как монкей пишешь полный урл и по нему грепаешь в поиске в редакторе.
422 2564738
>>564601

> можешь смотреть роуты в консольке


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

> либо в тестах как монкей пишешь полный урл и по нему грепаешь в поиске в редакторе.


Не понял. Каждый раз ходить в routes.rb, что ли? Там в нём до меня могли, например, наколдунить трёхэтажных заклинаний вместо простых resources и get "ыкс", to: "ыгрек"

> либо пишешь свои rake таски для rpc/кастома


Так зачем, если вот оно, один раз прогнал - и готово.
423 2564746
>>545428
Вообще дельная книга или как?
Английский на околонулевом.
424 2564894
425 2564964
>>564738

> Там разобраться невозможно даже с грепами и авками


Все разбирается, у тебя есть часть пути

> Не понял


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

> Так зачем, если вот оно, один раз прогнал - и готово.


конфликтики с тобой влом решать. При рефакторинге контроллеров комментарии будут ломаться, дублироваться.

Не используй комментарии, они устаревают. Градуал тайпинг можно, иде умная.

Рельса сама знает какой экшн ей нужно вызвать. Чтобы найти экшен тебе нужно не аннотации делать, а выбрать одно из трех мест куда воткнешься и что-либо там сделать. Вторым по сложности решением является логгирование в сервисах. Третьим - растормошить кишки рельсы, и вот я уверен что ты найдешь эти гемчики.
image.png288 Кб, 1320x742
426 2565648
Стоил ли вкатываться в пик? Полистал, там еще и typescript используют. Появилось ощущение что я что-то упускаю. На проекте до сих пор используют jquery и иногда какой-то старый react c class components.

Давно не открывал эти темы, но stimulus тыкал какое-то время назад
427 2565654
>>565648

> На проекте до сих пор используют jquery


Во-от пидарасы! Гвозди до сих пор молотком забивают. Все вокруг-то уже давно забивают пневмо-турбо-хаммером.
Мудаки вы, программисты, всё-таки. Ебёте мозга себе и людям.
Инструмент надо выбирать исходя из задачи, а не высирать новые ежегодно, старые выкидывая на помойку, и потом судорожно учиться с ними работать и перетаскивать старые проекты на новые...кхм.. рельсы.
428 2565688
>>565654
А что к остальному не докопался? Вот мне hotwire и turbostreams вообще не доводилось использовать. А если куда-то перекатиться и там будет такое в проекте ммм???
429 2565741
>>564746
При чем тут английский? Книга единственная, кроме старой макулатуры. Годная
430 2565743
>>565648
Да. DHH же сказал что RoR стал фреймворком одной персоны

Понятно что массово не скоро перелезут на Hotwire
431 2565805
>>565741
Спасибо, буду по ней вкатываться в руби
image.png162 Кб, 912x602
432 2565870
>>565743
dhh все предвидел
image.png139 Кб, 1394x282
433 2567186
>>545428
>>564746
>>565741
>>565805
Это так и есть или манямир автора?
434 2567198
>>567186
Так и есть. Тебе не нужны всякие циклы, когда есть map, filter, reduce и прочее говно
435 2567459
>>567186
>>567198
То что перечислено это больше для реальных задач, не?
А если решить подрочить на литкод, то там нужно
436 2567708
>>567459

> То что перечислено это больше для реальных задач, не?


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


Ну да. Сравни:
5.times do
puts "zhopa"
end

i = 0
while i <= 5 do
puts "zhopa"
i += 1
end

Или через в си-подобном варианте
for (i=0, i<5, i++) {
...
}

У тебя вылезает какой-то нахуй не нужный счётчик, и off-by-one ошибки (как в моём втором примере, например, спорим), зачем? Если можно просто декларативно написать "сделай вот это 5 раз".

На каком-нибудь литкоде, где ты ебёшься с ручными сортировками и прочим, этот самый i, может, и пригодится. Может, пригодится его увеличивать не на 1, а на какое-то другое число. Или уменьшать. А когда надо просто пройтись по массиву или сделать что-то икс раз - нет.

В данном конкретном примере, кстати, метод times может отдавать в блок этот самый счётчик, т. е. 5.times { |i| print i } напечатает 01234
437 2568116
>>475083
Написал плюсы, так напиши и минусы.
438 2568732
439 2568992
Есть какой то роадмап на рор?

Планирую тыкать с целью переката, за 2 месяца по своему стеку не нашел работы, мимо мидл
sage 440 2569141
>>568992
Пчел, а почему ты написал что мидОл, но не указал стек?
Почему считаешь что здесь будет лучше?

Может тебе оформить срыгос в говно или стать зеленой шарпомухой? мм?
441 2569618
>>567186
Итераторы же, но иногда применяют эту классику
for например в шаблонах короче, хотя это то же что и each

Ещё loop, но его обычно неправильно используют
image.png392 Кб, 2426x546
442 2570420
Хотите в 2001?
443 2570582
>>570420
В 2001 многие еще хер без соли доедали. Особенно в глубинке. А у кого-то в деревне батя проволокой подпоясовался вместо ремня.
444 2570856
Господа, макос топчик дев окружение для рэйлз или лучше на линукс? Думаю покупать ли макбук 16
image.png74 Кб, 3082x352
445 2571019
>>570856
С линуксом будешь перолиться. Во всяких гайдах больше инфы для мака.

Старые маки будут греться если использовать докер.
Купил 16, но пока что очень медленно перехожу на нее с 15 2015

Как-то задавал вопрос мистеру девиду - пик. Он вроде сейчас купил m2?
446 2571025
>>571019
Добавлю что на m1 сейчас есть нюансы так что может и тут пердолиться придется

я поставил 2 версии brew для arm/x86
Были кое какие проблемы с некоторыми гемами если ставить rbenv arm версию.
В итоге поставил rbenv для x86, его и использую

В этом плане старые маки лучше
447 2571043
>>571019
>>571025

спс бро

я как раз из за нюансов с m2 и сомневался

я девелоплю на линуксе 3 года на разных языках и чувствую себя на нем норм, но хочется купить мак ибо все без исключения PC ноуты выглядят эстетически омерзительно

в принципе на новых маках можно гонять в UTM арм версию убунту почти на нативном перфомансе, так что должно быть норм
image.png818 Кб, 1066x600
448 2571056
>>571043
Ну хингпады достойный вариант. После мака я бы рассматривал только их

ThinkPad X1 Nano
ThinkPad X1 Carbon
449 2571065
>>570856
А на сервере у тебя тоже MacOS будет? Linux однозначно
450 2571192
>>571056
Дороже мака и что особенного?
451 2571596
Анон который вот это писал https://2ch.hk/pr/res/766884.html#768534 (М)

Какое в итоге решение было с дисконнектом? Или это твой ответ про ssl?
image.png75 Кб, 1216x254
452 2571836
oh no
453 2571863
>>571836
Не умер! Повторяю, жив! Как Ленин, азаза
454 2571875
>>571863
Скоро они приползут на коленях обратно
455 2571876
>>571875
Да-а! Прямо как к перлу! Вы ещё узнаете его мощь!
456 2571879
>>571876
Ну и чем плох перл. На hh есть вакансии. Сотыгу платят
457 2572121
>>569141
Зачем мне го, это язык говна же

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

Но ладно, это мои манямечты все же
image.png166 Кб, 597x850
458 2573096
Я стану рубистом-джуниором во что бы то ни стало.

Уже прочетал 50 страниц вашей "топ книги". Пока всё нравится. До этого копался в пхп пару месяцев, стажировался в битрикс, но передумал в итоге.
459 2573113
>>573096

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


Ну и лох. Мог бы щас бабло зашибать, а не хуй сосать.
460 2573119
>>573113
Ты получается тоже лох, раз тут сидишь, ведь работы в руби НЕТ.
461 2573189
WSL2 достаточно для руби? Или надо ставить линупс все-таки?
462 2573240
>>376685 (OP)
помню с этим руби бегали, как сейчас с растом
и нахой кому сейчас эта залупа нужна
все нормальные, как кодили на PHP так и продолжили.
а восторженные ебанаты потратили время впустую
ничего нового.
463 2573256
>>573240
Почему впустую? Опыт на руби релевантен в любом другом динамикоязыке: пайтон, пхп, нода. Помимо них еще на эликсире приветствуют етот опыт. Что означает легчайший свитч на любой из них при необходимости.
464 2573338
>>573256
получается ты выучил это говно, чтобы потом быстрее выучить другое говно. А могу бы сразу учить то что надо.
И потратить сэкономленное время на получение опыта.
465 2573425
Программист хуже пидараса, право слово.
Хули вы мечетесь? Хватаются, блядь, то за один ящик с инструментами, то за другой, дружно учатся с ним работать, а потом бросают нахуй — всё, уже нимодненько.
466 2573527
>>573425
Вкатуны и нюфаги мечутся, боятся время своё драгоценное потратить не на тот язык, не дай бог прочитать не ту книгу и прослушать не тот видеокурс, вдруг еще голова устанет, и всё в пустую.
467 2573619
>>573527
И в чём они неправы? Ресурсы ограничены, а бабьки надо делать уже сейчас.
468 2573655
>>573619
С такой мотивацией лучше в 1С.
469 2573661
>>573655
Расскажи про свою мотивацию. Спрашиваю без подъёба.
На 1С почему-то принято смотреть свысока, хотя на поверку оказывается, что свысока смотрит крудошлёп или того хуже — джаваскрипт-макака. А туда же.
470 2573961
>>573661

>Расскажи про свою мотивацию. Спрашиваю без подъёба.


Учился в айтишном вузе, там с мотивацией попроще - сдавай лабы или тебя отчислят, а если отчислят то поедешь в армию, в конце обучения нас всех отправили работать на местный завод и я вытачивал там детали на станке, в процессе этой деятельности познал прелесть и красоту языков программирования.
471 2574337
>>573961
Всё так плохо или это от ВУЗа зависит?
472 2574346
>>573189

> WSL2 достаточно для руби?


Да.

> Или надо ставить линупс все-таки?


Да.
473 2574349
>>573240
Скажите честно: кто из вас читает высеры мелкобуквенных даунов, а потом ещё и отвечает на них? Нахуя вы это делаете? Они от этого начинают думать, что их мнение кому-то интересно, и продолжают срать в публичных местах.
474 2576643
Анон, какой взять модный простецкий фреймворк, чтобы небольшую апишку написать?
475 2576695
476 2576704
477 2576713
478 2576837
>>576704
Не стоит с этого начинать. В любом случае возникнут проблемы, а у sinatra уже есть ответы если гуглить
479 2577121
>>576837
Автор в goolge groups часто отвечает и ребята помогут,
а псинатра что-то не очень
480 2577580
>>577121
Он один этот проект поддерживает. Что будет когда сфидит
Screenshot7139.png403 Кб, 578x656
481 2578958
Приветствую анчоусы. Вопрос такой. Сам руби без рельсов на что нибудь годится? Ну типа когда то же его япошка создавал для каких то целей. Это потом ему рельсы приделали. Или сейчас руби без рельсов деньги на ветер?
482 2579186
>>578958
Так, чтобы за зарплату - да, особого смысла нет. В FOSS есть пара проектов без rails (homebrew/linuxbrew, metasploit), ну можешь ещё всяких ботов писать на фрилансе.

Наверное, есть какие-нибудь вакухи, где ты сервисы на синатре пердолишь. Или где руби в проекте - скриптовый язык уровня питона или луа. Но там по-любому нужно будет знать всякий обвес технологий помимо руби. Да и даже там, если ты скажешь, что пишешь на руби без опыта в rails, могут подумать, что ты странный какой-то, небось, проституток расчленяешь ещё.
483 2579301
>>579186
Печально все это. А Синатра это разве не упрощённая версия рельс? Все что пишешь ручками в синатре уже прописанно в папках рельс. Смысл от этого рудимента?
484 2579308
>>579301
Пчел, ты рудимент этого треда. Срыгос оформи
485 2579324
>>579301

> Все что пишешь ручками в синатре уже прописанно в папках рельс


Да, только в синатре это можно не прописывать, если оно тебе не нужно. Да и не в папках, а в гемах.

> Смысл от этого рудимента?


Чтобы быстрее реквесты обрабатывать, например.
486 2585123
My dudes, как в рейлз принято проверять валидность параметров которые из запроса в контроллер прилетают? Допустим в контроллере мне нужны params[:other] и params[:other], принято проверять их в контроллере перед тем как скармливать в модель или специфицировать ограничения в модели в виде валидаций и тупо скармливать nil в модель(если параметров нет) и ожидать ошибки от модели?
487 2586546
>>585123
My dude, ты точно с рельсами работал хотя бы на уровне туториала из официальной документации?

https://guides.rubyonrails.org/getting_started.html#using-strong-parameters

>принято проверять их в контроллере



Да. Контроллеры как раз и существуют для обработки реквестов/респонзов.
488 2587172
>>585123

> или специфицировать ограничения в модели в виде валидаций и тупо скармливать nil в модель(если параметров нет) и ожидать ошибки от модели?


Второе.

book_params = params.permit(:author_id, :title)
book = Book.new(book_params)
if book.save
# всё ок
render json: book, status: :created
else
# в author_id пришёл nil, title пустая строка или nil и т. д.
render json: book.errors, status: :unprocessable_entity
end

Вот это типичный код контроллера в вакууме, все ошибки в модели.
>>586546
Хуйню ляпнул, strong params - это про то, какие именно параметры ты принимаешь, а не проверка их на наличие или валидность.

> My dude, ты точно с рельсами работал хотя бы на уровне туториала из официальной документации?


Но вот это метко заметил.
489 2587195
>>585123
На самом деле по-разному можно:
есть гем rails param: https://github.com/nicolasblanco/rails_param,
есть dry-validation: https://dry-rb.org/gems/dry-validation/1.8/

Вот пример: https://danielshow.dev/posts/dry-validation-for-validating-ruby-on-rails-controller-params/
111.png136 Кб, 1036x883
490 2587230
>>585123
Я этот, отвечаю всем

>>586546

>> My dude, ты точно с рельсами работал хотя бы на уровне туториала из официальной документации?



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

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

пример

представь я спросил бы "куда в рейлз совать бизнес логику"
и ты бы мне в ответ кинул
https://guides.rubyonrails.org/active_record_basics.html
где написано что она должна жить в модели:
"layer of the system responsible for representing business data and logic"
и сказал бы мне что я не читал туториал, в то время как я не только туториал читал но и еще несколько вариантов знаю, типа service objects или hexagons например

>>587172
А вот этот dude написал более полно

>>587195
А этот еще полнее

А сам я просто пилю себе проект для прикола и написал себе модуль Monadic где лежит реализация Either монадки, только заместо Right/Left у меня Ok/Error и контрол флоу идет через блок(см пик)
491 2587334
>>587230

> братишк я знаю о стронг параметрах


> поэтому уточняю -


Пошли маневры
492 2587597
Сама рельса генерирует обработку параметров в том же скаффолде, приватный метод в контроллере - _params с require и permit входящих атрибутов, потом этот _params передается в модель, сама модель не может делать пермит, потому что не знает откуда приходять данные, например прилетит от клиента поле created_at - оно же валидное, но от клиента таких полей приходить не должно, иначе клиент перезапишет дату создания записи, значит их нужно фильтровать еще до передачи в модель, то есть в контроллере.
16715512282911.jpg427 Кб, 1125x1282
493 2590651
Сап, я начал учить ruby и RoR фреймворк с абсолютного нуля (но имея опыт веб разработки и фундаментальные знания)

Я выучил и освоил этот функционал из списка:

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) +

Планирую выучить и это:

Another web server out of puma (Nginx)
Another database out of sqlite (mariadb\mysql)
RBAC
Flash errors
Sessions
unit tests
Active storage

И почитать вот что:

API quick look
security aspects
best practices

ЧТО ЕЩЕ Я ДОЛЖЕН ОСВОИТЬ, ЧТОБЫ ДОБАВИТЬ rails и ruby в свой CV без угрызений совести, чтобы гарантировать знания мидла?
16715512282911.jpg427 Кб, 1125x1282
493 2590651
Сап, я начал учить ruby и RoR фреймворк с абсолютного нуля (но имея опыт веб разработки и фундаментальные знания)

Я выучил и освоил этот функционал из списка:

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) +

Планирую выучить и это:

Another web server out of puma (Nginx)
Another database out of sqlite (mariadb\mysql)
RBAC
Flash errors
Sessions
unit tests
Active storage

И почитать вот что:

API quick look
security aspects
best practices

ЧТО ЕЩЕ Я ДОЛЖЕН ОСВОИТЬ, ЧТОБЫ ДОБАВИТЬ rails и ruby в свой CV без угрызений совести, чтобы гарантировать знания мидла?
494 2590870
>>590651
Бро, выучить и почитать это ок. Есть кое что поважнее. Рекомендую написать проекты и реально понять что ты выучил.
495 2590924
>>590870
Так я сделал проект бложика для реализации написанного с целью обучения. И некоторые моменты именно для обучения, потому как удаление всех комментов в очередь и бэкграунд процесс ставить не нужно, или мне вовсе не нужен таск выводящий список статей в терминале для крона. Все написанное я правда реализовал же.
496 2590983
>>590651
Это ты где и как осваивал интересно

RSpec и все потроха нему: Factory Bot, Shoulda Matchers, etc.

И довольно, а там вкатунить или что-то пилить и видно будет чего не хватает
497 2591145
>>590924
Молодец бро. Могу порекомендовать еще сам язык ruby(без rails), рефакторинг кода, дизайн паттерны.
498 2591320
Какие паттерны чаще всего используются/вы встречали в рельсовых приложениях? Про сервис обжект и репозитории я уже знаю.
499 2593996
>>590983

>RSpec и все потроха нему: Factory Bot, Shoulda Matchers, etc.


Спасибо

>Это ты где и как осваивал интересно


Ну я имею многолетний опыт коммерческой веб разработки, все фреймворки примерно одинаковый функционал несут, если основаны на mvc, то написание простого crud приложения тянет за собой 80% задач в повседневной жизни, также я понимаю, что может быть нужно дополнительно - вынести что-то в систему очередей, к примеру, или иметь какой-нибудь скрипт для запуска по крону, повторяющийся код вынести в хэлпер файлы или закрутить наследование или что-то уровня concerns модулей в моделях. Вот я сам себе написал этот список, что выше в другом посте, но т.к. я понимаю, что особенности у фреймворка или языка могут быть свои особенные, то решил спросить и тут.

А зная другой язык программирования, достаточно понять синтаксис нового, т.е. я же не с нуля вкатываюсь, мне не надо учить основы или элементарные вещи, я заню что такое массивы или операторы ветвления, регулярные выражения и прочее, мне не надо изучать базы данных и системы кеширования, я знаю, допустим, как работает redis, мне надо было просто нагуглить, как работает redis библиотека в ruby и врубиться в это за 10-20 минут, а не за несколько часов или дней, не зная про кеширование вовсе, зачем и когда это приеняют, что такое хайлоад и нагрузки на бд и прочее, что нарабатывается годами.

Теперь по источникам:

Я очень в восторге от видео freecodecamp на тытрубе, если мне что-то надо освоить, то я ищу видео там от этих ребяток. Обычно, крутые ребятки с крутых известных контор там говорят что-то емкое и кратко. А иногда бывают малоизвестные ребятки с неизвестных контор малого масштаба, тем не менее, если видео одобрено сообществом, значит оно крутое, обычно. В общем, для меня freecodecamp - показатель качества за малый объем времени.

Я посмотрел два видео:

1. https://www.youtube.com/watch?v=t_ispmWmdjY - основы руби (рекомендую в шапку добавить) от каких-то неизвестных чуваков.

2. И половину видео по рельсам - https://www.youtube.com/watch?v=fmyvWz5TUWg&t=7950s (мне видео показалось не очень, хотя авторы видео вроде как из известных контор, потому как половину видео от мною просмотренного там натягивают бутстрап, т.е. совсем для малокомпетентных), т.е. я не досмотрел до конца даже,

3. после чего я пошел на https://guides.rubyonrails.org/ и начал с getstarted, потом почитал кратко, гугля, то, что мне надо для остального, реализовав это в качестве примера простых задач для себя.

Т.е. многолетний опыт и освоенные фундаментальные знания + полтора видео (6 часов) + чтение официальных доков на rubyonrails.org - несколько часов Почему, кстати, у вас нет в шапке треда ссылки на официальные доки? + гугл со вставками кода со стековерфлоу и примерами его и вот я написал бложик уровня б.

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

В общем, я ковырял руби совакупно около недели по пары часов в день, начав с 4-х часового видео, на которое ушла вся ночь с паузами на кофе и осмысливание услышанного и с отвлечением на прочий интернет, до этого я работал с ним тоже, т.к. он есть в проекте по работе, но без серьезных задач, из простых, из разряда добавить post параметр в массив или сгенерировать pcks7 ssl ключ с gem библиотекой, но я, можно сказать, более менее плотно начал изучать это неделю всего назад. Такие дела.

На пикче 3 разных способа создания комментария через ActiveRecord, к примеру, понятно, что в жизни использовался бы первый вариант, остальные два "для обучения", мол, записать напрямую в бд через модель другим способом, или третьим. Т.е. я немного игрался еще с этим со всем. А как иначе учить? Чтобы что-то выучить, нужно начать писать, параллельно учить. Всегда так делаю. Такие дела.
499 2593996
>>590983

>RSpec и все потроха нему: Factory Bot, Shoulda Matchers, etc.


Спасибо

>Это ты где и как осваивал интересно


Ну я имею многолетний опыт коммерческой веб разработки, все фреймворки примерно одинаковый функционал несут, если основаны на mvc, то написание простого crud приложения тянет за собой 80% задач в повседневной жизни, также я понимаю, что может быть нужно дополнительно - вынести что-то в систему очередей, к примеру, или иметь какой-нибудь скрипт для запуска по крону, повторяющийся код вынести в хэлпер файлы или закрутить наследование или что-то уровня concerns модулей в моделях. Вот я сам себе написал этот список, что выше в другом посте, но т.к. я понимаю, что особенности у фреймворка или языка могут быть свои особенные, то решил спросить и тут.

А зная другой язык программирования, достаточно понять синтаксис нового, т.е. я же не с нуля вкатываюсь, мне не надо учить основы или элементарные вещи, я заню что такое массивы или операторы ветвления, регулярные выражения и прочее, мне не надо изучать базы данных и системы кеширования, я знаю, допустим, как работает redis, мне надо было просто нагуглить, как работает redis библиотека в ruby и врубиться в это за 10-20 минут, а не за несколько часов или дней, не зная про кеширование вовсе, зачем и когда это приеняют, что такое хайлоад и нагрузки на бд и прочее, что нарабатывается годами.

Теперь по источникам:

Я очень в восторге от видео freecodecamp на тытрубе, если мне что-то надо освоить, то я ищу видео там от этих ребяток. Обычно, крутые ребятки с крутых известных контор там говорят что-то емкое и кратко. А иногда бывают малоизвестные ребятки с неизвестных контор малого масштаба, тем не менее, если видео одобрено сообществом, значит оно крутое, обычно. В общем, для меня freecodecamp - показатель качества за малый объем времени.

Я посмотрел два видео:

1. https://www.youtube.com/watch?v=t_ispmWmdjY - основы руби (рекомендую в шапку добавить) от каких-то неизвестных чуваков.

2. И половину видео по рельсам - https://www.youtube.com/watch?v=fmyvWz5TUWg&t=7950s (мне видео показалось не очень, хотя авторы видео вроде как из известных контор, потому как половину видео от мною просмотренного там натягивают бутстрап, т.е. совсем для малокомпетентных), т.е. я не досмотрел до конца даже,

3. после чего я пошел на https://guides.rubyonrails.org/ и начал с getstarted, потом почитал кратко, гугля, то, что мне надо для остального, реализовав это в качестве примера простых задач для себя.

Т.е. многолетний опыт и освоенные фундаментальные знания + полтора видео (6 часов) + чтение официальных доков на rubyonrails.org - несколько часов Почему, кстати, у вас нет в шапке треда ссылки на официальные доки? + гугл со вставками кода со стековерфлоу и примерами его и вот я написал бложик уровня б.

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

В общем, я ковырял руби совакупно около недели по пары часов в день, начав с 4-х часового видео, на которое ушла вся ночь с паузами на кофе и осмысливание услышанного и с отвлечением на прочий интернет, до этого я работал с ним тоже, т.к. он есть в проекте по работе, но без серьезных задач, из простых, из разряда добавить post параметр в массив или сгенерировать pcks7 ssl ключ с gem библиотекой, но я, можно сказать, более менее плотно начал изучать это неделю всего назад. Такие дела.

На пикче 3 разных способа создания комментария через ActiveRecord, к примеру, понятно, что в жизни использовался бы первый вариант, остальные два "для обучения", мол, записать напрямую в бд через модель другим способом, или третьим. Т.е. я немного игрался еще с этим со всем. А как иначе учить? Чтобы что-то выучить, нужно начать писать, параллельно учить. Всегда так делаю. Такие дела.
500 2594003
>>591320

>паттерны


>>591145

>паттерны.



Меня, кстати, закидают камнями, но я не считаю правильным программировать паттернами, нужно реализовывать что-то не уходя от архитектуры основной приложения, а вот модели внутри этой архитектуры можно реализовывать так, как проще или быстрее, безопаснее.
Снимок экрана от 2023-01-31 04-45-11.png36 Кб, 589x281
501 2594051
>>590983

>RSpec


Вот, посмотрел видео: https://www.youtube.com/watch?v=3ku89naLPg8 потом глянул бегло официальный сайт, установил gem, но не заводилось с bundle exec rspec file.rb или с rspec file.rb из терминала, ругался на то, что не может найти require файл. Я пол гугла переискал и видео по 2 раза пересмотрел отрывками, в итоге запускать тесты надо было с "rails spec", я бегло глянул основные expectations тут: https://relishapp.com/rspec/rspec-expectations/v/3-12/docs/built-in-matchers, в итоге у меня есть результат обучения и ссылка, где я могу быстро посмотреть ожидания полностью, попив кофе, чтобы начать писать тесты, если понадобится.
502 2594149
>>594051

>установил gem


Какой? В rspec-rails описана установка, в которой генерируются хелперы со всеми необходимыми require, емнип.
503 2594165
>>593996

> высрал гору ненужного текста


анимедаун, спокуху оформи
504 2594375
>>594149

>В rspec-rails описана установка, в которой генерируются хелперы со всеми необходимыми require, емнип.



Да, я запускал rails g rspec:install и у меня был файл rails_helper, но если запускать rails spec - он require видит, а если rspec или bundle rspec - нет. Я пару часов не мог понять почему не работает, пока не запустил через rails spec.
1674990054958794-int.jpg596 Кб, 1696x1752
505 2594380
>>594165

>гору ненужного текста


Я внес разнообразие в ваш тред из двух человек, принес пару полезных видео, мог бы и потерпеть пару прилагательных с речевыми оборотами уровня б.
506 2594700
>>594149
>>594375

Вот пруфы. Это было не очевидно, я пару часов мозги сломал за ночь, думая, какого хрена не заводится, но с кодом при этом все нормально, не знаю почему, но работает только через rails. Код тот же
507 2594821
>>591320
Ну Presenter, например. Когда у тебя во вьюхе надо отобразить что-то со сложной логикой, ты вытаскиваешь это всё из вью и модели в презентер и рассчитываешь в нём это всё. А в самой вьюхе для каждого куска информации вызываешь на нём метод - все методы модели он направляет к модели.
16668980656741.jpg364 Кб, 960x1280
508 2595152
Паренек добавил одни кавычки и символ доллара в фильтрацию и получил 500 баксов от разработчиков, признание и уважуху. и баг висел 8 лет при этом, как я понял из видео

https://www.youtube.com/watch?v=yYTkLUEdIyE
509 2595652
>>595152

>и баг висел 8 лет


Руби не умер, повторяю не умер.
510 2595728
>>595652
Ну там, скорее, способ был известен 8 лет, руби разрабочики прочли через неделю после обращения к ним персонально и пофиксили. Тем не менее, получается, 8 лет был уязвим фреймворк.
image.png404 Кб, 1356x738
511 2595830
пиздато в 2006
512 2596304
Такие дела.
513 2596314
>>596304
В телеграм-канал из шапки, главное, не заходи. И в чат тамошний ничего не пости. А то манямирок твой сломается.

На этих сайтах по поиску работы какая-то своя атмосфера, то вышку требуют, то на собесах дрочат алгосами, то ещё что-то, ни разу там ничего не находил. Успешно получалось только в LinkedIn и этом канале.
514 2596323
>>595152

> ВОСИМЬ ЛЕТ!! 1!1!1

image.png103 Кб, 1296x721
515 2596812
Как правильно валидировать вложенные ресурсы, которые создаются в коллбэках? И надо ли вообще создавать их в коллбэках?

Вот такие советы какие-то пиздец костыльные, имхо проще уже в контроллере создавать этот пост и там же строить жсон с ошибками
https://stackoverflow.com/questions/39404435/rails-validates-associated-and-error-messages

Скрин для грубого примера, там ещё у поста ошибка будет из-за пустого user_id, но суть вы поняли, думаю
516 2596820
>>596812
А, вот, вроде работает:

errors.merge!(post: post.errors)
517 2596917
>>596812

>Как правильно валидировать вложенные ресурсы, которые создаются в коллбэках?



Ну создавай модели, повторяющийся код, который нужен для валидации в каждой модели, - выноси в модули.
изображение.png4 Кб, 307x57
518 2596920
Это вот в роутингах:
изображение.png4 Кб, 307x57
519 2596923
Это вот в роутингах
sage 520 2596952
https://2ch.hk/pr/res/2596950.html (М)

Проснулись-перекатнулись
Тред утонул или удален.
Это копия, сохраненная 30 марта 2023 года.

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

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