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

TGINSIGHT SIMILAR POSTS

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

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

Python + bash Если вам часто требуется запускать shell команды из Python-кода, какой способ вы используете? Самый низкоуровневый это функция os.system(), либо os.popen(). Рекомендованный способ это subprocess.call(). Но это всё еще достаточно неудобно. Советую обратить своё внимание на очень крутую библиотеку sh. Что она умеет? 🔸 удобный синтаксис вызова команд как функций # os import os os.system("tar cvf demo.tar ~/") # subprocess import subprocess subprocess.call(['tar', 'cvf', 'demo.tar', '~/']) # sh import sh sh.tar('cvf', 'demo.tar', "~/") 🔸 простое создание функции-алиаса для длинной команды fn = sh.lsof.bake('-i', '-P', '-n') output = sh.grep(fn(), 'LISTEN') в этом примере также задействован пайпинг 🔸 удобный вызов команд от sudo with sh.contrib.sudo: print(ls("/root")) Такой запрос спросит пароль. Чтобы это работало нужно соответствующим способом настроить юзера. А вот вариант с вводом пароля через код. password = "secret" sudo = sh.sudo.bake("-S", _in=password+"\n") print(sudo.ls("/root")) Это не все фишки. Больше интересных примеров смотрите в документации. Специально для Windows💀 юзеров #libs#linux

Hashtags

Резултати

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

Пребарај: #kmp

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

@android_broadcast · Post #9635 · 01.11.2025 г., 08:31

🏝🤖 На сайте Android Developers обновили материалы по Kotlin Multiplatform: 👉 Обновили главную страницу 👉 Появился базовый курс по KMP (бесплатный) 👉 Обновленные руководство по использованию Jetpack библиотека с поддержкой KMP #android#kmp

Hashtags

Android Broadcast

@android_broadcast · Post #9076 · 08.05.2025 г., 13:55

📹Android Developers Backstage 215. KMP. Have your code and eat it too Software Engineers Dustin Lam и Yigit Boyar присоединяются к ведущему Tor Norbye, чтобы обсудить Kotlin Multiplatform (KMP). 0:00 - Введение 0:29 - Что такое KMP: не новый продукт, а Kotlin с новыми возможностями 3:20 - Зачем нужен KMP: преимущества и цели 6:17 - KMP vs. другие кроссплатформенные фреймворки 6:41 - Общая бизнес-логика — основной сценарий использования 9:18 - Практическое внедрение: превращение Android-приложения в KMP 13:15 - Работа с платформо-специфичными зависимостями 28:56 - Поддержка библиотек в Kotlin Multiplatform 35:56 - Developer Experience: инструменты и интеграция 40:16 - Совместимость с iOS: как добиться взаимодействия 42:51 - KMP в действии: как Google использует эту технологию 47:17 - Долгосрочное видение и потенциал KMP 51:30 - Консистентность поведения vs. нативная производительность 55:32 - Попробуйте KMP и присоединяйтесь к разработке! #android#kmp

Hashtags

Android Broadcast

@android_broadcast · Post #9015 · 27.04.2025 г., 04:58

Reanimator - простоя библиотека для Jetpack ViewModel (с поддержкой KMP) для работы с состоянием. Подробный разбор в статье (EN,11м) или альтернативной ссылке @Serializable data class MyUiState( // Persistent val data: List<String> = emptyList(), val selectedItem: String? = null, // Transient val isLoading: Boolean = false, val error: String? = null ) class MyViewModel(private val savedStateHandle: SavedStateHandle) : ViewModel() { // Define which properties are transient private val transientProps = listOf("isLoading", "error") // Declare your state flow - Reanimator handles the rest! private val _uiState by savedStateHandle.getMutableStateFlow( defaultValue = MyUiState(), // Initial/default state coroutineScope = viewModelScope, // Scope for saving changes transientProperties = transientProps // What NOT to save // key = "custom_state_key" // Optional: custom key ) val uiState: StateFlow<MyUiState> = _uiState.asStateFlow() // ... rest of your ViewModel logic ... fun updateData(newData: List<String>) { // Just update the state - Reanimator saves persistent parts automatically _uiState.update { it.copy(data = newData, isLoading = false) } } } #android#kmp

Hashtags

Android Broadcast

@android_broadcast · Post #9161 · 20.05.2025 г., 21:07

🚀Вышел Jetpack Window Manager 1.4 - библиотека для работы с разными форматами устройства и несколькими окнами с поддержкой KMP Что нового в свежей версии: 👉 Улучшения Activity Embedding 👉 Улучшения API WindowMetrics 👉 Улучшили API для тестирования #jetpack#kmp

Hashtags

Android Broadcast

@android_broadcast · Post #9073 · 08.05.2025 г., 05:36

📹Compose/iOS готов к продакшену? Прямой эфир с ответами на вопросы Когда: четверг, 8 мая, 18:30 (GMT+3) Буквально вчера вышел Compose iOS Stable и конечно же открывает возможности Android разработчиками по написанию мобильных приложений под обе платформы. Но всё ли так сладко, как заявляет JetBrains? Будем разбираться в этом с экспертом кто уже познал прелести продакшена! 👨‍💻 Эксперт - Никита, фуллстек Kotlin разработчик, автор проектов FlowMVI и respawn.pro. При анонсе Compose iOS Stable, его приложение было в официальном анонсе 🔥 👨‍💻 И еще одни эксперт - Чикишев Тимур, Senior Android разработчик в KTS. Начал пробовать Compose iOS еще до официального релиза. Успел адаптировать Android приложение с Compose на iOS, буквально на этой неделе сделали релиз Задавайте свои вопросы в комментариях к посту, чтобы они были заданы на эфире #android#compose#kmp

Android Broadcast

@android_broadcast · Post #8637 · 05.02.2025 г., 07:04

Вышел Coil 3.1.0 - популярный загрузчик картинок с поддержкой KMP 👉Улучшили производительность AsyncImage: скорость работы стала лучше на 25-40%, а потребление памяти - на 35-48% 👉 FakeImage теперь deprecated 👉 Появился ColorImage - полезен для возвращения фейковых значений в тестах и для Compose превью 👉 coil-compose-core больше не зависит от Dispatchers.Main.immedate, что позволило исправить баги в работе Paparazzi и Roborazzi 🛠 Множество других исправлений и улучшений API #kmp#android#compose

Android Broadcast

@android_broadcast · Post #9979 · 04.05.2026 г., 05:43

🤯 Те кто использовал Jetpack Paging 3 знают насколько он может справиться только с базовыми сценариямми. Шаг влево или вправо - уже боль! Сегодня хочу познакомить вас с альтернативой — библиотекой 🐱Paginator. Это KMP-решение для пагинации, которое решает те самые проблемы, где Paging 3 начинает "буксовать". Paginator построен на отличной модели от Jetpack Paging 3: страница — это адресуемая ячейка в кэше, кэш — обычная структура данных, а навигация — обычные методы. 1️⃣✅ Адресуемые страницы Прямые методы goNextPage(), goPreviousPage() и jump(Bookmark). Deeplink на сообщение из пуша решается одной строкой. 2️⃣✅ Мутации по запросу MutablePaginator предоставляет CRUD-операции: replace { it.id == 42 }, removeWhere { it.deleted }. Один лайк меняет один элемент без инвалидации всей страницы. 3️⃣✅ Сохраняемое состояние Кэш — обычная структура данных, которую можно сериализовать через kotlinx.serialization. Методы serializeToJson() и restoreFromJson() решают проблему Process Death без плясок с бубном. 4️⃣✅ Библиотека, а не фреймворк Написан на чистом Kotlin без платформенных зависимостей и живёт в commonMain. Логика пагинации становится частью общего доменного слоя KMP, не копируется между платформами и не имеет двух реализаций. 5️⃣✅ Курсорная пагинация "из коробки" Отдельный класс CursorPaginator с единой моделью состояний, транзакций и сериализации. Paginator — это не обёртка над Paging 3. Это другая модель, переосмысливающая ключевые типы. Обёртка просто не смогла бы дать ни мутации элемента, ни сериализации кэша. 🔗Оригинальная статья на Хабре 🐱Репозиторий Paginator #Android#AndroidDev#KMP

YuKongA | Channel

@YuKongA13579 · Post #1846 · 03.02.2026 г., 10:28

最近发现有不少新人因为 miuix 库来尝试 KMP/CMP 跨平台项目。我必须声明一点,对比其他耳熟能详的跨平台方案,KMP/CMP 并不是一个 API 成熟的、积极维护的、社区活跃的项目,也没有丰富的社区资源和解决方案。 我写这个 ui 库单纯只是因为第一个接触的语言是 Kotlin、第一个接触的声明式 UI 是 Compose,而它现在刚好支持跨平台。 如果你没有解决 KMP/CMP 本身各种问题的能力,或者甚至你只会 vibe coding,还是不要吃这个螃蟹了,Flutter、 Electron、 Tauri、RN 都会是更好的选择。 如果你是拿来写 Android/JVM only,那倒是基本上没什么问题。 #cmp#kmp#misc

YuKongA | Channel

@YuKongA13579 · Post #936 · 17.08.2024 г., 15:22

换用最新写的 miuix ui 的极简版本 相比原本去掉了扩展设置(灵动脑门支持,手动深浅色切换)、关于页面。可以说是非常简洁了。 要说新增的话,就是多了 ui 带的特性,越界回弹和顶栏模糊吧。 #Updater#KMP#MIUIX

Android Broadcast

@android_broadcast · Post #9349 · 21.07.2025 г., 12:06

🤯Команда Anvil решила прекратить развитие проекта в пользу другого решения Anvil - Kotlin плагина для расширения возможностей Dagger 2 и упрощения работы с ним решили прекратить развивать. Коллега автором решения сделал Metro и компания будет переходить на него и участвовать в его развитии. Metro - это compile-time DI фреймворк с поддержкой KMP, который вдохновлялся Dagger, Anvil, Kotlin-Inject. #di#kmp

Hashtags

123•••56
ПретходнаСтраница 1 од 6Следна