Media is too big
VIEW IN TELEGRAM
معرفی Roadmap تست نرمافزار با QA Lead اکالا برای دولوپر ها 🚀
اگر نمیدونید چطوری تست نرمافزار را به صورت اصولی و حرفهای یاد بگیرید؛ این ویدئوی آموزشی، در قسمت اول راهنمای جامع و کاربردی از صفر تا صد تست نرمافزار میخواهد بیان کند که توسط من و علی حاجی خالویی تهیه شده است.
🔥 چرا این ویدئو را ببینیم؟
⬅️ آشنایی با مفاهیم کلیدی مثل Black Box vs White Box Testing
⬅️ یادگیری طراحی تستهای مؤثر با روشهای مختلف Test Design
⬅️ معرفی الگوهای تستنویسی مثل AAA Pattern و Four Phase Pattern
⬅️ مقایسه رویکردهای توسعه (TDD, BDD, TLD) و کاربرد هرکدام
⬅️ نحوه Mock کردن سرویسها و تست متدهای Internal
⬅️ دیتابیس های فیک و استفاده از Mock Server برای تست یکپارچگی
قسمت اول
لینک ویدئو: https://youtu.be/10SKSmI7nV0
لینک رودمپ: https://github.com/hasanxdev/Test-Roadmap-For-Developers
اگر نمیدونید چطوری تست نرمافزار را به صورت اصولی و حرفهای یاد بگیرید؛ این ویدئوی آموزشی، در قسمت اول راهنمای جامع و کاربردی از صفر تا صد تست نرمافزار میخواهد بیان کند که توسط من و علی حاجی خالویی تهیه شده است.
🔥 چرا این ویدئو را ببینیم؟
⬅️ آشنایی با مفاهیم کلیدی مثل Black Box vs White Box Testing
⬅️ یادگیری طراحی تستهای مؤثر با روشهای مختلف Test Design
⬅️ معرفی الگوهای تستنویسی مثل AAA Pattern و Four Phase Pattern
⬅️ مقایسه رویکردهای توسعه (TDD, BDD, TLD) و کاربرد هرکدام
⬅️ نحوه Mock کردن سرویسها و تست متدهای Internal
⬅️ دیتابیس های فیک و استفاده از Mock Server برای تست یکپارچگی
قسمت اول
لینک ویدئو: https://youtu.be/10SKSmI7nV0
لینک رودمپ: https://github.com/hasanxdev/Test-Roadmap-For-Developers
👍16🔥3❤2⚡2😡1
Code With HSN
معرفی Roadmap تست نرمافزار با QA Lead اکالا برای دولوپر ها 🚀 اگر نمیدونید چطوری تست نرمافزار را به صورت اصولی و حرفهای یاد بگیرید؛ این ویدئوی آموزشی، در قسمت اول راهنمای جامع و کاربردی از صفر تا صد تست نرمافزار میخواهد بیان کند که توسط من و علی حاجی…
بهترین حمایت غیرمالی که میتونید الان انجام بدید Star دادن در گیتهاب هست! ✨
مرسی که این ۳۰ ثانیه رو برام وقت میذارید! 🤍
اگه ویدئو رو دیدید و دوست داشتید، این رو برای بقیه هم بفرستید تا اونها هم یاد بگیرن.
دمتون گرم! 🫶❤️
مرسی که این ۳۰ ثانیه رو برام وقت میذارید! 🤍
اگه ویدئو رو دیدید و دوست داشتید، این رو برای بقیه هم بفرستید تا اونها هم یاد بگیرن.
دمتون گرم! 🫶❤️
❤10👍4🔥2😡1
مهران واقعا توی یک لیگ دیگه ای از دات نت و AI استفاده میکنه! استفاده کنید بچها، شاید در آینده منم دراین باره ویدئو رکورد کردم ولی اینو از دست ندید
https://www.linkedin.com/events/7314286619304378368/
https://www.linkedin.com/events/7314286619304378368/
Linkedin
TDD OpenAI with .NET | LinkedIn
In this live session, we will explore the AI abstractions in Microsoft.Extensions.AI and create a simple chatbot using IChatClient in a test-driven manner. First, we will write tests that fail, and then we will modify our IChatClient to pass them.
#Dubai…
#Dubai…
👍7❤1😡1
Forwarded from Programming Tips 💡 (Moien Tajik)
A Structured Roadmap to Master Software Testing for Developers 🚀
Struggling to navigate the world of testing? 💭
I’ve compiled a comprehensive roadmap to help developers learn testing concepts systematically—whether you're a beginner or looking to fill gaps in your knowledge.
🔍 What’s Inside?
✅ Core Testing Concepts (White/Gray/Black Box)
✅ Test Design (Equivalence Partitioning, Boundary Analysis, etc.)
✅ Naming Standards
✅ Patterns (AAA, Four-Phase, BDD with Gherkin)
✅ Test Types (Unit, Integration, E2E, Performance, etc.)
✅ Tools & Frameworks (xUnit, Playwright, K6, AutoFixture, etc.)
✅ Best Practices (Clean Test Code, Test Smells, Coverage)
✅ Static Analysis & CI/CD Integration
📌 Highlights
Self-assessment friendly → Track your progress.
Language-agnostic → Examples in .NET, JS, Python, PHP.
Practical focus → From TDD/BDD to CI/CD pipelines.
[GitHub] : https://github.com/hasanxdev/Test-Roadmap-For-Developers
〰️〰️〰️〰️〰️〰️
#Test #Roadmap #UnitTest #IntegrationTest
@ProgrammingTip
Struggling to navigate the world of testing? 💭
I’ve compiled a comprehensive roadmap to help developers learn testing concepts systematically—whether you're a beginner or looking to fill gaps in your knowledge.
🔍 What’s Inside?
✅ Core Testing Concepts (White/Gray/Black Box)
✅ Test Design (Equivalence Partitioning, Boundary Analysis, etc.)
✅ Naming Standards
✅ Patterns (AAA, Four-Phase, BDD with Gherkin)
✅ Test Types (Unit, Integration, E2E, Performance, etc.)
✅ Tools & Frameworks (xUnit, Playwright, K6, AutoFixture, etc.)
✅ Best Practices (Clean Test Code, Test Smells, Coverage)
✅ Static Analysis & CI/CD Integration
📌 Highlights
Self-assessment friendly → Track your progress.
Language-agnostic → Examples in .NET, JS, Python, PHP.
Practical focus → From TDD/BDD to CI/CD pipelines.
[GitHub] : https://github.com/hasanxdev/Test-Roadmap-For-Developers
〰️〰️〰️〰️〰️〰️
#Test #Roadmap #UnitTest #IntegrationTest
@ProgrammingTip
GitHub
GitHub - hasanxdev/Test-Roadmap-For-Developers: The Complete Learning Path to Mastering Software Testing as a Developer
The Complete Learning Path to Mastering Software Testing as a Developer - hasanxdev/Test-Roadmap-For-Developers
🔥8👍6❤2
Code With HSN
دیروز تصمیم گرفتیم که mediat رو پاک کنیم، و بجاش یه چیزی خودمون بنویسیم (چون کتابخونه ای که کامیونیتی خوبی داشته باشه فعلا نیست)؛ شروع کردیم نسخه اولیه اش رو با یکی از بچها توی 20 دقیقه نوشتیم کلا هم از DI کمک گرفتیم بدون Reflection🗿 ویدئو اش رو میزارم که…
اینم از بنچمارک نهایی 😎👋🏻
✅ Zero allocation
✅ 34% Faster
در این نسخه Pipeline هم ساپورت میشه که متد Send کاملا شبیه خود MediatR باشه کمو کاستی نداشته باشه ولی pipline فعالی نداره صرفا ساپورت میشه تا در مینیمم ترین حالت ممکن تست بشن
✅ Zero allocation
✅ 34% Faster
در این نسخه Pipeline هم ساپورت میشه که متد Send کاملا شبیه خود MediatR باشه کمو کاستی نداشته باشه ولی pipline فعالی نداره صرفا ساپورت میشه تا در مینیمم ترین حالت ممکن تست بشن
🔥13❤2👍1
Code With HSN
اینم از بنچمارک نهایی 😎👋🏻 ✅ Zero allocation ✅ 34% Faster در این نسخه Pipeline هم ساپورت میشه که متد Send کاملا شبیه خود MediatR باشه کمو کاستی نداشته باشه ولی pipline فعالی نداره صرفا ساپورت میشه تا در مینیمم ترین حالت ممکن تست بشن
اینم وقتی پایپلاین گذاشتم ران کردم بیشتر allocation هم که داره بخاطر چند تا دلیگیت هست که بزودی سعی میکنم اونها روهم پاک کنم
https://github.com/hasanxdev/DispatchR
منتظر ویدئو اش باشید 🔥
https://github.com/hasanxdev/DispatchR
منتظر ویدئو اش باشید 🔥
❤11👍3🤩1
Code With HSN
بچها پایه هستید؟ با لایک نشون بدید 👍🏻 من طبق دوره هایی که میزارم و ویدیو هایی که میزارم یک پروژه توی گیت تعریف میکنم مثلا با یک ReadMe که توضیح داده پیاده سازی SAGA رو چطوری انجامش بدیم. شما کد بزنید من تمام کد هاتون رو ریویو میکنم نکات منفی که راجبش وجود…
بچها ویدئو DispatchR آمادس باید برم تو کار ادیتش، من دیر به قول هام عمل میکنم ولی با کیفیت عمل میکنم؛ بعد از انتشار ویدئو بهتون تسک میدم به همراه تایم تحویلش تا اون تایم پول ریکوئست های قشنگتون رو بفرستید ❤️ باهم صحبت میکنیم و از همدیگه یاد میگیریم.
چرا خوبه که کانتریبیوت کنید؟
1. بنچمارک میگیرید و میتونید پرفورمنس رو برای تک تک خط های کدتون چک کنید و کلی تجربه کسب میکنید
2. یه دستی به سرو و روی گیتتون کشیده میشه
3. چیزی که درونش مشارکت میکنید در سطح کامیونیتی دات نت قابل مقایسه و دفاع هست
4. بقیه موارد رو شما در کامنت ها بگید
افرادی که مشارکت میکنن در کامنت ها اعلام کنند اصلا ببینیم اوضاع چطوریه 🥳🙂
چرا خوبه که کانتریبیوت کنید؟
1. بنچمارک میگیرید و میتونید پرفورمنس رو برای تک تک خط های کدتون چک کنید و کلی تجربه کسب میکنید
2. یه دستی به سرو و روی گیتتون کشیده میشه
3. چیزی که درونش مشارکت میکنید در سطح کامیونیتی دات نت قابل مقایسه و دفاع هست
4. بقیه موارد رو شما در کامنت ها بگید
افرادی که مشارکت میکنن در کامنت ها اعلام کنند اصلا ببینیم اوضاع چطوریه 🥳🙂
👍18❤10
Code With HSN
بچها ویدئو DispatchR آمادس باید برم تو کار ادیتش، من دیر به قول هام عمل میکنم ولی با کیفیت عمل میکنم؛ بعد از انتشار ویدئو بهتون تسک میدم به همراه تایم تحویلش تا اون تایم پول ریکوئست های قشنگتون رو بفرستید ❤️ باهم صحبت میکنیم و از همدیگه یاد میگیریم. چرا خوبه…
بالاخره ادیت تموم شد میریم برای رندر و پابلیش 💣
❤14👍1
Media is too big
VIEW IN TELEGRAM
شکست MediatR توسط DispatchR!⚡️
در این ویدیو، یک Mediator پرسرعت و بدون مصرف حافظه (zero allocation) به نام DispatchR را طراحی و پیادهسازی میکنیم که کارایی بهتری نسبت به MediatR دارد. با تستهای واقعی نشان میدهم که چطور کاهش سربار و افزایش سرعت را تجربه کنید! همچنین به مشکلاتی که در MediatR و Mediator source generator وجود دارد می پردازیم
✅ مقایسه عملکرد DispatchR vs MediatR vs Mediator
✅ کد نویسی بدون Reflection و کمهزینه در runtime
✅ نحوه پیادهسازی گامبهگام
✅ چه زمانی MediatR جایگزین بهتری دارد؟
🎥 لینک ویدئو: https://youtu.be/ZsI_e6SO47U
🔗 لینک پروژه: https://github.com/hasanxdev/DispatchR
در این ویدیو، یک Mediator پرسرعت و بدون مصرف حافظه (zero allocation) به نام DispatchR را طراحی و پیادهسازی میکنیم که کارایی بهتری نسبت به MediatR دارد. با تستهای واقعی نشان میدهم که چطور کاهش سربار و افزایش سرعت را تجربه کنید! همچنین به مشکلاتی که در MediatR و Mediator source generator وجود دارد می پردازیم
✅ مقایسه عملکرد DispatchR vs MediatR vs Mediator
✅ کد نویسی بدون Reflection و کمهزینه در runtime
✅ نحوه پیادهسازی گامبهگام
✅ چه زمانی MediatR جایگزین بهتری دارد؟
🎥 لینک ویدئو: https://youtu.be/ZsI_e6SO47U
🔗 لینک پروژه: https://github.com/hasanxdev/DispatchR
🔥24👍2❤1👏1
Media is too big
VIEW IN TELEGRAM
❤10👍2🤩2🔥1
تقریبا توی 4 روز 28 تا Stars گرفتیم ⭐️
یه تعدادش خودتون بودین دمتون گرم ❤️
← راستی Readme رو حتما بخونید کش پیاده کردیم به کمک DI و این باعث شد از Mediator Source Generator نسخه Stable هم سریع تر بشیم (نسخه 3 preview خیلی عقب بود از سرعت ما) 😎👋🏻
🔗 پروژه: https://github.com/hasanxdev/DispatchR/
🎥 لینک ویدئو: https://youtu.be/ZsI_e6SO47U
یه تعدادش خودتون بودین دمتون گرم ❤️
← راستی Readme رو حتما بخونید کش پیاده کردیم به کمک DI و این باعث شد از Mediator Source Generator نسخه Stable هم سریع تر بشیم (نسخه 3 preview خیلی عقب بود از سرعت ما) 😎👋🏻
🔗 پروژه: https://github.com/hasanxdev/DispatchR/
🎥 لینک ویدئو: https://youtu.be/ZsI_e6SO47U
🔥17❤4👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👏1 1
Media is too big
VIEW IN TELEGRAM
رودمپ تست نویسی قسمت دوم، با QA Lead اکالا 🔬
این ویدئو رو ببین و کتاب تست نویسی رایگان بگیر📖
توی قسمت دوم از پلی لیست تستنویسی، میریم سراغ ادامهی رودمپ؛ این بار تمرکز روی تستهای non-functional، و کلی تست دیگه که شاید کمتر دربارهشون شنیده باشی، مثل Spike Test، Soak Test، AB Testing، Snapshot و حتی Failover Database Test.
مباحثی که احتمالا براتون جذابه و صحبت میکنیم:
1. معرفی ابزار هایی برای Performance Test.
2. بررسی فرق Load، Stress، Soak و Spike تست.
3. بررسی تست قناری.
4. تست Smoke چیست؟
5. بررسی هرم تست.
6. بررسی کلی ابزار و مفهوم تست.
🕹 لینک ویدئو: مشاهده ویدئو و شرکت در قرعه کشی
📱 پلی لیست: مشاهده پلی لیست
📱 کانال تلگرام: @hasanxdev
📱 تلگرام رف هاب: @refhubOfficial
😇 رودمپ: https://github.com/hasanxdev/Test-Roadmap-For-Developers
این ویدئو رو ببین و کتاب تست نویسی رایگان بگیر
توی قسمت دوم از پلی لیست تستنویسی، میریم سراغ ادامهی رودمپ؛ این بار تمرکز روی تستهای non-functional، و کلی تست دیگه که شاید کمتر دربارهشون شنیده باشی، مثل Spike Test، Soak Test، AB Testing، Snapshot و حتی Failover Database Test.
مباحثی که احتمالا براتون جذابه و صحبت میکنیم:
1. معرفی ابزار هایی برای Performance Test.
2. بررسی فرق Load، Stress، Soak و Spike تست.
3. بررسی تست قناری.
4. تست Smoke چیست؟
5. بررسی هرم تست.
6. بررسی کلی ابزار و مفهوم تست.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍5❤3
Code With HSN
رودمپ تست نویسی قسمت دوم، با QA Lead اکالا 🔬 این ویدئو رو ببین و کتاب تست نویسی رایگان بگیر 📖 توی قسمت دوم از پلی لیست تستنویسی، میریم سراغ ادامهی رودمپ؛ این بار تمرکز روی تستهای non-functional، و کلی تست دیگه که شاید کمتر دربارهشون شنیده باشی، مثل…
تا الان 3 نفر اون قسمتی که آدرس کانال قرعه کشی رو میاریم توی ویدئو رو دیدن و جوین شدن به گروه قرعه کشی ☺️
استقبال کنید در ویدئو های بعدی سعی میکنیم بیشتر کتاب هدیه بدیم بهتون ✌🏻
استقبال کنید در ویدئو های بعدی سعی میکنیم بیشتر کتاب هدیه بدیم بهتون ✌🏻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍4👏1
Code With HSN
شکست MediatR توسط DispatchR!⚡️ در این ویدیو، یک Mediator پرسرعت و بدون مصرف حافظه (zero allocation) به نام DispatchR را طراحی و پیادهسازی میکنیم که کارایی بهتری نسبت به MediatR دارد. با تستهای واقعی نشان میدهم که چطور کاهش سربار و افزایش سرعت را تجربه…
بچها میخوام یک لایو بزارم و بریم داخلش راجب DispatchR صحبت کنیم و تسک بدم بهتون PR بفرستید روی DispatchR
مهم نیست اگر مشکل داشته باشه اگر کند باشه مرج میکنیم بعدا بهبودش میدیم حداقل ها باید توش رعایت بشه
کیا پایه هستن؟ کی بزاریم؟ توی کامنت ها بیاین صحبت کنیم
مهم نیست اگر مشکل داشته باشه اگر کند باشه مرج میکنیم بعدا بهبودش میدیم حداقل ها باید توش رعایت بشه
کیا پایه هستن؟ کی بزاریم؟ توی کامنت ها بیاین صحبت کنیم
👍12❤1👏1
Forwarded from refhub
ربات @RefHubot دستیار جدیدمون هست برای جستجوی کتاب ها ، لطفا راحت باشید و باهاش دوست بشین نسخه ی 0 هست و قطعا مشکلاتی داره، ولی کم کم بهتر میشه با نظرات شما
میتونید بهش ویس بدین، متن بفرستید یا حتی عکس کتاب مورد نظرتون رو ارسال کنید
براتون در رفهاب میگرده و نتایج رو بهتون میده.
میتونید بهش ویس بدین، متن بفرستید یا حتی عکس کتاب مورد نظرتون رو ارسال کنید
براتون در رفهاب میگرده و نتایج رو بهتون میده.
👍8 2👏1 1
سوال جالبی از من پرسیده شد جهت افزایش دانش شما عزیزان به اشتراک گذاشتیم ❤️
🤔 سوال توسط amirmohammad Fathollahi پرسیده شد:
من برای api gateway دنبال best practice هستم با ocelot
هرچی ویدیو میبینم صرفا در حد اینه route کنه
ولی راجع به معماری و هندل کردن چندین پروژه حرفی نزدن
اگه کسی منبع خوب یا سمپل کد میشناسه معرفی کنه ممنون میشم
توی معماریش چه کار هایی میکنن چه چیز هایی رو بهش میسپرن
آیا صرفا فقط برای reverse ازش استفاده میکنن یا rate limiting و authentication هم بهش میسپرن
بیشتر سوالم راجع به معماریش هست
💡 جواب:
در واقع API Gateway رو یا باید خودمون پیاده سازی کنیم یا از ابزارهایی مثل Kong استفاده کنیم.
اگر خودمون پیاده سازی کنیم طبیعتاً دسترسی کامل به همه چیز داریم ولی Kong مثلا بهمون یک Dashboardهم میده و شاید در یک سری جاها به اندازه یک API Gateway اختصاصی دست آدم باز نباشه.
حالا وقتی میخواهی خودت پیاده کنی Per Environment باید Config های Routing خودترو داشته باشی یعنی روی Develop با Production باید Configهاشون فرق داشته باشه چونکه آدرس ها در Develop Local و Production قطعا متفاوت هست.
یکی از Best Practiceهایی که معمولا در API Gateway ها در نظر میگیرند Code Less میکنندش یعنی هیچ کدی داخلش نمیگذارند و واقعاً شبیه Gateway عمل میکنه، بدون هیچ Business Logic خاصی.
درباره Rate limit باید بهتون بگم که Trade-off زیاد دارد!
یک موضوع infrastructure ای هست یعنی در لایه Application پیاده نمیشه چون Bottleneck برنامه میشه و اگر مشکل داشته باشه میتونه برنامه بندازه یا کند کنه همچنین میتونه single point of failure باشه.
پیچیدگی Rate Limit زمانی هست که چندین Instance از برنامه ما بالا باشه به همین دلیل Application Layer جای خوبی نیست براش اما اگر برنامه شما اینقدر کوچک هست که یک Instance فقط از API Gateway دارد، بنظرم دوباره فکر کنید آیا واقعاً به microservice نیاز داشتید یا نه!
حالا فرض میکنیم که شما به API Gateway نیاز داشتید و Rate Limit هم قرار هست پیاده کنید بنظر من بهتره در لایه Application خودتون پیاده سازی بشه و اگر واقعاً یک چیز نیاز دارید که خیلی Global باشه و زیرساخت ندارید مثل تیم DevOps بنظرم API Gateway جای خوبی هست
اما در کیس Authentication خیلی Trade-off نداریم!
کنترل رو میسپارن به خود Application ها، همانطور که گفتم خیلی سعی میشه API Gatewayها Code Less باشن فرض کنیم سرویس A با مدل AModel احراز هویت میشه و سرویس B با مدل BModel و این میتونه در API Gateway پیچیدگی ایجاد کنه و از نظر Separation of Concerns باید API Gateway یک Gateway بمونه واقعاً
به این دلیل که Authentication میتونه خیلی پیچیدگی ایجاد کنه من حداقل ندیدم جایی احراز هویت رو روی Gateway پیاده کنند، ولی این کار نشدنی نیست.
در بعضی از مدل های احراز هویت نیاز هست که Token برای سرویس اصلی که Authentication رو پیاده سازی کرده ارسال بشه و اگر ما در API Gateway احراز هویت رو پیاده سازی کرده باشیم این میتونه باعث بشه API Gateway خودش گلوگاه باشه که درخواستها رو کند کنه و وقتی کندی در سیستم میبینیم نمیدانیم سرویس واقعاً مشکل دارد یا API Gateway
اگر نظری دارین در کامنت ها برام بنویسید👇
Channel: @hasanxdev
من برای api gateway دنبال best practice هستم با ocelot
هرچی ویدیو میبینم صرفا در حد اینه route کنه
ولی راجع به معماری و هندل کردن چندین پروژه حرفی نزدن
اگه کسی منبع خوب یا سمپل کد میشناسه معرفی کنه ممنون میشم
توی معماریش چه کار هایی میکنن چه چیز هایی رو بهش میسپرن
آیا صرفا فقط برای reverse ازش استفاده میکنن یا rate limiting و authentication هم بهش میسپرن
بیشتر سوالم راجع به معماریش هست
در واقع API Gateway رو یا باید خودمون پیاده سازی کنیم یا از ابزارهایی مثل Kong استفاده کنیم.
اگر خودمون پیاده سازی کنیم طبیعتاً دسترسی کامل به همه چیز داریم ولی Kong مثلا بهمون یک Dashboardهم میده و شاید در یک سری جاها به اندازه یک API Gateway اختصاصی دست آدم باز نباشه.
حالا وقتی میخواهی خودت پیاده کنی Per Environment باید Config های Routing خودترو داشته باشی یعنی روی Develop با Production باید Configهاشون فرق داشته باشه چونکه آدرس ها در Develop Local و Production قطعا متفاوت هست.
یکی از Best Practiceهایی که معمولا در API Gateway ها در نظر میگیرند Code Less میکنندش یعنی هیچ کدی داخلش نمیگذارند و واقعاً شبیه Gateway عمل میکنه، بدون هیچ Business Logic خاصی.
درباره Rate limit باید بهتون بگم که Trade-off زیاد دارد!
یک موضوع infrastructure ای هست یعنی در لایه Application پیاده نمیشه چون Bottleneck برنامه میشه و اگر مشکل داشته باشه میتونه برنامه بندازه یا کند کنه همچنین میتونه single point of failure باشه.
پیچیدگی Rate Limit زمانی هست که چندین Instance از برنامه ما بالا باشه به همین دلیل Application Layer جای خوبی نیست براش اما اگر برنامه شما اینقدر کوچک هست که یک Instance فقط از API Gateway دارد، بنظرم دوباره فکر کنید آیا واقعاً به microservice نیاز داشتید یا نه!
حالا فرض میکنیم که شما به API Gateway نیاز داشتید و Rate Limit هم قرار هست پیاده کنید بنظر من بهتره در لایه Application خودتون پیاده سازی بشه و اگر واقعاً یک چیز نیاز دارید که خیلی Global باشه و زیرساخت ندارید مثل تیم DevOps بنظرم API Gateway جای خوبی هست
اما در کیس Authentication خیلی Trade-off نداریم!
کنترل رو میسپارن به خود Application ها، همانطور که گفتم خیلی سعی میشه API Gatewayها Code Less باشن فرض کنیم سرویس A با مدل AModel احراز هویت میشه و سرویس B با مدل BModel و این میتونه در API Gateway پیچیدگی ایجاد کنه و از نظر Separation of Concerns باید API Gateway یک Gateway بمونه واقعاً
به این دلیل که Authentication میتونه خیلی پیچیدگی ایجاد کنه من حداقل ندیدم جایی احراز هویت رو روی Gateway پیاده کنند، ولی این کار نشدنی نیست.
در بعضی از مدل های احراز هویت نیاز هست که Token برای سرویس اصلی که Authentication رو پیاده سازی کرده ارسال بشه و اگر ما در API Gateway احراز هویت رو پیاده سازی کرده باشیم این میتونه باعث بشه API Gateway خودش گلوگاه باشه که درخواستها رو کند کنه و وقتی کندی در سیستم میبینیم نمیدانیم سرویس واقعاً مشکل دارد یا API Gateway
اگر نظری دارین در کامنت ها برام بنویسید
Channel: @hasanxdev
Please open Telegram to view this post
VIEW IN TELEGRAM
Code With HSN
رودمپ تست نویسی قسمت دوم، با QA Lead اکالا 🔬 این ویدئو رو ببین و کتاب تست نویسی رایگان بگیر 📖 توی قسمت دوم از پلی لیست تستنویسی، میریم سراغ ادامهی رودمپ؛ این بار تمرکز روی تستهای non-functional، و کلی تست دیگه که شاید کمتر دربارهشون شنیده باشی، مثل…
فقط امروز تا 12 شب وقت دارید ویدئو رو کامل ببینید و در قرعه کشی شرکت کنید هم یاد بگیرید هم کتاب جایزه ببرین 🥳
فردا شب قرعه کشی انجام میشه با توجه به اینکه تا الان 10 نفر کامل ویدئو رو دیدن شانس شما توی برنده شدن خیلی بالاس
لینک ویدئو: https://youtu.be/61tdLL5sy8I
فردا شب قرعه کشی انجام میشه با توجه به اینکه تا الان 10 نفر کامل ویدئو رو دیدن شانس شما توی برنده شدن خیلی بالاس
لینک ویدئو: https://youtu.be/61tdLL5sy8I
Please open Telegram to view this post
VIEW IN TELEGRAM
Code With HSN
تقریبا توی 4 روز 28 تا Stars گرفتیم ⭐️ یه تعدادش خودتون بودین دمتون گرم ❤️ ← راستی Readme رو حتما بخونید کش پیاده کردیم به کمک DI و این باعث شد از Mediator Source Generator نسخه Stable هم سریع تر بشیم (نسخه 3 preview خیلی عقب بود از سرعت ما) 😎👋🏻 🔗 پروژه:…
ویدئو بعدی مون نسخه جدید DispatchR که Stream روهم ساپورت میکنه
-206 خط پاک کردم و +1162 خط اضافه شد
وابستگی به ZLinq روهم حذف کردم😎
اون جایی که MediatR ZeroAllocation شده باگه بهش توجه نکنید
بریم برای رکورد...
PR: https://github.com/hasanxdev/DispatchR/pull/7/files
-206 خط پاک کردم و +1162 خط اضافه شد
وابستگی به ZLinq روهم حذف کردم
اون جایی که MediatR ZeroAllocation شده باگه بهش توجه نکنید
بریم برای رکورد...
PR: https://github.com/hasanxdev/DispatchR/pull/7/files
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM