Обновить

Разработка

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

Альтернативный raycast

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

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

Читать далее

Как универсальный ИИ-агент учится жить в открытом мире

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

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

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

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

Читать далее

La Perf — бенчмарк локального ИИ, или M-серия наносит ответный удар

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

Если вам интересен мир ИИ и вы хотите не просто делать fit, predict на удаленной ВМ, а изучать что-то локально, экспериментировать и упрощать себе жизнь, запуская модели прямо на своем девайсе — скорее всего, вам понадобится достаточно мощное железо.

Эта статья - попытка ответить на вопрос эффективности железа для популярных AI задач: LLM, VLM, эмбэддинги.

Она будет полезна как ML/AI Инженерам, так и просто Энтузиастам, которые выбирают себе железо для локального инференса gpt-oss.

Читать далее

Пример процесса внесения глобальных изменений в большой монорепозиторий

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

Раньше глобальные изменения — обновление Angular, смена сборщика или миграции — превращались в мини-кризис: кто тестирует, кто делает ревью, релиз мог сломать всё. Теперь у нас прозрачный процесс с RFC, согласованием с лидами, SLA на ревью и тестирование, чётким планом релиза и отката.

Результат: меньше хаоса, больше прозрачности и уверенности, что глобальные изменения проходят безопасно.

Читать далее

Spring-boot-starter для паттерна Transaction outbox Kafka

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

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

В этой статье я покажу, как я вынес всю логику Transaction Outbox в отдельный Spring Boot Starter, который можно подключить одной зависимостью. Он создаёт таблицу Outbox, конфигурирует шедулер, отвечает за отправку в Kafka и очистку, позволяя микросервисам сосредоточиться только на бизнес-логике.

Читать далее

Собираем простейшую RAG-систему на PHP с фреймворком Neuron AI за вечер

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

RAG (Retrieval‑Augmented Generation или генерация, дополненная поиском) — это метод искусственного интеллекта, сочетающий генеративную большую языковую модель (LLM) с внешней базой знаний для создания более точных, контекстно‑зависимых и актуальных ответов. Принцип его работы заключается в том, что сначала извлекается релевантная информация из набора документов или источников данных, а затем эта информация передается в LLM для формирования окончательного ответа. Этот процесс позволяет модели выдавать более точные ответы, менее подверженные «галлюцинациям», и ее можно обновлять без дорогостоящего переобучения.

Сегодня мы разберёмся, как собрать базовую RAG‑систему на PHP (да, да, не надо удивляться) с помощью фреймворка Neuron AI. Это будет наш маленький proof‑of‑concept — минимально работающий, но вполне реальный пример.

Ну что, начнём генерацию?

Читать далее

Стандартная модель. От симметрий к кваркам

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

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

В этой статье я продолжаю цикл про «Теорию всего» и разбираю Стандартную модель как минимальную калибровочную квантовую теорию поля. Мы начинаем с симметрий Пуанкаре и внутренних групп SU(3)×SU(2)×U(1), показываем, как из них неизбежно рождаются глюоны, W/Z и фотон. Потом разбираем фермионный сектор: кварки и лептоны как представления этих групп, левый/правый, поколения. Отдельная часть посвящена Хиггсу — не как «шайбе массой 125 ГэВ», а как механизму, который даёт массы W/Z и фермионам, не разрушая калибровочную структуру.

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

Читать далее

Open source-стратегии: опыт развития открытых ERP-решений и российского консорциума Rudoo — рассказывает команда MK.Lab

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

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

Однако сегодняшнем материале мы посмотрим на open source-подход с прикладной точки зрения. Делюсь продолжением разговора на эту тему с Михаилом Скворцовым, основателем MK.Lab и сопредседателем консорциума Rudoo, а также Сергеем Коробковым, соучредителем ИнфЦентрПроект и КиржачТелеком.

Читать далее

Мультитул для инженера: волшебная коробочка с I2C/SPI/UART/JTAG за 1.000 рублей

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

Будучи творческим человеком и техногиком, я обожаю при первой возможности апгрейдить своё оборудование. Время от времени я мониторю маркетплейсы в поисках чего-то новенького и в этот раз я наткнулся на настоящий мультитул для Embedded-разработчика — контроллер I2C/SPI/UART/JTAG в одной коробочке и всё это всего за 1.000 рублей... Конечно я не смог пройти мимо этой штучки и в рамках сегодняшней статьи хочу рассказать что оно из себя представляет и как с ним работать. Жду вас под катом!

Читать далее

Как я перестал бояться GUI-тестов и научился их любить (почти)

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

В феврале этого года я [писал на Хабре](https://habr.com/ru/articles/883590/) про автоматизацию тестов для САПР. Мы делали систему с записью действий в JSON и воспроизведением через pyautogui. Работало. Но только для одного конкретного проекта.

С тех пор фреймворк вырос. Сильно. Из узкоспециализированного решения для промышленного ПО превратился в универсальный инструмент. Теперь работает с чем угодно - офисные пакеты, банковские клиенты, CAD-системы.

Что изменилось? Убрал привязку к конкретному софту. Добавил умный поиск элементов вместо тупых координат. Сделал так, чтобы QA мог записать тест без единой строки кода. Прикрутил UI-ассерты, мониторинг системы, файловые проверки.

Короче, то что начиналось как решение для одной задачи, выросло в полноценный фреймворк. И оказалось полезным не только мне.

Читать далее

Призрак Паули: от принципа запрета к призракам Фаддеева-Попова

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

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

Эта статья — вторая часть цикла о том, как современная квантовая теория очищает своё собственное пространство состояний. Мы начинаем с неразличимости и антисимметрии, аккуратно выводим принцип Паули из линейной алгебры, обсуждаем теорему спин‑статистики и роль грассмановых чисел. Затем переходим к калибровочным теориям: показываем, откуда берутся призраки Фаддеева‑Попова, что делает BRST‑симметрия и почему антикоммутирующие «призраки» не нарушают теорему спин‑статистики, а наоборот — спасают унитарность и калибровочную независимость.

Текст написан в «человеческом» стиле: без избыточной формальной казуистики, но с максимальной аккуратностью. Цель — дать читателю с физмат‑бэкграундом действительно понять архитектуру квантовой теории поля, а не просто выучить стандартные формулы наизусть.

Читать далее

Обзор утилиты TunerPro (или const volatile)

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

TunerPRO это бесплатный бинарный редактор прошивок. Это аналог STM32Studio.
Эта программа позволит вам редактировать константы в готовом bin файле. Минуя стадию повторной пере сборки всего проекта прошивки. Можно сказать, что TunerPRO хакерская tool-а.

Эта утилита связывает воедино всю информацию про переменные. Это адрес ячейки памяти в бинаре, название физической величины, размерность переменной, размер параметра, формат ее хранения в памяти, имя переменной, множитель, единицу измерения, максимальное и минимальное значение. В то время как тот же *.map файл дает только сведения про имя адрес в памяти и размер.

Читать далее

Бенчмарки для теста телефона на производительность

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

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

Читать далее

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

Размышления о машине Тьюринга и причинах возникновения ошибок в языках программирования

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

Пару лет назад я написал статью "Размышления о структурном программировании", в которой пытался разобраться с заблуждением, будто Эдсгер Дейкстра доказал, что любой алгоритм можно построить всего из трех конструкций (следования, ветвления, цикла).

А вот теперь настало время написать про некоторые проблемы машины Тьюринга - фундаментальной основы всех информационных технологий.

Читать далее

Исследователи обнаружили эффективный способ оптимизации

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

В 1939 году, опоздав на занятие по статистике в Калифорнийском университете в Беркли, Джордж Данциг, студент первого курса магистратуры, скопировал с доски две задачи, думая, что это домашнее задание. Позже он вспоминал, что задание показалось ему «сложнее, чем обычно», и извинился перед профессором за то, что на его выполнение у него ушло на несколько дней больше, чем обычно. Через несколько недель профессор сказал ему, что он решил две известные нерешённые задачи по статистике. Работа Данцига стала основой для его докторской диссертации, а спустя десятилетия — источником вдохновения для фильма «Умница Уилл Хантинг».

Данциг получил докторскую степень в 1946 году, сразу после Второй мировой войны, и вскоре стал математическим консультантом новообразованных ВВС США. Как и во всех современных войнах, исход Второй мировой войны зависел от разумного распределения ограниченных ресурсов. Но в отличие от предыдущих войн, этот конфликт был поистине глобальным по масштабам, и победа в нём была во многом достигнута благодаря огромной промышленной мощи. США могли просто производить больше танков, авианосцев и бомбардировщиков, чем их враги. Зная об этом, военные были очень заинтересованы в задачах оптимизации, то есть в том, как стратегически распределять ограниченные ресурсы в ситуациях, которые могли включать сотни или тысячи переменных.

Читать далее

Заводной абрикос

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

Помимо всем известной Apple, на свете существовала еще одна «фруктовая» компания, выпускавшая очень популярные компьютеры.

И сейчас мы цинично оживим и запустим эмулятор этих замечательных машин.

Читать далее

Создаем мощного ИИ-агента с долговременной памятью, используя LangGraph, RAG и веб-скрапер

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

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

Читать далее

Интенсивный курс «AI-агенты» от Google День 5

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

На данный момент я прохожу 5-дневный интенсив по AI-агентам от Google и параллельно веду собственный конспект. Эта статья представляет собой перевод оригинального материала, выполненный с помощью Gemini и мной. В некоторых местах я немного упростила формулировки или обобщила идеи. Это последний день курса.

Другие статьи:

Интенсивный курс «AI-агенты» от Google День 1

Интенсивный курс «AI-агенты» от Google День 2

Интенсивный курс «AI-агенты» от Google День 3

Интенсивный курс «AI-агенты» от Google День 4

Читать далее

Closures для 3D-художника? Зачем?! Как сложная концепция сделает ноды проще и мощнее

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

«Опять эти ваши программистские штуки! DI, closures, bundles, декларативная система... Я просто хочу сделать красивую симуляцию частиц, а не изучать Computer Science!»

Если эта мысль промелькнула в голове, когда вы услышали о Closures в Blender — вы не одиноки. Давайте разберёмся, почему разработчики добавляют в ноды сложные концепции и как это в итоге упростит жизнь именно 3D-художникам.

Читать далее

Можно ли заменить datetime? Как Pendulum делает работу с датой и временем удовольствием

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

Работа с датой и временем в программировании — это одна из тех «темных» областей, на которой каждый разработчик набивает свои шишки. На первый взгляд все просто: from datetime import datetime, datetime.now(). Что может пойти не так?

А потом в проекте появляются часовые пояса, и начинается тихий ужас.

Вы внезапно обнаруживаете, что стандартная библиотека Python оперирует двумя видами объектов: «наивными» (naive), которые ничего не знают о своем часовом поясе, и «осведомленными» (aware), у которых эта информация есть. И datetime.now() по умолчанию создает именно «наивный» объект, который в лучшем случае бесполезен, а в худшем — источник трудноуловимых багов, когда ваш код запускается на сервере в другом конце света.

Читать далее