در این کتاب، شما یاد خواهید گرفت که چگونه با استفاده از فریم ورک جنگو و فریمورک REST جنگو چندین وب API با پیچیدگیهای متفاوت را ایجاد کنید. جنگو یک فریم ورک محبوب مبتنی بر پایتون است که بخشهای پیچیدهی ایجاد یک وبسایت ازجمله احراز هویت کاربر، اتصال به پایگاه داده، منطق، امنیت و غیره را شامل میشود. همچنین هزاران بستهی شخص ثالث وجود دارند که قابلیتهایی را به خود جنگو اضافه میکنند، مهمترین آنها فریمورک REST جنگو است که به برنامهنویسان این امکان را میدهد که هر پروژهی جنگو موجود را به یک وب API قدرتمند تبدیل کنند. شرکتهای فناوری بزرگی مانند اینستاگرام، موزیلا و پینترست از جنگو و فریمورک REST جنگو استفاده میکنند. به خاطر اینکه رویکرد " batteries included" جنگو بخشهای زیربنایی پنهان را پوشش میدهد و توسعه سریع و امن را امکانپذیر میکند، این فریماه همچنین برای مبتدیان یا پروژههایی کوچک مناسب هستند. با مطالعه این کتاب، شما قادر خواهید بود تا با استفاده از کم¬ترین حجم کد و در زمان بسیار کم¬تر، وب APIهایی آمادهبهکار را ایجاد کنید.
توضیحات اضافه:چرا از وب APIها استفاده می¬شود؟ API (Application Programming Interface) یک راه کوتاه برای توصیف نحوه ارتباط مستقیم دو رایانه با یک¬دیگر است. برای APIهای وب که در وب جهانی وجود دارند، الگوی معماری غالب REST (REpresentational State Transfer) شناختهشده است و در این کتاب بهدرستی پوشش داده خواهد شد. در سال 2005، هنگامیکه جنگو برای اولین بار منتشر شد، بیش¬تر وبسایتها یک کد حجیم یک¬پارچه داشتند. پشتیبانی از مدلهای پایگاه داده، دیدها و URLها با قالبهای پیش¬خوان (فرانت-اند) ترکیب میشدند تا لایه ارائه هر صفحه وب را کنترل کنند. اما این روزها برای وبسایتها بسیار رایجتر شده است که رویکرد API-First را اتخاذ کنند تا پس-خوان (back-end) را از پیش¬خوان (front-end) جدا کنند. این موضوع به وبسایت امکان میدهد تا از فریم¬ورک پیش¬خوان JavaScript اختصاصی مانند React یا Vue استفاده کند که به ترتیب در سالهای 2013 و 2014 منتشر شدند. وقتی فریم¬ورک¬های جدید جای فریم¬ورک¬های فعلی را در آینده به خود اختصاص میدهند، API پشتیبانی شده باقی میماند و نیازی به بازنویسی اساسی و از ابتدای آن¬ها نیست. یکی دیگر از مزایای عمده، این است که یک API میتواند چندین پیش¬خوان (فرانت-اند) را که با زبانها و فریم¬ورک¬های مختلف نوشتهشدهاند، پشتیبانی کند. برای مثال، جاوا اسکریپت برای پیش¬خوان(فرانت-اند)های وب استفاده میشود، درحالیکه اپلیکیشنهای اندروید به زبان جاوا و اپلیکیشنهای iOS به زبان Swift نوشته میشوند. با رویکرد سنتی مونولیتیک، یک وبسایت جنگو قادر به پشتیبانی از این (فرانت-اند)های مختلف نیست. اما با یک API داخلی، همه آنها میتوانند با پایگاه داده مشترک پشتیبانی کنند! وبسایتهای در حال رشد همچنین می¬توانند از ایجاد یک API خارجی بهره¬مند شوند که به توسعهدهندگان شخص ثالث اجازه می¬دهد اپلیکیشنهای iOS یا Android خود را بسازند. زمانی که من در سال 2010 در Quizlet کار میکردم، منابع لازم برای توسعه اپلیکیشنهای iOS یا Android خود را نداشتیم، اما API خارجی در دسترس بود که بیش از 30 توسعهدهنده از آن برای ساخت اپلیکیشنهای کارتهای حافظه خود بهره بردند که توسط پایگاه داده Quizlet پشتیبانی میشد. چندین مورد از این اپلیکیشنها بیش از یکمیلیون بار دانلود شدند و توسعهدهندگان را غنی و بی¬نیاز کردند و بهطور هم¬زمان دسترسی به Quizlet را افزایش دادند. عیب اصلی رویکرد API-first این است که نسبت به یک اپلیکیشن جنگو سنتی، نیاز به پیکربندی بیش-تری دارد. بااینحال، همانطور که در این کتاب خواهیم دید، کتابخانه فوقالعاده فریمورک REST جنگو بسیاری از این پیچیدگیها را برای ما حذف میکند. فریم¬ورک REST جنگو هزاران اپلیکیشن شخص ثالث در دسترس هستند که عملکردها و قابلیت¬های بیش¬تری را به جنگو اضافه میکنند. شما میتوانید یک لیست کامل و قابل جستجو را در سایت جنگو Packagesمشاهده کنید، همچنین لیستی منتخب را در ریپوی "awesome-django " مشاهده کنید. بااینحال، در میان تمام اپلیکیشن¬های شخص ثالث، میتوان گفت فریمورک REST جنگو برای جنگو بهترین اپلیکیشن است. این فریم¬ورک کامل، دارای ویژگی¬های بسیار، قابل سفارشیسازی، قابل تست و با مستندات بسیار خوب و مناسب است. همچنین بهطور هدفمند بسیاری از مفاهیم سنتی جنگو را تقلید میکند که یادگیری آن را بسیار سریع¬تر میکند. اگر شما از قبل جنگو را بلد باشید، یادگیری فریمورک REST جنگو گام منطقی بعدی است. پیش¬نیازها اگر در توسعه وب با جنگو تازهکار هستید، توصیه میکنم ابتدا کتاب قبلی من Django for Beginners (جنگو برای مبتدیان) را بخوانید. چند فصل اول این کتاب بهصورت رایگان در اینترنت در دسترس است و شامل مباحثی مانند راهاندازی مناسب، اپلیکیشن Hello World، اپلیکیشن Pages و اپلیکیشن Message Board است. نسخه کامل این کتاب عمیقتر میشود و یک وبسایت وبلاگ را با فرمها و حسابهای کاربری و همچنین یک سایت روزنامه آماده محیط تولید را پوشش میدهد که دارای یک مدل کاربر سفارشی، جریان احراز هویت کامل کاربر، ایمیلها، مجوزها، استقرار، متغیرهای محیطی و موارد دیگر است. این پیشینه در جنگو سنتی، مهم است به خاطر اینکه فریم¬ورک REST جنگو عمداً بسیاری از مفاهیم جنگو سنتی را تقلید میکند. همچنین، توصیه میشود که خوانندگان دانش پایهای و اولیه در زمینه پایتون را داشته باشند. بهطورکلی، فراگیری کامل پایتون چندین سال زمان میبرد، اما با یک دانش کم میتوانید مستقیماً شروع به ساخت مدلها کنید. چرا این کتاب؟ من این کتاب را نوشتهام، زیرا بهنوعی، برای توسعهدهندگانی که بهتازگی با فریمورک REST جنگو آشنا شدهاند، منابع مناسبی وجود ندارد. به نظر میرسد فرض بر این است که همه از قبل همهچیز را در مورد رابط برنامهنویسی اپلیکیشن (API)ها، HTTP، REST و موارد مشابه میدانند. مسیر یادگیری من در زمینه ساخت API وب، آزاردهنده و خستهکننده بود ... و حتی من خودم قبلاً به¬خوبی جنگو را بلد بودم که بتوانم کتابی در مورد آن بنویسم! این کتاب، راهنمایی است که من آرزو داشتم هنگام شروع به کار با فریم¬ورک REST جنگو، در دسترس داشته باشم. فصل اول به نصب پایتون، جنگو، Git و کار با خط فرمان میپردازد. فصل دوم، یک مقدمهای برای رابط برنامهنویسی اپلیکیشن (API) و پروتکل HTTP ارائه میدهد. در فصلهای 3 و 4، ما با ساختن یک وبسایت کتابخانه با جنگو سنتی، آن را به یک API تبدیل کرده، تست میکنیم و سپس آن را بهصورت آنلاین به کار میبریم. در فصل ۵، یک API Todo با نقاط پایانی لیست و جزئیات را ساخته، تست کرده و آن را به کار میبریم. این فصل همچنین شامل CORS(اشتراک منابع بین سایت¬های مختلف یا Cross Origin Resource Sharing) است. فصل ۶، شروع ساخت یک API وبلاگی آمادهبهکار (محصول) با یک مدل کاربری سفارشی و قابلیت CRUD (ایجاد-خواندن-بهروزرسانی-حذف) کامل است. فصل ۷، بهدرستی به محدود کردن دسترسی و ایجاد یک کلاس دسترسی سفارشی میپردازد. در فصل هشتم، تمرکز به احراز هویت کاربر و چهار روش داخلی احراز هویت میپردازد. سپس به اضافه کردن نقاط پایانی ثبتنام کاربر، ورود، خروج، بازنشانی کلمه عبور و تأیید بازنشانی کلمه عبور میپردازیم. در فصل نهم به viewset¬ها و مسیریاب¬ها پرداخته میشود، که اجزای داخلی هستند که میتوانند حجم کد نویسی موردنیاز برای نقاط پایانی API استاندارد را بهشدت کاهش دهند. فصل دهم شما (schema) و مستندات را پوشش میدهد و فصل یازدهم بهصورت گامبهگام در مورد استقرار محصول میپردازد. کدهای منبع کامل برای همه فصلها این کتاب بهصورت آنلاین در Github موجود است. نتیجه¬گیری درواقع جنگو و فریم¬ورک REST جنگو یک راه قدرتمند و دسترس برای ساخت APIهای وب هستند. در پایان این کتاب شما قادر خواهید بود API را به هر پروژه جنگویی موجود اضافه کنید یا با استفاده از بهترین شیوههای مدرن، یک API وب اختصاصی از صفر ایجاد کنید. بیایید شروع کنیم!
فرمت محتوا | pdf |
حجم | 12.۴۱ کیلوبایت |
تعداد صفحات | 150 صفحه |
زمان تقریبی مطالعه | ۰۵:۰۰:۰۰ |
نویسنده | ویلیام اس. وینسنت |
مترجم | یوسف عباس نژادورزی |
مترجم دوم | سعید عباس نژادورزی |
مترجم سوم | مجید رهی |
ناشر | فناوری نوین |
زبان | فارسی |
تاریخ انتشار | ۱۴۰۲/۱۰/۲۶ |
قیمت ارزی | 5 دلار |
قیمت چاپی | 195,000 تومان |
مطالعه و دانلود فایل | فقط در فیدیبو |