کتاب Hypermodern Python Tooling: Building Reliable Workflows for an Evolving Python Ecosystem (ابزارهای فوق مدرن پایتون: ساخت گردش کارهای قابل اعتماد برای یک اکوسیستم پایتون در حال تحول) راهنمای عملی برای توسعهدهندگان پایتون جهت یادگیری ایجاد قطعات متحرک پروژه پایتون با استفاده از ابزارهای پیشرفته از جمله Poetry, Nox, pytest, mypy, pre-commit, Black, Ruff, uv, Rye, Hatch و موارد دیگر که آنها را به یک زنجیره ابزار با استفاده آسان تبدیل کنند.
در ادامه مقدمهای از کتاب The Future of Sales را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Hypermodern Python Tooling:
این کتاب راهنمایی برای ابزارهای توسعه مدرن پایتون است – برنامههایی که به شما در انجام کارهایی مانند:
- مدیریت نصبهای پایتون روی سیستم خود
- نصب بستههای شخص ثالث برای پروژه فعلی خود
- ساخت یک بسته پایتون برای توزیع در مخزن بسته
- اجرای مکرر مجموعه تست در چندین محیط
- بررسی کد شما برای گرفتن باگ با استفاده از لینت و بررسی نوع
شما برای نوشتن نرم افزار پایتون به طور کامل به این ابزارها نیاز ندارید. مفسر پایتون سیستم خود را راه اندازی کنید و یک خط فرمان تعاملی دریافت کنید. کد پایتون خود را برای بعد به عنوان اسکریپت ذخیره کنید. چرا باید از چیزی فراتر از یک ویرایشگر و یک پوسته استفاده کنید؟
این یک سوال بلاغی نیست. هر ابزاری که به جریان کاری توسعه خود اضافه میکنید باید هدف مشخصی داشته باشد و مزایایی را به همراه داشته باشد که هزینههای استفاده از آن را جبران کند.
به طور کلی، مزایای ابزار توسعه زمانی آشکار می شود که نیاز به توسعه پایدار در طول زمان داشته باشید. در برخی مواقع، انتشار ماژول خود در فهرست بسته های پایتون (PyPI) آسان تر از ارسال آن به ایمیل کاربران شما خواهد بود.
در جایی در طول مسیر، از نوشتن اسکریپتهای یکبار مصرف تا توزیع و نگهداری بستهها، چالشهایی ظاهر میشود:
- پشتیبانی از چندین نسخه از پایتون روی سیستم عاملهای مختلف
- به روز نگه داشتن وابستگی ها و اسکن آنها برای آسیبپذیریها
- حفظ خوانایی و انسجام کد بیس
- تعامل با گزارشهای اشکال و مشارکتهای خارجی از جامعه
- حفظ پوشش تست بالا برای کاهش نرخ نقص در تغییرات کد
- خودکار کردن کارهای تکراری برای کاهش اصطکاک و اجتناب از غافلگیریها
کتاب Hypermodern Python Tooling به شما نشان میدهد که چگونه ابزار توسعه میتواند به چنین چالشهایی کمک کند. ابزارهای شرح داده شده در اینجا به طور قابل توجهی بر کیفیت کد، امنیت و نگهداری پروژههای پایتون تأثیر میگذارد.
اما ابزار همچنین پیچیدگی و سربار را اضافه میکند. کتاب Hypermodern Python Tooling با تبدیل ابزار به یک زنجیره ابزار آسان برای استفاده و خودکارسازی گردش کار به طور قابل اعتماد و مکرر تلاش میکند تا این را به حداقل برساند – خواه آنها به صورت محلی روی دستگاه توسعه دهنده اجرا شوند یا روی یک سرور یکپارچهسازی مداوم در طیف وسیعی از پلتفرمها و محیطها.
تا جایی که ممکن است، شما باید بتوانید توجه خود را روی نوشتن نرمافزار متمرکز کنید، در حالی که زنجیره ابزار شما در پس زمینه کار میکند.
تنبلی را “بزرگترین فضیلت یک برنامه نویس” نامیدهاند و این گفته در مورد ابزارهای توسعه نیز صدق میکند: گردش کار خود را ساده نگه دارید و برای خاطر خود ابزارها را اتخاذ نکنید.
در عین حال، برنامهنویسان خوب نیز کنجکاو هستند. ابزارهای کتاب Hypermodern Python Tooling را امتحان کنید تا ببینید چه ارزشهایی را برای پروژههای شما به ارمغان میآورند.
اکوسیستم پایتون دائماً در حال تکامل است: آنچه ما امروز مدرن میدانیم، ناگزیر به شیوههای «فوق مدرن» فردا تسلیم میشود.
کتاب Hypermodern Python Tooling تلاش میکند تا آگاهی از ابزارها، استانداردها و بهترین شیوههای اخیر را افزایش دهد – نه به خاطر تازگی، بلکه به دلیل اینکه آنها بهره وری و تجربه توسعه دهنده شما را بهبود میبخشد.
درک چرایی و چگونگی این ابزارها و گردش کارها – و همچنین معایب آنها – شما را برای زمانی که نسل بعدی ابزارهای پایتون در افق ظاهر میشوند، آماده میکند.
چه کسی باید کتاب Hypermodern Python Tooling را بخواند؟
اگر شما یکی از این افراد هستید، از خواندن این کتاب بهرهمند خواهید شد:
- شما به زبان پایتون مسلط هستید، اما مطمئن نیستید که چگونه یک بسته ایجاد کنید.
- شما سالهاست این کار را انجام میدهید – setuptools، virtualenv و pip دوستان شما هستند. شما در مورد تحولات اخیر در ابزارسازی و آنچه آنها به ارمغان میآورند کنجکاو هستید.
- شما کدی را نگهداری میکنید که برای تولید حیاتی است. اما باید راه بهتری برای انجام همه این کارها وجود داشته باشد. شما میخواهید در مورد ابزارهای پیشرفته و بهترین شیوههای در حال تکامل اطلاعات کسب کنید.
- شما میخواهید به عنوان یک توسعه دهنده پایتون بهره ورتر باشید.
- شما یک نگهداریکننده منبع باز هستید که به دنبال یک زیرساخت پروژه قوی و مدرن هستید.
- شما از تعدادی ابزار پایتون در پروژههای خود استفاده میکنید، اما دیدن اینکه چگونه همه چیز با هم تناسب دارد دشوار است. شما میخواهید اصطکاکی را که با تمام این ابزارسازی همراه است را کاهش دهید.
فکر میکنم همه چیز خراب شده است – چرا حالا پایتون ماژول من را پیدا نمیکند؟ چرا نمیتوانم پکیجی را که به تازگی نصب کردم وارد کنم؟
کتاب Hypermodern Python Tooling فرض میکند که شما دانش اولیهای از زبان برنامهنویسی پایتون دارید. تنها ابزاری که باید با آن آشنا باشید مفسر پایتون، یک ویرایشگر یا IDE و خط فرمان سیستم عامل خود است.
کتاب Hypermodern Python Tooling چگونه سازماندهی شده است؟
این کتاب در سه بخش تنظیم شده است:
بخش اول، “کار با پایتون”
فصل ۱، “نصب پایتون”، به شما یاد میدهد که مدیریت نصبهای پایتون را در طول زمان در پلتفرمهای مختلف انجام دهید. این فصل همچنین لانچرهای پایتون برای ویندوز و یونیکس را معرفی میکند – شما در سراسر کتاب Hypermodern Python Tooling از آنها استفاده خواهید کرد.
فصل ۲، “محیطهای پایتون”، روی یک نصب پایتون زوم میکند و نحوه تعامل کد شما با آن را شرح میدهد. همچنین با ابزارهایی آشنا خواهید شد که به شما در کارآمدی با محیطهای مجازی کمک میکند.
بخش دوم، “پروژههای پایتون”
فصل ۳، “بستههای پایتون”، به شما آموزش میدهد که چگونه پروژه خود را به عنوان یک بسته پایتون راهاندازی کنید و چگونه مصنوعات بستهبندی را بسازید و منتشر کنید. این فصل همچنین برنامه نمونهای را که در سراسر کتاب Hypermodern Python Tooling استفاده میشود، معرفی میکند.
فصل ۴، “مدیریت وابستگی”، نحوه افزودن بستههای شخص ثالث به یک پروژه پایتون و نحوه ردیابی وابستگیهای پروژه شما در طول زمان را توضیح میدهد.
فصل ۵، “مدیریت پروژهها با Poetry” به شما نحوه کار با پروژههای پایتون با استفاده از Poetry را آموزش میدهد. Poetry به شما امکان مدیریت محیطها، وابستگیها و بستهبندی در سطح بالاتری را میدهد.
بخش سوم، “آزمایش و تحلیل ایستا”
فصل ۶، “آزمایش با pytest” نحوه تست یک پروژه پایتون و نحوه کارآمد با فریم ورک pytest و اکوسیستم آن را بررسی میکند.
فصل ۷، “سنجش پوشش با Coverage.py” به شما یاد میدهد که با اندازهگیری پوشش کد مجموعه تست خود، کد تست نشده را کشف کنید.
فصل ۸، “اتوماسیون با Nox” فریم ورک اتوماسیون Nox را معرفی میکند. شما از آن برای اجرای تستها در محیطهای پایتون و به طور کلی برای خودکار کردن بررسیها و سایر وظایف توسعه دهنده در پروژههای خود استفاده خواهید کرد.
فصل ۹، “لینت با Ruff و pre-commit” به شما نشان میدهد که چگونه با Ruff باگهای احتمالی را پیدا و رفع کنید و چگونه کد خود را فرمت کنید. همچنین در مورد pre-commit، یک فریم ورک لینتر چندزبانه با قابلیت ادغام با گیت، اطلاعات کسب خواهید کرد.
فصل ۱۰، “استفاده از تایپ برای ایمنی و بازرسی” به شما یاد میدهد که چگونه با بررسیکنندههای نوع ایستا و زمان اجرا، ایمنی نوع را تأیید کنید و چگونه انواع را در زمان اجرا برای انجام کارهای جادویی واقعی (شرایط و ضوابط اعمال میشود) بررسی کنید.
سرفصلهای کتاب Hypermodern Python Tooling:
- Preface
- I. Working with Python
- 1. Installing Python
- 2. Python Environments
- II. Python Projects
- 3. Python Packages
- 4. Dependency Management
- 5. Managing Projects with Poetry
- III. Testing and Static Analysis
- 6. Testing with pytest
- 7. Measuring Coverage with Coverage.py
- 8. Automation with Nox
- 9. Linting with Ruff and pre-commit
- 10. Using Types for Safety and Inspection
- Index
- About the Author
جهت دانلود کتاب Hypermodern Python Tooling میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.