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

TGINSIGHT SIMILAR POSTS

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

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

Использование Pydantic сегодня стало нормой, и это правильно. Но иногда на ревью вижу, что используют его не всегда корректно. Например, метод BaseModel.model_dump() по умолчанию не преобразует стандартные типы, такие как datetime, UUID или Decimal, в простой сериализуемый для JSON вид. Тогда пишут кастмоный сериализатор для этих типов чтобы функция json.dump() не падала с ошибкой. import uuid from datetime import datetime from decimal import Decimal from uuid import UUID from pydantic import BaseModel class MyModel(BaseModel): id: UUID date: datetime value: Decimal obj = MyModel( id=uuid.uuid4(), date=datetime.now(), value='1.23' ) print(obj.model_dump()) # не подходит для json.dump # { # 'id': UUID('4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1'), # 'date': datetime.datetime(2025, 12, 12, 12, 12, 12, 111111), # 'value': Decimal('1.23') # } # добавляем свой кастомный сериализатор json.dumps(obj.model_dump(), cls=MySerializer) # { # 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1', # 'date': '2025-12-12T12:12:12.111111', # 'value': '1.23' # } В данном случае класс MySerializer обрабатывает datetime, UUID и Decimal. Например так: class MySerializer(json.JSONEncoder): def default(self, o): if isinstance(o, Decimal): return str(o) elif isinstance(o, datetime): return o.isoformat() elif isinstance(o, UUID): return str(o) return super().default(o) Специально для тех, кто всё еще так делает - в этом нет необходимости! Pydantic может это сделать сам, просто нужно добавить параметр mode="json". json.dumps(obj.model_dump(mode="json")) # { # 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1', # 'date': '2012-12-12T12:12:12.111111', # 'value': '1.23' # } #pydantic#libs

Резултати

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

Пребарај: #compose

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

@android_broadcast · Post #9948 · 06.04.2026 г., 18:22

HotSwan - быстрое обновление Composable на реальном устройстве. Доступно как плагин для Android Studio Я выбрал другой путь - делаю СMP проект с поддержкой Android + Desktop JVM и так можно быстро проверять + делать код чище. #Compose

Hashtags

Android Broadcast

@android_broadcast · Post #9688 · 24.11.2025 г., 06:11

⚙️ Команда Compose добилась плавности скрола как в View на Android. Источник тут #compose

Hashtags

Android Broadcast

@android_broadcast · Post #9517 · 19.09.2025 г., 06:02

⚙️ Нашел сайт с демонстрацией того как происходит рекомпозиция с примером хороших и плохих практик Как была сделана реализация написали в статье, а исходники есть на GitHub #compose

Hashtags

Android Broadcast

@android_broadcast · Post #9229 · 03.06.2025 г., 11:37

Серия статей с разборами лучших практик для Jetpack Compose: 1️⃣5 Core Optimizations Every Developer Should Know (EN, 5м, альт. ссылка) 2️⃣5 Advanced Techniques for Ultra-Smooth Apps (EN, 8м, альт. ссылка) 3️⃣The Expert’s Toolkit (EN, 8м, альт. ссылка) 4️⃣Runtime Mastery & Fine-Tuning (EN, 8м, альт. ссылка) #compose

Hashtags

Android Broadcast

@android_broadcast · Post #9138 · 16.05.2025 г., 03:43

⚙️ Нужно ли проставлять аннотации @Stable и @Immutable сразу при написании кода? 🤔 Мой ответ — НЕТ! Не стоит заниматься преждевременной оптимизацией. Пишите UI без оглядки на аннотации стабильности, а затем используйте инструменты анализа, чтобы определить, где действительно возникают лишние рекомпозиции и есть смысл оптимизировать типы. Как анализировать рекомпозиции и пропуски? 👉 Используйте Layout Inspector в Android Studio (подробнее — в этом посте) 👉 Включайте отслеживание работы composable-функций в System Trace 👉 Можно воспользоваться библиотекой Compose Investigator, чтобы получать детальные логи по рекомпозициям ‼️Важный нюанс: Если вы используете типы из внешних библиотек или из модулей, где не подключён Compose Compiler, такие типы всегда считаются Unstable. Это может приводить к лишним рекомпозициям. 🚀Strong Skipping Mode действительно упростил жизнь разработчикам, но старайтесь передавать в параметры Сomposable-функций только Stable или Immutable типы. Это позволит максимально эффективно использовать skipping и сделать UI более производительным. #compose

Hashtags

Android Broadcast

@android_broadcast · Post #9129 · 14.05.2025 г., 15:44

Вышел Coil 3.2.0 Что нового ⬆️ Обновление Kotlin, Compose, Okio, Skiko, Coroutines и др зависимостей до актуальных версий 🛠 Исправление багов 👉 Compose артефакты требуют Java 11 и выше из-за перехода на Compose 1.8.0 #compose

Hashtags

Android Broadcast

@android_broadcast · Post #9720 · 04.12.2025 г., 07:35

⚙️Вышел Jetpack Compose 1.10.0 👉 Стабильное API Shared Transition 👉 Оптимизированный скролл 👉 Новые подходы к сохранению данных при пересоздании Activity через ViewModel 🚀 Повышена производительность UI на Compose 🛠 Исправлено багов и шероховатостей Изменений действительно много — в один пост всё не поместить. Буду разбирать ключевые обновления по отдельности в следующих публикациях на @compose_broadcast✨ #compose#android

Android Broadcast

@android_broadcast · Post #9430 · 20.08.2025 г., 12:55

🤖 Как использовать Compose, чтобы сделать анимированный Splash Screen Разработчик создал библиотеку androidx-splashscreen-compose (не от Google решение), которая позволяет делать красивую анимацию как на анимашке. Подробный разбор и реализация есть в статье (EN,6м, альт. ссылка) или 🐱исходниках на GitHub #android#compose

Android Broadcast

@android_broadcast · Post #9412 · 14.08.2025 г., 07:17

⚙️Вышел Jetpack Compose 1.9 Stable (августа 2025) Главные новинки: 👉 Тени нового поколения — dropShadow() и innerShadow() дают больше контроля, чем классический shadow(). 👉 LazyLayout — новый API предзагрузки и кэширования элементов для более плавного скролла. 👉 2D-прокрутка — Scrollable2D для таблиц, карт и больших изображений. 👉 Расширенный stack trace — имена composable и их позиции для отладки в stacktrace (только в debug). 👉 Новые аннотации — @RememberInComposition, @FrequentlyChangingValue и перенос @Stable в отдельный модуль. Подробнее буду рассказывать в @compose_broadcast. Подписывайтесь! #compose#android

Android Broadcast

@android_broadcast · Post #9233 · 05.06.2025 г., 08:54

📹Mastering text input in Compose (EN, 18м) Google выпустили шикарное видео, где показали лучшие практики работы с текстовыми полями в Compose — с примерами, API и лайфхаками. В ролике разработчики на примере рассказывают: 👉 как использовать state-based TextField — новый подход к управлению вводом; 👉 зачем нужен SecureTextField и как задать требования к паролю; 👉 как работает Autofill API (да, теперь можно сохранять логины и OTP); 👉 как кастомизировать поле ввода OTP с помощью BasicTextField и decorator; 👉 как принимать GIF и изображения через drag & drop с новым contentReceiver; 👉 как использовать input/output трансформации для автоподстановки скобок и тире в номерах; #android#compose

Android Broadcast

@android_broadcast · Post #9003 · 24.04.2025 г., 09:06

⚙️ Вышел Jetpack Compose 1.8.0 Все новинки расскажу отдельными постами в @compose_broadcast, а именно: 👉 Autofill 👉 ресайзинг текста под контейне 👉 новое API для отслеживания Composable на экране 👉 анминирование границ Composable 👉 стабилизация API (убрали экспериментальные аннотации) 👉 ContextualFlowRow и ContextualFlowColumn теперь deprecated, им на замену используйте FlowRow и FlowColumn 👉 диалоги теперь учитывают режим экрана edge-to-edge 👉 упростили тестирование ClickableText 👉 появилась возможность кастомизации overscroll Свежий BOM для новых версий implementation(platform("androidx.compose:compose-bom:2025.04.01")) #compose#android

Android Broadcast

@android_broadcast · Post #8883 · 30.03.2025 г., 15:30

⚙️Как работать с Custom Layout в Jetpack Compose (21м) В этой статье вы найдете: 👉 как работают layout-ы в Compose; 👉 изменение layout-а отдельного компонента; 👉 создание кастомных Layout и LazyLayout; 👉 отложенную композицию. Всё это на примерах, в том числе из дизайн-системы Авито. #compose#android

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