Обновить
1024K+

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

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

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

Как мы набираем джунов из Практикума: опыт компании ProninTeam

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

Хабр, привет! Меня зовут Андрей Пронин, я руководитель «бирюзовой» студии заказной разработки ProninTeam и наставник на курсе по управлению командой разработки в Яндекс Практикуме.

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

Читать далее

Zed 1.0: эпоха Electron-редакторов — всё

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

Вчера вышел Zed 1.0. Пять лет работы, миллион с лишним строк на Rust, публичная превьюшка, которой ежедневно пользовались сотни тысяч разработчиков, и вот команда Zed Industries во главе с Натаном Собо запостила релиз 29 апреля 2026 года. Я лет пятнадцать живу в IDE от JetBrains. Пробовал VS Code. Пробовал Cursor. Гонял code-server на удалённой виртуалке. Ничего не приживалось. Zed прижился, и релиз 1.0 — нормальный повод объяснить, почему.

Если коротко: больше десяти лет любой «новый» редактор кода — это всё тот же продукт в новой обёртке. Обёртка зависит от того, что продают сегодня: AI, коллаборация, темы, новый вендор. А под обёрткой Electron. Тот же Chromium на каждое окно, тот же JavaScript на критическом пути исполнения, тот же RSS, к обеду уходящий в гигабайты. Sublime Text держал планку нативных редакторов все 2010-е, но это был закрытый продукт одного автора, без нормальной коллаборации и без AI истории. Zed стал первым за последние десять лет убедительным опенсорс-редактором с GPU-ускорением и AI на борту, который пересобрали с нуля и без всякого браузера под капотом. С релизом 1.0 эта ставка наконец сыграла.

Читать далее

Тюнинг Cursor: как я укротил AI-ассистента и радикально снизил счета за токены с помощью MCP-серверов

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

Cursor или его аналоги, здорово облегчают написание кода, когда речь идет о каких‑то не очень больших проектах. Но стоит попробовать применить их к серьезному, сложному проекту, состоящему из нескольких репозиториев, и тут же сталкиваешься с тем, что эти «чудеса» оборачиваются просто огромными счетами за токены. Я в этой статье поделюсь, как мне удалось перестать впустую сжигать миллионы токенов. Для этого пришлось собрать и запустить три MCP‑сервера по протоколу Model Context Protocol, что позволило сэкономить до 90% бюджета, при этом совершенно не потеряв в эффективности модели при работе с кодом.

Читать далее

Часть I. Конечные автоматы. Универсальная машина Тьюринга. Интерпретатор Brainfuck

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

▒▒▒▒▒▒▒▒▒█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
▒▒▒▒▒▒▒█░▒▒▒▒▒▒▒▓▒▒▓▒▒▒▒▒▒▒░█
▒▒▒▒▒▒▒█░▒▒▓▒▒▒▒▒▒▒▒▒▄▄▒▓▒▒░█░▄▄
▒▒▄▀▀▄▄█░▒▒▒▒▒▒▓▒▒▒▒█░░▀▄▄▄▄▄▀░░█
▒▒█░░░░█░▒▒▒▒▒▒▒▒▒▒▒█░░░░░░░░░░░█
▒▒▒▀▀▄▄█░▒▒▒▒▓▒▒▒▓▒█░░░█▒░░░░█▒░░█
▒▒▒▒▒▒▒█░▒▓▒▒▒▒▓▒▒▒█░░░░░░░▀░░░░░█
▒▒▒▒▒▄▄█░▒▒▒▓▒▒▒▒▒▒▒█░░█▄▄█▄▄█░░█
▒▒▒▒█░░░█▄▄▄▄▄▄▄▄▄▄█░█▄▄▄▄▄▄▄▄▄█
▒▒▒▒█▄▄█░░█▄▄█░░░░░░█▄▄█░░█▄▄█

Я практик и популяризатор языково-ориентированного программирования [1]. В нём задачи решают тройкой: доменная виртуальная машина VM, доменный язык программирования DSL и алгоритмы на нём.
В этом курсе удачными фрагментами разных заметок доступно объясним причины многообразия языков и преимущества их разработки. С теорией, историей и примерами.
Вся наша работа строится вокруг VM, DSL, EBNF, отношений и графов. Мы увидим, как эти объекты соединяют вместе, получая вычислители и программы.

Читать далее

Сейчас сделаю приложение и заработаю на нем. АХАХАХАХАХ, удачи

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

За полгода я сделал мобильное приложение, получил 2000 установок и… 8 платных подписок по $6. Причем одна из подписок — моя.

Читать далее

Scene not Graph

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

Scene not Graph. Место для запятой выбирайте сами.

Scene Graph как концепция появился в академической и промышленной среде, где компьютерная графика использовалась для CAD-систем, научной визуализации и инженерного проектирования, а потом уже пришел в игры. Задачи отрисовки мира и его объектов в CAD были совсем другие и нужно было описывать, например, сложные сборки из деталей, с шестерней в редукторе, редукторе в двигателе, двигателе в машине, и такая модель отражала физическую реальность, которая играм была нужна с приставкой "не". Причины, по которым Scene Graph пришел и остается в играх довольно банальные, этой концепции учат в университете, и многие кто пришел делать игры, естественно знакомились с ней раньше других. На курсе компьютерной графики ИТМО эту модель давали уже на втором месяце и объясняли её полгода, а остальные пять или шесть техник давали всего месяц и в конце года.

Но проблема была в том, что в CAD иерархия объектов это буквальное описание устройства изделия, и перенос этой модели в игры в целом и в игровую графику в частности был концептуальной ошибкой с самого начала. Поняли это достаточно поздно, чтобы эта модель успела поселиться в мозгах целого поколения, выпуск OpenGL в 1992 году с принципиально другой моделью (immediate mode) стал первым сигналом что играм надо двигаться в другую сторону, но инерция Scene Graph в движковой архитектуре сохраняется до сих пор.

Читать далее

Я просил Claude перестать мне льстить. 16 апреля получил. Беру свои слова назад

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

16 апреля Anthropic выкатила Claude Opus 4.7. На бенчмарках 12 побед из 14, цена та же. Через 24 часа Reddit называл его legendarily bad. И вот в чём фокус: месяц назад я сам ныл, что Claude слишком поддакивает. Anthropic исправила. Получилась спор-машина. Беру свои слова назад.

Читать далее

Спецификация, ворота, метрики: как SENAR закрывает вход и выход задачи

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

Четвёртая статья из шести про инженерный процесс для разработки с ИИ-агентами. Автор, Андрей Юмашев, много лет руководил разработкой и инфраструктурой, полтора года назад отдал весь код агентам. Первая статья про путь от первых проектов к стандарту SENAR. Вторая про то, чем агент отличается от программиста. Третья про новую роль человека и пять навыков нового рабочего режима. Эта четвёртая про внешний контур, в который эти навыки упакованы, чтобы перестать опираться на личную дисциплину.

Читать далее

Возвращение блудного программиста (ч.3)

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

Эта часть будет практической, если помните я решил углубиться в React и Flask. Поэтому при помощи ИИ начинаю. Нет, ИИ не будет делать за меня весь проект, он будет выполнять функцию наставника. Ну и иногда чернорабочего (как, например, собрать файл SQL для инициирования БД) для ускорения ручного труда.

Читать далее

10 актуальных RAG-подходов: какие реально полезны и когда их применять?

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

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

Читать далее

Пишем прототип ИИ-агента для EdTech-саппорта без векторных баз и фреймворков: чистый Python, Gemini и JSON

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

У любого EdTech продукта есть проблема поддержки студентов. Я и сам столкнулся с ней в мою бытность автором курсов на степик. Студенты сталкиваются с трудностями и пишут в чат / на форум в надежде, что им помогут (особенно, если они заплатили за обучение свои кровные).

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

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

Читать далее

Структуры данных на практике. Глава 14: Обработка строк и эффективность использования кэша

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

«В Computer Science есть только две сложные вещи: инвалидация кэша и придумывание названий», — Фил Карлтон

Разрыв в производительности

Наш парсер логов обрабатывал 800 тысяч строк в секунду. Нам требовалось 3 миллиона строк в секунду. От нужного нам показателя мы отставали в 3,75 раза.

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

Профилировщик показывал 85 миллионов промахов кэша. Для обработки строк это казалось слишком большим показателем.

В реализации использовались стандартные строковые функции C — простые, читаемые, но, очевидно, слишком медленные.

Я переписал этот код, добавив обработку строк с учётом кэша. Результаты были такими:

В 4,5 раза быстрее и в 7 раз меньше промахов кэша.

В этой главе мы поговорим о том, как эффективно использовать кэш при обработке строк.

Читать далее

MemHawk: часть 2. Real-time flamegraph в вашей Grafana

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

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

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

Ключевые особенности:
Flamegraph аллокаций и деаллокаций за интервал времени
График потребления памяти с детализацией до функции/строчки в коде(настраиваемо)
Flamegraph в момент пика памяти
Flamegraph суммарного числа аллокаций
Flamegraph суммарного объема аллокаций

Звучит интересно!

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

Большие пул-реквесты пропускают больше багов — разбираемся, правда или миф

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

Интуиция подсказывает — чем больше пул-реквест, тем выше соблазн по-быстренькому пробежаться глазами по коду и аппрувнуть изменения. Предлагаем вам вместе с нами проверить утверждение из заголовка! В статье посмотрим, к чему пришли исследователи, проанализировавшие 50К+ пул-реквестов, обсудим, какие когнитивные искажения на это влияют, и разберем, как изменилась ситуация с появлением ИИ-помощников. Поехали!

Читать далее

SpaceX покупает Cursor, а Claude Mythos слили, угадав URL

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

Седьмой выпуск еженедельных IT-новостей от OpenIDE: Anthropic выносит Claude Code из плана за $20, Duolingo перестаёт следить за потреблением ИИ сотрудниками, а четыре человека из Discord получают доступ к засекреченной модели просто потому, что правильно угадали адрес эндпоинта.

Читать далее

claude --model claude-opus-4-6

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

Недавно вышла Claude Opus 4.7 флагманская модель от Антропик. В выпущенных пресс-релизах и графиках маркетологи обещали пользователям, что модель станет ещё умнее, ещё точнее и так далее. На деле же получился феерический провал. Под катом - подробности этой истории и рецепт возврата вашего душевного равновесия.

Читать далее

Чего не хватает в С++

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

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

Объекты-значения

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

auto a = b + c; f(a);

Читать далее

$180 за три дня: история про архитектора, Cursor и пакет орешков

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

$180 на Cursor за три дня. Три монитора. Пакет орешков. Ноль тестов. Бизнес в восторге. Команда в ужасе. Угадайте, кто победил.

Читать далее

Interceptors и SourceGenerators: отказываемся от IL-инъекций

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

Привет! Я Дмитрий Сипаков, ведущий разработчик в Госсервисах Т-Банка. Расскажу про относительно новую фичу .NET — Interceptors: как они работают вместе со Source Generators и как с их помощью можно избавиться от бойлерплейта без IL-инъекций и сторонней магии.

Читать далее

Тайны чёрных мониторов и бегущих строк. От ASCII-графики к современным языкам разметки

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

Любой более-менее живой репозиторий уже давно перестал быть просто директорией с исходным кодом. Помимо файлов с исходниками там теперь живут инструкции, архитектурные заметки, спецификации, техническая документация и отчёты, которые должны одинаково хорошо читаться и в IDE, и в веб-интерфейсе платформы. Даже сейчас в процессе написания этой статьи я использую Markdown-разметку, которая стала де-факто стандартом для ведения документации в проектах, но давайте обо всем по порядку.

Когда таких форматов становится много, возникает закономерный вопрос: как показать их пользователю удобно, быстро и без необходимости скачивать файл к себе на компьютер? У нас в GitVerse этот вопрос постепенно вырос в отдельную продуктовую и инженерную задачу. Так появилась поддержка просмотра разных типов файлов — от упомянутого выше Markdown до более специализированных форматов.

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

Читать далее