Использование 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
#eth#L2
❗️Будущее Ethereum – сильный L1 и более зрелые L2.
В Ethereum Foundation выпустили новую стратегическую статью о будущем экосистемы: главный тезис — не «L1 против L2», а сильный L1 + сеть разных L2. Ethereum L1 должен оставаться глобальным permissionless-слоем для расчётов, общего состояния, ликвидности и DeFi.
Фонд подчёркивает: L2 обязаны быть честными и прозрачными по безопасности. L2, которые претендуют на trust-minimized-модель, должны как минимум идти к Stage 1 и проходить walkaway test. А проекты, которые хотят быть максимально близкими к Ethereum, должны двигаться к Stage 2, синхронной компонуемости, общей ликвидности и native rollups.
Со своей стороны Ethereum Foundation обещает продолжать масштабировать и L1, и blobs. В статье отдельно сказано, что blobs сейчас заполнены лишь примерно на 30%, то есть у сети всё ещё есть заметный запас по росту. Также в EF хотят улучшать доступ L2 к ликвидности L1 через более быструю финальность, депозиты и выводы, а также сделать приоритетом борьбу с фрагментацией UX в многоцепочечной экосистеме.
Вывод: Ethereum Foundation фактически говорит рынку, что будущее сети – это L1 как главный слой расчётов и DeFi, а L2 как уровень специализации и продуктовых экспериментов. Но чем ближе L2 хотят быть к Ethereum, тем выше к ним будут требования по безопасности и реальному наследованию свойств L1.
Ранее:
• Новая дорожная карта ETH
• Зачем нужен ETH?
• Давайте проще
• Киты покупают
• Bitmine в жопе, но покупают
Cryptо Headlines
#блокчейн#биткоин#L2
Решения второго уровня для биткоина ✅
Решения второго уровня, или L2-решения, это способы обработки транзакций вне основного блокчейна для ускорения их исполнения и снижения комиссий. Кроме того, биткоин не поддерживает смарт-контракты и способен выступать лишь платежной системой, а L2-продукты не имеют таких ограничений.
💡Основные типы L2-решений для биткоина:
✔️Сайдчейны (Sidechains) - это самостоятельные блокчейны, работающие параллельно с основным и связанные с ним двухсторонним мостом для передачи активов.
✔️Каналы состояния (State Channels) – это решение позволяет совершать обмены между собой вне основной сети. Благодаря прямой связи двух кошельков транзакции становятся мгновенными, а комиссии — практически нулевыми.
✔️Роллапы (Rollups) – идея заключается в обработке транзакций пользователей и последующее их пакетирование для проверки в основной сети.
Решения второго уровня позволяют снизить нагрузку на основную сеть биткоина. К тому же такие технологии значительно расширяют функционал первой криптовалюты.
@MirraChannel😎
✴️#ETH#обновление#крипто#L2
После обновления Ethereum Dencun на этой неделе, в сетях второго уровня (L2) значительно снизится плата за газ. Согласно статистике IntoTheBlock, при свопе DEX комиссия за газ для Aribitrum будет снижена с $2,02 до $0,4, для Optimism с $1,42 до $0,28, для Base снизится с $0,58 до $0,01
Сегодня вторник, а значит в эфире рубрика “повторяем теорию”🤓
Вспомним про регуляризацию сетей, а именно про три популярных метода: L1, L2 и Dropout (ведь был популярен когда-то, надо отдать дань старичку). Статья в телеграфе 👉Регуляризуем правильно!
#регуляризация#L1#L2#dropout
Один зал — сотни сценариев: как L-Acoustics L2 превратила многофункциональный центр в концертную площадку
Конференции, рок-концерты, бизнес-саммиты — всё это теперь может сменять друг друга буквально за считанные минуты в конгресс-центре VILCO (Германия). Секрет такого превращения — инновационная аудиосистема L-Acoustics L Series.
Задача: Историческому комплексу VILCO нужен был звук, который так же легко адаптируется, как и само пространство с раздвижными стенами и трансформируемыми трибунами.
Решение:
✅ Гибкая конфигурация: Основные массивы L2/L2D на специальных подъемниках можно быстро опустить и перенастроить под новый формат зала.
✅ Сохранение инвестиций: Прежняя система A10 не была демонтирована, а стала мобильным решением для небольших мероприятий.
✅ Скорость: Заранее сохраненные пресеты меняют конфигурацию системы за минуты, а не часы.
✅ Качество: Звук концертного уровня для таких артистов, как Alphaville и Sisters of Mercy.
Этот проект — блестящий пример того, как современные технологии делают сложные сценарии простыми и эффективными.
#LAcoustics#L2#Проаудио#Звуковойдизайн#Интеграция#КонцертныйЗвук#VILCO