-
Это уже третья статья из этой серии, предыдущие можно найти по ссылкам.Flipper на минималках. Как мы делаем устройство для чтения и эмуляции ключей от домофонов…Проект «Мультиключ». Как мы побеждали контактные ключи Metacom и CyfralНикак не доходили руки до написания этой…
-
«Основы Dart: Community edition» 1-е издание
Привет, Хабр!Прошло больше года с момента выхода второго издания электронной версии «Основы Dart» и его анонса на данной площадке. За это время книга успела разжиться печатной версией (издательство «Питер»), парочкой дополнительных глав и сквозным проектом. Меня много раз спрашивали по…
-
Зашифруй или проиграешь: реальные истории провалов из-за слабой криптографии
Вы думаете, что данные защищены, потому что «все зашифровано»? Взломы из-за криптографии — это не про хакеров в черных худи с суперкомпьютерами. Чаще всего причина — простая халатность: кто-то включил TLS, но забыл отключить SSL 3.0, кто-то шифровал пароль, но…
-
Машинное обучение в Apache Spark с помощью MLlib
Apache Spark содержит в себе множество различных библиотек, среди которых есть библиотека MLlib, предназначенная для машинного обучения. В ее состав входят различные алгоритмы машинного обучения и она может использоваться во всех языках программирования, поддерживаемых фреймворком Spark. В этой статье мы покажем вам, как использовать эту библиотеку…
-
ChatGPT vs Гик. Сможет ли AI заменить опытного верстальщика?
Привет, Хабр. Моя подруга постоянно читает новости о том, что искусственный интеллект заменит какую-то профессию. Тестировщик, программист, дизайнер, писатель и т. д. А сможет ли он заменить опытного верстальщика? Мне стало интересно, сможет ли ChatGPT написать код, как я. Чтобы…
-
Делаем ландшафт на основе реальных данных
Пятигорск (фотография и рендер)Я долгое время занимаюсь построением 3D копий городов в проприетарном игровом движке на основе картографических данных. Суммарно это сложная задача, успех выполнения которой заключется в решении небольшого набора больших проблем. Одной из таких проблем является отрисовка точного…
-
Мастерство фокусов на Compose (часть 2): как работает запрос фокуса
Привет! Меня зовут Костя, я Android-разработчик в онлайн-кинотеатре PREMIER. В процессе работы над проектом PREMIER для Android TV я столкнулся с тем, что в Jetpack Compose механизм фокусов — достаточно сложная и неочевидная тема. А информации в интернете об этом…
-
Оптимизация производительности кода — это тяжёлый труд
Я не говорю о навыках или о знаниях, равно как и не пытаюсь внушить миру идею о необходимости оптимизации производительности. Наш мир и без этого поставил во главу угла ускорение всего и вся. Оптимизация производительности кода — это тяжёлый труд…
-
Cервисы в Android
Под ОС Android можно разрабатывать приложения различного уровня сложности от простых оконных игр до довольно сложных системных приложений. Сервисы являются достаточно распространенным типом приложений и в этой статье мы поговорим о том, какие сервисы бывают и как их можно написать. Сервис или служба — это компонент приложения, который может…
-
Rust: как не утечь в Rc<RefCell
Привет, Хабр!Сегодня рассмотрим проблемную тему в Rust: управление владением в структурах с циклическими ссылками, таких как графы и деревья. Особое внимание уделим комбинации Rc<RefCell<T>> и тому, как избежать зацикливания с помощью Weak.Проблема: зацикливание владенияНа простом: есть два объекта. Один ссылается на другой. Второй — на первый. Оба используют Rc. Всё…