🧑‍💻PythonDev🧑‍💻
333 subscribers
86 photos
3 videos
15 files
78 links
Python tips and tricks
The Good, Bad and the Ugly

📚توی این کانال فقط قرار هست در مورد core python صحبت کنیم.

👨‍💻این کانال یک بلاگ شخصی هست و پیرامون نظرات و چیزهایی که توی این چند سال کد زدن یاد گرفتم (فقط برای کمک به دوستان تازه‌کار)👨‍💻


@Mtio975
Download Telegram
وقتی صحبت از ارسال و دریافت دیتا می‌شود یکی از مواردی از همون ابتدا به ذهن میرسه انتخاب
Serializer
درست هست؛ اگر توسعه دهنده وب باشید قطعا همون اول یاد
JSON
میوفتید (امن و مناسب) اما گزینه‌های دیگری هم هست که توی پروژه‌های مختلف استفاده میشه مثل
YAML
که بیشتر دوستان DevOps کار یا برنامه‌نویس‌های اون سمت باهاش کار می‌کنند؛ و یا مثلا:
Pickle
که توی AI و DataScience خیلی طرفدار داره متاسفانه (استفاده‌اش توی تیم من ممنوع هست)

مشکل اصلی که با YAML, Pickle وجود داره بخصوص Pickle امنیت هست.
بصورت دیفالت YAML, Pickle وقتی باهاش
Serialized Data
رو باز می‌کنید اگر حاوی دستورات سیستمی هم باشه اون‌هارو بصورت کامل اجرا می‌کنه برای همین هست که توی PyYaml وقتی کدی قرار هست برای Production استفاده بشه باید از
yaml.safe_load
استفاده کنید.
اما مشکل اینجاس که safe_load کلاس‌های کاستوم رو نمیشناسه راه حل :
تصویر پیوست شده؛ اگر قرار هست از YAML توی پروژه استفاده کنید حتما از safe_loader استفاده کنید load, full_loader , ... امن نیست و این مورد یک باگ کاملا شناخته شده هست.
GitHub issues