Обновить

Все потоки

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

Я думал, что 16 воркеров ускорят обработку задач в 16 раз. Но что‑то пошло не так

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

Недавно я написал свою систему распределённой обработки задач. Сначала это был учебный проект. Мне хотелось лучше разобраться в очередях задач, координации воркеров, блокировках строк в PostgreSQL, retry‑механизмах и планировании фоновых задач.

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

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

Увеличение количества воркеров с 16 до 32 практически не дало прироста производительности, а при 64 воркерах ситуация стала ещё интереснее: задачи, которые должны были выполняться около 0.5 секунды, начали занимать больше секунды.

Первой моей мыслью было, что я упёрся в PostgreSQL.
Оказалось, что нет.

Читать далее

Я хотел просто спросить нейросети, где искать квартиру. В итоге собрал исследовательский пайплайн с 1197 тестами

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

Вокруг GEO‑продвижения слишком много разговоров о том, как попасть в ответы нейросетей, какие сайты любят ИИ и что нужно сделать для того, чтобы бренд чаще рекомендовали в выдаче. Но чем больше я погружался в тему, тем сильнее меня смущало то, что большую часть таких выводов делают по нескольким ручным запросам. Спросили нейросеть 5–10 раз, увидели несколько знакомых брендов и уже делают выводы о видимости компании.

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

Читать далее

Self-hosted почта на arch linux, postfix, dovecot и let's encrypt

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

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

Читать далее

Возможно, водяной знак на всех текстах Клода, причина, по которой с ним невозможно работать

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

Новость о том, что Anthropic объявила о внесении во все тексты водяного знака, слышали и обсудили уже все. С 2 августа во все тексты, которые пишет Claude, встраивается невидимая метка, и она не на уровне невидимых символов, что легко удаляются через сторонний редактор, или метаданных рядом с файлом. Это статистический сигнал внутри самих слов. И подобное переживает копирование, вставку и даже часть редактуры. Убить такое можно только через серьёзный рерайт.

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

Параллельно с этим Opus 5, флагман, лучшая модель по бенчмаркам, стал таким, что с ним стало физически тяжело работать. И это заметили все, и, возможно, два этих события связаны.

Читать далее

redb 3.6.0: багрепорт, который оказался в шести провайдерах сразу — плюс AS2/EDI и общий порт

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

Отчёт пользователя вскрыл утечку между диалогами в query-провайдере ядра — 6 из 6. Что ещё в 3.6.0: AS2/EDI, общий Kestrel, Camel-паритет.

Год стек рос на наших собственных задачах: мы писали то, что нужно было нам, и проверяли на своей проде. С весны им начали пользоваться посторонние люди — и характер входящих сообщений изменился. Вместо «а поддерживаете ли вы X» приходят разборы: воспроизведение, номера строк в наших исходниках, обходные пути, которые человек уже написал у себя, пока ждал ответа.

Это самое ценное, что может ...

Читать далее

Генерируем ассеты для игры: Nano Banana Pro и Grok vs. ComfyUI

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

Возвращаемся к баттлу нейронок. В этот раз в генерации игровых пиксельарт ассетов у нас соревнуются Nano Banana Pro, Grok и кастомная ComfyUI. Наш жанр — зомби-сурвайвал, вдохновленый играми по типу Dead Ahead с небольшим закосом под ретро.

Читать далее

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

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

Привет! Собрали для вас топ онлайн-магистратур по разным направлениям: IT, финансы, право, менеджмент, дизайн, маркетинг, лингвистика, психология и другие. В статье мы расскажем, чем онлайн-магистратура отличается от обычной, какой диплом получают выпускники, как совмещать учёбу с работой и как поступить.

Напоминаем, что приёмная кампания 2026 закончится меньше, чем через месяц. Поэтому, если вы планировали поступать в этом году, поторопитесь.

Читать далее

Флешбэки адового 2020 года, который в 2026 уже не кажется таким страшным

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

Спойлер: нет, я не про пандемию

Всем привет! На связи Саша Петрушин, я руковожу группой разработки в центре разработки и машинного обучения компании «Инфосистемы Джет».

Недавно я нашёл старый черновик статьи, которую так и не опубликовал с 2020 года — про фронт личного кабинета крупного портала. Перечитал и вспомнил, насколько это было круто и адово.

Дисклеймер: в этой статье – теория, как проект мог измениться в 2026 году. ИИ-агенты — это другие требования к информационной безопасности. Используйте их разумно.

В марте, в разгар локдауна, я пришёл в команду пятым разработчиком: Angular 1.4 с Backbone, переписывание на React, виджеты, 2400+ сценариев подачи заявлений. Потом мы расширили команду до двадцати фронтендеров.

В общем, поностальгировал по команде и ощущению «мы же это реально сделали».

А после задался двумя вопросами.

Как бы я решал ту же задачу сейчас?

И что вообще изменилось в реальной экономике поставки продукта за последние пять с лишним лет?

Читать далее

Обработка исключений в Kotlin Coroutines

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

Представьте классическую ситуацию: вы запускаете корутину для фоновой задачи (например, сетевого запроса) и хотите подстраховаться от падений. Как бы мы сделали в синхронном коде — обернули бы в стандартный блок try/catch блок кода, в котором может быть ошибка:

Читать далее

Аналитик, или Туда и Обратно: как мы стали «Google на минималках» в мире контейнерной оркестрации

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

Привет! Меня зовут Алиса, и сейчас я руковожу командой разработки продукта «Штурвал». У нас работает около пятидесяти человек:  инженеры,  безопасники,  девопсы, фронтендеры, бэкендеры на Go и тестировщики, которые ломают всё, что мы строим. Но сегодня я хочу рассказать не о них. Сегодня балом правят аналитики. И под катом объясню, почему. 

Читать далее

Одна железяка мешала работать всему заводу. Пришлось собрать завод заново

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

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

Без такой компьютерной копии сегодня не построишь ни один большой завод. А писали такие программы десятилетиями только за рубежом. В 2022 году иностранные компании начали уходить из России и забирать свой софт с собой.

Меня зовут Сергей Кирясов, я старший менеджер в Цифровом СИБУРе. Сам я не программист, а пользователь, из тех, для кого этот софт и делают. Расскажу, как мы из этой ситуации выбираемся. Если коротко, то четыре крупные компании сели писать замену с нуля.

Читать далее

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

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

Возвраты в онлайн‑торговле одеждой держатся, по разным оценкам, на уровне 20–30%, а в отдельных категориях доходят до половины заказов. Главная причина устойчиво одна: не подошло по посадке, и на неё приходится около половины всех возвратов. Задача выглядит как классическая рекомендательная: есть покупатель, есть товар, надо предсказать метку. Ниже я разберу, почему в этой постановке она недоопределена в принципе, и что из‑за этого происходит с моделями.

Читать далее

Два стека — один контур: доставляем разнородные приложения в Kubernetes через werf

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

Привет. Меня зовут Денис, я занимаюсь разработкой и доставкой приложений под Kubernetes с 2020 года. За это время через мои руки прошло достаточно проектов, чтобы заметить одну повторяющуюся вещь: почти в каждом из них рано или поздно заводился собственный набор скриптов, склеивающих сборку образа и выкатку релиза. Скрипты были разные, а болезнь одна – они прирастали к проекту и не переносились на следующий.

В этой статье я разберу контур доставки, который мы собрали, чтобы эту болезнь вылечить. Он ставит два совершенно разных по стеку приложения – React плюс Spring Boot и Angular плюс FastAPI – в кластеры двух окружений одной командой, при этом сам про эти приложения ничего не знает. Всё, что их связывает, – небольшой контракт из нескольких переменных.

Читать далее

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

Go SDK для YDB: уменьшаем количество запросов к СУБД для интерактивных транзакций

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

Привет, Хабр! Меня зовут Степан Пестерников, мы с командой делаем Алису и активно используем СУБД Яндекса. Недавно коллеги из YDB провели большой рефакторинг в YDB Go SDK, где по умолчанию теперь используется новый Query Service.

Я воспользовался этим рефакторингом, чтобы уменьшить количество сетевых запросов от SDK к YDB. Клиентские SDK устанавливают к распределённой СУБД Яндекса gRPC-подключения, поверх которых отправляются низкоуровневые команды. Какие-то из этих команд можно объединять: например, команду начала транзакции и выполнения первого запроса.

В статье я покажу фрагменты кода и расскажу, как мы делали улучшения, которые вошли в релизы v3.126.0 и v3.126.5 Go SDK. Фрагменты кода получились небольшие, и на их примере удобно показать, как этими оптимизациями пользоваться.

Читать далее

Как я эмигрировала, потеряла всё — и построила компанию на $1 млн в год из собственной проблемы с поиском работы

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

В России мне было легко искать работу - бренды Яндекса и ВШЭ узнавали везде. В Америке эти названия не значили ничего. Рекрутеры не знали эти компании, а некоторые даже не могли их выговорить.

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

Читать далее

Мне нужен был скрипт для выключения виртуалок. В итоге я написал VDI

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

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

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

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

Скрипт я написал за вечер, и он даже работал, но по итогу я изобрёл VDI. Только не так, что посмотрел готовые решения и они меня не устроили, — я вообще не формулировал свою задачу как «нужен VDI» и потому не искал. Я решал «пусть виртуалки сами гасятся», а всё остальное наросло само, вопрос за вопросом. Когда стало очевидно, во что это превратилось, переезжать на готовое было уже и поздно, и незачем.

Дальше разбираю вопросы, которые нарастали.

Читать далее

Когда ИИ пора перестать верить учебнику?

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

Представим, что при запуске ИИ получает доступ к архиву тысяч предыдущих попыток: удачные методы, ошибки, споры, опровержения и нерешённые вопросы. Очевидно, что способность системы может расти, даже если сама базовая модель не меняется.

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

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

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

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

Читать далее

Домашнее облако: мой опыт переезда из экосистемы Apple

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

Меня зовут Павел, и я пользователь Apple с 10-летним стажем. И два месяца назад я решил переехать с iCloud на домашний сервер с Open Source ПО.

Приходил я к этому постепенно. Долгое время я пользовался iPhone, iPad, MacBook, AirPods и другой яблочной техникой, и не знал забот. Вся моя жизнь была залита в iCloud, я там хранил и файлы, и документы, и номера кредиток, и фото за почти всю жизнь. Но со временем в мою голову стали закрадываться сомнения: зависимость от одной корпорации — не очень хорошая идея. Кто имеет доступ к моим данным, что они с ними делают, как это проверить? А что, если завтра Apple решит грохнуть мой аккаунт? Или обновление превратит мою технику в кирпич? Они же точно этого не сделают, они солидная компания! Ведь точно, не сделают?..

И можно было бы просто сделать бэкапы всего и успокоиться. Но я стал задаваться более глобальными вопросами: а насколько сегодня кофмортно можно жить, не завися от продуктов корпораций? Хотя бы в цифровом плане. Можно ли пользоваться исключительно Open Source софтом, контролировать свои данные, и при этом не потерять привычного комфорта?

Так я решил начать свой эксперимент. Цель я поставил масштабную — переехать полностью на Open Source ПО на компе, телефоне, ноутбуке и связать все это в экосистему. И начать я решил с домашнего облака.

Читать далее

Как я настроил общий AI-harness для команды разработки на Pi

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

Как дать AI-агенту контекст нескольких репозиториев и доступ к рабочим инструментам? Показываю setup на Pi: отдельный Git-репозиторий с описаниями проектов и документацией, skills для CLI-интеграций, progressive disclosure через references и тот же harness в терминале и Telegram.

Читать далее

Перевод книги целиком: как я создал конвейер с помощью LLM

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

Я потратил пару недель на создание конвейера с открытым исходным кодом, который переводит книги целиком с помощью платных подписок на LLM. Поддерживаются Claude Code, Antigravity CLI и Codex. В статье описаны принципы построения конвейера для максимального качества перевода, а также тонкости по лимитам, скорости, цензуре и т.п. Проект BookTrans на GitHub.

Читать далее