Bogdan (SirEdvin)
Потому что внешний источник. Пример, внешний источник n раз в день присылает данные, которые нужно обработать. А другой внешний источник дергает апи для формирования _самого_ актуального отчета. Обе операции условно долгие (от нескольких минут). И если данные были у нас в системе, но не попали в отчет - проблемы.
Bogdan (SirEdvin)
Вот и приходится страдать с синхронизацией такой
Tishka17
Nikolay
Николай конпеляет python3.7.3 на debian9
Bogdan (SirEdvin)
Надеюсь, не будет предложения сделать узкое горлышко
Egor
А си тогда што?) Для полноты сравнения
Деревянная палка, из которой теоретически можно состряпать коробку передач из сокола тысячелетия, но для этого потребуется 100 лет. Когда начнётся движение, и включится вторая передача всё перестанет работать, но никто не узнает почему, а водителя вывернет наизнанку от лучевой болезни
Bogdan (SirEdvin)
Хотя это получится семафор все равно
Bogdan (SirEdvin)
Bogdan (SirEdvin)
И вебсокеты там есть
🍁 Jaŭhien
Egor
Egor
Bogdan (SirEdvin)
Egor
собственно я в свое время столкнулся с необходимостью юзать потоки для того чтобы запилить вебсокеты и подписку на обновления в бдшке
Bogdan (SirEdvin)
Tishka17
Anonymous
Кстати, ребзяки. На днях слушая доклад Светлова по АсинкИО наткнулся на утверждение, которого мне страшно не хватало в ентом чатике против некоторых пассажиров, которые "а че тестыне зопилил???!!!Шо как лох?"
Многопоточное приложение невозможно покрыть тестами полностью. Это невозможно фундаментально.
Tishka17
Bogdan (SirEdvin)
Tishka17
То есть с ними теоретически наверно возможно, но не просто
Tishka17
Egor
если конечно это был не сарказм)
Tishka17
Да не, интересно как люди готовят
Bogdan (SirEdvin)
Если только
Ну, мы там делаем на проекте и работает
Tishka17
Tishka17
Tishka17
В смысле брокер
Bogdan (SirEdvin)
Rabbitmq
Tishka17
Rabbitmq
Один Коннект на инстанс и внутри него сам диспатчишь или как?
Bogdan (SirEdvin)
Tishka17
Угу
Bogdan (SirEdvin)
+ всякие буферы последних n сообщений (не личных) для удобства
Tishka17
Ну это по сути кэш бд
Egor
Да не, интересно как люди готовят
На фронте Vue.js, на бэке Flask (с выпиленным шаблонизатором и иже с ним), flask_socketio (чтобы socketio завёлся юзал gunicorn + gevent + monkey patching), и threading + rethinkdb changefeeds.
Egor
как-то так
Туночка️
im = Image.open('image.gif')
rgb_im = im.convert('RGB')
r, g, b = rgb_im.getpixel((1, 1))
print(r, g, b)
это пиллов или пил?
Egor
да просто смысла нет писать веб на плюсах
Egor
это как умываться вилкой
Anonymous
да просто смысла нет писать веб на плюсах
Помнится, в свое время была отдельная спецолимпиада, когда пацаны на асме унижали плюсовиков в категории "кто быстрее напишет окно функциональное под венду и которое меньше будет жрать памяти". За этим было забавно наблюдать
Andrew
Nikolay
Egor
окна тоже нет смысла писать на си
Nikolay
kitty dies
Egor
си идеален там, где нужно работать на очень низком уровне
Egor
это в свою очередь компенсирует и отсутствие гарбажколлектора, и его многословность
Egor
более того, других средств тупо нету
Co(n)stantine👨🔬
многословность?
Anonymous
Egor
многословность?
"сколько строк кода нужно написать чтобы сделать X"
Egor
и задачи веба требуют от си-программиста написание толмудов, при этом надежность таких систем будет минимальна
Egor
видел я один проектик где на css с препроцессором написали 3д движок для браузера
Egor
звучит эпично, но поддерживать такой проект это пиздец, к тому же если разобраться, под капотом JS (тут был капитан очевидность)
Anonymous
Ребя, а как можно сообразить счетчик посещаемости сайта?
Egor
вот и нецелевое использование си или крестов - не меньшее извращение
Egor
ибо одни языки оптимизированны для работы с данными, другие для работы с железом, третьи для отображения, а между ними разного рода API (здесь тоже был капитан очевидность)
Egor
любая попытка выйти за рамки этой концепции обречена как минимум на создание стапитста ненужных абстракций, усложнение, удорожание
Aragaer
это не мешает мне сесть и написать что-нибудь на си, просто потому что мне это захотелось
Aragaer
и ваще, как хорошо, что я не пишу код за деньги
Aragaer
поэтому могу использовать что захочу для чего захочу
Egor
никто ведь не держит продакшн сервер под веб приложение на генте
Egor
и причины более чем понятны
Aragaer
мне нет, но мне это все равно не важно
Aragaer
наверно что-то про деньги, как обычно
Egor
с другой стороны, есть такие видеорегистраторы TRASSIR которые как раз таки на генте, но это простите не веб, тут оптимизация под аппаратную платформу превыше всего
Aragaer
почему сразу не lfs?
Aragaer
или там какой-нибудь buildroot или еще одно из множества готовых систем "собери себе свой линукс"
Egor
наверно что-то про деньги, как обычно
надёжность, отказоустойчивость, стоимость обслуживания, наличие вендоров, которые оптимизируют софтину под разворачивание на определенном дистрибутиве
Egor
потому в проде как правило либо редхат, либо убунту
Aragaer
ну да, про деньги и "конкурентоспособность"
Egor
это прежде всего оптимизация труда
Aragaer
то есть деньги и конкурентоспособность