ساختار لاراول بر اساس Technical Responsibilityهاست، بر خلاف Nest.js که پروژه رو بر حسب ماژول تقسیم میکنه و میشه بر اساس Domain Modelها پروژه رو پیش برد.
👍1😱1
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 یا ابزار مشابهی صفحه رو باز کنیم!