کتاب Advanced Python Programming یا برنامهنویسی پیشرفته پایتون، از جدیدترین منابع یادگیری برنامهنویسی حرفهای و اصولی زبان پایتون است که به تازگی منتشر شده است. این کتاب در بیش از 600 صفحه و 26 فصل به آموزش ترفندها و نکات مهم این زبان و همچنین برخی از کتابخانههای آن با زدن مثالهای متنوع پرداخته است.
در ادامه مقدمهای از کتاب Advanced Python Programming را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Advanced Python Programming:
برنامه نویسی پیشرفته پایتون به عنوان راهنمای شما برای ارتقای مهارتهای پایتون به سطح بعدی عمل میکند. برای مبتدیان، پایتون به دلیل سینتکس سادهاش، گزینهای عالی برای نمونهسازی سریع و توسعه نرمافزار است، اما برخی تمایل دارند زمانی که میخواهند سرعت کدشان را افزایش داده و مقیاسبندی کنند، به سمت زبانهای دیگر متمایل شوند. با این حال، این طرز فکر لزوما درست نیست. همانطور که این کتاب به ما نشان خواهد داد، پایتون با طیف گستردهای از پشتیبانی برای بهینهسازی، مقیاسبندی و محاسبات با عملکرد بالا ارائه میشود.
این نسخه دوم شامل محتوای به روز شده و جدید از نسخه اول است. بسیاری از فصول با مواد همپوشانی برای ایجاد یک جریان موجز و منطقی در سراسر متن ترکیب شده اند. علاوه بر این، فصل جدیدی در مورد JAX، ابزار محاسباتی با کارایی بالا در یادگیری ماشین، اضافه شده است. این تنظیمات نوید این را میدهد که کتاب را به یک متن با کیفیت بالا برای همه کاربران پایتون تبدیل کند که به دنبال استفاده حداکثری از برنامههای خود هستند.
در پایان این کتاب، شما با انواع تکنیکها و کتابخانههایی آشنا خواهید شد که برای ساده کردن، محافظت و بهینهسازی نرمافزار شما طراحی شده اند. شما مهارتهای عملی در مورد چگونگی قوی، کارآمد و مقیاسپذیر کردن برنامههای پایتون خود کسب خواهید کرد.
کتاب Advanced Python Programming برای چه کسی است؟
این کتاب برای برنامهنویسان پایتون متوسط تا با تجربه است که به دنبال افزایش مقیاس برنامههای خود به شیوهای سیستماتیک و قوی هستند. برنامهنویسان با زمینههای مختلف این کتاب را مفید خواهند یافت، از جمله مهندسان نرمافزار، برنامه نویسان علمی، و معماران نرمافزار.
آنچه کتاب Advanced Python Programming پوشش میدهد:
فصل 1، معیار و پروفایل، به شما میآموزد که چگونه عملکرد برنامههای پایتون و استراتژیهای عملی را در مورد نحوه شناسایی و جداسازی بخشهای کند کد خود ارزیابی کنید.
فصل 2 کتاب Advanced Python Programming، بهینهسازی خالص پایتون، چگونگی بهبود زمان اجرا را با استفاده از ساختارهای داده کارآمد و الگوریتمهای موجود در کتابخانه استاندارد پایتون و ماژولهای شخص ثالث خالص پایتون مورد بحث قرار میدهد.
فصل 3، عملیات آرایه سریع با NumPy، Pandas، و Xarray، راهنمای بستههای NumPy و Pandas را ارائه میدهد. تسلط بر این بستهها به شما این امکان را میدهد که الگوریتمهای عددی سریع را با یک رابط رسا و مختصر پیادهسازی کنید.
فصل 4 کتاب Advanced Python Programming، عملکرد C با Cython، یک آموزش در Cython است، زبانی که از یک نحو سازگار با Python برای تولید کد C کارآمد استفاده میکند.
فصل 5، بررسی کامپایلرها، ابزارهایی را پوشش میدهد که میتوان از آنها برای کامپایل پایتون به کد ماشین کارآمد استفاده کرد. این فصل به شما یاد میدهد که چگونه از Numba، یک کامپایلر بهینهسازی برای توابع پایتون، و PyPy، یک مفسر جایگزین که میتواند برنامههای پایتون را در لحظه اجرا و بهینهسازی کند، استفاده کنید.
فصل 6 کتاب Advanced Python Programming، تمایز خودکار و جبر خطی شتاب یافته برای یادگیری ماشین، برنامهنویسی پایتون با عملکرد بالا را که در محاسبات علمی و یادگیری ماشین ضروری است، پوشش میدهد. JAX بسیاری از بهینهسازیهای مرتبط با کامپایلر را در زیر هود پیادهسازی میکند که سرعت عملیات NumPy را تا حد قابل توجهی افزایش میدهد. علاوه بر این، این ابزار میتواند بهطور خودکار توابع پایتون را متمایز کند و به کاربرد گسترده روالهای بهینهسازی مبتنی بر گرادیان اجازه دهد.
فصل 7، پیاده سازی همزمانی، راهنمای برنامه نویسی ناهمزمان و واکنشی را ارائه میدهد. ما در مورد اصطلاحات و مفاهیم کلیدی یاد خواهیم گرفت و نحوه نوشتن کدهای تمیز و همزمان با استفاده از چارچوبهای asyncio و RxPy را نشان خواهیم داد.
فصل 8 کتاب Advanced Python Programming، پردازش موازی، مقدمه ای بر برنامه نویسی موازی در پردازندههای چند هستهای و پردازندههای گرافیکی ارائه میکند. در این فصل، نحوه دستیابی به موازی با استفاده از ماژول چند پردازشی و با بیان کد خود با استفاده از Theano و TensorFlow را خواهید آموخت.
فصل 9، درخواستهای وب همزمان، یکی از کاربردهای اصلی برنامهنویسی همزمان را پوشش میدهد: خراش دادن وب. همچنین قبل از بحث در مورد اینکه چگونه میتوان از threading برای موازی کردن این فرآیند استفاده کرد، سایر عناصر مرتبط خراش دادن وب را نیز پوشش میدهد.
فصل 10 کتاب Advanced Python Programming، پردازش تصویر همزمان، به کاربرد خاصی از همزمانی میپردازد: پردازش تصویر. ایدههای اساسی در پس پردازش تصویر، علاوه بر برخی از رایجترین تکنیکهای پردازش، مورد بحث قرار میگیرند. البته، خواهیم دید که چگونه همزمانی، به ویژه پردازش چندگانه، میتواند کار پردازش تصویر را سرعت بخشد.
فصل 11، ساخت کانالهای ارتباطی با asyncio، دانش بهدستآمده در مورد برنامهنویسی ناهمزمان که در فصلهای قبل پوشش داده شد را با موضوع ارتباطات شبکه ترکیب میکند. به طور خاص، ما به استفاده از ماژول aiohttp به عنوان ابزاری برای ایجاد درخواستهای HTTP ناهمزمان به سرورهای وب، و همچنین ماژول aiofile که خواندن/نوشتن فایل ناهمزمان را پیادهسازی میکند، بررسی خواهیم کرد.
فصل 12 کتاب Advanced Python Programming، بنبستها، اولین مشکلی را که معمولاً در برنامه نویسی همزمان با آن مواجه میشود، معرفی میکند. ما در مورد مسئله فیلسوفان غذاخوری کلاسیک به عنوان مثالی خواهیم آموخت که چگونه بنبستها میتوانند باعث توقف عملکرد برنامههای همزمان شوند. این فصل همچنین تعدادی از رویکردهای بالقوه به بنبستها و همچنین مفاهیم مرتبط، مانند بلوکهای زنده و بنبستهای توزیع شده را پوشش میدهد.
فصل 13، گرسنگی، یکی دیگر از مشکلات رایج در کاربردهای همزمان را در نظر میگیرد. این فصل کتاب Advanced Python Programming از روایت مسئله خوانندگان-نویسندگان کلاسیک برای توضیح مفهوم گرسنگی و علل آن استفاده میکند. البته ما همچنین راهحلهای بالقوه این مشکلات را از طریق مثالهای عملی در پایتون مورد بحث قرار خواهیم داد.
فصل 14 کتاب Advanced Python Programming، شرایط مسابقه، مسلماً به معروف ترین مشکل همزمانی میپردازد: شرایط مسابقه. همچنین در مورد مفهوم بخش بحرانی بحث خواهیم کرد، که یک عنصر اساسی در زمینه شرایط مسابقه به طور خاص، و برنامهریزی همزمان به طور کلی است. سپس این فصل طرد متقابل را به عنوان یک راه حل بالقوه برای این مشکل پوشش میدهد.
فصل 15، The Global Interpreter Lock، GIL بدنام را معرفی میکند که بزرگترین چالش در برنامهنویسی همزمان در پایتون در نظر گرفته میشود. ما در مورد دلیل اجرای GIL و مشکلاتی که ایجاد میکند آشنا خواهیم شد. این فصل از کتاب Advanced Python Programming با برخی از افکار در مورد اینکه چگونه برنامه نویسان و توسعهدهندگان پایتون باید در مورد GIL فکر کنند و با آن تعامل داشته باشند، به پایان میرسد.
فصل 16، The Factory Pattern، به شما میآموزد که چگونه از الگوی طراحی کارخانه (روش کارخانه و کارخانه انتزاعی) برای مقداردهی اولیه اشیا استفاده کنید، و همچنین مزایای استفاده از الگوی طراحی کارخانه به جای نمونهسازی مستقیم شی را پوشش میدهد.
فصل 17، الگوی سازنده، به شما میآموزد که چگونه فرآیند ایجاد شی را برای مواردی که معمولاً از چندین شیء مرتبط تشکیل شده اند، ساده کنید. نمونههای واقعی و موارد استفاده را بررسی میکنیم و سپس الگوی سازنده را در توسعه یک برنامه سفارش پیتزا پیادهسازی میکنیم.
فصل 18 کتاب Advanced Python Programming، سایر الگوهای خلاقانه، به شما میآموزد که چگونه موقعیتهای ایجاد شیء دیگر را با تکنیکهایی مانند ایجاد یک شی جدید که یک کپی کامل (یک کلون نامگذاری شده) از یک شی موجود است، مدیریت کنید، تکنیکی که توسط الگوی Prototype ارائه میشود. شما همچنین با الگوی Singleton آشنا خواهید شد.
فصل 19، الگوی آداپتور، به شما میآموزد که چگونه کد موجود خود را با یک رابط خارجی (مثلاً یک کتابخانه خارجی) با حداقل تغییرات سازگار کنید. به طور خاص، خواهید دید که چگونه میتوانید با استفاده از الگوی آداپتور بدون تغییر کد منبع مدل ناسازگار به انطباق رابط دست پیدا کنید.
فصل 20، الگوی دکوراتور، به شما میآموزد که چگونه عملکرد یک شی را بدون استفاده از وراثت افزایش دهید. ما چندین دسته از نگرانیهای مقطعی را ذکر خواهیم کرد و به طور خاص حفظ کردن را در این دیدگاه نشان خواهیم داد. ما همچنین توضیح خواهیم داد که چگونه دکوراتورها میتوانند به ما کمک کنند تا عملکردهایمان را تمیز نگه داریم، بدون اینکه عملکرد را به خطر بیندازیم.
فصل 21، الگوی پل، به شما میآموزد که چگونه جزئیات پیادهسازی یک شی را از سلسله مراتب کلاس آن به سلسله مراتب کلاس شی دیگر، بیرونی کنید. این فصل از کتاب Advanced Python Programming ایده ترجیح ترکیب بر ارث را تشویق میکند.
فصل 22 کتاب Advanced Python Programming، الگوی نما، به شما میآموزد که چگونه یک نقطه ورودی واحد ایجاد کنید تا پیچیدگی یک سیستم را پنهان کنید. ما موارد استفاده اساسی از نما و پیادهسازی رابط مورد استفاده توسط یک سیستم عامل چند سرور را پوشش خواهیم داد.
فصل 23، سایر الگوهای ساختاری، الگوهای Flyweight، Model-View-Controller (MVC) و Proxy را به شما آموزش میدهد. با الگوی Flyweight، یاد خواهید گرفت که چگونه از اشیاء موجود در یک مخزن اشیاء برای بهبود استفاده از حافظه و احتمالاً عملکرد برنامههای خود استفاده مجدد کنید. الگوی MVC در توسعه برنامه (رومیزی و وب) برای بهبود قابلیت نگهداری با اجتناب از مخلوط کردن منطق تجاری با رابط کاربری استفاده میشود. و با الگوی Proxy، یک شی خاص ارائه میکنید که به عنوان جانشین یا مکان نگهدار برای یک شی دیگر عمل میکند تا دسترسی به آن را کنترل کند و پیچیدگی را کاهش دهد و/یا عملکرد را بهبود بخشد.
فصل 24 کتاب Advanced Python Programming، الگوی زنجیره مسئولیت، تکنیک دیگری را به شما میآموزد تا با اجتناب از مخلوط کردن منطق تجاری با رابط کاربری، قابلیت نگهداری برنامههای خود را بهبود بخشید.
فصل 25، الگوی فرمان، به شما میآموزد که چگونه عملیات (مانند خنثی کردن، کپی و چسباندن) را به عنوان اشیا محصور کنید تا برنامه خود را بهبود ببخشید. از جمله مزایای این تکنیک، شیئی که دستور را فراخوانی میکند از شیئی که آن را انجام میدهد جدا میشود.
فصل 26، الگوی مشاهدهگر، نحوه ارسال درخواست به چندین گیرنده را به شما آموزش میدهد.
سرفصلهای کتاب Advanced Python Programming:
- Contributors
- About the author
- About the reviewers
- Preface
- Section 1: Python-Native and Specialized Optimization
- Chapter 1: Benchmarking and Profiling
- Chapter 2: Pure Python Optimizations
- Chapter 3: Fast Array Operations with NumPy, Pandas, and Xarray
- Chapter 4: C Performance with Cython
- Chapter 5: Exploring Compilers
- Chapter 6: Automatic Differentiation and Accelerated Linear Algebra for Machine Learning A crash course in machine learning
- Section 2: Concurrency and Parallelism
- Chapter 7: Implementing Concurrency
- Chapter 8: Parallel Processing
- Chapter 9: Concurrent Web Requests
- Chapter 10: Concurrent Image Processing
- Chapter 11: Building Communication Channels with asyncio
- Chapter 12: Deadlocks
- Chapter 13: Starvation
- Chapter 14: Race Conditions
- Chapter 15: The Global Interpreter Lock
- Section 3: Design Patterns in Python
- Chapter 16: The Factory Pattern
- Chapter 17: The Builder Pattern
- Chapter 18: Other Creational Patterns
- Chapter 19: The Adapter Pattern
- Chapter 20: The Decorator Pattern
- Chapter 21: The Bridge Pattern
- Chapter 22: The Façade Pattern
- Chapter 23: Other Structural Patterns
- Chapter 24: The Chain of Responsibility Pattern
- Chapter 25: The Command Pattern
- Chapter 26: The Observer Pattern
- Assessments
فایل کتاب Advanced Python Programming را میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.