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
✅ کدنوسی و دیباگ تو Windows، اجرا تو Linux !
از زمان cross-platform شدن دات نت (در NET Core.) بدلیل قدرت و امنیت بیشتر Linux در سمت سرور و نیز به خاطر ارزان بودن سرور های لینوکسی نسبت به ویندوزی، خیلی از شرکت ها تصمیم به مهاجرت و استفاده از Linux در سمت سرور کردند
نکته ای هست اینه که درسته که NET Core. کراس پلتفرم هست ولی کدنویسی شما میتونه الزاما کراس پلتفرم نباشه و روی لینوکس خطا بده.
به عنوان یه مثال مسیر فایل ها در لینوکس با کاراکتر "/" مشخص میشن ولی در ویندوز با کاراکتر "\". یا مثلا اگر از api ها و کتابخانه های platform-specific مثلا برای دسترسی به registery ویندوز یا حتی p/invoke کردن api های سیستم عامل (که مشخصا در دیگری وجود ندارند) و....
همه اینها باعث میشه کد شما الزاما توی لینوکس به درستی کار نکنه. از این رو این که کد های خودتون رو روی لینوکس هم تست بکنین و از صحت عملکردش اطمینان حاصل کنین بسیار حائز اهمیت هست.
خب یک راهش اینه که کلا به لینوکس مهاجرت کنین ولی اگر لینوکس بلد نیستین یا راه دستتون نیست، گزینه مناسبی هم نمیتونه باشه. از طرفی اگر کدتون رو صرفا روی لینوکس اجرا و تست کنین، شما دیگه نمیتونین از صحت عملکردش روی ویندوز مطمئن بشین.
بهترین راه میتونه این باشه که شما روی ویندوز پروژه تون رو توسعه بدین و بتونین هم روی ویندوز و هم روی لینوکس اجرا و تست اش کنین
خوشبخانه این کار توسط قابلیت WSL2 (مخفف Windows Subsystem for Linux) و افزونه Visual Studio Code Remote امکان پذیره. شما میتونین یک محیط کامل Linux ای برای اجرا و تست برنامه هایی که در محیط Windows توسعه میدین داشته باشین.
.
در واقع شما عین سابق در محیط ویندوز توسط VS Code، کدنویسی و Debug میکنین ولی برنامه هاتون عملا روی Linux اجرا میشه.
این قابلیت به شما کمک میکنه که بتونین کد هاتون رو در محیط Linux هم تست کنین و از اجرای صحیح برنامه های cross-platform اتون اطمینان حاصل کنین
🔰آموزشش دیگه توی این پست نمیگنجه. به لینک های زیر مراجعه کنین
اول از فعال بودن WSL روی ویندوز تون و آپدیت بودنش به نسخه WSL2 اطمینان حاصل کنین و بعد از طریق آموزش های اقدام کنین
🔸Linux Development on Windows with WSL and Visual Studio Code
- Part 1
- Part 2
- Part 3
🔹[Video] Developing on Windows with WSL2 (Subsystem for Linux), VS Code, Docker, and the Terminal
_______________
@DotNetZoom
از زمان cross-platform شدن دات نت (در NET Core.) بدلیل قدرت و امنیت بیشتر Linux در سمت سرور و نیز به خاطر ارزان بودن سرور های لینوکسی نسبت به ویندوزی، خیلی از شرکت ها تصمیم به مهاجرت و استفاده از Linux در سمت سرور کردند
نکته ای هست اینه که درسته که NET Core. کراس پلتفرم هست ولی کدنویسی شما میتونه الزاما کراس پلتفرم نباشه و روی لینوکس خطا بده.
به عنوان یه مثال مسیر فایل ها در لینوکس با کاراکتر "/" مشخص میشن ولی در ویندوز با کاراکتر "\". یا مثلا اگر از api ها و کتابخانه های platform-specific مثلا برای دسترسی به registery ویندوز یا حتی p/invoke کردن api های سیستم عامل (که مشخصا در دیگری وجود ندارند) و....
همه اینها باعث میشه کد شما الزاما توی لینوکس به درستی کار نکنه. از این رو این که کد های خودتون رو روی لینوکس هم تست بکنین و از صحت عملکردش اطمینان حاصل کنین بسیار حائز اهمیت هست.
خب یک راهش اینه که کلا به لینوکس مهاجرت کنین ولی اگر لینوکس بلد نیستین یا راه دستتون نیست، گزینه مناسبی هم نمیتونه باشه. از طرفی اگر کدتون رو صرفا روی لینوکس اجرا و تست کنین، شما دیگه نمیتونین از صحت عملکردش روی ویندوز مطمئن بشین.
بهترین راه میتونه این باشه که شما روی ویندوز پروژه تون رو توسعه بدین و بتونین هم روی ویندوز و هم روی لینوکس اجرا و تست اش کنین
خوشبخانه این کار توسط قابلیت WSL2 (مخفف Windows Subsystem for Linux) و افزونه Visual Studio Code Remote امکان پذیره. شما میتونین یک محیط کامل Linux ای برای اجرا و تست برنامه هایی که در محیط Windows توسعه میدین داشته باشین.
.
در واقع شما عین سابق در محیط ویندوز توسط VS Code، کدنویسی و Debug میکنین ولی برنامه هاتون عملا روی Linux اجرا میشه.
این قابلیت به شما کمک میکنه که بتونین کد هاتون رو در محیط Linux هم تست کنین و از اجرای صحیح برنامه های cross-platform اتون اطمینان حاصل کنین
🔰آموزشش دیگه توی این پست نمیگنجه. به لینک های زیر مراجعه کنین
اول از فعال بودن WSL روی ویندوز تون و آپدیت بودنش به نسخه WSL2 اطمینان حاصل کنین و بعد از طریق آموزش های اقدام کنین
🔸Linux Development on Windows with WSL and Visual Studio Code
- Part 1
- Part 2
- Part 3
🔹[Video] Developing on Windows with WSL2 (Subsystem for Linux), VS Code, Docker, and the Terminal
_______________
@DotNetZoom
Microsoft News
Take your Linux development experience in Windows to the next level with WSL and Visual Studio Code Remote
Using VS Code Remote and the Windows Subsystem for Linux (WSL) gives you a fully featured Linux development environment on a Windows laptop or desktop. Let’s look at how using these tools will completely change how you develop with Linux tools in Windows.
❇️ معرفی 4 ابزار Code Generator مخصوص EF Core
🔸دو تای اولی بهترین افزونه های ویژوال استادیو جهت Reverse Engineering مخصوص EF Core هستند که ساخت کلاس های Entity/Poco از روی دیتابیس از پیش موجود رو خیلی ساده و به صورت GUI برای شما انجام میدن
1️⃣ EF Core Power Tools
2️⃣ EntityFramework Reverse POCO Generator
🔹این یکی اما هم یه scaffolding engine هست که هم با EF Core کار میکنه هم با Dapper؛ هم ViewModel و Controller میسازه هم کلاس های TypeScript
3️⃣ CatFactory
🔰آموزش ها:
✔️Scaffolding Dapper with CatFactory
✔️Scaffolding View Models with CatFactory
✔️Scaffolding Entity Framework Core 2 with CatFactory
✔️Scaffolding ASP.NET Core 2 with CatFactory
✔️Scaffolding TypeScript with CatFactory
🔸این یکی هم یه کد ساز مخصوص EF Core هست که مثل scaffolding عمل میکنه منتها برای Web API و کد کامل پروژه رو از روی دیتابیس از پش موجود شما تولید میکنه از جمله Model ها، Mapping ها، Validation ها و Controller ها و...
4️⃣ EntityFrameworkCore.Generator
🔰آموزش ها:
✔️Generate ASP.NET Core WebAPI model with Entity Framework Core Generator
✔️https://github.com/ErikEJ/EFCorePowerTools/wiki/Reverse-Engineering
✔️https://efg.loresoft.com/en/latest/
___________________
@DotNetZoom
🔸دو تای اولی بهترین افزونه های ویژوال استادیو جهت Reverse Engineering مخصوص EF Core هستند که ساخت کلاس های Entity/Poco از روی دیتابیس از پیش موجود رو خیلی ساده و به صورت GUI برای شما انجام میدن
1️⃣ EF Core Power Tools
2️⃣ EntityFramework Reverse POCO Generator
🔹این یکی اما هم یه scaffolding engine هست که هم با EF Core کار میکنه هم با Dapper؛ هم ViewModel و Controller میسازه هم کلاس های TypeScript
3️⃣ CatFactory
🔰آموزش ها:
✔️Scaffolding Dapper with CatFactory
✔️Scaffolding View Models with CatFactory
✔️Scaffolding Entity Framework Core 2 with CatFactory
✔️Scaffolding ASP.NET Core 2 with CatFactory
✔️Scaffolding TypeScript with CatFactory
🔸این یکی هم یه کد ساز مخصوص EF Core هست که مثل scaffolding عمل میکنه منتها برای Web API و کد کامل پروژه رو از روی دیتابیس از پش موجود شما تولید میکنه از جمله Model ها، Mapping ها، Validation ها و Controller ها و...
4️⃣ EntityFrameworkCore.Generator
🔰آموزش ها:
✔️Generate ASP.NET Core WebAPI model with Entity Framework Core Generator
✔️https://github.com/ErikEJ/EFCorePowerTools/wiki/Reverse-Engineering
✔️https://efg.loresoft.com/en/latest/
___________________
@DotNetZoom
Visualstudio
EF Core Power Tools - Visual Studio Marketplace
Extension for Visual Studio - Useful design-time DbContext and database features, added to the Visual Studio Solution Explorer context menu.
When right-clicking on a C# project, the following context menu functions are available:
Reverse Engineer - Generates…
When right-clicking on a C# project, the following context menu functions are available:
Reverse Engineer - Generates…
✅ هشتمین گفتگوی فنی #فری_تاک
با موضوع : Security
سه شنبه 28 اردیبهشت، ساعت 21:00
ارائه دهندگان: محمدجواد ابراهیمی - مجتبی تاجیک
در این گفتگو درباره مهم ترین آسیب پذیری های امنیتی در پروژه های نرم افزاری خصوصا Web Application ها و نیز راه حل ها و Best Practice های جلوگیری از این مشکلات صحبت خواهیم کرد
در این جلسه میزبان مجتبی تاجیک عزیز هستیم که تخصصا تو حوزه امنیت کار میکنه و بیش از 15 سال تجربه داره
#فری_تاک یک گفتگوی فنی در مورد توسعه نرم افزار (بیشتر متمرکز بر دات نت) هست که هر هفته سه شنبه ها ساعت 21:00 برگزار میشه
این گفتگو صوتی هست و توسط قابلیت Voice Chat تلگرام (چیزی شبیه به Clubhouse یا Spaces توئیتر) در همین کانال برگزار میشه
ویس جلسات گفتگو ضبط شده و در آخر همینجا منتشر خواهد شد
جهت استفاده از قابلیت Voice Chat از آپدیت بودن تلگرامتون اطمینان حاصل کنین.
ویس ضبط شده جلسات قبل رو میتونین با هشتگ #فری_تاک پیدا کنین.
___________________
@DotNetZoom
با موضوع : Security
سه شنبه 28 اردیبهشت، ساعت 21:00
ارائه دهندگان: محمدجواد ابراهیمی - مجتبی تاجیک
در این گفتگو درباره مهم ترین آسیب پذیری های امنیتی در پروژه های نرم افزاری خصوصا Web Application ها و نیز راه حل ها و Best Practice های جلوگیری از این مشکلات صحبت خواهیم کرد
در این جلسه میزبان مجتبی تاجیک عزیز هستیم که تخصصا تو حوزه امنیت کار میکنه و بیش از 15 سال تجربه داره
#فری_تاک یک گفتگوی فنی در مورد توسعه نرم افزار (بیشتر متمرکز بر دات نت) هست که هر هفته سه شنبه ها ساعت 21:00 برگزار میشه
این گفتگو صوتی هست و توسط قابلیت Voice Chat تلگرام (چیزی شبیه به Clubhouse یا Spaces توئیتر) در همین کانال برگزار میشه
ویس جلسات گفتگو ضبط شده و در آخر همینجا منتشر خواهد شد
جهت استفاده از قابلیت Voice Chat از آپدیت بودن تلگرامتون اطمینان حاصل کنین.
ویس ضبط شده جلسات قبل رو میتونین با هشتگ #فری_تاک پیدا کنین.
___________________
@DotNetZoom
Software Philosohpy Talk 03
Software Philosophy
سومین #گپ_تکنیکال «فلسفه نرمافزار»
با موضوع: «Software Architecture: Performance»
با حضور
#مهران_داودی
#یاسر_مرادی
لطفا نظرتون رو هم در مورد گپ این هفته بنویسید برامون :)
@SoftwarePhilosophy
@SoftwarePhilosophy
@SoftwarePhilosophy
با موضوع: «Software Architecture: Performance»
با حضور
#مهران_داودی
#یاسر_مرادی
لطفا نظرتون رو هم در مورد گپ این هفته بنویسید برامون :)
@SoftwarePhilosophy
@SoftwarePhilosophy
@SoftwarePhilosophy
DotNetZoom
✅ هشتمین گفتگوی فنی #فری_تاک با موضوع : Security سه شنبه 28 اردیبهشت، ساعت 21:00 ارائه دهندگان: محمدجواد ابراهیمی - مجتبی تاجیک در این گفتگو درباره مهم ترین آسیب پذیری های امنیتی در پروژه های نرم افزاری خصوصا Web Application ها و نیز راه حل ها و Best Practice…
دوستان ویس چت استارت شد از بحث عقب نمونین :)
Security
DotNetZoom
✅ ویس ضبط شده هشتمین گفتگوی فنی #فری_تاک با موضوع Security
ارائه دهندگان : مجتبی تاجیک، محمدجواد ابراهیمی
_________________
@DotNetZoom
ارائه دهندگان : مجتبی تاجیک، محمدجواد ابراهیمی
_________________
@DotNetZoom