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

Резултати

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

Пребарај: #dataleack

当前筛选 #dataleack清除筛选
Клавдий в ИБ

@cyberpoleshuk · Post #98 · 29.05.2024 г., 06:10

Тут с аукциона Christie’s украли под миллиона данных о клиентах. Нет, это не новая модная экспозиция или выставка, а реальность. Новая на горизонте ThreadHunting киберпреступная группа RansomHub опубликовала новость на своей страничке в дарунете о взломе и дала 5 дней выйти на связь для обсуждения дальнейшего чека. Самое пока интересное для меня в этой истории три вещи: - заявление пресс-секретаря что «постаралали некоторые клиенты» - пол миллиона человек, ну чуть-чуть совсем; - злоумышленники целенаправлено атаковали с целью украсть данные но не шифровали и не уничтожали инфраструктуру; - в случае невыплаты «чека» грузятся использовать инструменты ответственности за нарушение GDPR. Интересные ребята вышли на тропу киберкриминала… #cybercrime#hack#dataleack

Клавдий в ИБ

@cyberpoleshuk · Post #111 · 02.06.2024 г., 20:13

Хэш-теги для быстрого поиска контента (с июня 2024 года - до этого ручной поиск, сорри но пока так 🫡) Список по мере добавления чего-то нового будет обновляться👨‍💻 #a1 - the best Company #ai - все что касается ИИ #announcement - что-то лично хочу заявить #book - сам читаю и вам советую #blueteam - понравится защитникам #case - правда жизни #cis - любимый фреймфорк #cybercrime - мр*зи #dataleack - утечка данных #game - “Что наша жизнь? Игра!” #git- есть интересный репозитория #hack - взломы #film - и сериалы тоже что бы не писать портянку #law - юрилический или пан-юридический документ #lifehack - полезность #linux - про пингвинов тут #malaware - что-то написал про вредоносное ПО #microsoft - когда-то адекватная компания #news - что то связанное с новостной повесткой #post - мой материал #redteam - атакующие инструменты #report - хорошие отчеты #scam - “обмануть за 60 секунд” #tool - полезный инструмент #quote - сказал что то такое что самому понравилось или позаимствовал #windows - то, что часто атакуют