Habr.com

Ленты новостей Хабр
Все публикации подряд на Хабре
Обновлено: 1 час 14 мин. назад

Как я создавал коллекцию фильмов

чт, 06/19/2025 - 11:16

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

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

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

Мы ходили смотреть фильмы в основном к Сашке. Его старший брат где-то доставал кассеты с новинками, и всю классику 90-х я пересмотрел в первый раз именно у него дома. Зачастую в компании нас было 5 человек на сеансе просмотра какого-нибудь «От заката до рассвета» или «Смертельной битвы».

Я много раз пытался коллекционировать фильмы, у меня куплена куча DVD, но всегда чего-то не хватало, что-то было не так, вынужденные компромиссы не давали ощутить полноту заложенного в видеоряд потенциала. То не было нормального места для просмотра (смотреть фильмы, сидя за компьютером, совсем неудобно), то не устраивал слабый звук, то отсутствовала возможность получить в коллекцию фильм в нужном переводе или в режиссерской версии.

Прошло 27 лет. У меня появился дом в деревне с русской печкой, и в декабре 2024 года я создал коллекцию фильмов в высоком качестве. Только тогда всё сложилось, как во сне.

Лучше чем во сне.

Читать далее

WAF по вызову: как файрволл веб-приложений защитит от SMS-бомбинга

чт, 06/19/2025 - 11:00

От чего защищает WAF (Web application firewall)? Самый очевидный ответ – от взлома веб-приложения. Однако не все веб-атаки предполагают эксплуатацию уязвимостей - иногда злоумышленники совершают и легитимные технически корректные действия, которые могут навредить организации. Так один из наших клиентов столкнулся с проблемой SMS-бомбинга. Для массовой рассылки SMS киберпреступники использовали открытый API. Решить проблему удалось с помощью WAF. Какие настройки для этого потребовались – расскажем в этой статье. 

Читать далее

Рецензия на переводную книгу “Законы UX-дизайна, 2 издание”

чт, 06/19/2025 - 10:35

Сегодня UX-дизайн уже не воспринимается как нечто «дополнительное» к разработке приложений и сайтов. Это ядро цифрового продукта, а UX-дизайнер — не просто оформитель, а архитектор пользовательского опыта. Этим ценны фундаментальные и хорошо структурированные знания из книги «Законы UX‑дизайна, 2 издание» Джона Яблонски. В ней автор пишет о том, как люди воспринимают интерфейсы, принимают решения и реагируют на взаимодействие с системами, — и эти знания , —  как раз тот самый профессиональный минимум.

Читать далее

Что скрывается за разъёмом USB: просто о сложном

чт, 06/19/2025 - 10:16

За знакомым портом может скрываться как устаревший USB 2.0, так и современный USB4 или Thunderbolt 4. В этой статье — просто и понятно о версиях USB, скорости, зарядке, передаче видео и всей той путанице, которую устроили маркетологи. Если вы хотите раз и навсегда понять, что означают все эти gen1/gen2, Power Delivery, SuperSpeed++ и 80 Gbps — вам сюда.

Читать далее

Почему гуманоидные роботы — не пустохайп, а прорыв робототехники

чт, 06/19/2025 - 09:50

Гуманоидные роботы на ИИ. То что раньше казалось наивной фантастикой, оказалось уже наступившим будущем. Но почему-то в русскоязычном интернете об этом почти не говорят.

Читать далее

Архитектурное банкротство: как технический долг убивает проект

чт, 06/19/2025 - 09:22

Привет! Меня зовут Дмитрий Березницкий, я больше 25 лет работаю в разработке ПО. За это время видел, как одни команды росли и с лёгкостью внедряли новые фичи, а другие — всё больше погружались в хаос, где любое изменение требует недели усилий и проверки «на авось». Причина почти всегда одна — технический долг. Сегодня я расскажу, что это такое на практике, как его распознать, почему он опаснее, чем кажется, и какие шаги реально помогают.

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

И если долго игнорировать эти сигналы — наступает архитектурное банкротство. Это тот момент, когда изменить что-либо в системе уже практически невозможно: любое движение вызывает каскад непредсказуемых ошибок, а разработчики постепенно теряют мотивацию.

По данным Stripe, около 42% времени разработчиков уходит на поддержку некачественного кода. А компании, у которых технический долг под контролем, по данным McKinsey, растут на 20% быстрее. Это подтверждают и мои наблюдения: чем здоровее архитектура — тем быстрее команда реализует новые идеи и меньше выгорает.

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

Читать далее

Пишем персонального AI-ассистента на Python

чт, 06/19/2025 - 05:19

Современные голосовые помощники это мощные приложения, сочетающие обработку речи, машинное обучение и интеграцию с внешними API. В этой статье мы разберём, как создать базовый проект персонального ассистента на Python, используя библиотеки whisper, webrtcvad, gTTS и другие. Наш ассистент будет: слушать микрофон; определять начало и конец речи с помощью VAD (Voice Activity Detection); преобразовывать речь в текст через модель Whisper; отправлять запросы на локальный LLM для генерации ответа; читать ответ вслух с помощью gTTS; начинать/останавливать запись по нажатию клавиши.
Проект может служить как началом для экспериментов, так и для прототипирования реальных решений.

Читать далее

Сейчас на сайте

Сейчас на сайте 0 пользователей и 1 гость.