Обновить

Моя лента

Тип публикации
Порог рейтинга
Уровень сложности
Предупреждение
Войдите или зарегистрируйтесь, чтобы настроить фильтры
Статья

«Зачем Javasript-у DI контейнер?»

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

Вот именно такой вопрос был задан в первом же комментарии к статье "DI-контейнер на чистом JavaScript без TypeScript и reflect-metadata" уважаемого @alexander_kubarski. Я когда-то и сам на Хабре отвечал на этот вопрос ("Зачем нужно внедрение зависимостей в JS"), и уважаемый @Wroud тоже ("Dependency Injection в JavaScript: зачем он вам нужен"), но непонимание места и значения DI у JS-разработчиков всё равно присутствует. Попробую ответить на этот вопрос ещё раз:

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

Именно для этого используют Inversion of Control в целом и Dependency Injection в частности - во всех языках программирования, а не только в JavaScript.

Чуть подробнее...

Новости

Статья

Не дали ИИ-агенту соврать — его же памятью

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

На днях наш агент собрался дежурно отчитаться об успехе. Прежде чем нажать «готово», он сверился с собственной памятью — и нашёл там запись из прошлой сессии: эту идею он уже проверял на реальных данных, и она провалилась. Он остановил сам себя, до ложного отчёта.

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

Хватай за цифровой хвост
Новость

Google представила Gemini: 3.6 Flash, 3.5 Flash-Lite и специализированную Flash Cyber

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

Google расширила семейство Gemini сразу тремя новыми моделями: Gemini 3.6 Flash, Gemini 3.5 Flash-Lite и Gemini 3.5 Flash Cyber. Вместо выпуска нового флагманского решения компания сделала ставку на снижение стоимости инференса, повышение скорости и специализированные сценарии использования.

Одновременно Google сообщила, что Gemini 3.5 Pro продолжает проходить тестирование с партнерами, а обучение следующего поколения Gemini 4 уже началось.

Читать далее
Новость

Garmin представила CIRQA — фитнес-браслет без экрана, похожий на Whoop, но без обязательной подписки

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

Garmin представила умный браслет CIRQA. У устройства нет экрана, а его дизайн напоминает популярные браслеты Whoop. Компания позиционирует гаджет как компактный трекер для постоянного мониторинга активности, сна и состояния организма, который не отвлекает пользователя уведомлениями и лишними данными на экране.

Читать далее
Статья

WAIC 2026: главные анонсы и почему Китай превращает искусственный интеллект в национальную инфраструктуру

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

Мировой ИИ-ландшафт окончательно разделился на две параллельные экосистемы. Прошедшая в Шанхае конференция World Artificial Intelligence Conference (WAIC) 2026 зафиксировала фундаментальный сдвиг: индустрия завершила экстенсивную гонку параметров языковых моделей и перешла к этапу жесткой инженерной прагматики.

Пока западные корпорации выстраивают закрытые монополии вокруг проприетарных API, Китай делает ставку на агрессивный open source, агентные операционные системы и суверенные вычислительные кластеры, способные масштабироваться до сотен тысяч ускорителей в условиях санкционных ограничений. В этом материале мы детально разбираем аппаратные и программные итоги выставки — от альтернативных интерконнектов Huawei до VLA-моделей в промышленной робототехнике — и объясняем, почему главным продуктом WAIC 2026 стала не очередная нейросеть, а полностью независимый национальный технологический стек.

Читать далее
Статья

Итак, я написал MCP…

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

Мне просто стало скучно, и я решил посмотреть на разработку MCP , используя только Go.

Никаких “революционных продуктовых инсайтов”. Просто захотелось сделать агенту в Windsurf память по моим локальным проектам и браузерные руки без тащащегося за хвостом Node.js. Получилось два инструмента: GnostisMCP (семантический поиск кода) и KlyxarMCP (браузерная автоматизация в одном бинарнике).

Похихикать...
Статья

Иллюзия всезнания: как искусственный интеллект меняет правила принятия управленческих решений

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

На днях мы ознакомились с публикацией на сайте Всемирного экономического форума (https://www.weforum.org/stories/artificial-intelligence/how-ai-is-reshaping-strategic-foresight-and-global-power/), которая навела нашу редакцию на размышления об эволюции процесса долгосрочного прогнозирования. Искусственный интеллект (далее – ИИ) окончательно перестал быть просто модным веянием, превратившись в мощнейший инструмент геополитического влияния. Главной ценностью прочитанной мной статьи является четкий прикладной фокус без излишней абстрактной философии. Разработчики теперь определяют завтрашнее мироустройство не хуже, чем государственные ведомства. В данном обзоре мы структурировали ключевые тезисы, дополнив идеи статьи свежими статистическими отчетами первого полугодия 2026 года.

Читать далее
Новость

Модель OpenAI, опровергшая гипотезу Эрдёша, сбежала из песочницы. Ее поставили на паузу

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

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

Читать далее
Новость

Исследование: ИИ выходит за пределы IT и становится обязательным навыком для работников самых разных профессий

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

Навыки работы с искусственным интеллектом перестают быть востребованными только в технологической отрасли. По данным аналитиков Indeed, работодатели всё чаще требуют знания ИИ от специалистов, не связанных с разработкой программного обеспечения — учителей, водителей-дальнобойщиков, физиотерапевтов, HR-специалистов, маркетологов и представителей других профессий.  

Читать далее
Статья

Бесшовный роуминг (Mesh) без переплаты: Xiaomi AX6S с OpenWrt и Mercusys — Wi‑Fi 7, 6 ГГц и шириной канала в 320 МГц

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

Как получить три точки доступа с каскадным проводным бесшовным роумингом WiFi7 и общей LAN задёшево? Готовые Mesh-комплекты с Wi‑Fi 7 и диапазоном 6 ГГц начинаются примерно от 100 тысяч рублей, поэтому я собрал сеть из трёх самых дешёвых устройств в своём классе: Xiaomi Redmi AX6S на OpenWrt в роли маршрутизатора и Mesh-контроллера, Mercusys MR60X для покрытия Wi‑Fi 6 и Mercusys MR47BE ради Wi‑Fi 7, 6 ГГц, WPA3-SAE и канала 320 МГц.

Что получилось:

один SSID на трёх устройствах, обе точки Mercusys подключены по Ethernet EasyMesh-контроллером;

контроллер — собранный мной пакет prplmesh для OpenWrt 25.12 (APK и патчи опубликованы);

около 900 Мбит/с на проводном участке и столько же по воздуху;

после перезагрузок сеть восстанавливается сама.

возможность реализации горячего резерва двух провайдеров, SPLIT VPN и прочие прелести открытого кода

Как это собрано и сколько стоит →
Новость

Пять крупнейших IT‑компаний США накопили скрытые долговые обязательства на $1,65 трлн из‑за гонки ИИ

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

Пять крупнейших американских технологических компаний — Alphabet, Microsoft, Amazon, Meta* и Oracle — накопили в сумме около $1,65 трлн скрытых долговых обязательств, связанных с развитием ИИ‑инфраструктуры. К такому выводу пришло японское издание Nikkei по итогам анализа внебалансовых обязательств компаний.

Читать далее
Статья

MAP-Elites: как искать не «лучшее», а «лучшее в каждой нише»

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

MAP-Elites: лучший в каждой нише

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

Это Quality-Diversity. MAP-Elites (2015, arXiv:1504.04909) — простейший алгоритм.

Идея: делим пространство поведений на сетку ниш. В каждой нише храним одно лучшее решение. Генотип мутируем, поведенческий дескриптор (высота шага, энергия) — для адресации ячейки.

Алгоритм:

Пустой архив.

Случайная популяция → оценить fitness и дескриптор → в ячейку (если лучше).

Цикл: выбрать родителя → мутировать → оценить → в ячейку, если пусто или лучше.

Никакого отбора между нишами — только внутри. Это даёт карту всего пространства, а не одну точку.

Код:

```

import numpy as np

# Задача: найти x, y в [-5, 5], максимизируя fitness, ниши определяются по (x, y)

BOUNDS = (-5.0, 5.0)

GRID_SIZE = 20 # число ячеек по каждой оси behavior space

N_ITERATIONS = 5000

MUTATION_SIGMA = 0.2

def fitness(genome):

x, y = genome

# произвольная многомодальная функция для иллюстрации

return -(x**2 + y**2) + 5 np.sin(3 * x) np.cos(3 * y)

def behavior_descriptor(genome):

# в этой игрушечной задаче поведенческий дескриптoр совпадает с генотипом,

# в реальных задачах это обычно совсем другое пространство признаков

return genome

def to_cell(bd):

lo, hi = BOUNDS

idx = ((bd - lo) / (hi - lo) * GRID_SIZE).astype(int)

return tuple(np.clip(idx, 0, GRID_SIZE - 1))

def random_genome():

return np.random.uniform(*BOUNDS, size=2)

def mutate(genome):

child = genome + np.random.normal(0, MUTATION_SIGMA, size=genome.shape)

return np.clip(child, *BOUNDS)

# 1) инициализация случайными решениями

for _ in range(200):

g = random_genome()

f = fitness(g)

cell = to_cell(behavior_descriptor(g))

if cell not in archive or f > archive[cell][1]:

archive[cell] = (g, f)

Вывод: 379 / 400, лучшее (0.527, 0.005), fitness 4.72.

Почему не 400? Три причины:

200 случайных точек не покрывают все ячейки (эффект корзин).

Мутация локальна (σ=0.2). До пустой ячейки без занятых соседей не допрыгнуть — изоляция ниш.

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

Сложность

M — число ячеек в архиве (произведение числа делений по каждому измерению множества поведений), T — число итераций (эволюционных поколений/оценок), D — размерность генотипа, E — стоимость одной оценки решения (симуляция/вычисление приспособленности).

По времени: каждая итерация - это выбор случайного родителя за O(1) (при хранении в виде массива/словаря), мутация за O(D), вычисление дексриптора и приспособленности — доминирующая часть, O(E), и вставка/сравнение в ячейке за O(1). Итого на все итерации - O(T·(D + E))

Вывод: MAP-Elites даёт не "оптимум", а карту компромиссов. Ценятся не проценты заполнения, а покрытие достижимых ниш и разнообразие поведений.

Итог: простой, линейный по числу оценок, даёт инженеру не одну точку, а весь фронт возможностей.

Читать далее
Статья

Spring Security: дополнение к JWT токенам

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

Всех приветствую!

Данная статья будет посвящена довольно важным вещам, таким как: refreshtoken, метод-уровневой безопасности и примеру реализации правила "свой/чужой профиль"

Читать далее

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

Статья

MAP‑Elites: как искать не «лучшее», а «лучшее в каждой нише»

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

Проблема, которую не решает обычная оптимизация

Классические методы оптимизации — градиентный спуск, генетические алгоритмы с элитизмом, CMA‑ES — заточены под одну вещь: найти один глобальный максимум функции приспособленности. Всё остальное население на пути к этому максимуму считается расходным материалом и отбрасывается.

Но во многих задачах нас интересует не единственное решение, а набор разнообразных хороших решений:

Эволюционная робототехника. Нужно не одно «оптимальное» положение ног шагающего робота, а целая библиотека походок под разные повреждения — если у робота откажет один сустав, он должен уметь быстро подобрать альтернативную походку вместо повторной оптимизации с нуля.

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

Дизайн и инженерия. Инженеру интересно увидеть весь фронт компромиссов (вес vs прочность vs стоимость), а не одну точку.

Открытые (так называемый open‑ended) эволюционные системы, где само понятие «лучшего» плохо определено, а интересна широта поведенческого репертуара.

Это направление получило название Quality‑Diversity (QD) оптимизации: цель — не максимизировать один скаляр, а заполнить пространство возможных поведений решениями, каждое из которых максимально хорошо в своей поведенческой нише.

MAP‑Elites — один из первых и самый концептуально простой алгоритм этого семейства.

Идея алгоритма

MAP‑Elites (Multi‑dimensional Archive of Phenotypic Elites) был предложен в 2015 году.

Читать далее
Пост

Фронтенд для души, бэкенд для людей!

Мастер по разводу холивар
Мастер по разводу холивар

Были приняты меры погрузиться под воду дабы показать серьезность моих намерений в данной щепетильной теме.

Фронтенд весь такой разносторонний, креативный, местами легкий, местами настолько сложный что ломаешь голову. Напрашивается клеймо "для любителей".

Бэкенд наоборот поддерживает порядок и структурность. Меньше экспериментов и больше проверенных решений, самое то для "сделал работу - пошел спокойно домой".

Теги:
-1
Комментарии0
Пост

Что-то не сиделось мне на месте, и я решил облегчить работу своему нейро-бро (агенту) на Windsurf/Cascade.

Поэтому было принято решение написать MCP для хранения диалогов и всего локального кода на моем компе. И что самое важное -> прикрутить к этому семантический поиск. Я частенько использую одинаковые паттерны, куски кода или какие-то конфиги в разных проектах.

Алгоритм прост как 2 пальца об асфальт:

  1. Выбираем директорию

  2. Разбиваем код на удобные батчи (функции, классы, структуры и т. д.)

  3. Индексируем при помощи какой-нибудь embedding-модели через ollama (кстати работает достаточно быстро) или через платное API

  4. Вуаля! -> агент теперь умеет искать информацию по всем локальным проектам

А также вкратце про другую MCP. Она работает примерно как Playwright, но без Node.js-зависимостей и расширений.

Рецепт опять же очень прост:

  • Chrome + запущенный CDP

  • Сам MCP, который умеет навигацию, клики, заполнение форм, скриншоты, инспекцию сети и консоли, исполнение JS-скриптов

Мозг: https://github.com/quonaro/GnostisMCP

Руки для браузера: https://github.com/quonaro/KlyxarMCP

Теги:
0
Комментарии0
Статья

Структура, скрытая за написанием текста языковыми моделями

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

Языковые модели генерируют текст, следуя скрытым грамматическим правилам, или грамматика - просто побочный эффект предсказания следующего слова?

Этот вопрос увлёк меня почти на два года исследований.

Читать далее
Новость

Разработка учёных ЮФУ позволила снизить токсичность тяжёлых металлов и ускорить рост ячменя с помощью композита

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

Учёные разработали композитный материал, который одновременно удаляет тяжёлые металлы из почвы и доставляет стимуляторы роста к корням растений. При внесении в загрязнённую почву материал снизил токсическое действие металлов на 46–71% и ускорил развитие проростков ячменя на 70–80%. Результаты исследования опубликованы в Journal of Hazardous Materials. Работа поддержана грантом Российского научного фонда.

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

Читать далее
Пост

Новинки синтеза речи для Андроид. В Гугл Плэй появилось приложение для офлайн синтеза речи высокого качества VoxSherpa TTS.

VoxSherpa имеет настройки “умные паузы”, тэги эмоций, и т.д. Позволяет установить в качестве системных 3 нейро-движка синтеза речи:

  1. Kokoro. Мультиязычный, но русский язык не поддерживает.

  2. Piper. С ним нужно дополнительно загрузить отдельные голоса для разных языков. Есть довольно хороший русский голос Irina. Среди английских голосов есть несколько очень высокого уровня.

  3. Supertonic 3 TTS. Очень интересный новый движок. Полностью мультиязычный (русский поддерживает), хорошо переключается между английскими и русскими словами даже внутри одного предложения. Очень высокое качество (настраиваемо), но есть лёгкий английский акцент. Сейчас плохо работает с изменением скорости (лучше оставить на 1.0). Есть в Гугл Плэй отдельным приложением. Есть также на Гитхаб:
    https://github.com/davnozdu/supertonic-android

Теги:
0
Комментарии1
Статья

ML‑пайплайн как конечный автомат: от данных до аудита решений

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

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

В статье разберём, как выстроить воспроизводимый ML‑пайплайн с контролем данных, версий и состояний, чтобы решения модели можно было восстановить, проверить и обосновать.

Разобрать пайплайн
1
23 ...