Обновить
512K+

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

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

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

Шильдик «Опытный пользователь LLM»

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

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

Читать далее

Jev за 25 строк на Python

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

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

Читать далее

Терпение. Или как один зависший кадр заставил меня построить ещё полсистемы;‑)

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

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

Читать далее

Держи хотпас в холоде, а кеш в тепле

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

В литературе по оптимизации, работа с памятью стоит не на первом месте, и даже если вы добрались до этих глав там, с большой вероятностью будут рассказывать про пропускную способность, чтобы система могла перемалывать условные пять ГБ/с вместо трех. И в целом это правильная метрика, когда у вас потоковая обработка, или батчи данных вродя запекания освещения, сборки навмеша, или компиляция шейдеров. Там имеет значение сколько данных прошло через процессор за отведённое время, и все стандартные приёмы (SoA, плотные массивы, линейный обход, векторизация) работают на эту метрику.

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

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

Читать далее

Из 165 крупнейших банков в App Store остались 37. Почему сейчас в России проще быть Android-разработчиком

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

Привет!

15 июля истёк срок, который ФАС дала Apple на предустановку RuStore и MAX. Требования не выполнены, дело возбуждено, потолок штрафа доходит до 4 млрд рублей. Ну, вроде очередной эпизод в переписке ведомства с корпорацией, таких за последние годы набралось много.

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

Скажу сразу: любимой платформы у меня тут нет, болеть ни за кого не собираюсь.

Читать далее

Почему разработка постоянно выходит за сроки и как исправить это с помощью Shape Up

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

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

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

Читать разбор

Тест на подделку куки проходил без проверки подписи: как я принимаю код от ИИ-агентов

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

Код в моих проектах пишут агенты, Codex и Grok, и они же пишут к нему тесты. За последние месяцы набралась коллекция зелёных тестов, которые ничего не проверяли: тест на подделку подписи, проходящий без сравнения HMAC, лимиты, которые вызывали только их собственные тесты, отчёты «all pass» с заглушённым кодом возврата. Разбираю, где это ловится и как у меня устроена приёмка.

Читать дальше →

До вайб‑кодинга оставалась четверть века…

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

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

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

К ИИ я относился так же, как большинство знакомых мне инженеров. Игрушка. Лендинг накидать, стишок написать, в лучшем случае скрипт. Слово «вайб‑кодинг» для меня означало примерно это: человек сам не понимает, что делает, и надеется, что модель как‑нибудь сделает за него. Люди, которых я уважаю, в серьёзные проекты ИИ не пускали, ну и я не пускал. Пробовать я стал от безвыходности: в компании не осталось разработчиков, а объектов на поддержке осталось две сотни. Через ИИ пришлось пропустить вообще всю разработку, включая задачи, за которые раньше взялась бы только команда. И тут выяснилось, что это давно уже не игрушка. Ставишь задачу, задаёшь архитектуру, и он делает так, как сделали бы нормальные программисты.

Читать далее

Создатель Linux довел ИИ до отчаяния

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

22-й выпуск IT-новостей от OpenIDE!

Линус Торвальдс заставил ИИ искать баг в Linux, хотя тот несколько раз предлагал сдаться. OpenAI заявила о решении задачи тысячелетия, а математики объяснили, почему правильного ответа им недостаточно.

В OpenIDE вышел большой релиз и появилась поддержка C/C++ от независимого разработчика. Ещё в выпуске: Jev для быстрых решений, призыв Дарио Амодеи притормозить развитие ИИ, свежый Opus 5.5 и ZCode, который без спроса упаковывал репозитории для отправки в облако.

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

Читать далее

Восстановление EVTX-записей: методы карвинга

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

Журналы событий Windows в формате EVTX являются одним из ключевых источников телеметрии при реагировании на инциденты. Они содержат свидетельства действий злоумышленника на хосте и нередко оказываются единственным подтверждением произошедшего. Например, при компрометации учетной записи, горизонтальном перемещении или закреплении.

Поэтому атакующие часто стремятся уничтожить их: очищают через wevtutil cl, шифруют или вайпят диски. Современные вымогатели все чаще шифруют целые образы виртуальных машин (VDI, VMDK, VHDX). В таких случаях файловая система тома может быть полностью недоступна или повреждена настолько, что штатные средства не могут ее смонтировать: например, если разрушена MFT или потеряна таблица разделов.

В подобной ситуации можно попытаться реконструировать файловую систему вручную: выполнить поиск потерянных разделов и восстановить удаленные файлы. Однако часть записей событий при этом может быть потеряна, и сам EVTX-файл нередко оказывается сильно поврежденным, а на такую работу уходит много времени. Здесь и вступает в дело карвинг — побайтовый поиск сигнатур формата EVTX непосредственно в сыром образе (диска, тома, дампа памяти, файла подкачки, снимка VSS) с восстановлением того, что физически сохранилось, в обход файловой системы.

Читать далее

Встречаем GPT‑6 Sol и Luna

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

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

Поэтому мы расширяем семейство GPT-6 моделями GPT-6 Sol и GPT-6 Luna. GPT-6 Astra открыла новое поколение интеллектуальных моделей, а Sol и Luna позволяют сделать преимущества этого поколения доступнее за счёт более высокой эффективности по соотношению стоимости и возможностей. При обучении GPT-6 Sol и Luna мы использовали подходы, схожие с теми, что применялись для GPT-6 Astra. Благодаря этому более быстрые и доступные модели получили многие из улучшений Astra: высокий уровень работы с профессиональными задачами, фактическую точность, навыки программирования, взаимодействия с компьютером и следования заданным принципам поведения.

Читать далее

Одна цифра в двух смыслах: читаю whitepaper Сбера про AI-Disrupt PDLC со своей телеметрией в руках

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

За 30 дней моей работы агентами Claude Code по прайсу API насчитал бы $13 027, а по подписке это стоило $200. Я сверил свою телеметрию с whitepaper Сбера “AI-Disrupt PDLC”. Цифра “мультиагент в 15 раз дороже” стоит в нем в двух местах с разными базами сравнения, и прочтения расходятся вчетверо. У меня сессия с субагентами в среднем в 33 раза дороже сессии без них, кэш удешевил вход в 7,8 раза при заявленных “до 10”, а 28% сессий пробили бы бюджет Сбера в 200K токенов. Скрипт, чтобы посчитать свое, - в конце статьи.

Читать далее

Ваш future весит два килобайта, и виновата одна фигурная скобка

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

Приветствую!

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

Такая функция возвращает future размером 1026 байт. А если передвинуть буфер так, чтобы он умирал до ожидания — банально, обернуть в фигурные скобки, — размер упадёт до 2 байт.

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

Сегодня посмотрим, в чем же тут беда.

Читать далее

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

SEO-плагины на DeepSeek Harness: что переезжает из Claude Code, а что нет

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

У DeepSeek появился свой агентный харнесс — dsh. Разбираю, как перенести на него SEO-набор: серверы с данными, правила работы и страховку от ошибок модели.

Читать далее

Методология нейрослопа

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

Нейросети с нами надолго. Даже если вдруг исчезнут OpenAI, Anthopic, Z.ai и прочие, мой личный Qwen 3.8 27B никуда не денется. Вопрос - a что с этим делать? Как разрабатывать софт в новую эпоху?

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

Есть такой университетский предмет, который все давненько подзабыли (а люди с ИТ-курсов его и в глаза не видели): "методология разработки программного обеспечения". Разработка хорошего ПО - это всегда вопрос методологии. Это и общие принципы архитектуры, и дисциплина работы, и возможность передать работу соседу, разделить между несколькими людьми, признать нечто готовым или не готовым. Без методологии разработка стремительно теряет управляемость.

Как сейчас.

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

Читать далее

Рулим в облака: деплой микросервиса генерации ID в Kubernetes

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

Привет, Хабр! Продолжаю серию статей по проектированию и разработке отказоустойчивой микросервисной системы сокращения ссылок.

Если вы только присоединились, рекомендую ознакомиться с предыдущими частями:

Читать далее

Native AOT заставил меня переписать весь .NET проект

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

Мне хотелось, чтобы знакомство с HydraScript выглядело просто: скачал интерпретатор, запустил скрипт. Сомнительно предлагать человеку сначала установить подходящий .NET Runtime ради моего языка программирования.

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

Читать далее

Гайд по switchback‑экспериментам: длина окна, кластеризация ошибок и мощность

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

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

Разобрать подход

Корутины C++: как приручить асинхронный I/O

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

Когда комитет стандартизации проектировал корутины, за кадром остался один неловкий момент: фрейм корутины (coroutine frame) — это динамический объект. Локальные переменные, буферы под чтение, аргументы и состояние автомата с точкой останова co_await должны где-то физически лежать, и по умолчанию компилятор выделяет это пространство из общей кучи через глобальный operator new. В асинхронном GUI, где корутина заводится на каждое нажатие клавиши и на каждое чтение из файла, это означает межпоточные блокировки кучи на каждом шаге с потенциальным переключением контекста — ровно то, от чего корутины обещали избавить.

И это не единственный сюрприз: сам по себе co_await асинхронности не даёт. Учебный awaitable запускает работу только в момент ожидания, и две асинхронные операции подряд на деле не запускаются асинхронно - идут с холостым кругом между ними; чтобы корутины стали по-настоящему асинхронными, механизм запуска операции пришлось отделить от того, что даёт язык. Эти вещи неочевидны, о них почти не пишут, и тем, кто присматривается к корутинам, стоит смотреть на них в первую очередь.

Заглянуть под капот

Кто нашёл больше багов — агент или человек? Мои замеры 11 недель работы с AI-тестировщиком

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

Одиннадцать недель я вёл дневник каждой рабочей сессии с Claude Code: часы агента, свои часы, судьба каждого кандидата в дефекты. Вышло 277 агентских часов против 213 моих и 94 подтверждённые находки — 77 нашёл агент, 16 я. Внутри: почём обошёлся час агента, где он не окупился, что пропустил и почему первый подсчёт находок оказался завышен почти вдвое.

Читать далее