Обновить
1024K+

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

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

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

Изучаем Triton ядро за ядром: сложение векторов

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

Основы программирования для GPU, оптимизация и ваше первое ядро на Triton

В эпоху моделей, оперирующих миллиардами параметров, даже небольшая оптимизация может дать значительный эффект. На обучение таких моделей как GPT4 тратится свыше $100 миллионов, и поэтому выигрыш в 1% КПД позволяет сэкономить более миллиона долларов. Есть мощный способ оптимизировать эффективность моделей машинного обучения – для этого нужно написать некоторые их компоненты прямо на GPU. Если ваш опыт похож на мой, то одно только упоминание ядер CUDA может вызвать у вас озноб — ведь печально известно, как сложно их писать и отлаживать.

Читать далее

Программу, по которой я учился в началке, просто вычеркнули

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

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

Читать далее

У Claude Code уже есть такая память. Тогда зачем я держу свою?

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

Недавно я рассказал, как держу долговременную память агента на обычных markdown‑файлах, без вектор‑базы и эмбеддингов. За кадром той статьи осталось главное: показал, к чему пришел, а вот от чего ушел и почему — нет. И еще одно, о чем стоит сказать прямо: у Claude Code есть своя встроенная память почти того же вида. Я про нее знаю — и сознательно держу свою, в проекте. Дальше объясню, почему.

Если совсем коротко, вот к чему сводится разница:

Читать далее

Как взять образовательный кредит на онлайн-магистратуру в 2026 году: полное руководство

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

Привет, это команда Яндекс Практикума. До конца приёмной кампании 2026 осталось чуть больше недели, но за это время можно успеть поступить в онлайн-магистратуру ИТМО или НИЯУ МИФИ в партнёрстве с Яндексом. Для этого выберите подходящее направление и оставьте заявку, а мы пришлём вам на почту дальнейшие инструкции. Чтобы оплатить обучение, вы можете использовать образовательный кредит с господдержкой с льготной ставкой 3% при соблюдении условий программы и одобрении банка. В статье расскажем, как это сделать. 

Читать далее

Capability-based Security в Python на практике: библиотека PyIntents

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

Однажды на просторах интернета я нашел интересную концепцию — Capability-based Security. Это подход, при котором разрешения управляют доступом к функциям или ресурсам. Я решил не распыляться на изучение концепции целиком и сразу, а разобрать для начала конкретное понятие — интенты. 

Интенты (декларация намерений) — это декларативное объявление ресурсов, то есть указание того, какие именно возможности или права понадобятся функции или модулю для работы. Я загорелся идеей попробовать реализовать такую функциональность в Python через собственную библиотеку. Моя идея заключается в том, чтобы с помощью декоратора функция декларировала необходимые ресурсы, а библиотека блокировала вызовы неразрешенных функций.

Идея звучит жизнеспособно и отлично подходит для создания систем плагинов, проектирования AI-агентов или фреймворков для тестирования. В этой статье я расскажу о capability-based security и мы попробуем решить дилемму: как дать функции только те привилегии, которые ей необходимы, и ничего лишнего.

Читать далее

Путь программиста компьютерной графики

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

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

Согласно исследованию НИУ ВШЭ «От совмещения учебы с работой к совмещению работы с учебой» (К. В. Рожкова, С. Ю. Рощин, П. В. Травкин, «Вопросы образования», 2024, № 2), около 53% студентов очной формы обучения работали хотя бы один месяц за время учебы в вузе. На первом курсе бакалавриата работают около 18% студентов, к выпускному курсу доля вырастает до 35% у бакалавров и до 40% у специалистов. Чаще других учебу с работой совмещают студенты направления «Математика и компьютерные науки» — 58%; авторы связывают это с широкими возможностями удаленной занятости для тех, у кого есть цифровые компетенции. На мой взгляд, отсюда следует и рост потребности в самостоятельном обучении, а оно требует структурированного подхода и проверенных материалов. Это уже не говоря о тех, кто пытается не забывать о личной жизни: спорт, студенческий актив, личные интересы и другое.

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

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

В путь

ИИ, безопасность и VS Code: как меняется разработка на 1С

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

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

На INFOSTART TECH EVENT 2026, который пройдет 8–10 октября в Санкт-Петербурге, этим вопросам посвящена секция «Приемы и практики разработки». Ее программа строится вокруг инженерного опыта: какие инструменты команды уже используют, что они меняют в процессе разработки и с какими ограничениями приходится сталкиваться....

Читать далее

Как найти остров по одной фотографии: геолокация через геометрию и CUDA

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

Фото островного курорта. Ни EXIF, ни GPS, ни модели камеры – ничего. Нужно назвать курорт, координаты и сторону света, куда смотрела камера. Пытаться ответить на эти вопросы через google lens – значит упустить возможность повеселиться. Поэтому я взялся за задачу с помощью математики и программирования.

Читать далее

Платформер в стиле DOOM: портируем старую курсовую на чистый JavaScript

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

Несколько лет назад у нас с одногруппником был зачёт по C++, и вместо того чтобы сделать что-то скромное (например, «Калькулятор» или «Генератор паролей»), мы, конечно же, решили замахнуться на какую-то игру, и тогда нам попалась новость о 30-летнем юбилее игры DOOM. План был красивый, т. к. на тот момент командной работы у нас не было, мы решили, что мой одногруппник пишет псевдо-3D-движок в духе классического рейкастинга, а я делаю 2D-платформер, который в итоге должен был запускаться прямо внутри его мира, как игровой автомат, который запускался бы перед игрой, и сколько патронов ты собрал, столько у тебя и будет в игре.

Проблема появилась не в архитектуре и не в гейм-дизайне, а гораздо раньше — на этапе, который мы оба благополучно пропустили: мы не договорились, на чём пишем. Я по рекомендации преподавателя взял SFML — с ним я уже возился на парах, там всё human-readable, спрайты, окна, звук из коробки. Товарищ выбрал SDL, т. к. видел гайд про DOOM на SDL — она даёт прямой доступ к буферу пикселей, что для рейкастинга буквально то, что нужно: рисуешь вертикальные полоски стен вручную, без лишней абстракции между тобой и экраном.

По отдельности оба выбора были правильными, а вместе — нет. Слинковать в одном проекте SDL и SFML можно, но два разных event loop, два разных подхода к окну и таймингу — это уже не работа для автомата по зачёту, а отдельная курсовая работа, на которую у нас оставалось дня два-три. Мы посчитали и сдали как два независимых проекта. Препод посмотрел, оценил — и выдал ровно ту фразу, которую в такой ситуации выдал бы любой человек, который знал о проекте: «Идея классная, жалко, что не объединили», но нам это было неважно на тот момент, как говорится, зачёт получили — и на этом спасибо.

Читать далее

«Оно само»

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

Привет! Сразу признаюсь, я — гуманитарий. Уже лет двадцать работаю в IT, притворяясь своим среди хардкорных технарей. Людей, которые писали на Фортране и Бейсике, пережили диалап и вспоминают «3dfx» с лёгкой ностальгией. 

Мой максимум — навайбкодить какой‑нибудь скрипт для аналитики. Для гуманитариев это звучит страшно, потому что ничего не понятно. Для IT‑специалистов — страшно, потому что всё со мной понятно. 

Меня до сих пор не раскрыли только потому, что айтишники обычно смотрят в монитор, а не друг на друга. Зато наблюдать за ними невероятно интересно. Благодаря подлой гуманитарной сущности я смог оформить эти наблюдения в рассказ о жизни удивительного биологического вида Informaticus vulgaris, он же «айтишник обыкновенный». 

Рассказ буду вести от первого лица. Все совпадения случайны, как бы вы ни пытались доказать обратное.

Ну что, Build, Test, Deploy?

Мой опыт с Hermes Agent: ненависть, любовь, ненависть, любовь

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

В какой‑то момент я осознал, что у меня много источников данных, есть мощная машинка в виде MacBook Pro M4 Max со 128 гигами оперативки, и надо как‑то это объединить, чтобы эффективно использовать. Всё же такую покупку согласовывали под использование ИИ, а не просто так я решил потратить деньги.

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

В целом Hermes выглядел идеально: есть память, скиллы, которые он пишет сам (ну и ты, конечно, тоже можешь написать), простота установки и использования, крон‑задачи. В общем, полный комплект.

Я радовался, что всё работает. Потом понял, что это была видимость работы, и разочаровался. Пересмотрел подходы и переизобрёл то, о чём, естественно, писали не раз, но зато у меня всё стало работать.

В статье не буду рассказывать о том, как установить Hermes, подключить Codex и наслаждаться. Будут локальные модели, виртуалки, шишки и преодоление в истинно инженерном стиле.

Читать далее

Почему O(1) проигрывает O(n): структуры данных в Go на реальном железе

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

Объясню структуры данных через очередь в поликлинике, а потом покажу, где эта аналогия ломается: почему связный список с «вставкой за O(1)» в прикладном Go обычно проигрывает обычному массиву.

Спойлер: асимптотика здесь не ошибается. Ошибается вывод, который мы из неё делаем.

Статья для тех, кто асимптотику знает, но не проверял её замером.

Читать далее

Скрипт деплоя отчитался об успехе, а на сервере осталась старая версия: 5 ошибок в bash, которые допускают новички

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

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

Разобрать ошибки

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

Не крутил с агентом циклы — жизни не видал

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

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

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

TL;DR: циклы — это просто, как два пальца; всё, что крутится вокруг них, — немного сложнее…

Читать далее

Что находится внутри файла PowerPoint?

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

Переименуйте любой .pptx в .zip, распакуйте – и увидите ZIP-архив, набитый XML-файлами. Внутри спрятана вся ваша презентация: слайды, темы, встроенные таблицы Excel, картинки. Разбираемся, как этот формат устроен на самом деле – и почему автоматизировать PowerPoint кодом так тяжело.

Читать далее

Самое интересное в новой версии Go — 1.27

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

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

Кстати, у этого материала есть видео-версия. Вы можете ознакомиться с обновлением Go, посмотрев мой обзор на YouTube, VK Видео или RuTube

Читайте про обновление под катом

Читать далее

Как поймать поддельный документ по голограмме – даже без ультрафиолета

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

Как при автоматической проверке документов отличить оригинал от цветной ксерокопии или даже муляжа? Один из надежных признаков подлинности – наличие оптически-переменных защитных элементов (OVD, Optical Variable Device), например голограмм. Их внешний вид меняется при изменении угла обзора и положения источника света.

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

Читать далее

Эксперимент: заставляем трансформер читать палиндромы через Чебышёва и комплексные экспоненты

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

Большинство нейросетей работают с числами и читать как человек они не умеют, поэтому инженерами были придуманы способы помочь нейросети уловить не только смысл конкретного слова, но и всего предложения. Для достижения такой цели используется positional encoding, то есть помимо отдельных слов нейросети дают их порядок в тексте. В данной статье приведен сравнительный анализ чисто смысловых векторов, линейного базиса (порядковый номер слова), базиса Фурье (синусы и косинусы), комплексного (экспоненты) и полиномы Чебышева для кодирования двух английских палиндромов.

Читать далее

Как ИИ убивает карьеру джунов и что с этим делать.  Полный перевод статьи Руссиновича и Хансельмана о будущем разработки

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

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

Этой теме посвящена глубокая статья «Переосмысление профессии разработчика ПО в эпоху ИИ», которую написали корифеи ИТ-рынка: Марк Руссинович – технический директор Microsoft Azure, прославившийся созданием мощных системных утилит (набор Sysinternals) для белого хакинга Windows, и Скотт Хансельман – вице-президент и член технического совета Microsoft CoreAI и GitHub. Материал показался нам настолько интересным, что мы перевели его целиком, без купюр, чтобы вы могли сами ознакомиться с идеями авторов.

Спойлер: в статье есть о чем подискутировать.  

Читать далее

Access‑token в переменной, refresh — в HttpOnly‑cookie: безопасная авторизация на Go + Vue 3

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

Тема хранения токенов — одна из самых больных в авторизации. Многие, не до конца понимая, как авторизация должна работать, кладут оба токена в cookie или — что ещё хуже — в localStorage. В этой статье мы соберём схему, в которой access‑token живёт в памяти приложения, refresh‑token — в HttpOnly‑cookie, а фронтенд сам восстанавливает сессию после перезагрузки страницы и незаметно обновляет протухший access.

Бекенд — на Go, фронтенд — на Vue 3 (Vuex + vue‑router + axios), но концепция так же применима к React и Next.js. Верстку и стили оставляю за кадром — в статье только логика авторизации.

Читать далее