TGViewer
Channel Public Channel
کدهک

کدهک

@codehaks

آموزشگاه تخصصی دات نت

https://codehaks.com

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

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

ارتباط با مدیر :
Admin: @codehak
Email: ghods.hakim@hotmail.com
call: 09380146555
Subscribers
1.78K
Photos
1.3K
Videos
9
Links
697

Showing posts older than #1247 · Back to latest

Older Posts 20 shown
Post #1246 797

Forwarded from DotNetZoom (Ali Abdolmaleki)

❇️ نواقص درایور سی شارپ MongoDb

درایور سی شارپ MongoDb یه سری نواقص داره و هنوز به بلوغ کافی نرسیده، مخصوصا توی parser دستورات Linq اش به کوئری های mongo خیلی جای کار داره
پس اگه از MongoDb تو پروژه های خودتون استفاده میکنین یا میخواین بکنین حواستون باشه

تو این ریپازیتوری چند تا باگ خیلی ساده و بدیهی ازش رو مثال زدم
https://github.com/mjebrahimi/MongoDb.Bugs
🔰به عنوان مثال:
1️⃣ شما نمیتونین روی کالشن ها از شرط Contains() == false استفاده کنین
2️⃣ شما نمیتونین از شرط ("text")Contains روی یه فیلد متنی درون یه Embedded Document استفاده کنین
3️⃣ شما نمیتونین از دستور ()ToList روی Embedded Documents ها استفاده کنین
4️⃣ شما نمیتونین از متد ProjectTo کتابخانه AutoMapper برای مپ کردن Embedded Document ها استفاده کنین

🔰نکته:
🔸اینها هیچکدوم محدودیت های خود MongoDb نیستند بلکه نواقص کتابخانه درایور سی شارپ اون هست. درواقع Parser ایی که قراره Expression Tree حاصل از دستورات Linq رو به کوئری های mongo ترجمه کنه ضعف داره
🔹این باگ ها رو قبلا گزارش کردم و همگی تائید شدند و قرار هست در آینده برطرفش کنن ولی فعلا زمانش مشخص نیس. طبق صحبت هایی که داشتیم ظاهرا میخوان درایورش رو بازنویسی کنن و توی اون نسخه تمامی این مشکلات برطرف خواهد شد
🔸جهت رفع بعضی از این مشکل ها مادامی که این باگ ها برطرف بشه میتونین از کوئری نویسی دستی به جای linq استفاده کنین
🔹خود mongodb به لحاظ کوئری نویسی بسیار قدرتمند هست و خیلی کار ها رو میشه باهاش کرد که با linq اصلا امکان پذیر نیست (در واقع اصلا متد معادلش توی linq وجود نداره) پس پیشنهاد میکنم برای کوئری های پیچیده حتما به صورت دستی کوئری بنویسین؛ اینطوری میتونین کوئری های های بهینه تر و قدرتمند تری رو ایجاد کنین
____________________
@DotNetZoom
GitHub GitHub - mjebrahimi/MongoDb.Bugs: This repo reproduce some bugs of MongoDB C# Driver. This repo reproduce some bugs of MongoDB C# Driver. - mjebrahimi/MongoDb.Bugs
Post #1245 868

Forwarded from DotNetZoom (Ali Abdolmaleki)

✅معرفی کتابخانه MongoDbGenericRepository

قبلا کتابخونه MongoFramework رو معرفی کردیم که یه رابط کاربری شبیه Entity Framework رو برای کار با MongoDb در اختیارمون میذاشت
اون کتابخونه ضمن مزایا و راحتیش، یه سری معایب هم داره چرا که با دید EF طراحی شده و برای استفاده های پیشرفته تر و کاملتر از MongoDb دستمون رو بسته نگه میداره

کتابخانه MongoDbGenericRepository یک wrapper روی درایور سی شارپ MongoDb هست و سعی کرده یه پیاده سازی از Repository ارائه بده.
این کتابخونه نسبت به قبلی، توی سفارشی سازی و استفاده بیشتر و پیشرفته تر از امکانات mongo دستمون رو باز تر میگذاره که طبیعتا نیازمند این هست که دانش بیشتر هم از مونگو داشته باشین

🔰نکته:
🔸این کتابخونه برای کار های متوسط انتخاب خوبیه (مثلا برای کسانی که تا حدودی mongo بلدن و میخوان راحت تر ازش استفاده کنن)
🔹ولی برای کار ها پیشرفته و پروژه های بزرگ خیلی پیشنهاد نمیکنم. در اون سطح بهترین روش استفاده از خود درایور سی شارپ mongodb هست.

🔰ریپازیتوری گیتهاب پروژ به همراه آموزش:
https://github.com/alexandre-spieser/mongodb-generic-repository
__________________
@DotNetZoom
GitHub GitHub - TurnerSoftware/MongoFramework: An "Entity Framework"-like interface for MongoDB An "Entity Framework"-like interface for MongoDB. Contribute to TurnerSoftware/MongoFramework development by creating an account on GitHub.
Post #1242 1.31K
نیازمندیهای ویندوز ۹۸

بیست سال پیش ویندوز فقط نیاز به ۱۶ مگ و ۲۰۰ مگ هارد داشت.

چرا سیستم عامل های امروز اینقدر سنگین شدن!؟
Post #1241 1.47K
آشنایی با Marten

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

https://youtu.be/srp58FtMyL8
Post #1240 1.3K

Forwarded from اِسکیلی Skilly

🔈📚📹 کارآموزی برای یادگیری برنامه نویسی، و راهکارهای معادل

تازه کارهایی که فکر می کنند اگر برای یادگیری و افزایش مهارت شغلی بروند کارآموزی بهتره، حتما این ویدئو رو ببینند.

#کارآموزی
#برنامه_نویس
#برنامه_نویسی
#یادگیری
#آموزش
#مهدی_کرامتی
@barnamenevis_org
@barnamenevis_net
https://barnamenevis.net
Post #1239 1.14K

Forwarded from کدهک

استریم کردن فایل و نمایش درصد پیشرفت در gRPC

در این ویدیو یک فایل را به روش Streaming از کلاینت به سرور آپلود می کنیم و میزان پیشرفت آپلود را در هر مرحله بدست می آوریم.

https://codehaks.com/go/nbx
Post #1238 925

Forwarded from DotNetZoom (محمد جواد ابراهیمی)

✅ افزایش Performance با شرط گذاری روی Include ها در EF Core

میشه گفت مهم ترین و رایج ترین دلیل کاهش پرفرمنس توی پروژه ها، واکشی دیتای اضافی و کوئری های غیر ضروری هست؛ از واکشی فیلد های اضافی و غیر لازم گرفته تا استفاده بی رویه از Include به هنگام بارگزاری روابط و...

در این مقاله روش های مختلف شرط گزاری روی Include ها و بهینه سازی اونها رو بررسی میکنیم. همچنین روش های مختلف رو از نظر سرعت و میزانی memory allocation (تخصیص حافظه) مقایسه میکنیم

🔰لینک مقاله
https://vrgl.ir/JFkK4
______________
@DotNetZoom
ویرگول شرط گذاری روی Include ها در EF Core متداول ترین دلیل کاهش پرفرمنس توی پروژه ها، واکشی دیتای اضافی و کوئری های غیر ضروریه؛ اینو به تجربه توی اکثر پروژه هایی که بررسی کردم دیدم
Post #1236 1.08K

Forwarded from اِسکیلی Skilly

📹 👨‍🏫 فلسفه استفاده از دیزاین پترن ها و روش هایی مانند لایه بندی پروژه

در این ویدئو فلسفه استفاده از دیزاین پترن ها و روش هایی مانند لایه بندی پروژه، و لزوم یا عدم لزوم بکار بردن هر یک از این روش ها را بررسی می کنیم.

لینک ویدئو در اینستاگرام

#دیزاین_پترن
#لایه_بندی
#پروژه
#نرم_افزار
#برنامه_نویس
#برنامه_نویسی
#مدیریت
#مهدی_کرامتی

@barnamenevis_org
@barnamenevis_net
Post #1235 874

Forwarded from اِسکیلی Skilly

🔈📚📹 فهرست دوره های آموزشی علوم کامپیوتر بهمراه ویدئوهای آموزشی

سلام.
یک آدم خیرخواه یک فهرست نسبتا طولانی از دوره های آموزشی عمدتا رایگان علوم کامپیوتر و برنامه نویسی که اکثرا حاوی ویدئوهای آموزشی هستند رو در قالب یک ریپوزیتوری گیت هاب تهیه کرده و به اشتراک گذاشته است.

اگر شما هم مهارت شنیداری تون در زبان انگلیسی بالاست، توصیه می کنم حتما نگاهی به این لیست بیاندازید.

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

با تقدیم احترام،
#مهدی_کرامتی
@barnamenevis_org
@barnamenevis_net
GitHub GitHub - Developer-Y/cs-video-courses: List of Computer Science courses with video lectures. List of Computer Science courses with video lectures. - Developer-Y/cs-video-courses
Post #1234 1.18K
زمانی که یک Type درون Type دیگر تعریف شده باشد Nested Type داریم. منظور از Type اینجا می تواند Interface یا Struct یا کلاس باشد.

اگر برای تایپ درونی سطح دسترسی تعریف نشود حالت پیشفرض private است. به این معنی که فقط Container به آن دسترسی دارد.

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

C# programming guide :
https://codehaks.com/go/dlm

#cs #dotnet
Post #1233 979

Forwarded from کدهک

ایجاد Service Extension در ASP NET Core

در فریم ورک ASP NET Core وابستگی ها از طریق Extension Method اضافه می شوند. مواردی مثل AddRazorPages یا AddDbContext در حقیق متدهای افزوده ای هستند که در پس زمینه سرویس تزریق می کنند. در این پست به بررسی نحوه ی پیاده سازی یک Service Extension برای دیتابیس LiteDb می پردازیم.

https://codehaks.com/go/jfm
Post #1230 1.02K

Forwarded from DotNetZoom (محمد جواد ابراهیمی)

✅ بررسی عملی CQRS - بخش اول: مقدمه ای بر CQRS

حتما راجب CQRS شنیده اید. در لغت CQRS مخفف Command and Qhery Responsibility Segregation می باشد که در اون سعی میکنیم مدل های خواندن و نوشتن و همچنین مسیر خواندن و نوشتن داده را از یکدیگر جدا کنیم. CQRS مزایای زیادی رو به همراه داره از جمله اینکه با جدا شدن مدل Read و Write میتونیم جداگانه روی هر کدوم optimization انجام بدیم و پرفرمنس مربوط به هر بخش رو جداگانه بهبود بدیم.
در این مقاله چند قسمتی به بررسی عملی CQRS می پردازیم و به تکنیک های ویژه پیاده سازی اون به وسیله الگوی Mediator و کتابخانه MediatR میپردازیم، و سعی میکنیم با جداسازی مدل های Read و Write و همچین دیتابیس های مربوط به هر بخش، یک سولوشن تمیز رو ارائه بدیم

#بابک_طارمی
🔰لینک مقاله:
https://vrgl.ir/01pUA
____________________
@DotNetZoom
ویرگول بررسی عملی CQRS- بخش اول: مقدمه ای بر CQRS در این مقاله چند قسمتی، قرار است به صورت عمیق به بررسی CQRS بپردازیم و تکنیک های لازم برای پیاده سازی یک پروژه به صورت CQRS را بررسی کنیم
Post #1229 1K

Forwarded from کدهک

در زبان سی شارپ کامپایلر Roslyn وظیفه ی Parse کردن و اعلام خطاهای Syntax را به عده دارد. در ادامه بهینه سازی انجام میدهد و کد میانی یا Intermediate Language را تولید می کند. این همان فایل dll یا exe برنامه ی شماست.

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

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

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

یکی از مشکلاتی که RyuJIT حل میکند بهینه سازی SIMD است. این ابزار می تواند بر اساس قابلیت های پردازنده کدهای برداری را به کدهای معمولی تبدیل کند تا حداکثر پرفورمنس بدست آید.
Post #1228 870

Forwarded from اِسکیلی Skilly

🔈 نکات مهم در نوشتن رزومه

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

#رزومه
#resume
#cv
#مبتدی
#نکات
#مهم
#ضروری
#برنامه_نویس
#برنامه_نویسی
#مهدی_کرامتی
@barnamenevis_net
@barnamenevis_org
Post #1227 5.75K
آشنایی با Mini-Profiler

با استفاده از miniprofiler می توانید مدت زمانی که برای اجرای هر عملیات طول میکشد بدست آورید و پرفورمنس بخش های مختلف وبسایت خود را بررسی کنید .

https://youtu.be/83Vqz1lb3V4
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →