Обновить

Все потоки

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

Написал свой ассемблер, чтобы понять, откуда берётся ff010113. Почти половину моей программы он выдумывает

Уровень сложностиСложный
Время на прочтение13 мин
Охват и читатели14K

Написал свой ассемблер, чтобы понять, откуда в дизассемблере берётся ff010113. Заодно посчитал, сколько строк моей программы процессор вообще не умеет исполнять, и проверил это на четырёх наборах команд, включая живой ESP32 на столе. На кристалле первая программа серии сломалась: она пишет в UART быстрее, чем провод успевает передавать, и в эмуляторе этого не видно.

Что сказала плата?

Yet Another English — и да, ещё один сайт по изучению английского, ну че поделать?

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

Ну как вы поняли, сервис я так и назвала, чтоб сразу закрыть основное возражение (хихик). Да знаю, что их тысячи — и сделала еще один, и объясню дальше почему.

У меня средненький английский, примерно B1 (но для менеджерки продукта требуется обычно по‑больше левел ю ноу). Я смотрю YouTube на англ, чтобы его подятнуть и постоянно натыкаюсь на незнакомые слова. В табличку выписывать, в анки загружать — мне было лень. Хотелось так: кинула ссылку на видео — слова моего уровня сами вытащились из субтитров и встали в очередь на повторение.

Работаю много, по вечерам есть 1–2 часика обычно. Вот за пару месяцев таких вечеров (595 коммитов) получился тренажёр: pwa на реакте, данные живут в IndexedDB у пользователя, + словарик + разные упражнения.

От «сайта эпохи ИИ» ждёшь, что внутри обёртка над чат‑ботом, РАГИ, и все такое ну вы поняли. У меня вышло наоборот: LLM здесь — подрядчик на двух узких задачах, а основную работу делают частотные списки, алгоритм из 90-х ну и клод в качестве работяги. Собсна про это и будет статья, или серия статей.

Читать далее

redb 3.7: свой gRPC-протокол, отсечение props до агрегата и релиз, отозванный через день

Уровень сложностиСложный
Время на прочтение33 мин
Охват и читатели9.9K

Свой gRPC-wire в Route, отсечение props до агрегата в redb.Core, Tsak закрыт по умолчанию, второй фасад у Identity. И 3.7.0, отозванный через день.

За три дня у экосистемы сменилось три номера: 3.7.0, 3.7.1 и 3.7.2. Первый отозван, живой номер 3.7.2. Ниже разбор того, что в этой линии вышло, в порядке зависимостей: интеграционный движок redb.Route, хранилище redb.Core, рантайм redb.Tsak и OpenID-сервер redb.Identity. Все четыре продукта идут на одном номере, 66 пакетов.

Начну с того, почему номеров три.

Читать далее

Что творится внутри реактора: история радиационной разведки «Укрытия»

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели15K

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

Читать далее

За рамками APM: что подключают к мониторингу в первую очередь

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

Когда мы говорим об APM мониторинге сразу вспоминаются трассировки запросов, мониторинг CPU и памяти, Real User Monitoring. И это логично: именно APM-функциональность являются золотым набором инструментов, но современный мониторинг давно вышел за рамки классического APM, добавив множество инструментов для разных групп пользователей - для бизнеса, аналитиков и продуктологов, DevSecOps, DBA и других. Вот такое расширение функционала и принято называть Observability (наблюдаемость).

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

Сегодня APM Observability мониторинг способен закрыть широкий спектр задач. И если вы до сих пор используете используется только APM часть, то можно сказать, что функционал используется процентов на 30. Давайте разберемся, что еще можно (и нужно) мониторить и как это обогащает картину происходящего.

Читать далее

А раньше деньги были

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

Исключительно мое мнение.

Как так выходит, что сейчас бюджетов в АйТи катастрофически не хватает, разрабов, тестировщиков режут, а 2 года назад буквально у некоторых крупных компаний деньги были даже на откровенную чушь. Я не про чаёк‑кофеёк в офисах и корпоративы за много деняк.

Я про безхозяйственность. Взяли, наварганили ТЗ на целый микросервис, напилили микросервис — что дальше? В прод? Не‑а — в мусор, потому что микросервис оказался бесполезен для бизнеса. Думаю, не стоит объяснять, что проработка требований, разработка, тестирование — это все стоит денег. Поясню только, что все это еще с переработками было сделано — по выходным, по праздникам, по ночам — и все за деньги, все как положено.

Или так — набрали команду автотестирования, взяли наработку по автотестам, которую делал разраб (делал теми инструментами, которые ему доступны, к разрабу вопросов нет) и пошли ее развивать — создали в итоге неповоротливого монстра на Java/Spring/JUnit, а для интеграции с кафкой взяли и написали отдельный микросервис с рест контроллером (такая прослойка, пост — кинул сбщ, прослойка положила в кафку, как продьюсер, гет — забрал сбщ). В то же время, когда тестконтейнеры уже появились. Не знаю уже, что стало с этими тестами — не дожил.

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

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

Читать далее

Тестовое задание на аналитика DWH: 4 задачи с разбором

Уровень сложностиСложный
Время на прочтение21 мин
Охват и читатели10K

В статье разбираем реальное тестовое задание на позицию аналитика DWH: четыре коротких SQL-запроса. Все синтаксически корректны, все дают верный результат на контрольных данных. И в каждом спрятана предпосылка, при нарушении которой цифры в витрине становятся неверными — без ошибок, без предупреждений, просто другие числа в отчёте

Найти ошибки

PostgreSQL Recovery на пальцах: WAL, base_backup и PITR в Docker-compose

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели10K

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

Восстановление данных буду делать с помощью второго PostgreSQL контейнера. Если кратко - данные WAL и base_backup будут прокидываться с помощью volume и контейнер будет стартовать с новыми данными.

Пока что рабочий стенд будет ограничиваться PostgreSQL 17 в Docker (без S3, Kubernetes, автоматизации и т.п), потом возможно сделаю дополнительные статьи, охватывающие более сложные production случаи.

Читать далее

176 ботов, ИИ на чужом ключе и 334 статьи: как я за четыре месяца превратил todo-лист в продукт и разобрал его по швам

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели9.6K

За две недели ко мне зарегистрировалось 176 ботов. Я полез разбираться, как они прошли мимо трёх уровней защиты, — и вылез с двенадцатью дырами, к ботам отношения не имевшими: хранимый XSS через JSON-LD, чужие задачи по одному идентификатору, сессия, которую нельзя погасить сменой пароля.

И одна, из-за которой до сих пор стыдно: все мои лимиты по IP обходились одной строкой в HTTP-заголовке. Проверил на собственном проде — сорок запросов, ноль отказов.

Внутри: разбор атаки и аудит с кодом, ИИ-помощник на ключе пользователя (и асинхронный генератор, молча съедавший ответы), 334 статьи как инженерная задача.

Читать разбор

А как у них: как регистрируют программы в США

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели8.6K

Под моей статьёй с разбором реестра российского ПО в комментариях спросили: интересно, а как регистрируют программы за рубежом. Вопрос меня саму заинтересовал, поэтому я разобрала, как устроена регистрация программ в США: только по официальным материалам Copyright Office, с цифрами из годовых отчётов и реальной регистрационной записью на VMware в качестве примера. Спойлер: исходный код там сдают в Библиотеку Конгресса, а сама регистрация нужна не для льгот, а для суда.

Читать далее

SOAP в .NET без WCF: WS-Security, MTOM и ?wsdl как шаг маршрута

Уровень сложностиСложный
Время на прочтение8 мин
Охват и читатели9K

SOAP никуда не делся. Продаёте авиабилеты, значит ходите в Amadeus, Sabre и Travelport по SOAP. Интегрируетесь с банком, госпорталом, страховым бэкендом, биллингом оператора или почти любым корпоративным продуктом, купленным до 2015-го: там контракт это WSDL, а на проводе <soap:Envelope>. Подписи WS-Security, вложения MTOM, SOAP 1.1 рядом с 1.2, soap:Fault при ошибке: этот мир жив, он приносит деньги и не переезжает на REST по вашей вежливой просьбе.

В .NET вызывать его стало неудобно. WCF как полноценный фреймворк ушёл. CoreWCF есть, но во всех опубликованных версиях висит незакрытая крипто-уязвимость, так что затащить его значит поменять одну проблему на другую. dotnet-svcutil генерит клиент из WSDL на этапе сборки, но это кодогенерация, приклеенная сбоку, а не шаг интеграции. А хостинг SOAP-эндпоинта, WS-Security руками или проводка MTOM обычно заканчиваются кучей конфигурации System.ServiceModel, которую никто не хочет держать.

redb.Route.Soap идёт другим путём. SOAP становится обычным шагом пайплайна в вашем же .NET-процессе. Вызвал сервис, получил типизированный ответ. Поднял эндпоинт, отдал тело маршруту, вернул ответ. Всё in-box: HttpClient, общий Kestrel-хост и System.Security.Cryptography.Xml для WS-Security. Ни WCF, ни рантайма System.ServiceModel, ни уязвимой зависимости, ни отдельного шлюза. Разберём, как это используется и почему нативный коннектор внутри ESB бьёт codegen-клиента или отдельную коробку.

Читать далее

Переезд на GPT-5.6: что мы переписали в коде и как изменился счёт за API

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

Мы делаем сервис доступа к моделям разных провайдеров, так что интерес в этой теме у нас прямой. В середине июля мы переносили внутренние сервисы на GPT-5.6. Работы планировали на день, но ушло две недели.

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

Читать далее

От Copilot до AI-завода: где ИИ уже окупается и что собирать разработчику?

Время на прочтение25 мин
Охват и читатели9.2K

Иногда случается так, что компания покупает искусственный интеллект раньше, чем успевает понять, для чего он ей нужен и да это дань хаосу, страху выбыть из гонки. Генеральный директор уже услышал на форуме, что агенты заменят половину офиса; директор по инновациям уже пообещал пилот к концу квартала; HR заказал сотрудникам вебинар о промптах, потому что любое технологическое изменение в России прежде всего требует вебинара; а финансовый директор сидит на совещании, листает презентацию и пытается найти слайд, на котором вся эта новая цифровая жизнь наконец превращается в деньги. Только этого слайда пока нет. Зато к обеду нейросеть написала поздравление генеральному директору, а к вечеру появился приказ о создании рабочей группы — внедрение, можно сказать, пошло с успехом, все довольны.

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

Читать далее

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

Код как борьба. Кратчайшая история IT. 0. Лейбниц, Бэббидж и Лавлейс

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели9.3K

Представьте на секунду: первый компьютер спроектировали за полтора века до того, как его вообще можно было включить в розетку. Просто потому, что розеток ещё не существовало.

Звучит как анекдот, да? А на самом деле это буквально то, что случилось. И сегодня мы разберём, как так вышло, что три человека - философ семнадцатого века, викторианский математик и дочка поэта-скандалиста, развивая идеи друг от друга, придумали компьютер за сто пятьдесят лет до электричества.

Это первая статья цикла “Код как борьба: Кратчайшая история IT”. Эта статья про то, как рождалась идея вычислительной машины и как она столетиями ждала, пока человечество изобретёт материал, способный её выдержать.

Погнали

Индекс как алфавитный указатель: как база ищет и почему иногда не находит

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели9.3K

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

Статья для тех, кто индексы ставил, но EXPLAIN читал по диагонали.

Читать далее

Ox Alpha (GLM-5.3-Flash). Что это было?.

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели9.8K

20 августа на OpenRouter появилась строчка stealth/ox-alpha. Без карточки модели и даже намёка, кто её выложил. Провайдер значился как «Anonymous». Цена — ноль. Контекст — мильон. Площадка предупреждала: мы не владелец этой модели, а просто маршрутизируем запросы.

Через шесть дней у анона было имя, десятки триллионов обработанных токенов и полмиллиона разработчиков, которые за это время успели залить в него рабочий код. Спойлер, который уже не спойлер: это оказалась GLM-5.3-Flash от китайской Z.ai.

Но путь от «непонятно что» до «фронтир‑модели» получился драматичным и заслуживает разбора. Ну а поскольку я лично пялился в этот тред почти неделю, обновляя ленту как одержимый — расскажу вам что там произошло, по порядку.

Читать далее

CSS задачи на 200 IQ

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели12K

У вас бывает такое чувство, когда вы при выполнении работы упёрлись в какую-то проблему и что-то внутри подсказывает, что не может такого быть, чтобы у неё не было решения? Когда кажется, что уже всё пропало и мы столкнулись с фундаментальным ограничением реальности, но отказ принять это продолжает вести вас в дебри спецификаций, беседы на Github 10 летней давности и изучение статей гигантов уже прошедших этот путь и поделившихся с нами своими результатами? И вот спустя многие часы напряжённого скрипа извилин вы дописали очередную строчку, обновили страницу и вот оно, то, что вы хотели получить смотрит на вас с экрана? Это ощущение успеха, наверное, в той или иной степени знакомо каждому инженеру. В такие моменты мне, обычно, очень хочется поделиться результатом с коллегами и, по возможности, написать статью если это может быть полезно кому-то ещё. В этой записи я собрал 3 подобных ситуации, где в рамках нашей работы возникли решения, которые, насколько мне известно, довольно уникальны и в полной мере не были описаны раньше. Приглашаю вас разделить со мной радость обнаружения решения, которое казалось невозможным!

Читать далее

AI‑агент снёс прод и отчитался, что всё в порядке

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели9.6K

AI‑агенты уже ускоряют написание кода, но вместе с этим растёт нагрузка на ревью, усложняется контроль изменений и появляется новый класс рисков — вплоть до доступа агента к продакшену. Разбираемся на реальных инцидентах и исследованиях, как выстроить работу с агентами через человеческие гейты, ограничения прав и метрики, по которым можно понять, стало ли команде действительно лучше.

Изучить подход

Сколько зарабатывают разработчики в 2026 году и куда пойти учиться

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

Разработчик — традиционно самая высокооплачиваемая специализация в IT. По данным исследования Хабр Карьеры за первое полугодие 2026 года, медиана для разработчиков — 270 тысяч рублей в Москве, 247 тысяч в Санкт-Петербурге и 200 тысяч в регионах. Причём медиана по всему IT-рынку — 191 тысяча рублей.

Разброс внутри профессии огромный: HTML-верстальщик зарабатывает 80-100 тысяч рублей, а архитектор ПО — 497 тысяч. 

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

Читать далее

Как я год загружал фото в Битрикс24 и собрал все грабли файлового API

Уровень сложностиСложный
Время на прочтение12 мин
Охват и читатели7.7K

Работа с файлами в REST API Битрикс24 — та задача, где документация заканчивается ровно там, где начинаются проблемы. Официальные примеры показывают, как загрузить один файл в одно поле. А дальше выясняется, что у crm.item.update и crm.deal.update разные несовместимые форматы, что вложенный base64 через http_build_query уходит в никуда, а сервер при этом честно отвечает «result».

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

Собрал всё в один разбор — шесть подходов с кодом и восемь граблей:

два формата файлового значения, которые нельзя смешивать, и почему при смешении затираются уже прикреплённые файлы;

тихий провал: HTTP 200, в ответе result, поле не обновилось;

useOriginalUfNames=Y, без которого UF_CRM_* молча игнорируются;

downloadUrl приходит с пустым auth= и без подстановки токена не скачивается, а при протухшем токене вместо файла отдаётся HTML-страница с кодом 200;

у одного изображения бывает несколько URL, и часть из них не работает — пришлось делать скоринг вариантов по эвристике.

В конце — таблица «что брать под какую задачу» и чеклист граблей. Двадцать блоков кода, всё из боевых проектов.

Читать далее