Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 13 min 17 sec ago

DNS TXT как канал доставки конфигов: тихо, надёжно, неубиваемо?

Fri, 03/13/2026 - 06:47

Когда сервер с конфигом заблокировали — клиент отвалился. Разбираем способ доставки который сломать сложнее чем сам интернет

У любого прокси-сервиса есть слабое место которое не связано с протоколом. Сервер переехал, IP сменился, конфиг устарел — и пользователь сидит без связи пока не получит обновление вручную. Чем больше пользователей, тем острее проблема.

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

DNS TXT-записи решают эту проблему не через обход блокировок, а через выбор канала который блокировать политически сложно.

Читать далее

Точка опоры

Fri, 03/13/2026 - 03:03

Человеку нужен горизонт. На Земле он есть всегда — даже в городе, даже в лесу ты знаешь, что где-то там, за домами или деревьями, небо встречается с землей. На Луне горизонта нет. Ты всегда стоишь в центре идеально круглой чаши, и звезды висят над тобой, никогда не мигая.

Я прожил здесь тридцать пять лет и не привык.

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

Детям... Впрочем, обо всем по порядку.

Читать далее

Вот что я понял, когда стал автором на Хабре

Fri, 03/13/2026 - 02:32

10 лет читал Хабр, но после нескольких публикаций — заметил то, чего не замечал будучи читателем. Про манипуляции авторитетом, конформизм первого лайка и про то как писать статьи (кратко, по делу).

Читать далее

SLAY-ASR, или как я перестал волноваться и полюбил тренировать модели

Fri, 03/13/2026 - 02:25

Как добавить аудио-модальность в LLMку максимально экономно? Рассказываю про серию попыток добиться совместимости эмбеддингов разной природы

Погрузиться

От блокнота к CRM: как случайная аренда автосервиса привела к разработке собственной системы управления

Fri, 03/13/2026 - 02:16

Почему большинство CRM не работают в автосервисах "Гараж", ?

Потому что их проектируют 30-летние разработчики,
а используют 45-летние мастера, в мазуте и информация о пк заканчивается на Скайпе.

Когда я взял в аренду автосервис, оказалось, что: весь учёт ведётся в блокноте и это норма у 80% автосервисов, сложные CRM никто не хочет открывать, интерфейс должен быть быстрее бумаги

Это история о демографии отрасли, UX для мастеров и попытке сделать CRM, которой реально будут пользоваться.

Читать далее

Взаимное исключение в Java: от synchronized к Lock

Fri, 03/13/2026 - 02:15

Многопоточность — одна из самых сложных тем в Java. По сути это ситуация, когда несколько потоков работают с общими данными и в процессе работы легко столкнуться с состоянием гонки (race condition), потерей обновлений или даже повреждением структуры данных. Чтобы этого избежать, доступ к критической секции кода нужно ограничить: одновременно там должен находиться только один поток.

В Java есть два основных механизма для решения этой задачи: встроенное ключевое слово synchronized и явные блокировки из пакета java.util.concurrent.locks, наиболее популярная из которых — ReentrantLock. Оба подхода обеспечивают взаимное исключение (mutex), но работают по-разному и подходят для разных сценариев.

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

Читать далее

9 агентов, 6 моделей, 1 сервер: как собрать ИИ-компанию на open-source в марте 2026

Fri, 03/13/2026 - 02:03

Я собрал команду из 9 ИИ-агентов, которая проектирует, пишет, тестирует и деплоит других ИИ-агентов. Без людей в цикле. Стоимость — один сервер с GPU.

Не бывает «лучшей модели» — бывает лучшая модель для конкретной роли. Оркестратору нужен reasoning (GPQA 88.4%), билдеру — кодогенерация (HumanEval 92.7%), критику — понимание tool use (tau-bench 87.4%). Поэтому вместо одного GPT-5 на все задачи — 6 open-source моделей на 9 ролей.

Внутри: конкретный маппинг модель → роль с обоснованием через бенчмарки, трюк с шарингом инстансов (9 агентов = 3-4 модели), три конфигурации развёртывания от одной RTX 4090 (24 GB) до кластера A100 (211 GB), квантизация, инфраструктура инференса и интерактивный дашборд.

Читать далее

CyberChef — инструмент, который заменяет десятки утилит

Fri, 03/13/2026 - 01:27

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

Знакомьтесь, CyberChef - веб-приложение, разработанное в Government Communications Headquarters. Его нередко называют «кибер-швейцарским ножом» для работы с данными. В одном интерфейсе собрано несколько сотен операций: кодирование и декодирование строк, криптографические алгоритмы, работа с бинарными форматами, сетевые структуры, временные метки, анализ сертификатов и множество других преобразований. При этом инструмент не требует установки и работает прямо в браузере, хотя при необходимости его можно скачать и использовать локально.

Читать далее

75 проектов в IntelliJ IDEA: как я перестал тонуть в Recent Projects и написал свой плагин

Fri, 03/13/2026 - 01:07

Всем привет. Я уже около 10 лет занимаюсь разработкой и около 5 лет полностью перешел на продукты JetBrains, и за все это время у меня накопилось около 150 проектов как рабочих, так и своих личных, я их конечно же красиво разложил по папочкам на диске, поставил теги на папки в маке и добавил быстрый доступ.


Я работаю с несколькими клиентами, активных проектов в работе около 25 штук, стандартные средства и функционал IntelliJ IDEA(Recent projects) с таким количеством прекрасно справляется, быстро ввел название сервиса в поиск и так же быстро открыл.
Идеальная жизнь закончилась когда ко мне пришел клиент с еще 25 микросервисами в разных репозиториях и беклогом с багами в 300+ задач(white-label решение), я вздохнул и начал работать с 50 активными проектами и обнаружил что "Recent projects" в IDEA умеет хранить только 30 последних открытых проектов, и если ты открываешь 31 проект, увы первый пропадает как из поиска, так и из списка.

Через пару месяцев этот же клиент отправил меня на помощь одному из своих заказчиков, где те же 25 микросервисов, но со своими фичами, функционалом и так далее. По итогу к декабрю у меня образовалось 75 рабочих проектов и с десяток личных, и работать с этим комфортно я не представлялось возможным. Я начал искать какие то готовые решения на просторах магазина JetBrains - нашел три мертвых плагина с плоским функционалом и по факту тем же подходом как в "Recent projects".

Решение — свой плагин со всем функционалом что я хочу, без ограничений IDEA...

Читать далее

Kawai-Focus 2.4: сборка приложения под Arch Linux

Thu, 03/12/2026 - 23:58

Всем доброго дня! В предыдущей статье Kawai-Focus 2.3: логика приложения на TypeScript:

1. Переписана логика с JS на TS;

2. Разобрана проблема запуска на Arch по issue Сергея (отключена сборка AppImage).

Сегодня я покажу, какие есть адекватные способы собрать приложение под Arch Linux без боли и лишних проблем. Для удобства тестирования и сборки я установил операционную систему Cachy OS, которая базируется на Arch Linux.

Читать далее

Топ нейросетей для SEO-обработки текста: обзор и сравнение

Thu, 03/12/2026 - 23:53

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

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

Но есть нюанс - нейросетей стало очень много. Есть универсальные модели, которые умеют всё, но требуют правильных промптов. А есть узконаправленные инструменты - они заточены под конкретные задачи, но стоят денег и не факт, что сделают лучше.

В этом обзоре я решила разобраться раз и навсегда: что реально работает для SEO-обработки текстов, а что просто пылесосит бюджет.

Поехали! Приятного прочтения)

Читать далее

Git для новичков: ветки, коммиты и первый pull request

Thu, 03/12/2026 - 23:11

Git — это вызов, через который проходит каждый второй новичок в разработке. Ветки называются «asdasd», коммиты — «правки», а pull request пугает своей красной кнопкой. Знакомо?

Меня зовут Сергей Прощаев, я Tech Lead в FinTech и преподаватель на курсах в OTUS. В этой статье разбираем самое главное: как создавать ветки и почему их нельзя называть как попало, что писать в коммитах, как сделать pull request в лучших практиках команд разработки

Разобраться в Git

Доступное нагрузочное тестирование: опенсорс-инфраструктура

Thu, 03/12/2026 - 22:34

Как часто вы задумывались о нагрузочном тестировании (НТ), когда на подходе очередной релиз, но времени на дополнительные проверки катастрофически не хватает? В таких условиях НТ обычно выглядит ненужной роскошью, но на деле оно — неотъемлемая часть процесса, которой нельзя пренебрегать. Нагрузочное тестирование помогает избежать множества рисков, особенно в условиях роста количества пользователей и требований к производительности.

Мы — команда QA из РТЛабс. В этой статье мы расскажем, как с помощью опенсорс-инструментов создать надёжную и масштабируемую инфраструктуру для НТ, осуществлять запуск тестов в один клик, организовать высокопроизводительный мониторинг в реальном времени и долгосрочное хранение результатов.

Читать далее

PMBoK 7 vs PMBoK 8: что изменилось и зачем это знать креативному PM в геймдеве

Thu, 03/12/2026 - 22:10

Признаюсь сразу: я никогда не работала по PMBoK как по инструкции. И подозреваю, что большинство PM‑ов в арт‑аутсорсе — тоже. Слишком много процессов, слишком мало про то, что происходит, когда клиент на третьем ревью говорит «а давайте поменяем концепцию».

Но PMBoK 8 — первое издание, которое я открыла из искреннего любопытства. Разбираю, что изменилось и почему это наконец‑то работает для креативных PM‑ов.

Читать далее

[Перевод] Почему они хотят избавиться от инженеров-программистов

Thu, 03/12/2026 - 21:47

С некоторых пор я пытаюсь уловить настроения, стоящие за этим активным продвижением идеи об «ИИ, который пишет весь код».

Не «ИИ помогает вам автодополнить функцию». Не «ИИ объясняет стек вызовов». Я имею в виду полноценную риторику:

«Нам больше не понадобятся инженеры-программисты».

И я никак не мог сформулировать, что именно меня в этом напрягает — пока в голове не щелкнуло.

Читать далее

Vibe Coding vs Deep Development: Почему я использую ИИ тоннами, но никогда не позволю ему думать за меня

Thu, 03/12/2026 - 21:46

Дисклеймер: Эта статья не о том, что «Vibe Coding — это зло». Если вам нужно быстро склепать прототип для презентации инвесторам или сделать лендинг за час — вперед, это легитимный инструмент. Эта статья о том, почему для профессионального роста и долгосрочной устойчивости как инженера важно разделять понятия «погонщик ИИ» и «инженер, использующий ИИ».

Читать далее

Мотивированное отрицание: почему умные люди убедительнее лгут сами себе

Thu, 03/12/2026 - 21:28

Как мозг защищает убеждения вместо поиска истины и почему «давайте подумаем ещё раз» не работает

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

Читать далее

Разбираемся с ошибкой no empty local buffer available в PostgreSQL 18

Thu, 03/12/2026 - 20:40

При обновлении PostgreSQL с 17-й на 18-ю версию часть пользователей при работе с временными таблицами столкнулась с неожиданной ошибкой no empty local buffer available, в том числе, в типовых конфигурациях 1С. В статье разбираем первопричину: как новый механизм асинхронного prefetch в read stream конкурирует с insert stream за слоты local buffer pool, почему это не проявлялось в PostgreSQL 17, и какие исправления предложила сообществу PostgreSQL команда Tantor.

Читать далее

Антипаттерны и best practices карьеры в IT

Thu, 03/12/2026 - 20:34

Здравствуйте, товарищи! Меня зовут Валентин, а на повестке дня у нас карьерные и софтовые вопросы. Разберем основные пути развития: специалист, предприниматель, руководитель - выбор, от которого зависит вся остальная траектория.

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

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

Статья будет полезна, как новичкам, так и middle+ спецам, которые задумываются: куда двигаться дальше по карьере.

Читать далее

Who's online

There are currently 0 users and 8 guests online.