Oleg
Не, сап не вариант сейчас. Но - будет о чем подумать.
Oleg
В целом этот вопрос и про пообсуждать
Oleg
Сейчас то есть то что есть, но может можно было бы сделать лучше 😊
Oleg
Может паттерн даже какой-то особый
Oleg
В том числе и для алгоритмов
Kirill
Интересный вопрос есть. Некая система, которой никогда нельзя падать, а если падает - должна восстанавливаться безошибочно. Выполняет итеративно один и тот же алгоритм, хранит стейты в базе данных. Если какое-либо падение или ошибка - оно должно восстановить своё состояние. При этом могут быть кейсы когда что-то было сделано, но не успелся обновиться стейт в базе. Наоборот - маловероятно, но тоже может быть. Ну и про падении может ведь не то не туда записать. Как сделать так чтобы гарантированно восстанавливать состояние безошибочно? Цена ошибки очень велика. Есть вариант с журналированием, что где и чего было сделано, и когда, а также обратная проверка - если зажурналированно одно, а результат какой-то не такой - попытка понять почему и восстановление стейта. Если невозвожно - падение с соответствующей ошибкой и разбирательство человеком. В целом - падение до разбирательства может быть не для всей системы т.к. в ней 78 независимых частей и если это возможно - отключение одной из них. Но. Возможно есть ещё какие кейсы или даже инструменты готовые что журналируют каждый чих и восстанавливают всё сами?
добро пожаловать в erlang
Kirill
если нужен hotstrart – могу подкинуть ссылок
Anonymous
Мда
Anonymous
Тупость
Ruslan
/warn
Oleg
добро пожаловать в erlang
А как там оное решается?
Vlad
Fault tolerant by design
Oleg
А есть примеры где на одном языке проблема, а на эрланге она решена?
Andrey
А ВОТ ТЕПЕРЬ ПАБЛИК
По ботам вопрос телеграмма у меня работает событие new_chat_participant если это несупер группа, а в супер группе никаких событий о поступлении человека не приходит
А ВОТ ТЕПЕРЬ ПАБЛИК
Как это отловить?
Kirill
А есть примеры где на одном языке проблема, а на эрланге она решена?
Это жестокая наркомания, скажу так. Это наркомания с другой стороны. Если тебе надо что-то быстро, ты пишешь на C. Мучаешься компиляторы. Может быть даже, ассемблер. Если тебе нужно fault tolerant — пишешь на erlang. Аптайм 9 9ок из коробки. Грубо говоря, если ты в Ерланге написал что-то, если твой код работает вообще, то будет работать не падая. Это и concurrent-programming, actor модель вот это вот всё, и способ мышления + фреймворк сразу OTP (это даже круче, чем Ruby для Рельс или Phoenix. Это как stdlib для c++).
Kirill
Например, в нём иммутабельные переменные. Если у тебя Var=2, то нельзя потом что-то ещё с этой Var сделать
Kirill
Я пока только на середине туториала, но у Ерланга есть 1 плюс — если что-то написано на форуме за 2009 год, то, скорее всего, это всё ещё актуально и работает. Прям такая же радость, как на Фортране писать)
Kirill
Чат в ФБ на нём работает
Oleg
Вот
Oleg
Вот это конкретный пример
Oleg
А в целом
Oleg
Спасибо
Oleg
Подумаю обо всем этом
Kirill
Вот это конкретный пример
Чат в League Of Legends, ещё есть приложения, про которые не могу рассказывать 8)
Kirill
Везде где что-то потоковое есть, телефония, чаты, mmorpg тот же, везде он неплохо поможет, но это очень наркомания, там нельзя по сути мускул использовать и 100% надо будет делать интеграции с чем-то ещё (для того же мускула).
Oleg
У меня монга и постгра
Kirill
у js скорей всего так же будет лет через 5)) если будут добавлять новое, как по типу символов и т.д. но не удалять старое))
Ставлю 1000р, что через 5 лет в JS будет скорее как в Python: будет 2.5 и 3.4 ветки несовместимые.
Viktor
это не такой лучезарный путь, каким я его стараюсь видеть))
Oleg
Питон с несовместимыми ветками это скорее исключение чем правило
Oleg
Маловероятно что JS так пойдет
Oleg
Хотябы потому что есть потребность писать сайты, которые работают на всех движках
Oleg
Это, в свою очередь, влияет и на разработчиков платформ
Ruslan
Возможно ли совместить работу vuejs и angularjs?
Oleg
На бекенде же иначе
Oleg
Там можно под себя поставить что хочешь
Oleg
А клиента не заставить
Kirill
Питон с несовместимыми ветками это скорее исключение чем правило
я скорее про то, что много нового появляется. Ну вот PHP4 уже не актуален. Сейчас там вроде тоже есть пакетный менеджер. Новый, современный erlang называется elixir. Вот это да) Но это – другой язык программирования.
Viktor
только про php хотел написать
Viktor
с его версиями
Oleg
Собственно и вот - на бекенде ты можешь заморозить
Oleg
На фронтенде - нет
Oleg
Потому что браузеры идут вперед
Oleg
Или соответствуешь - или умираешь
Kirill
Но кстати, Олег @oPavlov мб elixir тебе поможет, он не такой жёсткий (ну или я просто меньше ленился).
Oleg
У меня просто есть нечто, что в идеале не должно падать никогда ибо оно управляет финансами. И оно работает и сейчас и на основе того что есть. Но риски... хочется уменьшить их до максимума.
Oleg
Вот и задумался об альтернативах.
Oleg
В подходах... но тут пошли советы про сап и эрланг 😊
Oleg
Впрочем, ресурсы и время на переписать есть
Kirill
Тогда го erlang
Oleg
В целом слышал про эрланг как про параллельность, но никогда как про надежность
Dreamerinnoise
где камеру дали прогерам
Oleg
Нет
Dreamerinnoise
Нет
https://www.youtube.com/watch?v=xrIjfIjssLE
Oleg
А если в 2х словах?
Vlad
один из банков в украине
Vlad
erlyvideo
Viktor
телеграм на си?
Anonymous
телеграм на си?
дескоп версия - да
andrei
десктопный клиент на плюсах
Oleg
Когда говорите про десктоп - уточняйте ОС 😊
Anonymous
Когда говорите про десктоп - уточняйте ОС 😊
он у них с помощью gcc компилится
Дима
C++ вроде бы
Anonymous
Писать в 2016 на С++ глупо
Anonymous
Я не знаю что вы тут обсуждаете, но С++ - худший ЯП
Artem
Писать о том, что писать в 2016 на С++ глупо - глупо
Anonymous
rust - збс
Anonymous
если из компилируемых
Anonymous
Ну а вдруг здесь есть те, кто ублажает с++