Воттоваара — хорошее место для первой в вашей жизни горной экскурсии. Там всего по чуть-чуть: чуть-чуть подъёма (максимальный уклон градусов 60 от горизонта), чуть-чуть горной тропы (длина пути до верха около 2км), чуть-чуть высоты (417 метров). Хардкорные трекеры и хайкеры преодолевают такие участки одной ногой, не прекращая завтрак. Но неподготовленный человек сможет понять, есть ли для него смысл пытаться идти в какие-то более сложные горы.
Даже "заброс" на гору есть. Но если в больших горах это вертолёт или вездеход по болоту, то здесь вас около часа везут на внедорожнике через камни и лужи метровой глубины. Да, обычный автомобиль (даже кроссовер) там не пройдёт совершенно никак, нужен высокий, полноприводный и обязательно со шнорхелем. Но это всё равно более доступная территория, чем какое-нибудь Плато Путорана, куда вообще не рекомендуют соваться туристам без хорошего опыта пеших походов.
Впрочем, тут ироничный момент. База отдыха на подъезде живёт исключительно на туристах, которые хотят посетить Воттоваару. Теоретически она могла бы проспонсировать если не асфальтирование, то хотя бы проход грейдера по "дороге" и присыпку грунтом: это существенно уменьшило бы степень опасности для людей и степень износа техники, а также значительно подняло бы удобство и скорость доставки. Но тогда люди могли бы добраться на своих машинах и не брать на базе дорогой трансфер. Думаю, в какой-то момент и внедорожники потеряют способность проезжать там, нужен будет гусеничный вездеход.
Прикольно, что, чем выше идёшь, тем ниже деревья. Гора как бы награждает тебя за усилия всё более красивыми и просторными видами. В целом территория будто бы инопланетная. Очень странно себя там чувствуешь — ты словно и не на Земле уже, и вообще не в реальности, а внутри какого-то странного рисунка.
#travel
Как мы ускорили работу с базой данных в 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