Обновить
1024K+

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

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

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

Моё путешествие в трёхмерное пространство: история о «программном» Франкенштейне и множестве открытий

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

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

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

Бывает так: с какой то технологией уже разобрался, а вот перейти к новой боязно. Учить новые движки непросто, да и текущий инструмент уже не справляется с задумкой… Сомнения часто мешают двигаться вперёд, но народная мудрость «глаза боятся, а руки делают» никогда не подводит.

В итоге я решился и попробовал FXGL для 3D‑рендеринга. Но не для того, чтобы сделать полноценную игру(хотя она и получилась), а чтобы соединить расчёты по системному моделированию с элементами геймификации. Уточню: я не призываю использовать FXGL во всех случаях. Для серьёзных 3D‑проектов есть отличные инструменты — Unigine, jMonkeyEngine, Godot, Unreal Engine. Я попытался собрать и упорядочить знания, которые получил в ходе своего небольшого эксперимента.

 

Читать далее

Новости

Мой CLAUDE.md — 582 строки. Вот зачем

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

Каждый новый чат с Claude Code начинается с нуля. Агент не знает ваш проект, не помнит что вы обсуждали час назад, и на шестой раз всё равно полезет “чинить” конфиг который работал нормально. А ещё каждую неделю в r/ClaudeAI новая история про удалённую базу или запушенные секреты.

Типичный CLAUDE.md на 5-10 строк не решает ни одну из этих проблем. У меня это выросло в 582 строки и 6 слоёв - rules, memory, handoffs, chronicles, hooks, skills. За каждым правилом стоит конкретный инцидент. В статье - три истории которые всё изменили, и открытый репозиторий с 17 принципами из 37 arxiv papers.

Читать далее

Запускаю Gemma 4 локально в LM Studio: 51 токен/с и Claude Code без интернета

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

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

Встречайте: Google Gemma 4 26B-A4B. Модель, которая ломает старые правила. Архитектура mixture-of-experts (128 экспертов, 8 активных на токен) позволяет ей работать на скромных 48 ГБ объединённой памяти, выдавая при этом качество, сопоставимое с гигантами вроде Qwen 3.5 на 397B параметров.

А LM Studio 0.4.0 только что сделала локальный запуск таких моделей по-настоящему удобным. Фоновый демон llmster, консольная утилита lms, непрерывный батчинг и – внимание! – эндпойнт, совместимый с Anthropic. Это значит, что вы можете направить Claude Code на свою локальную Gemma 4.

Хотите узнать, как заставить эту связку летать? Как правильно рассчитать память под контекст в 256K токенов и почему спекулятивное декодирование — плохая идея для MoE? А главное — сколько это всё жрёт энергии и греет ли ваш Mac?

Поехали!

Читать далее

Как мы строим OLTP-ядро: от API-контрактов до eBPF-проб

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

В статье показываем контракты будущей OLTP-СУБД: как разделены слои ядра, зачем нужен per-tablespace page size, почему конфигурация уходит в adaptive tuning и как мы встраиваем USDT/eBPF-наблюдаемость прямо в бинарник.

Читать далее

История компьютеризации ставок на спорт

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

Майк Кент, вероятно, первый человек, который делал ставки на спорт с помощью компьютера, начал свою карьеру с тестирования сверхсекретных проектов ядерных реакторов на предприятии Westinghouse в Уэст-Миффлине, штат Пенсильвания.

Читать далее

Написал свой медицинский сервис и дал Claude Opus посмотреть на данные семьи целиком. Он нашёл 11 ошибок врачей

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

У сына задержка речевого развития — за два года мы прошли 14 врачей, и ни один не видел полную картину. Я за неделю написал свой медицинский сервис на Node.js + SQLite, подключил Claude Opus как аналитика и скормил ему всю медицинскую историю семьи целиком. Нейросеть нашла 11 врачебных ошибок, анализы которые не назначали годами, и составила мне план чекапа на 35 пунктов — который полностью покрылся ДМС.

Внутри: архитектура без единого вызова API нейросети, граф здоровья на Cytoscape.js, почему связи между данными важнее самих данных, и сколько стоит весь этот AI-анализ ($0.60). Код будет открыт.

Как устроен сервис

Идеальный Outline в Unity 6: Пишем эффект обводки под новый URP Render Graph

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

Если вы недавно обновились до Unity 6 (или URP 17+) и попытались перенести свои старые пост-эффекты, то наверняка столкнулись с красной консолью и предупреждениями об устаревших методах.

Старые туториалы по созданию эффекта обводки (Outline) через ScriptableRendererFeature больше не работают "из коробки". Unity полностью изменила архитектуру рендера, внедрив Render Graph. Старый добрый метод Execute канул в Лету, а fullscreenMesh заменили на Blitter.

В этой статье мы не просто перепишем классический эффект Outline под новые реалии Unity 6. Мы решим две главные проблемы подобных шейдеров, о которых часто умалчивают в гайдах.

Читать далее

DevGlossary: инженерный словарь терминов программирования в Markdown

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

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

Это особенно заметно в тех темах, где термины похожи по звучанию, но расходятся по смыслу. Например, где проходит граница между composition и aggregation, чем concurrency отличается от parallelism, как на практике воспринимать idempotency, optimistic locking или bounded context.

В какой-то момент я понял, что мне не хватает не очередной заметки в закладках и не разрозненных ссылок на статьи, а собственного, нормально структурированного словаря. Так появился DevGlossary — инженерный словарь терминов программирования в формате Markdown.

Читать далее

Как писать промпты для разработки: опыт, который экономит часы

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

Система промптов — это фундамент всей работы с ИИ при разработке. Через промпты вы не просто общаетесь с моделью, а фактически управляете процессом создания продукта.

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

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

Читать далее

Галлюцинация продуктивности

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

PR утвердили за четыре минуты. Авторизация легла через три дня. 84% разработчиков используют AI-инструменты - 29% доверяют тому, что выкатывают в прод. Разницу между этими числами я назвал «галлюцинация продуктивности».

Читать далее

Генерация видео с помощью Wan2.2: установка и первые впечатления

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

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

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

Смотреть видео :)

Semantic terminal: AI-генератор однострочников по описанию на естественном языке

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

Эта заметка вдохновлена статьей Я заменил Google на 50 строк Python. Через месяц я забыл, как пишется tar -xzf. В какой-то момент, в очередной раз после нажатия Alt+Tab для переключения в браузер, чтобы быстро найти какой-то линуксовый однострочник, я подумал, что хватит это терпеть, и полез искать упомянутую статью. Перечитав её и прошерстив комментарии, я понял, что некоторые нужные мне вещи сделаны не совсем так, как хотелось бы, поэтому пошёл пилить свой велосипед. Итак, представляю вам semantic-terminal:

Ставится через pip: pip install semantic-terminal

Unix-style утилита sem, которая прокидывает аргументы в LLM с промтом: “Сделей однострочник”

Опционально предоставляет подробное описание однострочника на языке запроса

Опциональная утилита sem-run, запускающая сгенерированную команду с сохранением в истории терминала

Задержка генерации меньше 1с при условии … кхм хм … стабильного интернета

Читать далее

Мой фреймворк для агентной разработки с Claude Code

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

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

В итоге собрал свой фреймворк агентной разработки и выложил его на Гитхаб. Это набор скиллов и команд для Claude Code, которые учат его уму-разуму.

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

Фреймворк заточен под таких же людей, как я. С техническим складом ума, но без реального опыта в настоящем программировании. Наш разработчик — это Claude Code. Он же devops, он же специалист по безопасности, он же технический писатель.

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

Читать далее

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

Самый простой способ устроить утечку памяти в Java

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

В новом переводе от команды Spring АйО рассмотрим утечки памяти в Java.

Не секрет, что GC освобождает только недостижимые объекты. Утечка в Java начинается там, где объект уже не нужен, но на него все еще есть цепочка ссылок от живого потока.

Симптомы обычно одинаковые: куча растет, GC срабатывает чаще, паузы увеличиваются, финал - java.lang.OutOfMemoryError: Java heap space.

В целом вывод такой, что нужно смотреть график heap в VisualVM/JVisualVM/JConsole, снимать heap dump (jmap), в Eclipse MAT запускать Leak Suspects и проверять цепочки удерживающих ссылок.

Читать далее

Три гвоздя в крышку гроба Claude Code, которые они забили сами

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

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

Читать далее

Угадай, кто написал код: ИИ или человек?

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

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

Попробовать угадать

Куда идет программирование на самом деле?

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

Современная разработка погрязла в driven, first и based подходах, недавно этот зоопарк пополнился еще одним заморским зверем под названием AI-driven (пусть меня простят свидетели AGI, но я сознательно не выделяю этот подход на фоне остальных и в конце объясню почему). Но не пытаются ли все эти подходы на самом деле решить одну и ту же проблему, известную еще с середины прошлого века, проблему "абстрактного перехода"?

Читать далее

Почему я всё ещё выбираю MCP, а не Skills

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

AI-сообщество активно продвигает Skills как новый стандарт для расширения возможностей LLM. Я с этим не согласен. Skills отлично работают как чистая передача знаний — когда нужно объяснить модели, как использовать уже установленный инструмент. Но для подключения к реальным сервисам Model Context Protocol остаётся более правильным архитектурным решением. Нам нужно строить коннекторы, а не плодить CLI.

Читать далее

Проектирование микросервисов на Go: типичные сложности и лучшие практики

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

Баланс между производительностью, читаемостью и поддерживаемостью — ключевая задача при разработке микросервисов на Go. На практике всё сложнее из-за неочевидных факторов: от влияния частоты вызовов GC на время отклика до последствий избыточной вложенности в контрактах API. Если не учесть эти нюансы, даже грамотно спроектированный сервис может просаживаться по RPS (requests per second) — или его может быть сложно обновлять и дорабатывать.

Меня зовут Артём Кущ. Я Go-разработчик в команде VK Видео. В статье поделюсь подходами к оптимизации микросервисов и расскажу, как балансировать между скоростью и простотой.

Читать далее

CoreBus — универсальный Modbus терминал

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

CoreBus — кроссплатформенный терминал для работы с COM-портами и TCP-сокетами с поддержкой протоколов Modbus TCP / RTU / ASCII и много чего еще.

Приложение развивается уже довольно давно. Но была одна фича, которой не хватало, чтобы сделать CoreBus по-настоящему универсальным терминалом. Мне об этом писали еще с первых релизов. В личных сообщениях и в комментариях к статьям. Эта идея формулировалась по-разному, но суть была одна.

И поэтому хочу представить вам новый режим - "Modbus мониторинг"!

Читать далее