| کانال توسعه‌دهندگان پایتون |
7.59K subscribers
67 photos
3 videos
4 files
63 links
⭕️ کانال توسعه‌دهندگان پایتون دولوپیکس

💠 دولوپیکس | جامعه توسعه‌دهندگان ایرانی

💎 @Developix
🚀 Developix.ir

📌 پشتیبانی و تبلیغات:
@DevelopixSupport
Download Telegram
Forwarded from Developix Support
با Migration Boost هاست‌ایران، برای مهاجرت به سرور ابری دوباره هزینه ترافیک نده! 🚀

با خرید اولین سرور ابری غیرساعتی از **هاست‌ایران**، بسته ترافیک هدیه مهاجرت به‌صورت خودکار برای سرویس شما فعال می‌شود:

حداقل ۱۰۰ گیگابایت ترافیک هدیه مهاجرت
افزایش حجم هدیه متناسب با ظرفیت دیسک اولیه
ترافیک آپلود رایگان
بدون محدودیت زمانی

سرور ابری هاست‌ایران را راه‌اندازی کنید و بکاپ‌ها، فایل‌ها و پایگاه داده خود را بدون دغدغه هزینه‌های پنهان ترافیک منتقل کنید.

👇 مشاهده پلن‌های سرور ابری هاست‌ایران
hostiran.club/Migration
hostiran.club/Migration
💠 نسخه جدید کتابخانه FastAPI منتشر شده است

🔸 ارتقا از نسخه 0.139.2 به 0.140.0

🔹 لیست تغییرات این نسخه:
- بهینه‌سازی مصرف حافظه در مدیریت وابستگی‌ها
- افزودن مستندات جدید «Library Skills»
- به‌روزرسانی مستندات برای استفاده پیش‌فرض از uv projects
- بازسازی ساختار صفحات «FastAPI People» و حامیان
- بهبود زیرساخت CI با افزودن بنچمارک حافظه و به‌روزرسانی حامیان و …

🔖 #fastapi, #python, #release

💎 @DevelopixPython
2
🐞 دیباگ سریع با تابع داخلی breakpoint()

وقتی یک باگ سمج وسط کد ظاهر می‌شود، به‌جای پرینت گرفتن‌های پشت‌سرهم، استفاده از breakpoint() خیلی تمیزتر و سریع‌تر است. از Python 3.7 به بعد این تابع داخل خود زبان هست و نیازی به import جداگانه ندارد.

کافی است هرجا نیاز به توقف و بررسی وضعیت متغیرها بود، یک breakpoint() بگذارید تا برنامه همان‌جا متوقف شود و وارد interactive debugger (پیش‌فرض: pdb) شوید.

def process_items(items):
total = 0
for i, item in enumerate(items):
if item < 0:
breakpoint() # اینجا وضعیت را چک کن
total += item
return total

result = process_items([1, 2, -3, 4])
print(result)


داخل debugger می‌شود متغیرها را چاپ کرد، روی کد قدم‌به‌قدم رفت، و سریع منطق مشکل‌دار را پیدا کرد. بعد از رفع مشکل، فقط همان خط breakpoint() را حذف یا comment کن.

🔗 مرجع رسمی Python: docs.python.org

🔖 #Python #پایتون #Python #debugging #breakpoint #pdb #best_practices

👤 Developix

💎 Channel: @DevelopixPython
6👍1
💠 نسخه جدید کتابخانه FastAPI منتشر شده است

🔸 ارتقا از نسخه 0.140.13 به 0.141.0

🔹 لیست تغییرات این نسخه:
- افزودن app.frontend(check_dir="auto") برای توسعهٔ ساده‌تر با fastapi dev
- و بهبودهای جزئی دیگر، و غیره

🔖 #fastapi, #python, #release

💎 @DevelopixPython
💠 نسخه جدید فریمورک جنگو (Django) منتشر شده است

🔸 ارتقا از نسخه 6.0.8 به 6.1.0

🔹 لیست تغییرات این نسخه:
- رفع باگ امنیتی شدید در lookupهای مکانی
- جلوگیری از DoS در check_for_language
- محدود کردن عمق مجموعه‌های هندسی تودرتو
- ایمن‌سازی لینک‌های URLField در ادمین
- رفع کرش bulk_create روی برخی دیتابیس‌ها
- به‌روزرسانی سازگاری با sqlparse 0.5.5 و موارد دیگر

🔖 #django, #python, #release

💎 @DevelopixPython
👍2
مدیریت درست resource مثل فایل، connection دیتابیس یا lock، کلی باگ و Memory Leak بالقوه را حذف می‌کند. پایتون برای این کار Context Manager دارد که با کلمهٔ کلیدی with استفاده می‌شود. 😌

ساده‌ترین مثال، کار با فایل است؛ بدون نیاز به close() یادت نرود:
with open("data.txt", "r", encoding="utf-8") as f:
content = f.read()

بعد از تمام شدن بلاک، فایل به‌صورت خودکار بسته می‌شود؛ حتی اگر exception رخ بدهد. 👌

برای resourceهای خودت هم می‌شود Context Manager ساخت. راحت‌ترین راه در پروژه‌های کوچیک، استفاده از contextlib.contextmanager است:
from contextlib import contextmanager

@contextmanager
def temp_change_dir(path):
import os
old = os.getcwd()
os.chdir(path)
try:
yield
finally:
os.chdir(old)

حالا هرجا لازم بود، فقط:
with temp_change_dir("/tmp"):
# کدهای وابسته به مسیر جدید
...

این الگو، کد را خواناتر، امن‌تر و تست‌پذیرتر می‌کند. دفعهٔ بعد که نیاز به setup/cleanup داشتی، به یک Context Manager کوچک فکر کن.

🔗 رفرنس: Python docs - contextlib

🔖 #Python #پایتون #Python #context_manager #with #contextlib #best_practices #resources

👤 Developix

💎 Channel: @DevelopixPython
👍3
🔥 پروژه: ‏DSPy فریم‌ورک برنامه‌نویسی LLM

DSPy یه فریم‌ورک پایتونی از آزمایشگاه NLP استنفورده که کمک می‌کند با LLMها برنامه‌نویسی کنی، نه Prompt نویسی دستی 🤖

به‌جای حفظ Promptها، ماژول‌های سطح‌بالا تعریف می‌کنی (مثلاً برای Question Answering، RAG یا Summarization) و DSPy خودش Prompt و Hyperparameterها را روی داده‌ات Optimize می‌کند.

برای ساخت Pipelineهای پایدار روی GPT و مدل‌های متن‌باز، گزینهٔ خیلی جدی‌ایه. سورس‌کد و مثال‌ها:
DSPy در گیت‌هاب

⭐️ 519 stars this week

🔖 #Python #پایتون #پایتون #یادگیری_ماشین #پردازش_زبان_طبیعی