Сегодня я сделал микросервис для работы с медиа на Golang. Он отвечает за хранение и получение файлов, например, аватаров пользователей и постеров фильмов.
Я реализовал получения файлов из S3 по ключу через HTTP. При этом загрузка и удаление файлов настроены через gRPC и выполняются между другими микросервисами.
Параллельно я продолжаю готовить сценарий для курса. Уже сделал теоретическую часть, стараюсь сделать материал максимально структурированным и логичным, чтобы каждый блок давал реальную пользу. В ближайшее время начну записывать теорию, а затем приступлю к большой практической части с самим проектом.
Работа идёт полным ходом🚀
Я реализовал получения файлов из S3 по ключу через HTTP. При этом загрузка и удаление файлов настроены через gRPC и выполняются между другими микросервисами.
Параллельно я продолжаю готовить сценарий для курса. Уже сделал теоретическую часть, стараюсь сделать материал максимально структурированным и логичным, чтобы каждый блок давал реальную пользу. В ближайшее время начну записывать теорию, а затем приступлю к большой практической части с самим проектом.
Работа идёт полным ходом
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥58👍13❤11❤🔥2
Всем привет!
Хочу поделиться своими мыслями. Сейчас я заканчиваю работу над проектом для курса, и за всё это время я реально очень сильно подружился с микросервисами. Я и раньше пробовал с ними работать, но этот проект - самый большой из тех, что я делал на микросервисах.
Больше всего меня удивило и порадовало то, насколько они могут быть разными. И я уверен, вы увидите в курсе, что я использовал этот плюс по максимуму. Самый яркий пример - один из сервисов написан на Go, а остальные на Nest.js.
Но это не всё.
В микросервисе для пользователей я использовал TypeORM вместо Prisma
В сервисе, который отвечает за логику кинотеатров, я сделал архитектуру DDD
В ещё одном микросервисе я использовал Mongoose
И ещё много других различий есть в остальных микросервисах
Благодаря этому я смогу подробно рассказать обо всех этих технологиях в видео. Именно поэтому курс получится объёмным. По функционалу проект возможно не больше, чем клон твича. Но если говорить именно про курс и количество материала, я уверен, что он его сильно превзойдёт!
Всем удачного кодинга!
Хочу поделиться своими мыслями. Сейчас я заканчиваю работу над проектом для курса, и за всё это время я реально очень сильно подружился с микросервисами. Я и раньше пробовал с ними работать, но этот проект - самый большой из тех, что я делал на микросервисах.
Больше всего меня удивило и порадовало то, насколько они могут быть разными. И я уверен, вы увидите в курсе, что я использовал этот плюс по максимуму. Самый яркий пример - один из сервисов написан на Go, а остальные на Nest.js.
Но это не всё.
В микросервисе для пользователей я использовал TypeORM вместо Prisma
В сервисе, который отвечает за логику кинотеатров, я сделал архитектуру DDD
В ещё одном микросервисе я использовал Mongoose
И ещё много других различий есть в остальных микросервисах
Благодаря этому я смогу подробно рассказать обо всех этих технологиях в видео. Именно поэтому курс получится объёмным. По функционалу проект возможно не больше, чем клон твича. Но если говорить именно про курс и количество материала, я уверен, что он его сильно превзойдёт!
Всем удачного кодинга!
2👍62🔥28❤11
Начал записывать практическую часть курса по микросервисам, и получается достаточно неплохо. Хочу прям втопить газ в пол, чтобы как можно быстрее записать курс. У меня есть примерный план, по которому я буду двигаться, и теперь в течение месяца я активно буду заниматься этим видео. Думаю результат вас очень обрадует!
26🔥65👍8❤7
Всем привет!
Я сейчас во всю записываю курс по микросервисам, и на данный момент уже получилось около 8 часов материала. Видео обещает быть очень длинным, потому что если смотреть со стороны функционала, то за эти 8 часов я разобрал только базовую логику авторизации и реализацию генерации токенов.
Дальше, конечно, будет проще: в начале нужно заложить фундамент и объяснить много ключевых вещей. По моим оценкам, бэкенд часть выйдет примерно на 20 часов и вероятно, это станет самым большим курсом по микросервисам на российском ютубе.
Надеюсь, за ближайшие три недели доснять оставшийся материал. Фронтенд - самая простая часть, его можно записать очень быстро, и с микросервисной архитектурой он конечно не сравнится.
Ну что поделать - работаем!
Я сейчас во всю записываю курс по микросервисам, и на данный момент уже получилось около 8 часов материала. Видео обещает быть очень длинным, потому что если смотреть со стороны функционала, то за эти 8 часов я разобрал только базовую логику авторизации и реализацию генерации токенов.
Дальше, конечно, будет проще: в начале нужно заложить фундамент и объяснить много ключевых вещей. По моим оценкам, бэкенд часть выйдет примерно на 20 часов и вероятно, это станет самым большим курсом по микросервисам на российском ютубе.
Надеюсь, за ближайшие три недели доснять оставшийся материал. Фронтенд - самая простая часть, его можно записать очень быстро, и с микросервисной архитектурой он конечно не сравнится.
Ну что поделать - работаем!
2🔥64❤11👍8❤🔥2😱2👏1
Доброе утро!
Сегодня с самого утра проснулся и первым делом получил сообщение в лс о том, что на моём сайте перестало работать создание платежей в Юкассе. Что очень странно, ведь вчера днём всё работало и я никаких изменений не вносил. Проверил сам и действительно не работает. Ну что поделать, у нас работа такая: сегодня всё ок, завтра всё внезапно ломается
Изначально я подумал, что Юкасса внезапно отключила возможность отправлять запросы на их API с зарубежных серверов. Возможно что-то поменяли, подумал я. Но потом, когда я зашёл на их API в браузере через волшебные три буквы, он тоже не откликался и я уже был уверен, что дело в географии.
Но оказалось всё куда интереснее. Позже я сделал curl ipinfo.io и увидел, что мой backend сервер висит на AS215439. То есть дело было не в зарубежных серверах вообще, а конкретно в моём хостере, чьи подсети платежные системы, скажем так, не особо жалуют. Поэтому Юкасса просто перестала принимать запросы именно с моего сервера.
Купил впску на территории РФ, чтобы поднять на нём прокси и вот тут случился еще один интересный момент. Я запускаю curl ipinfo.io, смотрю в org, а там AS213220. А это ещё хуже, чем AS215439 - одна из самых жёстко заблокированных подсетей, которую режут вообще все банки, платёжные сервисы и половина интернета. Спасибо конечно, но такой подарок мне не нужен
Всё таки когда покупаешь сервер по цене шавермы (которая сейчас даже дороже стоит), какой-то подвох обязан быть)
В итоге я купил самую дешевую впску в РФ с нормальным ASN у Бегета, настроил там прокси и теперь этот сервер работает как прокладка: запросы в Юкассу идут через него, и всё снова отлично. Проблема решена!
Заодно обновил свой SDK для работы с Юкассой в Nest.js, так как использую её у себя на бэкенде. Добавил в объект настроек proxyUrl, и если у вас возникнет такая же проблема - просто укажите host и port, и всё магически заработает. Документацию под это обновлю чуть позже.
Несмотря на всю эту историю, если вам нужны мощные и дешёвые серверы, очень советую play2go.cloud (конечно же рефка). Да, у них иногда есть тот самый "сетевой сюрприз". Но по железу за такие деньги просто космос. У меня там 4 vCPU Ryzen 5950X, 8GB RAM, 150GB NVMe за 850 рублей. За такие характеристики это преступно дёшево.
Ну и желаю всем продуктивного дня и поменьше багов!
Сегодня с самого утра проснулся и первым делом получил сообщение в лс о том, что на моём сайте перестало работать создание платежей в Юкассе. Что очень странно, ведь вчера днём всё работало и я никаких изменений не вносил. Проверил сам и действительно не работает. Ну что поделать, у нас работа такая: сегодня всё ок, завтра всё внезапно ломается
Изначально я подумал, что Юкасса внезапно отключила возможность отправлять запросы на их API с зарубежных серверов. Возможно что-то поменяли, подумал я. Но потом, когда я зашёл на их API в браузере через волшебные три буквы, он тоже не откликался и я уже был уверен, что дело в географии.
Но оказалось всё куда интереснее. Позже я сделал curl ipinfo.io и увидел, что мой backend сервер висит на AS215439. То есть дело было не в зарубежных серверах вообще, а конкретно в моём хостере, чьи подсети платежные системы, скажем так, не особо жалуют. Поэтому Юкасса просто перестала принимать запросы именно с моего сервера.
Купил впску на территории РФ, чтобы поднять на нём прокси и вот тут случился еще один интересный момент. Я запускаю curl ipinfo.io, смотрю в org, а там AS213220. А это ещё хуже, чем AS215439 - одна из самых жёстко заблокированных подсетей, которую режут вообще все банки, платёжные сервисы и половина интернета. Спасибо конечно, но такой подарок мне не нужен
Всё таки когда покупаешь сервер по цене шавермы (которая сейчас даже дороже стоит), какой-то подвох обязан быть)
В итоге я купил самую дешевую впску в РФ с нормальным ASN у Бегета, настроил там прокси и теперь этот сервер работает как прокладка: запросы в Юкассу идут через него, и всё снова отлично. Проблема решена!
Заодно обновил свой SDK для работы с Юкассой в Nest.js, так как использую её у себя на бэкенде. Добавил в объект настроек proxyUrl, и если у вас возникнет такая же проблема - просто укажите host и port, и всё магически заработает. Документацию под это обновлю чуть позже.
Несмотря на всю эту историю, если вам нужны мощные и дешёвые серверы, очень советую play2go.cloud (конечно же рефка). Да, у них иногда есть тот самый "сетевой сюрприз". Но по железу за такие деньги просто космос. У меня там 4 vCPU Ryzen 5950X, 8GB RAM, 150GB NVMe за 850 рублей. За такие характеристики это преступно дёшево.
Ну и желаю всем продуктивного дня и поменьше багов!
1❤24🔥14👍4🥰2😁2
Приветствую всех!
Вел на сайте технические работы, сейчас работа сайта восстановлена. Причина была в нашумевшей уязвимости в последних версиях React и Next.js (CVE-2025-55182 / CVE-2025-66478), которая позволяла удалённо выполнять код на сервере через RSC/Server Functions.
Кстати, Cloudflare внедрили автоматическую фильтрацию подозрительных запросов, а некоторые хостеры начали самостоятельно сканировать проекты и временно ограничивать сервера, если уязвимость не закрыта.
Сети сейчас массово сканируются ботами, которые проверяют сайты на наличие этой уязвимости, поэтому если вы используете React/Next.js - обязательно обновитесь до исправленных версий, если ещё этого не сделали.
Вел на сайте технические работы, сейчас работа сайта восстановлена. Причина была в нашумевшей уязвимости в последних версиях React и Next.js (CVE-2025-55182 / CVE-2025-66478), которая позволяла удалённо выполнять код на сервере через RSC/Server Functions.
Кстати, Cloudflare внедрили автоматическую фильтрацию подозрительных запросов, а некоторые хостеры начали самостоятельно сканировать проекты и временно ограничивать сервера, если уязвимость не закрыта.
Сети сейчас массово сканируются ботами, которые проверяют сайты на наличие этой уязвимости, поэтому если вы используете React/Next.js - обязательно обновитесь до исправленных версий, если ещё этого не сделали.
2🔥12❤5👍4
Я зашёл на свой сервер сейчас и понял, что ситуация оказалась куда веселее, чем я думал
Пока я обновлял проект из-за той самой уязвимости, на машину уже успел прилететь бот, который активно сканирует интернет на наличие этой дыры. В итоге на сервере я обнаружил майнер, запущенный через удалённое выполнение кода прямо из окружения некста.
Процесс жил в RAM, работал из /dev, был запущен от root, жрал почти 300% CPU и породил несколько тысяч zombie-процессов. Следов автозапуска не было, а бинарь удалял себя сразу после старта, так что вредоносными оказались именно выполняемые процессы в памяти.
Пока я обновлял проект из-за той самой уязвимости, на машину уже успел прилететь бот, который активно сканирует интернет на наличие этой дыры. В итоге на сервере я обнаружил майнер, запущенный через удалённое выполнение кода прямо из окружения некста.
Процесс жил в RAM, работал из /dev, был запущен от root, жрал почти 300% CPU и породил несколько тысяч zombie-процессов. Следов автозапуска не было, а бинарь удалял себя сразу после старта, так что вредоносными оказались именно выполняемые процессы в памяти.
2😱23😨3❤🔥2🔥1🙈1
Наконец восстановил работу сайта. Переустановил сервер с нуля, перенёс бд, обновил секреты и полностью перевёл фронтенд на Next.js 16
1❤🔥18👍12🔥9❤1
Всем привет!
Восстановил работу сайта с документацией для своего SDK nestjs-yookassa. Кроме того, обновил саму документацию и добавил guard для проверки того, что вебхук действительно пришёл от юкассы при помощи IP-адресов. Достаточно просто повесить декоратор на эндпоинт с вебхуком - и всё, защита готова.
Также восстановил работу международных платежей на своём сайте, они были недоступны из-за смены платёжного провайдера. Сейчас я подключил новый платёжный шлюз с более расширенным списком стран из которых принимаются карты.
Что касается курса по микросервисам, работа идёт полным ходом. У меня уже готово 20 часов материала. Снимаю очень много, и не припомню, чтобы когда-то записывал так продуктивно. В среднем получается по 2–3 часа в день.
Восстановил работу сайта с документацией для своего SDK nestjs-yookassa. Кроме того, обновил саму документацию и добавил guard для проверки того, что вебхук действительно пришёл от юкассы при помощи IP-адресов. Достаточно просто повесить декоратор на эндпоинт с вебхуком - и всё, защита готова.
Также восстановил работу международных платежей на своём сайте, они были недоступны из-за смены платёжного провайдера. Сейчас я подключил новый платёжный шлюз с более расширенным списком стран из которых принимаются карты.
Что касается курса по микросервисам, работа идёт полным ходом. У меня уже готово 20 часов материала. Снимаю очень много, и не припомню, чтобы когда-то записывал так продуктивно. В среднем получается по 2–3 часа в день.
1🔥26👍8❤4
Приветствую! Хочу поделиться своими успехами по поводу предстоящего курса по микросервисам.
Пару дней назад я закончил самую сложную часть курса. Как раз в эти дни я активно снимаю более лёгкие главы, и с микросервисами сейчас работа идёт как по маслу. Параллельно я объединяю всё отснятое и вырезаю лишние моменты.
По моим подсчётам, на данный момент уже готово около 29 часов материала. Оставшиеся 10-11 часов это ещё несколько микросервисов и фронтенд.
На фронтенд я не планирую делать особый акцент. Сейчас даже подумываю частично его через копипастить (конечно не полностью). Например, после авторизации и личного кабинета я ещё думаю, как лучше поступить.
Кстати, напишите как бы вы хотели видеть фронтенд в этом курсе. Он здесь нужен в первую очередь для демонстрации красивого и законченного результата, а основной акцент будет сделан именно на микросервисной архитектуре.
Пару дней назад я закончил самую сложную часть курса. Как раз в эти дни я активно снимаю более лёгкие главы, и с микросервисами сейчас работа идёт как по маслу. Параллельно я объединяю всё отснятое и вырезаю лишние моменты.
По моим подсчётам, на данный момент уже готово около 29 часов материала. Оставшиеся 10-11 часов это ещё несколько микросервисов и фронтенд.
На фронтенд я не планирую делать особый акцент. Сейчас даже подумываю частично его через копипастить (конечно не полностью). Например, после авторизации и личного кабинета я ещё думаю, как лучше поступить.
Кстати, напишите как бы вы хотели видеть фронтенд в этом курсе. Он здесь нужен в первую очередь для демонстрации красивого и законченного результата, а основной акцент будет сделан именно на микросервисной архитектуре.
5🔥43👍3❤2❤🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥5
🚀 Микросервисы на практике - сервис продажи билетов!
Я наконец готов представить самый масштабный проект на канале - полноценный курс по микросервисной архитектуре, в котором мы с нуля создаём сервис продажи билетов за 35 часов.
В ходе курса мы будем работать с такими технологиями, как Nest.js, gRPC, Proto, RabbitMQ, PostgreSQL, Prisma, Redis, MongoDB, TypeORM, Drizzle ORM, Docker, GitHub Actions, Prometheus, Loki и Grafana.
Кроме того, я покажу, как создавать и публиковать собственные пакеты в NPM, мы напишем один из микросервисов на Golang - и это лишь малая часть того, что вас ждёт.
Прошу вас поставить лайк и написать комментарий. Это поможет продвинуть видео, а меня будет мотивировать выпускать такие масштабные проекты и курсы дальше.
📱 Посмотреть видео можно на ютубе: https://tcdr.cc/microservices-youtube
📱 Исходный код можно скачать на сайте: https://tcdr.cc/microservices-course
UPD: конкурс завершён, победитель найден. Спасибо всем, кто участвовал!
Я наконец готов представить самый масштабный проект на канале - полноценный курс по микросервисной архитектуре, в котором мы с нуля создаём сервис продажи билетов за 35 часов.
В ходе курса мы будем работать с такими технологиями, как Nest.js, gRPC, Proto, RabbitMQ, PostgreSQL, Prisma, Redis, MongoDB, TypeORM, Drizzle ORM, Docker, GitHub Actions, Prometheus, Loki и Grafana.
Кроме того, я покажу, как создавать и публиковать собственные пакеты в NPM, мы напишем один из микросервисов на Golang - и это лишь малая часть того, что вас ждёт.
Прошу вас поставить лайк и написать комментарий. Это поможет продвинуть видео, а меня будет мотивировать выпускать такие масштабные проекты и курсы дальше.
📱 Посмотреть видео можно на ютубе: https://tcdr.cc/microservices-youtube
📱 Исходный код можно скачать на сайте: https://tcdr.cc/microservices-course
UPD: конкурс завершён, победитель найден. Спасибо всем, кто участвовал!
607🔥78❤15😱7
Поздравляю всех с новым годом! 🎉
Хочу подвести итоги года по поводу моего канала и платформы. Курсов было не так много, но я постарался сделать каждый максимально полезным. Самыми масштабными проектами стали курс по Nest.js, который до сих пор набирает обороты, курс по интеграции нескольких платёжных систем и конечно же, курс по микросервисной архитектуре, который длиться целых 35 часов.🚀
За этот год я накопил уйму опыта разработки, как для заказчиков, так и для себя. Было много экспериментов, ошибок и побед, но каждый такой урок помогает двигаться дальше.
Что касается сайта, в апреле был крупный апдейт, а осенью я внедрил премиум-подписку, которая открывает доступ ко всему исходному коду. Благодаря этому сайт начал приносить первую прибыль.💵
В целом год оказался очень продуктивным. Я приобрёл много нового опыта и в новом году планирую выпускать больше видео для вас, как больших курсов, так и небольших лекций или практических гайдов.📸
Спасибо всем, кто поддерживает канал и платформу. Ваша поддержка мотивирует создавать новые проекты и делиться с вами полезными знаниями.🤝
Желаю всем в новом году новых достижений, интересных проектов и вдохновения для реализации своих идей!🥳 🍾
Хочу подвести итоги года по поводу моего канала и платформы. Курсов было не так много, но я постарался сделать каждый максимально полезным. Самыми масштабными проектами стали курс по Nest.js, который до сих пор набирает обороты, курс по интеграции нескольких платёжных систем и конечно же, курс по микросервисной архитектуре, который длиться целых 35 часов.
За этот год я накопил уйму опыта разработки, как для заказчиков, так и для себя. Было много экспериментов, ошибок и побед, но каждый такой урок помогает двигаться дальше.
Что касается сайта, в апреле был крупный апдейт, а осенью я внедрил премиум-подписку, которая открывает доступ ко всему исходному коду. Благодаря этому сайт начал приносить первую прибыль.
В целом год оказался очень продуктивным. Я приобрёл много нового опыта и в новом году планирую выпускать больше видео для вас, как больших курсов, так и небольших лекций или практических гайдов.
Спасибо всем, кто поддерживает канал и платформу. Ваша поддержка мотивирует создавать новые проекты и делиться с вами полезными знаниями.
Желаю всем в новом году новых достижений, интересных проектов и вдохновения для реализации своих идей!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤44🎉18🍾7👍5🔥5
Всем привет! Решил вам немного рассказать, что такое ТСПУ и как оно работает 🧐
ТСПУ (технические средства противодействия угрозам) - это специальное оборудование, которое ставят прямо на магистрали у провайдеров. По сути, это централизованный комплекс на базе DPI (Deep Packet Inspection). И это не просто блокировка по IP или DNS.
Оно смотрит глубже: не только куда идут данные, но и как они устроены, как клиент и сервер общаются, с какой частотой идут пакеты, какой размер и структура сообщений. Даже если всё зашифровано, остаются метаданные, по которым понятно, что это за соединение и что делает пользователь.
С ТСПУ можно блокировать сервисы тонко. Например как сейчас с ютубом, то есть интерфейс видно, но при этом видео не воспроизводится. С точки зрения пользователя это выглядит как лаги интернета, а не как явная блокировка. То есть соединение есть, но часть функций может работать криво.
Все эти правила применяются централизованно, а не у каждого провайдера отдельно. То есть если что-то поменяли на уровне ТСПУ, это сразу касается всех, без ручной настройки.
ТСПУ (технические средства противодействия угрозам) - это специальное оборудование, которое ставят прямо на магистрали у провайдеров. По сути, это централизованный комплекс на базе DPI (Deep Packet Inspection). И это не просто блокировка по IP или DNS.
Оно смотрит глубже: не только куда идут данные, но и как они устроены, как клиент и сервер общаются, с какой частотой идут пакеты, какой размер и структура сообщений. Даже если всё зашифровано, остаются метаданные, по которым понятно, что это за соединение и что делает пользователь.
С ТСПУ можно блокировать сервисы тонко. Например как сейчас с ютубом, то есть интерфейс видно, но при этом видео не воспроизводится. С точки зрения пользователя это выглядит как лаги интернета, а не как явная блокировка. То есть соединение есть, но часть функций может работать криво.
Все эти правила применяются централизованно, а не у каждого провайдера отдельно. То есть если что-то поменяли на уровне ТСПУ, это сразу касается всех, без ручной настройки.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27❤6😱3
Какой вы хотели бы следующий большой курс?
Anonymous Poll
20%
Полный курс по тестированию Nest.js приложений
29%
Курс по DDD (Domain-Driven Design)
40%
Курс по Next.js
10%
Курс по работе с несколькими ORM в контексте Nest.js (Prisma, Drizzle, Mongoose)
❤🔥4🔥2🥰1
Победитель в конкурсе определён!
Секретная фраза из курса по микросервисам была найдена, все призы я отправил
UPD: она находится на 33:41:56
Секретная фраза из курса по микросервисам была найдена, все призы я отправил
UPD: она находится на 33:41:56
❤14😁4👍3
Приветствую всех! Я решил завести профиль в Teletype, чтобы публиковать там различные статьи. Первую статью я написал про то, как развернуть свой собственный статус-сервис с Uptime Kuma.
Прочитать можно здесь: https://blog.teacoder.ru/uptime-kuma-guide
Прочитать можно здесь: https://blog.teacoder.ru/uptime-kuma-guide
Teletype
Как развернуть свой собственный статус-сервис с Uptime Kuma
В этой статье я покажу, как развернуть свой собственный сервис для мониторинга сайтов и приложений с помощью Uptime Kuma
1🔥33❤11👍2
Приветствую! Сейчас я готовлю проект для небольшого курса про очень интересную технологию. Речь идёт о поисковом движке Meilisearch.
Мне показалось интересным рассказать о том, как можно реализовать продвинутый поиск, который учитывает отпечатки слов, разные склонения и другие особенности языка. Еще хочу уделить внимание внедрению искусственного интеллекта в поиск.
Кроме этого, я занимаюсь документацией для своей библиотеки Patcode, которая нужна для генерации простых одноразовых кодов. Параллельно я планирую немного улучшить её функциональность.
Мне показалось интересным рассказать о том, как можно реализовать продвинутый поиск, который учитывает отпечатки слов, разные склонения и другие особенности языка. Еще хочу уделить внимание внедрению искусственного интеллекта в поиск.
Кроме этого, я занимаюсь документацией для своей библиотеки Patcode, которая нужна для генерации простых одноразовых кодов. Параллельно я планирую немного улучшить её функциональность.
2👍49🔥16❤8❤🔥3😱2