Продолжаем писать сервис DeadDrop: сегодня идём от монолита к чистой архитектуре
В предыдущей части мы реализовали готовый прототип, но его код был спорным: от смешанной логики до хранения секретов пользователей в открытом виде - пора вносить правки!
Сегодня мы:
1) Превращаем "толстый" хэндлер в хорошее архитектурное решение с разделением слоёв
2) Хэшируем с bcrypt
3) Внедряем зависимости (DI) через интерфейсы
4) Готовим код к дальнейшему масштабированию
Рефакторинг, который не ломает проект, а делает его удобным для дальнейшей разработки!
Читать далееВаша ML-модель работает в ноутбуке, а в продакшене — нет. Бывало такое? Именно здесь начинается настоящая инженерная задача: взять эксперимент из Jupyter-ноутбука и превратить его в воспроизводимый, наблюдаемый и масштабируемый пайплайн — от сырых данных до стабильного инференса под реальной нагрузкой. Kubernetes давно стал де-факто стандартом для этой работы: более 70% компаний используют его в продакшене — это не дань хайпу, это прагматичный выбор тех, кто уже наступал на грабли.
В этой статье разберем, почему K8s выигрывает у альтернатив именно для ML-нагрузок, а также обсудим какие мифы и анти-паттерны тормозят команды на пути к продакшену. Пройдемся по полному стеку: от подготовки кластера и фиксации данных через DVC до canary-деплоя модели и автоскейлинга GPU-подов. В конце вас ждет взгляд на то, куда движется индустрия: serverless-ML, multi-LLM-ops и edge-развертывания.
Если вы DevOps- или MLOps-инженер, которому приходится запускать обучение и инференс в одном кластере, или R&D-инженер, чьи модели «магически ломаются» при переходе в прод — читать обязательно.
Читать далееGitHub - Комплекс pg_expecto для статистического анализа производительности и нагрузочного тестирования СУБД PostgreSQL
GitFlic - pg_expecto - статистический анализ производительности и ожиданий СУБД PostgreSQL
Глоссарий терминов | Postgres DBA | Дзен
Может ли ИИ заменить эксперта по PostgreSQL?
С учетом существующих точек зрения о потенциале полного замещения человека искусственным интеллектом в задачах оптимизации баз данных, в данном исследовании проведен анализ работы нейросетевой модели DeepSeek при оценке производительности СУБД PostgreSQL с применением статистического метода «majority vote» на выборках из пяти и одиннадцати независимых прогонов. Результаты подтверждают, что даже при эффективном выявлении закономерностей и диагностике узких мест с помощью ИИ, окончательная интерпретация выводов остается прерогативой специалиста, что позиционирует нейросеть не как замену эксперту, а как инструмент для фильтрации случайных ошибок и оптимизации рутинных процессов.
Читать далееМеня зовут Ксюша Новосёлова, я отвечаю за направление обучения и развития UX-исследователей в Контуре.
Для нас важно создавать среду, в которой сотрудники могут добирать недостающие навыки, развивать компетенции и получать поддержку в своём профессиональном росте.
Поэтому мы стараемся смотреть на обучение не как на набор разовых активностей — отправить кого-то на курс, купить доступ к конференции или провести внутренний мастер-класс — а как на систему развития, которой можно управлять.
Мы пока в начале этого пути, но уже видим несколько рабочих принципов и форматов, которыми готовы поделиться.
Читать далееДелаем из простого скрипта настоящий консольный чат: цикл общения, system prompt, обработка ошибок и первые шаги к “живому” AI-приложению на Python с Ollama и LiteLLM.
Читать далееВ конце 2020 года я купил MacBook Pro 13 на процессоре Apple M1, очень хотелось испытать процессоры на архитектуре ARM. Почти сразу на чипе Apple M1 был найден вычислительный блок для матричных операций Apple AMX. Для Apple AMX не было документации, он не использовался в Apple Accelerate, но несколько энтузиастов занимались реверс-инжинирингом и анализом производительности ("https://github.com/corsix/amx").
В 2024 году вышли компьютеры на базе семейства процессоров Apple M4, у которых блок AMX задействован для выполнения инструкций из Scalable Matrix Extension 2 (сайт ARM недоступен в РФ) (ARM SME2).
В статье рассмотрим использование расширения ARM SME2 на примере умножения заполненных матриц. Увидим, как выжать максимум из процессора и получить прирост производительности в десятки раз.
Читать далееДоброго свободного времени, товарищи! в этой своей первой статье хотел бы вам рассказать как я будучи далёк от сетевых технологий перешел с роутера мыльницы на старый комп из-под дивана.
Читать далееПриходилось ли вам браться за задачу, из-за которой прошлый разработчик успел выгореть и сменить компанию? Что ж, мне удалось с такой столкнуться — c задачей обеспечения безопасного локального хранения файлов, которые пользователь загружает в приложение, например, общаясь с технической поддержкой в чате. Обо всех деталях и во всех подробностях я и расскажу в данной статье.
Узнать подробностиПроблема предвзятости или необъективности мнений возникла задолго до создания нейросетей и ИИ, и она имеет несколько вариантов решения, один из которых предложил русский писатель Федор Михайлович Достоевский: он использовал особый способ рассуждений, который он назвал реализмом в высшем смысле. Этот способ вполне подходит для ИИ, хотя, конечно, способ мышления нейросетей значительно отличается от человеческого. Но у них есть много общего.
Проблема предвзятости нейросетей и ИИ (в дальнейшем будем использовать эти термины как синонимы – для удобства) привлекает все большее внимание, что вызвано ростом их влияния на формирование общественного мнения. В частности, этой теме посвящена статья «ChatGPT: Измеряет ли ИИ политическую предвзятость человечнее человека?». Исследователи подчеркнули, что «Необъективный ИИ может усугублять социальную поляризацию, распространять дезинформацию и дискриминировать отдельные группы населения».
Известно, что предвзятость ИИ является следствием предвзятости, присущей человеческому обществу. Однако я не встречал в статьях о нейросетях упоминаний о том, что многие мыслители задолго до возникновения ИИ пытались преодолеть предвзятость человеческого общества, и некоторые в этом деле очень даже преуспели. В частности, это пытался сделать Федор Михайлович Достоевский, который использовал свой собственный способ мышления, который он назвал реализмом в высшем смысле.
Его подход существенно отличается от подхода, который считается эталоном в ИИ, когда под объективностью понимается представление ИИ сбалансированной картины по тому или иному вопросу, для чего нейросеть излагает аргументы разных сторон по спорным вопросам.
Читать далееКак автоматизировать процесс обработки рекламаций с помощью ИИ?
Кейс о том, как мы внедрили систему отслеживания рекламаций на производстве с использованием искусственного интеллекта.
Читать далееKafka часто воспринимается как система, гарантирующая доставку сообщений и Exactly Once Semantics. Однако в реальных распределённых системах эти гарантии заканчиваются на границе брокера.
Сообщение может потеряться между записью в базу данных и публикацией события, а может быть обработано повторно при сбое сервиса.
В этой статье разберём:
Читать далееПривет, Хабр!
Прикрутил к reley браузеру openclaw навык для поиска, отклика на вакансии и поднятия резюме на HH в топ. Все автоматически, по расписанию, оптимизировано скриптами для меньшего потребления токенов. У меня стало уходить примерно в три раза меньше времени на поиски, и я могу сосредоточиться на выборе вакансий, а не на прохождении ритуалов по типу поднятия резюме в топе. Хотел-бы я так сказать. Как это было на самом деле и что получилось, расскажу подробнее.
Читать далееСогласно геймерской интерпретации реальности мы находимся в игре, и мы это не мы, а аватары игроков. Данная концепция прекрасно ложится на современный мир, когда религиозные представления кажутся устаревшими, а чисто атеистический подход не снимает страха смерти. Но насколько она соответствует научной картине мира? Или это просто очередная красивая сказка, которую мы сами себе рассказываем?
Главный вопрос как понять является ли наша реальность реальной или виртуальной? Когда играешь в игру на компьютере, то все просто. Вот игра на экране и ее виртуальная реальность, а вот реальная реальность, в которой я нахожусь. Их можно легко и четко отделить друг от друга. А вот когда ты аватар в игре и видишь только свою реальность, то все несколько сложнее. Но не совсем безнадежно. Давайте присмотримся к игроку за компьютером и попытаемся сформулировать принципы, по которым мы можем отличить реальность от виртуальности.
Читать далееПосле блокировки Telegram в России потребовалась альтернатива для уведомлений из Zabbix. Разбираемся, как интегрировать отечественный мессенджер Max через Webhook, с какими проблемами столкнулся и как их решил.
Читать далееВ данной статье мы разберем немаловажные регистры бухгалтерии и способы оптимизации запросов к СУБД при работе с ними для решения реальных задач.
ДалееПопытка посмотреть на архитектуру систем сетевой безопасности через призму 4 млрд лет эволюционных экспериментов от директора компании Дмитрия Хомутова.
Читать далееРассказ технолога о том, как делают сложные платы и почему там все не как в двухслойках.
Мы уже много говорили про проектирование отверстий, про разницу между высокоскоростными и высокочастотными платами. Но сегодня заберемся в самую глубину — буквально. Поговорим о многослойных печатных платах.
Однослойные и двухслойные платы — это классика, с нее все начинали. Но когда устройство становится сложным, миниатюрным и быстрым, без многослойки не обойтись. Четыре, шесть, восемь и больше слоев — это уже не просто «еще одна плата», это совсем другой уровень проектирования и производства.
Почему многослойка — это отдельный мир?
Внешне четырехслойная плата может выглядеть как двухслойная — ну подумаешь, толщина чуть больше, а иногда такая же. Но внутри это пирог, в котором каждый слой живет своей жизнью:
Читать далееКогда говорят про создание сайтов с помощью ИИ, обычно звучат две крайности: либо магия уровня «нажал кнопку — получил готовый продукт», либо скепсис в духе «потом всё равно придется переписывать руками». А что, если проверить?
Привет! Меня зовут Кристина. Я работаю специалистом по автоматизации в Учебном центре IT-компании «Тензор». Недавно заказчик попросил меня сделать рабочий сайт максимально быстро. Четкого ТЗ и готового дизайна не было — только общее видение. Знакомая ситуация? На практике это происходит сплошь и рядом. Здесь как раз важно уметь работать в условиях неопределенности.
Так как старые решения не подходили, я решила пойти ва-банк и довериться искусственному интеллекту. Получится ли собрать рабочий сайт с помощью ИИ, если умеешь работать с кодом и задавать правильные вопросы?
Спойлер: получится. Но не совсем так, как многие представляют.
Читать далееЭпоха 1: Точность на обучении 21.10%, на валидации 94.55%
Высокая валидация на первой эпохе — случайное совпадение. Модель ещё не обучилась, но случайная инициализация весов дала хороший результат на маленькой валидационной выборке.
Эпоха 2-3: Точность на валидации упала до 0%
Модель начала переобучаться на обучающей выборке. Это нормальное явление на ранних этапах обучения.
Эпоха 20: Стабилизация на уровне 78.90% (train) и 27.27% (val)
Начало сходимости модели. После этой эпохи точность на валидации начинает расти.
....
и это всё было на ресурсах Goole-Colab, даже не всегда получалось попасть на GPU. От сюда и выбор размерности батча, для обучения
Я давно уже не писал никаких заметок по-русски. А на эту тему - очень давно. Лет десять наверное точно, а может и больше.
Почему решил написать сейчас? Потому что, как я вдруг заметил, практически никто на эту тему уже примерно столько же ничего особо содержательного не писал. Да, продолжались какие-то споры — но всё об одном и том же, по кругу, но все было понятно что все уже давно при своём мнении и обсуждать-то особо и больше и нечего.
Но вот тут недавно в ответ на давно уже доведённые до автоматизма аргументы (не сказать штампы) в комментарии (который я не сдержался и написал, хотя много раз давал себе зарок на такие темы сдерживаться), я увидел очень стандартный и привычный мне ответ. И вдруг обратил внимание на ник отвечающего - в нём был год, можно предположить что рождения. Вполне взрослого и сформировавшегося уже человека, вероятно профессионала, вероятно весьма неглупого. Но год рождения, совпадающий с годом рождения одного из моих детей. И я вдруг подумал, что ни он, ни мой сын - они же никогда этих наших дискуссий не видели, и ничего этого не читали. Они ещё учились в школе. Да, они видели как их родители принимали одни или другие решения, но сами они в этих решениях не участвовали никак. А теперь пришла и их пора возможно задуматься о том же самом.
Благо, задумываться ещё можно, потому что возможности пока ещё есть.
Итак, "тема сегодняшнего занятия" (ц) - эмиграция. Да, то самое "пора валить" (имени давно почившего знаменитого сообщества в когда-то живом журнале).
Дисклеймер - эта заметка не призыв к дискуссии. Пожалуйста, если вам не нравится эта тема или не нравится сама идея - пройдите мимо. Здесь я просто хочу рассказать о собственном опыте и об опыте многих моих знакомых из самых разных стран, уехавших жить в другие страны. У кого-то из них (у большинства) получилось, у кого-то нет.