کدهک
1.93K subscribers
1.3K photos
7 videos
1 file
675 links
آموزشگاه تخصصی دات نت

https://codehaks.com

لینکدین :
https://www.linkedin.com/in/codehaks

یوتیوب:
https://www.youtube.com/@codehaksfa

ارتباط با مدیر :
Admin: @codehak
Email: ghods.hakim@hotmail.com
call: 09380146555
Download Telegram
آدرس فایل در دات نت برای سازگاری با لینوکس و داکر

فریم ورک دات نت cross-platform است و می توانید سایت یا اپ خود را در لینوکس یا در داکر مبنتنی بر لینوکس اجرا کنید. نکته مهم توجه به آدرسی دهی فایلها است که بین ویندوز و لینوکس فرق دارد و می تواند بعد از انتشار روی سرور لینوکس برای شما دردسر ساز شود.

‏1- از Path.Combine استفاده کنید :
هیچوقت آدرس فایل ها را با + ترکیب نکنید. آدرس دهی در ویندوز با \ و در لینوکس با / انجام میشود و تابع Combine در فضای نامی System.IO می تواند بر اساس سیستم عامل جاری جدا کننده درست را در مسیر فایل قرار دهد.

‏2- از آدرس دهی نسبی استفاده کنید:
موقعیت فایل را بر اساس محل قرار گرفتن اپلیکیشن مشخص کنید و از آدرس دهی مطلق که به درایو یا مسیر مشخصی روی سیستم عامل اشاره می کند استفاده نکنید. در ASP.NET Core می توانید از اینترفیس IWebHostEnvironment استفاده کنید.

‏3- برای دسترسی به آدرس فولدرهای خاص از Enviroment Variables استفاده کنید:
‏با کمک Environment.SpecialFolder می توانید به مسیر فولدهایی MyDocuments یا ApplicationData در سیستم عامل ویندوز و لینوکس دسترسی داشته باشید.
👍40🔥3
چرا از File-Scoped Namespace استفاده کنیم؟

از #C نسخه 10 قابلیت تعریف فضای نامی در فایل اضافه شده است.

با کمک این قابلیت می توانید فضای نامی را بدون { ... } و فقط با نوشتن یک خط در بالای فایل تعریف کنید.

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

بهتر است در کد نویسی از این قابلیت به صورت پیش فرض استفاده کنید و بعد از آپدیت به دات نت 6 کلاس های خود را به این حالت بروز رسانی کنید.

می توانید با Options در Visual Studio برای کلاسهای جدید گزینه پیش فرض را به File-Scoped تغییر دهید.

👍181🔥1
قابلیت Alias any type در سی شارپ 12

قابلیت Alias یا قرار دادن اسم مستعار برای using ها از نسخه اول سی شارپ وجود داشته است. اما از نسخه 12 این قابلیت شامل Type ها هم میشود.

می توانید برای هر Type یک Alias تعریف کنید تا کد شما بیشتر بیانگر کاری باشد که انجام میدهد. مثلا اگر یک int در واقع شمارنده است یا یک String در واقع یک آدرس است می توانید با استفاده از using این موضوع را مشخص کنید.

#Build2023
👍256👎1
قابلیت Collection Literals در سی شارپ 12

برای پر کردن ورودی کالکشن ها می توانید بجای استفاده از تایپ اصلی مانند:

new List<int> {1,5,7}

از عبارت [1,5,7] استفاده کنید.

در نسخه های قبلی #C می توانستید از نوشتن تایپ صرف نظر کنید مثلا بنویسید:

new() {1,5,7}

و کامپایلر سی شارپ می توانست با دنبال کردن مسیر اجرا برنامه خودش تشخیص دهد که چه چیزی قرار است new شود. این قابلیت امکان می داد که کد راحت تر قابل تغییر باشد. مثلا اگر بعدا بجای List می خواستید از یک آرایه استفاده کنید لازم نبود هر جا از متد استفاده شده است تغییر کند.

با قابلیت جدیدتر Collection Literals کد خوانا تر می شود و دیگر حتی نیاز به نوشتن عبارت new نیست.

#Build2023
29👍12
ویژگی deconstruct در #C می‌تواند زمانی استفاده شود که می‌خواهید اجزا یا پراپرتی های یک شی را درون متغیرهای جداگانه استخراج کنید.

https://youtu.be/wk8z4TvL5ns

https://www.aparat.com/v/hZ1Ia
8👍2
محبوبترین زبان های برنامه نویسی در نظر سنجی Stackoverflow 2023

جاوا و سی شارپ همچنان بالاتر از زبانهایی مانند Go و Rust و PHP قرار دارند.

محبوبترین زبان در بین توسعه دهندگان جونیور پایتون است.

بیشترین رشد در این آمار مربوط به زبان Lua میشود که نسبت به سال قبل 7 پله بالاتر آمده است.

#Stackoverflow2023
👍9
از بین 57 هزار نفری که در این نظر سنجی شرکت کردند 19 درصد فریم ورک ASP NET Core را به عنوان فریم ورک وب محبوب خود انتخاب کرده اند.

فریم ورک ASP NET Core همچنان بالاتر از Spring و WordPress و Laravel قرار دارد.

فریم ورک Next.js نسبت به سال قبل 5 پله سعود کرده است.

#stackoverflow2023
👍12
زبان های مورد تحسین و مطلوب

در نظر سنجی جدید بجای Wanted & Dreaded از مفهوم Admired و Desired استفاده شده است.

میزان علاقه افراد به استفاده از یک تکنولوژی پرسیده میشود(Desired) و با افرادی که از آن تکنولوژی در سال گذشته کار کرده اند و مایل هستند سال بعد هم با آن کار کنند (Admired)مقایسه میشود.

هر چقدر طول این خط کوتاهتر باشد نشان میدهد افرادی که با آن تکونولوژی کار کرده اند علاقه زیادی به استفاده از تکنولوژی در آینده ندارند. در واقع بیشتر Hype بوده تا اینکه در عمل مطلوب باشد.

تکنولوژی هایی که خط بلندتری دارند مانند Rust و #C نشان می دهد که افراد پس از استفاده از آنها همچنان علاقمند به ادامه کار با آنها هستند و انتظارات آنها را برآورده کرده است.

#stackoverflow2023
👍15
فروش ویژه تابستانه کدهک

با آغاز فصل تابستان می توانید به مدت 3 روز همه دوره های کدهک را با 25 درصد تخفیف تهیه کنید.

کد تخفیف: sum402

برای تهیه دوره ها می توانید به سایت کدهک سر بزنید.

https://codehaks.com/Shop

جهت پشتیبانی یا کسب اطلاعات بیشتر از طریق شماره 09380146555 یا آیدی @codehak در تلگرام تماس بگیرید.
👍7
بعد از آپدیت کردن ویندوز 10 می توانید از Terminal به عنوان خط فرمان پیشفرض استفاده کنید.

از این به بعد دستور CMD محیط Terminal را باز می کند همچنین در Visual Studio بجای کنسول CMD از Terminal استفاده میشود.
👍14
Forwarded from کدهک
فصل گمشده در معماری تمیز

بررسی و مقایسه انواع روش های طراحی ساختار پروژه در دات نت

https://youtu.be/oP5w9eiPhEw
👍103
عبارت های لامبدا در سی شارپ متدهای بی نامی هستند که به جای delegate و Expression Tree قرار میگیرند و کد نویسی در سی شارپ را ساده تر می کنند.

https://youtu.be/ZqBT_kC7mOI
👍13
در این قسمت با کمک Razor Engine متن ایمیل تولید می کنیم.

https://youtu.be/yVROsxz7QhE
👍6👎1
بررسی ساختار درونی کالکشنها و ساخت یک کالکشن اختصاصی در دات نت.

https://www.aparat.com/v/Xr0OU

https://youtu.be/1oJ15J94dRg
👍9
حلقه foreach چطور آیتمهای یک آرایه را خوانش می کند؟

➡️ https://aparat.com/v/VJO6k

➡️ https://youtu.be/zmqwwDVe_10
👍8
در این ویدیو به آموزش انواع کالکشن ها در دات نت می پردازیم. آرایه ها و لیست ها را با هم مقایسه می کنیم. می بینیم IEnumerable و IList و ICollection چه شباهت ها و تفاوت هایی دارند و کاربرد مناسب هر کدام چیست.


https://youtu.be/_s08TMRl4UM
12👍2
آموزش Content Negotiation در Http و نحوه کار با آن در دات نت

https://youtu.be/JlQ42d0g9sQ
🔥51
دوره رایگان آموزش مبانی ASP.NET Core


قبل از اینکه کار با MVC را شروع کنید لازم است درباره ساختار درونی فریم ورک ASP.NET Core بدانید.

در این دوره به مباحث پایه ای فریم ورک ASP.NET Core می پردازیم. از ساختار پروژه وب شروع می کنیم و به توضیح نحوه کار سیستم تزریق وابستگی می پردازیم.

سپس کار با میان افزارها و نحوه عمل سرور Kestrel آموزش داده میشود و در ادامه نحوه کار با Configuration و Environment را بررسی می کنیم و در انتها به Logging و نحوه مدیریت خطا می پردازیم.

https://codehaks.com/Course/C101
🔥9
برگزاری دوره پیشرفته DDD

در این دوره به صورت عملی یک پروژه واقعی را بر اساس Domain Driven Design روی قالب حرفه ای فارسی پیاده می کنیم. برای تهیه دوره از دات نت 8 و سی شارپ 12 استفاده میشود و پروژه روی داکر در سرور ابری منتشر میشود.

پروژه بر اساس معماری تمیز و است و تست واحد و تست Integration برای تمامی بخش ها پیاده می شود. برای قسمتهای Real-Time از SignalR استفاده میشود و بخش هایی هم با Blazor WASM انجام خواهد شد.

ویدیو معرفی دوره:

https://www.aparat.com/v/QgyqY

سر فصل ها:
Domain Driven Design
Clean Architecture
Unit Of Work/Repository Patterns
Testing
Concurrency Management
SignalR
Blazor WASM


پیش نیاز ها: آشنایی با مباحث عمومی ASP NET Core MVC و سی شارپ

شروع دوره از 18 شهریور به مدت یک ماه


برای تهیه دوره می توانید به @codehak پیام بدید یا به سایت کدهک مراجعه کنید:

https://codehaks.com/Course/C102
🔥7
آموزش کنسل کردن عملیات های طولانی در دات نت

وقتی با متدهای Async در دات نت کار می کنید می توانید با استفاده از شی Cancelation Token کنسل شدن عملیات را پیگیری کنید و سرور را از ادامه کار منصرف کنید تا از فضای سرور بهتر استفاده کنید.


▶️https://www.aparat.com/v/DqVcB

▶️https://youtu.be/5JlICIfk_rA
👍12🔥3
اجرای عملیات های نا همگام به صورت موازی در پس زمینه

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

▶️ https://aparat.com/v/3OWoY

▶️ https://youtu.be/a8iu9Zn72a8
7👍1