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

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

لینک گروه ASPNET Core:
https://news.1rj.ru/str/+ufG25x7lVFgyYTNk
Download Telegram
پروژه سورس باز فروش بیمه به صورت Microservices در NET Core.

🔰 تکنولوژی های استفاده شده
.NET Core 2.1
Entity Framework Core
#MediatR
#Marten
#Eureka
#Ocelot
#JWT Tokens
#RestEase
#RawRabbit
#NHibernate
#Polly
#NEST (#ElasticSearch client)
#Dapper
#SignalR
#MicroServices
DynamicExpresso

https://github.com/asc-lab/dotnetcore-microservices-poc
_________________
@IranAspMvc
Forwarded from Software Philosophy
Media is too big
VIEW IN TELEGRAM
Forwarded from Software Philosophy
Forwarded from Software Philosophy
یکی از کارهای جذذابی (با دو تا ذ) که اخیرا شروع کردم طراحی این دو تا دوره‌ست:

- آموزش زبان فنی برای تیم‌های بیزنسی.
- آموزش زبان بیزنس برای تیم‌های فنی.


یکی از مشکلات اغلب افرادی که استارتاپ دارن، شرکت دارن و یا تو تیمی هستن که با تیم‌های فنی کار می‌کنه، اینه که زبان مشترکی با تیم‌های فنی ندارن. اصطلاحاتی می‌شنون که ارتباطش رو با موضوع متوجه نمی‌شن. برای همین همیشه حس ابهام یا حس‌های دیگه نسبت به کار با تیم‌های فنی دارن.

یه کار جذذاب اینه که به عنوان افراد بیزنسی تیم، حداقل دانش فنی که لازمه تا بتونیم راحت‌تر با تیم‌های فنی تعامل کنیم رو یاد بگیریم. من به کمک دوستانم در مدرسه بازاریابی تهران این دوره رو به همین خاطر طراحی کردیم.

اگر یک بیزنسی هستین و با تیم‌های فنی کار می‌کنین، این دوره تجربه خیلی جذذابی براتون خواهد بود و مطمئنا به پرفورمنس تیمتون خیلی کمک می‌کنه.

از طرف دیگه، اگر یک برنامه‌نویس هستید، مطمئن باشید که دنیای بیزنس برای ما برنامه‌نویسان یک دنیای جذاب و ناشناخته است. دنیایی که که با ادبیاتش آشنا بشیم، ساخت محصول و کار کردن با تیم‌های بیزنسی، عوض شدن زمان‌ها، نیازمندی‌ها و خیلی چیزهای دیگه معنی‌دار می‌شه و کمک می‌کنه بتونیم به اتفاق هم راه‌حل‌های بهتری برای مسائل بیزنسی پیدا کنیم. این کاری هست که دوره دوم قراره انجام بده.


اگر یک بیزنسی هستید که دوست دارین زبان تیم‌های فنی رو بهتر یاد بگیرید،
اگر یک برنامه‌نویس هستید که دوست دارین زبان بیزنسی رو بهتر یاد بگیرید،

👈 برای اطلاعات بیشتر و رزرو در دوره با شماره 021-88677808 تماس بگیرید و یا از طریق دایرکت اینستاگرام در تماس باشید:

Instagram.com/tehranmarketing_school


#مهران_داودی (http://ow.ly/GwIl309lFEm)

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

____
❇️ در آستانه انتشار نهایی 3 NET Core.

هم اکنون NET Core. 3 تا نسخه پیش نمایش 8 خودش پیش رفته و تقریبا در آستانه انتشار نهاییش هست

تیم NET Core. گفته در حال حاضر قرار نیست دیگه فیچر جدیدی اضافه کنن و بیشتر تمرکزشون رو روی Bugfix و Stability (پایداری) گذاشتن

ماکروسافت هم گفته نسخه های پیش نمایش 7 و 8 رو پشتیبانی رسمی (Go Live) میکنه و میتونین ازشون در Production استفاده کنید. ولی پیشنهاد میشه قبل از استفاده از اون تست های لازم رو انجام بدین

ماکروسافت تاریخ انتشار نهایی NET Core 3. رو ماه سپتامبر (ماه آینده) وعده داده ولی با توجه به اینکه هنوز RC (نسخه Release Condidate) اون منتشر نشده بعید میدونم به سپتامبر برسه و احتمالا میره واسه اکتبر (2 ماه آینده)

@IranAspMvc
DotNetZoom
🔰دوره دوره API نویسی اصولی و حرفه ای در ASP.NET Core در این دوره همه نکات مهم و پرکاربرد در API نویسی اصولی و حرفه ای در ASP Core بررسی شده اند. همچنین سعی شده بهترین و محبوب ترین تکنولوژی ها، کتابخانه ها و ابزار ها داخل پروژه استفاده بشه. ونیز Best Practice…
🔰 دوستانی که سراغ کد تخفیف «دوره API نویسی پیشرفته» رو میگرفتند

سایت بیاموز یه تخفیف 45% ایی تا عید غدیر زده با کد GhorbanTaGhadir

تا 3 روز و 4 ساعت دیگه از همین لحظه فرصت داره

توضیحات بیشتر دوره هم تو پستی که Reply کردم هست. اینم لینکش

http://bit.ly/2Xo6NX2
خوش باشید 🌹
Forwarded from کدهک
آشنایی با Thread Pool

ایجاد کردن Thread جدید فرآیند پر هزینه ای است و لازم است در Kernel و استک تخصیص حافظه صورت گیرد. به دلیل این هزینه ی بالا هیچوقت نباید برای مدیریت درخواستهای مجزا Thread جدید ایجاد کرد.

در اینجا از تکنیک Thread Pool یا استخر Thread استفاده میشود. به این معنی که تعداد زیادی Thread از قبل ساخته شده و آماده ی استفاده قرار می گیرند. در عمل دو نوع Thread درون Thread Pool دات نت وجود دارند :

Worker Thread
I/O Thread

از ترد I/O برای انجامی عملیات های سخت افزاری مانند کار با شبکه و هارد دیسک استفاده میشود که I/O Bound هستند.


ایجاد Threadهای زیاد باعث کمبود حافظه میشود و کم بودن آنها برنامه را کند میکند. ایده آل این است که به تعداد هسته ها Thread داشته باشیم اما در عمل بسیاری از آنها درگیر عملیات های I/O میشوند و هسته بیکار می ماند.

تعداد Thread ها بسته به میزان درخواستها کم و زیاد میشود و برای محاسبه ی آن از الگوریتم Hill Climbing استفاده میشود که Self-Feedback است و خودش را اصلاح میکند. این الگوریتم با کم شدن Throughput تشخیص میدهد که باید Thread بیشتر اضافه شود.
❇️ کیفیت پایین یعنی سرعت پایین 👌

کدی پرفرمنس خوبی داره که قطعا کیفیت خوبی داشته باشه (پیچیدگی کم - خوانایی بالا - تست پذیری - توسعه پذیری و...)

🔰 چندتا از بهترین مقالات Code Quality (معیار های کد با کیفیت)

https://www.perforce.com/blog/sca/what-code-quality-and-how-improve-it

https://www.sealights.io/test-metrics/code-quality-metrics-is-your-code-any-good/

https://www.it-cisq.org/standards/code-quality-standards/

@IranAspMvc
Forwarded from کدهک
نسخه نهایی NET Core 3.0

به زودی پیش نمایش 9 از فریم ورک NET Core 3.0 عرضه میشود. با تغییر سیستم نام گذاری نسخه های دات نت دیگر نسخه ای با نام RC یا Release Candidate معرفی نمیشود و طبق اعلام مدیر فنی این نسخه به عنوان RC قابل استفاده است. به این معنی که دیگر تغییر بزرگی در راه نیست و Breaking Change نخواهیم داشت.

تیم توسعه ی دات نت در حال حاضر تمرکز اصلی خود را روی Blazor گذاشته و عملا کار زیادی روی ASP انجام نمی دهد.

طبق اعلام مایکروسافت نسخه ی نهایی Net Core 3.0 همزمان با کنفرانس NETConf در 23 سپتامبر رسما عرضه میشود که کمتر از یک ماه دیگه است.

تغییرات بزرگ و مهم نسخه 3.0 شامل اضافه شدن WinForm و WPF به Core است. همچنین Blazor به عنوان Web UI از طریق Web Assembly امکان برنامه نویسی #C در مرورگر را فراهم میکند و می تواند جایگزین خوبی برای جاوااسکریپت باشد.

ماه پیش سورس پروژه دات نت در GitHub به
5.0 تغییر نام داده شد که به این معنی است که کار روی نسخه ی بعدی دات نت شروع شده است.
📣 اطلاعیه

❇️ آدرس این کانال به DotNetZoom تغییر پیدا کرد و نام و آیکون اون هم به زودی تغییر خواهد کرد ❇️

👉 @DotNetZoom 👈 آدرس جدید کانال
Forwarded from Moien Tajik 💭
نسخه NET Core 3.0 Preview 9 تو حالت Production Ready رفت و میشه برنامه رو بهش Update کرد.

برای اطمینان ، ماکروسافت سایت خودش رو هم روی این نسخه برد ( فوتر سایت ، قسمت Powered By ).

نسخه GA ( General Availability )l اش هم ، در آخر این ماه Release میشه ✌🏻 :
https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0-preview-9/


تفاوت سرعت نسخه های 2.1 و 2.2 و 3.0 خیلی محسوسه و از لحاظ Performance ای وقتی برنامه بهش آپدیت بشه ، کاملا قابل احساسه که میتونید این Improvement هارو از اینجا بخونید⚡️ :

https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-core-3-0/
Forwarded from Narges B
📜دعوت به همکاری در شرکت خبره پرداز پارس ( فعال در پروژه های بانکی و اداری )

🔸برنامه نویس حرفه ای NET.
Full-Stack Developer

🔸نوع همکاری : تمام وقت

🔸ارسال رزومه
✉️: jobs@kpp.ir

🔸شماره تماس
📞: 021-88737018
چند ایراد مهم هنگام کار با EF Core که باید بدانید

شاید فک کنین EF Core بعد از نسخه 2.2 و یا حتی الان که دیگه نسخه 3.0 اش هم داره میاد، دیگه به بلوغ حداقلی رسیده باشه. اگه اینطوریه به چندتا مثال زیر دقت کنین

1️⃣ مشکل Select به هنگام Include
وقتی روی یه کوئری Include میزنین قاعدتا باید یه join به کوئری تون اضافه کنه ولی توی نسخه 2.2 به قبل اگه با Profiler چک کنین به جای یک کوئری میاد و 2تا کوئری میزنه!
این مشکل توی نسخه 3.0 (که در حال حاضر پیشنمایش 9 اش هست) برطرف شده.

2️⃣ مشکل Recursive Select برای جداول Self Refrence
فرض کنین یه جدول Category دارید که به خودش ریلیشن داره (Self Refrence هست) در نتیجه navigation property های Parent و Childs رو داره
اگه لازم باشه یک select به صورت recursive بزنین، یعنی همه Category ها رو به همراه بچه هاشون بیاره، اوضاع جالب میشه
توی نسخه 2.2 اگر Include بزنین روی Childs تا زمانی که شرط Where توی کوئری تون نباشه کار میکنه ولی به محض اینکه شرط Where رو بذارین فقط تا یک سطح Childs ها رو میاره و نه بیشتر.
توی نسخه 3.0 (پیشنمایش 9) کلا همینم نمیاره یعنی وقتی Include میزنین چه Where داشته باشه چه نداشته باشه فقط و فقط تا یک سطح از Childs هارو میاره

3️⃣ مشکل GroupBy
توی نسخه 2.2 به قبل، EF Core دستور کوئری GroupBy رو ساپورت نمیکنه (به دستورات TSql ترجمه نمیشه) و اگر از GroupBy استفاده کنین ، درحالت عادی کل رکورد ها رو واکشی میکنه و توی مموری GroupBy رو انجام میده. (قابلیت ClientEvaluation)
اگر هم قابلیت ClientEvaluation رو غیر فعال کرده باشین خطای InvalidOperationException بهتون میده
توی نسخه 3.0 اما GroupBy کلا هیچ جوره جواب نیمده (لازم به ذکره قابلیت ClientEvaluation کلا غیر فعال شده و نیازه به غیرفعال کردن دستیش نیست)

🔹خب دیدین که EF Core هنوز یه سری ایرادات پایه ای داره پس اولا توی این جور کوئری هایی که مثال زدم مراقب باشید

🔸دوما راه حلش فعلا اینه که تا اونجایی رو که EF Core ساپورت میکنه با خودش انجام بدیم و جا هایی که درست کار نمیده، نیازش رو توی مموری با Linq to Object برطرف کنیم
__________________
@DotNetZoom
❇️ گوگل قابلیت Lazy-Load را به صورت native در مرورگر Chrome ورژن 76 اضافه کرد

🔸 توسط این قابلیت میتوان load عکس ها را تا زمانی که کاربر به اون قسمت از صفحه اسکرول میکنه به تعویق انداخت
اینطوری همه تصاویر صفحه همون ابتدا load نمشن و زمانی که کاربر به پایین صفحه اسکرول میکنه، عکس هایی که لازمه دیده بشن به صورت خودکار load میشه.
این قابلیت موجب کاهش مصرف پهنای باند، کاهش مصرف memory و افزایش سرعت سایت می شود.

🔹 قبلا برای این کار باید از کتابخانه های third-party استفاده می شد ولی الان به راحتی با اضافه کردن خاصیت loading="lazy" به تگ های img و iframe میتونین این قابلیت رو بهشون اضافه کنین

<img src="image.png" loading="lazy" alt="…" width="200" height="200">
<iframe src="https://example.com" loading="lazy"></iframe>
اطلاعات بیشتر
https://web.dev/native-lazy-loading

🔰 نکته :

1️⃣ برای اینکه ارتفاع صفحه و در نتیجه آن ارتفاع scroll قبل از load شدن تصاویر به هم نریزه باید حتما width و height تگ های img رو مشخص کنین.

<img src="..." loading="lazy" width="200" height="200">
<img src="..." loading="lazy" style="height:200px; width:200px;">

2️⃣ در حال حاضر این قابلیت فقط در مروگر Chrome ورژن 76 به بالا ساپورت میشه (و نه در بقیه مرورگر ها)

برای بقیه مرورگر ها میتونین از کتابخانه های زیر که محبوب ترین کتابخانه های مخصوص این کار هستند استفاده کنین
https://github.com/aFarkas/lazysizes
https://github.com/tuupola/lazyload
https://github.com/ApoorvSaxena/lozad.js
https://github.com/verlok/lazyload
___________________
@DotNetZoom
Forwarded from Software Philosophy
نوبتی هم باشه نوبت «واچ پارتیه»! 🎂🍰🥂

قراره دور هم جمع بشیم و کنفرانس #DotNetConf رو در یک Watch Party با هم ببینیم.

همونطور که می‌دونید (یا شایدم ندونید) دوشنبه ۱ مهر کنفرانس #DotNetConf شروع می‌شه. دات‌نت‌کانف یکی مهمترین کنفرانس‌هایی هست که مایکروسافت توش تکنولوژی‌های جدید برنامه‌نویسی رو معرفی می‌کنه.

مایکروسافت امکانی رو فراهم کرده که افراد بتونن در سایت کنفرانس یه Watch Party رجیستر کنن و به طور رسمی دور هم جمع بشن و کنفرانس رو لایو با هم ببینین و در مورد موضوعاتش با هم صحبت کنن. همونطور که در نقشه‌ جهانی سایت کنفرانس می‌بینید ما تو ایران یه Watch Party ثبت کردیم (فعلا تو ایران فقط یکی هست) تا دور هم جمع بشیم و با هم کنفرانس رو ببینیم و در مورد تکنولوژی‌ها صحبت کنیم.

تو کنفرانس امسال نسخه نهایی .Net Core 3.0 ارائه می‌شه. همچنین در مورد آخریت تغییرات C# 8.0، ASP.NET Core و سرویس‌های هیجان‌انگیز Azure صحبت می‌شه. همچنین خبرهای جذابی از Blazor در راهه.

قسمتی از کنفرانس رو که انتخاب کردیم واسش واچ‌پارتی برگزار کنیم در مورد موضوعات بالا صحبت می‌شه و دوشنبه ۱ مهر، از ساعت ۱۹ تا ۲۳:۵۹ هست!
تو فرصت‌های خالی بین سخنرانی‌های تیم مایکروسافت، ما هم با هم در مورد تکنولوژی‌هایی که مطرح شده گپ می‌زنیم.

تو این پارتی «مهران داودی» هم هست تا از ویژگی‌های C# 8.0 بگه و تجربش در معماری محصولات روی Azure رو باهامون به اشتراک بذاره.

«یاسر مرادی» هم هست تا تجربش در ASP.NET Core باهامون به اشتراک بذاره.

«صالح یوسف‌نژاد» هم در مورد Blazor اطلاعاتش رو باهامون به اشتراک می‌ذاره.

برای ثبت‌نام تو سایت کنفرانس ایران رو پیدا کنید و تو رویداد ثبت‌نام کنید:

👉 https://www.dotnetconf.net/local-events 👈
و یا مستقیما از طریق سایت ایوند ثبت‌نام کنید:
http://evnd.co/NZfCK


چون فرصت کوتاهه و ظرفیت هم محدود، همین الان رجیستر کنید.

#مهران_داودی (http://ow.ly/GwIl309lFEm)

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

___
Forwarded from کدهک
آشنایی با Worker Service در NET Core 3.0

فردا همزمان با NETConf 2019 نسخه ی نهایی NET Core 3.0 منتشر میشود. یکی از موارد جدیدی که در این نسخه اضافه شده است قابلیت Background Service است که از طریق قالب پروژه Worker Service در دسترس است.

از Worker Service برای ایجاد سرویس هایی که قرار است برای مدت طولانی در سیستم عامل اجرا شوند استفاده میشود. این نوع اپ ها رابط کاربری ندارند و معمولا برای لوگ کردن اطلاعات یا نمایش وضعیت کلی سیستم در صفحه Terminal مورد استفاده قرار میگیرند.

کاربرد این نوع اپ ها در مواردی است که قصد دارید یک عملیات در پس زمینه همیشه در حال اجرا باشد .

یکی از کاربردهای Worker Service مدیریت پیامهای RabbitMQ است. یا اگر میخواهید پیامک یا ایمیل ها در ساعت زمانبندی شده خارج از پروسه اصلی سایت اجرا شود مناسب است. همچنین از این ابزار برای مونیتور کردن سلامت سرور و دیتابیس استفاده میشود.

در گذشته از برنامه های کنسول یا TopShelf استفاده میشد اما Worker Service ابزاری اختصاصی برای اجرا عملیاتهای بلند مدت فراهم می کند و به راحتی می توان آن را به صورت Windows Service یا Daemon Linux اجرا کرد.
نگارش نهایی NET Core 3.0. منتشر شد
https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0/

تغییرات ASP.NET Core و Blazor در نگارش نهایی NET Core 3.0.
https://devblogs.microsoft.com/aspnet/asp-net-core-and-blazor-updates-in-net-core-3-0/

نگارش نهایی EF Core 3.0 و EF 6.3 منتشر شد
https://devblogs.microsoft.com/dotnet/announcing-ef-core-3-0-and-ef-6-3-general-availability/

🔰 هم اکنون میتونین نسخه جدید رو از لینک زیر دانلود و نصب کنین
حداقل نسخه مورد نیاز Visual Studio 2019 ورژن (v16.3) می باشد
https://dotnet.microsoft.com/download/dotnet-core/3.0
_________________
@DotNetZoom
لیست کامل ویدیوهای NET Conf 2019. در Youtube (به همراه زیر نویس انگلیسی)

🔰 اگر موفق به تماشای زنده NET Conf 2019. نشده اید. لیست تمامی ویدئو‌های آن در این Playlist اپلود می‌شود.
این ویدئو ها امکان زیر نویس انگلیسی داره و چون دیگه پخش زنده نیست زیرنویس سینک تری ارائه میده. (از پایین ویدئو گزینه [Subnoscript/captions] میتوانید زیرنویس آن را فعال کنید)

https://www.youtube.com/playlist?list=PLReL099Y5nRd04p81Q7p5TtyjCrj9tz1t
________________
@DotNetZoom
❇️ فیلم های رویداد DDD Talks

🔹فیلم ارائه های اولین رویداد DDD Talks ایران به صورت عمومی منتشر شد.
🔸همه ارائه ها بسیار آموزنده و جذاب بودند ولی شخصا پیشنهاد میکنم حتما فیلم های شماره 1 و 3 و 5 رو ببینین.


1️⃣ روح‌الله دلپاک - جادوی زبان، طلسم پیچیدگی - Ubiquitous Language
https://www.aparat.com/v/EvAYt

2️⃣ سپهر نامدار - BDD (Behaviour Driven Development) + Ubiquitous Language
https://www.aparat.com/v/s9p8o

3️⃣ هادی احمدی - Bounded Context ها و ارتباط بین آنها
https://www.aparat.com/v/cMinG

4️⃣ مسعود بهرامی - جلسات مدل سازی و تکنیک Event Storming
https://www.aparat.com/v/QqO39

5️⃣ یوسف مهرداد - مباحث خیلی خیلی پیشرفته در مهندسی نرم‌افزار! (چند کلام تجربه آموزنده)
https://www.aparat.com/v/9Yn45

____________________________
@DDD_Iran #DDDTalks
@DotNetZoom
آغاز ثبت‌نام در دومین رویداد DDDTalks ایران.

انجمن DDD ایران دومین رویداد DDDTalks خود را با همکاری شرکت «همکاران سیستم» در تاریخ ۲۳ آبان برگزار می‌کند.

برای ثبت‌نام و کسب اطلاعات بیشتر می‌توانید به لینک زیر مراجعه کنید:

https://evand.com/events/ddd-talks-2/

توجه: چنانچه مصمم به شرکت در این رویداد هستید، بهتر است هر چه سریعتر نسبت به تهیه بلیط اقدام فرمایید. همانند رویداد قبل، ظرفیت پذیرش محدود است و امکان افزایش آن وجود ندارد.

بلیت ثبت‌نام زودهنگام: ۸۰ هزار تومان و مهلت تهیه آن تا ۱۲ آبان است.

سخنرانان:

• علیرضا رحمانی خلیلی
• روح الله دلپاک
• محمد یگانه‌فر
• مسعود بهرامی
• هادی احمدی

- انجمن DDD ایران
@DDD_Iran #DDDTalks