Обновить
10
0
Юрий Дмитриев@gto

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

Отправить сообщение

Создаём MCP‑сервер на практике

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

MCP без воды и шаблонного кода на практике: разбираем протокол, поднимаем сервер, тестируем через Inspector и учим LLM торговать через Finam API. Разберёмся, когда MCP выгоднее «обычных функций», как изолировать интеграции и упростить отладку инструментов.

Читать далее

Автоматизированная оценка стабильности скоринговых моделей на основе временных рядов метрик

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

Привет, Хабр! Меня зовут Зотов Глеб, я ML-инженер в команде скоринга в билайне. В статье расскажу о том, как не сойти с ума, мониторя десятки графиков вручную. 

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

Проблема? Проблема. 

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

Читать далее

Пишем свой MCP-сервер на Go

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

Пока ML- и AI-специалисты усиленно создают агентские системы, разработчики тоже хотят приобщиться к созданию нового мира. Так компания Anthropic — создатели Claude Sonnet, разработали открытый протокол MCP (Model Context Protocol), который позволяет LLM взаимодействовать с любой информационной системой. Это открыло новые возможности не только для построения более сложных и продвинутых агентских AI-систем, но и для активного участия во всём этом процессе и backend-разработчиков.

Я Евгений Клецов — Go-разработчик из Cloud.ru. В статье покажу, как создать свой сервер в тесной связке с вашим продуктом или решением, чтобы затем на его базе построить AI-агента и тем самым облегчить «жизнь» себе и своим клиентам.

Читать далее

Думай как компилятор: позиции и значения в Rust

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

Некоторое время назад мне попался в Интернете вопрос о таком синтаксисе в Rust:

*pointer_of_some_kind = blah;

Автору вопроса было интересно, как компилятор понимает такой код, особенно, если в данном случае используется не ссылка, а умный указатель. Я написал ему пространный ответ, но потом подумал, что стоило бы ещё развернуть этот текст и переработать в статью для блога, на случай, если такой вопрос интересует и более широкую аудиторию.

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

Читать далее

Stealth Mode: 10 Bash-трюков для скрытого хакинга

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

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

Этот гайд посвящен скрытности и bash-скриптингу. Мы говорим не о супер эксплойтах, а о низкоуровневой невидимости, которая заставит команду криминалистов чесать затылки.

Читать далее

[Перевод] Поиск способов закрепления в Linux (Часть 3). Systemd, таймеры и Cron

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

Данная публикация - перевод серии статей от Pepe Berba - Hunting for Persistence in Linux.

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

Читать далее

Как запустить нейросеть у себя на компьютере: 4 простых инструмента

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

Вы когда‑нибудь задумывались, как это — иметь мощь языковой модели прямо на вашем компьютере? Экспериментировать с LLM (большими языковыми моделями) локально — словно открыть тайную дверь в мир ИИ... Вам открыт широкий горизонт для исследований, творчества и практического применения.

Но как запустить нейросеть на компьютере, если вы не Google? Хорошая новость: в 2025 году это стало проще и доступнее, чем когда‑либо! Вам не нужен суперкомпьютер (хотя мощная видеокарта значительно ускорит процесс). Современные эффективные модели и специализированное ПО делают локальный запуск нейросети реальностью для многих пользователей.

Давайте разберёмся, что для этого нужно. Мы рассмотрим 7 наиболее оптимальных для локального запуска моделей — Llama, Qwen, DeepSeek, Phi, Gemma, Mistral, Granite, — а также 4 быстрые и удобные программы: Ollama, LM Studio, Jan и GPT4All.

Читать далее

Решил перейти на Python и не пожалел

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

С полгода назад я начал чаще использовать для программирования Python. Почему? Конечно, из-за ИИ. Лично для меня очевидно, что сегодня эта сфера связана с очень большими деньгами перспективами во всех направлениях. А какой язык является самым распространённым для ИИ? Да-да, как-раз этот проныра.

Я уже писал на Python, но только небольшие скрипты. К примеру, вот этот скрейпит метаданные всех видео с моего канала на YouTube. Собранные метаданные выводятся в виде файла JSON, который я использую для показа красивой статистики роликов на этой статичной странице. Как можно видеть здесь, этот скромный скрипт через GitHub Actions выполняется в соло-режиме каждый понедельник. Просто реализовать всё это на Python куда проще, чем с помощью того же Batch. И не только из-за более дружественного синтаксиса, но и потому, что его интерпретатор нативно интегрирован во все дистрибутивы Unix. Разве не круто?

Читать далее

[Перевод] Поиск способов закрепления в Linux (Часть 1)

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

Данная публикация - перевод серии статей от Pepe Berba - Hunting for Persistence in Linux.

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

Читать далее

Как биржи манипулируют книжкой ордеров: технический анализ стакана и ботов

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

Механика биржевой торговли в криптовалютах нередко воспринимается как нейтральная инфраструктура: вы выставляете лимитный ордер, он попадает в стакан, и дальше всё решает рынок. На практике это не совсем так.

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

В этой статье мы разберём, как устроен order book на биржах типа Binance, OKX и Bybit, и какие манипуляционные паттерны можно наблюдать в реальном времени. Мы изучим:

Читать далее

Пишем на C самоизменяющуюся программу x86_64

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


«Зачем вообще писать программу, меняющую код в процессе выполнения? Это же ужасная идея!»


Да, всё так и есть. Но это и хороший опыт. Такое делают только тогда, когда хотят что-то исследовать, или из любопытства.


Самоизменяемые/самомодифицируемые программы не обладают особой полезностью. Они усложняют отладку, программа становится зависимой от оборудования, а изучение кода превращается в очень утомительный и запутанный процесс, если только вы не опытный разработчик на ассемблере. Единственный разумный сценарий применения самоизменяемых программа в реальном мире — это механизм маскировки зловредного ПО от антивирусов. Моя цель исключительно научна, поэтому ничем подобным я заниматься не буду.


Предупреждение: в этом посте активно используется язык ассемблера x86_64, в котором я ни в коем случае не являюсь специалистом. Для написания статьи мне пришлось изучать приличный объём материалов, и, возможно (почти наверняка), в ней есть ошибки.
Читать дальше →

Python vs Java: кто быстрее и дешевле

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

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

Возглавляя бэкенд-команду витрины в KION, я, Леша Жиряков, постоянно балансирую между скоростью вывода фичей и стабильностью работы системы. Сегодня решил перевести абстрактные технические дискуссии в конкретные цифры. А еще — поделиться расчетами, которые помогут принять экономически обоснованное решение: что выбрать для следующего проекта — Python или Java?

Читать далее

KRR — ваш личный советник по ресурсам в Kubernetes

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

KRR (Kubernetes Resource Recommender) — это CLI-инструмент для оптимизации использования ресурсов в Kubernetes. Он анализирует метрики Pod'ов, собираемые в Prometheus, и предлагает оптимальные настройки requests и limits для CPU и памяти. Это помогает снизить расходы на облачные ресурсы и повысить производительность приложений. В этом посте будет рассмотрен периодический запуск krr в kubernetes с сохранением в html формат для удобного отображения через браузер как web-сайт.

Читать далее

FastAPI + Redis + Celery: Создание системы временного хранения файлов с автоудалением и удобным веб-интерфейсом

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

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

Мы пошагово разберем процесс разработки, начиная с настройки FastAPI для обработки HTTP-запросов, интеграции Redis для эффективного хранения метаданных файлов, и заканчивая использованием Celery для асинхронного выполнения задач по удалению устаревших файлов.

Статья будет полезна разработчикам, желающим углубить свои знания в области современной веб-разработки на Python и получить опыт работы с передовыми инструментами и фреймворками.

Читать далее

Реализация шифра «Магма» на языке RUST

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

Привет! Сегодня мы продолжаем реализовывать шифрование. В этой статье мы рассмотрим алгоритм шифра "Магма", который был разработан и использовался в СССР.

Читать далее

План самостоятельного обучения DDD, CQRS, EventSourcing

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

Если вы собрались плотно погрузиться в тему Doman Driven Design (DDD), о том как его применять, как использовать, для чего он нужен, и как с ним связаны Command and Query Responsibility Segregation (CQRS), Event Sourcing и другие термины из мира DDD то можно воспользоваться планом обучения, который последовательно погрузит вас в эти темы и поможет сориентироваться. Часть информации на русском, часть на английском языке, так как русскоязычных аналогов я не смог найти.

Погрузиться в DDD

Миграция с Docker на CRI-O в Kubernetes

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

Для запуска контейнеров платформа Kubernetes использует Container runtime, т. е. движок для контейнеров. Долгое время основным движком считался Docker, но им не ограничивался — Kubernetes также поддерживает такие движки, как CRI-O и containerd. Однако начиная с версии Kubernetes 1.20, было объявлено, что в будущих версиях поддержка Docker (а если быть точнее, то dockershim) будет полностью прекращена. Начиная с версии Kubernetes 1.24, Docker был полностью удален из Kubernetes. Одной из причин такого решения было то, что в Docker отсутствует поддержка интерфейса CRI (Container Runtime Interface). В качестве замены можно перейти на CRI-O, который позиционирует себя как легковесную исполняемую среду для контейнеров в Kubernetes. В данной статье мы рассмотрим миграцию с движка Docker на CRI-O.

Читать далее

Как организовать мониторинг актуальности Helm-релизов в кластерах Kubernetes

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

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

О том, как мы мониторим актуальные Helm-релизы и какие инструменты для этого используем, рассказывает Александр, ведущий системный администратор в Selectel. Подробнее — под катом.

Дисклеймер. В статье сконцентрировались на нашем опыте мониторинга Helm-релизов. Начиная с поиска утилиты для проверки актуальных версий и заканчивая визуализацией данных. Надеемся, этот материал поможет вам выстроить надежную и эффективную систему мониторинга Helm-релизов.
Читать дальше →

Как документировать публичные API для продукта. Большой гайд, часть 1

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

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

Материала вышло многовато, поэтому разбил его на 2 части. В части 1 (этой статье) рассмотрим, почему и зачем вообще публичным API нужна документация, есть ли у нее какие-то отличия от документации внутренних API, а также проанализируем и детально разберем различные подходы к ведению такой документации, попутно познакомившись поближе с полезными инструментами.

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

Читать далее

Отладка плэйбуков ansible

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

Рябятаньки в этом руководстве я постараюсь рассказать как дебажить playbookи, устраняя потенциальные проблемы, не дожидаясь обезвреживания продакшена. Если вы читаете это, то я уверен что вы, также как и я, прочитали десяток статей о том как установить ansible и запускать (применять - режет слух) плэйбуки для конфигурирования всего до чего дотягивается руки.

узнать как дебажить
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
München, Bayern, Германия
Зарегистрирован
Активность