Category

Python Programming

Python language tutorials, patterns, and best practices

95 posts

تسلط بر مدیریت فایل و پردازش داده در پایتون: از ورودی/خروجی خام تا کارایی پانداس

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

ساخت میکروسرویس‌های پایتون مقاوم

در منظره پیچیده سیستم‌های توزیع‌شده، تفاوت بین یک معماری قابل نگهداری و یک کابوس دیباگ، اغلب در قابلیت مشاهده و مدیریت خطا نهفته است. با مقیاس‌پذیری میکروسرویس‌های پایتون، تکیه بر دستورات ساده print و بلوک‌های عمومی try-except غیرممکن می‌شود. برای اطمینان از تاب‌آوری، تیم‌ها باید لاگ‌نویسی ساختاریافته را پیاده‌سازی کرده و سلسله‌مراتب استثناهای سفارشی را تعریف کنند. این رویکرد نه تنها جریان داده را شفاف‌تر می‌کند، بلکه بازیابی خطاها را در سراسر مرزهای سرویس استاندارد می‌سازد.

مدیریت وابستگی‌های آماده برای تولید: حل تعارض‌های فایل قفل با pip-tools و Poetry

در دنیای توسعه پایتون، سفر از یک محیط محلی تا استقرار در تولید، پر از کابوس‌های «روی ماشین من کار می‌کند» است. اگرچه اکوسیستم پایتون پیشرفت‌های قابل توجهی داشته است، اما چالش پابرجا و اصلی همچنان حل وابستگی‌ها و یکپارچگی فایل قفل باقی مانده است. هنگام ...

بسته‌بندی مدرن پایتون: مهاجرت به pyproject.toml با Hatch و Build

اکوسیستم بسته‌بندی پایتون در سال‌های اخیر دگرگونی‌های عظیمی را تجربه کرده است. برای بیش از یک دهه، setup.py به عنوان استاندارد غیررسمی برای تعریف متادیتا و الزامات ساخت پروژه عمل می‌کرد. با این حال، حرکت به سمت پیکربندی اعلانی (declarative) از طریق pyproject.toml، بنیادین‌ترین تغییر را در نحوه تفکر ما درباره توزیع نرم‌افزار ایجاد کرده است. این راهنمای جامع به شما کمک می‌کند تا با استفاده از Hatch و Build، از setup.py به pyproject.toml مهاجرت کنید و استانداردهای مدرن بسته‌بندی پایتون را امروز فرا بگیرید.

فراتر از PyPI: تسلط بر C-Extensions و Binary Wheels با Scikit-Build برای علم داده

پایتون به زبان مشترک علم داده تبدیل شده است، اما تکیه اکوسیستم آن بر پایتون خالص، اغلب یک گلوگاه حیاتی را پنهان می‌کند: عملکرد. برای محاسبات عددی سنگین، دانشمندان داده اغلب به کتابخانه‌هایی روی می‌آورند که بر پایه C، C++ یا Fortran ساخته شده‌اند، مانند NumPy، SciPy و Pandas. چگونه...

تسلط بر تجزیه کارآمد از نظر حافظه CSV و JSON: راهنمایی برای استفاده از Iterators پیشرفته در پایتون

در دنیای مهندسی داده، ضرب‌المثل «ورودی زباله، خروجی زباله» اغلب تحت‌الشعاع تهدید فوری‌تری به نام «ورودی داده، خروجی حافظه» قرار می‌گیرد. هنگام کار با مجموعه‌داده‌های مقیاس بزرگ—چه گیگابایت‌ها لاگ‌های سرور به فرمت CSV و چه ترابایت‌های JSON ساختاریافته از دستگاه‌های IoT—رویکرد ساده‌انگارانه‌ی بارگذاری کل فایل در حافظه با استفاده از pandas.read_csv() یا json.load() مانند دستورالعملی برای فاجعه است. پایتون...

پل زدن به شکاف: اجرای همزمانی ترکیبی با AsyncIO و Multiprocessing در پایتون

توسعه‌دهندگان پایتون اغلب با یک معضل همیشگی روبرو هستند: چگونه عملکرد برنامه را هنگام مواجهه با ترکیبی متنوع از وظایف به حداکثر برسانند. در یک سوی طیف، وظایف محدود به ورودی/خروجی (I/O) قرار دارند، مانند کوئری‌های پایگاه داده، درخواست‌های شبکه و عملیات فایل، که در آن‌ها پردازنده در انتظار داده‌ها بیکار می‌ماند...