TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #324 · 23 сеп.

Я нашел самый быстрый способ поднять свой независимый и бесплатный VPN Сразу оговорка, платить придётся только за хостинг. 1️⃣ Покупаем сервер где-то на просторах интернета. Конечно же сервер должен находиться за пределами страны. Например я закупился на https://eurohoster.org/ (не реклама). Проверяйте лимиты по трафику, в идеале - без ограничений. 2️⃣ Ставим docker sudo apt install docker.io Если удобней с DockerCompose то ставим и его sudo apt install docker-compose 3️⃣ Ставим WG-EASY Самый простой способ поднять сервис WireGuard c WebUI это проект wg-easy Код и документация здесь https://github.com/weejewel/wg-easy Запускаем контейнер: https://github.com/weejewel/wg-easy#2-run-wireguard-easy Для тех кто с DockerCompose, забираем файл здесь: https://gist.github.com/paulwinex/be87f79687b96786098ec8fa6a8e251c В обоих случаях потребуется поменять две переменные: WG_HOST - внешний статичный IP вашего сервера PASSWORD - придумайте пароль для WEB UI Остальные параметры указаны ниже на странице github https://github.com/weejewel/wg-easy#options 4️⃣ Ставим клиента Все доступные клиенты здесь https://www.wireguard.com/install/ Есть возможность добавить клиента в Network Manager для управления подключением через UI. Установка зависит от вашей системы, ищите мануалы в сети, их много. https://github.com/max-moser/network-manager-wireguard Скрипт установки для RasperryPi https://gist.github.com/paulwinex/c2c4090f19dbe8bd1253c5744f3f06e1 ЗЫ. Конечно же это не "самый простой" и далеко не единственный способ. А просто тот, который использую я сам. #offtop#linux

Резултати

Пронајдени 1 слични објави

Пребарај: #lifecycle

当前筛选 #lifecycle清除筛选
Android Broadcast

@android_broadcast · Post #9683 · 20.11.2025 г., 14:59

🚀Lifecycle 2.10.0 вышел в стабильной версии! Google выпустила мажорное обновление библиотек Lifecycle. Этот релиз сфокусирован на улучшении интеграции с Compose. ⚙️rememberLifecycleOwner для Compose Новый композабл позволяет создавать изолированные LifecycleOwner внутри UI. Идеально для компонентов, которым нужно независимое управление состоянием — например, для HorizontalPager, где только активная страница должна быть в состоянии RESUMED. @Composable fun MyComposable() { val lifecycleOwner = rememberLifecycleOwner( maxLifecycle = Lifecycle.State.RESUMED, parentLifecycleOwner = LocalLifecycleOwner.current, ) CompositionLocalProvider( LocalLifecycleOwner provides lifecycleOwner ) { // Дочерние композаблы теперь имеют собственный жизненный цикл } } 🚀 Интеграция с Navigation 3 Новый артефакт lifecycle-viewmodel-navigation3 предоставляет готовый декоратор для автоматической привязки ViewModel к отдельным экранам в Navigation 3. NavDisplay( backStack = backStack, entryDecorators = listOf( rememberSaveableStateHolderNavEntryDecorator(), rememberViewModelStoreNavEntryDecorator(), // Добавляем эту строку ), entryProvider = entryProvider { /* ... */ } ) Удобства для разработчиков: 👉 Идиоматичный Kotlin API для создания кастомных CreationExtras CreationExtras { this[MY_CUSTOM_KEY] = "myValue" } 👉 Метод savedStateHandle.saved() теперь нативно поддерживает nullable типы 👉Конструкторы SavedStateHandle помечены как @VisibleForTesting ⚠️ Важное изменение Повышение minSdk с API 21 до API 23 — убедитесь, что ваше приложение соответствует новым требованиям. #Jetpack#Lifecycle#Compose#Navigation#ViewModel#Kotlin