Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Галопом по архитектуре. Часть 3. Когда руки чешутся все переделать

Уровень сложностиСложный
Время на прочтение24 мин
Количество просмотров5.7K

Как вы думаете, нужно ли архитектуру на вашем текущем проекте подвергнуть масштабному пересмотру и исправлению? Ставлю на то, что большинство читателей ответят положительно. И эта часть именно про это. В ней мы рассмотрим:

1. Когда сложившаяся архитектура подлежит масштабным изменениям.

2. Что не менее важно, когда лучше оставить, как есть.

3. Ключевые признаки проблем в архитектуре.

4. Основные способы исправления таких проблем.

Но для начала мы вспомним, что было в предыдущих сериях. В первой части мы прошлись по теории и выяснили:

1. Что техническая реализация заметно влияет на успехи бизнеса, хоть и не очень критично;

2. Что из всех аспектов технической реализации наибольший вклад в успех вносит именно архитектура;

3. Что самое важное свойство архитектуры — максимальная независимость команд друг от друга;

4. Что это свойство вытекает напрямую из двух фундаментальных характеристик программного обеспечения: coupling и cohesion, где coupling — характеристика связи двух точек системы/кодовой базы; а cohesion — характеристика того, насколько плотно упакованы такие связи в компоненты.

Во второй части мы уже перешли к практике построения архитектуры с нуля. Мы узнали:

1. Что попытки угадать с архитектурой до старта проекта обычно проваливаются.

2. Что маленькие команды работают буквально в разы эффективнее, чем большие.

3. Что лучший способ разделить софт между командами - делать это постепенно. Начать с одной команды и уже затем дробить систему по обнаруженным в процессе разработки границам.

Теперь перейдем к вопросу, что же делать, если «все уже украдено до нас».

Читать далее

Как в 19 лет я начал путь разработчика встраиваемого ПО

Время на прочтение4 мин
Количество просмотров18K

Привет, Хабр! Меня зовут Данила, мне 21 год, и за последние 2,5 года я успел поработать в роли разработчика программного обеспечения для встраиваемых систем — в основном на базе STM32. В этой статье я хочу поделиться тем, как я вообще пришёл в эту сферу, с чего начинал, какие грабли собрал и какие выводы сделал по пути.

Читать далее

Уничтожение EXE: 640 Байт для программы на C

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров15K

В наше время разработчики уже не так беспокоятся о размере приложений. Некоторые простейшие приложения требуют под 200-300 МБ, а игра вообще может весить более 100 ГБ. Я уже не говорю про "Hello World", который иногда занимет под 180-260 КБ!

К счастью, есть возможность сократить размер приложения. О мусоре в exe'шнике и о способах его удаления написано в этой статье.

Читать далее

DevOps в локальных облаках: как строить высоконагруженные системы с CI/CD, Kubernetes и Grafana

Время на прочтение7 мин
Количество просмотров5.6K

Как мы построили DevOps в локальном облаке без AWS и managed-сервисов: GitLab CI, Kubernetes, PostgreSQL, мониторинг на Prometheus и Grafana. 10 000 TPS в пике, 12 минут на деплой, 2 минуты на восстановление — и всё это в проде.

Читать далее

В айти не войти или о бедном стажёре замолвите слово…

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров41K

Когда-то всё было проще. В достопамятные двухтысячные годы джунов и в самом деле нанимали. Не спрашивали о «релевантном опыте», не требовали ссылки на боевые проекты и не строили сложных лабиринтов из HR-интервью, технических сессий, тестовых заданий и многоступенчатых собеседований. Но прошло 15–20 лет — и всё изменилось до неузнаваемости. Новички (стажёры и джуны) теперь бесправны и даже подозрительны.

Читать далее

Создаем плагин с генеративным ИИ для Unreal Engine на C++ (офлайн и онлайн версии)

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров2.1K

Вы когда‑нибудь задумывались о том, как здорово было бы, чтобы в вашей игре происходили настоящие человеческие диалоги? Представьте себе систему диалогов NPC, которая кажется невероятно реалистичной, или нарратора, который моментально реагирует на действия игроков. А может быть, вам нужен инструмент, способный генерировать уникальный контент «на лету» прямо в игре? Вне зависимости от того, создаете ли вы одиночную или многопользовательскую игру, внедрение генеративного искусственного интеллекта может сделать ваше творение намного интереснее и динамичнее. В этом руководстве я поделюсь с вами пошаговой инструкцией того, как это можно воплотить в вашем проекте.

Читать далее

Что делать при утечке персональных данных согласно 152-ФЗ: полный алгоритм действий

Время на прочтение5 мин
Количество просмотров2.7K

Всем уже известно, что с 30 мая 2025 года в России значительно ужесточились штрафы за нарушения в сфере персональных данных. Одно из таких нарушений — утечка персональных данных, — которая влечёт за собой весьма серьёзный штраф. Особенно уязвимыми к этому нарушению становятся малые и средние компании, где зачастую нет выделенных специалистов по информационной безопасности и юридической компетенции в области 152-ФЗ.

Утечка ПДн — это не просто техническая проблема, а правовой и репутационный кризис. Важно не только устранить последствия, но и правильно отреагировать в первые часы после инцидента, чтобы избежать ещё больших санкций. В этой статье мы разберём, какие риски несёт утечка и какие шаги должен предпринять бизнес в соответствии с требованиями Федерального закона 152-ФЗ.

Читать далее

Разрабатываем полноценную игру целиком при помощи ИИ (LLMDD, часть 1)

Уровень сложностиПростой
Время на прочтение52 мин
Количество просмотров7.9K

Откройте для себя революционный подход к разработке софта: как с помощью больших языковых моделей и агентного кодирования довести свой проект от идеи до рабочего прототипа в одиночку. В первой части серии вы узнаете, какие инструменты выбрать, как настроить среду разработки и составить эффективный дизайн-документ, чтобы LLM превратилось в надёжного исполнителя. Объясняю всё на примерах.

Читать далее

Регулярная отчетность. Цифры решают все

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров563

В послевоенное советское время убивали словом, по крайней мере, так было принято в кругу друзей прекрасного поэта Шефнера. Никакой крамолы, но это только полуправда: в Люблино уже тогда куда больше ценилась финка за голенищем, но оставим былое.

Как говорят нам опытные инфоцыгане коучи в модно-стильно-молодежно снятых роликах на YouTube RuTube — сейчас время data driven подхода! А значит убивают нынче цифрой. Я, если кому-то интересно, предпочитаю, семерку, она более всего походит на старый добрый мушкет или, на крайний случай, серп.

Шутки в сторону. В современном мире, когда каждая наша «улыбка» — не более чем поток единиц и нулей, который позволяет системе распознавания лиц списать с нас 67 рублей за проезд, цифры, действительно, определяют многое. Раньше обидным было слышать про небольшой размер достоинства, теперь, у топ-менеджмента корпораций досаду, гнев и злость вызывать маленькая EBITDA или ROI. О времена! О нравы! Да простит меня Александр Сергеевич.

10 лет назад я впервые познал силу цифр. До того момента я думал, что аналитика — это красивые отчеты, за которые платят много денег западным консалтинговым компаниям ради имиджа. Функциональное назначение трудов PWC, Mckinsey и прочих сильных мира сего ограничивалось следующим: орудие для удара по голове нерадивому сотруднику, оконный ограничитель летом в душном офисе, ну и, конечно, подставка под шатающийся стул. Все. То есть совсем все. Ни разу не видел, чтобы кто-то открыл их для того, чтобы принять какое-то важное решение, по крайней мере, так не везло мне. Творцы этих шедевров: несчастные стажеры, дизайнеры и прочие ребята в красивых костюмах с очень утомленными лицами и натянутыми улыбками, за которые тогда хотя бы не списывали деньги, сами в кулуарах признавали тщетность своих мук. Впрочем, это не мешало им продолжать ночами повторять сизифов труд, чтобы потом потратить заработанное на волшебные таблетки самого разного цвета и магических свойств.

Читать далее

Условная буферизация логов в Go

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.9K

Условная буферизация логов в Go: как сократить расходы на логирование на 95% без потери контекста ошибок.

[ПРОБЛЕМА]
1M запросов → 10M логов → 💸

[РЕШЕНИЕ]
Буфер → Анализ → Решение

Сохранить только нужные

[РЕЗУЛЬТАТ]
95% экономии + полный контекст ошибок

Читать далее

Как мы создавали технологию валидации печатей

Время на прочтение3 мин
Количество просмотров710

На рынке можно найти разные технологии по поиску печатей и подписей на документах. Мы в Content AI решили на этом не останавливаться и пошли дальше — помимо распознавания подписей и печатей, мы научились их валидировать. Обе технологии станут частью нашей универсальной платформы для интеллектуальной обработки информации ContentCapture и помогут пользователям еще быстрее обрабатывать большой поток документов. 

О том, как верифицировать подписи, мы поделились в предыдущем посте, а про технологию валидации печатей рассказываем под катом. 

Читать далее

Незаметное ограничение Android 15

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров13K

Сейчас Android 15 активно появляется у пользователей. И, как мне кажется, одна его особенность для многих могла остаться незамеченной и даже в документации в описании behavior-changes она в конце, а в Features and Changes list и вовсе забыта.

Читать далее

Мой первый P1 на Bugcrowd

Время на прочтение2 мин
Количество просмотров593

На прошлой неделе я решил испытать возможности iScan.today, так как видел о нем много положительных отзывов.

Как только мне прислали ответ, я сразу начал тестировать свои цели.

Читать далее

Ближайшие события

Нейро-дайджест: ключевые события мира AI за 3-ю неделю июня 2025

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.8K

Привет! Это новый выпуск «Нейро-дайджеста» — коротких и полезных обзоров ключевых событий в мире искусственного интеллекта и технологий.

Неделя выдалась интересной: ИИ-ассистент от ElevenLabs с Perplexity, видеомодели от Midjourney и MiniMax, американец сделал предложение ChatGPT, а стартап Rainmaker создаст дождь в нужный момент.

Всё самое важное — в одном месте. Поехали!

Читать далее

«Прилипания» HTTP-запросов в контексте прокси-сервера

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров2.4K

Сегодня пользователи ожидают от веб-приложений мгновенного отклика. Оптимизация производительности становится критически важной задачей для разработчиков. Один из способов повысить эффективность работы серверов и уменьшить время отклика — «прилипание» HTTP-запросов

Когда приложения обслуживают много пользователей одновременно, каждая миллисекунда задержки может привести к потере клиентов и снижению качества обслуживания. Прилипание запросов позволяет минимизировать количество необходимых операций, эффективнее распределять ресурсы и улучшить пользовательский опыт. 

Меня зовут Ринат Фатхуллин, я владелец продукта Platform V SynGX — веб- и обратного прокси-сервера на основе Nginx. Наш продукт полностью заместил Nginx Plus в Сбере, в том числе благодаря расширенной поддержке «липких» сессий. 

Здесь я подробно рассмотрю сценарии использования и особенности этого подхода. Статья будет особенно интересна специалистам, которые занимаются обеспечением бесперебойной работы высоконагруженных сервисов. 

Читать далее

5 минут вместо 4 часов: сократили время на выгрузку/загрузку объектов в формате ED из 1С в DATAREON и обратно

Время на прочтение3 мин
Количество просмотров2.1K

Уже несколько лет мы занимаемся интеграциями с помощью платформы DATAREON, часто заказчикам нужна выгрузка объектов из одной базы 1С в другую. Задача вроде бы понятная. Но каждый раз для этого требовалось проектировать структуру объектов, писать код, тестировать, исправлять баги. Сложно. Долго. Дорого. Рассказываю, что придумали.

Читать далее

Расширяем возможности VK DeviceHub: как мы добавляли поддержку iOS для собственной фермы мобильных устройств

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров853

Привет, Хабр. Меня зовут Даниил Смирнов. Я руководитель команды Android Core R&D в VK.

Не так давно я уже рассказывал о DeviceHub — инструменте от команды VK для одновременного управления несколькими смартфонами, который позволяет пользователям тестировать мобильные приложения и сайты на фермах, состоящих из сотен гаджетов. Подробнее почитать об этом можно здесь.

Читать далее

Машинное обучение в решении задач медицинской метагеномики

Время на прочтение5 мин
Количество просмотров731

Машинное обучение проникает во все большее число научных и прикладных областей — от финансов до биомедицины. Даже такая сложная и специфичная сфера, как медицинская метагеномика, сегодня все активнее использует ML для диагностики заболеваний, поиска биомаркеров и анализа микробиоты. О том, какие задачи решает ML в метагеномике и с какими трудностями сталкиваются исследователи, рассказывает к. м. н. Анастасия Холодная — выпускница магистратуры «Прикладной анализ данных в медицинской сфере» и эксперт Центра «Пуск».

Читать далее

Считаем риски: как планировать спринт без сюрпризов

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров870

Планирование спринта часто напоминает стрельбу из лука с закрытыми глазами: мы надеемся попасть в цель, но попадаем себе в колено (конец приключениям). Срыв сроков крайне редко происходит из-за лени или некомпетентности — чаще всего виноваты неучтённые риски.

Читать далее

ИИ, no-code, блокчейн и софты: тренды во фронтенд- и бэкенд-разработке 2025

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.3K

Привет! Меня зовут Илья Благородов, я разработчик с 30-летним стажем и эксперт в онлайн-магистратуре от Яндекса и ИТМО «Фронтенд- и бэкенд-разработка». В этой статье я расскажу, какие тренды появились в разработке за последние годы, какие навыки нужны специалистам, чтобы соответствовать трендам, и что ждёт сферу в будущем.

Читать далее