Обновить
32K+
25
Александр@bububebe

Пользователь

132,1
Рейтинг
5
Подписчики
Отправить сообщение

Whisper без облака: локальное распознавание чувствительных записей

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

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

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

Поэтому я собрал локальное решение на базе Whisper. Аудио обрабатывается на своей машине, а на выходе остаются текст и таймкоды.

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

Читать далее

Как я собрал охранника для комнаты на YOLO и подключил его к Telegram

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

Я живу один, и обычно знаю, кто может быть у меня дома. Но во время отъезда в голову иногда лезут неприятные мысли. «А вдруг кто-то всё-таки заходил, пока меня не было?». Это мог быть сосед, родственник или мастер, но без камеры остаётся только гадать.

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

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

Смотреть дальше

Сервера: распределяем нагрузку

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

«Просто арендую сервер помощнее». Так я думал, когда пет-проект внезапно оброс людьми.

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

Я изучил, как похожие проблемы решают крупные компании, и применил эти принципы на практике.

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

Читать далее

Декомпозиция: Основы

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

Декомпозиция помогает превратить большую и непонятную задачу в последовательность конкретных шагов. Разберём, как применять её в жизни, обучении, разработке, проектировании систем и работе с AI-агентами.

Читать далее

7 месяцев вайбкодинга: как в одиночку делать то, что раньше требовало команду

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

Предыстория

Я обычный python‑backend разработчик. В основном писал и поддерживал web‑часть проектов. Около года назад в свободное время начал разработку собственных пет‑проектов, но полноценно вайбкодить начал 7 месяцев назад. И в этой статье поделюсь тем, что за это время понял.

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

После открытия инструментов подобных «Cursor», скорость и качество разработки значительно увеличилось.
Более 7 проектов (включая работу для клиента под NDA) и суммарно более 3 тысяч активных пользователей.

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

Читать далее

Мне было лень учиться, и я навайбкодил себе платформу для обучения

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

Всё началось с прокрастинации. Готовился к собеседованиям: SQL, git, брокеры сообщений, Django, алгоритмы. Открывал статьи, читал полтора абзаца и через десять минут обнаруживал себя где угодно, только не за материалом. К третьему заходу стало ясно: в формате «читать и запоминать» это в меня не лезет.

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

Спойлер: план провалился, учиться всё равно пришлось. Но по дороге вышло кое-что интереснее самого тренажёра, про это и статья.

Смотреть, что вышло

Информация

В рейтинге
45-й
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Веб-разработчик
Старший
Git
ООП
Docker
Python
Django
FastAPI
SQLalchemy
REST
Английский язык
Linux