طراحی و پیاده سازی
-

چگونه یک سیستم آپلود فایل امن طراحی کنیم؟
آپلود فایل نقطهای است که سامانه داوطلبانه داده بیرونی را میپذیرد؛ اگر لایهبندی نشده باشد، دروازه ورود مهاجم میشود. این…
بیشتر بخوانید » -

Test Pyramid چیست و چگونه تعداد تستها را منطقی کنیم؟
وقتی تستها جای درست ایستاده باشند شبکه امن میسازند و وقتی نه، خودشان به بار تبدیل میشوند. هرم تست (Test…
بیشتر بخوانید » -

تفاوت Unit Test، Integration Test و End-to-End Test چیست؟
تست واحد (Unit Test) منطق کوچکترین قطعه کد را در انزوا میآزماید، تست یکپارچه (Integration Test) درز اتصال قطعهها به…
بیشتر بخوانید » -

Code Review چیست و یک فرآیند بررسی کد مؤثر چه ویژگیهایی دارد؟
Code Review یعنی خواندن و ارزیابی تغییرات کد توسط همکار پیش از ادغام؛ فیلتری که خطا را زود و ارزان…
بیشتر بخوانید » -

Git Flow و Trunk-Based Development چه تفاوتی دارند؟
Git Flow و Trunk-Based Development دو راهبرد شاخهزنی (Branching) در کنترل نسخه هستند: اولی با چند خط دائمی و انتشارهای…
بیشتر بخوانید » -

CI/CD چیست و چگونه فرآیند انتشار نرمافزار را خودکار میکند؟
انتشاری که به سند بیستودو گامی و حافظه یکی دو نفر گره خورده، کمیاب میشود چون ترسناک است؛ و چون…
بیشتر بخوانید » -

Logging و Error Handling حرفهای در نرمافزار چگونه انجام میشود؟
خطایی که بلعیده میشود فردا تکرار میشود و خطایی که همهجزئیاتش به کاربر میرسد، هم اعتماد و هم امنیت را…
بیشتر بخوانید » -

Rate Limiting چیست و چگونه از API در برابر سوءاستفاده محافظت میکند؟
یک اسکریپت بیمحابا میتواند سرویسی سالم را برای همه کند یا قطع کند. Rate Limiting با گذاشتن سقف منصفانه روی…
بیشتر بخوانید » -

Queue و Background Job چیست و چه زمانی باید کار را از درخواست اصلی جدا کنیم؟
ثبت سفارشی که خودش ایمیل میفرستد، فاکتور میسازد و انبار را همگام میکند، در ساعات اوج کاربر را معطل و…
بیشتر بخوانید » -

Transaction و Concurrency در پایگاه داده چگونه از خرابشدن اطلاعات جلوگیری میکنند؟
دو مسافر در همان لحظه آخرین صندلی یک مسیر را میخرند و سامانه به هر دو بلیت میدهد؛ اینجا دقیقاً…
بیشتر بخوانید »