Как реализовать WebSocket на Android и не сойти с ума

Как часто вы слышите что-то о протоколе WebSocket? А как часто видели его в проектах? Продакшн? Андроид? Что? Его кто-то использует? А теперь представьте, что перед вами стоит задача внедрить WS в крупный продакшн проект с нуля. С чего начать? Как подступиться?

https://habr.com/ru/companies/betboom/articles/1007816/

#kotlin #android #websocket #kmp #network #kotlin_multiplatform #wss #clean_architecture #мобильная_разработка #андроид

Как реализовать WebSocket на Android и не сойти с ума

Как часто вы слышите что-то о протоколе WebSocket? А как часто видели его в проектах? Продакшн? Андроид? Что? Его кто-то использует? А теперь представьте: перед вами стоит задача внедрить WS в крупный...

Хабр

ADR, архитектурные тесты и кейсы из прода: ресурсы, которые реально меняют код

У меня была привычка. Вижу классную статью про архитектуру —-сохраняю. Репозиторий с примерами DDD - в закладки. Видео про CQRS - в плейлист «Посмотреть потом». Вы знаете, чем кончаются плейлисты «Посмотреть потом». В какой-то момент закладок стало 300+. Половина ссылок битые, треть дублируют друг друга, остальное - статьи, которые казались гениальными в два часа ночи. Я сел и вычистил всё до 106 ресурсов. Собрал их в awesome-list на GitHub . Но статья не про список. Статья про три вещи, которые я для себя открыл в процессе и которые почему-то мало обсуждают.

https://habr.com/ru/articles/1001010/

#architecture #DDD #CQRS #clean_architecture #ADR #software_design #software_architecture #best_practices #system_design #microservices

ADR, архитектурные тесты и кейсы из прода: ресурсы, которые реально меняют код

У меня была привычка. Вижу классную статью про архитектуру — сохраняю. Репозиторий с примерами DDD — в закладки. Видео про CQRS — в плейлист «Посмотреть...

Хабр

Надежный код: как писать тесты, чтобы запускать фичи в продакшен одним днем

Писать или не писать тесты — выбор очевидный. Конечно, писать. Но если проект масштабный, одних unit‑тестов будет недостаточно: они бессильны на границах модулей, в интеграциях и пользовательских сценариях, а значит в этих местах будут пролезать баги. Такой код будет сложно поддерживать, вносить в него изменения и получать ожидаемый результат. В статье поговорим про разные стратегии тестирования под разные риски и кейсы. Поднимемся над привычными unit‑тестами и заглянем, что там есть еще. Спойлер: а еще там workflow‑, integration‑, property‑based‑ и resilience‑тесты.

https://habr.com/ru/companies/mindbox/articles/1000090/

#C# #unittesting #integration_testing #propertybasedtesting #pure_functions #clean_architecture

Надежный код: как писать тесты, чтобы запускать фичи в продакшен одним днем

Писать или не писать тесты — выбор очевидный. Конечно, писать. Но если проект масштабный, одних unit‑тестов будет недостаточно: они бессильны на границах модулей,...

Хабр

Как я написал AI-генератор коротких видео (Shorts/Reels) на Python с Clean Architecture

Привет, Хабр! 👋 В этой статье я хочу поделиться опытом разработки пет-проекта, который превратился в полноценный инструмент для автоматической генерации коротких видео (Shorts, Reels, TikTok). Идея проста: на входе — тема (например, "История Римской Империи за 1 минуту"), на выходе — готовый видеоролик с озвучкой, субтитрами и сгенерированным видеорядом. Но вместо того, чтобы накидать "спагетти-код" в одном файле main.py , я решил подойти к задаче как инженер и построить систему на принципах Clean Architecture . 🎯 Зачем? Генерация видео — это сложный пайплайн: 1. Написать сценарий. 2. Придумать визуальный стиль. 3. Сгенерировать картинки (Midjourney, Flux). 4. Оживить картинки в видео (Kling, Runway, Sora). 5. Озвучить текст (TTS). 6. Собрать всё вместе с субтитрами. API меняются, модели выходят новые каждую неделю. Сегодня лучший визуал у Flux, завтра у Midjourney v7. Сегодня видео делаем в Runway, завтра в Kling. Жесткая привязка к конкретным API убила бы проект через месяц. Поэтому Clean Architecture здесь не роскошь, а необходимость. 🏗 Архитектура Проект разбит на слои, следуя классической "луковой" архитектуре: 1. Domain (Entities) : Pydantic-модели, описывающие суть ( VideoScript , Scene , Character ). Они ничего не знают о внешнем мире. 2. Interfaces : Абстрактные классы ( VideoGenerator , ScriptGenerator ). Контракты, которые должны соблюдать внешние сервисы. 3. Services (Use Cases) : Бизнес-логика. Здесь живут "Агенты": Сценарист, Арт-директор, Режиссер монтажа. 4. Infrastructure : Реализации интерфейсов (API клиентов Comet, Yandex, OpenAI и т.д.).

https://habr.com/ru/articles/996064/

#ai #langchain #langchain_агенты #pyhon #clean_architecture

Как я написал AI-генератор коротких видео (Shorts/Reels) на Python с Clean Architecture

Привет, Хабр! 👋 В этой статье я хочу поделиться опытом разработки пет-проекта, который превратился в полноценный инструмент для автоматической генерации коротких видео (Shorts, Reels, TikTok). Идея...

Хабр

Зачем учить Go, когда есть ИИ? Запускаем Open Source проект «The Gopher Shop»

В мире, где всё чаще во главу угла ставятся деньги, а не реальная польза, легко потерять ориентиры. Мы привыкли к тому, что образовательные курсы - это конвейер по выкачиванию средств, а Junior-разработчики - просто статистика. Мне захотелось создать что-то, что выбивается из этой парадигмы. Что-то, что принесет реальную пользу сообществу Гоферов. Представляю вам The Gopher Shop - бесплатный open-source проект для обучения Go-разработке.

https://habr.com/ru/articles/994012/

#Go #Golang #Open_Source #Обучение_программированию #Clean_Architecture #Визуальное_обучение #Backend #Самообразование #Помощь_новичкам

Зачем учить Go, когда есть ИИ? Запускаем Open Source проект «The Gopher Shop»

�� мире, где всё чаще во главу угла ставятся деньги, а не реальная польза, легко потерять ориентиры. Мы привыкли к тому, что образовательные курсы - это конвейер по выкачиванию средств, а...

Хабр

Чистая архитектура

Привет Хабр! В этой статье мне бы хотелось рассказать про чистую архитектуру Роберта Мартина. Чистая архитектура это набор правил и идей, которые делают систему независимой от фреймворков, UI, баз данных и любых внешних агентов. Цель — создать систему, которую легко тестировать, поддерживать и изменять. Попытаюсь рассказать вам все кратко и понятно.

https://habr.com/ru/articles/984206/

#clean_architecture #Backend

Чистая архитектура

Привет Хабр! В этой статье мне бы хотелось рассказать про чистую архитектуру Роберта Мартина. Чистая архитектура это набор правил и идей, которые делают систему независимой от фреймворков, UI, баз...

Хабр

Технический гайд по сторис — часть 3: как мы написали свою библиотеку

Привет! Меня зовут Владислав Фальзан, я работаю android-разработчиком в М2. Наша команда мобильной разработки развивает приложение — онлайн-платформу для решения вопросов с недвижимостью. Основные пользователи приложения — физические лица (B2C) и риелторы (B2B2C). Эта статья — технический гайд для android-разработчиков о том, как использовать нашу новую библиотеку по сторис с деталями и нюансами реализации. Из статьи вы поймете: как использовать библиотеку на полную мощность для своих задач и как она устроена изнутри. Для удобства изучения статьи я решил разбить ее на блоки:

https://habr.com/ru/companies/m2tech/articles/980424/

#android #ddd #compose #stories #mvvm #kotlin #coroutines #clean_architecture #room

Технический гайд по сторис — часть 3: как мы написали свою библиотеку

Привет! Меня зовут Владислав Фальзан, я работаю android-разработчиком в М2. Наша команда мобильной разработки развивает приложение — онлайн-платформу для решения вопросов с недвижимостью. Основные...

Хабр

Структура кода в папке Domain по DDD

В слое Domain 90% проектов с тактическим DDD забыли о самом главном. Сегодня мы вспомним то о чем забыли или узнаем то чего не знали.

https://habr.com/ru/articles/975936/

#DDD #domain_driven_design #domain_driven_development #backend #clean_architecture #bounded_context #domain #monolith

Структура кода в папке Domain по DDD

Последние 5 лет я изучаю и практикую DDD как стратегический, так и тактический, везде, где представляется возможным. И вот чем больше я погружался в тактическую часть - тем чаще возникал вопрос "это я...

Хабр

Как полюбить писать тесты: опыт TATLIN.UNIFIED

Всем привет! Меня зовут Макс Теричев. Я старший инженер по разработке ПО в

https://habr.com/ru/companies/yadro/articles/964122/

#golang #тестирование #unitтесты #code_coverage #ci_cd #mock #git_hooks #clean_architecture #gomock #tatlinunified

Как полюбить писать тесты: опыт TATLIN.UNIFIED

Всем привет! Меня зовут Макс Теричев. Я старший инженер по разработке ПО в YADRO . В первый день работы в компании меня отправили пройти Go Tour . После этого я приступил к работе по автоматизации...

Хабр

Boolean — плохой флаг для данных

Мы все видели и использовали поля типа boolean в базах данных как часть структуры данных. На первый взгляд это удобно: два значения — «да» или «нет», просто и понятно. Например, у пользователя может быть флаг is_active , который показывает, включён аккаунт или нет, или поле is_deleted , которое используется как мягкое удаление. Такие поля встречаются повсюду. Но на практике хранение boolean в базе данных как элемента модели часто приводит к проблемам. В этой статье разберёмся, почему boolean может быть плохим выбором, и что использовать вместо него, чтобы избежать ошибок в будущем.

https://habr.com/ru/articles/942910/

#clean_code #clean_architecture #data_structures #data_storage #architectureascode #architecture_design #architecture_principles #architectural_decision_records

Boolean — плохой флаг для данных

Вступление Мы все видели и использовали поля типа boolean в базах данных как часть структуры данных. На первый взгляд это удобно: два значения — «да» или «нет», просто и понятно. Например, у...

Хабр