Обновить
1024K+

Программирование *

Искусство создания компьютерных программ

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

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

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

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

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

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

Читать далее

Новости

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

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

Работа с файлами в 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, и часть из них не работает — пришлось делать скоринг вариантов по эвристике.

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

Читать далее

Компилятор удалил вашу проверку на переполнение. И он прав

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

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

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

Как мы победили OOMKill и сэкономили треть ресурсов: настройка JVM в Kubernetes

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

Привет! Я Костя Никитин, руководитель направления в одном из подразделений Т-Банка. Занимаюсь проектированием высоконагруженных систем — мы импортозамещаем автоматизированную банковскую систему. Если упростить, это автоматизация бухгалтерского учета: все банковские операции приходят к нам, нужно их сложить и посчитать. В Java-мире я уже больше двенадцати лет, начинал когда-то с 1.6.

Расскажу о проблемах, с которыми мы столкнулись, когда переехали в Kubernetes, как мы их порешали и как в итоге оптимизировали ресурсы при работе в виртуализации. Если вы хоть раз ловили OOMKilled на ровном месте и не понимали за что, может быть, узнаете себя.

Спойлер: в финале мы сократили потребление памяти на 18%, CPU — на 31%, а приложения при этом стали работать быстрее. Погнали.

Читать далее

Мы списали uv со счетов. А потом он ускорил наш CI на 80%

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


Мы списали uv со счетов. А потом он ускорил наш CI на 80%

В Python-сообществе вокруг uv уже несколько месяцев шум: быстрый резолвинг, один инструмент вместо зоопарка утилит и обещание ускорить привычный workflow. Звучит хорошо — пока не проверишь на своём стеке.

Мы так и сделали. Взяли один микросервис: Python 3.14, 37 прямых зависимостей, 153 пакета в lock-файле, приватные пакеты и внутренний Nexus. Ожидание было простым: если uv действительно быстрее Poetry, миграция окупится сама.

Локально получилось наоборот. Резолвинг — да, быстрее. Установка по готовому lock-файлу — нет, иногда даже медленнее. Эксперимент закрыли и остались на Poetry.

Через несколько недель пришлось вернуться. Не из любопытства, а из-за алерта Trivy и сюрпризов Poetry 2 с корпоративными индексами. И вот тогда uv показал себя совсем в другом месте — в CI.

В статье разберем:

- почему локальный бенчмарк uv vs Poetry нас обманул;
- как Poetry 2 сломал привычную разработку без VPN;
- зачем мы писали парсер poetry.lock requirements.txt и почему это оказалось костылём;
- как точечная замена Poetry на uv sync в пайплайне сократила время с 5:10 до 2:50;
- почему в итоге uv стал единым стандартом и локально, и в CI.

Коротко: если инструмент не выиграл с первого прогона — это ещё не значит, что он бесполезен. Часто вы просто мерили не то узкое место.

Читать далее

Sentry пора на покой… Metric готов принять пост

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

Self-hosted Sentry — это 65 контейнеров, 16-32 ГБ RAM и выделенный инженер на поддержку. Всё ради того, чтобы ловить стектрейсы. Разбираемся, почему индустрия приняла это как норму, сравниваем альтернативы (GlitchTip, BugSink, Hawk) и знакомимся с Metric — Sentry-совместимым мониторингом на, которому хватает 1 ГБ RAM и двух контейнеров. Миграция — смена одной строки DSN.

Читать далее

Напарник, Confaster или Claude Code: как мы в SimbirSoft подбираем AI-агента для ускорения 1С-разработки

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

Кто может назвать самый известный во всем мире «помощник» при написании не только программного кода, а вообще любого, даже небольшого текста? Наш тайный чемпион – буфер обмена!

Кто-то, наверняка, сейчас усмехнется, но задумайтесь на пару секунд: сколько раз вы не переписывали текст тупо слово за словом, а просто копировали и вставляли его в нужное вам место? Ведь мало кому захочется так тратить свое время, когда можно просто скопипастить. Все к этому привыкли настолько, что никто не сможет уверенно сказать сколько раз за день он нажимает [Ctrl]+[C] и [Ctrl]+[V]. В каких-то случаях, может быть, удобнее перебирать пальцами [Ctrl]+[Insert] и [Shift]+[Insert], или мышью тыкать в картинки на панели инструментов, – все это уже кому как удобно поступать в каждый момент времени.

Все-таки буфер обмена можно назвать главным помощником при написании текстов, и в том числе в 1С-разработке. И тем более, что в 1С можно так копировать не только текст процедур, но реквизиты и целые объекты в структуре конфигурации.

Привет, Хабр. Я 1С-разработчик SimbirSoft Михаил, в этой статье поделюсь своим опытом подбора инструментов, которые помогают ускорить разработку в 1С.

Читать далее

Эра инженерной зрелости: как выглядит стек JS-разработки в 2026 году глазами сообщества

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

Хайп-цикл фронтенда, кажется, наконец-то выдохся. Мы вышли из фазы бесконечного переизобретения колеса, где каждый месяц появлялся «убийца React», и вошли в эпоху убийцы Fable инженерной зрелости. Сегодня опытного инженера сложно впечатлить очередным фреймворком: ценность сместилась в сторону предсказуемости, скорости поставки (delivery) и снижения когнитивной нагрузки.

Привет, меня зовут Павел Востриков, и я — архитектор веб-направления в «Лаборатории Касперского». В этой статье хочу разобрать JS-экосистему как набор инженерных компромиссов.

На HolyJS Spring 2026 мы предложили 120+ инженерам оценить свой реальный стек. Получившийся радар мог быть просто списком библиотек, но в итоге вышел срезом того, как выглядит рациональный подход к коду в 2026 году. Мы видим, как разработчики массово идут в сторону предсказуемой скорости масштабирования решений и инженерной гигиены.

Читать далее

Коннектор к 1С без доработки конфигурации: как мы построили его на OData

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

Привет, Хабр! Меня зовут Виктор Овчинников, я руковожу направлением интеграции и развитием платформы Digital Q.Integration в «Диасофт».

Недавно мы с коллегой Андреем Даниленко, ведущим разработчиком, провели вебинар, на котором рассказали про коннектор к 1С, и в комментариях попросили выложить более подробный технический разбор, что там происходит «под капотом» с точки зрения OData, и как выглядит этот сценарий на живых примерах. Здесь я делаю детальный текстовый анализ. Приглашаю всех присоединиться и при желании посмотреть запись вебинара: https://rutube.ru/video/9344562315beaaf94430d7c4de16ed74/?r=wd&p=KqHZJOTtxfoFzqSMgPuwYg

Читать далее

«Войти через Google»: что сайт получает на самом деле и почему это иногда хуже обычной регистрации

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

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

Читать далее

31 августа лимиты Claude Code упадут на треть: что заканчивается и что с этим делать

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

TL;DR

31 августа 2026 в 23:59 по тихоокеанскому времени заканчивается промо, которое с 13 мая держало недельные лимиты Claude Code на 50 % выше стандартных. Продлевали его трижды — 13 июля, 19 июля, 19 августа. После отмены недельная ёмкость падает примерно на треть: делить на полтора — это возврат к 67 % от привычного. Одновременно работает второй множитель, о котором говорят реже: модели Claude 4.7 и новее считают тот же самый текст примерно на 30 % дороже в токенах, а файл CLAUDE⁠.md — в 1,445 раза. Сложите одно с другим, и получите ощущение, что лимит закончился «в два раза быстрее, чем раньше», хотя формально урезали только треть.

Ниже — что именно заканчивается, с датами и ссылками на документацию Anthropic. И вторая половина, ради которой всё писалось: что с этим делать. Штатный режим «дорогая модель планирует, дешёвая исполняет» внутри самого Claude Code. Механика banked reset у Codex — она существует, но работает не так, как о ней рассказывают. GLM-5.3-Flash, она же нашумевшая Ox Alpha, — с моими собственными замерами, которые расходятся с анонсом. И Fugu от Sakana, которую почти все описывают неправильно.

Что именно заканчивается

Промо на +50 % к недельным лимитам Claude Code действует с 13 мая 2026 и заканчивается 31 августа в 23:59 PT. Anthropic продлевала его трижды, каждый раз незадолго до истечения, так что четвёртое продление исключать нельзя — но планировать на него не стоит. Арифметика возврата простая и неприятная: если сейчас ёмкость составляет 150 % от базовой, то после отмены остаётся 100 %, то есть две трети от того, к чему вы привыкли за три с половиной месяца. Это не «немного ужмут» — это треть недельного бюджета, которую придётся либо экономить, либо чем-то замещать.

Читать далее

ЕГЭ не готовит к вузу. Он готовит к ЕГЭ

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

Этим летом выпускник набрал 310 баллов и не прошёл на бюджет. История разлетелась по СМИ, виноватыми назначили олимпиадников. Полез в цифры: в МФТИ они действительно заняли 53% мест, а на факультете ИИ в МГУ — 15 из 20. Но по стране доля БВИ всего 2,6%. Разбираю, что происходит на самом деле, чем отличаются категории льготного поступления, и главное — что говорят данные ВШЭ о том, кто из поступивших потом лучше учится.

Читать далее

Ленивый LINQ: разбираем yield и ленивые вычисления по кирпичикам. Часть 2

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

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

Во второй части переходим к «тяжёлой артиллерии» — OrderByGroupBy и Join. Эти методы вынуждены нарушить главный завет ленивых вычислений: они материализуют данные в памяти, прежде чем отдать хоть один элемент. Но как именно?

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

Читать далее

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

История одного бага

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

В последние 5 лет, мы разрабатываем устройства с уровнем функциональной безпосности SIL3 (в части встроенного ПО). Это накаладывает кучу ограничений, например, абсолютно запрет на использование не сертифицированных по функциональной безопасности средст, типа Cube, или компилятров GNU и Clang, только сертифицированные средства типа IAR Workbench Function Safety.

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

Читать далее

Одна среда на шесть компьютеров вместо командной подписки Claude Code

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

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

Хочу подробнее описать как у меня устроена командная работа с Claude Code

У меня шесть машин: всегда включённый десктоп, два ноутбука на Windows, два Мака и Linux-VPS. За ними работают три человека. На каждой машине свой Claude Code, свой логин.

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

Так у меня работает с июня.

Читать далее

Клиент попросил удалить свои данные, вы сделали DELETE. Данные остались в файле

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

Ситуация обычная: пришёл запрос на удаление персональных данных, разработчик выполнил DELETE FROM clients WHERE id = ..., отчитался. Формально всё правильно — строки в таблице нет, приложение её не видит, выгрузка не содержит.

А в файле базы она есть. Целиком, вместе с именем и номером карты, и достаётся обычным grep.

Читать далее

Учебник по разработке ПО для финтеха

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

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

Для кого этот учебник?

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

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

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

Читать далее

Тестирование конкурентных запросов: практический гайд по проверке конфликтов в HTTP API при изменении одной сущности

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

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

Разберём, как тестировать такие ситуации через последовательные и параллельные запросы, какие ответы считать корректными и почему одного успешного HTTP‑ответа недостаточно, чтобы подтвердить безопасность изменений.

Читать далее

Бенчмаркая сортировку строк: подстава с дефолтным компаратором — ×5

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

Сортировка строк без компаратора работает не так, как кажется, и заметно дольше.

Замерил на четырёх машинах и четырёх рантаймах, посчитал обращения к компаратору и заглянул в исходники.

Читать далее

Режим инкогнито и очистка cookie: почему сайт всё равно узнаёт, что это снова вы

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

Обычная логика такая: не хочу, чтобы меня узнавали — открываю приватное окно, и всё, я новый посетитель. Логика была верной примерно до середины десятых годов.

Сейчас узнавание держится не на cookie, а на наборе свойств самого браузера. Их не надо никуда сохранять — они просто есть, и по их сочетанию посетитель определяется с высокой надёжностью. Очистка хранилища на это не влияет никак: удалять там нечего.

Читать далее