Миф о микросервисах: больше — не всегда лучше
🤔 А теперь реальность: микросервисы — это не панацея, а иногда и прямой путь к проблемам, если их использовать не по назначению. Давайте разберёмся, почему.
1️⃣ "Микросервисы улучшают масштабируемость"
✅ Правда: да, ты можешь масштабировать только нужные части системы, а не всё приложение.
❌ Но: если твоя система изначально не нагружена, микросервисы добавляют сложность на ровном месте. Подумай, стоит ли городить зоопарк, если у тебя три пользователя и один запрос в минуту? 🦄
2️⃣ "Микросервисы упрощают разработку"
✅ Правда: они позволяют разделить проект на автономные куски, и команды могут работать параллельно.
❌ Но: каждый микросервис — это отдельная точка отказа. Привет, бесконечные баги и конфликты между командами, которые не договорились, как использовать API. 🤷♂️
3️⃣ "Микросервисы — это современно"
✅ Правда: модно, молодёжно, хайпово.
❌ Но: следовать трендам, не понимая их смысла, — это как надеть костюм космонавта, чтобы выглядеть умнее. Лучше классный монолит, чем плохой микросервис. 🚀
Когда микросервисы реально нужны?
💡 Если у тебя:
— Высокая нагрузка и нужны частые масштабирования.
— Сложная архитектура, где разные команды отвечают за свои части.
— Бизнес-логика требует частого обновления отдельных компонентов.
Если ничего из этого нет, монолит — твой лучший друг. 🙌
Заканчиваем на позитиве:
Архитектура — это не про тренды, а про здравый смысл. Иногда самый простой выбор оказывается самым эффективным. Так что, если кто-то снова скажет: "Микросервисы или смерть!" — напомни им, что здравый смысл всегда живёт дольше хайпа. 💡
#тек
🔥 Миф: "Микросервисы решают все проблемы. Чем больше микросервисов — тем круче твой проект!"
🤔 А теперь реальность: микросервисы — это не панацея, а иногда и прямой путь к проблемам, если их использовать не по назначению. Давайте разберёмся, почему.
1️⃣ "Микросервисы улучшают масштабируемость"
✅ Правда: да, ты можешь масштабировать только нужные части системы, а не всё приложение.
❌ Но: если твоя система изначально не нагружена, микросервисы добавляют сложность на ровном месте. Подумай, стоит ли городить зоопарк, если у тебя три пользователя и один запрос в минуту? 🦄
2️⃣ "Микросервисы упрощают разработку"
✅ Правда: они позволяют разделить проект на автономные куски, и команды могут работать параллельно.
❌ Но: каждый микросервис — это отдельная точка отказа. Привет, бесконечные баги и конфликты между командами, которые не договорились, как использовать API. 🤷♂️
3️⃣ "Микросервисы — это современно"
✅ Правда: модно, молодёжно, хайпово.
❌ Но: следовать трендам, не понимая их смысла, — это как надеть костюм космонавта, чтобы выглядеть умнее. Лучше классный монолит, чем плохой микросервис. 🚀
Когда микросервисы реально нужны?
💡 Если у тебя:
— Высокая нагрузка и нужны частые масштабирования.
— Сложная архитектура, где разные команды отвечают за свои части.
— Бизнес-логика требует частого обновления отдельных компонентов.
Если ничего из этого нет, монолит — твой лучший друг. 🙌
Заканчиваем на позитиве:
Архитектура — это не про тренды, а про здравый смысл. Иногда самый простой выбор оказывается самым эффективным. Так что, если кто-то снова скажет: "Микросервисы или смерть!" — напомни им, что здравый смысл всегда живёт дольше хайпа. 💡
#тек
❤1
Доброе утро, питонята! 📱 🐍🔆 Вчера всю ночь ругал сначала Windows, потом Python, затем Ansible. А сегодня утром проснулся и переключился на мат в адрес Ubuntu 24.02. Всё потому, что она какая-то капризная и не особо дружит с Python.
Решение — установить Ubuntu 22.02 на WSL. Накатить то я накатил🥛 , но дальше пока не продвинулся. Вернусь к этому вечером. А сейчас — за работу! Продуктивного дня! 🚀
Решение — установить Ubuntu 22.02 на WSL. Накатить то я накатил
Please open Telegram to view this post
VIEW IN TELEGRAM
Россия — Чемпион по DDoS-атакам в 2024 году! 🏆💻
Если вы заметили, что ваш интернет-трафик в этом году был медленным, возможно, это потому, что Россия заняла первое место по количеству перенесенных DDoS-атак в 2024 году! 🎉 (Ну, или не совсем повод для праздника, но всё же...)
По данным аналитиков Qrator, общее количество DDoS-атак в мире выросло на 53% по сравнению с прошлым годом. Это как если бы ваш сосед вдруг решил каждый день устраивать вечеринки, и ваш интернет начал тормозить из-за наплыва "гостей"! 🎉📶
А теперь к делу: больше всего атак пришлось на сегменты "финтех" (39,6%) и "электронная коммерция" (35,7%). Похоже, хакеры решили, что онлайн-покупки и банковские операции — это самое вкусное! 🛒💸
В топ-5 наиболее атакованных секторов также вошли:
- Медиа 📰 (5,6%) — похоже, новости стали слишком горячими! 🔥
- Онлайн-ставки 🎰 (5,1%) — кто-то очень хочет выиграть!
- IT и телеком 📱 (4,5%) — ну, это и так понятно!
Что касается географии, то больше всего кибератак было зафиксировано в России (32,4%) и США (20,6%). Так что, если ваш интернет в последнее время ведет себя как капризный кот, вы знаете, почему! 🐱💻
А самая продолжительная атака этого года длилась около 464 часов (19 дней)! Это как если бы ваш сосед устроил вечеринку на три недели! 🎉📅 В прошлом году рекорд был "всего" 72 часа, так что прогресс налицо!
В общем, будьте бдительны и следите за безопасностью своих данных. А если ваш интернет вдруг затормозит, вспомните, что это, возможно, просто очередная DDoS-атака! 😅🔒
Stay safe and keep calm! 🤗💻
#новости
Если вы заметили, что ваш интернет-трафик в этом году был медленным, возможно, это потому, что Россия заняла первое место по количеству перенесенных DDoS-атак в 2024 году! 🎉 (Ну, или не совсем повод для праздника, но всё же...)
По данным аналитиков Qrator, общее количество DDoS-атак в мире выросло на 53% по сравнению с прошлым годом. Это как если бы ваш сосед вдруг решил каждый день устраивать вечеринки, и ваш интернет начал тормозить из-за наплыва "гостей"! 🎉📶
А теперь к делу: больше всего атак пришлось на сегменты "финтех" (39,6%) и "электронная коммерция" (35,7%). Похоже, хакеры решили, что онлайн-покупки и банковские операции — это самое вкусное! 🛒💸
В топ-5 наиболее атакованных секторов также вошли:
- Медиа 📰 (5,6%) — похоже, новости стали слишком горячими! 🔥
- Онлайн-ставки 🎰 (5,1%) — кто-то очень хочет выиграть!
- IT и телеком 📱 (4,5%) — ну, это и так понятно!
Что касается географии, то больше всего кибератак было зафиксировано в России (32,4%) и США (20,6%). Так что, если ваш интернет в последнее время ведет себя как капризный кот, вы знаете, почему! 🐱💻
А самая продолжительная атака этого года длилась около 464 часов (19 дней)! Это как если бы ваш сосед устроил вечеринку на три недели! 🎉📅 В прошлом году рекорд был "всего" 72 часа, так что прогресс налицо!
В общем, будьте бдительны и следите за безопасностью своих данных. А если ваш интернет вдруг затормозит, вспомните, что это, возможно, просто очередная DDoS-атака! 😅🔒
Stay safe and keep calm! 🤗💻
#новости
👍1
💣 Друзья Дурова: скам-проекты в Telegram и крипте
Прочитал расследование про схемы, которые провернули друзья Павла Дурова и разработчики Telegram. Это прибыльнее, чем торговать наркотой, и Павел, похоже, в курсе.
Вот что там нашли:
🚩 Чёрный кэш через Telegram Stars. Ворованные карты, «дропы» и крипта. До 50% с оборота в карман другу Дурова.
🚩 Сливы токенов. Проекты-однодневки на TON, которые пиарят сами разработчики.
🚩 Ботофермы. Миллионы фейковых пользователей для накрутки аудитории и цен на рекламу.
🚩 Фейковая реклама. Бабки льются напрямую в карманы разработчиков Telegram.
🔍 Всё это нашли в слитых данных бота для TON.
Кто-нибудь видел это расследование? Стоит ли доверять, или это очередной инфошум?
#новости
Прочитал расследование про схемы, которые провернули друзья Павла Дурова и разработчики Telegram. Это прибыльнее, чем торговать наркотой, и Павел, похоже, в курсе.
Вот что там нашли:
🚩 Чёрный кэш через Telegram Stars. Ворованные карты, «дропы» и крипта. До 50% с оборота в карман другу Дурова.
🚩 Сливы токенов. Проекты-однодневки на TON, которые пиарят сами разработчики.
🚩 Ботофермы. Миллионы фейковых пользователей для накрутки аудитории и цен на рекламу.
🚩 Фейковая реклама. Бабки льются напрямую в карманы разработчиков Telegram.
🔍 Всё это нашли в слитых данных бота для TON.
Кто-нибудь видел это расследование? Стоит ли доверять, или это очередной инфошум?
#новости
This media is not supported in your browser
VIEW IN TELEGRAM
🎩 Джентльменский набор для пет-проекта 🛠️
Запуск пет-проекта — это как первый полёт на самодельном дроне: захватывающе, но детали важны. Вот мой джентльменский набор, который поможет настроить всё быстро, просто и без лишних затрат:
1️⃣ Документация
📝 Где хранить: Yandex Wiki.
Просто и под рукой. Храните всё: идеи, планы, схемы. Главное правило: если что-то не задокументировано — этого как бы и нет.
2️⃣ Трекер задач
📋 Что использовать: Yandex Tracker.
Создаём задачу, трекаем прогресс, закрываем. Всё. Просто. Лаконично. Да и API у него удобное для автоматизации.
3️⃣ Хранилище кода
💾 Опции: GitHub, GitLab, Gitverse — всё, что умеет Git.
Собственный сервер для гита? Нет уж, спасибо. Хостинг спасает от головной боли.
4️⃣ CI/CD
🚀 Почему нужно: Катывать изменения руками — это как искать Wi-Fi в лесу.
Минимальный сетап: Jenkins + Ansible. Дёшево, сердито и работает. Jenkins командует, Ansible исполняет.
5️⃣ Метрики
📈 Чем мониторить: Prometheus + Grafana
🔥 Добавляем Telegram-бот для алертов, чтобы важное не упустить.
6️⃣ Логи
📜 Что использовать: Kibana.
Собирать логи вручную? Это не хобби, это пытка. Kibana помогает сделать всё красиво и удобно.
7️⃣ Где всё это держать?
🗄️ Лайфхак: всегда ищите баланс между затратами времени и денег.
Документация и задачи: Yandex Wiki и Tracker.
Остальное: собственный Jenkins и инструменты.
💡 Самое классное: обвязать пет-проект этим зоопарком, и можно экспериментировать сколько угодно. С таким базисом вы сможете сосредоточиться на кайфе от разработки, а не на инфраструктурных заморочках.
#толки
Запуск пет-проекта — это как первый полёт на самодельном дроне: захватывающе, но детали важны. Вот мой джентльменский набор, который поможет настроить всё быстро, просто и без лишних затрат:
1️⃣ Документация
📝 Где хранить: Yandex Wiki.
Просто и под рукой. Храните всё: идеи, планы, схемы. Главное правило: если что-то не задокументировано — этого как бы и нет.
2️⃣ Трекер задач
📋 Что использовать: Yandex Tracker.
Создаём задачу, трекаем прогресс, закрываем. Всё. Просто. Лаконично. Да и API у него удобное для автоматизации.
3️⃣ Хранилище кода
💾 Опции: GitHub, GitLab, Gitverse — всё, что умеет Git.
Собственный сервер для гита? Нет уж, спасибо. Хостинг спасает от головной боли.
4️⃣ CI/CD
🚀 Почему нужно: Катывать изменения руками — это как искать Wi-Fi в лесу.
Минимальный сетап: Jenkins + Ansible. Дёшево, сердито и работает. Jenkins командует, Ansible исполняет.
5️⃣ Метрики
📈 Чем мониторить: Prometheus + Grafana
🔥 Добавляем Telegram-бот для алертов, чтобы важное не упустить.
6️⃣ Логи
📜 Что использовать: Kibana.
Собирать логи вручную? Это не хобби, это пытка. Kibana помогает сделать всё красиво и удобно.
7️⃣ Где всё это держать?
🗄️ Лайфхак: всегда ищите баланс между затратами времени и денег.
Документация и задачи: Yandex Wiki и Tracker.
Остальное: собственный Jenkins и инструменты.
💡 Самое классное: обвязать пет-проект этим зоопарком, и можно экспериментировать сколько угодно. С таким базисом вы сможете сосредоточиться на кайфе от разработки, а не на инфраструктурных заморочках.
#толки
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Доброго 🤗 и прям вот такого классного утра 🤪.
Я вот с зальчика🏋️ начинаю.
Кто где стартует 🏁 ?
Я вот с зальчика
Кто где стартует 🏁 ?
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Прокрастинация: королева всех отмазок 🏰
О, да... мог бы начать с дефиниции из Википедии, но вот моя версия: прокрастинация — это когда важные дела откладываются, потому что появляются дела ещё важнее! Например, как сегодня утром: убраться в комнате, настроить умную лампочку или заполнить бланк голосования за капремонт (да-да, всё это было). 😅
Я делю прокрастинацию на два типа:
1️⃣ Явная — ты знаешь, что занимаешься фигнёй. Например, «мир не спасать же в грязной комнате, да и лампочка мигает!»
2️⃣ Неявная — ещё хуже, потому что не осознаёшь, что делаешь что-то бесполезное, но делаешь.
Мой лайфхак, чтобы сократить явную прокрастинацию:
⏱️ Ставлю таймер на 30 минут. Убираюсь (или делаю фигню), что успел — молодец, дальше сажаю себя за комп и начинаю работать в чуть более чистой комнате.
Для борьбы с неявной прокрастинацией я веду таймшиты. Такая табличка, где пишу, чем занимался с ... по ... (спойлер: иногда становится жутко стыдно 🙈).
Победить прокрастинацию полностью? Unreal. Но можно минимизировать её влияние. Это ведь прокачка дисциплины 💪
#толки
О, да... мог бы начать с дефиниции из Википедии, но вот моя версия: прокрастинация — это когда важные дела откладываются, потому что появляются дела ещё важнее! Например, как сегодня утром: убраться в комнате, настроить умную лампочку или заполнить бланк голосования за капремонт (да-да, всё это было). 😅
Я делю прокрастинацию на два типа:
1️⃣ Явная — ты знаешь, что занимаешься фигнёй. Например, «мир не спасать же в грязной комнате, да и лампочка мигает!»
2️⃣ Неявная — ещё хуже, потому что не осознаёшь, что делаешь что-то бесполезное, но делаешь.
Мой лайфхак, чтобы сократить явную прокрастинацию:
⏱️ Ставлю таймер на 30 минут. Убираюсь (или делаю фигню), что успел — молодец, дальше сажаю себя за комп и начинаю работать в чуть более чистой комнате.
Для борьбы с неявной прокрастинацией я веду таймшиты. Такая табличка, где пишу, чем занимался с ... по ... (спойлер: иногда становится жутко стыдно 🙈).
Победить прокрастинацию полностью? Unreal. Но можно минимизировать её влияние. Это ведь прокачка дисциплины 💪
#толки
👍2
🔥 Супер новость!
Hamster Kombat убирают с криптобирж! 🐹💥 За время листинга монета успела рухнуть на 70%.
Я обожаю концепцию криптовалют и блокчейна, ведь там можно делать реально крутые штуки, например, смарт-контракты как на Polymarket. Но... почему-то чаще всего "наворачивают" просто тыкалки, где токены тупо пампят. 🫠
Жаль, что крипта до сих пор как Дикий Запад: такие проекты собирают кучу внимания, а нормальные идеи остаются в тени.
Кто ещё наблюдает за этим цирком? 🎪
#новости
Hamster Kombat убирают с криптобирж! 🐹💥 За время листинга монета успела рухнуть на 70%.
Я обожаю концепцию криптовалют и блокчейна, ведь там можно делать реально крутые штуки, например, смарт-контракты как на Polymarket. Но... почему-то чаще всего "наворачивают" просто тыкалки, где токены тупо пампят. 🫠
Жаль, что крипта до сих пор как Дикий Запад: такие проекты собирают кучу внимания, а нормальные идеи остаются в тени.
Кто ещё наблюдает за этим цирком? 🎪
#новости
🤖 Опять об ИИ🔧💡
У меня есть пара идей, связанных с ИИ, поэтому я чутка погрузился в тему. И вот что накопал:
1️⃣ ИИ — это математика, но круче.
Всё началось с формул прошлого века. Только раньше не было ни нормального железа, ни кучи данных. А теперь это 🚀!
2️⃣ Скачок ИИ ждёт новой математики.
Если данных много — ИИ шикарен. А вот как дело доходит до нестандартных задач — он такой: "Эээ... нет." 🤷♂️
3️⃣ ИИ — твой умный друг, но не супергерой.
Он идеально разбирает хаос в задачах, но не ответит на вопрос: "Как завоевать мир?" 🌍✨
4️⃣ ИИ не захватит мир (ещё нет).
Без наших "ручек" он бесполезен. Так что Skynet подождёт. 🛠️
5️⃣ ИИ не отбирает работу, он её создаёт.
Каждое новое изобретение = новые профессии. Через пару лет мы все будем консультантами по нейросетям. 💼🤓
6️⃣ ИИ = промышленная революция 2.0.
Те, кто научится пользоваться, станут королями этой эпохи. Остальные... ну, вы поняли. 👑📈
7️⃣ ИИ уже тут, и он не ждёт.
Не начнёшь сейчас — завтра будешь догонять. Как с интернетом в начале 2000-х. 🌐
#толки
У меня есть пара идей, связанных с ИИ, поэтому я чутка погрузился в тему. И вот что накопал:
1️⃣ ИИ — это математика, но круче.
Всё началось с формул прошлого века. Только раньше не было ни нормального железа, ни кучи данных. А теперь это 🚀!
2️⃣ Скачок ИИ ждёт новой математики.
Если данных много — ИИ шикарен. А вот как дело доходит до нестандартных задач — он такой: "Эээ... нет." 🤷♂️
3️⃣ ИИ — твой умный друг, но не супергерой.
Он идеально разбирает хаос в задачах, но не ответит на вопрос: "Как завоевать мир?" 🌍✨
4️⃣ ИИ не захватит мир (ещё нет).
Без наших "ручек" он бесполезен. Так что Skynet подождёт. 🛠️
5️⃣ ИИ не отбирает работу, он её создаёт.
Каждое новое изобретение = новые профессии. Через пару лет мы все будем консультантами по нейросетям. 💼🤓
6️⃣ ИИ = промышленная революция 2.0.
Те, кто научится пользоваться, станут королями этой эпохи. Остальные... ну, вы поняли. 👑📈
7️⃣ ИИ уже тут, и он не ждёт.
Не начнёшь сейчас — завтра будешь догонять. Как с интернетом в начале 2000-х. 🌐
#толки
Please open Telegram to view this post
VIEW IN TELEGRAM
Как я полюбил Either и почему это круто 😎
У функционального подхода к написанию кода есть один огромный плюс — он сразу отсекает кучу не очень квалифицированных специалистов. Серьезно, сколько раз я видел live-coding на чем-то вроде Flux, и всё заканчивалось одинаково: оно даже не компилируется. А если упомянуть Scala... ну вы поняли.
Но надо искать светлые стороны! Один мегаудобный паттерн я всё-таки нашел и теперь использую во всех своих новых проектах — это
Что такое
Either — это альтернатива стандартным исключениям и null-check'ам. Он позволяет выразить результат выполнения операции в виде двух возможных вариантов:
Его можно представить как контейнер:
Где:
Почему Either удобен?
1️⃣ Избавление от исключений: больше никаких
2️⃣ Читабельность: твой код становится декларативным и предсказуемым.
3️⃣ Цепочки вызовов: методы вроде map и flatMap делают обработку данных интуитивной.
4️⃣ Никакого
Либа для Kotlin — Arrow
Чтобы работать с Either удобно, есть библиотека Arrow. Это мощный функциональный toolkit для Kotlin, который упрощает использование функциональных паттернов.
Как это работает?
Пример: чтение данных из файла.
Здесь используется fold — метод, который обрабатывает и Left, и Right в одном месте.
Вишенка на торте — цепочки
С Either ты можешь обрабатывать данные в несколько шагов:
Почему я люблю Either ❤️
Этот паттерн настолько удобен, что я затащил его даже в Dart-код WEB UI-части "Тут даром". Там он помогает мне разруливать ошибки прямо в интерфейсе, делая код проще и читабельнее.
Он делает разработку чище, защищает от неожиданных ошибок и позволяет сосредоточиться на логике, а не на "что-то опять сломалось". Если ты ещё не пробовал Either, самое время начать! 💪
#тек
У функционального подхода к написанию кода есть один огромный плюс — он сразу отсекает кучу не очень квалифицированных специалистов. Серьезно, сколько раз я видел live-coding на чем-то вроде Flux, и всё заканчивалось одинаково: оно даже не компилируется. А если упомянуть Scala... ну вы поняли.
Но надо искать светлые стороны! Один мегаудобный паттерн я всё-таки нашел и теперь использую во всех своих новых проектах — это
Either! 🚀Что такое
Either?Either — это альтернатива стандартным исключениям и null-check'ам. Он позволяет выразить результат выполнения операции в виде двух возможных вариантов:
Left — для ошибки или неудачи.Right — для успешного результата.Его можно представить как контейнер:
Either<Error, Result>
Где:
Error — тип ошибки (например, строка или кастомный класс).Result — тип успешного результата.Почему Either удобен?
1️⃣ Избавление от исключений: больше никаких
try-catch. Ошибки обрабатываются как обычные значения.2️⃣ Читабельность: твой код становится декларативным и предсказуемым.
3️⃣ Цепочки вызовов: методы вроде map и flatMap делают обработку данных интуитивной.
4️⃣ Никакого
null: всё строго типизировано, и IDE помогает тебе не забыть обработать оба варианта.Либа для Kotlin — Arrow
Чтобы работать с Either удобно, есть библиотека Arrow. Это мощный функциональный toolkit для Kotlin, который упрощает использование функциональных паттернов.
Как это работает?
Пример: чтение данных из файла.
fun readFileContent(path: String): Either<String, String> {
return try {
val content = File(path).readText()
Either.Right(content)
} catch (e: IOException) {
Either.Left("Failed to read file: ${e.message}")
}
}
val filePath = "data.txt"
val message = readFileContent(filePath).fold(
ifLeft = { error -> "Ошибка: $error" },
ifRight = { content -> "Содержимое файла: $content" }
)
println(message)
Здесь используется fold — метод, который обрабатывает и Left, и Right в одном месте.
Вишенка на торте — цепочки
С Either ты можешь обрабатывать данные в несколько шагов:
val result = readFileContent("data.txt")
.map { it.uppercase() } // Преобразуем содержимое
.fold(
ifLeft = { error -> "Не удалось обработать файл: $error" },
ifRight = { content -> "Обработанное содержимое: $content" }
)
println(result)
Почему я люблю Either ❤️
Этот паттерн настолько удобен, что я затащил его даже в Dart-код WEB UI-части "Тут даром". Там он помогает мне разруливать ошибки прямо в интерфейсе, делая код проще и читабельнее.
Он делает разработку чище, защищает от неожиданных ошибок и позволяет сосредоточиться на логике, а не на "что-то опять сломалось". Если ты ещё не пробовал Either, самое время начать! 💪
#тек
arrow-kt.io
The perfect companion for your Kotlin journey