DotNetZoom
3.06K subscribers
342 photos
18 videos
36 files
606 links
DotNetZoom
💎 Everything about .NET

ارتباط با مدیر و تبلیغات آگهی استخدام:
@mjebrahimi

لینک گروه ASPNET Core:
https://t.me/+ufG25x7lVFgyYTNk
Download Telegram
Forwarded from TondTech
ما در Khanoumi.com به یک Devops Engineer در تیم مون نیاز داریم
خیلی خوب میشه که تجربه کار در تیم هایی با تعداد کاربر آنلاین بالا داشته باشه و یه Team Player خوب باشه
شرح نیازمندی های ما به شکل زیر هست :
- تعامل با تیم توسعه
- تسلط بر مفاهیم لود بالانس و HA
- تجربه عملیاتی Swarm یا Kubernetes
- تسلط بر Gitlab و CI/CD
- توانایی استقرار Automation
- مهارت برنامه نویسی یا Scripting
- تسلط بر سرویس های مانیتورینگ و TSDB
- تسلط بر سرویس های Queuing
- آشنایی با مفاهیم میکرو سرویس
- آشنایی با متدولوژی چابک
- آشنایی با توزیع‌های لینوکس به خصوص Ubuntu و Debian
- آشنایی با وب‌سرورها
- تسلط به محیط Bash و Shell Scripting
- آشنایی با مفاهیم امنیتی سرورهای لینوکسی
- تسلط بر ابزارهای Deploy مانند Gitlab-CI, Ansible, Vagrant, Jenkins و ..
- مسلط به داکر
- مسلط به کوبرنتیز
- دانش قوی در زمینه نصب CI/CD
- دانش کار با سیستم های نظارت
در صورتی که دوست دارید هم تیمی ما باشید حتما رزومه تون رو از طریق لینک زیر ارسال کنید
و یا به خود من در لینکدین یا تلگرام پیام بدین
https://lnkd.in/eH969_JU
Forwarded from کدهک
آشنایی با docker-compose

https://youtu.be/zGFa4Y6JLxI
Forwarded from کدهک
اولین نگاه به تغییرات ASP NET Core 6.0

https://youtu.be/dSKT_H-MZFM
Forwarded from Soheil Hasankhani
Forwarded from کدهک
شروع به کار با Web API در ASP NET Core 6.0

https://youtu.be/hONSDm4gs_I
Forwarded from Software Philosophy
کنفرانس NET. Conf هر سال خبرهای هیجان‌انگیزی داره. امسال هم NET. خبر های خوب و جذابی داره که قراره ۱۸ تا ۲۰ آبان برگزار بشه.

ما در «کانال فلسفه نرم‌افزار» به همراه بچه‌های «ملک‌رادار» تصمیم گرفتیم که دور هم جمع شویم و امسال این کنفرانس رو با هم ببینیم و در مورد فیچرهای جدید هم گپ و گفتی داشته باشیم.

این دورهمی به صورت Watch party و روی Microsoft Teams برگزار می‌شود. پس اگر شما هم دوست دارید این رویداد رو تنها نبینید خوشحال می‌شیم با ما همراه بشید.

برای شرکت در این Watch Party روی این لینک کلیک کنید تا وارد گروه تلگرامی که برای هماهنگی درست کردیم بشید.

من (مهران داودی) هم به همراه بچه‌های این کانال هم تو این دورهمی هستیم.
Forwarded from کدهک
نسخه نهایی NET 6.0 منتشر شد.

نسخه 6.0 دات نت به صورت طولانی مدت پشتیبانی میشود (LTS) و توسعه دهندگان می توانند تا سه سال بدون مهاجرت به نسخه بعدی همچنان آپدیت های آن را دریافت کنند.

به همراه این نسخه سی شارپ 10 و اف شارپ 6 هم منتشر شده است.

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

با توجه به پایان پشتیبانی دات نت 5 در چند ماه آینده پروژه های دات نت 5 باید هرچه سریعتر به نسخه 6 آپدیت شوند.

میتوانید نسخه جدید را از لینک زیر دانلود کنید یا Visual Studio را به آخرین نسخه آپدیت کنید.

https://dotnet.microsoft.com/download
Forwarded from Software Philosophy
همه چیز در مورد NET Core 6.

دیروز نسخه رسمی NET Core 6. به همراه نسخه رسمی Visual Studio 2022 ارائه شد.
در واقع شما می‌توانید با نصب ویژوال استودیو همزمان NET Core 6. را هم نصب کنید.

اما موضوع این پست و سوال اصلی اینجاست که چه اتفاقاتی در NET Core 6. افتاده و آپدیت ها چه چیز هایی هستند؟

بررسی فیچر های جدیدی که با NET Core 6. ارائه شده:

1 - Looking inside ConfigurationManager in .NET 6
2 - Comparing WebApplicationBuilder to the Generic Host
3 - Exploring the code behind WebApplicationBuilder
4 - Building a middleware pipeline with WebApplication
5 - Supporting EF Core migrations with WebApplicationBuilder
6 - Supporting integration tests with WebApplicationFactory in .NET 6
7 - Analyzers for ASP.NET Core in .NET 6
8 - Improving logging performance with source generators
9 - Source generator updates: incremental generators

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.

#حامد_حاجیلو (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

________
Forwarded from Software Philosophy
اضافه شدن قابلیت Temporal Table به EF Core 6

مایکروسافت در سال 2016 قابلیت Temporal Table که با نام System-Versioned نیز شناخته می‌شود را به SQL Server اضافه کرد.

این قابلیت امکان این را فراهم می‌کند که تغییرات مربوط به دیتا‌های هر جدول را ذخیره سازی کنیم.

این امکان برای مانیتورینگ و همچنین برگرداندن داده‌های حذف شده مفید است ولی باید در نظر داشت که این امکان باعث بالارفتن سریع حافظه دیتابیس می‌شود.

مایکروسافت در آخرین ورژن EF Core یعنی EF Core 6 این قابلیت را فراهم کرده‌است که به واسطه EF هم بتوانیم از این قابلیت SQL استفاده کنیم.

برای این که جدول مورد نظر از این ویژگی برخوردار باشد باید توسط Fluent Api این کار را انجام دهیم:

    modelBuilder
.Entity<Product>()
.ToTable("Products", b => b.IsTemporal());

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

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.

#حامد_حاجیلو (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

________
Forwarded from Software Philosophy
انتقال داده ها به واسطه Azure Service Bus

امروزه سرعت انتقال داده‌ها از اهمیت بالایی برخوردار است. برای مثال فرض کنید پروژه شما شامل ۲ اپلیکیشن مجزا از هم است که هر دوی آنها از یک دیتابیس مشترک برای داده‌های خود استفاده می‌کنند. اپلیکیشن ۱ بر روی داده‌ها تغییراتی انجام می‌دهد و اپلیکیشن ۲ از این تغییرات استفاده می‌کند.

در حالت عادی اپلیکیشن ۲ برای استفاده از داده‌هایی که قبلا توسط اپلیکیشن ۱ لود شده بود بایستی یک بار دیگر کوئری‌ای بر روی دیتابیس بزند و دیتاها را مجدد لود کند.
اما این روش دوباره کاری است و بهینه نیست.

یک راه حل بهتر استفاده از message broker ها است. تعریف خیلی ساده آن هم مفهوم صف است. یک صف (Queue) که خارج از اپلیکیشن‌های ما قرار دارد.

برای مثال Apache Kafka٬RabbitMQ٬Google Cloud Pub/Sub و ... از جمله معروف‌ترین message broker موجود هستند.

یکی از بهترین message broker های موجود٬ Azure Service Bus است.

این سرویس قابلیت‌هایی فراتر از یک صف معمولی دارد، که از جمله مهمترین آنها می‌توانیم به قابلیت جلوگیری از ارسال داده‌های تکراری و استفاده چندین subscriptions از یک topic را نام ببریم.

البته به صورت پیشفرض (پلن رایگان) از Topic نمیتوانیم استفاده کنیم و صرفا از همان مفهوم Queue می‌شود استفاده کرد.

در این ویدیو نحوه استفاده از Azure Service Bus آموزش داده شده است.

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.

#حامد_حاجیلو (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

________
Forwarded from Software Philosophy
امکانات LINQ در NET 6.

۱- امکان مشخص کردن مقدار پیش‌فرض در OrDefault*

var item1 = list1.FirstOrDefault(i => i == 4, -1);
// -1

var item2 = list2.SingleOrDefault(i => i == "Item2", "Not found");
// Not found



۲- متدهای جدید با مدل By*:

- MinBy
- MaxBy
- DistinctBy
- ExceptBy
- IntersectBy
- UnionBy


List<Product> products = new()
{
new() { Name = "Product1", Price = 100 },
new() { Name = "Product2", Price = 5 },
new() { Name = "Product3", Price = 50 },
};

Product theCheapestProduct = products.MinBy(x => x.Price);
Product theMostExpensiveProduct = products.MaxBy(x => x.Price);
Console.WriteLine(theCheapestProduct);
// Output: Product { Name = Product2, Price = 5 }
Console.WriteLine(theMostExpensiveProduct);
// Output: Product { Name = Product1, Price = 100 }


۳- متد کاربردی Chunk :

IEnumerable<int> numbers = Enumerable.Range(1, 505);
IEnumerable<int[]> chunks = numbers.Chunk(100);

foreach (int[] chunk in chunks)
{
Console.WriteLine($"{chunk.First()}...{chunk.Last()}");
}

// Output:
// 1...100
// 101...200
// 201...300
// 301...400
// 401...500
// 501...505


۴- تابع Zip

int[] numbers = { 1, 2, 3, 4, };
string[] months = { "Jan", "Feb", "Mar" };
string[] seasons = { "Winter", "Winter", "Spring" };

var test = numbers.Zip(months).Zip(seasons);

foreach ((int, string, string) zipped in numbers.Zip(months, seasons))
{
Console.WriteLine($"{zipped.Item1} {zipped.Item2} {zipped.Item3}");
}


۵- پشتیبانی از Index در تابع ElementAt :

IEnumerable<int> numbers = new int[] { 1, 2, 3, 4, 5 };
int last = numbers.ElementAt(^0);
Console.WriteLine(last); // 5


۶- پشتیبانی از Range در تابع Take :
var taken1 = numbers.Take(2..4);


۷- جلوگیری از شمارش تایپ‌های غیر Enumerable:

numbers.TryGetNonEnumeratedCount(out int count)



https://raygun.com/blog/linq-net-6-improvements/

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.

#حامد_حاجیلو (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

________