Syntax | سینتکس – Telegram
برنامه نویس:
امنه امنه

تعداد بک دور های اپلیکیشن

link

#fun

@Syntax_fa
🤣31👍1
تو مصاحبه بک اند ممکنه بپرسن که آیا برای مایکروسرویس ها از API Gateway استفاده می کنید؟
مزیت ها و کاربرد های مختلف API

Gateway:
1. Routing
کلاینت فقط به یک endpoint درخواست میزنه و Gateway درخواست رو به مایکروسرویس مربوطه میده که دیزاین کلی سیستم ساده میشه

2. Rate limiting and throttling
می تونیم با اعمال Rate limiting جلوی حمله DDoS رو بگیریم و این موضوع در Gateway انجام بشه نه در هر مایکروسرویس

3. Caching
می تونیم پاسخ های هر مایکروسرویس رو Cache کنیم و اگر درخواست مشابه بود همون رو برگردونیم که بار کلی سیستم کم میشه

4. Authentication and Authorization می تونیم دسترسی دادن رو یکجا انجام بدیم تا اینکه هر مایکروسرویس جداگانه اینکار رو بکنه

5. Load Balancing
اگر از یک سرویس چند instance داشته باشیم می تونیم بینشون load balance کنیم

6. Monitoring
می تونیم یه سری metric جمع آوری کنیم و ببینیم کدوم مایکروسرویس ها ضعیف تر عمل میکنند و reliability سیستم رو بالا ببریم

7. Transformation
اگر مثلا یه سرویس SOAP قدیمی داشته باشیم که XML برمیگردونه می تونیم تبدیلش به JSON کنیم حتی میتونم داده های سرویس های مختلف رو ترکیب کنیم

8. Request and response
ولیدیشن اگر Schema از request و response مایکروسرویس ها داشته باشیم جایی که یک مایکروسرویس خطا خورده میتونیم متوجه بشیم و خطای مناسب برگردونیم

9. Circuit Breaker
با استفاده از این الگو اگر یک مایکروسرویس مشکلی داشت می تونیم از یک مایکروسرویس جایگزین استفاده کنیم

10. Service Discovery
کلاینت ها نیاز ندارن که بدونن هر مایکروسروس کجاست و با این الگو می تونیم راحت سرویس اضافه و کم کنیم

11. API Versioning Gateway
می تونه از وجود چند نسخه از یک API خبر داشته باشه و دولوپر ها راحت می تونن نسخه های جدید رو توسعه بدن

12. Error Handling
می تونیم خطا با فرمت یکسان تولید کنیم حتی اگر یک مایکروسرویس از دسترس خارج شده باشه

13. Service Aggregation
تو این الگو به جای اینکه یک کلاینت به چند مایکروسرویس درخواست بده، Gateway پاسخ چند مایکروسرویس رو تو یک response ترکیب می کنه که بار کلی سیستم کم میشه

14. Web Application Firewall (WAF)
می تونیم یک Firewall اضافه کنیم و جلوی حملاتی مثل XSS و DDoS و SQL Injection رو بگیریم

15. API Documentation
می تونیم تو Gateway با یک فرمت استادندارد مثل OpenAPI یا Swagger مستندات کلی سیستم رو تولید کنیم.

این مطالب همه تئوری هستند اما با استفاده از nginx می تونید اینها رو پیاده سازی کنید

link

#api_gateway

@Syntax_fa
👍11🔥4
چند تا میم ببینید

#fun

@Syntax_fa
😁11
Django rich-text editors.pdf
502.3 KB
معرفی انواع ویرایشگر های متن (rich-text editor) در جنگو

خیلی پیش میاد در پروژه هایی که مبتنی بر render هستش بخواید از یک ویرایشگر متن خیلی خوب برای تولید محتوا استفاده کنین.

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

البته شما می تونین بدون استفاده از این ماژول ها هم بر حسب نیازتون به صورت مستقیم از این ها ساتفاده کنین ولی خوب باید تنظیمات متفاوتی رو درش اعمال کنین که معمولا زمان بر هستش. از جمله ویرایشگر های جنگو میشه به این ها اشاره کرد، البته فقط محدود به این ها نیستن:
django-ckeditor - django-froala-editor - django-summernote - django-quill - django-tinymce

البته که جنگو محدود به این ها نیستش و می تونین ماژول های متفاوتی هم توسعه بدید و یا پیدا کنین ولی این ماژول ها جزو پر مصرف ترین ها به شمار میان.

انتخاب خودم:
من به شخصه بیشتر از ckeditor استفاده می کنم به خصوص اینکه پشتیبانی از آپلود فایل رو هم داره

link

@Syntax_fa
👍82
Forwarded from Mr.Grayhat [S.R]
چه محتوایی، چه سوالاتی 😁
ظاهرا خیلی هاتون منطق و رویکرد های jwt هارو درست نمی‌دانین ( یا درست ننوشتن و منتقل نکردن بهتون)
توکن اومد که راه حل های چند منظوره همه جانبه و سبک باشه
👍1
Forwarded from alikz
Syntax | سینتکس
Voice message
خیلی ممنون
فقط یه نکته ای میخواستم بگم
اینکه تو هر ریکوئست چک بشه آپدیت بودن توکن کاربر به نظرم بازم مفهوم و علت بوجود اومدن jwt رو زیر سوال میبره
این فرق خاصی از نظر پرفورمنس و فشار سیستم با حالت چک کردن سشن کاربر تو هر درخواست و دراوردن اطلاعات کاربر نداره
بالاخره کوئری زدی هر چقدرم سبک
حالا فرقیم نداره با ردیس چک میکنی یا مستقیم از دیتابیس میخونی
تو هر دوتا کیس داری کوئری میزنی
بنظرم jwt باید برای سیستم هایی استفاده شه عمدتا که امنیت و سطح دسترسی کاربر لازم نباشه در لحظه اعمال و چک شه
اگه استفاده شه هم همه جای سیستم کوئری نزنی دیتابیس
مثلا یجا یکی میخواد یه رکورد از جدولای کاربر رو پاک کنه
خب اوکی تو موقع پیدا کردن اون رکورد علاوه بر id اون چک میکنی userId هم داخل توکن کاربر باشه
حالا اگه این تیکه از اپ برات خیلی مهمه
کل دیتا یوزرم میگیریو چک میکنی که آیا واقعا الان میتونه ای ریسورس رو دستکاری کنه یا نه
🔥3👍21
Forwarded from Mr.Grayhat [S.R]
👍6
Forwarded from Mr.Grayhat [S.R]
🥰5👍1
Forwarded from BiGGyWiLi
Syntax | سینتکس
Voice message
به به ویس های آموزنده

الان آرایشگاه ام
برم خونه گوش میدم😁
👎6😁3
Forwarded from Alireza-Fa
Syntax | سینتکس
Voice message
فقط من یجاش فرق داره

اگه اطلاعات یوزر اپدیت شد.
اون اکسس توکن رو با کلید «استرینگ اکسس توکن» و تایم اوت هم مقداری که یه اکسس توکن میتونه معتبر باشه ذخیره میکنم.

بعد تو هر درخواست میدلور چک میکنه اگه اکسس توکنه توی کش بود نامعتبر هستش و باید رفرش کنه
👍1
Forwarded from Alireza-Fa
Syntax | سینتکس
لقمه دور سر پیچاندنه
فهمیدم مشکلشو

روشی که گفتی رو پیادش میکنم
Syntax | سینتکس
Voice message
صحبت خودمونی درباره JWT و راهنمایی های خوب آقا سعید

حتما گوش بدید کلی نکته مهم گفته شده
👍8🔥1
1712416705304.pdf
489.2 KB
ممکنه تو مصاحبه ازتون در مورد Caching بپرسند

یا حتی بخواهید که برای سایتتون Caching راه بندازید تا سریع تر لود بشه

یا ممکنه Cache داشته باشه و تو invalidate کردن مشکل بخورید

تو این داکیومنت به صورت ساده Caching رو توضیح داده

@gopher_academy

#cache

@Syntax_fa
👍8🙏2