3 مهارت Web API که هر توسعه دهنده ای باید بداند

این مقاله توسط فهیم الحق، بنیانگذار و مدیر عامل Educative نوشته شده است.
چه چیزی بیشتر است مهارت مورد تقاضا برای توسعه دهندگان نرم افزار امروز؟ یک مورد قوی برای ایجاد وجود دارد API ها.
اگر توسعهدهنده هستید، احتمالاً میدانید که چرا دانستن نحوه ادغام APIها در کارتان مهم است. در واقع به سرعت به یک تبدیل شده است مهارت غیر قابل مذاکره برای بسیاری از شرکت ها از این گذشته، APIها برای پیادهسازی انواع ویژگیها در حین کار بسیار مفید هستند انتزاع بسیاری از پیچیدگی ها.
هر شرکتی بودجه لازم برای استخدام مهندسان یادگیری ماشین را برای توسعه یک ربات چت هوش مصنوعی داخلی ندارد. در عوض، آنها به آنها تکیه می کنند API های موجود برای رفع نیازهای آنها (اگر میخواهید مهارتهای طراحی API کاربردی خود را تقویت کنید، من به شدت توصیه میکنم دوره جدید ما را بررسی کنید: Grokking the API Design Interview).
با توجه به مجموعه گسترده ای از ویژگی هایی که می توان تنها با API ها پیاده سازی کرد، شرکت ها در هر اندازه به مهندسانی نیاز دارند که با آنها راحت باشد. یکپارچه سازی API.
آموزش ادغام API ها با استفاده از پایتون: یک آموزش 15 دقیقه ای
اخیراً خودمان استیون یی با مهندس API همکاری کرد جو سیوس برای این فیلم آموزشی در ادغام OpenWeather API در برنامه های پایتون. این نقطه شروع عالی برای توسعه دهندگانی است که تازه به API ها می پردازند و برخی از مهم ترین مراحل و ترفندها را در این مدت توضیح می دهد. 15 دقیقه.
https://www.youtube.com/watch?v=RseW7KtKJuw
این آموزش برخی از اصول کلیدی توسعه برنامه وب، مانند ساختن را پوشش می دهد تماس های API، قالب بندی داده های JSON، و چه چیزی خروجی ترمینال ممکن است مانند یک صفحه وب تمام شده به نظر برسد.
یکپارچه سازی API در مقابل طراحی API
آموزش OpenWeather API ما فقط اصول اولیه نحوه استفاده توسعه دهندگان از API ها را هر روز نشان می دهد. چیزهای بیشتری برای یادگیری در مورد API ها وجود دارد که من توسعه دهندگان همه سطوح را تشویق می کنم طراحی API را یاد بگیرند.
طراحی API (گاهی به عنوان طراحی محصول از آن یاد می شود) در حال تبدیل شدن است مجموعهای از مهارتها که به طور فزایندهای در شرکتهای برتر فناوری دنبال میشود. در چشم انداز توسعه مدرن، که در آن میکروسرویس ها و سیستم های توزیع شده به طور فزاینده ای رایج می شوند، می توان API های خود را طراحی کنید راه هایی را برای نوآوری باز می کند.
توسعه دهندگانی که می دانند چگونه API های سفارشی را طراحی، توسعه و مقیاس بندی کنند ارزش باورنکردنی اضافه کنید به هر سازمانی این توسعه دهندگان می توانند اتکا به API های خارجی را کاهش دهند (که می تواند هزینه ها را به میزان قابل توجهی کاهش دهد) و API هایی را با ویژگی های منحصر به فرد طراحی کنند که مزیت رقابتی ایجاد می کند. آن شرکت ها حتی می توانند انتخاب کنند API های توسعه یافته داخلی را به ارائه محصول خود تبدیل کنید! احتمالاً میتوانید ببینید که چرا مدیران و تیمهای استخدام برای این مهارت خاص ارزش زیادی قائل هستند.
بنابراین، اگر یک توسعهدهنده جوان، یک مهندس محصول مشتاق، یا فقط کنجکاو هستید که درباره APIها بیشتر بدانید، اکنون زمان مناسبی برای تقویت مجموعه خود است. تقریباً هر توسعهدهندهای میتواند یاد بگیرد که APIهای قدرتمند را در مدت زمان نسبتاً کوتاهی یکپارچه کند. اما توسعهدهندگان با مهارتهای API و طراحی محصول، داراییهای مهمی هستند که این مجموعه مهارتها باید در صدر فهرست هر توسعهدهندهای قرار گیرد که در ادامه چه چیزهایی باید یاد بگیرند.
3 Web API بهترین تمرین برای استاد
همانطور که در طول مسیر خود پیشرفت می کنید سفر توسعه API، تعدادی وجود دارد بهترین شیوه ها آگاه بودن از.
بسیاری از تکنیکهای حل مسئله که با آنها مواجه میشوید، مختص محصولات، ویژگیها یا APIهای خاص هستند. با این حال، برخی عادات خوب وجود دارد که هر توسعهدهنده محصول باید آنها را شکل دهد.
1) خواندن و نوشتن مستندات
چه دوستش داشته باشی چه از آن متنفر باشی، مستندات هم برای ادغام APIها و هم برای ساختن یک محصول قابل استفاده ضروری است.
APIهای وب شناخته شده و محبوب دارای اسناد گسترده و توصیفی با پاسخ به اکثر مسائل و سؤالات هستند. در صورت شک، اسناد را بررسی کنید. من مطمئن هستم که بسیاری از افراد می توانند بفهمند که چگونه مبلمان IKEA را بدون کتابچه راهنمای دستورالعمل کنار هم قرار دهند، اما وقتی نوبت به ادغام API می رسد، توصیه نمی کنم از آن جلوگیری شود.
اگر در حال طراحی API خود هستید، ثبت نحوه استفاده از آن بسیار مهم است. اگر کسی غیر از خودتان از کد شما استفاده میکند، مطمئن شوید که حداقل حداقل را برای شروع کار او ارائه کردهاید:
-
بررسی اجمالی: توصیف سطح بالا از آنچه API انجام می دهد، برای چه کسی است، و هر اطلاعات کلیدی دیگری برای درک هدف آن.
-
احراز هویت: دستورالعمل های دقیق در مورد نحوه احراز هویت ارائه دهید. این می تواند شامل نحوه دریافت یک کلید API و مکان گنجاندن آن در درخواست API باشد.
-
نقاط پایانی و روش ها: هر نقطه پایانی را در API خود فهرست کنید، روشهای HTTP مورد استفاده با هر کدام (GET، POST، PUT، DELETE و غیره) و اینکه این روشها چه کاری انجام میدهند.
-
پارامترهای درخواستی: هر پارامتری که می تواند در درخواست گنجانده شود، جایی که باید در آن گنجانده شود (مسیر، پرس و جو یا بدنه)، و نوع داده ای که هر کدام باید باشد را توضیح دهید.
-
نمونه های درخواست و پاسخ: نمونه هایی از درخواست ها و پاسخ ها را برای هر نقطه پایانی و روش ارائه دهید.
-
وضعیت پاسخ و کدهای خطا: کدهای وضعیت HTTP که API شما استفاده می کند، معنی آنها و آنچه کاربر در هر مورد باید انجام دهد را فهرست کنید.
-
محدودیت نرخ: اگر API شما محدودیتهای نرخ را اعمال میکند، توضیح دهید که این محدودیتها چیست و در صورت تجاوز از آن چه اتفاقی میافتد.
2) امنیت را در اولویت قرار دهید
اگر در حال ساخت یک برنامه وب هستید، به امنیت توجه زیادی داشته باشید
سایت های قابل نفوذ اهداف آسانی برای عوامل مخرب آنلاین هستند. به علاوه، APIها خود یک هدف رایج برای سوء استفاده و استخراج داده ها هستند.
به عنوان یک قانون کلی، شما باید:
-
نیاز به احراز هویت/کنترل دسترسی: الزام کاربران به احراز هویت قبل از دسترسی به نقاط پایانی API از استفاده غیرمجاز جلوگیری می کند.
-
داده های خود را تأیید کنید: اطمینان از اینکه دادههای ورودی شما از نوع، اندازه و قالب مناسب (JSON یا XML) هستند، برای جلوگیری از ورودیهای مخرب مانند تزریق SQL یا اسکریپت بین سایتی (XSS) ضروری است.
-
داده های خود را رمزگذاری کنید: حتی اگر کسی بتواند داده های شما را رهگیری کند، رمزگذاری آن را غیرقابل رمزگشایی می کند. این امر به ویژه در صورتی مهم است که API شما اطلاعات حساس را مدیریت کند.
3) ساده سازی و اصلاح
هنگام طوفان فکری ایدههایی برای برنامههای کاربردی وب یا محصولات، میتوان به راحتی از بین رفت.
من می بینم که بسیاری از توسعه دهندگان جوان بسیار بیشتر از آنچه که می توانند در پروژه های شخصی و حرفه ای جویدن را گاز بگیرند. بیش از حد، یا اضافه کردن بسیاری از ویژگی های غیر ضروری، پیچیدگی یک پروژه را افزایش می دهد و می تواند پایان آن را در یک جدول زمانی معقول غیرقابل قبول کند. سعی کنید روی چند مورد تمرکز کنید نقاط پایانی به خوبی طراحی شده و کاربردی اولین.
اگه میتونی آن را ساده نگه دارید، شانس این است که در نهایت با یک V1 جامد روبرو شوید و از آنجا بتوانید تکرار کنید.
یاد بگیرید که محصولات و خدمات خود را بسازید
ساختن محصولات با بهرهگیری از مجموعهای از APIها و خدمات، بخش عمدهای از توسعه نرمافزار حرفهای است. با وجود شرایط آشفته اقتصادی، تقاضا برای توسعه دهندگان با تجربه API و توسعه محصول همچنان بالاست.
میتوانید در دوره آموزشی ما عمیقتر به مفاهیم توسعه برنامههای وب (و API که در ویدیو برجسته کردیم) بپردازید، ادغام Open Weather API در پایتون.
در پایان دوره، یک برنامه کاربردی تحت وب خواهید داشت که به طور کامل در پایتون ساخته شده است، به علاوه تجربه ارائه یک front-end با استفاده از جنگو را خواهید داشت.
امیدواریم این خبرنامه سریع برای شما مفید بوده باشد! ما در حال پست بیشتر در کانال آموزشی یوتیوب، بنابراین من شما را تشویق می کنم که مشترک شوید و به ما بگویید که چه موضوعاتی را می خواهید ببینید.
یادگیری مبارک!