Довольно интересно. Легкая подача. Еще будет интересно посмотреть развитие сервиса под асинхонщину и рпс.
@CutCodeRu14 күн бұрын
Спасибо, хорошая идея
@vesh9513 күн бұрын
Если правильно выражаюсь, то handler и так асинхронно работает. Но как вариант можно рассмотреть создание очереди на скрины, а потом вытаскивание из этой очереди по порядку. Как для упражнения по структурам и асинхронной обработке самое то. Запускается n + 1 раз http GET /resource/pull (страницы ждут ответа) и затем POST /resource (передаем в запросе данные) n раз. По порядку запросов выдаются данные (порядок запрос-клиент соблюдается) и 1 должен оставаться дожидаться ответа. Сам попробую такое поделать как упражнение + простая очередь сообщений реализуется
@maxon86113 күн бұрын
@@vesh95 Именно это я и имел в виду. Еще интересна не просто очередь, а устойчивая к падениям сервиса, например.
@vesh959 күн бұрын
@ Ну это решается просто сохранением данных на накопителе, ну или репликацией. В первом можно sqlite использовать, а во втором придется решить проблему маршрутизации/балансировки. Можно Алекса Сюя почитать, он в общих чертах рассказывает о масштабах приложения и как все обустроить, чтобы не сложилось всё доминошкой. Ну вообще когда люди задаются такими вопросами это уже указывает на уровень, даже не то что изучил это человек или нет, как мне кажется)
@vesh959 күн бұрын
@@maxon861 Мы с другом вообще раскуривали тему, того сколько денег необходимо заработать на приложении и какой уровень rpm можно сделать максимально допустимый для сервиса. Ответ убил))) Чтобы исчерпать ключ типа u big int понадобятся все года 🤣
@ell1ar7 күн бұрын
Ребятки, знатоки, сеньоры-помидоры, кто писал игры на go? Кто-нибудь шарит за ESC и DOTS? Просто в го многопоточка выглядит как что-то абсолютно привычное, а в играх как раз было бы классно в цикле распараллелить вычисления в системах. Хочу попробовать в геймдев, но не в шарпы и плюсы, да даже в джаву, а в что-то подобное, простое и прикольное
@vesh9514 күн бұрын
1:08:32 Проорался 😄 В го обрабатывать ошибки нужно с умом. Я вот когда читал по го книжку, как раз моделировал в голове ситуацию, когда незначительная и впролне правильная ошибка кладёт приложение)) Ты тут немного неправильно сделал. Там прямо из handler должен контекст первым параметром (это соглашение такое) в sacptureScreenshot передаваться, и в handler следить за дедлайном, а ты из-за него log.Error сделал в sacptureScreenshot а это панику вызывает и соответственно весь сервис ложится))
@CutCodeRu14 күн бұрын
@@vesh95 глянем в след стриме
@prosklad14 күн бұрын
Очень круто спасибо
@vesh9514 күн бұрын
Цукалос. М., "Golang для профи " читаю сейчас, классная книга, показывает как правильно писать консольки на go (да и вообще в целом) а не как "введите число a:, введите число b:", вот здесь действительно возвышенность есть некоторая, но относительно универских и технарских задачек) Хотя на php тоже laravel и yii2 реализует у себя нормальные args --flags команды.
@CutCodeRu14 күн бұрын
Спасибо! Попробую найти время и почитать
@vesh9513 күн бұрын
@@CutCodeRu Ну там лучше над примерами кода, особенно по асинхронике, экспериментировать. Там по "сюжету" создаём простой справочник номеров. Сначала в терминале, потом с использованием многоуровневых команд, далее всё это переписывается на веб и пишется консольный клиент под это всё, а дальше ещё не дочитал, но там как рассматривается ещё взаимодействие по ws, tcp/udp, grpc. В общем интересная книжка + подсказывают лучшие практики организации UX этого ПО для потребителя
@OkaySoft13 күн бұрын
Скажите пожалуйста, как вы считаете, в микросервисной архитектуре, базу данных создава отдельно под микросервис или общую, есть ведь проблема с JOIN?
@ivan_adamovich12 күн бұрын
микросервисная архитектура это лишь категория архитектур. Это все равно что спросить "где должен быть двигатель у машины". Это слишком общий вопрос. У легковой машины под капотом а у стиральной за барабаном 🤷♂
@DNKND11 күн бұрын
Если база не отдельная то это не микросервисы. Это уже какой то гибрид со всеми вытекающими..
@ivan_adamovich11 күн бұрын
@@DNKND там скорее вопрос был в том, что под каждый контейнер с микросервисом ставится своя база или же у всех микросервисов общая
@haskelllisp599814 күн бұрын
Ну вот и ты прав, все время приходится костылить что то под проект на php, почему?
@KDenisG13 күн бұрын
Полностью поддерживаю Данила в плане питона. Медленный, дырявый, нетипизированный, с убогим синтаксисом, с убогой реализацией ооп язык
@vesh9514 күн бұрын
На go пишут - гоферы, а на rust - растаманы))
@CutCodeRu14 күн бұрын
то уж гопники и растаманы))
@Edvard-Aliev14 күн бұрын
Ну это очевидный этап, с php на go, я так же сделал и вам советую!
@optimizeit14 күн бұрын
я тоже в процессе! расскажи легко было найти работу в новом стеке?
@Edvard-Aliev14 күн бұрын
@ нет, 5 собесов и в озон.tech взяли
@vashkatsi15 күн бұрын
А ссылка на репу будет?
@CutCodeRu15 күн бұрын
@@vashkatsi могу сделать, надо?
@vashkatsi14 күн бұрын
@@CutCodeRu надо
@CutCodeRu14 күн бұрын
@ github.com/lee-to/go-screenshoter-stream
@Seraf_15 күн бұрын
Получается php умер
@CutCodeRu15 күн бұрын
@@Seraf_ с чего бы?)
@optimizeit14 күн бұрын
нет и не умрет)
@haskelllisp599814 күн бұрын
Кроме как под веб и вывод динамического HTML он мало пригоден
@haskelllisp599814 күн бұрын
В плане синтаксиса и простоты , по-моему python лучший, что не скажешь про php, PHP как по мне убогий язык, даже js если на typescript - е и то лучшемв разы
@CutCodeRu14 күн бұрын
вкусовщина видимо
@slikeiv447714 күн бұрын
@@haskelllisp5998 ну это просто привыкание к синтаксису, я когда проекты на js вижу , глаза краснеют
@NK-kg1qv13 күн бұрын
про Питон это шутка? там только гоноеды разберуться что написано, особенно в больших проектах
@slikeiv447714 күн бұрын
жду симфони
@CutCodeRu14 күн бұрын
ощущение что мало желающих
@slikeiv447714 күн бұрын
@CutCodeRu да есть такое. По golang если есть желание можно ознакомиться с книжкой Pro Go 2022 apress, там автор книги делает небольшой микро фреймворк (набор пакетов) для себя , где есть базовый функционал: авторизаци я, валидация, даже DI есть, можно подчерпнуть инфу оттуда. Я начинал с нее изучение.