Обновить

Разработка

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

Театр продуктивности и страшный вопрос «Зачем?». «Виноваты зумеры — убийцы бизнеса»

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

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

Читать далее

Создатели Gentoo уходят с GitHub из-за ИИ. Разбираем причины и нюансы

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

Gentoo — один из самых старых дистрибутивов Linux. Он появился в 2002 году и до сих пор работает по тем же принципам: сборка пакетов из исходных текстов, тщательная настройка под любое железо и полное отсутствие компромиссов. В феврале 2026-го появилась новость о начале переноса зеркал репозиториев с GitHub на Codeberg. И это не просто технический маневр, а принципиальный выбор сообщества. 

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

Читать далее

Почему HTTP-загрузка в Apache Doris такая быстрая: разбор Stream Load по исходникам

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

Загружал пару лет переписки из Telegram в Apache Doris на ноутбуке. Первый запуск 2 часа. После оптимизации 206 400 сообщений за 5 секунд.

Полез в исходники разобраться, почему Stream Load (HTTP-загрузка данных) в Doris работает так быстро. В статье разбор C++ кода: от HTTP PUT до Segment-файла на диске.

Что внутри:
— 14 шагов одного HTTP-запроса (с диаграммой и кодом)
— StreamLoadPipe: буфер 4 MB с backpressure
— Иерархия записи: LoadChannel → DeltaWriter → MemTable → async flush
— 6 практических выводов: что крутить, что мерить, где смотреть compaction score

Читать далее

Управляем поведением LLM: краткосрочные профили и их ограничения

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

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

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

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

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

Читать далее

За чистую main

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

О том, как сделать функцию main приложения на Go чистой, понятной, открытой для расширения.
Театр начинается с вешалки, а любая программа на Go - с функции main. Собственно, что может быть сложного и плохочитаемого в main, казалось бы? Но нет. На написание этой статьи меня сподвиг реальный кейс.

Читать далее

Шестибитный процессор без единой картинки

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

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

Итак, встречайте: ядро микроконтроллера с шестибитными байтами. Глава первая: описание «на словах».

Это обычный «школьный процессор», на котором студентам показывают базовые принципы работы железа. Fetch, Sum, Jump… В принципе, это роднит его как с древнейшими процами, имевшими 8-16 команд, так и с современными, разной степени эзотеричности (вплоть до Single Instruction Set Computer, имеющий всего одну команду типа «инверсия указанного бита и затем безусловный переход на указанный адрес»). Но я решил вдруг, ХЗ с какого перепугу, придать ему практический смысл в нашем странном веке, когда даже в одноразовые вейпы лепят грошовые 32-битники, которые потом летят в помойку.

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

Да я всё равно и на нём Doom запущу!

Звук в SPICE: аудио, микрофон и real-time ограничения

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

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

Со звуком всё иначе.

150 миллисекунд задержки — и собеседник начинает перебивать. 200 — и вы оба замолкаете, ждёте, потом говорите одновременно. 300 — созвон превращается в пытку. Это не абстрактные цифры из RFC, это реальность, которую каждый испытывал на плохом Zoom-звонке. (Кстати, порог в 150 мс — это ITU-T G.114, одна из самых цитируемых рекомендаций в телеком-индустрии. Не потому что магическое число, а потому что дальше начинаются перебивания.)

А теперь представьте: вы построили VDI, развернули 500 рабочих мест, люди довольны. И тут приходит запрос от call-центра: «Мы хотим работать через VDI тоже». Или от отдела продаж: «Нам нужен софтфон в виртуалке».

Вот тут начинается отдельная история.

Читать далее

Агентская амнезия: как я решил эту проблему на Go

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

Недавно наткнулся на статью про Echovault на Хабре — инструмент для памяти AI-агентов, написанный на Python. Автор описывал ровно ту же боль, что и я испытывал месяцами. Идея хорошая, реализация — рабочая. Но Python. Я ничего не имею против языка, просто не мой выбор для инструментов, которыми пользуюсь каждый день. Люблю скомпилированные бинарники: кинул файл — и работает, без virtualenv, без pip, без «а какая у тебя версия питона». Поэтому я взял идею и переписал её с нуля на Go. Получился Pantry.

Расскажу, зачем это вообще нужно и что внутри.

Читать далее

Linux Landlock — песочница для приложений без root

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

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

Открыть разбор

Как писать юнит-тесты, которые не ломаются

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

Привет, Хабр! Меня зовут Владимир, я Python-разработчик в команде IMV в Авито. Мы разрабатываем продукт, который помогает оценивать рыночную стоимость товара, будь то автомобиль, квартира или холодильник. Мы часто пишем тесты, и в этой статье я расскажу, как разные подходы к юнит-тестированию влияют на качество тестов, когда они помогают проекту, а когда — мешают, и почему само по себе наличие тестов ещё не гарантирует пользы. Статья будет полезна разработчикам, тимлидам и всем, кто пишет юнит-тесты и поддерживает код в долгоживущих проектах.

Читать далее

Скам в криптовалютах: самая опасная схема мошенничества на основе социальной инженерии и «дыры» в безопасности Google

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

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

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

Соскамили настолько красиво, что не могу об этом не рассказать :-) 

Итак...

Читать далее

Массовые рассылки vs таргетированная лидогенерация в Telegram: технический разбор

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

Meta Description: Сравнение подходов к лидогенерации в Telegram: массовые рассылки и AI-таргетирование. Данные, конверсии, риски бана, архитектура фильтрации.

Читать далее

На что кодинг-агенты тратят наши токены

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

На прошлой неделе я попросил Claude устранить однострочный баг. Ему понадобилось 23 тысячи токенов. Потом тот же баг я попросил устранить Gemini. Он потратил 350 тысяч токенов. Да уж, на такое невозможно закрывать глаза.

Поэтому я написал Context Lens — трассировщик контекста, перехватывающий вызовы LLM API, чтобы показать, что же на самом деле находится в окне контекста с разбивкой по этапам. Я подключил его к четырём инструментам кодинга и дал им одну и ту же задачу. Результаты оказались настолько разными, что я решил написать об этом статью.

Вопрос

При работе с этими моделями мы платим за токены. Токены — это довольно сложная тема. По сути, это блоки информации; 1 токен приблизительно равен 4 символам английского текста. Чем больше токенов передаётся в модель, тем больше мы платим.

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

Итак, нам нужно быть аккуратными с нашим окном контекста, а для построения этого окна используются токены. Я задался вопросом: как инструменты справляются с этим ограничением? Насколько умно они его обрабатывают?

Читать далее

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

Два процесса, одна задача (КК, Глава 1)

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

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

Первая глава книги про AI-разработку - по ссылке. Прошу любить и жаловать :-)

Мы поговорим о том, почему отношения с нейросетью в формате «начальник → подчинённый» и «человек → инструмент» работают крайне отстойно. Введем модель сопроцессоров. Посмотрим, как устроено разделение когнитивной нагрузки в связке человек-машина. Что может только человек, что может только AI, и есть ли где-то пересечение.

Интересно! Читать далее

Мобильное приложение Sminex: как мы строим единый бэкенд на современном стеке

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

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

Почему мобильное приложение — это база

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

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

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

Раньше мы работали с личным кабинетом на SharePoint и нативным мобильным приложением. Оно выполняло базовые задачи, но со временем стало очевидно: архитектура достигла предела масштабируемости, производительность просела, а развивать функционал стало сложно. Требуемую доступность 24/7 оно не обеспечивало.

Читать далее

Что такое Skills и как их использовать? (Cursor, Claude Code)

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

Вы наверняка ловили себя на том, что раз за разом копипастите в чат с ИИ одни и те же инструкции: «Пиши на TypeScript», «Не используй сторонние библиотеки», «Добавляй тесты». В программировании мы по сути называем это нарушением принципа DRY (Don't Repeat Yourself). Но почему мы продолжаем это делать при общении с нейросетями?

В этой статье мы разберем концепцию Skills (Скиллов) - переиспользуемых «навыков» для ИИ-ассистентов, которые живут прямо в вашем репозитории и делают работу агентов предсказуемой, чистой и профессиональной.

Читать далее

Компьютерная криминалистика. Временные метки и туннелирование NTFS

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

Привет, Хабр! На связи команда UserGate uFactor, у нас новое исследование по кибербезопасности. 

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

Что же такое туннелирование файловой системы?

Туннелирование файловой системы — это встроенный механизм обратной совместимости, при котором операционная система сохраняет метаданные файла при его удалении или переименовании.

Основные компоненты:

Читать далее

С++ внутри PostgreSQL: удобство против традиций

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

Всем привет, меня зовут Илья Шишков, я пишу на С++ с 2006 года. Много лет я был разработчиком в больших C++-кодовых базах, но в 2024 году жизнь меня занесла в PostgreSQL. А именно в RnD-разработку СУБД Pangolin, это реляционная СУБД от СберТеха, PostgreSQL с нашими доработками под требования к усиленной безопасности, производительности и так далее. PostgreSQL, как известно, написан на чистом С. Так я поработал с этим языком несколько месяцев и… стал внедрять C++. 

В этой статье я расскажу, зачем так сделал и почему это оказалось очень удобно. Например, некоторые технологии из C++ есть в PostgreSQL, при том, что их нет в C. Разберу практические примеры, как мне кажется, хороших абстракций на C++, которые упрощают программирование на C. И немного времени уделю разбору цены, которую нам приходится платить, когда мы используем в коде различные абстракции.

Читать далее

Откуда начинаются атаки на цифровые сервисы: ключевые точки входа

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

На связи Лука Сафонов, бизнес-партнер по инновационному развитию компании «Гарда».

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

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

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

Читать далее

SQL за одну статью: от «SELECT *» до оконных функций и сложных JOIN-ов

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

Кажется, что в ИТ всё меняется каждые пару лет. Фреймворки рождаются и умирают, архитектурные подходы сменяют друг друга, но SQL стабильно остается на месте. Он спокойно пережил хайп вокруг NoSQL, эпоху Big Data и повсеместное внедрение нейросетей.

Сегодня SQL давно перестал быть узким «языком админов». Это универсальный стандарт общения с данными, который жизненно необходим бэкендерам, аналитикам, QA-инженерам и даже продакт-менеджерам.

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

Читать далее