کدهک
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
فروش ویژه عید 1401

فروش ویژه کدهک با تخفیف ویژه 30 درصد آغاز شد.

از امروز به مدت یک هفته می توانید همه محصولات کدهک را با تخفیف عید تهیه کنید.

جهت پشتیبانی با @codehak تماس بگیرید.

کد تخفیف: eid401

https://codehaks.com/shop
👍2🔥1
چرا باید زبان #C رو انتخاب کنید؟
در این ویدیو به معرفی زبان سی شارپ می پردازم و از مزایای برنامه نویسی در محیط دات نت میگم.

https://youtu.be/AUMqfDHqptY
👍115👎2🔥1
مقایسه زبان سی شارپ با Nodejs و پاسخ به چند سوال!

https://youtu.be/NVPX7L-ymCI
8👍5
محبوب ترین زبانها در گیتهاب

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

از 100 شرکت بزرگ جهان 84 مورد از سرویس Enterprise گیتهاب برای مدیریت سورس و خدمات دیگر آن استفاده می کنند.

این سرویس تنها در سال گذشته 16 میلیون کاربر جدید جذب کرده و بیش از 60 میلیون ریپوزیتوری جدید در آن ایجاد شده است.

طبق گزارش گیتهاب در بین 10 زبان برتر این سرویس سی شارپ جایگاه پنجم است. این جایگاه بالاتر از PHPو ++C و بعد از جاوا اسکریپت و پایتون است.
6🔥5👍1
آیا داکر کنار میرود؟

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

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

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

میتوانید ماژول های کوچک از زبانهای مختلف داشته باشید که در کنار هم یک اپ رو شکل میدهند.

این تکنولوژی الان آزمایشی است و به صورت محدود استفاده میشه اما در آینده میتونه نیاز به Docker رو از بین ببره و پیاده سازی اپهای بزرگ با چند استک رو ساده تره کنه.
👍37🔥7👎3
افزایش پرفورمنس بی نظیر جستجوی همه در Visual Studio

هر نسخه جدید VS شامل بهبود پرفورمنس و افزایش سرعت است. در آخرین آپدیت سرعت Find All در بزرگترین پروژه ها (سی شارپ و ++C و ...) به حدود 1 ثانیه کاهش یافته است. این ابزار در مقایسه با VS 2019 بیست برابر بهتر شده است.

جستجوی جدید از Indexing و n-grams استفاده می کند. بعد از یکبار تحلیل کد و ذخیره داده های ایندکس در هار دیسک می تواند به شکل قابل توجهی پیدا کردن یک عبارت در کد ها و فایلها را سرعت دهد.

امکان غیر فعال سازی ایندکس در VS وجود دارد. اما استفاده از آن برای پروژه های بزرگ با کدها و فایهای زیاد پیشنهاد میشود.
🔥13👍51
آخرین فرصت

فروش تمامی دوره های کدهک با تخفیف ویژه 30 درصد

جهت پشتیبانی با @codehak تماس بگیرید.

کد تخفیف: eid401

https://codehaks.com/shop
👍1
چرا باید به عقب برگردیم و بیشتر و عمیقتر مطالعه کنیم؟
برای یادگیری سی شارپ و ASP NET Core از کجا باید شروع کنیم؟

نگاهی به مصاحبه های فنی و وضعیت بد برنامه نویس ها تازه کار

برای استخدام شدن و مهاجرت لازم نیست میکروسرویس بلد باشید!


https://youtu.be/wfajhkMhdsg
👍137
چهارگانه ی ACID

هر ترانکش دیتابیس باید از 4 اصل ACID پیروی کند تا داده های آن قابل اعتماد باشد. بیشتر دیتابیس های رابطه ای بر مبنای ACID کار میکنند.

در Atomicity داده ها باید از قانون همه یا هیچ پیروی کنند. یعنی یا تمام فیلدها درون جدول ذخیره میشود یا هیچکدام ذخیره نمیشود.

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

در Isolation هر تراکنش برای خود یکتا هست و به ذخیره شدن و یا نشدن سایر تراکنش ها مربوط نیست. اگر چندین تراکنش همزمان اعمال شود هیچکدام نباید روی دیگری اثر گذار باشد.

در Durability اطلاعات هر تراکنش بعد از آنکه در دیتابیس اعمال شد باید ذخیره شود. در واقع هروقت دیتابیس نتیجه ی تراکنش را بر میگرداند برنامه نویس میداند اطلاعات جایی در دیسک ذخیره شده است و در آینده ی دور هم قابل دسترسی است.

دیتابیس هایی که از این قوانین پیروی نمیکنند سرعت بیشتری دارند اما اعتماد پذیری کمتری دارند. مثلا دیتابیس Redis از Durability پیروی نمیکند و ACID نیست.
👍18🔥3
کارگاه آموزشی ASP NET Core 6.0 : گام اول

سر فصلها:
01 - Introduction
02 - Tools
03 - Demo1: First App
04 - Demo2: CRUD App
05 - Razor Pages
06 - Routing
07 - Model Binding & Validation
08 - Tag Helpers
09 - Razor Views & View Components
10 - Demo3: Blog App

مدت دوره : 10 ساعت
هزینه دوره : 399 هزار تومان
شروع دوره : 21 اسفند 1400

پیش نیاز : آشنایی با مبانی سی شارپ

* سطح دوره مقدماتی است و برای افرادی مناسب است که آشنایی کمی با توسعه وب و فریم ورک ASP NET Core دارند.

جهت ثبت نام یا کسب اطلاعات بیشتر با @codehak در تلگرام یا شماره 09380146555 در واتساپ تماس بگیرید
👍5
ضبط تصاویر وبکم و ارسال آن به سرور

https://youtu.be/YSTpRkStZWA
🔥3👍1
آشنایی با Dapper و مقایسه آن با EF Core

https://youtu.be/U7Z7qKn_gkM
👍6👎1
Forwarded from Software Philosophy (mohsen)
بالاخره golang هم generic دار شد!

طبق این پروپوزال، امکان استفاده از generic به نسخه Go 1.18 اضافه می‌شود و در سال 2022 منتشر خواهد شد. اما نکته جالب در مورد تغییر این است بر خلاف بیشتر زبان‌ها که مفهوم جنریک با
Foo<T>
نماش داده می‌شود، در Go این مفهوم به صورت
Foo[T]

نمایش داده خواهد شد و برای این تصمیم هم دلیل جالبی وجود دارد که در این مستند توضیح داده شده‌است.

نکته جالب‌تر این است که این چالش هنگامی که Generic به زبان C# در نسخه 2.0 هم اضافه شد وجود داشت و باعث ایجاد یک Breaking Change از نسخه 1.0 به نسخه 2.0 شد. در این پست سعی می‌کنم این مشکل را با یک مثال از توییتی که Eric Lippert در این مورد زده توضیح بدم.

عبارت زیر را در نظر بگیرید:
A(B<C,D>E())

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

// C# 1.0
A( B<C , D>E() )

// C# 2.0
A( B<C,D> E() )

همانطور که می‌بینید در نسخه 1.0، فراخوانی متد A با دو پارامتر ورودی انجام شده و علامت < و > به عنوان علامت‌های کوچکتری و بزرگتری تفسیر شده‌اند، اما در نسخه 2.0 این عبارت فراخوانی متد A با یک ورودی جنریک است.

نکته جالب دیگر این است که generics به عنوان یک ویژگی بسیار مهم، تقریبا در سال 2002 به C# اضافه شد و پس از ۲۰ سال قرار است به زبان Go اضافه شود.

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

https://go.googlesource.com/proposal/+/refs/heads/master/design/43651-type-parameters.md

#مهران_داودی (لینکدین - بلاگ)


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

________
👍9
آشنایی با Marten

با Marten به راحتی دیتابیس های اسنادی ایجاد کنید و در ASP NET Core به کار بگیرید. این کتابخانه از قابلیت های PostgreSQL در کار با JSON استفاده می کند و می تواند جایگزین خوبی برای MongoDb باشید.

https://youtu.be/srp58FtMyL8
👍7
آموزش پیاده سازی Typed Client در ASP NET Core
https://youtu.be/ivbsY_6Rvac
👍61
چگونه با استفاده از HttpClient فایل آپلود کنیم؟

https://youtu.be/FbtycSVFfzU
👍9
آشنایی با PDB

وقتی پروژه دات نت را بیلد می کنید در کنار فایل exe یا dll نهایی یک فایل با پسوند pdb هم ساخته میشود.

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

فایل pdb نشانهای کد کامپایل شده را به شماره خط و نام فایل وصل میکند و اطلاعات آن را در غالب یک فایل دیتابیسی ذخیره میکند و از این طریق Visual Studio می تواند خطای پیش آمده در نسخه کامپایل شده ی پروژه را به سورس کد ارتباط دهد و Break Point ها را اعمال کند.

بهتر است این فایل را در کنار پروژه منتشر کنید تا در صورت بروز مشکل رهگیری آن برای شما ساده تر شود.

این فایل در Remote Debugging هم کاربر دارد. شما می توانید وبسایت در حال اجرا روی سرور یا درون Docker را به صورت ریموت دیباگ کنید و در محیط Production تست کنید.

بدون pdb مپ کردن سورس کد کامپایل شده به سورس اصلی ممکن نیست.
👍28
چگونه State یک اپلیکیشن وب را مدیریت کنیم و ابزاری مشابه Session پیاده کنیم؟

https://youtu.be/OFX5CAK5S-8
👍5
گیر انداختنن خطاهای EF Core

https://youtu.be/Dn9nNSscMkA
3
آموزش RabbitMQ

چگونه با استفاده از RabbitMQ در پس زمینه ایمیل ارسال کنیم؟

آشنایی با Messaging در میکروسرویس ها

https://youtu.be/dbAMHRIj75M
👍7
از یک پروژه خالی ASP NET Core شروع می کنیم و گام به گام تغییر میدهیم تا تبدیل به Blazor WASM شود.

https://youtu.be/KEXT6GpbcpA
👍143