یادداشت مهندسی / 03
مهندسی بکاند و API
تجربهٔ بکاند من در ASP.NET Core و Django شامل طراحی API، احراز هویت، ذخیرهٔ داده، پیامرسانی بلادرنگ و نگهداری برنامه پس از استقرار است.
در این یادداشت 06 پرسش
یک REST API کاربردی را چگونه طراحی کنیم؟
از منابع و کارهایی که کاربر باید انجام دهد شروع میکنم. شکل درخواست و پاسخ باید یکدست باشد، ورودی بررسی شود، خطا واضح بیان شود و در صورت نیاز مسیرها با OpenAPI مستند شوند.
دسترسی کاربران چگونه مدل میشود؟
احراز هویت مشخص میکند کاربر کیست؛ مجوزدهی مشخص میکند چه کاری میتواند انجام دهد. سامانهٔ کلینیک کودکان نقشهای پزشک، ویراستار و بیمار را با قواعد دسترسی جداگانه دارد.
PostgreSQL چه زمانی مناسب است؟
برای دادههای رابطهای، قیدها، ایندکسها و تغییرات تراکنشی از PostgreSQL استفاده کردهام؛ بهویژه جایی که دوام رابطهها و رفتار پرسوجو مهم است.
Redis چه کمکی میکند؟
Redis برای دادههای موقت و دسترسی سریع کاربرد دارد. برای کش باید زمان انقضا و راهبرد بیاعتبارسازی تعریف شود تا اطلاعات کهنه به کاربر نرسد.
WebSocket طراحی بکاند را چگونه تغییر میدهد؟
اتصال پایدار رویدادهای زنده را ممکن میکند، اما احراز هویت اتصال، مسیریابی، قطع ارتباط و ذخیرهٔ تاریخچه را نیز لازم دارد. پروژهٔ گفتوگوی خصوصی از Django Channels و PostgreSQL استفاده میکند.
بکاند آمادهٔ بهرهبرداری چه نیاز دارد؟
فراتر از عملکرد endpoint، پیکربندی، ثبت رخداد، مهاجرت پایگاه داده، نسخهٔ پشتیبان، HTTPS، بررسی استقرار و عیبیابی بدون افشای اطلاعات حساس ضروری است.