Pull to refresh
64
Степан Медников@steff

Java-разработчик

24
Subscribers
Send message

Как устроен AI-агент изнутри

Level of difficultyMedium
Reading time17 min
Reach and readers11K

Представьте сцену. Вы пишете в терминал: «разберись, почему на main падает вот этот тест, и попробуй починить». Жмёте Enter. Спиннер крутится, подписи меняются — сначала “Pondering…”, потом зачем-то “Julienning…”, потом “Recombobulating…”. Через минуту агент прочитал логи CI, нашёл зафейлившийся тест, заглянул в связанный модуль, заметил, что кто-то криво подкрутил регекс, предложил правку, дождался вашего «да» — и коммитит. Пока вы наливаете чай, PR уже уехал на ревью.

Выглядит как магия. На деле внутри — удивительно стройная инженерная конструкция: главный цикл на пару сотен строк, обросший целой экосистемой обслуживающих подсистем. Я несколько вечеров подряд ковырялся в исходниках одного такого CLI-агента для разработки: де-обфусцированный дистрибутив примерно на 300 модулей, файл-вход почти на 800 тысяч строк после разсборки бандла. И за «магией» обнаружились вещи, про которые отдельно хочется написать: собственный React-реконсилятор для терминала, двухуровневая загрузка описаний инструментов, классификатор опасных bash-команд, трёхрежимное сжатие контекста, fork-join для саб-агентов, защита от невидимых Unicode-инъекций в промпте.

Эта статья — мои заметки по итогам погружения. Не реклама конкретного продукта (реальных имён функций и классов я намеренно избегаю), а разговор про архитектурные решения, которые стоят за современным CLI-агентом. Главный цикл и его устройство, инструменты, контекст и его сжатие, разрешения и хуки, MCP, память между сессиями.

Читать далее

200+ зарубежных компаний с русскоязычными командами: где искать работу на международке?

Level of difficultyEasy
Reading time2 min
Reach and readers11K

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

Внутри 200+ компаний с российскими или восточно‑европейскими корнями. Плюс ссылки на вакансии, сферы и сведения о релокации.

Читать далее

Как я обжаловал попытку военкомата ограничить меня в правах

Level of difficultyEasy
Reading time8 min
Reach and readers40K

История о том, как военкомат собирался применить ко мне ограничительные меры, несмотря на то, что в военкомат я явился (также был риск, что меня доставят в военкомат полицейские - для составления протокола). И как я обжаловал их намерения (на данный момент ограничения не введены и информации о таких намерениях тоже больше нет).

29.11.2025 я получил СМС от номера 117 с текстом: "Вам направлена повестка в военкомат. Ознакомиться: реестрповесток.рф".

По закону возможные ограничение за неявку по повестке (согласно статьи 7.1 Закона №53-ФЗ "О воинской обязанности и военной службе"):

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

Читать далее

60 бесплатных уроков марта: от React и Docker до архитектуры, DWH и ИИ

Level of difficultyEasy
Reading time4 min
Reach and readers7.6K

Хотите прокачать React и Kotlin, разобраться, как устроены саги и брокеры сообщений в распределённых системах, подтянуть Docker и Linux, а заодно понять, где в 2026-м заканчивается ажиотаж про хранилище данных (DWH) и начинается работающая практика? В этом дайджесте собрали 60 бесплатных уроков марта по ключевым направлениям: программирование, архитектура, инфраструктура, информационная безопасность, тестирование, машинное обучение и наука о данных, аналитика и управление.

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

Читать далее

Стандартная модель. От симметрий к кваркам

Level of difficultyHard
Reading time36 min
Reach and readers13K

Стандартная модель часто выглядит как странный зоопарк частиц: шесть кварков, шесть лептонов, восемь глюонов, W и Z, фотон, Хиггс… Но если смотреть на неё не как на таблицу, а как на язык симметрий, оказывается, что это очень жёсткая и экономичная конструкция.

В этой статье я продолжаю цикл про «Теорию всего» и разбираю Стандартную модель как минимальную калибровочную квантовую теорию поля. Мы начинаем с симметрий Пуанкаре и внутренних групп SU(3)×SU(2)×U(1), показываем, как из них неизбежно рождаются глюоны, W/Z и фотон. Потом разбираем фермионный сектор: кварки и лептоны как представления этих групп, левый/правый, поколения. Отдельная часть посвящена Хиггсу — не как «шайбе массой 125 ГэВ», а как механизму, который даёт массы W/Z и фермионам, не разрушая калибровочную структуру.

В финале обсуждаем аномалии, BRST-симметрию и ренормгруппу: как требования отмены аномалий фиксируют дробные гиперзаряды и структуру поколений, почему QCD оказывается асимптотически свободной, а калибровочные константы почти унифицируются на высоких энергиях. Цель статьи — показать читателю с физмат-бэкграундом, что Стандартная модель — это не случайный набор формул, а почти единственный самосогласованный способ устроить наш мир из симметрий, который не ломается ни на уровне математики, ни на уровне эксперимента.

Читать далее

Разработка высоконагруженных API: проблемы, решения, практические рекомендации

Level of difficultyMedium
Reading time14 min
Reach and readers79K

Ваш проект взлетел. Первые пользователи превратились в тысячи. Тысячи стали десятками тысяч. Метрики в дашбордах рисуют красивую кривую, устремленную вверх. Но есть и другие кривые, которые ползут вверх с не меньшей скоростью. Время ответа сервера. Количество ошибок 502 и 504.

То, что летало на ста запросах в секунду, начинает задыхаться на десяти тысячах. Это не ошибка, это физика. Архитектура для этих двух миров — это как велосипед и грузовой поезд. Они оба едут, но задачи у них разные. Так что давайте забудем про теорию и посмотрим, где обычно рвется и как это чинить, чтобы не переписывать все с нуля каждый раз, когда у вас прибавляется нолик в статистике пользователей.

Читать далее

Про обогреватели

Level of difficultyEasy
Reading time25 min
Reach and readers46K
Хватит! Хватит мёрзнуть и терпеть бредни копирайтеров про электрические отопительные приборы!

Зима (долго готовил, уже лето) располагает поговорить про обогреватели. Разберёмся, чем отличаются разные обогреватели, зачем их столько напридумывали, и где нам маркетологи вместе с копирайтерами пытаются продать барахло втридорога. Внимание: текст писал злой инженер — могут попадаться формулы.

Читать дальше →

CORS, CORP, COEP, COOP. Разбираемся со всеми CO* и смотрим на нюансы

Level of difficultyEasy
Reading time17 min
Reach and readers13K

В сети интернет достаточно информации на русском языке по поводу SOP и CORS, но введение в такие технологии как CORP, COEP и COOP показалось недостаточным (а кто-то может видеть эти аббревиатуры впервые). Поэтому решил написать статью по знакомству с cross-origin политиками.

Читать далее

Чем различаются Kafka и RabbitMQ: простыми словами

Reading time8 min
Reach and readers176K

Программные брокеры сообщения уже стали стандартом при построении больших и сложных систем. Однако до сих пор не все ИТ-специалисты понимают, как работают эти инструменты. Главный системный аналитик «Иннотех» Павел Малыгин помогает разобраться в брокерах сообщениях и их работе.

Читать далее

Слепые капитаны ищут дно: почему российский бизнес – это болото, в котором барахтаются идиоты-«менеджеры»

Reading time12 min
Reach and readers149K

Владельцы компаний часто жалуются на сложности ведения бизнеса: людишки уже не те, кредиты дорогие, страна тоже не та. Так ли это на самом деле? Частично да, но есть и другие нюансы. Главная проблема – совокупность негативных факторов: общество зацементировалось и развивается не потому что, а вопреки.

Как часто вас подставляли или динамили разные невменяемые люди на работе? Бывало ли так, что вы орали матом в бессилии и хотели кому-нибудь сломать ноги за эпические фейлы? Сейчас я расскажу о том, почему так всё складывается.

Читать далее

Стеклянные ёлочные игрушки своими руками. Техника fusing

Level of difficultyHard
Reading time7 min
Reach and readers15K

Существует несколько вариантов работы с цветным художественным стеклом, ярким пятном среди которых выделяется фьюзинг (fusing) — сплавление плоских элементов в печи. Техника изначально витражная, чудо как хороша для некрупных декоративно-прикладных вещиц вообще: шкатулки, панно, часы, бижутерия, значки, сувениры, светильники, изразцы и декоры для отделки, для интерьера — воткнутые в цветочный горшок, поставленные и подвешенные. Всё, на что хватит фантазии. Работы естественным образом получаются уютно-очаровательные, с мягкими округлыми очертаниями оплавленных деталей, наводящими на мысли о карамельках, шакер-чуреках с какао, и кресле-качалке, с клетчатым пледом и котом на коленях.
Читать дальше →

Spring patterns. Fluent interface

Level of difficultyHard
Reading time8 min
Reach and readers11K

Spring Patterns. Fluent interface.

В этой статье я хочу поделиться опытом создания Fluent Interface, но не классического шаблона из GOF, а с использованием Spring. Классическим примером шаблона Fluent Interface в Java является Stream API. Я покажу, как можно написать нечто подобное, используя Spring.

Читать далее

На пути к правильным SQL транзакциям (Часть 1)

Reading time6 min
Reach and readers162K


Мне часто приходилось сталкиваться с тем, что люди прекрасно понимают, что такое транзакции в базе данных и для чего они нужны, но при этом не всегда умеют ими правильно пользоваться. Безусловно, для достижения 80-го уровня сакрального знания нужно иметь не один год опыта и прочесть множество толстенных книг по SQL. Поэтому в этой статье я даже не буду пытаться описать всё, что может быть связано с транзакциями в MS SQL. Я хочу затронуть один простой, но очень важный вопрос, который разработчики часто упускают из вида – уровни изоляции транзакций.
Несмотря на то, что тема очень проста, во многих источниках она освящается плохо – информации либо очень мало, либо очень много. Т.е. прочитав 5-6 кратких теоретических определений невозможно их применить на практике. Для уверенного понимания предмета статьи нужно обращаться к специализированной литературе, но там информации на столько много, что далеко не каждый может уделить необходимое время для её усваивания.
Сегодня я хочу поделиться своим простым рецептом, который помог мне раз и на всегда запомнить особенности уровней изоляции транзакций и по сей день помогает без проблем принимать взвешенные решения о выборе необходимого уровня.
Читать дальше →

Точки соприкосновения: Java & GC

Level of difficultyHard
Reading time24 min
Reach and readers17K

Можно писать на Java, вообще не задумываясь, как работает сборка мусора: «ну оно же там само собой происходит как-то». Однако разобраться как следует — не только интересно, но и полезно: например, какой из подходов к GC лучше соответствует конкретно вашему проекту?

На нашей конференции JPoint 2024 был доклад Дмитрия Силина об этом, участникам он понравился, и мы решили сделать для Хабра текстовую версию. Публикуем и текст, и видеозапись.

Читать далее

Программируем полётный контроллер на основе DIY проекта Flix

Level of difficultyMedium
Reading time19 min
Reach and readers59K

У нас в МАИ, в 8-м институте, учатся будущие разработчики IT‑продуктов и софта для авиационных систем, аэропортов, логистики и много чего ещё интересного. Один из курсов с 2023 года мы решили посвятить разработке программного обеспечения для автопилота. В курсе всё как положено, с красивыми диаграммами регуляторов, кватернионами и кодами таких проектов как Ardupilot, PX4, Betaflight, iNav и другими.

Однако, довольно сложно сразу вкатиться в тему полетных прошивок — они переполнены всякими фичами и функционалом, так что неподготовленному разработчику сложно понять как же это всё работает. Поэтому долгое время я искал такой проект, который позволяет «на пальцах» объяснить как работает прошивка полётника. Таким проектом для меня стал Flix от Олега Калачева. Про опыт сборки проекта и изучения на его основе полетной прошивки со студентами и пойдет разговор в этой статье.

Полетели !

План самостоятельного обучения DDD, CQRS, EventSourcing

Reading time7 min
Reach and readers79K

Если вы собрались плотно погрузиться в тему Doman Driven Design (DDD), о том как его применять, как использовать, для чего он нужен, и как с ним связаны Command and Query Responsibility Segregation (CQRS), Event Sourcing и другие термины из мира DDD то можно воспользоваться планом обучения, который последовательно погрузит вас в эти темы и поможет сориентироваться. Часть информации на русском, часть на английском языке, так как русскоязычных аналогов я не смог найти.

Погрузиться в DDD

Кэш второго уровня Hibernate для чайников

Level of difficultyEasy
Reading time6 min
Reach and readers22K

Будучи студентом или стажером, вы наверняка столкнетесь с подобной задачей — включить кэширование сущностей, чтобы сэкономить на обращениях к базе данных. Эта статья ставит перед собой цель упростить эту задачу и подробно показать, как настроить базовый кэш в Hibernate 6.

Читать далее

Юнит-экономика: база простыми словами с примерами

Level of difficultyMedium
Reading time17 min
Reach and readers29K

🤬 ARPC = (AvP – COGS) × APC — 1s COGS

🤬 LTV = (AVp − VC × AVp) × RPR × Lifetime

🤬 ARPPU = (AVp − COGS) × APC − 1COGS

Так вот: эта статья не о формулах (👍), а об основных принципах и подходах в работе с юнит-экономикой, чтоб ты смог разобраться и начать применять на практике.

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

Читать далее

Мастерим многопоточность: техники и инструменты для Java-разработчиков. Часть 1

Level of difficultyMedium
Reading time29 min
Reach and readers32K

Привет, Хабр! Это первая часть обзора по изучению существенных тем Java стека и туториала по их применению. В этой статье вы найдете важные аспекты многопоточности в Java, а также полезные шпаргалки с практическими примерами.

Меня зовут Влад, я Java-разработчик в компании SimbirSoft. Надеюсь, что моя статья будет полезна как начинающим, так и продвинутым Java-специалистам, которые заинтересованы в прокачке своих знаний для успешной подготовки к собеседованиям на боевые проекты.

Читать далее

Гайд по использованию JUnit 5, Mockito и AssertJ для проверки поведения кода

Level of difficultyMedium
Reading time12 min
Reach and readers23K

Меня зовут Игорь Симаков, я тимлид Java-разработки в команде Маркетплейс Банки.Ру. Сегодня на практическом примере разберу использование UNIT-тестирования. Оно применяется как для тестирования состояния, так и для проверки поведения кода. В этом материале сосредоточусь на последнем аспекте. Покажу, как использовать JUnit, Mockito и AssertJ для тестирования кода, а также JaCoCo для оценки покрытия тестами на примере простого мини-сервиса.

Эта статья основана на моем внутреннем воркшопе, который я проводил для своих коллег. В моем репозитории на GitHub можно ознакомиться с текстом доклада. Там содержится обзор основных понятий, используемых в статье, а также подробное описание инструментов.

Читать далее
1
23 ...

Information

Rating
Does not participate
Location
Пенза, Пензенская обл., Россия
Registered
Activity