Pull to refresh
38
0
Борис Николаев @devmark

Backend developer

Send message

Сравнение технологий аппаратного транскодирования

Level of difficultyEasy
Reading time13 min
Views1.4K

Можно ли чем-то заменить Nvidia? Если уж не для нейросетей, то для транскодирования видео, которое в медиапроизводстве занимает очень значительное место и требует больших вычислительных ресурсов. 

В этой статье попытаемся выяснить, есть ли у аппаратной платформы NVIDIA альтернативы в задачах обработки и кодирования видео, и можно ли заменить NVIDIA чем-то более доступным во всех смыслах: и по возможности закупки на рынке РФ, и по цене.

Читать далее

Сербия застряла в прошлом? О жизни в стране, похожей на Россию 2010-х

Level of difficultyEasy
Reading time7 min
Views24K

Сколько в Нови-Саде стоят аренда квартиры и продукты? Чем медлительность, ставшая национальной чертой сербов, нравится приезжим, а когда уже напрягает? Как узнать наших в толпе и при чём тут Россия 2010-х? 

Слово Валентине, дизайнеру продукта Collabis, которая живёт в Нови-Саде больше двух с половиной лет. 

Читать далее

Встречаем Spring AI Agents и Spring AI Bench

Level of difficultyEasy
Reading time5 min
Views2.5K

Java-разработчикам теперь доступен мощный инструментарий для работы с агентными ИИ-системами: Spring AI представила проекты Agents и Bench. В новом переводе от команды Spring АйО рассмотрим, как первый обеспечивает удобную абстракцию для работы с CLI ИИ-агентами, а второй — предлагает реалистичные бенчмарки для оценки их эффективности в задачах enterprise-разработки.

Читать далее

Java 25 выходит уже сегодня

Level of difficultyEasy
Reading time23 min
Views6.4K

Четверть века назад язык, придуманный для «умных тостеров», стал символом корпоративного софта и огромных систем. Сегодня Java продолжает эволюционировать, и каждая новая версия всё сильнее ломает стереотип о «тяжёлом корпоративном динозавре».

Встречайте 25 версию Java вместе с командой Spring АйО!

Читать далее

Java vs Kotlin: у кого больше преимуществ в 2025 году

Level of difficultyEasy
Reading time11 min
Views12K

В 2018 я впервые познакомился с Kotlin, и он мне практически сразу понравился. Да и как можно не полюбить язык, названный в честь тотемного животного всех программистов? Шучу, на самом деле в честь острова.

Я уже несколько лет пишу бэкенд на Kotlin. До этого писал на Java, но переход совершил практически одномоментно, потому что тогда мне  казалось, что Kotlin закрывает множество минусов Java и привносит более простой и лаконичный синтаксис.  Но при этом я стараюсь следить за тем, как развивается Java.

Читать далее

Локальный чатбот без ограничений: гайд по LM Studio и открытым LLM

Level of difficultyEasy
Reading time12 min
Views88K

В этой статье мы не только установим локальный (и бесплатный) аналог ChatGPT, но и сделаем обзор нескольких открытых LLM, разберёмся в продвинутых настройках LM Studio, подключим чатбота к Visual Studio Code и научим его помогать нам в программировании. А ещё мы посмотрим, как можно тонко настраивать поведение модели с помощью системных промптов.

Читать далее

Как AI-агенты помогут достроить вашу Вавилонскую Башню

Level of difficultyEasy
Reading time3 min
Views2.3K

Попробовал я тут на днях Codex от OpenAI. Его релиз состоялся 16 мая 2025 года, т.е. два месяца назад.

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

Представьте, что теперь у вас есть джун, который умеет кодить на любом языке, быстро въезжает в проект, обладает широкой "насмотренностью" и доступен 24/7.

Читать далее

Spring AI: Model Context Protocol

Level of difficultyEasy
Reading time7 min
Views3.2K

Model Context Protocol (MCP) — это унифицированный протокол взаимодействия между большими языковыми моделями (LLM) и внешними источниками данных и инструментами. Spring AI предоставляет очень простой декларативный подход для добавления любых инструментов в контекст LLM с помощью MCP. Мы рассмотрим несколько простых примеров по созданию MCP-клиента и MCP-сервера.

Читать далее

Spring AI: retrieval augmented generation

Level of difficultyEasy
Reading time8 min
Views2.8K

Spring AI, который только недавно получил первую стабильную версию, уже предоставляет довольно много возможностей для работы с RAG (retrieval augmented generation).

Благодаря этому подходу нейросеть перед тем, как дать ответ на запрос пользователя, выполнит поиск подходящей информации в векторном хранилище. Причём каждый документ хранится не в виде текста, а в виде массива чисел (т.н. «векторов»).

Процесс преобразования различных документов в такой векторный формат выполняется опять же с помощью LLM и называется embedding («встраивание»). Хорошая новость заключается в том, что всё это можно легко сделать с помощью Spring AI.

Читать далее

Эмбеддинги для начинающих

Level of difficultyEasy
Reading time5 min
Views72K

Привет, Хабр!

В широком смысле, эмбеддинг - это процесс преобразования каких-либо данных (чаще всего текста, но могут быть и изображения, звуки и т.д.) в набор чисел, векторы, которые машина может не только хранить, но и с которыми она может работать. Звучит очень интересно. Казалось бы, наша речь - это так просто, все связано и понятно. Но как это объяснить машине?

В этой статье мы рассмотрим, что такое эмбеддинги и какие они бывают.

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

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

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

Читать далее

Что не так с USB-C и как Microsoft наводит порядки в стандарте

Reading time5 min
Views8.7K

USB-C проектировался как универсальный стандарт. Но его возможности, к сожалению, варьируются от устройства к устройству, а это сбивает с толку пользователей. Microsoft решает эту проблему, внедряя строгие требования в рамках Windows Hardware Compatibility Program (WHCP). Сегодня разберем, как компания исправляет путаницу с USB-C-портами на Windows-устройствах, какие проблемы устраняет и что это значит для пользователей и производителей.

Читать далее

Dockhost год в проде: как мы строим свою платформу хостинга приложений

Reading time7 min
Views672

Всем привет! У нас знаменательное событие — Dockhost отмечает первый день рождения!

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

Меня зовут Евгений Бабий, я один из основателей платформы Dockhost. И в этой статье я хочу оглянуться назад и рассказать про наш путь в построении платформы: что мы задумывали, что в итоге получилось и к чему мы стремимся в будущем.

Читать далее

Циолковский — 33 несчастья

Reading time13 min
Views21K

Автор: Александр Муллагазиев

Российская Империя. Конец ХIX века. Уездный городок Боровск - религиозный до самых пяток, столица русского старообрядчества.

Условный Иван Иваныч, отстоявший свое на службе в тесной церквушке возвращается домой по замерзшей реке Протве. Ему на встречу несутся сани. Иван Иваныч присматривается, а потом почему-то раскрывает рот и начинает креститься. Сани идут своим ходом, без коней, под парусом. “Дьявольщина” шепчет Иван Иваныч, пока его руки выписывают святые вензеля. Сани проносятся мимо, обдавая его снегом, на них правит бородатый невзрачный мужичок в очках. “Желябка! Опять чудишь, дурак!” кричит вслед Иван Иваныч. Но Желябка его не слышит. Ему вообще по большому счету плевать. Он - глухой на оба уха изобретатель-самоучка и великий космический теоретик, человек и город Константин Эдуардович Циолковский.

И с такой жизнью как у него, обращать внимание на Иванов Ивановичей было непозволительной роскошью, уж поверьте.

Читать далее

Старый новый мир аудиокассет

Level of difficultyEasy
Reading time10 min
Views31K

В начале 1960-х мир стоял на пороге звуковой революции, но ещё даже не подозревал об этом. Между тем, в 1963 году компания Philips представила компакт-кассету — скромную пластиковую коробочку с магнитной лентой, которая позиционировалась в качестве «карманной» альтернативы громоздким бобинам. Никто не предполагал, что это изобретение переживёт несколько технологических эпох, пройдя путь от дешевого массового носителя музыкальных записей до культового артефакта цифровой эры.

Читать далее

Апгрейд компьютера в 2025

Level of difficultyEasy
Reading time20 min
Views57K

Свой предыдущий компьютер я собрал 10 лет назад. Я еще застал то время когда за подобный промежуток времени персоналки успевали измениться до неузнаваемости а для того чтобы не отстать от жизни их требовалось апгрейдить каждые два или три года. Но в тихие 2020е годы «железо» развивается уже не так быстро и по большому счету я мог бы продолжать этим старым компьютером и дальше. Однако руки у меня чесались уже из принципа и когда «винда» объявила мне что поддержка win10 прекращается, а win11 на моем компьютере работать не может, то я воспринял это как знак и решил немного побаловать себя. Эта статья — это обзор для олдфагов типа меня о том что появилось на рынке персоналок в последние годы и о том чего можно ожидать при подобном апгрейде.

Да, кстати, стоит ли вообще игра свеч?

Spring Boot 3.3 и Docker: изменение в эффективных docker-образах

Level of difficultyMedium
Reading time4 min
Views6.9K

Переход от Spring Boot 3.2 к 3.3 принес изменения в процесс распаковки JAR и запуск приложения в Docker-контейнере.

В новой статье от Рустама Курамшина, эксперта сообщества Spring АйО, вы узнаете:
• что именно изменилось
• как это отразится на создании Dockerfile
• и как адаптировать проекты к новым условиям

Читать далее

RabbitMQ и Kotlin: делаем свою event-driven Jira на Spring

Level of difficultyEasy
Reading time14 min
Views3K

В этой статье мы рассмотрим, как можно в один клик развернуть RabbitMQ в облаке. Также напишем простое приложение на Spring Boot и Kotlin, которое будет взаимодействовать с этим брокером сообщений.

Читать далее

Быстрый старт. SpringBoot + RabbitMQ

Level of difficultyEasy
Reading time4 min
Views14K

Было уже достаточно туториалов на тему Rabbit + Spring. В данной статье чуть обновленно описание быстрого запуска очередей. Если ты только начинаешь разбираться с очередями добро пожаловать подcast.

Читать далее

RabbitMQ. Часть 3. Разбираемся с Queues и Bindings

Reading time8 min
Views157K

Queue (очередь) — структура данных на диске или в оперативной памяти, которая хранит ссылки на сообщения и отдает их копии consumers (потребителям). Queue представляет собой Erlang-процесс с состоянием (где могут кэшироваться и сами сообщения). 1 тысяча очередей может занимать порядка 80Mb.


Binding (привязка) — правило, которое сообщает обменнику в какую из очередей должны попадать сообщения.

Читать дальше →
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity