One framework for creating powerful cross-platform games.MonoGame MonoGame is a simple and powerful .NET framework for creating games for desktop PCs, video game consoles, and mobile devices using the C# programming language. It has been successfully used to create games such as Streets of Rage 4, Carrion, Celeste, Stardew Valley, and many others. It is an open-source re-implementation of the discontinued Microsoft's XNA Framework. Build Status Supported Platforms Support and Contribution…
Всем привет! Как-то раз мне захотелось сделать анимацию построения фигуры циркулем и линейкой. Немного погуглив, обнаружил, что на английском compass это ещё и циркуль, и что подходящего готового решения нет. Всё дальнейшее вылилось в эту статью.Тестовый вариант анимацииКороткое предисловие Статью я разделил на две части. В первой — реализация циркуля и линейки, а во второй уже создание анимации на основе написанных классов.Сразу проясню некоторые моменты. Писать я буду на python, потому что н…
Приветствую всех читателей Habr! Хочу показать и рассказать вам об одном из своих проектов, это небольшой и симпатичный датчик влажности почвы с небольшим экраном на электронных чернилах. Датчик работает от батарейки, умеет отправлять данные по воздуху по протоколу Zigbee в вашу систему умного дома. Данный проект — это дальнейшее развитие другого моего DIY ардуино проекта датчика влажности почвы. Устройство было переработано, в сравнении с первоначальным проектом, как по железу, так и по со…
Бунтарём себя можно считать только тогда, когда люди на самом деле защищают противоположную вашей позицию. Я не согласен с одной из best practices, недавно представленной в Google Testing Blog . Обычно это очень хороший ресурс, ведь этот пост не случайно попал в мою читалку новостей!Авторы представили две версии функции и спросили, какая из них более читаема.createPizzaМожно сразу заметить, что подача немного пристрастна. В дополнение к очевидному цветовому перекосу авторы заменили часть кода …
С каждым годом хакеры становятся всё изощреннее в методах отъёма честно нажитого у пользователей интернета. Поэтому нужно всегда быть начеку и заботиться о защите своих персональных данных. Инструменты для этого известны: надёжное шифрование и защищённый парольный менеджер, внутри которого хранятся секреты, а пароль доступа знаете только вы (плюс дополнительная аппаратная защита через 2FA). Посмотрим, что нового появилось в этой области за последнее время. А посмотреть есть на что. Примеча…
Скриншот терминала, запрашивающего файл 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 скачивает официальные исторические данные о курс…
Как правило, приложения обрабатывают операции бизнес-логики, отправляя код для выполнения в базу данных. Это медленный процесс, поскольку код передается от клиента на сервер каждый раз, когда выполняется функция. Код, который используется для работы с одной и той же базой данных, может повторятся в разных приложениях, соответственно разработчик несет ответственность за поддержание согласованности этого кода в независимости от того, выполняет ли код простые запросы или сложные операции с данным…
Сейчас очень популярная история создавать свой UI Kit и везде рассказывать какой он крутой и как он ускорил разработку, поэтому я решил написать небольшой гайд, как заиметь себе собственный UI Kit.А зачем он вообще нужен ?Зачем?Это удобно и быстро, все компоненты лежат в одном месте.Несколько команд могут удобно его использовать, не прибегая к технике ctrl + c -> ctrl + v.Новые изменения сразу актуализируются во всех проектах.Можно прикрутить Storybook и показать менеджерам, как вы умеете x…
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…