Обновить

Все потоки

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

Большое исследование C#-разработчиков

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

Привет, Хабр. Я Катя Куваева, DevRel C#-разработчиков и инфраструктурных команд в Контуре, а это моя первая статья. 

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

Сначала я провела 10 глубинных интервью, потом на их основе сформулировала несколько гипотез, которые нужно было проверить в количественном опросе на нескольких сотнях шарпистов. Самое интересное я собрала здесь, предлагаю посмотреть, что получилось 👇

Посмотрите, сколько разных эмоций я испытала за время общения с C#-разработчиками — и мы начинаем!

Читать далее

Отличи технологию от поп-артефакта: испытай свою IT-эрудицию в тесте Рунити

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

Привет, Хабр!

Calico, Kolla, Reconciler — это названия технологических сервисов или имена героев аниме? Проверьте свою интуицию и знания в нашем новом тесте, который мы разработали в Хабре вместе с Рунити!

Мы собрали различные популярные и двусмысленные термины, чтобы выяснить, насколько хорошо вы чувствуете границу между IT-технологиями и поп-культурой. Готовы к вызову? Вперед!

Читать далее

API для LLM: разбираем по пунктам, как устроен и как работает протокол MCP

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

Привет! Меня зовут Миша Васильев, я разработчик в команде AI Битрикс24.

В последнее время мы часто говорим про МСР и вот, наконец, решили рассказать простыми словами о том, что это такое, как работает, как мы это используем и планируем использовать. Если коротко, то MCP — это АРІ для LLM.

Читать далее

Интернет бесподобен! Спасибо, TCP

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

Перед вами детальный разбор TCP — движущей силы интернета, в котором мы шаг за шагом рассмотрим принципы этой технологии на подробных примерах.

Интернет — невероятное изобретение. Людей от него за уши не оттащишь. Вот только есть у этого изобретения проблемы с надёжностью — пакеты теряются, каналы перегружаются, биты путаются, а данные повреждаются. Ох, какой же опасный мир! (Буду писать в духе Крамера).

Хорошо, почему же тогда наши приложения вот так просто работают? Если вы выводили своё приложение в сеть, то процесс вам знаком: socket()/bind() здесь, accept() там, возможно, connect() вон там и, вуаля — данные надёжно текут в обе стороны упорядоченным и целостным потоком.

Сайты (HTTP), сервисы e-mail (SMTP) или удалённый доступ (SSH) — всё это построено на основе TCP и просто работает.

Читать далее

PostgreSQL Antipatterns: отказ от агрегатных функций = кратное ускорение

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

Иногда в архиве нашего сервиса анализа планов запросов к PostgreSQL встречаются примеры не очень эффективных, мягко говоря, запросов.

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

Читать далее

Docker для начинающих: что это такое и как пользоваться

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

Статей про Docker много не бывает.

В этом материале мы разберём базу: что такое Docker, как он работает и зачем нужен, а затем пошагово пройдём путь от установки до запуска первого контейнера.

Освоить рабочую базу Docker →

От строчки кода до розетки, или Кто на самом деле управляет энергетикой: 5 супергеройских историй Росатома

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

Если бы энергосистема страны была вселенной супергероев, то главными в ней были бы команды data-сайентистов, аналитиков и C++-разработчиков. Их щит — это 1С, а лидер — тимлид, чей код выдерживает любую нагрузку. Угроза здесь — не фантастический противник, а простаивающие мощности или неоптимальный маршрут энергии. 

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

Читать далее

От финно-угорских мифов до советского панка: уникальные российские видеоигровые вселенные

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

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

В этой статье – пять уникальных миров. Живая галактика «Космических рейнджеров» и сюрреалистический ландшафт «Вангеров», альтернативный СССР в Atomic Heart и славянский фольклор студии Morteshka, а также апокалиптический российский городок в No, I'm not a Human. 

Объединяет эти игры один фактор: вселенные в них – полноценная часть геймплея, а не просто фон.

Читать далее

Паттерн Transactional Outbox: от теории до продакшена

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

Transactional Outbox часто подаётся как простой рецепт: записали событие в отдельную таблицу, фоновый воркер разберётся. В реальности именно этот «временный костыль» неожиданно превращается во вторую очередь со своей конкуренцией за блокировки, дубликатами, нарушенным порядком и тихо растущими таблицами.

В статье разберемся, что именно начинает ломаться в outbox-паттерне под нагрузкой, как выбирать и блокировать события в разных СУБД, почему ретранслятор стоит отделить от API и какие гарантии доставки на самом деле получаются. А ещё — почему консюмеры должны быть идемпотентными, как следить за внутренней очередью в базе и не узнавать о проблемах уже после инцидента.

Разобрать outbox

Windows XP: 20-летняя система до сих пор работает на миллионах устройств

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

Microsoft официально похоронила Windows XP еще в апреле 2014 года. С тех пор много воды утекло. За это время появились Windows 10 и 11, мир успел уйти в облака и уже попробовал вернуться назад, основным гаджетом для человечества стали смартфоны, а место главной технологии, определяющей наше развитие сегодня, занял ИИ. Казалось бы, в этом мире просто нет места древней ОС, которая устарела еще десятилетие назад. Но все не так просто. В 2025 году Windows XP не просто доживает свой век, а вполне успешно работает на многих видах устройств и пользуется сравнительно большой популярностью. Как же так вышло?

Читать далее

Геометрическое ядро C3D: новые функции и направления развития

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

Татьяна Кондрикова, руководитель группы C3D Modeler, С3D Labs, рассказывает о новых возможностях геометрического ядра C3D и планах по его дальнейшему совершенствованию.

Обновления в C3D Modeler 2025 охватывают сразу несколько ключевых направлений: каркасное моделирование, оболочки, прямое моделирование, листовое моделирование, а также диагностику и системные улучшения. Одним из значимых нововведений стала операция построения срединной кривой (рис. 1) — множества точек, равноудаленных от двух заданных кривых. Эта операция применяется к двум кривым на плоскости, которые могут быть замкнутыми или разомкнутыми и состоять из стыкованных по касательной сегментов без самопересечений. Результат представлен в виде NURBS-кривой.

Читать далее

Как провести быстрый аудит разработки без изучения кода, часть 2

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

Привет! Как и обещал, вторая часть доклада про то, как проводить быстрый аудит разработки без изучения кода (первая тут). Так как весь аудит по своей сути — это качественно поговорить и позадавать нужные вопросы, чтобы потом сделать выводы, то поговорить стоит и про более низкоуровневые вещи, такие как трекер задач, количество багов, метрики, используемые командой, и процесс разработки. В привычном по предыдущей статье формату «Хорошо / Плохо».

Метрики

Количество клиентских багов

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

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

Нет, конечно, есть исключения, когда какой-то продукт присутствует в компании чисто для галочки. Такое может попадаться в сфере информационной безопасности — например, клиент с точки зрения закона обязан купить какое-то ПО, но никто не будет проверять, используется этот софт на самом деле или нет. Скажем, купила компания антивирус, чтобы соответствовать требованиям регулятора, и просто положила его на полку — aka «бумажная безопасность». При таком подходе вообще без разницы, что там делает разработка — можно ее хоть уволить всю. Захочется ли вам работать в такой компании — это уже отдельный вопрос.

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

Читать далее

Как я «взломал» адресную книгу Radmin, чтобы не вводить 1000 IP-адресов вручную

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

Конечно же, взломать – громко сказано, но заголовок рождён эмоциями :-)

Эта история о том, как лень, заставила меня окунуться в реверс-инжиниринг бинарного файла адресной книги Radmin (.rpb).

Внутри – странные заполнители, контрольные суммы, таинственные временные метки и структуры данных, где папки и компьютеры имеют одинаковый размер и бескрайние просторы нулей, о мои глаза!

Результат – opensource утилита для конвертации между RPB и JSON, возможно кому-то пригодится.

Представьте: вы – ответственный за парк из сотен компьютеров. Вам нужно актуализировать таблицу имен и IP-адресов компьютеров или адресную книгу Radmin, или, как в моём случае, использовать список этих записей в другом ПО. Работа трудоёмкая, но я – человек не ленивый, но оптимизированный. Вводить вручную имя, IP, порт, настройки для каждого компьютера – рутина, однообразное щёлканье кнопок! Кажется, жизнь пролетает впустую, так я подумал, когда представил, что мне предстоит это сделать.

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

«Эврика! – подумал я. – У меня же есть Radmin, а там есть все адреса! Я экспортирую их и использую себе во благо!».

Эврика длилась ровно до момента, когда я обнаружил, что Radmin экспортирует адресную книгу только в свой собственный формат - rpb, добавили бы csv, с моей точки зрения логично, «Спасибо, разработчики». Документации? Конечно, нет, это же не api и не опенсорс.

Интересное дальше

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

Рецензия на книгу «Инжиниринг платформ: техническое и управленческое руководство»

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

На календаре 2025 год, и термин platform engineering прочно вошел в лексикон всех инженеров и менеджеров, занимающихся вопросами ИТ-инфраструктуры предприятий — примерно так же, как когда-то «DevOps», а еще раньше «Agile». К слову, предыдущие тренды порой превращались в модный хайп, под которым каждая компания понимала свое видение процессов разработки и развертывания. Но платформенная инженерия сегодня — это не просто набор практик, а системный ответ на тот уровень сложности, к которому индустрию привели облака, микросервисы, CI/CD, SRE и бесконечный поток обновлений в экосистемах OSS (Open Source Software, мир open-source инструментов).

Читать далее

Как фильтры Блума в 16 раз ускорили API

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

Этот пост станет глубоким разбором того, как мы снизили задержки P95 конечной точки API с 5 до 0,3 секунды при помощи нишевого трюка computer science под названием «фильтр Блума».

Мы расскажем о том, почему конечная точка была медленной, о решениях, которые мы рассматривали для повышения её скорости, и о критериях выбора между ними. Также мы объясним, как всё это устроено внутри.

Читать далее

Зашкаливающая бюрократия на стыке проектов двух крупных банков — мой опыт

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

Я руководитель проектов, работаю с крупными корпоратами и банками первой пятёрки.

Самый ад — это когда проект на стыке двух таких банков. У меня есть живой пример )

На этом проекте:

На этом проекте:

— Юристы и безопасники из двух банков 4 месяца гоняли договор по кругу. Надо было как-то их договорить и всё-таки начать работать.

— Договор был рассчитан до 2026 года, а бюджет в системе был заложен только на 2025-й. Бухгалтерия возвращала ошибку Not defined и предлагала запланировать бюджет на 2026 год прямо сейчас.

— Уволился ключевой подписант.

— Это был ИТ-директор!

Так что у нас есть все виды бюрократии: комплаенс, Департамент кибербезопасности (ДКБ), риск-чемпионы и, конечно, юристы.

Как я уже говорила, это ад.

Но бюрократия всё же нужна. Потому что на больших проектах она означает стандартизацию.

Что бывает, когда такое не выполняется, мы отлично знаем по взломам доставки еды, например, когда стандарт был, но его не применили.

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

Читать далее

Как в Quake.exe появился стек TCP/IP

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

Quake, выпущенный в июне 1996 года, за срок своей жизни был вынужден оседлать три технологические волны. Наряду с появлением карт аппаратного 3D-ускорения и развитием Интернета, сложности у разработчиков игры вызвала и смена поколений операционных систем.

Стремясь к распространению Windows 95 и Windows NT, Microsoft начала процесс замены своей старой операционной системы MS-DOS. С 1996 по 1997 год доля DOS на рынке упала на 50%. Некоторые разработчики, например, Blizzard North, делали рискованный шаг и создавали игры наподобие Diablo только для Windows 95. Компания id Software же пошла на подвиг по созданию единого двоичного файла quake.exe, способного работать и в DOS, и в Windows.

Ещё более впечатляет то, что разработчикам удалось реализовать стек TCP/IP Quake лучше, чем у Windows 95. Давайте разберёмся, как им это удалось.

Читать далее

Круговорот обновлений СХД TATLIN.UNIFIED

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

Вы наверняка сталкивались с системами хранения данных семейства TATLIN или серверами VEGMAN, хотя можете об этом даже не подозревать. Например, делая заказ в интернет-магазине или пользуясь другими популярными онлайн-сервисами — в глубине ИТ-инфраструктуры для них можно обнаружить продукты YADRO. 

Всем привет, меня зовут Александр Чуриков, я технический эксперт отдела сервисного дизайна YADRO. Мы служим мостиком между сервисом и нашим R&D, который разрабатывает продукты — изучаем все боли сервиса, которые возникают при обслуживании, в том числе при обновлении и замене компонентов, и транслируем их в R&D. Предлагаю подробно разобраться в процессе обновления СХД TATLIN.UNIFIED: от операционной системы и до прошивок аппаратных компонентов.

Читать далее

Экспресс-опрос: как за 10 минут узнать, что на самом деле думает команда о спринте

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

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

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

Читать далее

Хватит страдать в токсичных отношениях с Burp Suite. Пора быть счастливым с Caido

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

Burp Suite убедил вас, что настоящий инструмент должен быть тяжёлым, капризным и заставлять подстраиваться под себя.

Caido доказал обратное: тот же уровень функциональности, но без боли, без ожидания и без лишних гигабайт. Всё просто работает - быстро, стабильно и без нервов.
Страдать было необязательно.

Пора наконец выдохнуть и работать с удовольствием.

Узнать, как жить счастливо без Burp Suite