Category

Python Programming

Python language tutorials, patterns, and best practices

91 posts

بهینه‌سازی عملکرد پایتون: استفاده از Numba و Cython برای شتاب محاسبات عددی

پایتون سال‌هاست که زبان پیش‌فرض برای علم داده، یادگیری ماشین و محاسبات علمی است. با این حال، ماهیت تفسیرشده آن و قفل تفسیرگر سراسری (GIL) می‌تواند هنگام کار با حلقه‌های عددی سنگین یا مجموعه‌داده‌های بزرگ، به گلوگاه‌های عملکردی قابل توجهی منجر شود. در حالی که کتابخانه‌هایی مانند NumPy و Pandas در زیرلایه با زبان C نوشته شده‌اند، منطق سفارشی پایتون اغلب با سرعتی کسری از آنچه برای پردازش بلادرنگ یا شبیه‌سازی‌های عظیم نیاز است، اجرا می‌شود.

الگوهای هم‌زمانی پایتون برای میکروسرویس‌های وابسته به I/O در مقابل پردازش‌محور: یک مطالعه موردی تولیدی

در منظره میکروسرویس‌های مدرن، ویژگی‌های عملکردی پایتون اغلب تصمیمات معماری را تعیین می‌کنند. توسعه‌دهندگان اغلب با همان معضل روبرو می‌شوند: وقتی یک سرویس تحت بار کاری کند می‌شود، چگونه آن را مقیاس‌پذیر کنیم؟ پاسخ نه در خرید سخت‌افزار بیشتر، بلکه در درک تمایز بنیادین بین وظایف وابسته به I/O و وظایف پردازش‌محور و انتخاب الگوی هم‌زمانی مناسب نهفته است.

همزمانی ترکیبی پایتون: AsyncIO + Multiprocessing

توسعه‌دهندگان پایتون اغلب هنگام ساخت خطوط لوله داده با کارایی بالا با یک دوراهی کلاسیک روبرو می‌شوند: قفل تفسیرگر سراسری (GIL). برای سال‌ها، انتخاب به صورت دوگانه بوده است—استفاده از asyncio برای وظایف وابسته به ورودی/خروجی یا multiprocessing برای عملیات وابسته به پردازنده. با این حال، وب‌اسکرپینگ مدرن اغلب به هر دو نیاز دارد. تصور...

تسلط بر بسته‌بندی CLI پایتون: نقطه‌های ورود پیشرفته، نسخه‌گذاری معنایی و استقرار در PyPI

توسعه یک ابزار رابط خط فرمان (CLI) در پایتون اغلب تنها آغاز سفر یک توسعه‌دهنده است. اگرچه نوشتن کد برای حل یک مشکل رضایت‌بخش است، اما توزیع آن راه‌حل به گونه‌ای که سایر توسعه‌دهندگان بتوانند به راحتی از آن بهره‌مند شوند، نیازمند یک استراتژی بسته‌بندی قوی است. برای کاربران متوسط تا پیشرفته، گذار از اسکریپت‌های لحظه‌ای به ابزارهای CLI درجه تولید، شامل تسلط بر پیکربندی‌های...

تسلط بر ابزارهای خط فرمان پایتون: بهترین روش‌ها برای بسته‌بندی و نقاط ورودی

ساخت یک ابزار رابط خط فرمان (CLI) در پایتون، یک مرحله گذار برای بسیاری از توسعه‌دهندگان است. چه این ابزار یک اسکریپت پردازش داده باشد، چه یک ابزار خودکارسازی استقرار، و چه یک ابزار عیب‌یابی سیستم، عملکرد آن اغلب به صورت محلی آغاز می‌شود. با این حال، به محض اینکه تصمیم به اشتراک‌گذاری این ابزار با...

ساخت APIهای رویدادمحور بلادرنگ با FastAPI و WebSockets

در منظره مدرن معماری نرم‌افزار، تقاضا برای ارتباطات بلادرنگ از یک ویژگی «خوب است داشته باشیم» به یک نیاز اساسی تبدیل شده است. چه داشبوردهای معاملات زنده سهام، چه ابزارهای ویرایش مشارکتی، یا برنامه‌های بازی با فرکانس بالا، سیستم‌ها اکنون باید بلافاصله به تغییرات وضعیت واکنش نشان دهند...

تسلط بر یادگیری ماشین در پایتون: نگاهی عمیق به Scikit-learn

در منظره‌ی در حال تکامل سریع علم داده، پایتون به‌عنوان زبان مشترک این حوزه تثبیت شده است. در قلب این اکوسیستم، کتابخانه‌ی قدرتمند و متن‌باز Scikit-learn (که اغلب به اختصار sklearn نامیده می‌شود) قرار دارد که یادگیری ماشین را دموکراتیک کرده است. برای توسعه‌دهندگان متوسط تا پیشرفته، عبور از آموزش‌های مقدماتی و درک ظرافت‌های معماری Scikit-learn برای ساخت مدل‌های پیش‌بینی‌گر در سطح تولید حیاتی است.