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

Резултати

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

Пребарај: #material3expressive

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

@android_broadcast · Post #9450 · 28.08.2025 г., 12:01

Material 3 Expressive начали раскатывать на Android часы. Сразу сделали краткий обзор нововведений и запустили неделю, посвященную разработки под обновлённую WearOS #android#wearos#material3expressive

Android Broadcast

@android_broadcast · Post #9482 · 07.09.2025 г., 14:48

🤖 Вышла Material Components for Android 1.1.3 с компонентами из Material 3 Expressive (но пока еще не всё) Что добавили из комнентов: 👉DockedToolbarLayout - компонент для показа действий на текущем экране/странице (обычно закреплен в нижний части экрана) 👉FloatingToolbarLayout - плавающий набор действия для текущего экрана/страницы 👉LoadingIndicator - новые индикаторы ожидания 👉MaterialSplitButton - разделенная кнопка 👉MaterialButtonGroup - компонент для группировки нескольких кнопок Что ещё из важного: 👉 Минимальный Android SDK подняли до 21 👉 Включили nonTransitiveRClass (про последствия для вас читайте тут) 👉 Официальная поддержка Material 3 Expressive будет в версии 1.14.0. Уже есть альфа версии 🛠 Много улучшений существующих компонентов и исправления багов #android#material3#material3expressive

Android Broadcast

@android_broadcast · Post #9175 · 21.05.2025 г., 07:57

🤖 Androidify - пример приложения со всем модным стеком от Google: Jetpack Compose, Gemini API через Firebase AI Logic SDK, CameraX, Media3, Material 3 Expressive и Navigation 3. Поддержка экранов разных размеров и складных устройств Больше подробностей в статье и есть 🐱исходный код на GitHub #android#compose#material3expressive#пример

Android Broadcast

@android_broadcast · Post #9125 · 14.05.2025 г., 07:36

🤖Редизайн WearOS с Material 3 Expressive Google WearOS 6 получит редизайн на основе Material 3 Expressive. Обещают что изменения дизайна не повлияют на время работы часов, а даже наоборот - в WearOS 6 станет на 10% дольше времени работы Как пользователь Google Pixel Watch могу сказать что показанное меня очень радует. Сейчас дизайн неудобный #android#wearos#material3#material3expressive

Android Broadcast

@android_broadcast · Post #9118 · 14.05.2025 г., 07:06

🤖Редизайн Android - Material 3 Expressive В рамках The Android Show I/O Edition показали "самый большой редизайн Android за всё время" (со слов спикера). Нас ждет Material 3 Expressive - обновленная версия Material 3 на основе существующих токенов Буду садиться разбираться и рассказывать на 🪙Boosty про что будет в обновлении #android#android16#material#ui#material3expressive

Android Broadcast

@android_broadcast · Post #9140 · 16.05.2025 г., 08:34

🤯Navigation Drawer становится Deprecated В Material 3 Expressive делают deprecated компонент "Navigation Drawer". Заменой ему предлагают "Navigation Rail", предлагающий ту же функциональность, но лучше адаптирующийся под разные размеры окна #ui#material#material3#material3expressive