Telegram Group & Telegram Channel
#تجربه #جنگو

چیزی که توی کدهای Django توی ایران به معنای واقعی اصلا و هیچوقت ندیدم؛ اما جزو مهمترین موارد هست.

تست نویسی برای سرویس‌های third-party هست که از طریق API استفاده می‌کنیم.

همینجا اضافه کنم؛ همیشه فرض ما این هست که هیچ اتفاقی برای اون سرویس‌ها نمیوفته ولی چندتا سوال؛

۱- سرویس ما چه اتفاقی باید براش بیوفته اگر سرویس دهنده تغییراتی داشته باشه ؟ و درخواست‌های ما 400, 404 , ... برگرده ؟

۲- چه اتفاقی برای سرویس‌های ما خواهد افتاد اگر سرویس دهنده بخاطر محدودیت‌های جدید یا .... بهمون 500, 503, ... برگردونه ؟

اینا چیزهایی هست که ننوشتن تست براش می‌تونه خسارت زیادی به سرویس بزنه مثلاً:

فرض کنید، من یک فروشگاه اینترنتی دارم؛ اگر سرویس درگاه پرداخت به هر دلیلی کار نکنه یعنی فروشگاه من هیچ خروجی نداره دوتا مورد باید هرچه سریعتر انجام بشه :

۱- یک ایمیل critical برای ادمین بره تا بتونه پیگیری کنه موضوع رو از سرویس دهنده

۲- خطای مناسب (اینکه سرویس پرداخت غیرفعال هست) به کاربر نشون داده بشه تا از رفرش و DDOS شدن توسط کاربرهای خودمون جلوگیری بشه

بخصوص روی سرویس‌های auto-scale که با زیاد شدن درخواست سرورهای جدیدی بالا میاد و این یعنی هزینه بیشتر.


توی زبان‌های برنامه‌نویسی مختلف ابزارهای متفاوتی برای اینکار وجود داره؛ توی پایتون هم پکیج
Responses

کمک می‌کنه اینکار رو انجام بدید.

واقعاً نمی‌دونم چرا؛ ولی اینکه این تست‌های توی کدهای شرکت‌های بزرگ داخلی نمی‌بینم یا حتی توی آموزش‌ها و .... مغزم سوت می‌کشه.

بعد اینا از gorilla تست صحبت می‌کنند.


حالا که این موارد رو توی آموزش و کدها ندیدم (توی سرویس‌هایی که تیم‌ خودم می‌نویسه همیشه وجود داره)

گفتم بگم که شما خودتون یاد بگیرید، شاید یک روزی کدهای شما به من رسید یا هم تیمی شدیم.



tg-me.com/pyHints/806
Create:
Last Update:

#تجربه #جنگو

چیزی که توی کدهای Django توی ایران به معنای واقعی اصلا و هیچوقت ندیدم؛ اما جزو مهمترین موارد هست.

تست نویسی برای سرویس‌های third-party هست که از طریق API استفاده می‌کنیم.

همینجا اضافه کنم؛ همیشه فرض ما این هست که هیچ اتفاقی برای اون سرویس‌ها نمیوفته ولی چندتا سوال؛

۱- سرویس ما چه اتفاقی باید براش بیوفته اگر سرویس دهنده تغییراتی داشته باشه ؟ و درخواست‌های ما 400, 404 , ... برگرده ؟

۲- چه اتفاقی برای سرویس‌های ما خواهد افتاد اگر سرویس دهنده بخاطر محدودیت‌های جدید یا .... بهمون 500, 503, ... برگردونه ؟

اینا چیزهایی هست که ننوشتن تست براش می‌تونه خسارت زیادی به سرویس بزنه مثلاً:

فرض کنید، من یک فروشگاه اینترنتی دارم؛ اگر سرویس درگاه پرداخت به هر دلیلی کار نکنه یعنی فروشگاه من هیچ خروجی نداره دوتا مورد باید هرچه سریعتر انجام بشه :

۱- یک ایمیل critical برای ادمین بره تا بتونه پیگیری کنه موضوع رو از سرویس دهنده

۲- خطای مناسب (اینکه سرویس پرداخت غیرفعال هست) به کاربر نشون داده بشه تا از رفرش و DDOS شدن توسط کاربرهای خودمون جلوگیری بشه

بخصوص روی سرویس‌های auto-scale که با زیاد شدن درخواست سرورهای جدیدی بالا میاد و این یعنی هزینه بیشتر.


توی زبان‌های برنامه‌نویسی مختلف ابزارهای متفاوتی برای اینکار وجود داره؛ توی پایتون هم پکیج
Responses

کمک می‌کنه اینکار رو انجام بدید.

واقعاً نمی‌دونم چرا؛ ولی اینکه این تست‌های توی کدهای شرکت‌های بزرگ داخلی نمی‌بینم یا حتی توی آموزش‌ها و .... مغزم سوت می‌کشه.

بعد اینا از gorilla تست صحبت می‌کنند.


حالا که این موارد رو توی آموزش و کدها ندیدم (توی سرویس‌هایی که تیم‌ خودم می‌نویسه همیشه وجود داره)

گفتم بگم که شما خودتون یاد بگیرید، شاید یک روزی کدهای شما به من رسید یا هم تیمی شدیم.

BY Python Hints




Share with your friend now:
tg-me.com/pyHints/806

View MORE
Open in Telegram


Python Hints Telegram | DID YOU KNOW?

Date: |

How Does Telegram Make Money?

Telegram is a free app and runs on donations. According to a blog on the telegram: We believe in fast and secure messaging that is also 100% free. Pavel Durov, who shares our vision, supplied Telegram with a generous donation, so we have quite enough money for the time being. If Telegram runs out, we will introduce non-essential paid options to support the infrastructure and finance developer salaries. But making profits will never be an end-goal for Telegram.

How Does Bitcoin Work?

Bitcoin is built on a distributed digital record called a blockchain. As the name implies, blockchain is a linked body of data, made up of units called blocks that contain information about each and every transaction, including date and time, total value, buyer and seller, and a unique identifying code for each exchange. Entries are strung together in chronological order, creating a digital chain of blocks. “Once a block is added to the blockchain, it becomes accessible to anyone who wishes to view it, acting as a public ledger of cryptocurrency transactions,” says Stacey Harris, consultant for Pelicoin, a network of cryptocurrency ATMs. Blockchain is decentralized, which means it’s not controlled by any one organization. “It’s like a Google Doc that anyone can work on,” says Buchi Okoro, CEO and co-founder of African cryptocurrency exchange Quidax. “Nobody owns it, but anyone who has a link can contribute to it. And as different people update it, your copy also gets updated.”

Python Hints from us


Telegram Python Hints
FROM USA