❇️ معرفی پروژه فروشگاهی eShopOnWeb جهت Code Review و ایده برداری
به همراه eBook آموزشی به صورت PDF
✔️.NET 5
✔️ASP.NET Core 5
✔️Entity Framework Core 5
✔️#Monolith
✔️#Clean_Architecture
✔️#DDD
✔️#Design_Patterns
🔰لینک مخزن گیتهاب
https://github.com/dotnet-architecture/eShopOnWeb
▪️پروژه eShopOnContainers که نسخه Microservices همین پروژه هست قبلا در کانال معرفی شده
____________________
@DotNetZoom
به همراه eBook آموزشی به صورت PDF
Sample ASP.NET Core 5.0 reference application, powered by Microsoft, demonstrating a layered application architecture with monolithic deployment model. Download the eBook PDF from docs folder.تکنولوژی ها و تکنیک های استفاده شده:
✔️.NET 5
✔️ASP.NET Core 5
✔️Entity Framework Core 5
✔️#Monolith
✔️#Clean_Architecture
✔️#DDD
✔️#Design_Patterns
🔰لینک مخزن گیتهاب
https://github.com/dotnet-architecture/eShopOnWeb
▪️پروژه eShopOnContainers که نسخه Microservices همین پروژه هست قبلا در کانال معرفی شده
____________________
@DotNetZoom
GitHub
GitHub - dotnet-architecture/eShopOnWeb: Sample ASP.NET Core 8.0 reference application, now community supported: https://githu…
Sample ASP.NET Core 8.0 reference application, now community supported: https://github.com/NimblePros/eShopOnWeb - dotnet-architecture/eShopOnWeb
✅ ششمین گفتگوی فنی #فری_تاک
با موضوع : CQRS
سه شنبه 14 اردیبهشت، ساعت 21:00
ارائه دهندگان: محمدجواد ابراهیمی - معین تاجیک
#فری_تاک یک گفتگوی فنی در مورد توسعه نرم افزار (بیشتر متمرکز بر دات نت) هست که هر هفته سه شنبه ها ساعت 21:00 برگزار میشه
این گفتگو صوتی هست و توسط قابلیت Voice Chat تلگرام (چیزی شبیه به Clubhouse یا Spaces توئیتر) در همین کانال برگزار میشه
ویس جلسات گفتگو ضبط شده و در آخر همینجا منتشر خواهد شد
جهت استفاده از قابلیت Voice Chat از آپدیت بودن تلگرامتون اطمینان حاصل کنین.
ویس ضبط شده جلسات رو میتونین با هشتگ #فری_تاک پیدا کنین.
___________________
@DotNetZoom
با موضوع : CQRS
سه شنبه 14 اردیبهشت، ساعت 21:00
ارائه دهندگان: محمدجواد ابراهیمی - معین تاجیک
#فری_تاک یک گفتگوی فنی در مورد توسعه نرم افزار (بیشتر متمرکز بر دات نت) هست که هر هفته سه شنبه ها ساعت 21:00 برگزار میشه
این گفتگو صوتی هست و توسط قابلیت Voice Chat تلگرام (چیزی شبیه به Clubhouse یا Spaces توئیتر) در همین کانال برگزار میشه
ویس جلسات گفتگو ضبط شده و در آخر همینجا منتشر خواهد شد
جهت استفاده از قابلیت Voice Chat از آپدیت بودن تلگرامتون اطمینان حاصل کنین.
ویس ضبط شده جلسات رو میتونین با هشتگ #فری_تاک پیدا کنین.
___________________
@DotNetZoom
✅ نکات Refactoring برای برنامه نویسان #C
در برنامهنویسی کامپیوتر، به ویژگیها یا نشانههایی در کد یک برنامه که حاکی از وجود مشکلاتی در عمق برنامه باشند، Code Smell گفته میشود. تعیین اینکه چه چیزی Code Smellمحسوب میشود یا نه، وابسته به فرد توسعهدهنده، زبان برنامهنویسی و متد توسعه میباشد اما یک سری Code Smell معمول وجود دارد که در این مقاله قصد داریم به آنها اشاره و راه حل های Refactor آن ها را بیان نماییم
#بابک_طارمی
https://vrgl.ir/rJhub
___________________
@DotNetZoom
در برنامهنویسی کامپیوتر، به ویژگیها یا نشانههایی در کد یک برنامه که حاکی از وجود مشکلاتی در عمق برنامه باشند، Code Smell گفته میشود. تعیین اینکه چه چیزی Code Smellمحسوب میشود یا نه، وابسته به فرد توسعهدهنده، زبان برنامهنویسی و متد توسعه میباشد اما یک سری Code Smell معمول وجود دارد که در این مقاله قصد داریم به آنها اشاره و راه حل های Refactor آن ها را بیان نماییم
#بابک_طارمی
https://vrgl.ir/rJhub
___________________
@DotNetZoom
ویرگول
نکات Refactoring برای برنامه نویسان C#
در این مقاله قصد داریم به بررسی Code Smell ها و راه حل های Refactoring آنها بپردازیم
Forwarded from کدهک
✅ گفتگوی فنی #فری_تاک با موضوع CQRS تا یک ساعت دیگه برگزار میشه
گفتگو شروع شدا عقب نمونین از بحث :)
البته ویس ضبط شده رو هم توی کانال قرار میدیم ✌️
البته ویس ضبط شده رو هم توی کانال قرار میدیم ✌️
CQRS
DotNetZoom
✅ ویس ضبط شده ششمین گفتگوی فنی #فری_تاک با موضوع CQRS
ارائه دهندگان : محمدجواد ابراهیمی، معین تاجیک
_________________
@DotNetZoom
ارائه دهندگان : محمدجواد ابراهیمی، معین تاجیک
_________________
@DotNetZoom
DotNetZoom
DotNetZoom – CQRS
✅ مباحث و کلمات کلیدی ایی که در این جلسه از #فری_تاک در موردشون صحبت کردیم
- What is CQRS? Why do we need that?
- Relation to "Database per Service pattern"
- Advantages
- Different Databases
- Read: Redis, Elastic, Mongo, ...
- Write: SQL-Server, PostgreSQL, ...
- Different Data Access
- SoC
- Scale
- Task-based UI
- More simple queries
- Disadvantages
- Inconsistency
- Complexity in implementation
- Code Duplication
- Implementation areas (Application, Database, ...)
- Domain-Events
- What is Mediator? How MediatR help us?
- Relation with Event-Sourcing
منابع/مقالات مرتبطت با بحث:
1- الگو طراحی Mediator
2- سری مقالات "پیاده سازی CQRS توسط MediatR"
___________________
@DotNetZoom
- What is CQRS? Why do we need that?
- Relation to "Database per Service pattern"
- Advantages
- Different Databases
- Read: Redis, Elastic, Mongo, ...
- Write: SQL-Server, PostgreSQL, ...
- Different Data Access
- SoC
- Scale
- Task-based UI
- More simple queries
- Disadvantages
- Inconsistency
- Complexity in implementation
- Code Duplication
- Implementation areas (Application, Database, ...)
- Domain-Events
- What is Mediator? How MediatR help us?
- Relation with Event-Sourcing
منابع/مقالات مرتبطت با بحث:
1- الگو طراحی Mediator
2- سری مقالات "پیاده سازی CQRS توسط MediatR"
___________________
@DotNetZoom
Moien Tajik
الگوهای طراحی - Mediator - Moien Tajik's Blog | وبلاگ معین تاجیک
الگوی طراحی Mediator نحوه ی ارتباط چند object را در داخل خود کپسوله و مشخص میکند.
✅ 10 افزونه برتر که یک Github-باز باید اونا رو داشته باشه
1️⃣ Enhanced GitHub
کاربردی ترین و پر فیچر ترین افزونه گیتهاب که کلی قابلیت و بهبود رو به صفحات گیتهاب شما اضافه میکنه و کارکردن با اون رو خیلی راحت تر (این یکی جزء باید های منه)
2️⃣ GitHub Hovercard
یه افزونه باحال و فوق العاده مفید که باعث میشه وقتی موس تون رو روی لینک یه issue یا commit یا repo یا user میگیرین، یه پیش نمایش از اون به صورت hover card نمایش داده بشه
3️⃣ File Icons for GitHub and GitLab
یه افزونه خیلی باحال که کنار فایل های ریپازیتوری، آیکون مخصوص بهش رو نمایش میده
4️⃣ Octotree
یه افزونه باحال و کاربردی که میاد فایل ها و فولدر های ریپازیتوری تون رو به صورت درختی (tree) نمایش میده (مثل پنجره Solution Explorer در VS)
5️⃣ GitHub Isometric Contributions
یه افزونه باحال که میاد و Contribution Graphs یا همون نمودار مشارکت های شخص رو به صورت 3 بعدی و ملموس تر نشون میده
6️⃣ Sourcegraph
یه افزونه کاربردی که امکان Go to definition و Find references رو به کد های ریپازیتوری اضافه میکنه و توسطش میتونین ببینین کجا این کلاس یا متد تعریف شده و کجا های دیگه ازش استفاده شده
7️⃣ GitHub Writer
این افزونه به شما این امکان رو میده که موقع نوشتن متن Issue و Pull Request و Comment بتونین از امکانات یک rich-text editor (مانند CKEditor) استفاده کنین
8️⃣ Git History Browser Extension
یه افزونه باحال که به شما این امکان رو میده بتونین تاریخچه تغییرات و Commit های یه فایل رو به شکلی زیبا تر و ملموس تر ببینین.
9️⃣ GitZip for github
بعضی وقتا لازم میشه صرفا یه سری فایل یا پوشه خاص رو از یه مخزن دانلود (نه کل مخزن رو که ممکنه خیلی حجیم باشه). این افزونه کاربردی به شما اجازه میده که Folder یا File هایی از یک ریپازیتوری گیتهاب رو به دلخواه در قالب یک فایل Zip دانلود کنین
🔟 Refined GitHub
اینم مثل همون اولی میمونه و کلی قابلیت و بهبود باحال و کاربردی به صفحات ریپازیتوری اضافه میکنه و کار کردن با اونها رو خیلی راه دست تر
🔸به شخصه این لیست جز باید های منه و خیلی سال هست که ازشون استفاده میکنم و بسیار راضی ام. واسه دیدن اطلاعات بیشتر در مورد قابلیت هاشون حتما لینک هاشون رو ببینید. در ضمن این افزونه ها برای روی مروگر Chrome هستند و قاعدتا روی Edge هم قابل نصب هستند
__________________
@DotNetZoom
1️⃣ Enhanced GitHub
کاربردی ترین و پر فیچر ترین افزونه گیتهاب که کلی قابلیت و بهبود رو به صفحات گیتهاب شما اضافه میکنه و کارکردن با اون رو خیلی راحت تر (این یکی جزء باید های منه)
2️⃣ GitHub Hovercard
یه افزونه باحال و فوق العاده مفید که باعث میشه وقتی موس تون رو روی لینک یه issue یا commit یا repo یا user میگیرین، یه پیش نمایش از اون به صورت hover card نمایش داده بشه
3️⃣ File Icons for GitHub and GitLab
یه افزونه خیلی باحال که کنار فایل های ریپازیتوری، آیکون مخصوص بهش رو نمایش میده
4️⃣ Octotree
یه افزونه باحال و کاربردی که میاد فایل ها و فولدر های ریپازیتوری تون رو به صورت درختی (tree) نمایش میده (مثل پنجره Solution Explorer در VS)
5️⃣ GitHub Isometric Contributions
یه افزونه باحال که میاد و Contribution Graphs یا همون نمودار مشارکت های شخص رو به صورت 3 بعدی و ملموس تر نشون میده
6️⃣ Sourcegraph
یه افزونه کاربردی که امکان Go to definition و Find references رو به کد های ریپازیتوری اضافه میکنه و توسطش میتونین ببینین کجا این کلاس یا متد تعریف شده و کجا های دیگه ازش استفاده شده
7️⃣ GitHub Writer
این افزونه به شما این امکان رو میده که موقع نوشتن متن Issue و Pull Request و Comment بتونین از امکانات یک rich-text editor (مانند CKEditor) استفاده کنین
8️⃣ Git History Browser Extension
یه افزونه باحال که به شما این امکان رو میده بتونین تاریخچه تغییرات و Commit های یه فایل رو به شکلی زیبا تر و ملموس تر ببینین.
9️⃣ GitZip for github
بعضی وقتا لازم میشه صرفا یه سری فایل یا پوشه خاص رو از یه مخزن دانلود (نه کل مخزن رو که ممکنه خیلی حجیم باشه). این افزونه کاربردی به شما اجازه میده که Folder یا File هایی از یک ریپازیتوری گیتهاب رو به دلخواه در قالب یک فایل Zip دانلود کنین
🔟 Refined GitHub
اینم مثل همون اولی میمونه و کلی قابلیت و بهبود باحال و کاربردی به صفحات ریپازیتوری اضافه میکنه و کار کردن با اونها رو خیلی راه دست تر
🔸به شخصه این لیست جز باید های منه و خیلی سال هست که ازشون استفاده میکنم و بسیار راضی ام. واسه دیدن اطلاعات بیشتر در مورد قابلیت هاشون حتما لینک هاشون رو ببینید. در ضمن این افزونه ها برای روی مروگر Chrome هستند و قاعدتا روی Edge هم قابل نصب هستند
__________________
@DotNetZoom
Google
Enhanced GitHub
Display repo size, size of each file, download link and option to copy file contents
Forwarded from کدهک
✅ هفتمین گفتگوی فنی #فری_تاک
با موضوع : Testing
سه شنبه 21 اردیبهشت، ساعت 21:00
ارائه دهندگان: محمدجواد ابراهیمی - معین تاجیک
#فری_تاک یک گفتگوی فنی در مورد توسعه نرم افزار (بیشتر متمرکز بر دات نت) هست که هر هفته سه شنبه ها ساعت 21:00 برگزار میشه
این گفتگو صوتی هست و توسط قابلیت Voice Chat تلگرام (چیزی شبیه به Clubhouse یا Spaces توئیتر) در همین کانال برگزار میشه
ویس جلسات گفتگو ضبط شده و در آخر همینجا منتشر خواهد شد
جهت استفاده از قابلیت Voice Chat از آپدیت بودن تلگرامتون اطمینان حاصل کنین.
ویس ضبط شده جلسات قبل رو میتونین با هشتگ #فری_تاک پیدا کنین.
___________________
@DotNetZoom
با موضوع : Testing
سه شنبه 21 اردیبهشت، ساعت 21:00
ارائه دهندگان: محمدجواد ابراهیمی - معین تاجیک
#فری_تاک یک گفتگوی فنی در مورد توسعه نرم افزار (بیشتر متمرکز بر دات نت) هست که هر هفته سه شنبه ها ساعت 21:00 برگزار میشه
این گفتگو صوتی هست و توسط قابلیت Voice Chat تلگرام (چیزی شبیه به Clubhouse یا Spaces توئیتر) در همین کانال برگزار میشه
ویس جلسات گفتگو ضبط شده و در آخر همینجا منتشر خواهد شد
جهت استفاده از قابلیت Voice Chat از آپدیت بودن تلگرامتون اطمینان حاصل کنین.
ویس ضبط شده جلسات قبل رو میتونین با هشتگ #فری_تاک پیدا کنین.
___________________
@DotNetZoom
DotNetZoom
✅ هفتمین گفتگوی فنی #فری_تاک با موضوع : Testing سه شنبه 21 اردیبهشت، ساعت 21:00 ارائه دهندگان: محمدجواد ابراهیمی - معین تاجیک #فری_تاک یک گفتگوی فنی در مورد توسعه نرم افزار (بیشتر متمرکز بر دات نت) هست که هر هفته سه شنبه ها ساعت 21:00 برگزار میشه این گفتگو…
دوستان ویس چت استارت شد از بحث عقب نمونین :)
Testing
DotNetZoom
✅ ویس ضبط شده هفتمین گفتگوی فنی #فری_تاک با موضوع Testing
ارائه دهندگان : محمدجواد ابراهیمی، معین تاجیک
_________________
@DotNetZoom
ارائه دهندگان : محمدجواد ابراهیمی، معین تاجیک
_________________
@DotNetZoom
DotNetZoom
DotNetZoom – Testing
✅ مباحث و کلمات کلیدی ایی که در این جلسه از #فری_تاک در موردشون صحبت کردیم
- Importance of Testing.
- Type of Tests : Unit - Integration - End2End - Acceptance.
- What, Why, How TDD?
- What, Why, How BDD?
- What, Why, How Mocking?
- What is Fixture - Test Data Generator?
- Properties of a Good Test.
- Database Testing Tips.
ویدئو ها و دوره های آموزشی:
- TDD - Test Driven Development in C#
- BDD - Automated Acceptance Testing with SpecFlow and Gherkin
- Testing .NET Code with xUnit.net: Getting Started
- Introduction to .NET Testing with NUnit 3
- Properties of a Good Test by Kent Beck
کتاب های این زمینه:
- Test Driven Development
- Growing Object-Oriented Software, Guided by Tests
- Working Effectively with Unit Tests
- The Art of Unit Testing
- BDD in Action
کتابخانه های کمکی تست:
FluentAssertions, Shouldly, Moq4, NSubstitute, FakeItEasy, Mongo2Go, EfCore.TestSupport - SqlInMemory, Effort.EF6 - AutoFixture, NBuilder, GenFu, Specflow, LightBDD
___________________
@DotNetZoom
- Importance of Testing.
- Type of Tests : Unit - Integration - End2End - Acceptance.
- What, Why, How TDD?
- What, Why, How BDD?
- What, Why, How Mocking?
- What is Fixture - Test Data Generator?
- Properties of a Good Test.
- Database Testing Tips.
ویدئو ها و دوره های آموزشی:
- TDD - Test Driven Development in C#
- BDD - Automated Acceptance Testing with SpecFlow and Gherkin
- Testing .NET Code with xUnit.net: Getting Started
- Introduction to .NET Testing with NUnit 3
- Properties of a Good Test by Kent Beck
کتاب های این زمینه:
- Test Driven Development
- Growing Object-Oriented Software, Guided by Tests
- Working Effectively with Unit Tests
- The Art of Unit Testing
- BDD in Action
کتابخانه های کمکی تست:
FluentAssertions, Shouldly, Moq4, NSubstitute, FakeItEasy, Mongo2Go, EfCore.TestSupport - SqlInMemory, Effort.EF6 - AutoFixture, NBuilder, GenFu, Specflow, LightBDD
___________________
@DotNetZoom
Pluralsight
Test Driven Development in C# 8
DotNetZoom
DotNetZoom – Testing
دوستان واقعا این تاک ها اونم هر هفته کلی انرژی ازمون میگیره و خستمون میکنه
اولا ممنون بابت انرژی مثبتی که میدین
دوماً ارزشمند ترین کاری که از سمت شما میتونه خستگی رو از تنمون در کنه و بهمون انگیزه برای ادامه بده اینه که اگه براتون مفید بوده یا دوس داشتین این تاک ها رو، برای بقیه هم بفرستید و به اشتراک بگذارید بقیه هم لذت ببرن. همین :)
با هشتگ #فری_تاک میتونین ویس ضبط شده جلسات رو پیدا کنین
ممنون، موفق باشین🌹
اولا ممنون بابت انرژی مثبتی که میدین
دوماً ارزشمند ترین کاری که از سمت شما میتونه خستگی رو از تنمون در کنه و بهمون انگیزه برای ادامه بده اینه که اگه براتون مفید بوده یا دوس داشتین این تاک ها رو، برای بقیه هم بفرستید و به اشتراک بگذارید بقیه هم لذت ببرن. همین :)
با هشتگ #فری_تاک میتونین ویس ضبط شده جلسات رو پیدا کنین
ممنون، موفق باشین🌹
✅ آموزش زمانبندی کارها با HangFire در Asp.Net Core
در هر برنامه ای اجرای تسک های پس زمینه یکی از بخش های مهم برنامه تلقی میشود. این تسک ها شامل مواردی است که برنامه باید بطور خودکار در زمان های مشخص آن هارا اجرا کند. HangFire یکی از محبوترین پکیج ها برای پیاده سازی تسک های پس زمینه میباشد که مدیریت اجرا و مهم تر ، زمانبندی آن ها را بر عهده دارد. در این مقاله سعی شده تسک های پس زمینه را شرح دهیم و به انواع زمانبندی آن ها با کمک HangFire بپردازیم.
#سجاد_کاردل
https://vrgl.ir/bMkS1
پ.ن: یه آموزش جامع و در عین حال مختصر و مفید در باره hangfire و مقایسه اون با quartz که ابزار های مفیدی هم داخل خودش معرفی کرده
___________________
@DotNetZoom
در هر برنامه ای اجرای تسک های پس زمینه یکی از بخش های مهم برنامه تلقی میشود. این تسک ها شامل مواردی است که برنامه باید بطور خودکار در زمان های مشخص آن هارا اجرا کند. HangFire یکی از محبوترین پکیج ها برای پیاده سازی تسک های پس زمینه میباشد که مدیریت اجرا و مهم تر ، زمانبندی آن ها را بر عهده دارد. در این مقاله سعی شده تسک های پس زمینه را شرح دهیم و به انواع زمانبندی آن ها با کمک HangFire بپردازیم.
#سجاد_کاردل
https://vrgl.ir/bMkS1
پ.ن: یه آموزش جامع و در عین حال مختصر و مفید در باره hangfire و مقایسه اون با quartz که ابزار های مفیدی هم داخل خودش معرفی کرده
___________________
@DotNetZoom