کدهک
1.95K subscribers
1.29K photos
7 videos
1 file
672 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
اجرای چند عملیات Async به صورت همزمان

https://youtu.be/d-CpJeeHF4s
Forwarded from کدهک
در زبان سی شارپ کامپایلر Roslyn وظیفه ی Parse کردن و اعلام خطاهای Syntax را به عده دارد. در ادامه بهینه سازی انجام میدهد و کد میانی یا Intermediate Language را تولید می کند. این همان فایل dll یا exe برنامه ی شماست.

سپس در هنگام اجرا بسته به اینکه از چه پردازنده ای استفاده می کنید Just In Time Compiler دات نت که به RyuJIT معروف است شروع به کار میکند و در لحظه اجرای برنامه کد ماشین را تولید می کند.

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

در بعضی برنامه ها برای بالا بردن پرفورمنس از دستورات برداری استفاده میشود. چنانچه پردازنده از این دستورات پشتیبانی نکند برنامه خیلی کندتر از حالت بدون بردار اجرا میشود.

یکی از مشکلاتی که RyuJIT حل میکند بهینه سازی SIMD است. این ابزار می تواند بر اساس قابلیت های پردازنده کدهای برداری را به کدهای معمولی تبدیل کند تا حداکثر پرفورمنس بدست آید.
Forwarded from DotNetZoom (Ali Abdolmaleki)
❇️ نکاتی در مورد کار با PDF در دات نت و برترین کتابخانه های آن

کتابخونه های کار با pdf به 2 دسته کلی تقسیم میشن

🔸دسته اول کتابخونه هایی هستند که باهاشون میشه فایل های PDF رو خوند، محتواشو Extract کرد، Edit کرد و یا فایل جدید ساخت
از معروف ترین این کتابخونه ها میشه به ترتیب به موارد زیر اشاره کرد
✔️iTextSharp
✔️
iTextSharp.LGPLv2.Core
✔️itext7
✔️PdfSharpCore
معروف ترین شون iTextSharp هست که فقط NET Framework Full. رو پشتیبانی میکنه اما وحید نصیری یه نسخه port شده ازش رو برای NET Core. رو براش درست کرده به نام iTextSharp.LGPLv2.Core
همچنین کتابخونه itext7 که توسط سازنده iTextSharp توسعه داده شده و به عنوان نسخه بعدی iTextSharp و با پشتیبانی از NET Core. اون رو توسعه داده و توصیه میکنه از itext7 استفاده کنین.

🔹دسته دوم کتابخونه هایی هستند که میتونن محتوای یه صفحه html (شامل المان ها و css ها و ...) رو به صورت PDF رندر کنن و خروجی PDF ازشون بگیرن
از جمله معروف ترین این کتابخونه ها میشه به ترتیب به موارد زیر اشاره کرد
✔️DinkToPdf
✔️itext7.pdfhtml
✔️Rotativa.AspNetCore
✔️Wkhtmltopdf.NetCore
طرز کار همشونم به این صورته که اینا معمولا wrapper ایی بر روی کتابخانه wkhtmltopdf هستند که کارش Render کردن خروجی html به pdf هست و پشت صحنه هم از موتور Qt WebKit استفاده میکنن که یک Browser Engine سورس باز هست

🔸اکثر مواقع نیاز برنامه نویسا همین دسته دوم هست. معمولا میخوان از گزارشاتشون خروجی pdf بگیرن که دسته دوم گزینه راحت تری هست چرا که اینجا ما دیگه با یه صفحه html+css سرو کار داریم و خیلی راحت میتونیم هر فرم و جدولی رو که بخوایم طراحی کنیم و وقتی از خروجی html ایی اون مطمئن شدیم اون رو به pdf تبدیل کنیم
دسته اول معمولا کاربرد خاص تری دارند. مثلا اگه بخواین فایل pdf تون رو بخونین، محتواش رو پردازش یا ویرایش کنین یا مثلا ساخت صفحاتتون رو خیلی سفارشی سازی کنین باید از کتابخونه های دسته اول استفاده کنین
یه سری کتابخونه قدرتمند دیگه هم هستند مثل Aspose و Syncfusion ولی چون اونا پولی هستند و نسخه رایگانشون محدودیت داره تو لیست نیاوردمشون
_______________
@DotNetZoom
تزریق وابستگی با تاخیر در ASP NET Core با کمک AutoFac

https://youtu.be/b7SEJRzOpSU
برنامه نویسی برداری در دات نت و آشنایی با SIMD

https://youtu.be/s9AKgcw6Gf0
مقایسه Eager Loading با Lazy Loading در EF Core 5.0

https://youtu.be/pWiXfx7b4-M
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
معرفی ویژگی Records در C# 9.0: کار با داده‌های تغییر ناپذیر

🔸 کار کردن با داده‌های تغییر ناپذیر بسیار قدرتمند است، اغلب منجر به باگ‌های کمتری می‌شود، و شما را مجبور می‌کند تا اشیا را تبدیل به اشیای جدید کنید به جای اینکه اشیای موجود را اصلاح کنید. توسعه دهندگان #F به این عادت کرده‌اند، زیرا #F همه چیز را به طور پیش‌فرض به عنوان تغییرناپذیر در نظر می‌گیرد. حالا شما انواع تغییر ناپذیر را در C# ۹.۰ نیز دارید، یا به اصطلاح انواع record نامیده می‌شود. Records کار با داده‌های تغییر ناپذیر در #C را برای شما آسان‌تر می‌کند.

❇️ از طریق لینک زیر می‌توانید ترجمه مقاله‌ای از Thomas Claudius Huber که به بررسی این ویژگی و جزییات بیشتر پرداخته مطالعه کنید:

#سپهر_اسلامی
https://vrgl.ir/1zp5a
_____________
@DotNetZoom
دسترسی آسان و سریع به تنظیمات درون سیستم و اپلیکیشن از بایدهای یک فریم ورک تحت وب است. در ASP NET Core می توانید از IConfiguration برای اینکار استفاده کنید.

https://youtu.be/2EwUOB6IPMw
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
ساخت چت روم با Blazor Web Assembly و SignalR قسمت دوم: ساخت کلاینت

در این قسمت قصد داریم به ادامه ساخت چت روم بوسیله Blazor web assembly بپردازیم. در این مقاله به مباحثی مانند: SignalR Client
پیاده سازی لاگین و رجیستر کاربر
نحوه استفاده از local storage برای ذخیره و خواندن اطلاعاتی مانند JWT Token
نحوه تنظیم SignalR Client برای استفاده از JWT Token
هندل کردن رویداد های SignalR سمت Client
نحوه ارتباط با web api و فرستادن JWT Token به آن
آشنایی با تایمر
جداسازی کد از UI در Blazor
مبحث Dependecy Injection
استفاده از Toaster Component در Blazor
آشنایی با event های پرکاربرد در Blazor
خواهیم پرداخت

#بابک_طارمی
https://vrgl.ir/kByMS
_________
@DotNetZoom
طبق نظرسنجی Stack overflow در ۲۰۲۱ برای پنجمین سال متوالی Redis محبوب ترین دیتابیس انتخاب شده است.
همچنین امسال PostgreSql از MongoDb عبور کرد و در جایگاه دوم قرار گرفت.
از بین رای بیش از 55 هزار نفر فریم ورک Net Core محبوب ترین فریم ورک انتخاب شده است.
برنامه نویسان Clojure بالاترین حقوق را دریافت می کنند. به طور کلی زبان های Functional سطح درآمدی بیشتری دارند.
چگونه از یک کلاس به عنوان Configuration استفاده کنیم؟

https://youtu.be/IL5WP1XvOrM
در این ویدیو به معرفی دیتابیس PostgreSQL می پردازیم و در یک پروژه ASP NET Core برای ذخیره اطلاعات Identity استفاده می کنیم.

https://youtu.be/g653GWxtdiE
Forwarded from DotNetZoom (Ali)
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
Forwarded from کدهک
متدهای جنریک در سی شارپ

https://youtu.be/eP1WyWp2psc
Forwarded from کدهک
آموزش RabbitMQ و پیاده سازی الگوی Messaging

در این ویدیو به معرفی RabbitMQ می پردازیم و نحوه استفاده از آن را در NET Core. بررسی می کنیم. از RabbitMQ به عنوان Message Broker استفاده میشود که میتواند پیامها را درون صف نگه دارد و به ترتیب در اختیار سایر سرویس ها قرار دهد. این ابزار در پیاده سازی Distributed System ها و میکروسرویس ها کاربرد زیادی دارد.

https://codehaks.com/go/fpw
اجرای Postgre روی داکر و سپس اتصال به آن از طریق ASP NET Core و pgAdmin

https://youtu.be/j726BLl_tDU
Forwarded from کدهک
آشنایی با Mapster

کتابخانه Maspter میتواند جایگزین خوبی برای AutoMapper باشد.

https://youtu.be/v8gOaIstOvc
اجرای پروژه ASP NET Core روی داکر

https://youtu.be/eo3UuwNJ8uo
چگونه پروژه جاری خود را روی داکر اجرا کنیم؟

https://youtu.be/TCbajL_MT_A