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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 133 4 53
Эликсиротред 3 /elixir/ Аноним 27/12/24 Птн 17:53:13 3351068 1
17071530905803.png 1007Кб, 1500x1500
1500x1500
Здравствуй, дорогой анон.

Предыдущий: >> 2954172

Сегодня хочу рассказать тебе о прекрасном функциональном языке для написания неубиваемых распределённых систем, а более конкретно вебни на бэке, больших soft-realtime систем, IoT говен и оперденей. Называется он Elixir, а работает он на виртуальной машине real human BEAM, на которой ещё работает язык Erlang.

Немного истории

Эликсир это современный язык, построенный поверх языка Erlang с блекджеком и лисповыми макросами. У этих языков полный интероп в обе стороны, но при этом эликсир лишает вас этого удовольствия написания. Сам язык Erlang появился в компании Ericsson как язык для написания максимально отказоустойчивых телекоммуникационных систем. Именно из желания создать среду для написания максимально отказоустойчивых систем появились все основные фичи.

Основные фичи

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

⚹ Ахуенно приспособлен к разработке распределённых систем. Все основные проблемы написания распределённых систем вроде сихнронизации монотонных часов, общения между машинами, поиска машин, heartbeat-ы, группы процессов, gossip-ы уже включены в язык.
Любая достаточно сложная распределённая программа содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Erlang. (с)

⚹ Ахуенно приспособлен к разработке отказоустойчивых систем. Что делают кубы, когда падает сервис? Они перезапускают его. Эрланг делает то же самое, только не с сервисами, а с процессами, и это значит что неожиданное исключение в одной части функционала никак вообще никак не заденет другой функционал. Гоферы пытаются достичь того же с помощью микросервисов, а в Elixir такой функционал изкоробки.

⚹ Ахуенный тулинг. В отличие от эрланга с его хэдерами, makefile-ами и прочими пыльными приколами, эликсир за секунды позволяет создать проект, скомпилировать его, сконфигурировать его, собрать артефакт, скачать зависимости и всё такое в стандартах всех современных языков. Серьёзно, местный билдтул (mix) гораздо лучше чем забугорские cargo, npm, go и gem.

Нахуя

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

Я хочу спать по ночам. Как вкатиться?

Чтобы успешно найти работу на эликсире, нужно уже иметь некоторый опыт разработки за деньги и понимание того какое же говно это ваше ойти. Желательно от одного года в вебе. Самый быстрый способ обучения это в то же время и самый эффективный способ, поэтому синтаксис и стандартная либа постигается вот тут
https://elixirschool.com/ru

Более подробное описание внутренностей, хороших практик и хитростей стандартной либы описывается вот тут. Тут будет эрланг, но это не должно быть проблемой
https://learnyousomeerlang.com/

Конкретно вебня на эликсире
платно: https://www.amazon.com/Programming-Phoenix-1-4-Productive-Reliable/dp/1680502263
бесплатно: https://hexdocs.pm/phoenix

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

Рыночек

Средняя температура по больнице зарплата у эликсирщика традиционно больше чем у любого друогого языка как минимум в два раза, поэтому поменять голанг или питон на эликсир будет выгодно. Вакансии на рынке РФ существуют, искать можно на hhрю или в чатиках в телеге t.me/proelixir. Забугорных вакансий значительно больше и они охотно нанимают разработчиков с опытом. Самое важное качество при найме это не знание самого языка, а софт-скиллы и общее понимание веб-разработки как таковой, так что придётся социализироваться.

Вопросы?
Аноним 27/12/24 Птн 19:01:51 3351126 2
Радует что кто-то сохранил старую шапку.
Аноним 27/12/24 Птн 22:07:02 3351204 3
>>3351126

Я её написал, я её и сохранил. Правда я не осилил ссылку на предыдущий тренд, но в архиваче, так что похуй
Аноним 27/12/24 Птн 22:34:48 3351213 4
samokat-rabota-[...].png 142Кб, 948x460
948x460
главный спонсор треда в СНГ
Аноним 28/12/24 Суб 11:46:46 3351459 5
Здравствуйте!
Я - Elixir разработчик.
Это моя профессия.
Так сложилось исторически.

Когда-то я разработал Erlang.
Теперь это язык поддерживающий параллельные легковесные процессы и асинхронность.
Теперь на нём удобно разрабатывать распределённые системы.
Теперь на нём написан RabbitMQ.

Я разработал OTP.
Этот фреймворк я применил про разработке огромного разнообразия высоконадёжного телекоммуникационного оборудования.
OTP стала неотъемлемой частью экосистемы Erlang.

Я разработал BEAM и ERTS.
Вместе они позволяют коду на Erlang эффективно распараллеливаться и надёжно выполняться на разных узлах распределённой системы.

Я обогатил Erlang метапрограммированием и полиморфизмом создав новый язык Elixir, который можно применять везде!

Я создал Phoenix.
Фреймворк с отличной производительность и масштабированием объединяющей в себе всё необходимое для веб разработки.

Да, я - Elixir разработчик!
И я устал извиняться за это...
Я разработчик по праву рождения.
Я проектирую и имплементирую.
Бойтесь!
Аноним 28/12/24 Суб 20:15:54 3351874 6
>>3351459
>Теперь на нём написан RabbitMQ
... единственное ПО на эрланге, используемое за пределами эрланг мира.
Аноним 29/12/24 Вск 10:44:13 3352098 7
>>3351068 (OP)
Работу то реально найти на этом? Желательно за далары.

мимо джанго пистон макака
Аноним 29/12/24 Вск 17:11:35 3352291 8
>>3352098
>Работу то реально найти на этом?
Нет, конечно же.
Аноним 30/12/24 Пнд 05:41:23 3352663 9
>>3352098

Да, реально. За доллары сильно проще чем не за доллары. На ~5к можно рассчитывать если миддл. Если сеньор, то как добазаришься, тут нет верхней планки, средняя это 7-10к где-то.
Аноним 31/12/24 Втр 09:17:35 3353294 10
а как вы без типов живете? меня вот заебал фронтенд (из за конченных дебилов фронтендеров западных с которыми я не хочу работать в одной компании) хочу свитчнуться на какой-нибудь сложжный язык который любят программисты, хаскель учил но судя по всему вакансий по нему особо нет, на элексире вроде есть вакансси, скалу не хочу потому что там вроде как джаву надо знать, раст не хочу потому что мне кажется он душный какойто
Аноним 31/12/24 Втр 09:31:50 3353301 11
>>3353294
Раст не сложный язык. Сложный язык это С++ (сложность не в синтаксисе а в понимании всех нюансов использования).
Аноним 31/12/24 Втр 09:33:58 3353303 12
>>3353294
о нихуя буквально год назад начали типы добавлять в язык. ну все, походу я к вам в лодку запрыгиваю
Аноним 31/12/24 Втр 09:34:31 3353304 13
>>3353301
раст не сложный а душный, мне комьюнити чето не нравится растовское и скандалы какие то вокруг актикса итд
Аноним 31/12/24 Втр 10:39:31 3353317 14
>>3353304
>мне комьюнити чето не нравится растовское

Двачую. От них ощущение что раст - это вообще самое сложное что они осилили в этой их ит-жизни. И теперь они носятся с ним как с писаной торбой

Это явно хреновый признак. Такое же за яваскриптунами ещё замечал, лет 15 назад
Аноним 31/12/24 Втр 11:37:35 3353330 15
>>3352663
Где искать вакансии? LinkedIn или еще что-то есть?
Аноним 31/12/24 Втр 13:50:11 3353418 16
>>3353317
Патаму что это одни и те же люди
Аноним 23/01/25 Чтв 11:05:55 3369795 17
>>3353330

Ещё чатик в телеге. Ещё сайтик elixirjobs. Ещё elixirforum. Иногда особо одарённые ищут в твитторе
Аноним 23/01/25 Чтв 17:47:34 3370278 18
>>3351068 (OP)
На нём только для сетей чё-то пишут? Или бэкенд тоже?
Аноним 25/01/25 Суб 00:31:53 3371474 19
>>3370278
Вебмакака как всегда неспособна рассматривать технологии иначе чем через призму пригодности для написания крудов.
Аноним 26/01/25 Вск 11:31:05 3372575 20
>>3370278

Из того что я видел в вакансиях это бэкэнды, вебсайты (любые, от ecommerce до стриминга видео и приложений), телеком, сервисы, брокеры, ML, нейросети, IoT, алготрейдинг, боты в телеге

Ну ты примерно понял
Аноним 26/01/25 Вск 19:09:36 3373039 21
>>3372575
Ясно. Кароч гиковский язык для нитакусей.
Аноним 27/01/25 Пнд 09:18:37 3373375 22
> Вопросы?

Да какие тут вопросы, ещё более мёртвая вещь чем Ruby и Rails
И явно не для вкатунов, не представляю как на нём работу искать, очень редко на hh может мелькнуть вакансия
Аноним 28/01/25 Втр 14:23:35 3374606 23
>>3373375

> И явно не для вкатунов

И почему это плохо?

> не представляю как на нём работу искать, очень редко на hh может мелькнуть вакансия

Так и не ищи на hh. Elixir это не про работу в РФ. Выше скинули сайты, где надо искать работу, и там дохуя вариантов на любой вкус и цвет
Аноним 28/01/25 Втр 16:47:10 3374808 24
Screenshot20250[...].jpg 483Кб, 1080x2117
1080x2117
>>3351068 (OP)
>Вакансии на рынке РФ существуют, искать можно на hhрю или в чатиках в телеге t.me/proelixir.
Десяток вакансий за последний год. Да на дельфи работы больше.
Аноним 29/01/25 Срд 02:53:47 3375145 25
>>3351068 (OP)
Вау, прикольный язык так-то оказывается. Чисто пофаниться можно смены в 1с вечерком, идеальный варик.
Аноним 31/01/25 Птн 12:12:19 3377093 26
>>3374808

Не все постят с хэштегом, смотри в закрепе в сообщениях. Ну и да, разрабов-то тоже мало, поэтому норм что вакансий мало
Аноним 31/01/25 Птн 21:58:59 3377565 27
>>3377093
Хочу с нуля вкатиться. Шансы?
Аноним 01/02/25 Суб 20:37:29 3378516 28
>>3377565
Ну какие шансы, очнись
Там нулевых нет, придётся и за предыдущий опыт пояснять
Аноним 02/02/25 Вск 23:27:21 3379302 29
>>3377565

Elixir это не язык для вката. Вкат это про JS, Python и Java
Аноним 06/03/25 Чтв 23:28:05 3403265 30
Эликсир это база, сынки.
Аноним 11/03/25 Втр 14:04:22 3406487 31
>>3351068 (OP)
Хочу сделать табличку, в которую клиенты компании будут ходить и смотреть данные из нашей БД. Чтобы была сортировка, фильтрация по столбцам, поиск, выбор колонок и т.д.
С одной стороны хочется, чтобы писать кода надо было минимум, потому что люди, которые будут это в будущем поддерживать, скорее всего, далеки от современной веб-разработки. С другой хочется, чтобы всё было прозрачно, а не спрятано за кучей слоёв фреймворка, чтобы мне одному проще было в этом разобраться.

Собственно, я придумал только два варианта:
1) Elixir + Phoenix LiveView. Не уверен, насколько мало надо писать в итоге кода, но выглядит как то, что мне нужно. Проблема в том, что кроме меня в эликсире вряд ли кто-то захочет разбираться.
2) Go. Просто в тупую получать запрос и генерить HTML в ответ. Максимально прозрачно, но много кода. Зато если что, разрабов будет проще найти.

Есть ещё какие-то варианты?
Аноним 12/03/25 Срд 10:02:12 3407237 32
>>3406487
Это дохлый тред, если ты не понял.
> Зато если что, разрабов будет проще найти.
Я бы на твоём месте отталкивался от этого. Эликсир, кмк, язык отличный, но слишком нишевый, чтобы с ним можно было уверенно экспериментировать в профессиональной среде, потому как сотрудников ты действительно не найдёшь.

Забеги на elixirforum.com, там достаточно лояльное сообщество, спроси про свои беды. Тебя направят, помогут определиться.
Аноним 12/03/25 Срд 19:52:46 3407653 33
>>3407237
> Это дохлый тред, если ты не понял.

Дохлая это твоя мать


>>3406487
>Проблема в том, что кроме меня в эликсире вряд ли кто-то захочет разбираться.

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

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

https://hexdocs.pm/kaffy/readme.html
https://hexdocs.pm/torch/readme.html
Аноним 27/04/25 Вск 22:40:59 3441484 34
Здравствуйте. Хочу для себя, обучения ради обучения, потыкать эликсир и переписать свою программу на питоне на Elixir. Изначально на питоне хотел сделать прототип, чтобы переписать потом, но так уж вышло, что сделал полноценную программу, но цели всё равно достигнуть хочу. Так вот, программа запускает отдельные процессы через multiprocessing, которые могут работать сутками, а то и больше, общение идёт через mutliprocessing.Pipe через мои "сообщения", если угодно, а именно датаклассы с параметрами разными. Хочу попробовать переписать на эликсир её. Подходит ли этот язык для таких "долго работающих" задач и удобное ли взаимодействие с этими процессами, отслеживание упало/не упало, обработкак ошибок, запросы по сети делать на сайты, доступ к БД, файлой системе?
Аноним 27/04/25 Вск 23:46:05 3441520 35
Хочу сделать запуск процедур по расписанию точково (как scheduled сообщения в телеге) - как это сделать в эликсирчике с фениксом?
реббит с scheduled tasks плагином не варик так как оно сносно работает только с датами в скором будущем + потенциально проебывать некоторые запуски не оч хорошо поэтому нужна запись в базу
Аноним 28/04/25 Пнд 09:04:36 3441632 36
>>3351068 (OP)
Если оформлять вкат в эликсир здорового человека - по-хорошему нужно освоить эрланг для начала? 5 лет назад внезапно столкнулся на работе с эрлангом, рефакторил старый сервер, было сложно пердолиться, но парадигма языка запала в душу с тех пор. С элексиром я так понимаю карьерные перспективы становятся кратно выше.
Аноним 29/05/25 Чтв 17:27:59 3465281 37
>>3441484
> Подходит ли этот язык для таких "долго работающих" задач и удобное ли взаимодействие с этими процессами, отслеживание упало/не упало, обработкак ошибок, запросы по сети делать на сайты, доступ к БД, файлой системе?

Да, подходит больше чем Elixir, с ним не нужны хаки типа multiprocessing, не нужнен ебучий async/await, просто пишешь как обычно пишут на Elixir и всё асинхронность и многопоточность будет из коробки

>>3441520
> Хочу сделать запуск процедур по расписанию точково (как scheduled сообщения в телеге) - как это сделать в эликсирчике с фениксом?

Лучше всего через job queue какой-нибудь. Или можно на коленке: класть в базу что нужно в такое-то время отправить сообщение. и вешать Process.send_after. На старте и, например, раз в день, читать из базы и обновлять таймеры

>>3441632
Отдельно учить Erlang не нужно, он сам учится в процессе освоения Elixir, различия будут только в не очень важных деталях типа там синтаксиса и немного других модулей. Кароче, учи сразу Elixir и не парься. Работы на Elixir больше, это факт, особенно если ты джун/миддл. На Erlang работа есть только для очень опытных, и чаще всего в легаси проектах
Аноним 29/05/25 Чтв 17:29:19 3465282 38
>>3465281
> Да, подходит больше чем Elixir
Больше чем Python, я имел в виду.

В питоне нет многопоточности и асинхронности нормальной. В Elixir это всё сильно проще и удобнее
Аноним 29/05/25 Чтв 20:04:50 3465371 39
>>3465282
>В питоне нет многопоточности
Есть.
>и асинхронности нормальной
Есть.
Аноним 30/05/25 Птн 00:46:29 3465523 40
>>3351068 (OP)
Я попросил нейросеть написать сервис на ерланге и то же самое на эликсире. Если в эрланге есть математическая красота, то эликсир какой-то всратый, будто эрланг измазали джаваскриптом. Впрочем, вкатиться импосибл в оба, на рынке полторы вакансии с требованиями 5+ лет опыта.
Аноним 30/05/25 Птн 07:39:24 3465565 41
>>3351068 (OP)
>Чтобы стать джуном на эликсире
Все равно, что пытаться найти работу на Erlang, Haskell или OCaml. Смысл лезть в полумертвые языки, где тулинг, библиотеки и фреймворки остановились в развитии на уровне начала 00-х годов? Тут даже на популярном стеке проблематично найти работу, что уж говорить о такой экзотике
Аноним 30/05/25 Птн 09:09:20 3465580 42
>>3465565
>даже на популярном стеке
Как раз во всякой дохляди должно быть проще, потому что там не то что волков и упругих зумеров, там вообще желающих с этим возиться даже предпенсионного возраста хуй найдёшь. Поэтому на такое обычно берут всех, кто не совсем тупой, имеет хоть сколько-то серьёзный опыт (пусть даже сраных петпроектов) и замотивирован развиваться дальше.
Аноним 30/05/25 Птн 10:07:03 3465611 43
Мне недавно попался gleam, по доке понравился. Оссобено его аналог do синтаксиса для монад. Только отсутствие if, в пользу match true false -> шиза. За erlang, elixir не разбираюсь, просто gleam в beam таргетится. Может у ветеранов акторных войн есть мнение.
Аноним 30/05/25 Птн 10:54:26 3465661 44
>>3465580
>там вообще желающих с этим возиться даже предпенсионного возраста хуй найдёшь
Это либо переписывание интернет магазинов с руби он реилс на эликсир и феникс, либо, если мы говорим про эрланг, то в 99% случаев это телеком где эрланг вообще сбоку и нужен как клей для модулей на сишке. Вакансий так же полторы штуки и залетные нахуй не нужны. Окамл хз где используют кроме как в джейн стрит где от него потихоньку отказываются. Скала сдохла. Хаскелл тупо академическая залупа. Была вакансия в тиньке даже, но там искали яйцеголового любителя фп, чтобы он какой-то рулер писал для кредитования. Еще в барклейс искали хаскеллиста. Это настолько нишевая и точечная хуйня, что желающих попасть будет побольше чем на какой-нибудь гоулэнг, т.к. у тебя рили вакансий - раз два и обчелся
Аноним 30/05/25 Птн 17:10:49 3466114 45
>>3465371
Асинхронности нормальной нет. async/await уже весь мир, включая самих питонистов, признал как полный кал. Посмотрите на Elixir, Go, Java, Rust, там везде нормальные гринтреды/csp.

Многопоточности нет. multiprocessing это хак, который с async/await никак не интегрирован. А многопоточные wsgi серверы это позор уровня PHP. Например, если у меня один процесс будет набит работой, а другой будет пустой, то рантайм автоматически их не сбалансирует и не распараллелит, а это надо будет делать разработчику
Аноним 30/05/25 Птн 17:12:23 3466116 46
>>3465523
> на рынке полторы вакансии

Это в РФ, смотри Европу и США, там охотно нанимают на релокейт из любых концов мира. На моём проекте больше половины разрабов это СНГ и Индия/Китай (примерно поровну каждых). Спрос на разрабов есть
Аноним 30/05/25 Птн 17:15:32 3466117 47
>>3465565
> тулинг, библиотеки и фреймворки остановились в развитии на уровне начала 00-х годов

Ну тут ты не прав. У Elixir пиздатейший тулинг, тот же mix, например, сильно удобнее чем даже cargo. А фреймворки, посмотри на Phoenix, например. Они первыми сделали LiveView, там очень сильный PubSub, вот сейчас завозят PhoenixSync, который типа eventually consistent database sync сразу на клиенты.

Библиотеки тоже на любой вкус. Пиши что тебе нужно, я подскажу либу
Аноним 30/05/25 Птн 17:19:29 3466119 48
>>3465661
> Это либо переписывание интернет магазинов с руби он реилс на эликсир и феникс

Нихуя, я думаю на Elixir e-commerce вообще не очень популярен. Большая часть проектов на Elixir это всякие интерактивные вебсайты, стриминги, чатики, какие-нибудь бэкенды. Ещё Elixir в IoT и ML присутствует

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

Это было правдой лет 20 назад, когда всё писали на C/C++ и мультитрединг там был очень душный, поэтому параллелили через Erlang. Сейчас на Erlang есть и телеком, и вон много всякой IO-bound хуйни пишут типа EMQX, бд типа CouchDB, тот же RabbitMQ. Но сейчас уже Erlang и правда больше легаси и вытесняется Elixir-ом
Аноним 30/05/25 Птн 17:22:18 3466121 49
>>3465611
Gleam норм тема. Пока что он слишком сырой для прода, там не хватает экосистемы и всякие моменты внутри языка пока ещё не готовы (вроде статической типизации акторов).

Поэтому это риск, ведь не факт что Gleam успеет обрасти экосистемой раньше чем у Elixir появится статическая типизация.
Аноним 30/05/25 Птн 18:34:26 3466160 50
>>3466117
>PubSub
Не нужен. Все системы на шине событий превращаются в говно.

>eventually consistent database sync
Оу май гад соу мач базворд ориентед девелопмент!
Вангую все закончится еще одним KV хранилищем, снова.
Аноним 31/05/25 Суб 07:08:01 3466446 51
>>3466117
>Ну тут ты не прав. У Elixir пиздатейший тулинг
Хотя бы IDE нормальную завезли уровня IntelliJ IDEA?

>Библиотеки тоже на любой вкус
Кто из крупных игроков вкладывается в развитие тулинга и библиотек/фреймворков в эликсире? Именно крупные компании, которые разрабатывают и поддерживают эти решения, а не ноунейм пердольки, которые выпукивают свои поделки на гитхаб
Аноним 31/05/25 Суб 07:12:23 3466447 52
>>3466119
Последний раз, когда я тыкал Эрланг, там даже нормальной поддержки со стороны IDE не было. Фанатики убеждали меня, что IDE это фу-фу и норм писать в обычном текстовом редакторе, временами переключаясь в терминал и пытаться скомпилировать код, чтобы получить сообщения об ошибке и затем идти обратно в редактор, чтобы их пофиксать. Про интеграцию со всякими дебагерами, запуском приложения и т.д. и т.п. я не говорю - этого нет
На эрланге все саксесс сторис которые я видел это демонвейр с их сервером для калловдути и прочие поделки из мира телекома где эрланг вообще сбоку и нужен тупо как клей. С приходом гоулэнга и клауд нейтив в виде контейнеров и кубера эрланг нахуй выкинули.
А эликсир это как раз попытка влезть на поляну руби и рор с его интернет-магазинами и сайтами визитками
Аноним 31/05/25 Суб 22:40:30 3466819 53
>>3466446
> Хотя бы IDE нормальную завезли уровня IntelliJ IDEA?

Ты из каменного века пришёл? В твоём мире колесо изобрели или пока нет? Какие нахуй IntelliJ IDEA, ты ебанулся? Весь мир пишет весь код в VSCode или Cursor, которые тупо пользуются language server-ом (для эликсира такой есть)

> Кто из крупных игроков вкладывается в развитие тулинга и библиотек/фреймворков в эликсире? Именно крупные компании, которые разрабатывают и поддерживают эти решения, а не ноунейм пердольки, которые выпукивают свои поделки на гитхаб

Нихуя не понял как это с качеством связано. Я смотрю на Java и вижу что там много корпоративного кала, который меняется от версии к версии и нихуя стабильного там нет. И я смотрю на Elixir, где есть куча качественного софта, большинство из которого крутится в реальных продах и ежедневно улучшается этими компаниями
Аноним 31/05/25 Суб 22:42:55 3466822 54
>>3466447
> А эликсир это как раз попытка влезть на поляну руби и рор с его интернет-магазинами и сайтами визитками

Не знаю, может из того тугого очка, откуда ты на мир смотришь, так и кажется, но у меня дохуя лет опыта в экосистеме и это нихуя не так. Хочешь саксесс стори на Elixir? Дискорд. Дальше продолжать или может хотя бы погуглишь прежде чем здесь писать своё ахуенно полезное мнение?
Аноним 31/05/25 Суб 22:46:22 3466827 55
>>3466160
> Не нужен. Все системы на шине событий превращаются в говно.

Это не про шину событий, а про PubSub, типа как MQTT, только без стороннего сервера, а прям внутри системы. Очень удобно, так как тупо оптимизирует весь поллинг в местах, где нужен синк всяких вещей которые меняют разные клиенты (типа там чатов или стримов или чего-то такого)
Аноним 31/05/25 Суб 22:48:31 3466828 56
>>3466160
> Вангую все закончится еще одним KV хранилищем, снова.

Мимо родной, почитай хотя бы доку. Суть PhoenixSync такая: ты можешь считай подписаться на SQL запрос в постгрю. Ты типа этот запрос шлёшь в базу и тебе возвращается бесконечный стрим, внутри которого лежат все изменения по этому запросу. Пока что оно работает только на очень тупых запросах и плоских таблицах, но в целом это считай автоматическая инвалидация кэшей. Где ты такое ещё видел?
Аноним 01/06/25 Вск 02:19:31 3466889 57
>>3466819
>Весь мир пишет весь код в VSCode или Cursor, которые тупо пользуются language server-ом (для эликсира такой есть)
Очевидно, ты не понимаешь, что такое IDE и поддержка языка программирования в нем. Твой вскод обычный текстовый редактор. lsp вообще не решает проблем про которые я говорил. Автокомплит, поиск по коду и прочие интеграции в вскоде не реализованы
Аноним 01/06/25 Вск 06:16:18 3466907 58
>>3466827
> Очень удобно,
Представил картинку с ртом в говне.

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

Лучше бы они придумали что-то чтобы эликсир в си компилировался. Вот это полезно.
Аноним 01/06/25 Вск 06:23:47 3466908 59
>>3466828
Иными словами, дергаем запрос по кд. Зумеры изобрели поллинг.
Аноним 01/06/25 Вск 23:31:01 3467345 60
>>3466119
>Но сейчас уже Erlang и правда больше легаси и вытесняется Elixir-ом
Тут проблема даже не в том, что он легаси, сколько в том, что и Erlang, и Elixir очень нишевый и на них очень мало проектов создаётся. Чисто в сравнениюю с проектами на том же Python, которых в тысячу раз больше.

>>3466908
>Иными словами, дергаем запрос по кд. Зумеры изобрели поллинг.
Дык это не полинг, это пушинг.
С другой стороны, я согласен, что шина событий и централизированные KV-зранилища — это ебаный рак. Каждый раз, когда кто-то делает распределённую систему, выпрыгивает тимлид-архитектор и орёт "нужно централизованное ACID-complaint хранилище, по best practice". Какого хуя вообще в Elixir делает постгря? Вот что хотелось бы спросить.
По сути писание системы на Elixir+Phoenix+PostgreSQL делает её заменой для Ruby+RoR+PostgreSQL — "заменой" в том плане, что Ellxir намного быстрее и масштабируемее. По производительности и модели выполнения оно ближе к Go+Gin+PostgreSQL при том допущении, что у вас один хуй централизированная параша, а отдельные распределённые сервисы вы будете оркестрировать каким-нибудь кубернетом.
Аноним 02/06/25 Пнд 20:56:12 3467915 61
>>3466889
> Автокомплит, поиск по коду

Реализованы. Прочие интеграции это какие? Дебаггер есть в elixir-ls. Интеграция с iex есть в VSCode через плагин. Ты по сути-то напиши, что тебе нужно
Аноним 02/06/25 Пнд 21:02:37 3467921 62
>>3466907

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

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

Пошёл нахуй из треда обратно на питоне писать
Аноним 02/06/25 Пнд 21:55:09 3467941 63
>>3467921
Мой аргумент в том, что этот кал идёт по пути развития пхп - прямо нахуй в бездну. Вместо допиливания реально важного - быстродействия, занимаются какой-то хуйней.
Аноним 02/06/25 Пнд 22:46:32 3467975 64
>>3467941
Ты меня заебал, я тебя в другой тред послал, потому что ты пишешь хуйню про которую вообще нихуя не знаешь. Реально, твоё мнение будет очень ценным в тредике про питон или по какому там ещё игрушечному языку ты осилил "введение для чайников" прочитать. Сюда свои высеры не пиши.

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

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

Во-первых, PubSub-ом для Phoenix и разработкой рантайма занимаются совершенно разные люди. Это вещи разного уровня, внутри там разные технологии, совершенно разная экспертиза требуется.

Во-вторых, про быстродействие, в релизах OTP регулярно происходят оптимизации. С того как в OTP 24 появился JIT, каждую версию они его допиливают, вводят статическую типизацию на уровне Core Erlang (один из IR-ов), чтобы JIT генерировал как можно более быстрый нативный код.

В-третьих, твои набросы на PubSub это просто постная хуйня. Если ты не знаешь как пользоваться PubSub-ом и в каких задачах его применяют, то ты автоматически идёшь нахуй. Конечно, ебать, если ты на PubSub писал движок для сетевой видеоигры, ты насосал хуёв c PubSub-ом, но ты их насосал не потому что PubSub хуйня (он как раз не хуйня), а потому что ты долбоёб конченный применил технологию там, где она нахуй не нужна и для чего она не подходит. Если у тебя между ушей сейчас какие-нибудь две клетки мозга замкнутся, я думаю ты поймёшь что я имею в виду, но, к сожалению, шансы очень нахуй не велики
Аноним 02/06/25 Пнд 23:21:31 3467995 65
>>3467975
> Ты меня заебал, я тебя в другой тред послал,
Ещё мочератору поплачь что в твоём треде срут и постят неприятное, хех

> Во-первых, PubSub-ом для Phoenix и разработкой рантайма занимаются совершенно разные люди.
Ага, так же как дистры хрюникса пишут разные люди которые не могут хоть как-то собраться и найти компромисы. Итог очевиден.

> С того как в OTP 24 появился JIT,
> вводят статическую типизацию на уровне Core Erlang (один из IR-ов),
А ясно, вопросов больше не имею. Дебичи думают что они такие же гении как в гугле с их V8. Типы нужно на уровне языка внедрять, какими угодно способами, чтобы не пилить безумное говнище на жите которое совершенно точно работать не будет.

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

> Если у тебя между ушей сейчас какие-нибудь две клетки мозга замкнутся, я думаю ты поймёшь что я имею в виду, но, к сожалению, шансы очень нахуй не велики
Уверен, ты уже замечал какие-то неприятные моменты в пабсабе, именно по этому у тебя так разорвалась твоя говноедская жопа. Ты знаешь что я прав, а ты поел говна.
Аноним 03/06/25 Втр 01:33:55 3468061 66
>>3467995

Начнём с того что ты писал что надо сделать компилятор в C. Эта хуйня уже была для Erlang (до R1 версии, если я не ошибаюсь) и работало ультрахуёво из-за того что разные компиляторы и под разные системы компилируют совсем по-разному и из-за того что это было тупо медленно, так как было две компиляции вместо одной. И ещё была такая система как HiPE, которая AOT компилировала в натив через LLVM, и это тоже был кал. Так что тут ты проебался и нихуя знаешь

Далее, ты написал что типы не внедряют. Но под Elixir и Erlang есть статическая типизация в виде Dialyzer (она unsound, чисто чтобы банальные ошибки ловить) и есть ещё проект который в процессе с полноценной статической типизацией для Elixir. А, ну и есть Gleam, который уже со статической типизацией. Оп-па, ты и тут проебался и нихуя не знаешь.

Дальше про PubSub ты какую-то хуйню пишешь. На PubSub пишут не только в Elixir, есть ещё MQTT, есть всякие платные аналогичные сервисы от cloud-провайдеров типа AWS SNS и аналогов, и есть ещё дохуя других PubSub решений. Люди на MQTT-брокерах делают заводы на IoT платках, которые заменяют успешно заменяют заводы на которых работают как раз такие долбоёбы вроде тебя. И пока ты тут пиздишь что это PubSub это ненужный кал, люди используют PubSub решения и гребут бабки лопатой. И даже здесь ты проебался.

В итоге, в каждой хуйне, которую ты тут высирал, ты был фактически не прав. Не то что бы это были какие-то открытые вопросы, и у нас было разное мнение, а это были тупо факты, которых ты не знал, и тупо кукарекал в моём тредике. Поэтому я и прошу тебя съебаться нахуй отсюда и не ебать тут адекватным людям мозги своими высерами
Аноним 03/06/25 Втр 02:22:33 3468063 67
>>3468061
Заорал нахуй с завода на пабсабе! Ебало инженера представили который ходит по цехам и пытается понять интерфейсы каждого устройства, потому что документация немного не в порядке.
Пиздец ты фантазёр-дегенерат, братишка.
Аноним 03/06/25 Втр 02:28:47 3468064 68
>>3468061
Алсо, ты не понимаешь что пабсаб вообще не предназначен для заводов, потому что нужна надёжная доставка сообщений и логирования, а это ломает всю парадигму пабсаба - низкую связанность. Это классически архитектурный проёб от долбоёба на архитекторе. Видимо ты даже не писал никогда на пабсабе, если этого не понимаешь.
Не буду утруждать тебя размышлениями, а то ещё умнее станешь.
Аноним 03/06/25 Втр 03:52:30 3468068 69
>>3468064
Пиздец как мимо ты пишешь, родной. Почитай про MQTT и основные места его применения. Доставка бывает достоверной, а бывает надо собрать данные со 100500 различных датчиков, и вот тут и используют MQTT. Опять же, у тебя очко шире чем кругозор. Ты меня просто заебал своей поверхностной хуйнёй
Аноним 03/06/25 Втр 11:37:44 3468206 70
>>3468068
>MQTT
>Доставка бывает достоверной
Ладно, так и быть, раскрою немного секретов необразованцу-фантазёру. Backpressure. Думай теперь.
Аноним 03/06/25 Втр 14:58:05 3468328 71
>>3468206

Что backpressure? Ты понимаешь что такое датчик? Это микромаленькая одноплатная хуйня на 50кб памяти, которая может послать сообщение по UDP, но не может сохранить в памяти больше чем 2 сообщения. Какой нахуй backpressure в IoT

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

Опять же, ты проёбываешься буквально в каждой хуйне, которую пишешь.
Аноним 03/06/25 Втр 17:29:14 3468452 72
Стикер 0Кб, 512x512
512x512
Аноним 03/06/25 Втр 17:43:24 3468461 73
>>3468452

Discord переписывают два небольших алгоритма на Rust чисто для работы с мутабельной shared-memory и из-за этого все остальные 99.9% кода перестают быть Elixir-ом?

Ты ахуеешь, но рантайм языка и многие встроенные модули (типа crypto) написаны на C. Как и, например, Nx это один большой NIF. Получается нет ни одной программы чисто на Elixir?
Аноним 03/06/25 Втр 18:16:39 3468485 74
>>3468461
По факту история повторяется с эрлангом. Элексир используют как клей для модулей на других языках
Аноним 03/06/25 Втр 18:24:36 3468488 75
>>3468485

Что значит клей? Elixir более высокоуровневый язык чем C или Rust, конечно. Я бы даже сказал что он более высокоуровневый чем Java, C# и даже Python. Но даже эти же C#, Java, Python очень часто используют нативный код в том или ином виде (как минимум openssl). Но это не значит что эти языки это клей для C, потому что большая часть кода и логики там всё равно на высокоуровневом языке.

В случае с дискордом, там Rust-а очень мало. Если Elixir это клей для Rust, то хули у них клея в сотни раз больше чем Rust-а. По твоей логике можно сказать что C в юзерспейсе это клей для системных вызовов, а операционная система это клей для драйверов, а драйвера это клей для ассемблера. Кароче, нихуя нормального по твоей логике не получается
Аноним 03/06/25 Втр 19:36:40 3468550 76
>>3468328
> промышленные iot
> 50кб памяти
Ясно. Вопросов больше не имею.
Аноним 03/06/25 Втр 19:39:19 3468553 77
>>3468461
>Discord переписывают два небольших алгоритма на Rust чисто для работы с мутабельной shared-memory и из-за этого все остальные 99.9% кода перестают быть Elixir-ом?
Там переписали 2 ключевых для перформанса участка. Потому что вся эта концепция с отсутствием разделяемой памяти, работает на узком класс задач типа телекома. А в большинстве обычных задач разделяемая память нужна. Тебе уже правильно сказали, в этой задаче эликсир просто клей. При желании они могли бы питон использовать для этого.
Аноним 03/06/25 Втр 21:11:59 3468611 78
>>3468553

Родной, ты вообще статью прочитал? Твои высеры никак к аргументу что 99.9% бэка у них на Elixir не относятся и ему не противоречат.

Переписали два алгоритма на раст и ускорили свою систему. И что дальше-то? О чём это говорит? О том что Rust компилируется в zero-runtime натив, а у Elixir есть рантайм? Нихуя себе, вот это ты мне глаза открыл ебать.

А дальше-то что? Какой вывод? Что Elixir клей? Ну, ебать, если систему где весь код на Elixir кроме 300 строк на Rust, ты классифицируешь как "Rust — ядро, а Elixir — клей", то о чём с тобой вообще говорить-то нахуй. Если так, то я вообще удивлён как ты на клавиатуре тогда по кнопочкам попадаешь
Аноним 03/06/25 Втр 23:26:03 3468698 79
>>3468611
>Родной, ты вообще статью прочитал? Твои высеры никак к аргументу что 99.9% бэка у них на Elixir не относятся и ему не противоречат.
Мудило! 99% это твоя больная фантазия, они пишут про
>One big project
У них вообще зоопарк языков https://github.com/orgs/discord/repositories?type=all от С++ до Скалы.


>Переписали два алгоритма на раст и ускорили свою систему. И что дальше-то? О чём это говорит? О том что Rust компилируется в zero-runtime натив, а у Elixir есть рантайм? Нихуя себе, вот это ты мне глаза открыл ебать.
Дебил, ты бы прочел о чем там вообще пишут:
>how we update the Member List
Там личерали речь идёт о приложении которое обслуживает список пользователей в канале. Понятно, что структура которая хранит и управляет этим списком, это главное, что влияет на перформанс приложения, о чем собственно статья и говорит.

>А дальше-то что? Какой вывод?
Эликсир нишевый продукт, который мало кому уперсы.

>о чём с тобой вообще говорить-то нахуй. Если так, то я вообще удивлён как ты на клавиатуре тогда по кнопочкам попадаешь
Дебил удивляется, что с его тупым мнением не согласны. Только на двачах, без регистрации и СМС.
Аноним 04/06/25 Срд 00:16:51 3468722 80
>>3468553
>Там переписали 2 ключевых для перформанса участка. Потому что вся эта концепция с отсутствием разделяемой памяти, работает на узком класс задач типа телекома. А в большинстве обычных задач разделяемая память нужна. Тебе уже правильно сказали, в этой задаче эликсир просто клей. При желании они могли бы питон использовать для этого.
После такого градуса хуйни троль обычно отправляет в игнор. То есть тут настолько лютейшая хуета и некомпетентность в каждом предложении, что я даже не ебу, о чем разговор продолжается.
Ладно если человек мало понимает в предмете и старается понять, но этот ведь даже не старается.

Вы просто засираете тред своим спором.
Аноним 04/06/25 Срд 00:42:26 3468730 81
>>3468722
> Вы просто засираете тред своим спором.

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

>>3468698
> зоопарк языков
> 99% это твоя больная фантазия, они пишут про
Сразу понятно что ты дальше своей жирной залупы нихуя не видишь. Большинство репок там это форки либ для фронтендов, для клиентских приложений.

> приложении которое обслуживает список пользователей в канале
Не приложении, а структуре: OrderedSet, который списочек юзеров просто, и всё. Нихуя больше. Чисто структурка которая показывает всех юзеров в гильдии. Основной функционал приложения (войс, чаты) написаны на Elixir (не считая кодеков, которые как либы на C++)

> Эликсир нишевый продукт, который мало кому уперсы.
Так тебя никто не заставляет им пользоваться. Не обижайся, но всем здесь на тебя абсолютно похуй. Да-да. Можешь пожаловаться маме, а потом рассказать ей ещё пару интересных фактов про языки программирования, которые ты сам придумал. Но реальность от этого не изменится. А состоит она в том, что Discord, Remote, WhatNot и кучи других компаний написали свои бэки на Elixir и теперь гребут ахуенные бабки, пока ты здесь с пеной у рта доказываешь что на Elixir нихуя нельзя нормально написать.
Аноним 04/06/25 Срд 01:32:11 3468739 82
>>3468730
Ты какой-то максимально упоротый фанатик. Вангую в тебе студента, который прод не нюхал. Что толку обсуждать язык, на который ноль вакансий? Что толку тебе с того дискорда? Ты там не работаешь и никогда работать не будешь, ты не в США живешь, наркоман.
Аноним 05/06/25 Чтв 04:12:24 3469825 83
>>3468730
>Удваиваю, мне в целом похуй на мнение этого клоуна. Мне важно только чтобы у поверхностно читающих этот тредик не сложилось неправильное впечатление. Мы-то с тобой знаем детали языка и его использования и поэтому понимаем почему этот клоун не прав, а анон, который просто зайдёт про язычок почитать, деталей не знает и может реально клоуну поверить.
Честно говоря, я плохо понимаю, почему случайному прохожему может по какой-то причине понравиться эрланг. Я помню, как очень много лет назад поинтересовался, что это за эрланг, на котором ejabberd написан, и пришел к решению — это какая-то странная хуйня, и наверное мне не нужная.

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

Даже сейчас, когда я в распределёнке вырос очень сильно, я не совсем уверен в том, что Erlang мне нужен. Встроенный оркестратор — это круто, но проблема разделяемого состояния не решена. Да, можно ответить как разрабы golang: "Don't communicate by sharing memory; instead, share memory by communicating" — но это лишь про другую крайность, а по-хорошему в системе всегда есть потребность в разделяемом состоянии.

И в том числе разрабам дискорда для оптимизиации нетипичного для BEAM способа хранения данных пришлось прибегнуть к помощи внешних инструментов (постгря+редис+кафка), хотя изначально для этого подразумевалось использование Mnesia или какого-то подобного воображаемого инструмента, родного к Erlang (DETS плюс хуй знает что). Тот же Discord категорически не применяет Mnesia, потому что она омерзитольно никак масштабируется.

Теперь внимание вопросы: если работоспособность всей системы зависит от того, не наебнётся ли шардированная постгря, то в чём особенная ценность деревьев супервизии? В чём ценность горячего апгрейда, если 90% ебли заключается в смене схемы постгри? Какая разница в том, какая доля системы сумела восстановиться, если по итогу система в целом неработоспособна, потому что постгря не включена в деревья супервизии?

Как вы понимаете, я уже задавал подобные вопросы нейросетке — она только всплакнула, сказала что-то про "жизнь — страдание, мы все умрём", и ушла в закат.
Аноним 05/06/25 Чтв 04:29:05 3469826 84
>>3469825
Эрланг интересен своей концепцией, на этом все. Писать код на акторах и шине событий пиздец как неудобно, вообще ничего не понятно. Вон в голанге сделали, как в эрланге, добавили ранге по каналу, никто этим не пользуется. Классический императивный код с мьютексами легко читать и понимать, в отличие от.
Аноним 05/06/25 Чтв 04:44:15 3469829 85
>>3469826
>Классический императивный код с мьютексами легко читать и понимать, в отличие от.
И что ты предлагаешь? Делать Discord на базе одного сервера с node.js? Или у тебя есть какие-то волшебные мьютексы, которые живут сразу на нескольких серверах?
Аноним 05/06/25 Чтв 04:54:32 3469833 86
>>3469829
Ты точно понимаешь, что такое мьютекс?
Аноним 05/06/25 Чтв 13:57:31 3470154 87
>>3469833
>Ты точно понимаешь, что такое мьютекс?
Я точно понимаю, что такое мьютекс. Ты будешь вопросом на вопрос отвечать?
Аноним 05/06/25 Чтв 19:08:13 3470450 88
>>3469825
> проблема разделяемого состояния не решена

Это я не совсем понял. В Elixir можно коммуницировать как угодно. Хочешь посылай сообщение. Хочешь, сделай процесс, который будет держать состояние и ему будут мутации посылать (Agent). Хочешь, сделай большой shared KV на ets. Или даже shared граф на ets.

На моём опыте 99% задач (из веба) этими подходами покрываются. Если у тебя что-то очень экзотическое, то пиши NIF на языках где есть shared memory, к счастью в Elixir это не сложно делается, по сравнению с, например, Java.

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

Погоди, а на каком языке можно написать сервер, который дёргает Postgres, чтобы он оставался работоспособным когда Postgres отъебнётся? Или какой язык программирования автоматически данные в постгре мигрирует?

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

Elixir это про то что у тебя есть очень простая система акторов, очень сильный многозадачный рантайм и очень много ограничений поверх всего этого, чтобы не выстрелить в ногу. И в этом и вся сила. 99% логики бэкенда в нормальном проекте находятся как раз в коде серверов которые эти постгри и кафки дёргают. И Elixir даёт тебе возможность делать эту логику с нормальной асинхронностью, многопоточностью и коммуникацией.

Если конкретнее, и с примерами, тебе на Elixir не нужны редисы, чтобы посылать информацию в соседний поток (как в PHP, например). Тебе и не нужно иметь Senior разраба за 300к/наносек, который будет в твоём мультитредовом говнокоде на мьютексах искать race-condition (как в C++). Тебе не нужен цветной async/await код (как в Python), где у каждой либы есть хуёвый asyncio-аналог, где работает только половина функционала. Ещё у тебя есть supervising и share-nothing из коробки, поэтому, чтобы изолировать ошибки и отключение различных деталей (не типа БД, а типа комнаты чата или подключения к какому-то сервисы, например), ты просто пишешь новый процесс, а не делаешь отдельный микросервис (как в Go).
Как бонус, все ресурсы у тебя инициализруются супервизорами один раз и держутся в живом состоянии (пока это возможно), и тебе не надо писать хаки, чтобы они инициализировались не на каждый запрос (как в Ruby, PHP, Python).

Возвращаясь к твоим вопросам
> Какая разница в том, какая доля системы сумела восстановиться, если по итогу система в целом неработоспособна, потому что постгря не включена в деревья супервизии?
Постгрю никто и не запускает в супервизоре Elixir-а, но вот пулл соединений к базе будет как раз за супервизором. И вот тут как раз хорошо видно отличие Elixir от того же Go.

Если у меня бэк на Go, то отключение бд там, убьёт сервис и он будет лежать пока база не включится обратно, и только потом k8s рестартнет сервис на Go.

А если у меня бэк на Elixir, то у меня отключение бд убьёт пулл. И пулл попадёт в restart loop если ты не настроил так, чтобы падение пулла также за собой выключало application. За это время весь стейт, который был в системе, в ней и останется. Будут падать только те запросы, которые лезут в бд, а те, которые, например, попадают в кэш, не будут падать. Не упадёт также и chat room, который хранится, например не в постгре. Не упадёт также и какой-нибудь стрим, который уже запущен и с бд не взаимодействует. Это будет именно что graceful failure. Зачем? Это тупо сэкономленные деньги, потому что для юзеров половина сайта будет работать, а для половины будут крутиться спиннеры загрузки. В этот момент зритель не закроет твой сайт, чтобы открыть твитч и смотреть стрим там, в этот момент юзер не закроет чат с твоей ллм, чтобы написать в chatgpt, и т.д.

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

Так вот, чтобы сделать такой же graceful failure, гоферы либо обарабатывают ошибки в каждом месте где дёргают бд (покажите мне хоть один проект где вообще все ошибки от бд так обработаны), либо (что сильно чаще) пишут микросервисы, чтобы один микросервис обслуживал запросы к бд, другой микросервис обслуживал запросы к чатам, третий стримы крутил. В итоге они выносят эту сложность на уровень инфраструктуры, а это всегда дороже, потому что из-за этого больше разных CI/CD пайплайнов, надо делать апихи друг к другу, обновления микросервисов должны быть всегда независимыми и т.д.

Тогда как Elixir наоборот пытается всю такую сложность оставить внутри. Конечно, тебе всё равно нужен какой-то внешний супервизор для постгри, и миграции для базы данных тоже нужны. Но тебе не нужно делать микросервисный зоопарк чтобы ошибка в одной хуйне не выключала другую, совсем не связанную с первой, хуйню. Elixir в этом плане тупо выгоднее и проще.
Аноним 05/06/25 Чтв 19:54:15 3470483 89
>>3470450
На словах ты Лев Толстой, а на деле на эликсир нет вакансий. Ты напоминаешь хаскелистов с их охуительными историями про лучший язык.
Аноним 05/06/25 Чтв 20:11:46 3470501 90
>>3470483
Если ты про РФ, то да, сейчас Elixir-а практически нет, раньше было больше, но что-то случилось. Был ещё довольно активный рыночек вакансий в Украине, но тоже что-то случилось с ним.

В ЕС и США есть нормальное количество ваканский, в основном удалённая работа, и их в целом достаточно. То есть ваканский меньше чем на Python и Java, например, но и разработчиков не очень много, поэтому я думаю в целом отношение соискатели/вакансии такое же как и в других языках, и найти работу не сложнее чем на них.

Если ты не знаешь английский и не согласен работать удалённо, то я плохо понимаю нахуя ты в айти вообще забыл
Аноним 05/06/25 Чтв 22:27:34 3470619 91
>>3470501
Подскажи тогда книги/курсы для вката новичку, пожалуйста. Заебался быть SQL аналитиком, а в пиздон идти желания ещё меньше. Английский средний, могу общаться на бытовом уровне.
Аноним 05/06/25 Чтв 22:42:56 3470650 92
>>3470501
>ЕС
Без ворк пермита идешь нахуй.
>США
Без американского паспорта идешь нахуй.
Что и требовалось доказать.
Аноним 06/06/25 Птн 02:04:05 3470733 93
>>3470650
> Без ворк пермита идешь нахуй.
> Без американского паспорта идешь нахуй.

Я понимаю почему ты ошибаешься. На уроках обществознания тебе пока что не рассказали про то что такое ИП, как его открыть в соседней стране по интернету и как октрыть валютный счёт для своего бизнеса. Отношусь к тебе с пониманием, ты просто не знал про это, ведь в пятом классе про это ещё пока не рассказали.
Аноним 06/06/25 Птн 02:12:46 3470735 94
>>3470619

Есть курс от Алексея Матюшкина, я слышал про него хорошие отзывы, но слышал и плохие (не о курсе, а лично об Алексее), так что решай сам.
https://thinknetica.com/pro/elixir_phoenix

Из книжек есть Elixir in Action, Programming Elixir и т.д. Они все незначительно отстают от актуальных версий языка и библиотек, но это не проблема.

Но в 2025 году я могу советовать учить язык только так: открыть редактор кода, доку по elixir (hexdocs.pm/elixir), какой-нибудь чатик или слак по Elixir, и рядом LLM типа chatgpt и начать писать свой проект. Если не знаешь что делать, пишешь сначала в LLM типа "как начать писать проект на Elixir". Если ответ хуйня, пишешь в чатик. Каждый из ответов сверяешь по доке эликсира. Через недельку у тебя должен быть нормальный и рабочий проект.

Но помни, что Elixir это не язык для вката. Здесь очень мало джуновских и интерновских вакансий. Лучше всего будет выучить немного Python/JavaScript, попердеть в стул 1-2 года на работе до того как станешь Middle, а потом подучить Elixir. Пересаживаться с Python и JS на Elixir имеет смысл из-за ЗП (средняя больше в 1.5-2 раза) и из-за ментального здоровья, потому что Python и JS это объективный кал
Аноним 06/06/25 Птн 12:52:26 3470998 95
>>3470733
Проиграл в голос с этого дурачка. Еще раз, медленно, специально для тупых пориджей: без ворк пермита никому ты нахуй там не нуженю Литерали. Свое ИП можешь засунуть в свою тугую задницу. Даже сербы-братушки требуют перекат в течение месяца, всякие бриташки и голашки твое резюме вообще не откроют.
Аноним 06/06/25 Птн 17:00:34 3471230 96
>>3470998
Я мимо проходил. Расскажи если не трудно что за ворк пермит, как его получить и насколько это тяжело при нынешней ситуации?
Аноним 06/06/25 Птн 17:29:37 3471284 97
>>3470998
>>3471230

> Расскажи если не трудно что за ворк пермит, как его получить и насколько это тяжело при нынешней ситуации?

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

Про ворк пермит. То есть разрешение на работу. Оно нужно только если ты устраиваешься в иностранную компанию как сотрудник. Тебе тогда дают рабочую визу и ты можешь переехать в страну где у компании офис. В 2025 году так делают только бигтехи, а компании поменьше нанимают только контрактников, потому что для них это тупо сильно дешевле.

Чтобы стать контрактником, тебе нужно иметь открытый бизнес не в РФ и валютный счёт на который можно получать деньги. Всё это делается за один день в Грузии, Казахстане или Армении (я так делал). В Сербии тоже можно это сделать, но нужен месяц или около того. Для всего этого нужен загран. И ещё есть какие-то сервисы которые это удалённо делают, но я тут не подскажу конкретные.

Потом ты просто устраиваешься как на любую работу в ЕС, и просишь оформить тебя по b2b как контрактника, потом присылаешь им свидетельство о регистрации ИП, номер валютного счёта. Подписываешь контракт и, поздравляю, ты работаешь удалённо на фирму в ЕС. Раз месяц/две недели/неделю ты отправляешь фирме инвойс и они тебе по нему платят на валютный счёт.

Я работаю таким образом уже 5 лет где-то. Полёт нормальный.
Аноним 06/06/25 Птн 19:25:28 3471367 98
>>3471284
Долбоеб тут только ты. Ты сравниваешь рынок пять лет назад и сейчас. Сейчас тебя никто не возьмет на B2B, литерали никто. Будут год искать, занесут кучу бабла агенствам, в итоге возьмут чурку с местным аусвайсом. Рынок труда пошел по пизде, пока ты сидел в своем манямирке, дебил блять.
Аноним 06/06/25 Птн 19:28:27 3471370 99
>>3471230
Найти работу с релокацией. Можешь попробовать прямо сейчас, открываешь линкедин и подаешься.
Аноним 06/06/25 Птн 19:50:14 3471379 100
>>3471367
Да-да, понял тебя, продолжай наблюдение. Нам очень интересно. Я пока ещё инвойсик отправлю.

>>3471370
Я пробовал, но это сложнее чем удалёнку. Мне в компаниях открыто говорят, что релокация это просто куча бюрократической душки для них и они думают что им нужен юрист для этого (я-то знаю что это не так, но они почему-то так считают), и ещё им налогов больше платить и т.д. Поэтому на 10 вакансий с удалёнкой я нахожу лишь одну с релокейтом, и там на интервью на меня криво смотрят из-за паспорта. Кароче, после ковида всё стало удалённым, а после 2022 это ещё и сложнее стало конкретно для тех кто из РФ
Аноним 07/06/25 Суб 03:00:06 3471511 101
>>3470450
>Погоди, а на каком языке можно написать сервер, который дёргает Postgres, чтобы он оставался работоспособным когда Postgres отъебнётся? Или какой язык программирования автоматически данные в постгре мигрирует?
При всей адовой дроче на распределённость, уровень развития распределённых вычислений в индустрии очень грустный. То есть, готовые решения есть только для узких ниш, для других ниш решения нужно собирать из кирпичей из клея, а в третьих лепить почти с нуля.
Я застал ещё те времена, когда в постгре вообще не было встроенной потоковой репликации, репликацию делали на логическом уровне, повторяя SQL запросы на нескольких серверах, или же копируя WAL по SSH. Между прочим, Facebook до сих пор использует похожую модель (но давай лучше не будем про Facebook, потому что меня сейчас понесёт).

Такая организация логична, то есть, иерархия железо => машина из железа => сеть из машин. Индустрия уже очень давно делает вещь, которая ебанутая по своей сути: иммитирует работу примитивного железа при помощи машины, а когда не хватает всей машины — при помощи сети из машин. То есть, телега впереди лошади, жесткий диск из кластера машин, оперативная память из баз данных.

Да, это попытка упростить решение, свести сложную задачу к набору известных простых задач, но эти же "простые задачи" создают настолько много проблем, что нужен целый гугл или яндекс для эффективного их решения. Более того, ни гуглу, ни яндексу в хуй не упёрлось создание простого фреймворка организации сложных систем, потому что если завтра каждый васян создаст свою масштабируемую систему без AWS/GCP/Azure/Yandex Cloud, то все эти параши останутся без главного источника заработка. Я неоднократно наблюдал чудовищное переусложнение продуктов в таких корпорациях "потому что мы можем".

Erlang/BEAM уже частично пытались решить подобную задачу — это, как я указал, DETS, который организует локальное хранилище на одном узле, а координацию между узлами нужно писать ручками. Хочешь пиши шарды, хочешь — какую-нибудь иерархию. Другое дело, что какого-то готового фреймворка (по крайней мере публичного) для надёжной организации координации таких хранилищ нет.

>Elixir это не про то что у тебя один Elixir заменит и бэкенд, и базу данных, и редис, и кафку и вообще весь софт который есть.
Да ради бога, используй внешнюю БД. Другое дело, что вот для персистентности лога мне чо использовать в Elixir? Eventstore? Которое опять на той же постгре в качестве бэка работает. Неужели нет в мире других СУБД, кроме постгри?
Обычно микросервисные доходят до маразма и гоняют десяток разношерстных БД, хотя бы ту же постгрю нескольких версий, чтобы когда одна отъебнулась — остальные работают.

>Если у меня бэк на Go, то отключение бд там, убьёт сервис и он будет лежать пока база не включится обратно, и только потом k8s рестартнет сервис на Go....
>Будут падать только те запросы, которые лезут в бд, а те, которые, например, попадают в кэш, не будут падать. Не упадёт также и chat room, который хранится, например не в постгре. Не упадёт также и какой-нибудь стрим, который уже запущен и с бд не взаимодействует.
Не поверишь — ту же самую историю мне рассказывали не так давно, только про микросервисы. "Частичный отказ, незатронутые сервисы продолжают работать, бла-бла-бла...".

>99% логики бэкенда в нормальном проекте находятся как раз в коде серверов которые эти постгри и кафки дёргают.
Из этих 99% (на самом деле порядка 60% в случае того же Discord, остальное выполняется в Kafka, Redis, PostgreSQL, etc) где-то половина выполняет клеевую функцию, то есть, адаптирует одну модель к другой, обрабатывает вебсокеты, доступ к БД, сериализацию. Довольно часто делают это неоправдано сложно, просто чтобы адаптироваться к стороннему сервису, разработанному не нами и не под наши задачи.
Справедливости ради, микросервиснутые нынче вообще ебанулись на отличненько и у них доля клея в коде может доходить до 90-95%, по сути они кроме парсинга и генерации JSON (или имянейм протокола) ничего не делают.

>В итоге они выносят эту сложность на уровень инфраструктуры, а это всегда дороже, потому что из-за этого больше разных CI/CD пайплайнов, надо делать апихи друг к другу, обновления микросервисов должны быть всегда независимыми и т.д.
>Тогда как Elixir наоборот пытается всю такую сложность оставить внутри. Конечно, тебе всё равно нужен какой-то внешний супервизор для постгри, и миграции для базы данных тоже нужны. Но тебе не нужно делать микросервисный зоопарк чтобы ошибка в одной хуйне не выключала другую, совсем не связанную с первой, хуйню. Elixir в этом плане тупо выгоднее и проще.
У гугля все сервисы по сути представляют собой огромный монолит в монорепе, где изменение API делается одним коммитом сразу в кучу сервисов, а само API сделано в виде синхронных вызовов на Stubby/protobuf. То есть, всё связывание сервисов происходит на этапе компиляции и связывается напрямую один сервис с другим, без посредников, без кафок и постгрей. Заметь, что сервисы написаны на разных языках программирования, но по итогу работают как единая система. Если какому-то сервису нужна персистентность — зачастую он единолично взаимодействует с БД, заключая в себе сложность работы со схемой.

Иронично, что уже есть опенсорсные аналоги внутренних инструментов гугла (Borg => Kubernetes, Stubby => gRPC), но почему-то микросервиснутые используют их IRL предельно через жопу, со всякими там Rabbit/Kafka на каждый чих без типизации/версионирования пересылаемых сообщений и без способов отладить проблемы с обработкой этих сообщений, когда продьюсер уже давно съебался, а консюмеры до сих пор не могут понять, откуда эти сообщения высрались и что с ними делать.

>Тебе и не нужно иметь Senior разраба за 300к/наносек, который будет в твоём мультитредовом говнокоде на мьютексах искать race-condition (как в C++).
Мне не нужно его искать — я он и есть, лол.
Аноним 07/06/25 Суб 05:43:26 3471523 102
>>3471511
> DETS

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

> Другое дело, что вот для персистентности лога мне чо использовать в Elixir?

Какого лога? Если у тебя лог событий типа как в EventSourcing/CommandSourcing, то бери тот же тул/сервис что и на другом языке, лол. Ещё есть Commanded, который обёртка для постгри. Если у тебя лог как лог, то пиши туда, куда бы и на другом языке писал: хочешь в файл, хочешь в базу, да куда хочешь кароче.

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

Не понял к чему это. И остальные твои мысли тоже не особо с моим постом связал.

Вообще в целом твой пост какой-то как будто ты свою телегу какую-то пишешь и к моему посту она слабо относится, как и вообще к Elixir. Причём тут редисы, кафки, постгри и вся хуйня, какие ещё гуглы и фейсбуки...
Аноним 07/06/25 Суб 08:36:12 3471551 103
>>3470735
>Лучше всего будет выучить немного Python/JavaScript, попердеть в стул 1-2 года на работе до того как станешь Middle

Питон и жс объективный кал, да, для души пишу скрипты на руби, на эти языки пересаживаться просто больно. :(
Аноним 08/06/25 Вск 23:04:06 3472478 104
>>3470450
> Погоди, а на каком языке можно написать сервер, который дёргает Postgres, чтобы он оставался работоспособным когда Postgres отъебнётся?
На любом. Хоть на ноде пишешь, там же пишешь демон который стартуют монолит если он разъебался.
> Elixir это про то что у тебя есть очень простая система акторов, очень сильный многозадачный рантайм
> Если конкретнее, и с примерами, тебе на Elixir не нужны редисы,
Всё это нахуй не нужно, если есть нормальная БД которая поддерживает ACID и несколько процессов. Сервер просто пишет в БД с нескольких процессов и всё. Всё, больше ничего не нужно. Без всяких шуток. Ни эликсир не нужен, ни кафка. Даже редис и прочие кэш-калы не нужны, потому что БД может постоянно в памяти висеть, ибо так работают современные ОС.
Аноним 09/06/25 Пнд 03:38:40 3472550 105
>>3472478
Кафка нужна, чтобы быстро-быстро собирать инфу с дохуилиона датчиков в реальном времени. Запись в кафку быстрее, чем в бд, и она умеет раскидывать нагрузку по серверам. Например, у тебя йоба завод, который надо мониторить 24 на 7. Или у тебя сервис типа яндекс пробки, надо собирать координаты с навигаторов и рассчитывать скорость движения. Еще кафку используют для внутренней диспетчеризации по шардам, когда наружу торчит одна ручка, а внутри запись идет на разные шарды, прозрачно для пользователя.
Редис - это тупо кеш. Из него читать быстрее, чем из бд.
Можно сделать систему чисто на одной бд, но тогда твой сервер просто выдержит меньше рпс. Другой вопрос: а будет ли у говносайта говнопиццы столько рпс, чтобы понадобилась кафка.
Аноним 09/06/25 Пнд 06:49:48 3472578 106
>>3472550
> собирать инфу с дохуилиона датчиков в реальном времени.
> Запись в кафку быстрее, чем в бд, и она
И она может внезапно упасть. Если твоя задача проебать данные - можешь смело заниматься этим.
> Или у тебя сервис типа яндекс пробки
Вот тут да, можно через прокси, ибо проёб данных не страшен, а согласованность данных не особо важна.
> Редис - это тупо кеш. Из него читать быстрее, чем из бд.
Нет, так же как и из БД, если брать БД достаточно производительные - чтение даже быстрее чем в редисе.
> Можно сделать систему чисто на одной бд, но тогда твой сервер просто выдержит меньше рпс.
CRDT, шарды и пакетная обработка решают эту проблему. Офк, всё зависит от того какая БД используется.
Аноним 09/06/25 Пнд 16:09:43 3472923 107
>>3472578
> И она может внезапно упасть. Если твоя задача проебать данные - можешь смело заниматься этим.

О, ты вернулся в тредик, долбоёб. Я думал уже всё, забыл. Я уже почти соскучился. В любом случае, специально для тебя поясню: кафка персистентная, то есть она записывает на диск данные, когда их в неё посылают (посылка наебнётся, если на диск не запишется). А данные на диске остаются, даже если компьютер выключить из розетки. Ещё кафка эти данные реплицирует между мастерами, так что падение одного мастера ухудшит перформанс, но не наебнёт кластер. Откуда ты хуйню про проёб данных придумал, мне сложно представить.

> БД достаточно производительные - чтение даже быстрее чем в редисе.

А когда ты сам придумываешь факты, и ими разъебываешь в тредиках, ты, наверное, себя потом за сосочки трогаешь и думаешь: "Какой же умный, какой же я ахуенный", да? Откуда ты это взял? То что у баз есть кэш? Так этот кэш ограниченный и не по всем таблицам и всем ключам. И что за база? Например Postgres при апдейте данных в таблице не удаляет старые и их надо отдельно вакуумить, поэтому при частом апдейте по ключу перформанс ухудшается. Далее, кэш работает с TTL обычно, в базах нет встроенных TTL, это можно сделать ручками, но это будет кал. Далее, SQL базы ещё парсят запросы, строят планы (во время этого они иногда в рандомные места таблицы лезут) и т.д., тогда как Redis просто парсит строку "GET <KEY>" в TCP пакете и сразу лезет в дерево поиска.
Аноним 09/06/25 Пнд 19:13:28 3473054 108
>>3472923
> О, ты вернулся в тредик, долбоёб. Я думал уже всё, забыл. Я уже почти соскучился.
Тебе так нравится когда тебя обоссывают? Хорошо, сейчас опять обоссу, приготовься.

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

Смотри, внимательно. Кафка поддерижвает ACID? Нет? Данные проебались. Понимаю, тебе сложно такое вообразить, видимо ты никогда не работал, только на двачке пиздишь, лолд

> А когда ты сам придумываешь факты, и ими разъебываешь в тредиках, ты, наверное, себя потом за сосочки трогаешь и думаешь: "Какой же умный, какой же я ахуенный", да?
Да. Как ты узнал? Мне нравится унижать и представлять как ты потными ручками стучишь по клавишам, пытаясь оспорить реальность.

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

> Postgres
> SQL
> тогда как Redis просто парсит строку "GET <KEY>" в TCP пакете и сразу лезет в дерево поиска.
Вместо прямого запроса к БД у тебя куча прокладок, кафок, редисов которые один и тот же запрос пересылают друг-другу. Какое же ты говноедище, боже. И часто у вас так в ерланг-манямирке происходит?
Аноним 09/06/25 Пнд 23:47:03 3473223 109
>>3473054
> Смотри, внимательно. Кафка поддерижвает ACID?

Какой нахуй ACID, долбоёб. ACID применим к мутабельным транзакциям, а кафка это просто лог, и операция "записать в конец лога" там Durable, то есть не проёбывается, даунище.

> Файловые системы так работают - помещают часть файла с диска в озу. Не знал? Конечно не знал, откуда тебе такое знать.

И что дальше? Дело даже не в диске, пусть у меня вообще всё в памяти, дело в том что индекс и сами страницы нужно ещё сериализовывать, тогда как в редисе данные просто лежать в дереве, которое состоит из прямых ссылок в память. И ещё редис не занимается парсингом SQL, построением плана, валидацией данных и прочим.

> Вместо прямого запроса к БД у тебя куча прокладок, кафок, редисов которые один и тот же запрос пересылают

Какая жалкая попытка подменить тезис, пиздос. Мог бы получше постараться. Мы тут обсуждаем не то как надо архитектурно все эти решения использовать, а ту хуйню которую ты спизданул что "в бд чтение даже быстрее чем в редисе". И по этой хуйне у тебя тупо нет аргументов
Аноним 10/06/25 Втр 18:06:02 3473677 110
>>3473223
> Какой нахуй ACID, долбоёб. ACID применим к мутабельным транзакциям, а кафка это просто лог, и операция "записать в конец лога" там Durable, то есть не проёбывается, даунище.
Об этом и речь, даунёнок, ты не можешь зафиксировать данные в простом логе. Сообщения могут дублироваться, проёбываться, да что угодно может случиться.

> И что дальше?
И то что производительность ОС + нормальной бд лучше редиса кафки и той шизофрении которую тебе в мозг говноеды заложили.

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

> Мы тут обсуждаем не то как надо архитектурно все эти решения использовать, а ту хуйню которую ты спизданул что "в бд чтение даже быстрее чем в редисе". И по этой хуйне у тебя тупо нет аргументов
Зачем тут аргументы если это эмпирический факт?
Аноним 10/06/25 Втр 23:26:48 3473859 111
>>3473677
> Об этом и речь, даунёнок, ты не можешь зафиксировать данные в простом логе. Сообщения могут дублироваться, проёбываться, да что угодно может случиться.

Что ты вообще несёшь? Что значит "зафиксировать"? Я дёргаю апи метод append и если он завершился без ошибки, то эвент записался в лог. С этого момента он не проёбывается, потому что лежит на диске. Если я его дёрну ещё раз, то запись не дублируется, потому что есть ключ индемпотентности у сообщения. Какой же ты узколобый дебил, ей богу

> И то что производительность ОС + нормальной бд лучше редиса кафки и той шизофрении которую тебе в мозг говноеды заложили.

Так ты это запруфай, еблан. Покажи бенчмарк или что-то такое. Но ты не покажешь, потому что если ты сделаешь бенчмарк, то ты увидишь что чтение из Redis по ключу быстрее чем из Postgres (даже если тот запущен в tmpfs)

> эмпирический факт

Открываем статью где сравнивают перформанс редиса и постгри на чтение и запись по ключу и смотрим что постгрес сосёт: https://medium.com/redis-with-raphael-de-lio/can-postgres-replace-redis-as-a-cache-f6cba13386dc

Вот ещё один бенчмарк: https://archive.is/pQSnO

Кароче, иди нахуй, добоёбище. Обратно в питонотред или откуда ты там вылез
Аноним 11/06/25 Срд 02:03:54 3473899 112
>>3473677
Скажи честно: ты идиот? Или ты мазохист и любишь, когда тебя виртуально обоссывают?
Аноним 11/06/25 Срд 07:59:26 3473944 113
>>3473859
> Что ты вообще несёшь? Что значит "зафиксировать"? Я дёргаю апи метод append и если он завершился без ошибки, то эвент записался в лог.
Пиздец манямирок у долбоёба. И это он пишет в элексиротреде! То что что-то завершилось не значит что данные не проебались, ты понимаешь это? Хотя ладно, очевидно что ты нихуя не понимаешь.
> Если я его дёрну ещё раз, то запись не дублируется, потому что есть ключ индемпотентности у сообщения.
Буквально на любом этапе передачи сообщения может возникнуть сбой. Т.к. там есть кафка которая может менять лидера и проебывать лог - клиент поймает таймаут, отправит сообщение ещё раз и что ты там не фантазируй будет дублирование. И это ещё самый простой сценарий, который можно отловить и ограничить, в реальности всё будет куда хуже.
У тебя несколько сервисов которые не имеют прямой согласованности между собой, всё через пизду твоей мёртвой мамаши организовано, ты осознаёшь это? Гарантии на стороне кафки не равны гарантии стороне БД, а значит сообщения будут проёбываться.
> Так ты это запруфай, еблан. Покажи бенчмарк или что-то такое.
Нахуй мне палить говноедам годноту. Страдай и жри говно.
> Но ты не покажешь, потому что если ты сделаешь бенчмарк, то ты увидишь что чтение из Redis по ключу быстрее чем из Postgres (даже если тот запущен в tmpfs)
Нормальная бд это не постгрес, говноедище.
> Открываем статью где сравнивают перформанс редиса и постгри на чтение и запись по ключу и смотрим что постгрес сосёт:
Конечно сосёт, ведь это технологии даунов. И не забывай даунёнок, ты сначала должен данные отправить в свою говнобд, потом закэшировать запрос в редисе, отправить в кафку которая распределит по репликам, ору нах! В то время как я записываю данные на диск быстрее чем постгресс раза в три, читаю данные быстрее чем редис в два раза и в 20 раз быстрее чем постгресс, а клиенты пишут и читают напрямую в реплики, без всяких кафок, данные проебаться не могут в принципе.
> Кароче, иди нахуй, добоёбище. Обратно в питонотред или откуда ты там вылез
Короче ты поспорил сам с собой. Ещё бы, ведь спорить с реальность тебе сложно, в ней ты всеми обоссаный дерьмоед с архитектурой которая создана для потери данных.

>>3473899
> нееет, это не я обоссаная чмоня которая рассказывает про говноедский стек, это ты!11
Вот это защитная реакция пошла, лол
Аноним 11/06/25 Срд 08:38:02 3473953 114
>>3473944
>ты сначала должен данные отправить в свою говнобд, потом закэшировать запрос в редисе, отправить в кафку которая распределит по репликам, ору нах! В то время как я записываю данные на диск быстрее чем постгресс раза в три, читаю данные быстрее чем редис в два раза и в 20 раз быстрее чем постгресс, а клиенты пишут и читают напрямую в реплики, без всяких кафок, данные проебаться не могут в принципе.
Лол, он же реально шизик.
Аноним 11/06/25 Срд 09:32:11 3473968 115
>>3473953
Сложно представить такие топовые технологии, отсталый каложуй?
Аноним 11/06/25 Срд 15:17:54 3474258 116
>>3473944

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

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

UPD: Бля, если ты скажешь Oracle, я обоссусь от смеха, дедуля

> То что что-то завершилось не значит что данные не проебались

Блять ну вот как тебе объяснить, что я посылаю апи запрос, кафка пишет сообщение на диск и только после этого посылает ответ. Если я получил ответ, то сообщение на диске, ты это-то понимаешь той хуйнёй, что вот чуть-чуть выше дырочки на голове, куда ты свой кал кладёшь пожевать? Куда оно с диска проебётся?

> клиент поймает таймаут, отправит сообщение ещё раз и что ты там не фантазируй будет дублирование

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

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

Вот точно есть какое-то заболевание. Сначала сам спизданул какую-то хуйню, его поставили на место, ведь аргументов ноль. Поэтому он потом спизданул другую хуйню, уже за оппонента, и третьей хуйнёй успешно разъебал. В итоге весь тред в ахуе сидит с больного, который сам с собой срётся
Аноним 11/06/25 Срд 15:39:57 3474297 117
>>3474258
> Мне к этому нечего добавить, жаль тебя, я не понимаю нахуя ты в тред какую-то хуйню пишешь. Я уже начал думать что ты реально страдаешь чем-то вроде слабоумия или какого-то другого синдрома, где больные хуйню несут неконтроллируемо.
Неприятно, обоссанец? Конечно тебе неприятно, ведь вместо нормальных технологий ты переваренный кал хуячишь.

> дедуля
Хм, а ведь анон был прав, что ты студент который ни дня не работал, только фантазируешь в этом итт треде, лол

> Блять ну вот как тебе объяснить, что я посылаю апи запрос, кафка пишет сообщение на диск и только после этого посылает ответ.
Что ты несешь, даун? Кафка пишет сообщения во все реплики, которые в любой момент времени могут отвалиться и сообщение потеряется. Если реплик нет, то проёб кафки - проёб всего.

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

> Вот же дегенерат. Это к твоей ахуенной маня-БД применимо, а к кафке нет,
В моей охуенной БД есть ACID, в отличии от кафки которая даже на диск не может записать и не проебаться.

> Когда я посылаю сообщение на запись, я рядом с ним посылаю уникальный номер. Кафка этот номер тоже записывает на какое-то время, поэтому когда я ретрайну запись, я ретрайну её с этим же номером и кафка быстро проверит, дубликат это записи или нет.
А потом кафка отрубается и ты теряешь все записи нахуй, повезёт если за 3 минуты. Молодец, даун, опять нафантазировал обосранную хуету.

> Вот точно есть какое-то заболевание. Сначала сам спизданул какую-то хуйню, его поставили на место, ведь аргументов ноль.
Кого ты поставил на место, обоссанец? С твоими знаниями ты можешь только себя поставить на место петуха возле параши, там место опущенцев которые вместо программирования баззворды хуячат и создают дерьмище с редисами, постгресами и кафками.
Аноним 11/06/25 Срд 16:03:34 3474313 118
>>3474297

>> дедуля

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

> пишет сообщения во все реплики

Если ты реально думаешь что там настолько тупая репликация, то ты реально конченный дебил.

> сообщение может проебаться при смене лидера

Сообщение не может проебаться при смене лидера, лол. Как она по-твоему происходит?

Я кажется понимаю в чём проблема: мы говорим о разных кафках. Я говорю про Apache Kafka, которой пользуется весь мир: с идемпотентностью, с reliable replication, с записью на диск. А ты говоришь про кафку, которую сам придумал, где просто веером рассылаются сообщения по кластеру и т.д.

Кароче, я не хочу тебя обижать сильно, ведь сразу видно что у тебя не в порядке с умом что-то, поэтому скажу что ты во всём-всём-всём прав. Твоя кафка теряет сообщения, твоя кафка не умеет реплицироваться, твоя кафка не умеет в мастер-мастер репликацию. И мне очень повезло, что твоя кафка существует только у тебя в манямирке. В том самом манямирке, где оракл бд в 20 раз быстрее редиса, и заменяет весь софт на свете. В этом прекрасном мире нет болезней, нет голода, нет войн. Оракл в этом мире стоит каменным обелиском и своим взором заменяет весь софт на оракл, и не только софт. Всё есть оракл, я есть оракл, ты есть оракл. И даже небо, даже Аллах...
Аноним 11/06/25 Срд 16:18:02 3474340 119
Бля, это эликсиротред или срач двух великовозрастных душнил?
Аноним 11/06/25 Срд 16:31:54 3474359 120
>>3474340

Но... Я же... разъебываю деда...
Аноним 11/06/25 Срд 18:26:21 3474477 121
>>3474313
>А, ну больше и нечего добавить, я вот чувствовал что по ту сторону сидит безумный свидетель оракла. Да-да, очень важно услышать ваше мнение, продолжайте
Пиздец фантазёр, уже придумал про меня целую историю как я дерьмищем типо оракла пользуюсь, лолд

> Если ты реально думаешь что там настолько тупая репликация, то ты реально конченный дебил.
И это всё что ты смог высрать? Как жалко.

> Сообщение не может проебаться при смене лидера, лол.
Вот это малютка совсем зафантазировался совсем!

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

И ведь это речь идёт про идеальный случай, с ask=all и прочим дерьмом в сообщениях, когда кластер работает как обосранный слоупок, все окна минимальны или соответствуют одному сообщению.

> Я кажется понимаю в чём проблема: мы говорим о разных кафках. Я говорю про Apache Kafka,
Ты говоришь про кафку которая волшебным образом сохраняет сообщение, через веру в магические дегенеративные маняфантазии. Что поделать, если ты малолетний дегенерат который не понимает в принципе как устроена сети и кафка, откуда тебе знать что каждое падение может исказить всю инфраструктуру.
Аноним 11/06/25 Срд 19:02:18 3474531 122
>>3474477

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

Причём тут БД, еблан. Я про кафку пишу. Смена лидера там происходит через Raft-консенсус. То есть чтобы он не завершился за конечное время, надо быть очень невезучим. А пока происходит leader election, данные не теряются, потому что запись зависает. Даже если leader election начнётся во время записи, моя операция записи либо наебнётся и вернёт ошибку, либо завершится успешно с записью в лидере и репликах.

> ask=all

Ну вот и всё что нужно знать про твой уровень знаний. То есть ты сам признаёшь что ты обосрался. С acks=all у меня гарантия от каждой реплики что запись произошла. То есть если лидер умрёт после такой записи или реплика умрёт, но останется кворум, у меня не проебутся данные. И как бы ты не пиздел, кластер от этого не становится медленнее. Увеличивается латенси одной операции записи, но throughput не меняется, потому что ack с реплик это практически бесплатно. Если тебе нужен низкий латенси, то тебе изначально не в кафку.
Аноним 11/06/25 Срд 19:30:54 3474547 123
>>3474531
> Причём тут БД, еблан. Я про кафку пишу.
У тебя кафка существует в отдельном манямирке без транзакций?

> Ну вот и всё что нужно знать про твой уровень знаний. То есть ты сам признаёшь что ты обосрался. С acks=all у меня гарантия от каждой реплики что запись произошла.
Нет, потому что существует параметр с максимальными репликами, я не помню как он называется, ну да и похуй. Он вроде бы работает как раз с аскалл. А может и нет, я нихуя не помню, последний раз кафку трогал лет 10 назад. Если топология говна, то часть реплик внезапно отваливается и отваливаются как раз по этому разделу, данные либо проёбываются полностью, либо нахуй вся сеть недоступна становится. Кластер говна, гениальное решение.

> Если тебе нужен низкий латенси, то тебе изначально не в кафку.
Мне нужен менее говноедский стек, чтобы я не городил кафку через редис через постгресс, была вечная доступность и конечная согласованность. Собственно, я его уже давно составил и работаю с ним, правда CRDT приходится писать вручную, да и похуй, потом перепишу код бд для кластера.
Аноним 11/06/25 Срд 21:44:03 3474617 124
>>3474340
Это у шизика случилось обострение. Бери попкорн, будет весело.
Я лично проиграл, когда он начал задвигать, как в его волшебной субд (кстати где она) данные из памяти читаются в два раза быстрее. Ждем новых откровений от мастера.
Аноним 11/06/25 Срд 22:30:02 3474649 125
>>3474547

> У тебя кафка существует в отдельном манямирке без транзакций?

Я вообще о транзакциях ни слова не говорил. Ты сказал что кафка проёбывает данные если их в неё просто писать. Ни слова про транзакции. Вот я запруфал что это нихуя не так. Как и то что дубликаты будут, я тоже запруфал что это нихуя не так.

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

Нихуя не понял что ты сейчас написал. Какая топология? Как падение кафок за собой сеть кладёт? Какому разделу? Что ты вообще несёшь?

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

Блять ну я тебе уже в третий раз поясняю, что мне поебать на твоё мнение про стек и архитектуры и прочий кал. Я спорю только с двумя утверждениями "кафка проёбывает данные в любой конфигурации" и "существует какая-то SQL-манябд, где чтение по ключу в два раза быстрее чем из Redis".

По кафке я тебя уже разъебал, аргументов у тебя нет. По редису ты слился, потому что говоришь про вооброжаему манябд. Кароче, идёшь нахуй по всем параметрам, как я уже сказал, обратно в питонотред или в дом престарелых или откуда ты там вылез.
Аноним 12/06/25 Чтв 07:51:46 3474752 126
>>3474617
Понимаю, ты слишком слаб разумом чтобы это принять. Но поверь мне, я действительно читаю данные в два раза быстрее редиса. Линейная зависимость. Тут нет никакой магии, которая существует в твоей тупой бошке.

Всё дело в том, что у меня нет посторонних данных в запросе. У тебя же, при каждом запросе, запрос переполнен бессмысленной и бесполезной информацией.

>>3474649
> Я вообще о транзакциях ни слова не говорил. Ты сказал что кафка проёбывает данные если их в неё просто писать.
В принципе да, если не делать аск=алл, и редко кто это будет делать потому что это не эффективно.

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

> Как падение кафок за собой сеть кладёт? Какому разделу? Что ты вообще несёшь?
Если IPS меньше минимальных реплик, то кластер начнёт выдавать исключения, дебил.

> Блять ну я тебе уже в третий раз поясняю, что мне поебать на твоё мнение про стек и архитектуры и прочий кал. Я спорю только с двумя утверждениями "кафка проёбывает данные в любой конфигурации" и "существует какая-то SQL-манябд, где чтение по ключу в два раза быстрее чем из Redis".
Т.е. ты споришь сам с собой? Продолжай, буду наблюдать за твоей клоунадой.

> По кафке я тебя уже разъебал, аргументов у тебя нет.
Разъебал ты тут только свою сраку, разорвавшись на весь тред. Забавно вышло, лол
Аноним 12/06/25 Чтв 09:46:25 3474784 127
>>3474547
>я нихуя не помню, последний раз кафку трогал лет 10 назад
Вся суть ветки.
Аноним 12/06/25 Чтв 14:05:36 3474941 128
>>3474752
>Но поверь мне, я действительно читаю данные в два раза быстрее редиса.
То есть, ты читаешь из памяти в два раза быстрее, чем это делает контроллер памяти? Такая-то шизомагия!

>Всё дело в том, что у меня нет посторонних данных в запросе. У тебя же, при каждом запросе, запрос переполнен бессмысленной и бесполезной информацией.
У меня есть ключ, по которому я получаю значение из редиса. Что из этого является бесполезной информацией, шиз?
Аноним 12/06/25 Чтв 16:24:35 3475040 129
>>3474784
И что и чего. Главное что всё это говнище для дегенератов застрявших в 2012 году.

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

>У меня есть ключ, по которому я получаю значение из редиса. Что из этого является бесполезной информацией, шиз?
Значит про кафку и sql ты решил моментально забыть? Удобно для обоссаного петушка с фантазиями про отсталый стек - забывать неприятное.
Аноним 12/06/25 Чтв 18:50:30 3475121 130
>>3475040
Итак мы выяснили, что шизомагия делает данные вдвое меньше. Продолжаем наблюдение на пациентом.
По кафе я тебе обоссу завтра, сегодня ты получаешь урину за редис.
Аноним 12/06/25 Чтв 20:52:26 3475187 131
>>3475121
> У тебя, говноедище, куча бесполезных данных данных - sql в запросах, индексы, идентификаторы к каждому сообщению. У меня этого нет, потому что я не каложуй.
@
> РЯЯ ВРЁТИ НЕТУ ТЫ ГОВОРИШЬ ПРО МАГИЮ!11

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

Погоди, это получается ты реально малолетний студентик-обоссанец который зачем-то дрочит на эликсир? Мда.
Аноним 13/06/25 Птн 01:02:05 3475311 132
>>3475187
Животное, в редисе нет sql запросов. Ты окончательно ебанулся. Прими таблетки и не визжи, а то снова мамка в дурку сдаст.
Аноним 13/06/25 Птн 09:19:01 3475374 133
>>3475311
Ого, у тебя неслабые ментальные проблемы, ты уже забыл что именно ты писал про постгрес с сридисом.

С тобой всё хорошо, обоссанец? Почему ты больше не способен поддерживать даже примитивный диалог? Это из-за бесконечных унижений и потока мочи, которая покрывает тебя и этот тред полностью?
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов