Мастерская 2/4
Несколько лет назад я делал систему хранения для инструмента на домашних станках. Параллельно смотрел, что предлагает рынок, и тогда же купил пермский набор ToolBoard. Так он и лежал до лучших времён.
Времена настали, у меня появилась мастерская, и я пустил набор в дело. Надо сказать, система очень хорошо продумана, чувствуются десятки тестов и подборов лучших форм. Конечно же, она во всем, кроме цены, превосходит мою домашнюю поделку. Основания с ячеистой сеткой под восьмигранные крепежи. Самих крепежей несколько видов, да и ставить их можно разными способами. Поэтому получается компактно и ровно вешать абсолютно всё: от тяжёлого перфоратора до тоненьких маленьких сверлышек.
Надо сказать, сообщество 3D-печатников не стояло на месте, и с тех пор появились готовые опенсорсные проекты печатных систем под ту же задачу. Тоже очень впечатляющие. Но до ToolBoard всё ещё далеко. Моё почтение авторам, насколько там всё круто и до мелочей рассчитано. Взять хотя бы тот факт, что при соединении элементов сетки головка самореза аккурат распирает крепёжный зажим так, чтобы зафиксировать его в пазу. А крючки сделаны волнистыми не просто так — между ними можно зажимать небольшие цилиндры, такие, как стержень маленькой отвёртки.
Чтобы разместить это дело, не повредив дизайн помещения, мне пришлось напечатать хитрые крепления для листа крашеной фанеры. Такие, чтобы они упирались в рейки, но прижимались винтами между ними в стену. И выдерживали десятки килограммов веса, конечно. Не могу придумать способ, как эту задачу решать без 3D-принтера. Из дерева вырезать? Комплекс станков для такой работы будет дороже принтера и займет больше места.
На доске минимально типовой инструмент для любого дома + чуть-чуть специфических вещей для электрики. Тут нет многого, но основное вроде всё учёл.
#diy#life#окр
Как мы ускорили работу с базой данных в Android-приложении (11м)
Разработчик поделился опытом, какие практики применялись для ускорения работы с SQLite в Android: неоптимальные обращения к БД в циклах и их последствия. Также не стоит хранить JSON-объекты в виде строк в БД (это кажется слишком очевидным).
Команда столкнулась с этими проблемами, объяснила, почему это плохо, и как можно исправить ситуацию, чтобы производительность приложения не снижалась из-за обращений к БД.
#android#sqlite#производительность
🤖Скрытые угрозы Room: почему база тормозит и как это исправить
Важные советы всем кто используют Room, чтобы база работала быстро:
👉Индексы — ваши лучшие друзья: без них запросы деградируют до O(n)
👉Транзакции важны: SQLite разработан для эффективной пакетной обработки
👉Разбиение на страницы крайне важно: никогда не пытайтесь одновременно обрабатывать тысячи строк
👉Режим Write-Ahead Logging (WAL) критически важен, особенно для параллельных операций чтения и записи
👉Настраивайте схему БД для практической производительности, а не только для академической нормализации
Больше полезных советов в статье
#android#room#sqlite
Выполнение запросов SQLite на множестве потоков может привести к замедлению вашего приложения🤯
Разработчик делает классный разбор того, как работают запросы SQLite в Android и как их оптимизировать. Статья - параллельность в Android SQLite (EN,11м)
Основные выводы:
👉 Используйте забандленную версию SQLite (добавит около 1 Мб за каждый ABI)
👉 Если работает с несколькими БД через ROOM, то задавайте CoroutineContext или Executor для выполнения запросов
👉Больше полезного в статье, почитай. Она того стоит
#android#room#sqlite#jetpack
📹 В Jetpack Room есть возможность использовать не встроенный в Android ОС SQLite, а вместо этого использовать самую свежую версию (вес около 1 МБ для каждого ABI).
Это позволит использовать единую версию SQLite на всех устройствах и получать преимущества в скорости работы от новых функций. Причем эта возможность доступна для всех поддерживаемых платформ, которые поддерживает Room: Android, iOS, Desktop.
📹Доклад с Droidcon от гуглера о том, как это сделать (EN, 15м)
🔗Подробности в документации
#android#sqlite#room#jetpack
🚀 Вышел Room 2.7.0-alpha13
Библиотека мигрирует на Kotlin 2.0+ и весь проект должен будет тоже использовать её. Хотите KMP - точно надо будет мигрировать на Kotlin 2.0
Это последний альфа релиз и дальше будет Beta и уже совсем скоро релиз.
#android#kmp#jetpack#jetpackupdate#sqlite
🗜 In search of a faster SQLite - ребята взяли и переписали SQLite на Rust и утверждают, что смогли добиться серьёзного прироста в производительности при сохранении совместимости с SQLite непосредственно.
Проект называется Limbo, вот здесь о нём можно почитать подробнее...
- Статья: https://avi.im/blag/2024/faster-sqlite/
- Github: https://github.com/tursodatabase/limbo
#sqlite#напочитать#limbo
🚀 Вышла первая Beta версия Room 2.7.0. Самое важное нововведение - переход на KMP с поддержкой Android, iOS и Desktop 🔥🔥🔥. Также на Android теперь можно использовать SQLite из артефакта, а не только тот что в Android ОС
#android#kmp#jetpack#room#sqlite
🚀 Вышел Jetpack Sqlite 2.5.0 с поддержкой KMP и добавлением абстракция над реализация SQLite в платформе или вовсе поставлять реализацию SQLite вместе с вашим приложением, чтобы всегда иметь самую свежую версий движка БД.
#sqlite#jetpack#android#ios#desktop