habrahabr
Циркуль и линейка. Часть 1

Всем привет! Как-то раз мне захотелось сделать анимацию построения фигуры циркулем и линейкой. Немного погуглив, обнаружил, что на английском compass это ещё и циркуль, и что подходящего готового решения нет. Всё дальнейшее вылилось в эту статью.Тестовый вариант анимацииКороткое предисловие Статью я разделил на две части. В первой — реализация циркуля и линейки, а во второй уже создание анимации на основе написанных классов.Сразу проясню некоторые моменты. Писать я буду на python, потому что н…

  • понедельник, 18 сентября 2023 г. в 00:00:27
habrahabr
Zigbee датчик влажности почвы с E-Ink дисплеем eFlora

Приветствую всех читателей Habr! Хочу показать и рассказать вам об одном из своих проектов, это небольшой и симпатичный датчик влажности почвы с небольшим экраном на электронных чернилах. Датчик работает от батарейки, умеет отправлять данные по воздуху по протоколу Zigbee в вашу систему умного дома. Данный проект — это дальнейшее развитие другого моего DIY ардуино проекта датчика влажности почвы. Устройство было переработано, в сравнении с первоначальным проектом, как по железу, так и по со…

  • понедельник, 18 сентября 2023 г. в 00:00:26
habrahabr
Линейный код более читаем

Бунтарём себя можно считать только тогда, когда люди на самом деле защищают противоположную вашей позицию. Я не согласен с одной из best practices, недавно представленной в Google Testing Blog . Обычно это очень хороший ресурс, ведь этот пост не случайно попал в мою читалку новостей!Авторы представили две версии функции и спросили, какая из них более читаема.createPizzaМожно сразу заметить, что подача немного пристрастна. В дополнение к очевидному цветовому перекосу авторы заменили часть кода …

  • понедельник, 18 сентября 2023 г. в 00:00:25
habrahabr
Парольные менеджеры 2023 года: что нового?

С каждым годом хакеры становятся всё изощреннее в методах отъёма честно нажитого у пользователей интернета. Поэтому нужно всегда быть начеку и заботиться о защите своих персональных данных. Инструменты для этого известны: надёжное шифрование и защищённый парольный менеджер, внутри которого хранятся секреты, а пароль доступа знаете только вы (плюс дополнительная аппаратная защита через 2FA). Посмотрим, что нового появилось в этой области за последнее время. А посмотреть есть на что. Примеча…

  • понедельник, 18 сентября 2023 г. в 00:00:24
habrahabr
Почему мой любимый API — это файл zip на сайте Европейского центрального банка

Скриншот терминала, запрашивающего файл csv в вебеКогда был максимальный курс доллара к евро?Вот небольшая программа, вычисляющая это:curl -s https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.zip \ | gunzip \ | sqlite3 -csv ':memory:' '.import /dev/stdin stdin' \ "select Date from stdin order by USD asc limit 1;"Результат: 2000-10-26. (Можете попробовать запустить её самостоятельно.)Как это работает:Строка с curl скачивает официальные исторические данные о курс…

  • понедельник, 18 сентября 2023 г. в 00:00:24
javascript
JavaScript триггеры и функции появились в Redis 7.2

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

  • понедельник, 18 сентября 2023 г. в 00:00:20
javascript
Как сделать свой UI Kit на Vue 3 + storybook и задеплоить его на npm

Сейчас очень популярная история создавать свой UI Kit и везде рассказывать какой он крутой и как он ускорил разработку, поэтому я решил написать небольшой гайд, как заиметь себе собственный UI Kit.А зачем он вообще нужен ?Зачем?Это удобно и быстро, все компоненты лежат в одном месте.Несколько команд могут удобно его использовать, не прибегая к технике ctrl + c -> ctrl + v.Новые изменения сразу актуализируются во всех проектах.Можно прикрутить Storybook и показать менеджерам, как вы умеете x…

  • понедельник, 18 сентября 2023 г. в 00:00:20
github
JetBrains / compose-multiplatform

Compose Multiplatform, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable. Compose Multiplatform Compose Multiplatform is a declarative framework for sharing UIs across multiple platforms with Kotlin. It is based on Jetpack Compose and developed by JetBrains and open-source contributors. You can choose the platforms across which to share your UIs using Compose Multiplatform: iOS (Alpha) Android (via Jetpack Compose) Desktop (Windo…

  • понедельник, 18 сентября 2023 г. в 00:00:17
github
DroidKaigi / conference-app-2023

The Official Conference App for DroidKaigi 2023 DroidKaigi 2023 official app DroidKaigi 2023 will be held from September 14 to September 16, 2023. We are developing its application. Let's develop the app together and make it exciting. Features This is a video of an app in development, and it will be updated as needed. dark2.webm Try it out! Android Development version You can test the development app through DeployGate. iOS Beta version of th…

  • понедельник, 18 сентября 2023 г. в 00:00:13