وبلاگ بلیان

Building REST APIs with Flask : Create Python Web Services with MySQL

جلد کتاب Building REST APIs with Flask : Create Python Web Services with MySQL

معرفی کتاب «Building REST APIs with Flask : Create Python Web Services with MySQL» نوشتهٔ Kunal Relan، منتشرشده توسط نشر Apress : Imprint: Apress در سال 2019. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.

توسعه‌ی وب‌سرویس‌های کارآمد و مقیاس‌پذیر، یکی از نیازهای اساسی دنیای امروز برنامه‌نویسی است. کتاب Building REST APIs with Flask: Create Python Web Services with MySQL نوشته‌ی کونال رلان، راهنمایی گام‌به‌گام برای پیاده‌سازی این وب‌سرویس‌ها با استفاده از فریم‌ورک محبوب و سبک‌وزن Flask و پایگاه‌داده‌ی MySQL ارائه می‌دهد. این کتاب که توسط انتشارات معتبر Apress منتشر شده، با زبانی ساده و رویکردی کاملاً عملی، به شما می‌آموزد چگونه از صفر تا مرحله‌ی استقرار، یک API امن و کارآمد طراحی و پیاده‌سازی کنید.

دربارهٔ کتاب — Building REST APIs with Flask: Create Python Web Services with MySQL

موضوع اصلی این کتاب، توانمندسازی توسعه‌دهندگان پایتون برای ساخت وب‌سرویس‌های RESTful با استفاده از فریم‌ورک Flask و یکپارچه‌سازی آن‌ها با پایگاه‌داده‌ی MySQL است. کتاب با یک دوره‌ی مقدماتی بر Flask و مفاهیم سرویس‌های RESTful آغاز می‌شود و سپس به موضوعات پیشرفته‌تری مانند مدل‌سازی پایگاه‌داده با استفاده از SQLAlchemy ORM، ایجاد نقاط پایانی CRUD، و تست‌نویسی می‌پردازد. نویسنده با تکیه بر تجربه‌ی عملی خود، بهترین شیوه‌ها (Best Practices) را برای ساختاردهی برنامه و تست نقاط پایانی به خواننده آموزش می‌دهد. فضای کتاب کاملاً پروژه‌محور است و خواننده را در هفت فصل، از راه‌اندازی محیط مجازی با pip تا استقرار برنامه روی پلتفرم‌های ابری و نظارت بر آن، همراهی می‌کند. از سرفصل‌های مهم کتاب می‌توان به راه‌اندازی احراز هویت (Authentication)، رندر کردن HTML با استفاده از ویوها، مستندسازی خودکار API و اشکال‌زدایی (Debugging) برنامه اشاره کرد. نویسنده همچنین تفاوت‌های کلیدی بین پایگاه‌های داده‌ی NoSQL و SQL را پوشش می‌دهد و دلایل انتخاب MySQL برای این پروژه را توضیح می‌دهد.

دربارهٔ نویسنده

کونال رلان، نویسنده‌ی این کتاب، یک محقق امنیت آی‌اواس و توسعه‌دهنده‌ی فول‌استک با بیش از چهار سال تجربه در زمینه‌های مختلف فناوری از جمله امنیت شبکه، دواپس، زیرساخت ابری و توسعه‌ی نرم‌افزار است. او به عنوان مشاور با استارتاپ‌هایی در سراسر جهان همکاری داشته و عنوان «باارزش‌ترین حرفه‌ای» (MVP) شرکت Alibaba Cloud را در کارنامه دارد. رلان پیش از این کتاب، کتاب iOS Penetration Testing را نیز برای انتشارات Apress تألیف کرده است. او علاوه بر نویسندگی، یک سخنران فعال است و به طور منظم در جوامع متن‌باز مشارکت داشته و مقالاتی برای وب‌سایت‌هایی مانند Digital Ocean و Alibaba Techshare می‌نویسد.

چرا باید Building REST APIs with Flask: Create Python Web Services with MySQL را بخوانید؟

  • یادگیری عملی و پروژه‌محور: این کتاب بر خلاف بسیاری از منابع نظری، با یک پروژه‌ی عملی پیش می‌رود و شما را با چالش‌های واقعی توسعه‌ی API آشنا می‌سازد.
  • آموزش یکپارچه‌سازی کامل: به طور کامل نشان می‌دهد که چگونه می‌توان Flask را به عنوان یک میکرو-فریم‌ورک با MySQL و SQLAlchemy یکپارچه کرد و از مزایای پایگاه‌های داده‌ی رابط‌ای بهره برد.
  • پوشش چرخه‌ی کامل توسعه: از تست‌نویسی و اشکال‌زدایی گرفته تا استقرار بر روی تمامی پلتفرم‌های ابری بزرگ، تمامی مراحل لازم برای تحویل یک محصول نهایی را پوشش می‌دهد.
  • استفاده از رویکردهای به‌روز: کتاب بر روی نسخه‌های مدرن فریم‌ورک‌ها تأکید دارد و مباحثی مانند احراز هویت و مستندسازی خودکار را نیز آموزش می‌دهد.

این کتاب برای چه کسانی مناسب است؟

این کتاب منبعی ارزشمند برای توسعه‌دهندگان پایتون است که به توسعه‌ی APIهای RESTful با Flask علاقه‌مند هستند. همچنین برای توسعه‌دهندگان وب با دانش برنامه‌نویسی پایه که می‌خواهند بدانند چگونه پایتون و APIهای REST با یکدیگر کار می‌کنند، گزینه‌ای ایده‌آل به شمار می‌رود. خواننده باید آشنایی مقدماتی با پایتون (حداقل خط فرمان یا pip) و MySQL داشته باشد تا بتواند بیشترین بهره را از مطالب کتاب ببرد. این کتاب برای سطوح متوسط تا پیشرفته طراحی شده است.

سوالات متداول

آیا برای شروع خواندن کتاب به دانش قبلی در مورد Flask نیاز است؟

خیر. کتاب با یک فصل مقدماتی (Beginning with Flask) شروع می‌شود که به عنوان یک دوره‌ی آموزشی پایه برای آشنایی با این فریم‌ورک و مفاهیم سرویس‌های RESTful عمل می‌کند. با این حال، داشتن دانش پایه‌ی پایتون پیش‌نیاز اصلی کتاب است.

آیا این کتاب صرفاً بر روی MySQL متمرکز است یا به پایگاه‌های داده‌ی دیگر نیز می‌پردازد؟

مطالب اصلی کتاب حول محور MySQL و استفاده از SQLAlchemy برای اتصال به آن طراحی شده است. اگرچه فصل دوم کتاب به مقایسه‌ی NoSQL و SQL اختصاص دارد، اما تمرکز اصلی بر روی کار با MySQL است تا خواننده یک مسیر مشخص و کامل را تا انتها دنبال کند.

آیا در این کتاب به روش‌های استقرار برنامه بر روی سرویس‌های ابری نیز پرداخته شده است؟

بله، یکی از فصول پایانی کتاب به طور خاص به مبحث استقرار (Deployment) اختصاص یافته است. این فصل به خواننده آموزش می‌دهد که چگونه برنامه‌ی Flask خود را بر روی تمامی پلتفرم‌های ابری بزرگ مستقر، و نحوه‌ی مانیتورینگ و اشکال‌زدایی آن را مدیریت کند.

Develop RESTful web services using the Flask micro-framework and integrate them using MySQL. Use Flask to develop, deploy, and manage REST APIs with easy-to-read and understand Python code. Solve your problem from a choice of libraries. Learn to use MySQL as the web services database for your Flask API using SQLAlchemy ORM. __**Building REST APIs with Flask**__ provides a primer on Flask, RESTful services, and working with pip to set up your virtual environment. The key differences between NoSQL and SQL are covered, and you are taught how to connect MySQL and Flask using SQLAlchemy. Author Kunal Relan presents best practices for creating REST APIs and guides you in structuring your app and testing REST endpoints. He teaches you how to set up authentication and render HTML using views. You learn how to write unit tests for your REST APIs, and understand mocks, assertions, and integration testing. You will know how to document your REST APIs, deploy your Flask application on all of the major cloud platforms, and debug and monitor your Flask application. **What You'll Learn*** Use MySQL to create Flask REST APIs * Test REST endpoints * Create CRUD endpoints with Flask and MySQL * Deploy Flask on all of the major cloud platforms * Monitor your Flask application **Who This Book Is For** Python developers interested in REST API development using Flask and web developers with basic programming knowledge who want to learn how Python and REST APIs work together. Readers should be familiar with Python (command line, or at least pip) and MySQL. Table of Contents 5 About the Author 8 About the Technical Reviewer 9 Acknowledgments 10 Introduction 11 Chapter 1: Beginning with Flask 12 Introduction to Flask 12 Starting Flask 13 Flask Components Covered in This Book 14 Introduction to RESTful Services 15 Uniform Interface 18 Representations 19 Messages 20 Links Between Resources 23 Caching 24 Stateless 24 Planning REST API 25 API Design 26 Long-Term Implementation 26 Spec-Driven Development 26 Prototyping 27 Authentication and Authorization 27 Setting Up Development Environment 27 Working with PIP 28 Choosing the IDE 29 Understanding Python Virtual Environments 30 Using Virtual Environments 31 Setting Up Flask 35 Installing Flask 36 Conclusion 37 Chapter 2: Database Modeling in Flask 38 Introduction 38 SQL Databases 39 NoSQL Databases 39 Key Differences: MySQL vs. MongoDB 40 Creating a Flask Application with SQLAlchemy 41 Creating an Author Database 44 Sample Flask MongoEngine Application 57 Conclusion 69 Chapter 3: CRUD Application with Flask (Part 1) 70 User Authentication 99 Conclusion 107 Chapter 4: CRUD Application with Flask (Part 2) 108 Introduction 108 Email Verification 109 File Upload 120 API Documentation 125 Building Blocks of API Documentation 126 OpenAPI Specification 127 Build Time Documentation 137 Conclusion 145 Chapter 5: Testing in Flask 146 Introduction 146 Setting Up Unit Tests 147 Unit Testing User Endpoints 150 Test Coverage 166 Conclusion 168 Chapter 6: Deploying Flask Applications 169 Deploying Flask with uWSGI and Nginx on Alibaba Cloud ECS 170 Deploying Flask on Gunicorn with Apache on Alibaba Cloud ECS 177 Deploying Flask on AWS Elastic Beanstalk 182 Deploying Flask App on Heroku 186 Adding a Procfile 187 Deploying Flask App on Google App Engine 190 Conclusion 192 Chapter 7: Monitoring Flask Applications 193 Application Monitoring 193 Sentry 195 Flask Monitoring Dashboard 197 New Relic 199 Bonus Services 202 Full Text Search with Flask 202 Pyelasticsearch 202 Flask-WhooshAlchemy 203 Email 203 Flask-SendGrid 203 AWS SNS Using Boto3 203 File Storage 204 AWS S3 Using Boto3 204 Alibaba Cloud OSS 204 Conclusion 204 Index 205 "Develop RESTful web wervices using the Flask micro-framework and integrate them using MySQL. Use Flask to develop, deploy, and manage REST APIs with easy-to-read and understand Python code. Solve your problem from a choice of libraries. Learn to use MySQL as the web services database for your Flask API using SQLAIchemy ORM. "Building REST APIs with Flask" provides a primer on Flask, RESTful services, and working with pip to set up your virtual environment. The key differences between NoSQL and SQL are covered, and you are taught how to connect MySQL and Flask using SQLAIchemy. Author Kunal Relan presents best practices for creating REST APIs and guides you in structuring your app and testing REST endpoints. He teaches you how to set up authentication and render HTML using views. You learn how to write unit tests for your REST APIs, and understand mocks, assertions, and integration testing. You will know how to document your REST APIs, deploy your Flask application on all of the major cloud platforms, and debug and monitor your Flask application."--Publisher's description Front Matter ....Pages i-xv Beginning with Flask (Kunal Relan)....Pages 1-26 Database Modeling in Flask (Kunal Relan)....Pages 27-58 CRUD Application with Flask (Part 1) (Kunal Relan)....Pages 59-96 CRUD Application with Flask (Part 2) (Kunal Relan)....Pages 97-134 Testing in Flask (Kunal Relan)....Pages 135-157 Deploying Flask Applications (Kunal Relan)....Pages 159-182 Monitoring Flask Applications (Kunal Relan)....Pages 183-194 Back Matter ....Pages 195-199
دانلود کتاب Building REST APIs with Flask : Create Python Web Services with MySQL