عمومی

وبهوک‌ها (مینی دوره)

معرفی webhook و مشکلاتی که در هنگام استفاده از webhook ها ممکنه رخ بده

  • 34 ثبت نام
  • متوسطه
  • ذخیره کن
درباره‌ی دوره

یکی از ابزارهای اصلی ای که به ما کمک میکنه که از رویدادهایی که توی سرویس‌های جانبی ای که استفاده کردیم اتفاق میوفته مطلع بشیم، وبهوک هستش. مثال زیر رو در نظر بگیرید:

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

تا اینجا همه چیز اکی به نظر میرسه، ولی سناریوهای زیر رو در نظر بگیرید:

  • بعضی وقت‌ها و به خاطر اتفاقات مختلف، ممکنه که ای پی آی ای که از سمت درگاه پرداخت صدا زده میشه، به مشکل بخوره.
  • برای تست درگاه پرداخت روی لوکال هاست، ما نمیتونیم آدرس لوکال هاستمون رو به اون بدیم.
  • بعضی وقت‌ها ممکنه یه وبهوک صدا زده بشه، ما همه‌ی کارها رو انجام بدیم، ولی توی لحضه‌ی آخر، به مشکل بخوریم. به همین خاطر درگاه پرداخت یه بازه‌ای رو صبر میکنه و وبهوک مارو دوباره صدا میزنه و ما با وجود این که قبلا یه بار سفارش کاربر رو پردازش کردیم، دوباره سعی میکنیم سفارش رو پردازش کنیم و اگه حواسمون نبوده باشه، حتی ممکنه محصول رو دوبار برای کاربر ارسال کنیم.

توی این وبینار، همه‌ی این سناریوها رو بررسی میکنیم و یه مقدار هم دست به کد میشیم و از درگاه پرداخت stripe برای پروژه‌ای که داریم استفاده میکنیم.

 

ویدیو جلسه اول

10m


ویدیو جلسه دوم

20m


instructor-image

بهمن شادمهر

مهندس نرم‌افزار عاشق قهوه

  • 1365
  • 18 دوره
  • 205
درباره‌ی مدرس

سلام! من بهمن شاد‌مهرم من بهمن‌ام، یه برنامه‌نویس و توسعه‌دهنده نرم‌افزار که عاشق چالش‌های فنی‌ام! این چند سال گذشته، بیشتر وقت‌هام رو صرف این کردم که با یه لپ‌تاپ و یه اینترنت درست‌حسابی، سیستم‌های عجیب و غریب بسازم و مشکلات بقیه رو حل کنم (از همونایی که می‌گن "این دیگه چطوری کار می‌کنه؟"). از نوشتن کدهای باحال و اتومات‌کردن سیستم‌های انرژی گرفته تا تریدینگ با داده‌های پرسرعت، حسابی سرم شلوغ بوده. یه پروژه‌ای داشتم که حسابی دردسرساز بود ولی آخرش تونستم با بهینه‌سازی زیرساخت، ۵۰ درصد هزینه‌ها رو کاهش بدم! (می‌دونی وقتی هزینه رو این‌قدر کم می‌کنی، چه جوری همه باهات رفیق می‌شن؟!). بعضی از پروژه‌هایی که انجام دادم: CoffeeCodeCamp: یه پلتفرم که بهتون یاد می‌ده کد بزنید و هر چی نوشتید رو هم خودش تست می‌کنه! MasterYourCourses: یه سیستم مدیریت دوره‌های آموزشی که کامل‌ترین امکانات رو داره. CryptoCasting: این یکی برای عاشقای تریدینگ! پلتفرمی برای جمع‌آوری داده‌های با سرعت بالا. اگه بخوام از مهارت‌هام بگم، بیشتر با پایتون و گلانگ ور می‌رم، توی AWS و GCP غرقم و از Docker و Kubernetes هم برای نگه‌داشتن سرویس‌ها استفاده می‌کنم (یه جورایی مثل کارهای عادی روزمره‌م شدن اینا!). همیشه دوست دارم با سیستم‌های پیچیده سر و کله بزنم و کدهای خفن‌تر بنویسم. راستش از اینکه زیرساخت‌های نرم‌افزاری رو بهینه کنم و هزینه‌ها رو پایین بیارم هم بد نمیاد؛ آخه کی از کم‌شدن هزینه‌ها بدش میاد؟!

سوالات متداول این دوره
course image

رایگان

پیش‌ نیازهای این دوره

پیش نیازی ندارد