Product details
- Publisher : Packt Publishing (February 28, 2019)
- Language : English
- Paperback : 672 pages
- ISBN-10 : 1838551212
-
ISBN-13 : 978-1838551216
کتاب Advanced Python Programming: Build high performance, concurrent, and multi-threaded apps with Python using proven design patterns
Create distributed applications with clever design patterns to solve complex problems
Key Features
- Set up and run distributed algorithms on a cluster using Dask and PySpark
- Master skills to accurately implement concurrency in your code
- Gain practical experience of Python design patterns with real-world examples
Book Description
This Learning Path shows you how to leverage the power of both native and third-party Python libraries for building robust and responsive applications. You will learn about profilers and reactive programming, concurrency and parallelism, as well as tools for making your apps quick and efficient. You will discover how to write code for parallel architectures using TensorFlow and Theano, and use a cluster of computers for large-scale computations using technologies such as Dask and PySpark. With the knowledge of how Python design patterns work, you will be able to clone objects, secure interfaces, dynamically choose algorithms, and accomplish much more in high performance computing.
By the end of this Learning Path, you will have the skills and confidence to build engaging models that quickly offer efficient solutions to your problems.
This Learning Path includes content from the following Packt products:
- Python High Performance - Second Edition by Gabriele Lanaro
- Mastering Concurrency in Python by Quan Nguyen
- Mastering Python Design Patterns by Sakis Kasampalis
What you will learn
- Use NumPy and pandas to import and manipulate datasets
- Achieve native performance with Cython and Numba
- Write asynchronous code using asyncio and RxPy
- Design highly scalable programs with application scaffolding
- Explore abstract methods to maintain data consistency
- Clone objects using the prototype pattern
- Use the adapter pattern to make incompatible interfaces compatible
- Employ the strategy pattern to dynamically choose an algorithm
Who this book is for
This Learning Path is specially designed for Python developers who want to build high-performance applications and learn about single core and multi-core programming, distributed concurrency, and Python design patterns. Some experience with Python programming language will help you get the most out of this Learning Path.
Table of Contents
- Benchmarking and Profiling
- Pure Python Optimizations
- Fast Array Operations with NumPy and Pandas
- C Performance with Cython
- Exploring Compilers
- Implementing Concurrency
- Parallel Processing
- Advanced Introduction to Concurrent and Parallel Programming
- Amdahl's Law
- Working with Threads in Python
- Using the with Statement in Threads
- Concurrent Web Requests
- Working with Processes in Python
- Reduction Operators in Processes
- Concurrent Image Processing
- Introduction to Asynchronous Programming
- Implementing Asynchronous Programming in Python
- Building Communication Channels with asyncio
- Deadlocks
- Starvation
- Race Conditions
- The Global Interpreter Lock
- The Factory Pattern
- The Builder Pattern
- Other Creational Patterns
- The Adapter Pattern
- The Decorator Pattern
- The Bridge Pattern
- The Facade Pattern
- Other Structural Patterns
- The Chain of Responsibility Pattern
- The Command Pattern
- The Observer Pattern
منابع کتاب کتاب Advanced Python Programming: Build high performance, concurrent, and multi-threaded apps with Python using proven design patterns
ایجاد برنامه های کاربردی توزیع شده با الگوهای طراحی هوشمندانه برای حل مشکلات پیچیده
ویژگی های کلیدی
- با استفاده از Dask و PySpark الگوریتم های توزیع شده را روی یک خوشه تنظیم و اجرا کنید
- مهارتها برای پیادهسازی دقیق همزمانی در کد خود را مسلط کنید
- تجربه عملی از الگوهای طراحی پایتون را با نمونه های دنیای واقعی به دست آورید
توضیحات کتاب
این مسیر یادگیری به شما نشان میدهد که چگونه از قدرت کتابخانههای پایتون بومی و شخص ثالث برای ایجاد برنامههای کاربردی قوی و پاسخگو استفاده کنید. شما در مورد پروفایلها و برنامهنویسی واکنشگرا، همزمانی و موازیسازی و همچنین ابزارهایی برای سریع و کارآمد کردن برنامههای خود خواهید آموخت. نحوه نوشتن کد برای معماری های موازی با استفاده از TensorFlow و Theano و استفاده از دسته ای از رایانه ها برای محاسبات در مقیاس بزرگ با استفاده از فناوری هایی مانند Dask و PySpark را خواهید یافت. با آگاهی از نحوه کار الگوهای طراحی پایتون، میتوانید اشیاء را شبیهسازی کنید، رابطهای امن، الگوریتمها را بهصورت پویا انتخاب کنید و کارهای بیشتری را در محاسبات با کارایی بالا انجام دهید.
در پایان این مسیر یادگیری، مهارت و اعتماد به نفس برای ساختن مدل های جذابی خواهید داشت که به سرعت راه حل های کارآمدی برای مشکلات شما ارائه می دهند.
این مسیر یادگیری شامل محتوای محصولات Packt زیر است:
- Python High Performance - نسخه دوم توسط گابریل لانارو
- تسلط بر Concurrency در Python توسط Quan Nguyen
- تسلط بر الگوهای طراحی پایتون توسط ساکیس کاسامپالیس
آنچه خواهید آموخت
- از NumPy و پانداها برای وارد کردن و دستکاری مجموعه داده ها استفاده کنید
- با Cython و Numba به عملکرد بومی دست یابید
- کدهای ناهمزمان را با استفاده از asyncio و RxPy بنویسید
- برنامه های بسیار مقیاس پذیر را با داربست های کاربردی طراحی کنید
- روش های انتزاعی را برای حفظ ثبات داده ها کاوش کنید
- شبیه سازی اشیاء با استفاده از الگوی نمونه اولیه
- از الگوی آداپتور برای سازگار کردن رابط های ناسازگار استفاده کنید
- از الگوی استراتژی برای انتخاب پویا یک الگوریتم استفاده کنید
این کتاب برای چه کسی است
این مسیر یادگیری به ویژه برای توسعه دهندگان پایتون طراحی شده است که می خواهند برنامه های کاربردی با کارایی بالا بسازند و در مورد برنامه نویسی تک هسته ای و چند هسته ای، همزمانی توزیع شده و الگوهای طراحی پایتون بیاموزند. برخی از تجربیات با زبان برنامه نویسی پایتون به شما کمک می کند تا از این مسیر یادگیری بیشترین بهره را ببرید.
فهرست مطالب
- معیار و پروفایل
- بهینه سازی های خالص پایتون
- عملیات آرایه سریع با NumPy و Pandas
- C عملکرد با Cython
- کاوش در کامپایلرها
- اجرای همزمانی
- پردازش موازی
- مقدمه ای پیشرفته بر برنامه نویسی همزمان و موازی
- قانون امدال
- کار با Thread ها در پایتون
- استفاده از بیانیه with در Threads
- درخواست های وب همزمان
- کار با فرآیندها در پایتون
- اپراتورهای کاهش در فرآیندها
- پردازش همزمان تصویر
- مقدمه ای بر برنامه نویسی ناهمزمان
- پیاده سازی برنامه نویسی ناهمزمان در پایتون
- ساخت کانال های ارتباطی با asyncio
- بن بست ها
- گرسنگی
- شرایط مسابقه
- قفل مترجم جهانی
- الگوی کارخانه
- الگوی سازنده
- سایر الگوهای خلاقیت
- الگوی آداپتور
- الگوی دکوراتور
- الگوی پل
- الگوی نما
- سایر الگوهای ساختاری
- الگوی زنجیره مسئولیت
- الگوی فرمان
- الگوی مشاهده گر
ارسال نظر درباره کتاب Advanced Python Programming: Build high performance, concurrent, and multi-threaded apps with Python using proven design patterns