Alexey
так он есть и слева и справа
Alexey
как и думал, по объему вышло больше 😂
Brown
Slava
про gogland. Методом тыка удалось установить, что самые медленные (Визуально идентифицируемые) инспекции это Bool condition inspection (вообще по секунд 10 у меня отрабатывает) и Unused exported function inspection. Без них -всё гораздо шустрее
Aleksandr
Slava
ну инспекции долго отрабатывали
Slava
без тех что указал выше - всё шустро
Slava
https://c9x.me/articles/gthreads/intro.html
Anonymous
У кого работает @karma_chat_bot ?
Мерль
dev_sheep
Ребята, привет. Может кто знает сервер на Go, который умеет кушать hls и транслировать его?
dev_sheep
Ибо мучаемся который день уже. Даже платные продукты не могут в hls, типа flashphoner
dev_sheep
Им постоянно обвязки нужны... Все, что нашел - это: https://github.com/shimberger/gohls. Но оно не работает должным образом.
Anton
На erlang знаю отличный https://erlyvideo.ru/
dev_sheep
о, благодарю. Сейчас гляну
ros
на erlang вроде там только вебка
Anton
Кто что может посоветовать для web mock? Или библиотеки или примеры подходов как правильно тестировать?
dev_sheep
У нас веб-камеры пачками по городу + стримы с перископа и ютуба
dev_sheep
с камерами все сделали, а вот собирать стримы с перископа тяжело...
dev_sheep
Инженеры фонера сказали, что только с помощью ffmpeg, но это отвратное решение
Мерль
dev_sheep
Чем плох ffmpeg?
тем, что для нас юзание ffmpeg-а, который будет пичкать стрим на сервак - решение не гуд. Хотелось бы медиа-сервак, который будет сам кушать потоки по url-ам.
dev_sheep
Если можно так сказать, все в одном
Anonymous
dev_sheep
Если можно так сказать, все в одном
dev_sheep
И всё же, чем плох ffmpeg?
Anonymous
ffmpeg + icecast
dev_sheep
хотя я впринципе не сказал, что плох ffmpeg :)
Anonymous
Сам такую связку юзаю. ffmpeg кодирует, icecast раздаёт. Работает как часы. ))
dev_sheep
а сколько коннектов он держит примерно?
dev_sheep
И ты кстати какие потоки собираешь?
Roman
для кровавого энтерпрайза есть wowza
dev_sheep
А, понял. За ответ спасибо :) Ни в одном чате не накидали столько вариантов.
P. S У нас на камеру планируется ~ 500 коннектов.
Anonymous
500 коннектов? Ну если ширина канала позволит, то думаю icecast легко справится. )
Anton
Anonymous
Господин @Flerry, когда напишет свой вариант, тоже сможет продавать по $ 1k / лицензию.
dev_sheep
Anonymous
Все дешевле чем самому писать.
Самому писать - да, возможно дешевле (если он не за еду работает). А из готовых инструментов собрать - бесплатно.
dev_sheep
А пока сам напишешь, куча времени и денег уйдёт в никуда
dev_sheep
Ну, это пока сервис небольшой... А там будет круто что-то свое сделать :)
dev_sheep
Мне вот интересно, что у перископа: что-то свое или юзают чужое?
dev_sheep
Илья
http://red5.org/
Илья
когда-то, много лет назад, поднимал эту штуку, не знаю как оно сейчас живёт
dev_sheep
Судя по коммитам, очень даже жив
Илья
но, это java, так что, памяти уест вагон, но работать может по скорости неплохо :)
Dmitriy / დიმიტრი
А есть где-нибудь на просторах телеги группа по PostgreSQL? Или может тут ответят: PostgreSQL умеет кэшировать результаты запросов типа 'SELECT SUM(money) FROM wallet WHERE True'?
У меня просто очень часто этот запрос делается, а каждый раз пересчитывать сумму это ужс
Anton
сделай cache counter в таблице со связью на кошельки
Bald
агрегатные запросы часто делать плохая идея
Ivan
Dmitriy / დიმიტრი
Bald
обычно триггер ставят и пишут в другую таблицу
Dmitriy / დიმიტრი
Anton
что за cache counter?
вот так это в рельсах сделано, https://rubyplus.com/articles/3221-Counter-Cache-Column-in-Rails-5
но вообще просто в приложении при сохранении одной записи в записи связаной с ней обновляется счетчик
Dmitriy / დიმიტრი
Dmitriy / დიმიტრი
Похоже тут особо ничего и не придумаешь
Dmitriy / დიმიტრი
Anton
Anton
вообще тк, это го и если кошельков не 10 млн штук то можно все счетчики в память закинуть если оди сервис, или в отдельный микросервис, и в него черз очередь запихивать все транзакции
у меня немного для другого, но похожего вот такая структруа создается
size := 1000000
s.bucket = make(map[int32]*string, size)
Dmitriy / დიმიტრი
Ну просто с этим всем база данных может прекрасно справиться. Хотя я может не прав
Dmitriy / დიმიტრი
Плюс, если сервис упадет, то будет очень обидно
Sheldhur
справится, тем более при рестарте в память опять придется все набивать
Brown
Sheldhur
ну и сколько он будет выполняться? если данных много
Sheldhur
можно и гланды через жопу вырезать, но зачем?
Anonymous
Короч, делается так. В БД ставится триггер на добавление/удаление строк, котрый будет сам делать +1 или -1 к итогам.
Anonymous
https://www.postgresql.org/docs/current/static/sql-createtrigger.html