Philocode
https://www.youtube.com/watch?v=DuB6UjEsY_Y
میدونستید چرا توی PHP متغیرهامون $ دارن؟
ربطی به پولدوستبودن راسموس نداره؛ صرفاً هدف این بوده که وقتی متغیر رو داخل یه string میذاری، قاطی نشه! 😁
ربطی به پولدوستبودن راسموس نداره؛ صرفاً هدف این بوده که وقتی متغیر رو داخل یه string میذاری، قاطی نشه! 😁
😁4
اگه میخوایید REST API رو خیلی عمیق بفهمید و مصاحبهکنندۀ بعدی رو خَجَل کنید، این چند صفحه رو بخونید:
https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
👍3🔥2😁1
متد DELETE توی REST API باید idempotent باشه. یعنی اگه من صد بار این ریکوست رو بفرستم:
DELETE
نباید state تغییر کنه، فقط و فقط یک ریسورس (که همون دانشآموز کوشا و محترم شمارۀ 45 ــه) حذف میشه و دفعات بعدی هم اتفاق جدیدی برای ریسورس student رخ نمیده و صرفاً خطای 404 برمیگرده.
حالا چرا این مسئله مهمه؟ برای اینکه ممکنه به دلایل عمدی یا غیر عمدی (مثل خطای شبکه)، یک ریکوست، بیشتر از یکبار ارسال بشه.
مثال قبلی درست بود، ولی این مثال رو ببینید:
DELETE
در اینجا با هر بار صدازدن، آخرین نمونه از ریسورس student حذف میشه و اگه دهبار صدا بزنیم، دهتا ریسورس مختلف حذف میشن! چنین چیزی اشتباهه، چون قرار بود که متد DELETE به صورت idempotent کار کنه!
DELETE
/api/students/45نباید state تغییر کنه، فقط و فقط یک ریسورس (که همون دانشآموز کوشا و محترم شمارۀ 45 ــه) حذف میشه و دفعات بعدی هم اتفاق جدیدی برای ریسورس student رخ نمیده و صرفاً خطای 404 برمیگرده.
حالا چرا این مسئله مهمه؟ برای اینکه ممکنه به دلایل عمدی یا غیر عمدی (مثل خطای شبکه)، یک ریکوست، بیشتر از یکبار ارسال بشه.
مثال قبلی درست بود، ولی این مثال رو ببینید:
DELETE
/api/students/lastدر اینجا با هر بار صدازدن، آخرین نمونه از ریسورس student حذف میشه و اگه دهبار صدا بزنیم، دهتا ریسورس مختلف حذف میشن! چنین چیزی اشتباهه، چون قرار بود که متد DELETE به صورت idempotent کار کنه!
🔥7
Philocode
Photo
قبلاً ایدۀ این رو داشتم که آدمها کپچا رو بزنن، و ربات فرم رو پر کنه.
چیزی که وقتگیره، پرکردن فرم با دیتاهای فیکه، نه زدن کپچا!
کافیه پکیج faker رو نصب کنیم و با Selenium یا ابزار مشابهی صفحه رو باز کنیم!
چیزی که وقتگیره، پرکردن فرم با دیتاهای فیکه، نه زدن کپچا!
کافیه پکیج faker رو نصب کنیم و با Selenium یا ابزار مشابهی صفحه رو باز کنیم!
Philocode
Photo
همونطور که مشاهده میکنید:
1. توی Unit test فقط یه کامپوننت تست میشه، اما وقتی به سمت بالای هرم حرکت میکنیم، کامپوننتهای بیشتری مورد تست قرار میگیرند. توی Integration testها رفتار کامپوننتها با هم آزمایش میشه و با E2E تستها سناریوهای بیزنس مورد آزمایش قرار میگیرند. (ندیدم شرکتی انجام بده و خودمم غالباً دومی رو مینویسم و به ندرت Unit test دارم)
2. نوشتن Unit test کمترین زمان رو از دولوپر میگیره، ولی هرچی به سمت بالای هرم حرکت کنیم، زمان بیشتری برای نوشتن تست نیاز داریم.
3. زمان اجراشدن Unit testها از Integration testها کمتره.
#testing
1. توی Unit test فقط یه کامپوننت تست میشه، اما وقتی به سمت بالای هرم حرکت میکنیم، کامپوننتهای بیشتری مورد تست قرار میگیرند. توی Integration testها رفتار کامپوننتها با هم آزمایش میشه و با E2E تستها سناریوهای بیزنس مورد آزمایش قرار میگیرند. (ندیدم شرکتی انجام بده و خودمم غالباً دومی رو مینویسم و به ندرت Unit test دارم)
2. نوشتن Unit test کمترین زمان رو از دولوپر میگیره، ولی هرچی به سمت بالای هرم حرکت کنیم، زمان بیشتری برای نوشتن تست نیاز داریم.
3. زمان اجراشدن Unit testها از Integration testها کمتره.
#testing
👍3🔥1
#یه کد بنویسید (پیش خودتون، لازم نیست کامنتش کنید) که این شکل رو توی خروجی بفرسته. شاید برای خیلیها آسون باشه، اما اگه کسی الگوریتم کار نکرده باشه، مسئلۀ خوبیه که فکرش رو به کار بگیره. اگه سخت بود، اولش نصف مثلث رو انجام بدید، بعد نصف پایین.
##
###
####
#####
####
###
##
#
🤔1
Philocode
یه هفته کرونا گرفتم، 2 کیلو وزن کم کردم! :(
خُب خوشبختانه 1.5 کیلوش تا امروز برگشت. 😂💪
👍1🔥1