Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Эволюция диагностики аккумуляторов Makita: от Arduino OBI к автономному веб-интерфейсу на ESP32

Время на прочтение5 мин
Количество просмотров2.7K

Каждый, кто работает с профессиональным инструментом Makita, знает, что их аккумуляторы — это не просто «банки» с энергией. Внутри скрывается сложная система управления (BMS), которая хранит массу полезной информации: от количества циклов заряда до напряжения на каждой ячейке. Однако получить эти данные без специального оборудования невозможно.

Несколько лет назад сообщество энтузиастов подарило нам проект OBI (Open Battery Interface) — решение на базе Arduino и Python, которое впервые позволило заглянуть «под капот» этих батарей. Это был настоящий прорыв, который послужил отправной точкой и для моего проекта. Но, как и у любой технологии, у него были свои ограничения. Я поставил перед собой цель создать более современное, удобное и полностью автономное устройство. Эта статья — история его разработки, от идеи до финальной реализации.

Читать далее

Новости

Малоизвестные уязвимости PHP: что скрывается за строками кода

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

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

PHP – один из самых популярных языков веб-разработки. Благодаря экосистеме фреймворков (Laravel, Symfony, Yii) и обширному опен-сорсу он остаётся выбором №1 для быстрого вывода приложений. При этом сообщество в основном концентрируется на классических уязвимостях (SQL-инъекции, XSS, CSRF, LFI/RFI). Тонкие особенности интерпретатора, малоизученных расширений и встроенных механизмов нередко остаются вне поля зрения. В этой статье мы подробно рассмотрим малоизвестные опасности и способы защиты от них.

 

Читать далее

Как ломали самый известный в мире код

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.3K

35-летняя сага о Kryptos, загадочной скульптуре с четырьмя зашифрованными сообщениями, расположенной перед штаб-квартирой ЦРУ, только что приняла странный поворот. Первые три отрывка криптографы разгадали уже в 1990-х годах, всего через несколько лет после того, как художник Джим Санборн установил медный монолит. А вот четвёртый отрывок, известный как K4, оставался неприступной крепостью, состоящей из 97 символов, 35 лет — вплоть до 2 сентября, когда журналисты Джаретт Кобек и Ричард Бирн обнаружили ответ в архивах Смитсоновского института.

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

Читать далее

Поднимаем внутренний мессенджер и VoIP-сервер без нарушения законодательства

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров5.5K

Cейчас, когда связь с внешними сервисами работает с перебоями, а самым стабильным международным способом созвониться теперь является, внезапно, Steam, VoIP которого точно не блокируется, возникает резонный вопрос: а как коммуницировать хотя бы в рамках собственной компании? Особенно с учетом того, что Discord давно и надежно заблокирован, Slack с рынка ушел, а популярные публичные мессенджеры замедляются или рискуют отправиться в бан? Решение очевидно: поднимать собственные текстовые и VoIP-сервера, о чем мы и поговорим в статье на примере связки Matrix и Jitsi.

Читать далее

Динамические группы проксируемых серверов в Angie

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров783

Современная инфраструктура приложений динамична и требует гибкости от конфигурации ключевых элементов. В этой статье мы разберём все варианты реализации динамических групп серверов (upstream) в Angie. С помощью этих методов вы сможете изменять состав и статус серверов без вмешательства в конфигурацию Angie. 

Читать далее

Пять лет спустя: почему мы всё переписали с нуля

Время на прочтение8 мин
Количество просмотров4.5K

Пять лет назад на Хабре мы писали о Web Camera Pro — и казалось, что впереди только апдейты, оптимизации и новые функции. За это время изменилось многое — и не только в технологиях, но и в законодательстве.

Как мы наступили на те же грабли

Когда в 2015 году мы начинали разработку системы для видеонаблюдения, Qt 5 казался идеальным решением. На первый взгляд всё выглядело просто: берём готовые библиотеки, оборачиваем в красивый интерфейс, добавляем AI-аналитику — и готово.

На Qt было создано множество известных программ для видеонаблюдения, и мы — как и десятки команд по всему миру, поверили в его универсальность.

“Один фреймворк, любая платформа” — звучало как музыка.

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

Qt позволял быстро собрать прототип, но, когда речь заходила о стабильности, о 24/7-нагрузке, о реальной работе с потоками и камерами, его недостатки становились критичны.

Читать далее

Как мы воскресили русский NLP и сократили потребление памяти на 90%

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров2.2K

Как мы воскресили русский NLP и сократили потребление памяти на 90%

Форкнули четыре ключевых библиотеки русского NLP (pymorphy, razdel, slovnet, natasha), которые не обновлялись годами. Сократили потребление памяти на 90%, ускорили загрузку в 30 раз, повысили точность токенизации с 70% до 95%. Всё работает offline, 100% совместимо с оригинальными API. Экосистема MAWO — production-ready инструменты для работы с русским текстом.

Помните ли вы тот момент, когда открываешь проект для обработки русского текста и видишь знакомую картину? В requirements.txt красуется pymorphy2, последний коммит в репозитории датирован 2015 годом, Python 3.12 ругается на deprecated методы, а production ждать не будет. Знакомо? Тогда эта история для вас.

Читать далее

Open source-стратегии: как МойОфис развивает открытый подход — рассказывает Тамара Щепалкина, CTO компании

Время на прочтение11 мин
Количество просмотров2.7K

Делюсь разговором с Тамарой Щепалкиной, техническим директором МойОфис. В интервью — подробный разбор открытого подхода, реализуемого компанией.

Читать далее

GPS-мониторинг выездных сотрудников: посчитать, ускорить, не оставить в беде

Время на прочтение12 мин
Количество просмотров690

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

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

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

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

Поставляя компаниям CRM-системы, мы видели, что компании нуждаются в хорошем комплексном решении для управления выездными сотрудниками. Так появился наш GeoMonitor, о котором мы сегодня расскажем максимально подробно.

Читать далее

Нейро-дайджест: ключевые события мира AI за 1-ю неделю ноября 2025

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров793

Привет! Это новый выпуск «Нейро-дайджеста» — коротких и полезных обзоров ключевых событий в мире искусственного интеллекта и технологий.

Неделя выдалась насыщенной: Qwen3-Max получила ризонинг, открытые модели догоняют закрытые, среди LLM проводят турнир по покеру, ИИ-релизы от Canva и обновление Cursor 2.0. Массовый хейт рекламы Coca-Cola, ИИ-инференс от Дурова и домашний робот NEO.

Всё самое важное — в одном месте. Поехали!

Читать дайджест →

Когда свет начинает думать: путешествие в мир оптических вычислений

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

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

Читать далее

Кому нужен Graphviz, если можно написать его самому?

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров4.8K

Недавно мы переделали наши внутренние инструменты, визуализирующие компиляцию JavaScript и WebAssembly. При работе оптимизирующего компилятора Ion мы теперь можем генерировать интерактивные графы, демонстрирующие, как конкретно обрабатываются и оптимизируются функции.

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

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

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

Читать далее

MapStruct: как безобидный метод портит весь маппинг

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров758

При работе с MapStruct возникает соблазн добавлять небольшие вспомогательные методы прямо в ваш mapper и вызывать их через expression. Однако если такой метод оперирует довольно общими типами (например, String -> String), MapStruct может обнаружить его и применить к другим полям того же типа — даже если вы этого не планировали.

Читать далее

Ближайшие события

Java Digest #30

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров1K

Всем привет! 👋👋👋👋👋

Мы Java-разработчики Т-Банка: Андрей, Арсений, Роман, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

Октябрь выдался интересным: JDK 26 приносит поддержку HTTP/3, Vector API снова в инкубации, а Swing внезапно обзаводится своим DatePicker — да, 2025-й, а Swing жив! Разработчики обсуждают Leyden и GPU-ускорение для Java-ИИ, а Oracle чинит 15 уязвимостей. В статьях свежие оптимизации ZGC, разбор виртуальных потоков, Jackson 3, Kafka Queues и немного философии про «хороший вкус» в разработке. А под конец релизы, от JUnit 6 до Spring 6.2.12. Заваривайте кофе, обновляйтесь до JDK 25 и читайте. Поехали 🚀

Читать далее

Реставрация, которая меня сломала: Почему убрать смех из Скуби-Ду сложнее, чем сделать ремастер Тома и Джерри в 2к

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров5.7K

Наверняка многие из вас с теплотой из детства вспоминают «Скуби-Ду, где ты!» 1969 года. Я тоже был в вашем ряду, однако я решился пересмотреть. И внезапно закадровый смех, который и сейчас то даже в ситкомах считается «артефактом древности», налеплен на детективный, комедийный мультик. Мне это очень сильно начало ломать впечатление от просмотра, — невозможно выстоять, когда каждые полминуты из 20 минут серии по поводу и без повода тебе указывают «где смеяться».

Так и начался мой личный ад на целый месяц, сподвигнутый наивным, но сильным желанием — сделать идеальную версию Скуби-Ду, такую, какую я помнил из детства.
История же эта обернулась гораздо серьёзнее, чем нажать на кнопку «удалить закадровый смех» в Adobe Premiere Pro.

Узнать, что пошло не так

Эмуляция «тетриса» Apollo из 90-х и запуск кода на оригинальном железе

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

В этой статье я расскажу о микроконтроллерах Sunplus с ядром 6502 которые использовались в популярных в 90-е «тетрисах» Apollo, а также об их эмуляции. Отдельно опишу способ запуска своего кода на этих играх и в частности проигрыватель «Bad Apple!!», крупнопиксельный кадр из которого показан на КПДВ.

Читать далее

Зал Славы видеоигр: зачем мы это делаем

Время на прочтение6 мин
Количество просмотров1.4K

История отечественного геймдева – это история энтузиастов, инженеров и художников. Она полна блистательных побед и горьких неудач, гениальных прорывов и забытых провалов. И эта история заслуживает того, чтобы ее не просто помнили, но и чествовали. Для этого в 2023 году был создан Зал Славы видеоигровой индустрии России – проект, который помогает сохранить наше цифровое наследие и отдать дань уважения тем, кто геймдев создавал. 

Какую роль играют видеоигры для России? Зачем популяризировать российские проекты? Как работает Зал Славы видеоигровой индустрии? Обсудим в этой статье. А в комментариях пишите, кто внес наибольший вклад в отрасль!

Читать далее

А кто у вас отвечает за kube-api? Безопасность Kubernetes при помощи CIS Benchmark

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

Kubernetes в IT-инфраструктуре — это не просто про удобство деплоя. Это критическая часть сервиса. Одна неправильная настройка kube-apiserver или etcd — и вместо кластера вы получите бублик с дыркой, через который утекут и данные, и бизнес-процессы.

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

Читать далее

Почему я отказался от ORM в пользу чистого SQL

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров8.7K

Во время выполнения очередного проекта мне пришлось работать с Битрикс ORM, при этом параллельно в системе был инстанс Laravel. Две разные ORM работали с единой базой данных. Не буду вдаваться в причины, по которым был выбран такой подход, и воздержусь от его оценки. Суть в том, что мне приходилось одновременно работать с двумя принципиально разными системами. Этот опыт привел меня к фундаментальному выводу: ORM — не для меня.

Почитать мнение

Почему операционный усилитель — плохой компаратор

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров6.6K

Одна из важных задач микроконтроллерных проектов — это обработка аналоговых сигналов и сравнение их значений с некоторым опорным напряжением. Для согласования уровней напряжения можно использовать операционные усилители (ОУ), а для сравнения — компараторы.

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

Если вы начали свое знакомство с электроникой на Arduino и хотите продолжить погружение в мир аналоговой схемотехники, предлагаю разобраться чем отличаются логические схемы и операционные усилители, и почему не стоит использовать ОУ в качестве компаратора.

Погрузиться в мир аналоговой схемотехники
1
23 ...