استفاده از متودهای async بصورت sync
در صورتی که در مواقع خاص نیاز داشتید که از متودهای async بصورت sync استفاده کنید، بهترین راه استفاده بصورت زیر است. در این روش از .ConfigureAwait(false).GetA...
در صورتی که در مواقع خاص نیاز داشتید که از متودهای async بصورت sync استفاده کنید، بهترین راه استفاده بصورت زیر است. در این روش از .ConfigureAwait(false).GetA...
یکی از کتابخانههای مناسب برای نوشتن Integration Test در Net core کتابخانه Testcontainers است. توسط این کتابخانه میتوانید به راحتی از سرویس استفاده کننده ما...
یکی از قابلیتهای گیتهاب امکان انتشار مستقیم کتابخانههای نوشته شده بطور مثال برای .net است که توسط آن میتوانید nuget package خود را منتشر کنید. بدین منظور ...
یکی از ابزارهایی که برای Load Test در .Net وجود دارد، ابزار NBomber است. docs NBomber
برای استفاده از Captcha در فرمهای خود اگر قصد دارید که خودتان کپچا را بسازید میتوانید از این کد استفاده کنید. توسط این کلاس شما میتوانید یک عکس کپچا با مش...
یکی از موارد مهم استفاده از ترنزکشن در .Net دقت کردن به استفاده از متود async / await در داخل آن است. بطور مثال کد زیر را در نظر بگیرید:
اگر پروژه Net Core خود را بروی Docker Container از نوع Linux هاست کرده باشید، به احتمال زیاد با این مشکل مواجه میشوید که زمانی که در کد خود استفاده میکنید ...
بصورت پیشفرض خطاهای دیتابیسی از نوع DbUpdateException بازگردانده میشوند. اگر نیاز دارید که جزئیات خطا را متوجه شوید تا بتوانید در رابطه با آن تصمیم بگیرید ...
یکی از خوبیهای استفاده از EntityFrameworkCore در برنامه این است که بدون نیاز به تغییر خاصی در کد و با کمترین کار میتوانید دیتابیس سیستم خود را تغییر دهید و...
یکی از ابزارهای مفید برای مانیتور سیستم در Production برای اطمینان از صحت انجام کارها، ابزار healthCheck است. برای اضافه کردن این ابزار به Worker Service ها ...
در صورتی که در کد خود کلاسی دارید که از IDisposable ارثبری کرده باشد :
قبلا در مطلبی دیزاین پترن Singleton معرفی شده بود:
اگر پروژه شما دارای فایل web.config است و برای محیطهای مختلف آن فایلی مانند web.Prod.config تعریف کردهاید و همچنین از Azure PipeLine برای CI/CD استفاده می...
در یکی از مطالب قبلی وبلاگ چگونگی ارسال پیامها به DeadLetter آموزش داده شد:
اگر در دیتابیس خود جدولی دارید که ستون آن Identity نیست و باید بصورت دستی وارد شود، برای فعال کردن این قابلیت در EntityFrameWork کافی است موارد زیر را به کان...
گاهی مواقع نیاز دارید تا در زبانهای برنامه نویسی بطور مثال سیشارپ یک مدل را به مدل دیگری تبدیل کنید. یکی از پلاگینهایی که این کار را راحت میکند AutoMappe...
یکی از قابلیتهای کاربردی RabbitMQ امکان ارسال پیامهای به خطا خورده به یک صف دیگر برای پردازش یا داشتن لاگ از پیامهای پردازش نشده است. بطور مثال فرض کنید پ...
فرض کنید در یک تراکنش بانکی نیاز دارید که در صورت به خطا خوردن بخشی از کد، تمام موارد انجام شده هم به حالت قبل برگردند. بطور مثال اگر انتقال پول به خطا خورد ...
یکی از نکاتی که در زبان C# در زمان استفاده از Round باید دقت کنید، تفاوت عملکرد اعدادی که به 5 ختم میشوند با دیگر زبانها یا Excel است. بطور مثال در اکسل عد...
با منتشر شدن ورژنهای جدیدتر .Net Core SDK / Runtime و نصب آنها بر روی سیستم، پس از مدتی حجم زیادی از درایو C اشغال میشود که دلیل آن باقی ماندن ورژنهای قدی...
فرض کنید برای دیباگ یا در دسترس بودن امکانات بیشتر یک Agent که با .Net Core نوشته شده است در حالت پابلیش شده میخواهید قسمتی به کد اضافه کنید. بطور مثال اگر ...
در تکنولوژیهای قدیمی مانند wcf اگر بخواهید به یک متود که خروجی آن زیاد است ریکوست بزنید، با خطا زیر مواجه میشود.
برای جلوگیری از استفاده تمام منابع cpu در زبانهای برنامهنویسی میتوان از تابع Thread.Sleep استفاده کرد که منابع را از ترد جاری میگیرد. این تابع ورودی یک ع...
برای فراخوانی یک متود از نوع Task دو روش زیر را میتوان استفاده کرد که در این مطلب به توضیح تفاوت آنها میپردازیم. تفاوت اصلی این دو متود در انتشار خطا یا ex...
بصورت پیشفرض در صورتی که از Bulk در دیتابیس استفاده کنید، Constraint جدول مورد نظر قبل از عمل Insert پاک شده و پس از اتمام بصورت اتومات ساخته میشوند. پس با...
فرض کنید نیاز دارید که مقادیر مختلف را از یک List پاک کنید، البته با توجه به حالتهای مختلف پاک کردن این موارد متفاوت است. یکی از راهها استفاده از Func است ...
در .Net core با معرفی Minimal API, Controllers, Razor Pages, gRPC, Health checks و دیگر موارد، Route های سیستم افزایش پیدا کردهاند و با بزرگ شدن پروژه نیاز ...
گاهی مواقع که نیاز به انتقال فایلهای پروژه و یا فشرده سازی آنها است، برای کاهش حجم پاک کردن فولدرهای bin و obj از حجم نهایی میکاهد. توسط کد زیر میتوانید ا...
توسط کامپایلر C# که با عنوان Roslyn بازنویسی شده است. قابلیت افزونهپذیری به آن اضافه شده است که به شما قابلیت بررسی بیشتر کدها در زمان کامپایل و صادر کردن خ...
فرض کنید برنامهای که نوشتهاید در محیط لوکال به درستی کار میکند و فقط زمانی که آن را پابلیش میدهید، در زمان اجرا با خطا مواجه میشود. یکی از قابلیتهای خو...
روشهای مختلفی برای تزریق وابستگیها وجود دارد که در لینک زیر میتوانید درباره آنها مطالعه کنید:
نکته مهم : زمانی که نمیدانید با exception اتفاق افتاده چه کاری میتوانید بکنید، آن را catch نکنید متن بالا به این معنی است که اگر در متودی که بطور مثال برای...
در صورتی که میخواهید یک Enum را به یکی API که بصورت HTTPGET است، پاس بدهید، حواستان باشد که بصورت پیش فرض معتبر بودن ورودی آن بررسی نمیشود. بطور مثال کد زی...
فرض کنید که شما یک API از نوع GET دارید و میخواهید آن را در قسمتی از کد خود فراخوانی کنید. اما مقادیری که میخواهید به آن پاس بدهید در اتریبوتهای یک کلاس ذ...
برای انجام عملیات بر روی تمام آیتم های یک لیست، روش های مختلفی وجود دارد که تفاوت هایی با هم دارند. یکی از مهمترین موارد در زمانهایی است که شما میخواهید ی...
```c# using System; using System.Text;
یکی از ویژگیهایی که Entity Framework Core دارد، قابلیت لاگ کردن کوئری نهایی است که به دیتابیس ارسال میشود. توسط این امکان میتوانید حالت های مختلف را امتحا...
گاهی مواقع برای مواردی که بسیار کم تغییر میکنند و همچنین تعداد آنها نیز کم است، بجای استفاده از دیتابیس از Enum ها میتوان استفاده کرد. بطور مثال برای جنسیت...
یکی از کتابخانه هایی که کار تبدیل مدل ها در برنامه نویسی را راحت میکند، کتابخانه Automapper است که با استفاده از آن دیگر لازم نیست Atribute های یک مدل را بص...
در زبان برنامه نویسی .net کالکشن های مختلفی وجود دارد که دارای کاربردهای متفاوت هستند و استفاده درست از آنها، باعث جلوگیری از به وقوع پیوستن مشکلات در آینده ...
یکی از کتابخانه های کاربردی در .net کتابخانه Automapper است که در زمان های مپ کردن دیتا کاربرد فراوان دارد. روش استفاده پیشفرض از این کتابخانه بصورت زیر است ...
یکی از کتابخانه هایی که برای انتقال پیام بین سیستم های مختلف وجود دارد، Rabbitmq هست. یکی از قابلیت های مفید این Message Broker قابلیت Clustering هست که در ز...
بعضی مواقع بطور مثال در زمان نوشتن Integration Test نیاز است بدون اینکه دیتا را در جدولی که به آن کلید خارجی داریم Insert کنیم، فقط در جدلی که به آن نیاز هست...
در زمانهای که میخواهید یک SP را در دیتابیس فراخوانی کنید در بیشتر مواقع نیاز است پارامترهای خود را به آن پاس بدهید. در Dapper برای این کار DynamicParamet...
یکی از پارامترها که شاید بیشتر مواقع به آن دقت نکرد باشید، ANSI_NULLS است. بیشتر مواقع که یک کوئری را بصورت خودکار توسط ابزارها میسازید مقدار آن و همچنین مق...
توسط کوئری زیر میتوانید مواردی که در یک جدول بیشتر از یکبار تکرار شدهاند را پیدا کنید. ابتدا توسط Group By مواردی که میخواهیم تکراری بودن را بر روی آنها ت...
در یکی از پروژههای شرکت نیاز به انتقال تمام دیتا دیتابیس به یک دیتابیس جدید بود. برای انجام این کار بعد از بررسی کوئریهای مختلف به کوئری زیر رسیدیم. از راه...
در یکی از پروژهها نیاز به انتقال تمام اطلاعات جداول به دیتابیس جدید بود که در انجام این کار که در مطلب قبلی کلیات آن گفته شد به چند خطا هم برخورد کردیم. خطا...
بصورت پیشفرض در حالت AutoComplete نرم افزار DataGrip اسکیما جدول مورد نظر اضافه نمیشود و در صورت زدن کلید Tab فقط جدول مورد نظر اضافه میشود.
گاهی مواقع نیاز است که خروجی کوئری شما با توجه به شرایط مختلف ترتیب متفاوتی داشته باشید. بطور مثال فرض کنید میخواهید لیست سفارشات بورس بر روی یک قسمت خاص را...
بصورت پیشفرض در صورتی که از Bulk در دیتابیس استفاده کنید، Constraint جدول مورد نظر قبل از عمل Insert پاک شده و پس از اتمام بصورت اتومات ساخته میشوند. پس با...
بصورت پیش فرض امکان استفاده از شرط IF در بخش WHERE یک کوئری وجود ندارد و اگر نیاز به بررسی شرط در حالتهای مختلف داشتید، باید از ترفندهای مختلف استفاده کنید....
اگر نیاز داشتید که تمام سطرهای یک ستون خاص در دیتابیس را به صورت یک خروجی درآورید، شبیه به قابلیت Concat در زبان های برنامه نویسی، میتوانید از کوئری زیر است...
فرض کنید 2 جدول دارید که میخواهید اطلاعات یکی از آنها را با توجه به جدول دوم آپدیت کنید. یا به زبان دیگر این 2 جدول با یکدیگر کلید خارجی دارند و میخواهید ف...
در صورتی که از Dapper برای پاس دادن مقادیر DateTime2 به دیتابیس و یا فراخوانی SP استفاده میکنید، حواستان باشد که Dapper بصورت پیشفرض مقدار Millisecond را د...
یکی از ابزارهای مفید برای چک کردن اتصال به دیتابیسی که در سرورهای دیگر قرار دارد، UDL یا Universal Data Link است که توسط آن حتی سطح دسترسی یوزر مورد نظر را ه...
در یکی از بخشهای جدا سازی و حرکت به سوی ماکروسرویس، نیاز بود تا از صحت عملکرد سیستم اطمینان حاصل کنیم. برای این کار سورسهای سیستم را در یک سرور دیگر اجرا ک...
از ویژگیهای خوب SQL Server وجود داشتن فانکشنها و آبجکتهای مختلف برای راحتسازی کارها است. بطور مثال دو شی زیر که از نوع Dynamic Management Views هستند، بر...
یکی از قابلیتهای کاربردی در SQL Server امکانی با اسم CDC است که به شما قابلیت دانستن تغییرات بر روی یک جدول خاص را میدهد. فرض کنید در برنامهای که بصورت Mi...
یکی از مواردی که در زمان طراحی دیتابیس باید رعایت شود، بحث نامگذاری درست آیتمها است. بصورت پیشفرض SQL SERVER نامهای پیشفرض بطور مثال برای کلید داخلی، کلی...
این دستور کوتاه شده X <= Id AND X >= Id2 است که برای برقرار شدن شرط بین دو مقدار کاربرد دارد. بطور مثال در مواردی که میخواهید یک گزارش بین دو تاریخ را...
گاهی مواقع نیاز است تا یک متغیر را توسط دستور SELECT مقداردهی کنید و از آن متغیر در کدهای خود استفاده کنید. راحت ترین راه کوئری زیر است که فقط یک مورد را مقد...
این تابع که از نوع Window Function است، برای دریافت اولین سطر در حالت Ordered Partition استفاده میشود.
این دستور در واقع یک result set را از نوع موقت ایجاد میکند که به آن Common Table Expression یا CTE نیز میگویند. روش کلی استفاده از آن بصورت زیر است:
یکی از ویژگیهایی که Entity Framework Core دارد، قابلیت لاگ کردن کوئری نهایی است که به دیتابیس ارسال میشود. توسط این امکان میتوانید حالت های مختلف را امتحا...
```sql CREATE TABLE Grades ( [Student] NVARCHAR(50), [Subject] NVARCHAR(50), [Marks] INT ) GO
یکی از امکانات خوب دیتابیس SQL Server امکان پاس دادن لیست به عنوان ورودی به یک stored procedure است که کار شما را برای مواقعی که نیاز به پاس دادن تعداد زیادی...
اسکیما در دیتابیس ها یک شی دربرگیرنده دیگر شیء ها است که بیشتر برای مرتب سازی جداول و دیگر اشیا استفاده میشود. گاهی مواقع نیاز دارید تا اسکیما جدولی را که ا...
گاهی مواقع برای تست کردن فانکشن نوشته شده در دیتابیس، نیاز به فراخوانی آن توسط دستورهای SQL دارید. روش فراخوانی stored procedure ها بسیار راحت است و توسط دست...
گاهی مواقع در SP های نوشته شده شما نیاز به دریافت یک لیست دارید. بطور مثال میخواهید فقط مطالبی که در چند دسته بندی خاص هستند را دریافت کنید. برای این کار میت...
یکی از دستورات مفیدی که در SQL Server وجود داره، دستوری به اسم merge هست که کاربردهای مفید زیادی داره. مثلا وقتی میخواید اطلاعات یه جدول رو با جدول دیگه ای س...
گاهی مواقع در زمان نوشتن یک SP در دیتابیس شما نیاز به استفاده از یک پارامتر ورودی دارید که مقدار Null نیز میتواند داشته باشد و از این متغیر میخواید در قسمت w...
توی تغییری که لازم بود در دیتابیس بدیم، نیاز بود که یه ستون جدید به جدول اضافه بشه که مقدارش GUID بود پس نوعش رو Unique در نظر گرفته بودیم این فیلد میتونست...
شروع سیستم بورس اطلاعات رو در بستر Socket به کارگزارها ارسال میکنه یکی از این اطلاعات که مقدار ریت بالایی هم داره، سرخط های بازار هست که افراد معمولی فقط 5 ...
یکی از پارامترها که شاید بیشتر مواقع به آن دقت نکرد باشید، ANSI_NULLS است. بیشتر مواقع که یک کوئری را بصورت خودکار توسط ابزارها میسازید مقدار آن و همچنین مق...
بهینهسازی دیتابیس و کوئریها یکی از موارد مهم در دیتابیس است تا بتوان از منابع موجود بصورت بهینه استفاده کرد. یکی از روشها برای دانستن کوئریهای زمانبر بر...
یکی از مواردی که در زمان طراحی دیتابیس باید رعایت شود، بحث نامگذاری درست آیتمها است. بصورت پیشفرض SQL SERVER نامهای پیشفرض بطور مثال برای کلید داخلی، کلی...
این دستور کوتاه شده X <= Id AND X >= Id2 است که برای برقرار شدن شرط بین دو مقدار کاربرد دارد. بطور مثال در مواردی که میخواهید یک گزارش بین دو تاریخ را...
گاهی مواقع نیاز است تا یک متغیر را توسط دستور SELECT مقداردهی کنید و از آن متغیر در کدهای خود استفاده کنید. راحت ترین راه کوئری زیر است که فقط یک مورد را مقد...
این تابع که از نوع Window Function است، برای دریافت اولین سطر در حالت Ordered Partition استفاده میشود.
این دستور در واقع یک result set را از نوع موقت ایجاد میکند که به آن Common Table Expression یا CTE نیز میگویند. روش کلی استفاده از آن بصورت زیر است:
در زمان استفاده از SubQuery ها باید حواستان به قلمرو دید باشد. بصورت کلی تمام ستونهای جدول اول در بخش دو دردسترس نیست.
شی Synonym در دیتابیس در واقع یک نام جایگزین برای اشیا دیگر است که نکته مهم در آن این است که این شی میتواند در یک دیتابیس و حتی سرور دیگر باشد. پس با این ام...
این دستور شبیه به WHERE عمل میکند با این تفاوت که دستور HAVING میتواند همراه با aggregate functions استفاده شود. این دستور بیشتر مواقع همراه با GROUP BY اس...
در دیتابیس فانکشنهای موجود به 2 صورت Scalar و Table-Value هستند که در این مطلب تفاوت آنها را بیان میکنیم.
SELECT TOP 100 AVG(Quantity) AS Quantity, MAX(Price) AS Price FROM [dbo].Decision;
قبل از شروع این مطلب نیاز است که ابتدا با CROSS بیشتر آشنا شویم. روش استفاده از این نوع JOIN بصورت زیر است:
```sql CREATE TABLE Grades ( [Student] NVARCHAR(50), [Subject] NVARCHAR(50), [Marks] INT ) GO
یکی از امکانات خوب دیتابیس SQL Server امکان پاس دادن لیست به عنوان ورودی به یک stored procedure است که کار شما را برای مواقعی که نیاز به پاس دادن تعداد زیادی...
اسکیما در دیتابیس ها یک شی دربرگیرنده دیگر شیء ها است که بیشتر برای مرتب سازی جداول و دیگر اشیا استفاده میشود. گاهی مواقع نیاز دارید تا اسکیما جدولی را که ا...
گاهی مواقع برای تست کردن فانکشن نوشته شده در دیتابیس، نیاز به فراخوانی آن توسط دستورهای SQL دارید. روش فراخوانی stored procedure ها بسیار راحت است و توسط دست...
یکی از کتابخونه های خیلی خوب برای لاگ کردن، کتابخونه ای به اسم serilog هستش. توسط این کتابخونه تقریبا میتونید تمام کارهایی که مربوط به لاگ کردن هستش رو انجام...
نوبتی هم باشه، نوبت مشکلاتی هستش که با خود سیستم عامل لینوکس پیدا کردم بعد از حل کردن مشکلاتی که به برنامه نویسی مربوط میشد، میخواستم مطالب رو در وبلاگ منتش...
در قسمت های قبل ما تونستیم پیش نیازهای برنامه نویسی رو نصب و کانفیگ کنیم. حالا نوبت اجرا کردن پروژه هستش برای اجرا برنامه هم نیاز به دیتابیس هست، بعد از نصب...
اگه قسمت های قبل رو دنبال کرده باشید، میدونید که چندتا مشکل ساده رو حل کردیم و تونستیم سیستم رو بالا بیاریم همه چی خوب پیش میرفت و من از همین تعجب میکردم، ا...
در پروژه ای که مدتی پیش روش کار میکرد، نیاز به وارد کردن دیتا تست زیادی بود که بعد از انجام پروژه هم پاک شدن، بعد از انجام پروژه متوجه شدن حجم درایو C خیلی ک...
یکی از امکانات خوب ویندوز که نیاز شما به نصب شبیهسازهایی مانند VirtualBox را بینیاز میکند ابزاری به اسم Sandbox است که توسط ابزار Hyper-V خود ویندوز کار م...
اگر میخواستید فایلهای خود را از LF به CRLF و یا برعکس تغییر دهید میتوانید از دستورات زیر استفاده کنید:
با نرمافزار زیر میتوانید جزئیات را مشاهده کنید. برای پیدا کردن Domain هم به بخش زیر بروید و بخش Full device name را مشاهده کنید.البته دقت کنید که بخش Devic...
در صورتی که نیاز داشتید تا لیست تمام نرم افزارهای نصب شده بر روی سیستم عامل ویندوز خود را بدست بیاورید، میتوانید از تکه کد زیر استفاده کنید.
آخرین بار که از طریق نرم افزار EaseUS Partition Master حجم درایو C را افزایش دادم، پس از ریست سیستم یک درایو جدید با نام Z هم به سیستم اضافه شده بود که امکان...
یکی از ابزارهای مفید برای چک کردن اتصال به دیتابیسی که در سرورهای دیگر قرار دارد، UDL یا Universal Data Link است که توسط آن حتی سطح دسترسی یوزر مورد نظر را ه...
یکی از مشکلاتی که در زمان کار با Service ها در ویندوز ممکن است با آن روبرو شوید، Stop نشدن سرویس مورد نظر است. یکی از راههای سریع برای توقف سرویس مورد نظر ا...
فرض کنید موارد استفاده از سرویسهایی که دارید را میخواهید در یک پروژه بزرگ پیدا کنید که این پروژه خود شامل زیرپروژه های مختلف است. جستجو عادی به ازای هر سرو...
یکی از تغییراتی که در ویندوز 10 ایجاد شد، معرفی استفاده از Fluent design بود که ظاهر ویندوز را نسبت به نسخه های قبلی تغییر زیادی داد. بیشتر نرم افزارهای منتش...
یکی از ابزارهای خوب ماکروسافت برای مدیریت سرورها، ابزاری به اسم Windows Admin Center هستش، توسط این ابزار میتونید سرورهای مختلف روی شبکه رو کنترل کنید و حتی ...
برای نصب و استفاده از دیتابیس Redis در ویندوز راه های مختلفی وجود داره که راحت ترین اونها استفاده از داکر هستش دلیل این کار هم این هست که ردیس بصورت مستقیم ف...
وقتی از چندتا سیستم عامل استفاده میکنید، در زمان روشن کردن سیستم صفحه ای نشون داده میشه تا بتونید سیستم عامل خودتون رو انتخاب کنید بطور پیش فرض این صفحه ظاه...
نوبتی هم باشه، نوبت مشکلاتی هستش که با خود سیستم عامل لینوکس پیدا کردم بعد از حل کردن مشکلاتی که به برنامه نویسی مربوط میشد، میخواستم مطالب رو در وبلاگ منتش...
در قسمت های قبل ما تونستیم پیش نیازهای برنامه نویسی رو نصب و کانفیگ کنیم. حالا نوبت اجرا کردن پروژه هستش برای اجرا برنامه هم نیاز به دیتابیس هست، بعد از نصب...
اگه قسمت های قبل رو دنبال کرده باشید، میدونید که چندتا مشکل ساده رو حل کردیم و تونستیم سیستم رو بالا بیاریم همه چی خوب پیش میرفت و من از همین تعجب میکردم، ا...
اگه قسمت قبل رو مطالعه کرده باشید، اطلاع دارید که ما تونستیم لینوکس رو کامل نصب کنیم از کارهایی که بعد از نصب هر سیستم عاملی نیاز هست، نصب نرم افزارهای مورد...
یه مدتی بود که می خواستم یه تجربه جدید یاد بگیرم و چیز جدیدی رو امتحان کنم، همچنین سیستم عامل ویندوز هم یکم واسم کند شده بود. یه چند باری هم خواسته بودم لین...
اگر پروژه Net Core خود را بروی Docker Container از نوع Linux هاست کرده باشید، به احتمال زیاد با این مشکل مواجه میشوید که زمانی که در کد خود استفاده میکنید ...
یکی از خوبی های لینوکس این هست که دستتون برای شخصی سازی خیلی باز هست بطور مثال برای نرم افزار VLC چون صفحه لپ تاپ 4K بود، از تم هایی که خودش داشت نمیتونستم ...
یکی از مشکلاتی که خیلی وقت من رو گرفت، مشکل سیاه شدن صفحه بعد از روشن شدن یا بعد از حالت sleep یا suspend بود تقریبا بیشتر راه هایی که داخل اینترنت بود رو ا...
اگه میخواستید برای صفحه ورود لینوکس که بطور پیشفرض در اوبونتو رنگ بنفش داره، عکس یا رنگ دیگه ای قرار بدید، میتونید آموزش زیر رو دنبال کنید اول از همه پکیج ز...
یکی از مشکلاتی که در لینوکس افراد باهاش روبرو میشن، مشکل درایور کارت گرافیک هستش. در بیشتر مواقع مشکل خاصی نیست ولی اگه مثل من از لپ تاپ با دو تا کارت گرافی...
وقتی از چندتا سیستم عامل استفاده میکنید، در زمان روشن کردن سیستم صفحه ای نشون داده میشه تا بتونید سیستم عامل خودتون رو انتخاب کنید بطور پیش فرض این صفحه ظاه...
نوبتی هم باشه، نوبت مشکلاتی هستش که با خود سیستم عامل لینوکس پیدا کردم بعد از حل کردن مشکلاتی که به برنامه نویسی مربوط میشد، میخواستم مطالب رو در وبلاگ منتش...
در قسمت های قبل ما تونستیم پیش نیازهای برنامه نویسی رو نصب و کانفیگ کنیم. حالا نوبت اجرا کردن پروژه هستش برای اجرا برنامه هم نیاز به دیتابیس هست، بعد از نصب...
اگه قسمت های قبل رو دنبال کرده باشید، میدونید که چندتا مشکل ساده رو حل کردیم و تونستیم سیستم رو بالا بیاریم همه چی خوب پیش میرفت و من از همین تعجب میکردم، ا...
اگه قسمت قبل رو مطالعه کرده باشید، اطلاع دارید که ما تونستیم لینوکس رو کامل نصب کنیم از کارهایی که بعد از نصب هر سیستم عاملی نیاز هست، نصب نرم افزارهای مورد...
یه مدتی بود که می خواستم یه تجربه جدید یاد بگیرم و چیز جدیدی رو امتحان کنم، همچنین سیستم عامل ویندوز هم یکم واسم کند شده بود. یه چند باری هم خواسته بودم لین...
یکی از قابلیتهای گیتهاب امکان انتشار مستقیم کتابخانههای نوشته شده بطور مثال برای .net است که توسط آن میتوانید nuget package خود را منتشر کنید. بدین منظور ...
Github دارای API های مختلف برای راحتسازی کارها است. فرض کنید میخواهید لیست پروژههایی که به آنها stars دادهاید را بصورت یک لیست داشته باشید.
یکی از ابزارهای خوب که جدیدا معرفی شده است و توسط هوش مصنوعی کدزنی را بسیار آسانتر میکند، ابزاری به اسم copilot است که توسط github ارائه شده که بر پایه AI ب...
یکی از امکانات جالبی که در git موجود هست که من هم تازه باهاش آشنا شدم، امکانی به اسم Submodules هست. این ویژگی به شما این امکان رو میده که کدهای خود رو به پر...
یکی از ویژگی های خوب گیت هاب که استفاده زیادی داره و این سایت هم با استفاده از آن ساخته شده، فایل md یا markdown هست. توسط این قابلیت میتوانید فایل های متنی ...
بعضی مواقع نیاز هست تا اطلاعات یک پروژه در گیتهاب رو بدست آورد. بطور مثلا قبل از clone کردن یک پروژه میخوایم حجم کل پروژه رو بدست بیاریم روش انجام این کار ...
اگه داخل پروژه های Open Source که داخل گیتهاب منتشر شدن، شرکت میکنید، یکی از اولین مشکل هایی که باهاش روبرو میشید، آپدیت کردن پروژه فرک شده از پروژه اصلی هست...
یکی از امکاناتی که گیتهاب در اختیار برنامه نویسان قرار میده، امکان ایجاد یک سایت رایگان با دامنه شخصی هستش، بطور مثال: mhkarami97.github.io که قسمت اول اون...
یکی از مشکلات عجیبی که زمان کار کردن با Git ممکن است مواجه شوید، عدم نمایش فایل تغییر کرده در بخش Change ها است. بطور مثال فایل X را تغییر دادهاید و میخواه...
برای اطمینان بیشتر از اینکه در یک Pull Request تمام موارد مهم بررسی شدهاند، میتوانید یک CheckList به توضیحات آن اضافه کنید تا افراد قبل از زدن پولریکوست آ...
گاهی مواقع یک فایل را به اشتباه پاک میکنید و یا نیاز دارید بدانید یک فایل در چه زمانی پاک شده و محتویات آن نیز چه بوده است. در این مواقع اگر از گیت استفاده ...
در بعضی مواقع شما نیاز دارید که فقط یک Commit را از یک Branch به یک Branch دیگر منتقل کنید و نمیخواهید تمام تغییرات آن برنچ را با برنچ خود Merge کنید. برای ...
یکی از امکانات جالبی که در git موجود هست که من هم تازه باهاش آشنا شدم، امکانی به اسم Submodules هست. این ویژگی به شما این امکان رو میده که کدهای خود رو به پر...
بعضی مواقع اتفاق میافته که یه فایل رو اشتباه داخل Git کامیت میکنید یا بنا به دلایلی میخواید فایل خاصی رو از تاریخچه گیت پاک کنید برای انجام این کار ابتدا بای...
بعضی مواقع نیاز هست تا اطلاعات یک پروژه در گیتهاب رو بدست آورد. بطور مثلا قبل از clone کردن یک پروژه میخوایم حجم کل پروژه رو بدست بیاریم روش انجام این کار ...
یکی از امکانات خوب ویندوز که نیاز شما به نصب شبیهسازهایی مانند VirtualBox را بینیاز میکند ابزاری به اسم Sandbox است که توسط ابزار Hyper-V خود ویندوز کار م...
یکی از امکانات خوب گوگل برای مدیریت کارها، Google Task و Google Keep است که توسط آنها میتوانید راحتتر کارهای خود را مدیریت کنید. اگر قصد استفاده از نسخه وب...
اگر در برنامه خود نیاز دارید که خطهای تکراری در یک فایل را پیدا کنید میتوانید از کد زیر استفاده کنید.
در صورتی که نیاز داشتید تا لیست تمام نرم افزارهای نصب شده بر روی سیستم عامل ویندوز خود را بدست بیاورید، میتوانید از تکه کد زیر استفاده کنید.
فرض کنید اینترنت محل کار شما قطع شده است و توسط آن فقط به موارد داخلش شبکه دسترسی دارید، از طرفی برای انجام کارهای خود نیاز به اینترنت خارج از شرکت هم دارید....
X = (sign) m * r^e
در زمان نوشتن تستها بعضی مواقع امکان بررسی اینکه متود خطا برمیگرداند وجود ندارد و فقط در داخل خود متود لاگ زده میشود. بطور مثال در سناریوهایی که پیامها ا...
فرض کنید برای خواندن پیامها از صف Kafka از کدی مشابه زیر استفاده کردهاید که پیامها بعد از دریافت توسط delegate و Event به کلاس دیگری داده میشود.
بهینهسازی دیتابیس و کوئریها یکی از موارد مهم در دیتابیس است تا بتوان از منابع موجود بصورت بهینه استفاده کرد. یکی از روشها برای دانستن کوئریهای زمانبر بر...
یکی از کتابخونه های خیلی خوب برای لاگ کردن، کتابخونه ای به اسم serilog هستش. توسط این کتابخونه تقریبا میتونید تمام کارهایی که مربوط به لاگ کردن هستش رو انجام...
با بزرگ شدن پروژه و گسترش اون، به تبع اطلاعات بدست اومده بصورت نمایی زیاد میشه و دیگه با ابزارهای قبلی نمیشه این حجم از اطلاعات رو پردازش کرد. بطور مثال اگه ...
در پروژه ای که مدتی پیش روش کار میکرد، نیاز به وارد کردن دیتا تست زیادی بود که بعد از انجام پروژه هم پاک شدن، بعد از انجام پروژه متوجه شدن حجم درایو C خیلی ک...
با منتشر شدن ورژنهای جدیدتر .Net Core SDK / Runtime و نصب آنها بر روی سیستم، پس از مدتی حجم زیادی از درایو C اشغال میشود که دلیل آن باقی ماندن ورژنهای قدی...
فرض کنید برای دیباگ یا در دسترس بودن امکانات بیشتر یک Agent که با .Net Core نوشته شده است در حالت پابلیش شده میخواهید قسمتی به کد اضافه کنید. بطور مثال اگر ...
در .Net core با معرفی Minimal API, Controllers, Razor Pages, gRPC, Health checks و دیگر موارد، Route های سیستم افزایش پیدا کردهاند و با بزرگ شدن پروژه نیاز ...
نوبتی هم باشه، نوبت مشکلاتی هستش که با خود سیستم عامل لینوکس پیدا کردم بعد از حل کردن مشکلاتی که به برنامه نویسی مربوط میشد، میخواستم مطالب رو در وبلاگ منتش...
در قسمت های قبل ما تونستیم پیش نیازهای برنامه نویسی رو نصب و کانفیگ کنیم. حالا نوبت اجرا کردن پروژه هستش برای اجرا برنامه هم نیاز به دیتابیس هست، بعد از نصب...
اگه قسمت های قبل رو دنبال کرده باشید، میدونید که چندتا مشکل ساده رو حل کردیم و تونستیم سیستم رو بالا بیاریم همه چی خوب پیش میرفت و من از همین تعجب میکردم، ا...
نوبتی هم باشه، نوبت مشکلاتی هستش که با خود سیستم عامل لینوکس پیدا کردم بعد از حل کردن مشکلاتی که به برنامه نویسی مربوط میشد، میخواستم مطالب رو در وبلاگ منتش...
در قسمت های قبل ما تونستیم پیش نیازهای برنامه نویسی رو نصب و کانفیگ کنیم. حالا نوبت اجرا کردن پروژه هستش برای اجرا برنامه هم نیاز به دیتابیس هست، بعد از نصب...
اگه قسمت های قبل رو دنبال کرده باشید، میدونید که چندتا مشکل ساده رو حل کردیم و تونستیم سیستم رو بالا بیاریم همه چی خوب پیش میرفت و من از همین تعجب میکردم، ا...
اگه قسمت قبل رو مطالعه کرده باشید، اطلاع دارید که ما تونستیم لینوکس رو کامل نصب کنیم از کارهایی که بعد از نصب هر سیستم عاملی نیاز هست، نصب نرم افزارهای مورد...
یه مدتی بود که می خواستم یه تجربه جدید یاد بگیرم و چیز جدیدی رو امتحان کنم، همچنین سیستم عامل ویندوز هم یکم واسم کند شده بود. یه چند باری هم خواسته بودم لین...
در صورتی که در مواقع خاص نیاز داشتید که از متودهای async بصورت sync استفاده کنید، بهترین راه استفاده بصورت زیر است. در این روش از .ConfigureAwait(false).GetA...
یکی از موارد مهم استفاده از ترنزکشن در .Net دقت کردن به استفاده از متود async / await در داخل آن است. بطور مثال کد زیر را در نظر بگیرید:
برای جلوگیری از استفاده تمام منابع cpu در زبانهای برنامهنویسی میتوان از تابع Thread.Sleep استفاده کرد که منابع را از ترد جاری میگیرد. این تابع ورودی یک ع...
برای فراخوانی یک متود از نوع Task دو روش زیر را میتوان استفاده کرد که در این مطلب به توضیح تفاوت آنها میپردازیم. تفاوت اصلی این دو متود در انتشار خطا یا ex...
برای انجام عملیات بر روی تمام آیتم های یک لیست، روش های مختلفی وجود دارد که تفاوت هایی با هم دارند. یکی از مهمترین موارد در زمانهایی است که شما میخواهید ی...
یکی از کتابخانههای مناسب برای نوشتن Integration Test در Net core کتابخانه Testcontainers است. توسط این کتابخانه میتوانید به راحتی از سرویس استفاده کننده ما...
توسط کتابخانه Testcontainers به راحتی میتوانید یک نسخه از بیشتر موارد مثل Redis, Sql, Kafka, RabbitMQ را بالا بیاورید و پروژه نوشته شده را تست کنید تا از کا...
بعضی مواقع بطور مثال در زمان نوشتن Integration Test نیاز است بدون اینکه دیتا را در جدولی که به آن کلید خارجی داریم Insert کنیم، فقط در جدلی که به آن نیاز هست...
در زمان نوشتن تستها بعضی مواقع امکان بررسی اینکه متود خطا برمیگرداند وجود ندارد و فقط در داخل خود متود لاگ زده میشود. بطور مثال در سناریوهایی که پیامها ا...
فرض کنید برای خواندن پیامها از صف Kafka از کدی مشابه زیر استفاده کردهاید که پیامها بعد از دریافت توسط delegate و Event به کلاس دیگری داده میشود.
برای استفاده از Captcha در فرمهای خود اگر قصد دارید که خودتان کپچا را بسازید میتوانید از این کد استفاده کنید. توسط این کلاس شما میتوانید یک عکس کپچا با مش...
فرض کنید پروژه Angular خود را در سروری با اسم st-server-s2 هاست کردهاید و در داخل این پروژه چند api از سرور دیگری با اسم st-backend-s2 فراخوانی میکنید. دست...
آخرین مشکلی که باهاش روبرو شدم و یه مدتی وقتم رو گرفت، مشکلی با این مضمون بود که وقتی توسط تگ select در html مقدارش تو فایل ts نمیومد نمونه کدی که استفاده ک...
در یکی از پروژ هایی که در حال انجامشون بودم، در قسمتی نیاز به استفاده از یک سرویس بصورت زیر بود:
در تستهای IntegrationTest در مواقعی که نیاز دارید ارتباط با دیتابیس را بررسی کنید در زمانهایی که نیاز به تغییر ConnectionString وجود دارد توسط کد زیر میتو...
بصورت پیشفرض خطاهای دیتابیسی از نوع DbUpdateException بازگردانده میشوند. اگر نیاز دارید که جزئیات خطا را متوجه شوید تا بتوانید در رابطه با آن تصمیم بگیرید ...
یکی از خوبیهای استفاده از EntityFrameworkCore در برنامه این است که بدون نیاز به تغییر خاصی در کد و با کمترین کار میتوانید دیتابیس سیستم خود را تغییر دهید و...
در پروژه ای که مدتی پیش روش کار میکرد، نیاز به وارد کردن دیتا تست زیادی بود که بعد از انجام پروژه هم پاک شدن، بعد از انجام پروژه متوجه شدن حجم درایو C خیلی ک...
در بعضی مواقع نیاز دارید که فقط ترافیک بعضی از سایتها از پروکسی عبور کند و نمیخواهید تمام ترافیک سیستم عامل خود و یا تمام سایتها را از پروکسی عبور دهید. د...
در محیط تست و سیستم Local اگر نیاز داشتید که CORS مرورگر را غیر فعال کنید میتوانید از دستور زیر برای اجرای آن استفاده کنید:
یکی از بهترین افزونهها برای مسدود کردن تبلیغات در مرورگرهای مختلف مانند Chrome و Edge افزونه UBlock است که امتیازهای بالاتری نسبت به AdBlock هم دارد و بهتر ...
یکی از افزونه های خوبی که برای مروگرهای بر پایه Chromium وجود داره، افزونه Dark Reader هستش. با استفاده از این افزونه میتونید تم تاریک رو در داخل همه سایت ها...
اگر از محصولات شرکت Jetbrains مانند Rider برای کدنویسی فرانت استفاده میکنید، احتمالا با مشکل طول کشیدن Index شدن پروژه و همچنین آمدن موارد Package ها در بخ...
اگر از محصولات Jetbrains برای کدنویسی استفاده کرده باشید احتمالا به مشکل خطا نشان دادن برای کلمات فارسی برخورد کردهاید. بصورت پیشفرض فقط زبان انگلیسی در ای...
بصورت پیشفرض در حالت AutoComplete نرم افزار DataGrip اسکیما جدول مورد نظر اضافه نمیشود و در صورت زدن کلید Tab فقط جدول مورد نظر اضافه میشود.
در بعضی مواقع شما نیاز دارید که فقط یک Commit را از یک Branch به یک Branch دیگر منتقل کنید و نمیخواهید تمام تغییرات آن برنچ را با برنچ خود Merge کنید. برای ...
یکی از مشکلاتی که در لینوکس افراد باهاش روبرو میشن، مشکل درایور کارت گرافیک هستش. در بیشتر مواقع مشکل خاصی نیست ولی اگه مثل من از لپ تاپ با دو تا کارت گرافی...
نوبتی هم باشه، نوبت مشکلاتی هستش که با خود سیستم عامل لینوکس پیدا کردم بعد از حل کردن مشکلاتی که به برنامه نویسی مربوط میشد، میخواستم مطالب رو در وبلاگ منتش...
یه مدتی بود که می خواستم یه تجربه جدید یاد بگیرم و چیز جدیدی رو امتحان کنم، همچنین سیستم عامل ویندوز هم یکم واسم کند شده بود. یه چند باری هم خواسته بودم لین...
فرض کنید نیاز دارید که مقادیر مختلف را از یک List پاک کنید، البته با توجه به حالتهای مختلف پاک کردن این موارد متفاوت است. یکی از راهها استفاده از Func است ...
گاهی مواقع برای تست کردن فانکشن نوشته شده در دیتابیس، نیاز به فراخوانی آن توسط دستورهای SQL دارید. روش فراخوانی stored procedure ها بسیار راحت است و توسط دست...
گاهی مواقع در SP های نوشته شده شما نیاز به دریافت یک لیست دارید. بطور مثال میخواهید فقط مطالبی که در چند دسته بندی خاص هستند را دریافت کنید. برای این کار میت...
در بعضی مواقع نیاز دارید که فقط ترافیک بعضی از سایتها از پروکسی عبور کند و نمیخواهید تمام ترافیک سیستم عامل خود و یا تمام سایتها را از پروکسی عبور دهید. د...
در محیط تست و سیستم Local اگر نیاز داشتید که CORS مرورگر را غیر فعال کنید میتوانید از دستور زیر برای اجرای آن استفاده کنید:
یکی از افزونه های خوبی که برای مروگرهای بر پایه Chromium وجود داره، افزونه Dark Reader هستش. با استفاده از این افزونه میتونید تم تاریک رو در داخل همه سایت ها...
در بعضی مواقع نیاز دارید که فقط ترافیک بعضی از سایتها از پروکسی عبور کند و نمیخواهید تمام ترافیک سیستم عامل خود و یا تمام سایتها را از پروکسی عبور دهید. د...
یکی از بهترین افزونهها برای مسدود کردن تبلیغات در مرورگرهای مختلف مانند Chrome و Edge افزونه UBlock است که امتیازهای بالاتری نسبت به AdBlock هم دارد و بهتر ...
یکی از افزونه های خوبی که برای مروگرهای بر پایه Chromium وجود داره، افزونه Dark Reader هستش. با استفاده از این افزونه میتونید تم تاریک رو در داخل همه سایت ها...
این الگو در زمان هایی کاربرد دارد که شما یک کار را میخواهید انجام بدهید که بیشتر قسمت های آن یکسان است اما بعضی از قسمت های آن دارای تفاوت است.
یکی از الگوهای طراحی که در برنامه نویسی کاربرد داره، الگویی با اسم Chain Of Responsibility هستش. این الگو در زمان هایی کاربرد داره که یک سری عملیات رو بصورت...
یکی از دیزاین پترن هایی که کاربرد زیادی در برنامه نویسی داره، دیزاین پترن Singleton هستش. این پترن زمان هایی کاربرد داره که ما فقط به یه Instance از کلاس دار...
```csharp using Utf8Json;
یکی از قابلیتهای کاربردی RabbitMQ امکان ارسال پیامهای به خطا خورده به یک صف دیگر برای پردازش یا داشتن لاگ از پیامهای پردازش نشده است. بطور مثال فرض کنید پ...
یکی از کتابخانه هایی که برای انتقال پیام بین سیستم های مختلف وجود دارد، Rabbitmq هست. یکی از قابلیت های مفید این Message Broker قابلیت Clustering هست که در ز...
یکی از موارد مهم استفاده از ترنزکشن در .Net دقت کردن به استفاده از متود async / await در داخل آن است. بطور مثال کد زیر را در نظر بگیرید:
فرض کنید در یک تراکنش بانکی نیاز دارید که در صورت به خطا خوردن بخشی از کد، تمام موارد انجام شده هم به حالت قبل برگردند. بطور مثال اگر انتقال پول به خطا خورد ...
یکی از موارد مهم در زبان های برنامه نویسی بحث Transaction ها میباشد. در بعضی موارد تمام مواردی که میخواهید بصورت یک ترنزکشن انجام شوند، بر روی یک سیستم نیس...
در زمانهای که میخواهید یک SP را در دیتابیس فراخوانی کنید در بیشتر مواقع نیاز است پارامترهای خود را به آن پاس بدهید. در Dapper برای این کار DynamicParamet...
در صورتی که از Dapper برای پاس دادن مقادیر DateTime2 به دیتابیس و یا فراخوانی SP استفاده میکنید، حواستان باشد که Dapper بصورت پیشفرض مقدار Millisecond را د...
یکی از امکانات خوب دیتابیس SQL Server امکان پاس دادن لیست به عنوان ورودی به یک stored procedure است که کار شما را برای مواقعی که نیاز به پاس دادن تعداد زیادی...
یکی از مواردی که در C# باید به آن دقت کرد این است که مقدار پیشفرض برای Enum برابر با 0 است و حتی اگر مقدار صفر در Enum نباشد باز مقدار گفته شده را میتواند ...
در صورتی که میخواهید یک Enum را به یکی API که بصورت HTTPGET است، پاس بدهید، حواستان باشد که بصورت پیش فرض معتبر بودن ورودی آن بررسی نمیشود. بطور مثال کد زی...
گاهی مواقع برای مواردی که بسیار کم تغییر میکنند و همچنین تعداد آنها نیز کم است، بجای استفاده از دیتابیس از Enum ها میتوان استفاده کرد. بطور مثال برای جنسیت...
گاهی مواقع که نیاز به انتقال فایلهای پروژه و یا فشرده سازی آنها است، برای کاهش حجم پاک کردن فولدرهای bin و obj از حجم نهایی میکاهد. توسط کد زیر میتوانید ا...
توسط کامپایلر C# که با عنوان Roslyn بازنویسی شده است. قابلیت افزونهپذیری به آن اضافه شده است که به شما قابلیت بررسی بیشتر کدها در زمان کامپایل و صادر کردن خ...
فرض کنید موارد استفاده از سرویسهایی که دارید را میخواهید در یک پروژه بزرگ پیدا کنید که این پروژه خود شامل زیرپروژه های مختلف است. جستجو عادی به ازای هر سرو...
بصورت پیشفرض خطاهای دیتابیسی از نوع DbUpdateException بازگردانده میشوند. اگر نیاز دارید که جزئیات خطا را متوجه شوید تا بتوانید در رابطه با آن تصمیم بگیرید ...
در صورتی که در کد خود کلاسی دارید که از IDisposable ارثبری کرده باشد :
نکته مهم : زمانی که نمیدانید با exception اتفاق افتاده چه کاری میتوانید بکنید، آن را catch نکنید متن بالا به این معنی است که اگر در متودی که بطور مثال برای...
در صورتی که در مواقع خاص نیاز داشتید که از متودهای async بصورت sync استفاده کنید، بهترین راه استفاده بصورت زیر است. در این روش از .ConfigureAwait(false).GetA...
برای جلوگیری از استفاده تمام منابع cpu در زبانهای برنامهنویسی میتوان از تابع Thread.Sleep استفاده کرد که منابع را از ترد جاری میگیرد. این تابع ورودی یک ع...
برای فراخوانی یک متود از نوع Task دو روش زیر را میتوان استفاده کرد که در این مطلب به توضیح تفاوت آنها میپردازیم. تفاوت اصلی این دو متود در انتشار خطا یا ex...
در صورتی که از Nginx استفاده کرده باشید و در داخل آن از proxy برای انتقال درخواستها به آدرس دیگر استفاده شده باشد، مقدار X-Forwarded-For در این حالت بطور پی...
فرض کنید پروژه Angular خود را در سروری با اسم st-server-s2 هاست کردهاید و در داخل این پروژه چند api از سرور دیگری با اسم st-backend-s2 فراخوانی میکنید. دست...
در بعضی مواقع نیاز دارید که فقط ترافیک بعضی از سایتها از پروکسی عبور کند و نمیخواهید تمام ترافیک سیستم عامل خود و یا تمام سایتها را از پروکسی عبور دهید. د...
```c# using System; using System.Text;
یکی از مشکلاتی که افراد در زمان کار با http client در زبان برنامه نویسی .net مواجه می شوند، سخت بودن نسبی مدیریت آن و همچنین نیاز به نوشتن کدهای زیاد برای کا...
در یکی از پروژه هایی که با فریم ورک Vuejs در حال نوشتن بودم و نیاز بود تا یک تم html به vue تبدیل شود، نیاز داشتم تا فایل های js قالب رو داخل پروژه استفاده ک...
برای یکی از پروژه های شخصی که میخواستم داخل github page هم منتشر کنم، با مشکل پیدا نشدن فایل های استاتیک و خطای 404 روبرو میشدم با توجه به اینکه قبلا هم برا...
در یکی از پروژه هایی که با فریم ورک Vuejs در حال نوشتن بودم و نیاز بود تا یک تم html به vue تبدیل شود، نیاز داشتم تا فایل های js قالب رو داخل پروژه استفاده ک...
برای یکی از پروژه های شخصی که میخواستم داخل github page هم منتشر کنم، با مشکل پیدا نشدن فایل های استاتیک و خطای 404 روبرو میشدم با توجه به اینکه قبلا هم برا...
فرض کنید برنامهای که نوشتهاید در محیط لوکال به درستی کار میکند و فقط زمانی که آن را پابلیش میدهید، در زمان اجرا با خطا مواجه میشود. یکی از قابلیتهای خو...
برای یکی از پروژه های شخصی که میخواستم داخل github page هم منتشر کنم، با مشکل پیدا نشدن فایل های استاتیک و خطای 404 روبرو میشدم با توجه به اینکه قبلا هم برا...
یکی از دستورات مفیدی که در SQL Server وجود داره، دستوری به اسم merge هست که کاربردهای مفید زیادی داره. مثلا وقتی میخواید اطلاعات یه جدول رو با جدول دیگه ای س...
اگه داخل پروژه های Open Source که داخل گیتهاب منتشر شدن، شرکت میکنید، یکی از اولین مشکل هایی که باهاش روبرو میشید، آپدیت کردن پروژه فرک شده از پروژه اصلی هست...
برای اطمینان بیشتر از اینکه در یک Pull Request تمام موارد مهم بررسی شدهاند، میتوانید یک CheckList به توضیحات آن اضافه کنید تا افراد قبل از زدن پولریکوست آ...
اگه داخل پروژه های Open Source که داخل گیتهاب منتشر شدن، شرکت میکنید، یکی از اولین مشکل هایی که باهاش روبرو میشید، آپدیت کردن پروژه فرک شده از پروژه اصلی هست...
یکی از سریعترین کتابخانه ها برای Serializer Json کتابخانهای به اسم Utf8Json است که البته ورژن جدیدتر آن MessagePack است که جایگزین قبلی شده است. طبق تستها...
در قسمتی از پروژه ای که در حال نوشتن بودم و میخواستیم Fail Over رو بر روی قسمتی از سیستم پیاده سازی کنیم تا سیستم بصورت اتومات بتونه بعد از به خطا خوردن و یا...
اگر از محصولات شرکت Jetbrains مانند Rider برای کدنویسی فرانت استفاده میکنید، احتمالا با مشکل طول کشیدن Index شدن پروژه و همچنین آمدن موارد Package ها در بخ...
توی تغییری که لازم بود در دیتابیس بدیم، نیاز بود که یه ستون جدید به جدول اضافه بشه که مقدارش GUID بود پس نوعش رو Unique در نظر گرفته بودیم این فیلد میتونست...
یکی از مشکلاتی که خیلی وقت من رو گرفت، مشکل سیاه شدن صفحه بعد از روشن شدن یا بعد از حالت sleep یا suspend بود تقریبا بیشتر راه هایی که داخل اینترنت بود رو ا...
یکی از مشکلاتی که در لینوکس افراد باهاش روبرو میشن، مشکل درایور کارت گرافیک هستش. در بیشتر مواقع مشکل خاصی نیست ولی اگه مثل من از لپ تاپ با دو تا کارت گرافی...
Github دارای API های مختلف برای راحتسازی کارها است. فرض کنید میخواهید لیست پروژههایی که به آنها stars دادهاید را بصورت یک لیست داشته باشید.
بعضی مواقع نیاز هست تا اطلاعات یک پروژه در گیتهاب رو بدست آورد. بطور مثلا قبل از clone کردن یک پروژه میخوایم حجم کل پروژه رو بدست بیاریم روش انجام این کار ...
یکی از کتابخانههای مناسب برای نوشتن Integration Test در Net core کتابخانه Testcontainers است. توسط این کتابخانه میتوانید به راحتی از سرویس استفاده کننده ما...
برای نصب و استفاده از دیتابیس Redis در ویندوز راه های مختلفی وجود داره که راحت ترین اونها استفاده از داکر هستش دلیل این کار هم این هست که ردیس بصورت مستقیم ف...
گاهی مواقع نیاز دارید تا در زبانهای برنامه نویسی بطور مثال سیشارپ یک مدل را به مدل دیگری تبدیل کنید. یکی از پلاگینهایی که این کار را راحت میکند AutoMappe...
گاهی مواقع به پاک سازی یا پیدا کردن آیتم های خاصی در یک فایل نیاز هست بطور مثال میخواید تمام style ها رو از یک فایل html پاک کنید. اگه فایل هم حجم زیادی داشت...
گاهی مواقع یک فایل را به اشتباه پاک میکنید و یا نیاز دارید بدانید یک فایل در چه زمانی پاک شده و محتویات آن نیز چه بوده است. در این مواقع اگر از گیت استفاده ...
بعضی مواقع اتفاق میافته که یه فایل رو اشتباه داخل Git کامیت میکنید یا بنا به دلایلی میخواید فایل خاصی رو از تاریخچه گیت پاک کنید برای انجام این کار ابتدا بای...
در تکنولوژیهای قدیمی مانند wcf اگر بخواهید به یک متود که خروجی آن زیاد است ریکوست بزنید، با خطا زیر مواجه میشود.
یک از مشکلاتی که wcf داره، عدم امکان فراخوانی ساده اون داخل مرورگر،شبیه به rest api هست. هرچند که تکنولوژی wcf قدیمی شده اما بعضی مواقع نیاز به استفاده از او...
گاهی مواقع در SP های نوشته شده شما نیاز به دریافت یک لیست دارید. بطور مثال میخواهید فقط مطالبی که در چند دسته بندی خاص هستند را دریافت کنید. برای این کار میت...
گاهی مواقع در زمان نوشتن یک SP در دیتابیس شما نیاز به استفاده از یک پارامتر ورودی دارید که مقدار Null نیز میتواند داشته باشد و از این متغیر میخواید در قسمت w...
از ابزارهای خوبی که برای Trace سیستم وجود دارد میتوان به APM اشاره کرد. یکی از مشکلاتی که UI این ابزار در Kibana وجود دارد، کامل نبودن بخش Search آن است. بط...
با بزرگ شدن پروژه و گسترش اون، به تبع اطلاعات بدست اومده بصورت نمایی زیاد میشه و دیگه با ابزارهای قبلی نمیشه این حجم از اطلاعات رو پردازش کرد. بطور مثال اگه ...
قبلا در مطلبی دیزاین پترن Singleton معرفی شده بود:
یکی از دیزاین پترن هایی که کاربرد زیادی در برنامه نویسی داره، دیزاین پترن Singleton هستش. این پترن زمان هایی کاربرد داره که ما فقط به یه Instance از کلاس دار...
یکی از انواع Dependency LifeTime که در .net Core وجود دارد Scoped است که در طول یک Request Web معتبر است. فرض کنید میخواهید این طول عمر را خودتان شبیه سازی ...
یکی از دیزاین پترن هایی که کاربرد زیادی در برنامه نویسی داره، دیزاین پترن Singleton هستش. این پترن زمان هایی کاربرد داره که ما فقط به یه Instance از کلاس دار...
بصورت پیشفرض در حالت AutoComplete نرم افزار DataGrip اسکیما جدول مورد نظر اضافه نمیشود و در صورت زدن کلید Tab فقط جدول مورد نظر اضافه میشود.
اسکیما در دیتابیس ها یک شی دربرگیرنده دیگر شیء ها است که بیشتر برای مرتب سازی جداول و دیگر اشیا استفاده میشود. گاهی مواقع نیاز دارید تا اسکیما جدولی را که ا...
یکی از کتابخانه هایی که کار تبدیل مدل ها در برنامه نویسی را راحت میکند، کتابخانه Automapper است که با استفاده از آن دیگر لازم نیست Atribute های یک مدل را بص...
یکی از کتابخانه های کاربردی در .net کتابخانه Automapper است که در زمان های مپ کردن دیتا کاربرد فراوان دارد. روش استفاده پیشفرض از این کتابخانه بصورت زیر است ...
یکی از کتابخانه هایی که کار تبدیل مدل ها در برنامه نویسی را راحت میکند، کتابخانه Automapper است که با استفاده از آن دیگر لازم نیست Atribute های یک مدل را بص...
در زبان برنامه نویسی .net کالکشن های مختلفی وجود دارد که دارای کاربردهای متفاوت هستند و استفاده درست از آنها، باعث جلوگیری از به وقوع پیوستن مشکلات در آینده ...
توسط کوئری زیر میتوانید مواردی که در یک جدول بیشتر از یکبار تکرار شدهاند را پیدا کنید. ابتدا توسط Group By مواردی که میخواهیم تکراری بودن را بر روی آنها ت...
این دستور شبیه به WHERE عمل میکند با این تفاوت که دستور HAVING میتواند همراه با aggregate functions استفاده شود. این دستور بیشتر مواقع همراه با GROUP BY اس...
اگر در دیتابیس خود جدولی دارید که ستون آن Identity نیست و باید بصورت دستی وارد شود، برای فعال کردن این قابلیت در EntityFrameWork کافی است موارد زیر را به کان...
یکی از مواردی که در زمان طراحی دیتابیس باید رعایت شود، بحث نامگذاری درست آیتمها است. بصورت پیشفرض SQL SERVER نامهای پیشفرض بطور مثال برای کلید داخلی، کلی...
بصورت پیشفرض در صورتی که از Bulk در دیتابیس استفاده کنید، Constraint جدول مورد نظر قبل از عمل Insert پاک شده و پس از اتمام بصورت اتومات ساخته میشوند. پس با...
یکی از مواردی که در زمان طراحی دیتابیس باید رعایت شود، بحث نامگذاری درست آیتمها است. بصورت پیشفرض SQL SERVER نامهای پیشفرض بطور مثال برای کلید داخلی، کلی...
در صورتی که در Google Sheet نیاز داشتید در صورت Add/Update/Delete متوجه تغییرات بشوید کافی است از اسکریپت زیر استفاده کنید. بدین منظور از سربرگ Extensions گز...
فرض کنید موارد استفاده از سرویسهایی که دارید را میخواهید در یک پروژه بزرگ پیدا کنید که این پروژه خود شامل زیرپروژه های مختلف است. جستجو عادی به ازای هر سرو...
اگر پروژه Net Core خود را بروی Docker Container از نوع Linux هاست کرده باشید، به احتمال زیاد با این مشکل مواجه میشوید که زمانی که در کد خود استفاده میکنید ...
در صورتی که از Dapper برای پاس دادن مقادیر DateTime2 به دیتابیس و یا فراخوانی SP استفاده میکنید، حواستان باشد که Dapper بصورت پیشفرض مقدار Millisecond را د...
گاهی مواقع که نیاز به انتقال فایلهای پروژه و یا فشرده سازی آنها است، برای کاهش حجم پاک کردن فولدرهای bin و obj از حجم نهایی میکاهد. توسط کد زیر میتوانید ا...
توسط کامپایلر C# که با عنوان Roslyn بازنویسی شده است. قابلیت افزونهپذیری به آن اضافه شده است که به شما قابلیت بررسی بیشتر کدها در زمان کامپایل و صادر کردن خ...
گاهی مواقع که نیاز به انتقال فایلهای پروژه و یا فشرده سازی آنها است، برای کاهش حجم پاک کردن فولدرهای bin و obj از حجم نهایی میکاهد. توسط کد زیر میتوانید ا...
توسط کامپایلر C# که با عنوان Roslyn بازنویسی شده است. قابلیت افزونهپذیری به آن اضافه شده است که به شما قابلیت بررسی بیشتر کدها در زمان کامپایل و صادر کردن خ...
بصورت پیش فرض امکان استفاده از شرط IF در بخش WHERE یک کوئری وجود ندارد و اگر نیاز به بررسی شرط در حالتهای مختلف داشتید، باید از ترفندهای مختلف استفاده کنید....
فرض کنید 2 جدول دارید که میخواهید اطلاعات یکی از آنها را با توجه به جدول دوم آپدیت کنید. یا به زبان دیگر این 2 جدول با یکدیگر کلید خارجی دارند و میخواهید ف...
بصورت پیش فرض امکان استفاده از شرط IF در بخش WHERE یک کوئری وجود ندارد و اگر نیاز به بررسی شرط در حالتهای مختلف داشتید، باید از ترفندهای مختلف استفاده کنید....
فرض کنید 2 جدول دارید که میخواهید اطلاعات یکی از آنها را با توجه به جدول دوم آپدیت کنید. یا به زبان دیگر این 2 جدول با یکدیگر کلید خارجی دارند و میخواهید ف...
بصورت پیش فرض امکان استفاده از شرط IF در بخش WHERE یک کوئری وجود ندارد و اگر نیاز به بررسی شرط در حالتهای مختلف داشتید، باید از ترفندهای مختلف استفاده کنید....
فرض کنید 2 جدول دارید که میخواهید اطلاعات یکی از آنها را با توجه به جدول دوم آپدیت کنید. یا به زبان دیگر این 2 جدول با یکدیگر کلید خارجی دارند و میخواهید ف...
اگر از محصولات شرکت Jetbrains مانند Rider برای کدنویسی فرانت استفاده میکنید، احتمالا با مشکل طول کشیدن Index شدن پروژه و همچنین آمدن موارد Package ها در بخ...
یکی از ابزارهای خوب که جدیدا معرفی شده است و توسط هوش مصنوعی کدزنی را بسیار آسانتر میکند، ابزاری به اسم copilot است که توسط github ارائه شده که بر پایه AI ب...
یکی از موارد کاربردی در DataGrip بخش Live Template میباشد که توسط آن میتوانید یک کلید خاص تعریف کنید تا با نوشتن آن بقیه موارد بصورت خودکار نوشته شود. بطور...
بصورت پیشفرض در حالت AutoComplete نرم افزار DataGrip اسکیما جدول مورد نظر اضافه نمیشود و در صورت زدن کلید Tab فقط جدول مورد نظر اضافه میشود.
یکی از سایتهای خوب برای گوش دادن به آهنگ، سایت اسپاتیفای است. در نسخه رایگان این سایت بعد از هر چند آهنگ چند دقیقه تبلیغات پخش میشود. اگر میخواهید این تبل...
یکی از بهترین افزونهها برای مسدود کردن تبلیغات در مرورگرهای مختلف مانند Chrome و Edge افزونه UBlock است که امتیازهای بالاتری نسبت به AdBlock هم دارد و بهتر ...
یکی از سایتهای خوب برای گوش دادن به آهنگ، سایت اسپاتیفای است. در نسخه رایگان این سایت بعد از هر چند آهنگ چند دقیقه تبلیغات پخش میشود. اگر میخواهید این تبل...
یکی از بهترین افزونهها برای مسدود کردن تبلیغات در مرورگرهای مختلف مانند Chrome و Edge افزونه UBlock است که امتیازهای بالاتری نسبت به AdBlock هم دارد و بهتر ...
یکی از پروژههای خوب که برای پیاده سازی Api GateWay وجود دارد، پروژه Ocelot است که تقریبا تمام امکانات مورد نیاز شما را فراهم میکند.
اگر پروژه شما دارای فایل web.config است و برای محیطهای مختلف آن فایلی مانند web.Prod.config تعریف کردهاید و همچنین از Azure PipeLine برای CI/CD استفاده می...
یکی از موارد مهم که در استفاده از کافکا باید به آن دقت کرد، کانفیگ اولیه اتصال به آن است که جلوی بسیاری از مشکلات آینده را میگیرد. در این بخش این کانفیگها ...
فرض کنید که در سیستم خود از RabbitMQ برای ارتباط بین سیستمها استفاده میکنید و در قسمتی چند Consumer دارید که پیامها را از روی یک صف میخواند. اگر تعدادی پ...
بصورت پیشفرض خطاهای دیتابیسی از نوع DbUpdateException بازگردانده میشوند. اگر نیاز دارید که جزئیات خطا را متوجه شوید تا بتوانید در رابطه با آن تصمیم بگیرید ...
یکی از خوبیهای استفاده از EntityFrameworkCore در برنامه این است که بدون نیاز به تغییر خاصی در کد و با کمترین کار میتوانید دیتابیس سیستم خود را تغییر دهید و...
یکی از کتابخانههای مناسب برای نوشتن Integration Test در Net core کتابخانه Testcontainers است. توسط این کتابخانه میتوانید به راحتی از سرویس استفاده کننده ما...
اگر پروژه Net Core خود را بروی Docker Container از نوع Linux هاست کرده باشید، به احتمال زیاد با این مشکل مواجه میشوید که زمانی که در کد خود استفاده میکنید ...
در تستهای IntegrationTest در مواقعی که نیاز دارید ارتباط با دیتابیس را بررسی کنید در زمانهایی که نیاز به تغییر ConnectionString وجود دارد توسط کد زیر میتو...
در زمان نوشتن تستها بعضی مواقع امکان بررسی اینکه متود خطا برمیگرداند وجود ندارد و فقط در داخل خود متود لاگ زده میشود. بطور مثال در سناریوهایی که پیامها ا...
توسط کتابخانه Testcontainers به راحتی میتوانید یک نسخه از بیشتر موارد مثل Redis, Sql, Kafka, RabbitMQ را بالا بیاورید و پروژه نوشته شده را تست کنید تا از کا...
بعضی مواقع بطور مثال در زمان نوشتن Integration Test نیاز است بدون اینکه دیتا را در جدولی که به آن کلید خارجی داریم Insert کنیم، فقط در جدلی که به آن نیاز هست...
یکی از موارد مهم که در استفاده از کافکا باید به آن دقت کرد، کانفیگ اولیه اتصال به آن است که جلوی بسیاری از مشکلات آینده را میگیرد. در این بخش این کانفیگها ...
توسط کتابخانه Testcontainers به راحتی میتوانید یک نسخه از بیشتر موارد مثل Redis, Sql, Kafka, RabbitMQ را بالا بیاورید و پروژه نوشته شده را تست کنید تا از کا...
در صورتی که از Nginx استفاده کرده باشید و در داخل آن از proxy برای انتقال درخواستها به آدرس دیگر استفاده شده باشد، مقدار X-Forwarded-For در این حالت بطور پی...
فرض کنید پروژه Angular خود را در سروری با اسم st-server-s2 هاست کردهاید و در داخل این پروژه چند api از سرور دیگری با اسم st-backend-s2 فراخوانی میکنید. دست...
این اولین مطلب من هست و مقدمه ای بر مطالبی هست که قراره در آینده بنویسم، در این وبلاگ قراره درباره مشکلات و چالش هایی که در زمان کار باهاشون روبرو میشم رو بن...
یکی از مشکلاتی که افراد در زمان کار با http client در زبان برنامه نویسی .net مواجه می شوند، سخت بودن نسبی مدیریت آن و همچنین نیاز به نوشتن کدهای زیاد برای کا...
یکی از مشکلاتی که افراد در زمان کار با http client در زبان برنامه نویسی .net مواجه می شوند، سخت بودن نسبی مدیریت آن و همچنین نیاز به نوشتن کدهای زیاد برای کا...
در یکی از پروژ هایی که در حال انجامشون بودم، در قسمتی نیاز به استفاده از یک سرویس بصورت زیر بود:
در یکی از پروژ هایی که در حال انجامشون بودم، در قسمتی نیاز به استفاده از یک سرویس بصورت زیر بود:
برای یکی از پروژه های شخصی که میخواستم داخل github page هم منتشر کنم، با مشکل پیدا نشدن فایل های استاتیک و خطای 404 روبرو میشدم با توجه به اینکه قبلا هم برا...
یکی از امکاناتی که گیتهاب در اختیار برنامه نویسان قرار میده، امکان ایجاد یک سایت رایگان با دامنه شخصی هستش، بطور مثال: mhkarami97.github.io که قسمت اول اون...
یکی از امکاناتی که گیتهاب در اختیار برنامه نویسان قرار میده، امکان ایجاد یک سایت رایگان با دامنه شخصی هستش، بطور مثال: mhkarami97.github.io که قسمت اول اون...
یکی از امکاناتی که گیتهاب در اختیار برنامه نویسان قرار میده، امکان ایجاد یک سایت رایگان با دامنه شخصی هستش، بطور مثال: mhkarami97.github.io که قسمت اول اون...
در یکی از پروژه هایی که با فریم ورک Vuejs در حال نوشتن بودم و نیاز بود تا یک تم html به vue تبدیل شود، نیاز داشتم تا فایل های js قالب رو داخل پروژه استفاده ک...
در یکی از پروژه هایی که با فریم ورک Vuejs در حال نوشتن بودم و نیاز بود تا یک تم html به vue تبدیل شود، نیاز داشتم تا فایل های js قالب رو داخل پروژه استفاده ک...
اگه داخل پروژه های Open Source که داخل گیتهاب منتشر شدن، شرکت میکنید، یکی از اولین مشکل هایی که باهاش روبرو میشید، آپدیت کردن پروژه فرک شده از پروژه اصلی هست...
در پروژه ای که مدتی پیش روش کار میکرد، نیاز به وارد کردن دیتا تست زیادی بود که بعد از انجام پروژه هم پاک شدن، بعد از انجام پروژه متوجه شدن حجم درایو C خیلی ک...
شروع سیستم بورس اطلاعات رو در بستر Socket به کارگزارها ارسال میکنه یکی از این اطلاعات که مقدار ریت بالایی هم داره، سرخط های بازار هست که افراد معمولی فقط 5 ...
شروع سیستم بورس اطلاعات رو در بستر Socket به کارگزارها ارسال میکنه یکی از این اطلاعات که مقدار ریت بالایی هم داره، سرخط های بازار هست که افراد معمولی فقط 5 ...
آخرین مشکلی که باهاش روبرو شدم و یه مدتی وقتم رو گرفت، مشکلی با این مضمون بود که وقتی توسط تگ select در html مقدارش تو فایل ts نمیومد نمونه کدی که استفاده ک...
آخرین مشکلی که باهاش روبرو شدم و یه مدتی وقتم رو گرفت، مشکلی با این مضمون بود که وقتی توسط تگ select در html مقدارش تو فایل ts نمیومد نمونه کدی که استفاده ک...
در قسمتی از پروژه ای که در حال نوشتن بودم و میخواستیم Fail Over رو بر روی قسمتی از سیستم پیاده سازی کنیم تا سیستم بصورت اتومات بتونه بعد از به خطا خوردن و یا...
در قسمتی از پروژه ای که در حال نوشتن بودم و میخواستیم Fail Over رو بر روی قسمتی از سیستم پیاده سازی کنیم تا سیستم بصورت اتومات بتونه بعد از به خطا خوردن و یا...
توی تغییری که لازم بود در دیتابیس بدیم، نیاز بود که یه ستون جدید به جدول اضافه بشه که مقدارش GUID بود پس نوعش رو Unique در نظر گرفته بودیم این فیلد میتونست...
اگه قسمت قبل رو مطالعه کرده باشید، اطلاع دارید که ما تونستیم لینوکس رو کامل نصب کنیم از کارهایی که بعد از نصب هر سیستم عاملی نیاز هست، نصب نرم افزارهای مورد...
وقتی از چندتا سیستم عامل استفاده میکنید، در زمان روشن کردن سیستم صفحه ای نشون داده میشه تا بتونید سیستم عامل خودتون رو انتخاب کنید بطور پیش فرض این صفحه ظاه...
اگه میخواستید برای صفحه ورود لینوکس که بطور پیشفرض در اوبونتو رنگ بنفش داره، عکس یا رنگ دیگه ای قرار بدید، میتونید آموزش زیر رو دنبال کنید اول از همه پکیج ز...
اگه میخواستید برای صفحه ورود لینوکس که بطور پیشفرض در اوبونتو رنگ بنفش داره، عکس یا رنگ دیگه ای قرار بدید، میتونید آموزش زیر رو دنبال کنید اول از همه پکیج ز...
اگه میخواستید برای صفحه ورود لینوکس که بطور پیشفرض در اوبونتو رنگ بنفش داره، عکس یا رنگ دیگه ای قرار بدید، میتونید آموزش زیر رو دنبال کنید اول از همه پکیج ز...
یکی از مشکلاتی که خیلی وقت من رو گرفت، مشکل سیاه شدن صفحه بعد از روشن شدن یا بعد از حالت sleep یا suspend بود تقریبا بیشتر راه هایی که داخل اینترنت بود رو ا...
یکی از مشکلاتی که خیلی وقت من رو گرفت، مشکل سیاه شدن صفحه بعد از روشن شدن یا بعد از حالت sleep یا suspend بود تقریبا بیشتر راه هایی که داخل اینترنت بود رو ا...
یکی از مشکلاتی که خیلی وقت من رو گرفت، مشکل سیاه شدن صفحه بعد از روشن شدن یا بعد از حالت sleep یا suspend بود تقریبا بیشتر راه هایی که داخل اینترنت بود رو ا...
یکی از خوبی های لینوکس این هست که دستتون برای شخصی سازی خیلی باز هست بطور مثال برای نرم افزار VLC چون صفحه لپ تاپ 4K بود، از تم هایی که خودش داشت نمیتونستم ...
یکی از خوبی های لینوکس این هست که دستتون برای شخصی سازی خیلی باز هست بطور مثال برای نرم افزار VLC چون صفحه لپ تاپ 4K بود، از تم هایی که خودش داشت نمیتونستم ...
یکی از خوبی های لینوکس این هست که دستتون برای شخصی سازی خیلی باز هست بطور مثال برای نرم افزار VLC چون صفحه لپ تاپ 4K بود، از تم هایی که خودش داشت نمیتونستم ...
داده های هم شکل و مشابه، در زمان ویرایش یا ذخیره سازی، با کارایی بیشتری قالب مدیریت هستند. در زبان .net و دیگر زبان های برنامه نویسی، کالکشن یا مجموعه های مخ...
داده های هم شکل و مشابه، در زمان ویرایش یا ذخیره سازی، با کارایی بیشتری قالب مدیریت هستند. در زبان .net و دیگر زبان های برنامه نویسی، کالکشن یا مجموعه های مخ...
داده های هم شکل و مشابه، در زمان ویرایش یا ذخیره سازی، با کارایی بیشتری قالب مدیریت هستند. در زبان .net و دیگر زبان های برنامه نویسی، کالکشن یا مجموعه های مخ...
برای نصب و استفاده از دیتابیس Redis در ویندوز راه های مختلفی وجود داره که راحت ترین اونها استفاده از داکر هستش دلیل این کار هم این هست که ردیس بصورت مستقیم ف...
گاهی مواقع به پاک سازی یا پیدا کردن آیتم های خاصی در یک فایل نیاز هست بطور مثال میخواید تمام style ها رو از یک فایل html پاک کنید. اگه فایل هم حجم زیادی داشت...
گاهی مواقع به پاک سازی یا پیدا کردن آیتم های خاصی در یک فایل نیاز هست بطور مثال میخواید تمام style ها رو از یک فایل html پاک کنید. اگه فایل هم حجم زیادی داشت...
بعضی مواقع اتفاق میافته که یه فایل رو اشتباه داخل Git کامیت میکنید یا بنا به دلایلی میخواید فایل خاصی رو از تاریخچه گیت پاک کنید برای انجام این کار ابتدا بای...
یک از مشکلاتی که wcf داره، عدم امکان فراخوانی ساده اون داخل مرورگر،شبیه به rest api هست. هرچند که تکنولوژی wcf قدیمی شده اما بعضی مواقع نیاز به استفاده از او...
یک از مشکلاتی که wcf داره، عدم امکان فراخوانی ساده اون داخل مرورگر،شبیه به rest api هست. هرچند که تکنولوژی wcf قدیمی شده اما بعضی مواقع نیاز به استفاده از او...
کاهی مواقع برای دیباگ کردن برنامه های نوشته نیاز به دانستن تمام ترافیک عبوری از سیستم هست. یکی از ابزارهایی که برای این کار استفاده میشه Fiddler هست که به شم...
کاهی مواقع برای دیباگ کردن برنامه های نوشته نیاز به دانستن تمام ترافیک عبوری از سیستم هست. یکی از ابزارهایی که برای این کار استفاده میشه Fiddler هست که به شم...
کاهی مواقع برای دیباگ کردن برنامه های نوشته نیاز به دانستن تمام ترافیک عبوری از سیستم هست. یکی از ابزارهایی که برای این کار استفاده میشه Fiddler هست که به شم...
یکی از دستورات مفیدی که در SQL Server وجود داره، دستوری به اسم merge هست که کاربردهای مفید زیادی داره. مثلا وقتی میخواید اطلاعات یه جدول رو با جدول دیگه ای س...
گاهی مواقع در SP های نوشته شده شما نیاز به دریافت یک لیست دارید. بطور مثال میخواهید فقط مطالبی که در چند دسته بندی خاص هستند را دریافت کنید. برای این کار میت...
یکی از کتابخانه های خوب برای نوشتن سرویس GRPC کتابخونه ای با اسم protobuf-net.Grpc هست که قابلیت Code First رو به شما میده و لازم نیست اول فایل proto رو بساز...
یکی از کتابخانه های خوب برای نوشتن سرویس GRPC کتابخونه ای با اسم protobuf-net.Grpc هست که قابلیت Code First رو به شما میده و لازم نیست اول فایل proto رو بساز...
یکی از کتابخانه های خوب برای نوشتن سرویس GRPC کتابخونه ای با اسم protobuf-net.Grpc هست که قابلیت Code First رو به شما میده و لازم نیست اول فایل proto رو بساز...
یکی از کتابخانه های خوب برای نوشتن سرویس GRPC کتابخونه ای با اسم protobuf-net.Grpc هست که قابلیت Code First رو به شما میده و لازم نیست اول فایل proto رو بساز...
یکی از افزونه های خوبی که برای مروگرهای بر پایه Chromium وجود داره، افزونه Dark Reader هستش. با استفاده از این افزونه میتونید تم تاریک رو در داخل همه سایت ها...
یکی از افزونه های خوبی که برای مروگرهای بر پایه Chromium وجود داره، افزونه Dark Reader هستش. با استفاده از این افزونه میتونید تم تاریک رو در داخل همه سایت ها...
با بزرگ شدن پروژه و گسترش اون، به تبع اطلاعات بدست اومده بصورت نمایی زیاد میشه و دیگه با ابزارهای قبلی نمیشه این حجم از اطلاعات رو پردازش کرد. بطور مثال اگه ...
با بزرگ شدن پروژه و گسترش اون، به تبع اطلاعات بدست اومده بصورت نمایی زیاد میشه و دیگه با ابزارهای قبلی نمیشه این حجم از اطلاعات رو پردازش کرد. بطور مثال اگه ...
با بزرگ شدن پروژه و گسترش اون، به تبع اطلاعات بدست اومده بصورت نمایی زیاد میشه و دیگه با ابزارهای قبلی نمیشه این حجم از اطلاعات رو پردازش کرد. بطور مثال اگه ...
یکی از ابزارهای خوب ماکروسافت برای مدیریت سرورها، ابزاری به اسم Windows Admin Center هستش، توسط این ابزار میتونید سرورهای مختلف روی شبکه رو کنترل کنید و حتی ...
یکی از ابزارهای خوب ماکروسافت برای مدیریت سرورها، ابزاری به اسم Windows Admin Center هستش، توسط این ابزار میتونید سرورهای مختلف روی شبکه رو کنترل کنید و حتی ...
یکی از ابزارهای خوب ماکروسافت برای مدیریت سرورها، ابزاری به اسم Windows Admin Center هستش، توسط این ابزار میتونید سرورهای مختلف روی شبکه رو کنترل کنید و حتی ...
یکی از ابزارهای خوب ماکروسافت برای مدیریت سرورها، ابزاری به اسم Windows Admin Center هستش، توسط این ابزار میتونید سرورهای مختلف روی شبکه رو کنترل کنید و حتی ...
یکی از کتابخونه های خیلی خوب برای لاگ کردن، کتابخونه ای به اسم serilog هستش. توسط این کتابخونه تقریبا میتونید تمام کارهایی که مربوط به لاگ کردن هستش رو انجام...
یکی از الگوهای طراحی که در برنامه نویسی کاربرد داره، الگویی با اسم Chain Of Responsibility هستش. این الگو در زمان هایی کاربرد داره که یک سری عملیات رو بصورت...
این الگو در زمان هایی کاربرد دارد که شما یک کار را میخواهید انجام بدهید که بیشتر قسمت های آن یکسان است اما بعضی از قسمت های آن دارای تفاوت است.
یکی از تغییراتی که در ویندوز 10 ایجاد شد، معرفی استفاده از Fluent design بود که ظاهر ویندوز را نسبت به نسخه های قبلی تغییر زیادی داد. بیشتر نرم افزارهای منتش...
یکی از تغییراتی که در ویندوز 10 ایجاد شد، معرفی استفاده از Fluent design بود که ظاهر ویندوز را نسبت به نسخه های قبلی تغییر زیادی داد. بیشتر نرم افزارهای منتش...
یکی از ویژگی های خوب گیت هاب که استفاده زیادی داره و این سایت هم با استفاده از آن ساخته شده، فایل md یا markdown هست. توسط این قابلیت میتوانید فایل های متنی ...
یکی از ویژگی های خوب گیت هاب که استفاده زیادی داره و این سایت هم با استفاده از آن ساخته شده، فایل md یا markdown هست. توسط این قابلیت میتوانید فایل های متنی ...
یکی از امکانات جالبی که در git موجود هست که من هم تازه باهاش آشنا شدم، امکانی به اسم Submodules هست. این ویژگی به شما این امکان رو میده که کدهای خود رو به پر...
یکی از کتابخانه هایی که برای انتقال پیام بین سیستم های مختلف وجود دارد، Rabbitmq هست. یکی از قابلیت های مفید این Message Broker قابلیت Clustering هست که در ز...
یکی از کتابخانه هایی که برای انتقال پیام بین سیستم های مختلف وجود دارد، Rabbitmq هست. یکی از قابلیت های مفید این Message Broker قابلیت Clustering هست که در ز...
یکی از موارد مهم در زبان های برنامه نویسی بحث Transaction ها میباشد. در بعضی موارد تمام مواردی که میخواهید بصورت یک ترنزکشن انجام شوند، بر روی یک سیستم نیس...
یکی از موارد مهم در زبان های برنامه نویسی بحث Transaction ها میباشد. در بعضی موارد تمام مواردی که میخواهید بصورت یک ترنزکشن انجام شوند، بر روی یک سیستم نیس...
یکی از موارد مهم در زبان های برنامه نویسی بحث Transaction ها میباشد. در بعضی موارد تمام مواردی که میخواهید بصورت یک ترنزکشن انجام شوند، بر روی یک سیستم نیس...
یکی از موارد مهم در زبان های برنامه نویسی بحث Transaction ها میباشد. در بعضی موارد تمام مواردی که میخواهید بصورت یک ترنزکشن انجام شوند، بر روی یک سیستم نیس...
در بعضی مواقع شما نیاز دارید که فقط یک Commit را از یک Branch به یک Branch دیگر منتقل کنید و نمیخواهید تمام تغییرات آن برنچ را با برنچ خود Merge کنید. برای ...
یکی از امکانات خوب دیتابیس SQL Server امکان پاس دادن لیست به عنوان ورودی به یک stored procedure است که کار شما را برای مواقعی که نیاز به پاس دادن تعداد زیادی...
یکی از کتابخانه های کاربردی در .net کتابخانه Automapper است که در زمان های مپ کردن دیتا کاربرد فراوان دارد. روش استفاده پیشفرض از این کتابخانه بصورت زیر است ...
یکی از کتابخانه های کاربردی در .net کتابخانه Automapper است که در زمان های مپ کردن دیتا کاربرد فراوان دارد. روش استفاده پیشفرض از این کتابخانه بصورت زیر است ...
در زبان برنامه نویسی .net کالکشن های مختلفی وجود دارد که دارای کاربردهای متفاوت هستند و استفاده درست از آنها، باعث جلوگیری از به وقوع پیوستن مشکلات در آینده ...
در زبان برنامه نویسی .net کالکشن های مختلفی وجود دارد که دارای کاربردهای متفاوت هستند و استفاده درست از آنها، باعث جلوگیری از به وقوع پیوستن مشکلات در آینده ...
گاهی مواقع برای مواردی که بسیار کم تغییر میکنند و همچنین تعداد آنها نیز کم است، بجای استفاده از دیتابیس از Enum ها میتوان استفاده کرد. بطور مثال برای جنسیت...
گاهی مواقع برای مواردی که بسیار کم تغییر میکنند و همچنین تعداد آنها نیز کم است، بجای استفاده از دیتابیس از Enum ها میتوان استفاده کرد. بطور مثال برای جنسیت...
```sql CREATE TABLE Grades ( [Student] NVARCHAR(50), [Subject] NVARCHAR(50), [Marks] INT ) GO
یکی از ویژگیهایی که Entity Framework Core دارد، قابلیت لاگ کردن کوئری نهایی است که به دیتابیس ارسال میشود. توسط این امکان میتوانید حالت های مختلف را امتحا...
```c# using System; using System.Text;
برای انجام عملیات بر روی تمام آیتم های یک لیست، روش های مختلفی وجود دارد که تفاوت هایی با هم دارند. یکی از مهمترین موارد در زمانهایی است که شما میخواهید ی...
قبل از شروع این مطلب نیاز است که ابتدا با CROSS بیشتر آشنا شویم. روش استفاده از این نوع JOIN بصورت زیر است:
قبل از شروع این مطلب نیاز است که ابتدا با CROSS بیشتر آشنا شویم. روش استفاده از این نوع JOIN بصورت زیر است:
SELECT TOP 100 AVG(Quantity) AS Quantity, MAX(Price) AS Price FROM [dbo].Decision;
SELECT TOP 100 AVG(Quantity) AS Quantity, MAX(Price) AS Price FROM [dbo].Decision;
در دیتابیس فانکشنهای موجود به 2 صورت Scalar و Table-Value هستند که در این مطلب تفاوت آنها را بیان میکنیم.
در دیتابیس فانکشنهای موجود به 2 صورت Scalar و Table-Value هستند که در این مطلب تفاوت آنها را بیان میکنیم.
این دستور شبیه به WHERE عمل میکند با این تفاوت که دستور HAVING میتواند همراه با aggregate functions استفاده شود. این دستور بیشتر مواقع همراه با GROUP BY اس...
شی Synonym در دیتابیس در واقع یک نام جایگزین برای اشیا دیگر است که نکته مهم در آن این است که این شی میتواند در یک دیتابیس و حتی سرور دیگر باشد. پس با این ام...
شی Synonym در دیتابیس در واقع یک نام جایگزین برای اشیا دیگر است که نکته مهم در آن این است که این شی میتواند در یک دیتابیس و حتی سرور دیگر باشد. پس با این ام...
در زمان استفاده از SubQuery ها باید حواستان به قلمرو دید باشد. بصورت کلی تمام ستونهای جدول اول در بخش دو دردسترس نیست.
در زمان استفاده از SubQuery ها باید حواستان به قلمرو دید باشد. بصورت کلی تمام ستونهای جدول اول در بخش دو دردسترس نیست.
این دستور در واقع یک result set را از نوع موقت ایجاد میکند که به آن Common Table Expression یا CTE نیز میگویند. روش کلی استفاده از آن بصورت زیر است:
در این بخش از مجموعه آموزشهای طراحی سیستم، میخواهیم سایت bit.ly را که یک سایت کوتاه کننده لینک است را با یکدیگر مقایسه کنیم.
در این بخش از مجموعه آموزشهای طراحی سیستم، میخواهیم سایت bit.ly را که یک سایت کوتاه کننده لینک است را با یکدیگر مقایسه کنیم.
در این بخش از مجموعه آموزشهای طراحی سیستم، میخواهیم سایت bit.ly را که یک سایت کوتاه کننده لینک است را با یکدیگر مقایسه کنیم.
این تابع که از نوع Window Function است، برای دریافت اولین سطر در حالت Ordered Partition استفاده میشود.
گاهی مواقع نیاز است تا یک متغیر را توسط دستور SELECT مقداردهی کنید و از آن متغیر در کدهای خود استفاده کنید. راحت ترین راه کوئری زیر است که فقط یک مورد را مقد...
این دستور کوتاه شده X <= Id AND X >= Id2 است که برای برقرار شدن شرط بین دو مقدار کاربرد دارد. بطور مثال در مواردی که میخواهید یک گزارش بین دو تاریخ را...
گاهی مواقع یک فایل را به اشتباه پاک میکنید و یا نیاز دارید بدانید یک فایل در چه زمانی پاک شده و محتویات آن نیز چه بوده است. در این مواقع اگر از گیت استفاده ...
از ابزارهایی که برای مدیریت پروژه استفاده میشود، Git است که کاربردهای زیادی دارد. در زمانهایی که تعداد افرادی که بر روی یک پروژه کار میکنند زیاد میشود، ن...
از ابزارهایی که برای مدیریت پروژه استفاده میشود، Git است که کاربردهای زیادی دارد. در زمانهایی که تعداد افرادی که بر روی یک پروژه کار میکنند زیاد میشود، ن...
از ابزارهایی که برای مدیریت پروژه استفاده میشود، Git است که کاربردهای زیادی دارد. در زمانهایی که تعداد افرادی که بر روی یک پروژه کار میکنند زیاد میشود، ن...
از ابزارهایی که برای مدیریت پروژه استفاده میشود، Git است که کاربردهای زیادی دارد. در زمانهایی که تعداد افرادی که بر روی یک پروژه کار میکنند زیاد میشود، ن...
از ابزارهایی که برای مدیریت پروژه استفاده میشود، Git است که کاربردهای زیادی دارد. در زمانهایی که تعداد افرادی که بر روی یک پروژه کار میکنند زیاد میشود، ن...
از ابزارهایی که برای مدیریت پروژه استفاده میشود، Git است که کاربردهای زیادی دارد. در زمانهایی که تعداد افرادی که بر روی یک پروژه کار میکنند زیاد میشود، ن...
از ابزارهایی که برای مدیریت پروژه استفاده میشود، Git است که کاربردهای زیادی دارد. در زمانهایی که تعداد افرادی که بر روی یک پروژه کار میکنند زیاد میشود، ن...
یکی از مواردی که در زمان طراحی دیتابیس باید رعایت شود، بحث نامگذاری درست آیتمها است. بصورت پیشفرض SQL SERVER نامهای پیشفرض بطور مثال برای کلید داخلی، کلی...
بهینهسازی دیتابیس و کوئریها یکی از موارد مهم در دیتابیس است تا بتوان از منابع موجود بصورت بهینه استفاده کرد. یکی از روشها برای دانستن کوئریهای زمانبر بر...
فرض کنید که شما یک API از نوع GET دارید و میخواهید آن را در قسمتی از کد خود فراخوانی کنید. اما مقادیری که میخواهید به آن پاس بدهید در اتریبوتهای یک کلاس ذ...
فرض کنید که شما یک API از نوع GET دارید و میخواهید آن را در قسمتی از کد خود فراخوانی کنید. اما مقادیری که میخواهید به آن پاس بدهید در اتریبوتهای یک کلاس ذ...
از افزونههای خوب برای یادگیری زبان و ترجمه کلمات برای مروگرهای بر پایه chromium میتوان به E Joy اشاره کرد. توسط این افزونه تمام موارد مورد نیاز برای ترجمه ...
از افزونههای خوب برای یادگیری زبان و ترجمه کلمات برای مروگرهای بر پایه chromium میتوان به E Joy اشاره کرد. توسط این افزونه تمام موارد مورد نیاز برای ترجمه ...
از افزونههای خوب برای یادگیری زبان و ترجمه کلمات برای مروگرهای بر پایه chromium میتوان به E Joy اشاره کرد. توسط این افزونه تمام موارد مورد نیاز برای ترجمه ...
X = (sign) m * r^e
X = (sign) m * r^e
فرض کنید موارد استفاده از سرویسهایی که دارید را میخواهید در یک پروژه بزرگ پیدا کنید که این پروژه خود شامل زیرپروژه های مختلف است. جستجو عادی به ازای هر سرو...
در صورتی که میخواهید یک Enum را به یکی API که بصورت HTTPGET است، پاس بدهید، حواستان باشد که بصورت پیش فرض معتبر بودن ورودی آن بررسی نمیشود. بطور مثال کد زی...
در صورتی که میخواهید یک Enum را به یکی API که بصورت HTTPGET است، پاس بدهید، حواستان باشد که بصورت پیش فرض معتبر بودن ورودی آن بررسی نمیشود. بطور مثال کد زی...
نکته مهم : زمانی که نمیدانید با exception اتفاق افتاده چه کاری میتوانید بکنید، آن را catch نکنید متن بالا به این معنی است که اگر در متودی که بطور مثال برای...
نکته مهم : زمانی که نمیدانید با exception اتفاق افتاده چه کاری میتوانید بکنید، آن را catch نکنید متن بالا به این معنی است که اگر در متودی که بطور مثال برای...
روشهای مختلفی برای تزریق وابستگیها وجود دارد که در لینک زیر میتوانید درباره آنها مطالعه کنید:
روشهای مختلفی برای تزریق وابستگیها وجود دارد که در لینک زیر میتوانید درباره آنها مطالعه کنید:
روشهای مختلفی برای تزریق وابستگیها وجود دارد که در لینک زیر میتوانید درباره آنها مطالعه کنید:
یکی از قابلیتهای کاربردی در SQL Server امکانی با اسم CDC است که به شما قابلیت دانستن تغییرات بر روی یک جدول خاص را میدهد. فرض کنید در برنامهای که بصورت Mi...
یکی از قابلیتهای کاربردی در SQL Server امکانی با اسم CDC است که به شما قابلیت دانستن تغییرات بر روی یک جدول خاص را میدهد. فرض کنید در برنامهای که بصورت Mi...
از ویژگیهای خوب SQL Server وجود داشتن فانکشنها و آبجکتهای مختلف برای راحتسازی کارها است. بطور مثال دو شی زیر که از نوع Dynamic Management Views هستند، بر...
از ویژگیهای خوب SQL Server وجود داشتن فانکشنها و آبجکتهای مختلف برای راحتسازی کارها است. بطور مثال دو شی زیر که از نوع Dynamic Management Views هستند، بر...
از ویژگیهای خوب SQL Server وجود داشتن فانکشنها و آبجکتهای مختلف برای راحتسازی کارها است. بطور مثال دو شی زیر که از نوع Dynamic Management Views هستند، بر...
در یکی از بخشهای جدا سازی و حرکت به سوی ماکروسرویس، نیاز بود تا از صحت عملکرد سیستم اطمینان حاصل کنیم. برای این کار سورسهای سیستم را در یک سرور دیگر اجرا ک...
در یکی از بخشهای جدا سازی و حرکت به سوی ماکروسرویس، نیاز بود تا از صحت عملکرد سیستم اطمینان حاصل کنیم. برای این کار سورسهای سیستم را در یک سرور دیگر اجرا ک...
در یکی از بخشهای جدا سازی و حرکت به سوی ماکروسرویس، نیاز بود تا از صحت عملکرد سیستم اطمینان حاصل کنیم. برای این کار سورسهای سیستم را در یک سرور دیگر اجرا ک...
فرض کنید برنامهای که نوشتهاید در محیط لوکال به درستی کار میکند و فقط زمانی که آن را پابلیش میدهید، در زمان اجرا با خطا مواجه میشود. یکی از قابلیتهای خو...
فرض کنید برنامهای که نوشتهاید در محیط لوکال به درستی کار میکند و فقط زمانی که آن را پابلیش میدهید، در زمان اجرا با خطا مواجه میشود. یکی از قابلیتهای خو...
یکی از مشکلاتی که در زمان کار با Service ها در ویندوز ممکن است با آن روبرو شوید، Stop نشدن سرویس مورد نظر است. یکی از راههای سریع برای توقف سرویس مورد نظر ا...
یکی از مشکلاتی که در زمان کار با Service ها در ویندوز ممکن است با آن روبرو شوید، Stop نشدن سرویس مورد نظر است. یکی از راههای سریع برای توقف سرویس مورد نظر ا...
یکی از ابزارهای مفید برای چک کردن اتصال به دیتابیسی که در سرورهای دیگر قرار دارد، UDL یا Universal Data Link است که توسط آن حتی سطح دسترسی یوزر مورد نظر را ه...
در صورتی که از Dapper برای پاس دادن مقادیر DateTime2 به دیتابیس و یا فراخوانی SP استفاده میکنید، حواستان باشد که Dapper بصورت پیشفرض مقدار Millisecond را د...
آخرین بار که از طریق نرم افزار EaseUS Partition Master حجم درایو C را افزایش دادم، پس از ریست سیستم یک درایو جدید با نام Z هم به سیستم اضافه شده بود که امکان...
آخرین بار که از طریق نرم افزار EaseUS Partition Master حجم درایو C را افزایش دادم، پس از ریست سیستم یک درایو جدید با نام Z هم به سیستم اضافه شده بود که امکان...
آخرین بار که از طریق نرم افزار EaseUS Partition Master حجم درایو C را افزایش دادم، پس از ریست سیستم یک درایو جدید با نام Z هم به سیستم اضافه شده بود که امکان...
در .Net core با معرفی Minimal API, Controllers, Razor Pages, gRPC, Health checks و دیگر موارد، Route های سیستم افزایش پیدا کردهاند و با بزرگ شدن پروژه نیاز ...
در .Net core با معرفی Minimal API, Controllers, Razor Pages, gRPC, Health checks و دیگر موارد، Route های سیستم افزایش پیدا کردهاند و با بزرگ شدن پروژه نیاز ...
اگر نیاز داشتید که تمام سطرهای یک ستون خاص در دیتابیس را به صورت یک خروجی درآورید، شبیه به قابلیت Concat در زبان های برنامه نویسی، میتوانید از کوئری زیر است...
اگر نیاز داشتید که تمام سطرهای یک ستون خاص در دیتابیس را به صورت یک خروجی درآورید، شبیه به قابلیت Concat در زبان های برنامه نویسی، میتوانید از کوئری زیر است...
فرض کنید نیاز دارید که مقادیر مختلف را از یک List پاک کنید، البته با توجه به حالتهای مختلف پاک کردن این موارد متفاوت است. یکی از راهها استفاده از Func است ...
فرض کنید نیاز دارید که مقادیر مختلف را از یک List پاک کنید، البته با توجه به حالتهای مختلف پاک کردن این موارد متفاوت است. یکی از راهها استفاده از Func است ...
فرض کنید اینترنت محل کار شما قطع شده است و توسط آن فقط به موارد داخلش شبکه دسترسی دارید، از طرفی برای انجام کارهای خود نیاز به اینترنت خارج از شرکت هم دارید....
فرض کنید اینترنت محل کار شما قطع شده است و توسط آن فقط به موارد داخلش شبکه دسترسی دارید، از طرفی برای انجام کارهای خود نیاز به اینترنت خارج از شرکت هم دارید....
فرض کنید اینترنت محل کار شما قطع شده است و توسط آن فقط به موارد داخلش شبکه دسترسی دارید، از طرفی برای انجام کارهای خود نیاز به اینترنت خارج از شرکت هم دارید....
بصورت پیشفرض در صورتی که از Bulk در دیتابیس استفاده کنید، Constraint جدول مورد نظر قبل از عمل Insert پاک شده و پس از اتمام بصورت اتومات ساخته میشوند. پس با...
برای فراخوانی یک متود از نوع Task دو روش زیر را میتوان استفاده کرد که در این مطلب به توضیح تفاوت آنها میپردازیم. تفاوت اصلی این دو متود در انتشار خطا یا ex...
برای جلوگیری از استفاده تمام منابع cpu در زبانهای برنامهنویسی میتوان از تابع Thread.Sleep استفاده کرد که منابع را از ترد جاری میگیرد. این تابع ورودی یک ع...
در تکنولوژیهای قدیمی مانند wcf اگر بخواهید به یک متود که خروجی آن زیاد است ریکوست بزنید، با خطا زیر مواجه میشود.
در تکنولوژیهای قدیمی مانند wcf اگر بخواهید به یک متود که خروجی آن زیاد است ریکوست بزنید، با خطا زیر مواجه میشود.
فرض کنید برای دیباگ یا در دسترس بودن امکانات بیشتر یک Agent که با .Net Core نوشته شده است در حالت پابلیش شده میخواهید قسمتی به کد اضافه کنید. بطور مثال اگر ...
فرض کنید برای دیباگ یا در دسترس بودن امکانات بیشتر یک Agent که با .Net Core نوشته شده است در حالت پابلیش شده میخواهید قسمتی به کد اضافه کنید. بطور مثال اگر ...
یکی از ابزارهای خوب که جدیدا معرفی شده است و توسط هوش مصنوعی کدزنی را بسیار آسانتر میکند، ابزاری به اسم copilot است که توسط github ارائه شده که بر پایه AI ب...
یکی از ابزارهای خوب که جدیدا معرفی شده است و توسط هوش مصنوعی کدزنی را بسیار آسانتر میکند، ابزاری به اسم copilot است که توسط github ارائه شده که بر پایه AI ب...
در صورتی که نیاز داشتید تا لیست تمام نرم افزارهای نصب شده بر روی سیستم عامل ویندوز خود را بدست بیاورید، میتوانید از تکه کد زیر استفاده کنید.
با منتشر شدن ورژنهای جدیدتر .Net Core SDK / Runtime و نصب آنها بر روی سیستم، پس از مدتی حجم زیادی از درایو C اشغال میشود که دلیل آن باقی ماندن ورژنهای قدی...
گاهی مواقع نیاز است که خروجی کوئری شما با توجه به شرایط مختلف ترتیب متفاوتی داشته باشید. بطور مثال فرض کنید میخواهید لیست سفارشات بورس بر روی یک قسمت خاص را...
گاهی مواقع نیاز است که خروجی کوئری شما با توجه به شرایط مختلف ترتیب متفاوتی داشته باشید. بطور مثال فرض کنید میخواهید لیست سفارشات بورس بر روی یک قسمت خاص را...
گاهی مواقع نیاز است که خروجی کوئری شما با توجه به شرایط مختلف ترتیب متفاوتی داشته باشید. بطور مثال فرض کنید میخواهید لیست سفارشات بورس بر روی یک قسمت خاص را...
با نرمافزار زیر میتوانید جزئیات را مشاهده کنید. برای پیدا کردن Domain هم به بخش زیر بروید و بخش Full device name را مشاهده کنید.البته دقت کنید که بخش Devic...
یکی از نکاتی که در زبان C# در زمان استفاده از Round باید دقت کنید، تفاوت عملکرد اعدادی که به 5 ختم میشوند با دیگر زبانها یا Excel است. بطور مثال در اکسل عد...
یکی از نکاتی که در زبان C# در زمان استفاده از Round باید دقت کنید، تفاوت عملکرد اعدادی که به 5 ختم میشوند با دیگر زبانها یا Excel است. بطور مثال در اکسل عد...
در یکی از پروژهها نیاز به انتقال تمام اطلاعات جداول به دیتابیس جدید بود که در انجام این کار که در مطلب قبلی کلیات آن گفته شد به چند خطا هم برخورد کردیم. خطا...
در یکی از پروژهها نیاز به انتقال تمام اطلاعات جداول به دیتابیس جدید بود که در انجام این کار که در مطلب قبلی کلیات آن گفته شد به چند خطا هم برخورد کردیم. خطا...
در یکی از پروژههای شرکت نیاز به انتقال تمام دیتا دیتابیس به یک دیتابیس جدید بود. برای انجام این کار بعد از بررسی کوئریهای مختلف به کوئری زیر رسیدیم. از راه...
در یکی از پروژههای شرکت نیاز به انتقال تمام دیتا دیتابیس به یک دیتابیس جدید بود. برای انجام این کار بعد از بررسی کوئریهای مختلف به کوئری زیر رسیدیم. از راه...
فرض کنید در یک تراکنش بانکی نیاز دارید که در صورت به خطا خوردن بخشی از کد، تمام موارد انجام شده هم به حالت قبل برگردند. بطور مثال اگر انتقال پول به خطا خورد ...
یکی از قابلیتهای کاربردی RabbitMQ امکان ارسال پیامهای به خطا خورده به یک صف دیگر برای پردازش یا داشتن لاگ از پیامهای پردازش نشده است. بطور مثال فرض کنید پ...
گاهی مواقع نیاز دارید تا در زبانهای برنامه نویسی بطور مثال سیشارپ یک مدل را به مدل دیگری تبدیل کنید. یکی از پلاگینهایی که این کار را راحت میکند AutoMappe...
از کتابخانههایی که برای Tracing, Monitoring وجود دارد میتوان به OpenTelemetry و AppMetrics اشاره کرد. کتابخانه دوم طبق تجربه کاربرد بیشتری دارد و کار کردن ...
از کتابخانههایی که برای Tracing, Monitoring وجود دارد میتوان به OpenTelemetry و AppMetrics اشاره کرد. کتابخانه دوم طبق تجربه کاربرد بیشتری دارد و کار کردن ...
از کتابخانههایی که برای Tracing, Monitoring وجود دارد میتوان به OpenTelemetry و AppMetrics اشاره کرد. کتابخانه دوم طبق تجربه کاربرد بیشتری دارد و کار کردن ...
توسط کوئری زیر میتوانید مواردی که در یک جدول بیشتر از یکبار تکرار شدهاند را پیدا کنید. ابتدا توسط Group By مواردی که میخواهیم تکراری بودن را بر روی آنها ت...
برای تست در دسترس بودن یک Port خاص توسط سرور دیگر آسانترین راه استفاده از دستور telnet در CMD است که بصورت زیر میتوانید از آن استفاده کنید:
برای تست در دسترس بودن یک Port خاص توسط سرور دیگر آسانترین راه استفاده از دستور telnet در CMD است که بصورت زیر میتوانید از آن استفاده کنید:
برای تست در دسترس بودن یک Port خاص توسط سرور دیگر آسانترین راه استفاده از دستور telnet در CMD است که بصورت زیر میتوانید از آن استفاده کنید:
در محیط تست و سیستم Local اگر نیاز داشتید که CORS مرورگر را غیر فعال کنید میتوانید از دستور زیر برای اجرای آن استفاده کنید:
اگر در دیتابیس خود جدولی دارید که ستون آن Identity نیست و باید بصورت دستی وارد شود، برای فعال کردن این قابلیت در EntityFrameWork کافی است موارد زیر را به کان...
در یکی از مطالب قبلی وبلاگ چگونگی ارسال پیامها به DeadLetter آموزش داده شد:
در یکی از مطالب قبلی وبلاگ چگونگی ارسال پیامها به DeadLetter آموزش داده شد:
اگر پروژه شما دارای فایل web.config است و برای محیطهای مختلف آن فایلی مانند web.Prod.config تعریف کردهاید و همچنین از Azure PipeLine برای CI/CD استفاده می...
Github دارای API های مختلف برای راحتسازی کارها است. فرض کنید میخواهید لیست پروژههایی که به آنها stars دادهاید را بصورت یک لیست داشته باشید.
برای یکی از پروژههای شخصی نیاز به ویرایش فایل PSD توسط کد بود تا نیاز به ویرایش دستی آن فایل و خروجی گرفتن از آن نباشد. بدین منظور با کتابخانه Aspose.PSD آش...
برای یکی از پروژههای شخصی نیاز به ویرایش فایل PSD توسط کد بود تا نیاز به ویرایش دستی آن فایل و خروجی گرفتن از آن نباشد. بدین منظور با کتابخانه Aspose.PSD آش...
برای یکی از پروژههای شخصی نیاز به ویرایش فایل PSD توسط کد بود تا نیاز به ویرایش دستی آن فایل و خروجی گرفتن از آن نباشد. بدین منظور با کتابخانه Aspose.PSD آش...
یکی از پروژههای خوب که برای پیاده سازی Api GateWay وجود دارد، پروژه Ocelot است که تقریبا تمام امکانات مورد نیاز شما را فراهم میکند.
یکی از پروژههای خوب که برای پیاده سازی Api GateWay وجود دارد، پروژه Ocelot است که تقریبا تمام امکانات مورد نیاز شما را فراهم میکند.
اگر حریم خصوصی برای شما مهم است و دوست دارید شبکههای اجتماعی سایتهایی که مشاهده میکنید را ردیابی کنند، این افزونه کار شما را بسیار راحت میکند. همچنین توس...
اگر حریم خصوصی برای شما مهم است و دوست دارید شبکههای اجتماعی سایتهایی که مشاهده میکنید را ردیابی کنند، این افزونه کار شما را بسیار راحت میکند. همچنین توس...
اگر حریم خصوصی برای شما مهم است و دوست دارید شبکههای اجتماعی سایتهایی که مشاهده میکنید را ردیابی کنند، این افزونه کار شما را بسیار راحت میکند. همچنین توس...
اگر حریم خصوصی برای شما مهم است و دوست دارید شبکههای اجتماعی سایتهایی که مشاهده میکنید را ردیابی کنند، این افزونه کار شما را بسیار راحت میکند. همچنین توس...
اگر حریم خصوصی برای شما مهم است و دوست دارید شبکههای اجتماعی سایتهایی که مشاهده میکنید را ردیابی کنند، این افزونه کار شما را بسیار راحت میکند. همچنین توس...
یکی از سایتهای خوب برای گوش دادن به آهنگ، سایت اسپاتیفای است. در نسخه رایگان این سایت بعد از هر چند آهنگ چند دقیقه تبلیغات پخش میشود. اگر میخواهید این تبل...
یکی از سایتهای خوب برای گوش دادن به آهنگ، سایت اسپاتیفای است. در نسخه رایگان این سایت بعد از هر چند آهنگ چند دقیقه تبلیغات پخش میشود. اگر میخواهید این تبل...
یکی از انواع Dependency LifeTime که در .net Core وجود دارد Scoped است که در طول یک Request Web معتبر است. فرض کنید میخواهید این طول عمر را خودتان شبیه سازی ...
یکی از انواع Dependency LifeTime که در .net Core وجود دارد Scoped است که در طول یک Request Web معتبر است. فرض کنید میخواهید این طول عمر را خودتان شبیه سازی ...
یکی از انواع Dependency LifeTime که در .net Core وجود دارد Scoped است که در طول یک Request Web معتبر است. فرض کنید میخواهید این طول عمر را خودتان شبیه سازی ...
اگر در برنامه خود نیاز دارید که خطهای تکراری در یک فایل را پیدا کنید میتوانید از کد زیر استفاده کنید.
اگر در برنامه خود نیاز دارید که خطهای تکراری در یک فایل را پیدا کنید میتوانید از کد زیر استفاده کنید.
اگر در برنامه خود نیاز دارید که خطهای تکراری در یک فایل را پیدا کنید میتوانید از کد زیر استفاده کنید.
یکی از سریعترین کتابخانه ها برای Serializer Json کتابخانهای به اسم Utf8Json است که البته ورژن جدیدتر آن MessagePack است که جایگزین قبلی شده است. طبق تستها...
یکی از سریعترین کتابخانه ها برای Serializer Json کتابخانهای به اسم Utf8Json است که البته ورژن جدیدتر آن MessagePack است که جایگزین قبلی شده است. طبق تستها...
یکی از سریعترین کتابخانه ها برای Serializer Json کتابخانهای به اسم Utf8Json است که البته ورژن جدیدتر آن MessagePack است که جایگزین قبلی شده است. طبق تستها...
فرض کنید که در سیستم خود از RabbitMQ برای ارتباط بین سیستمها استفاده میکنید و در قسمتی چند Consumer دارید که پیامها را از روی یک صف میخواند. اگر تعدادی پ...
فرض کنید که در سیستم خود از RabbitMQ برای ارتباط بین سیستمها استفاده میکنید و در قسمتی چند Consumer دارید که پیامها را از روی یک صف میخواند. اگر تعدادی پ...
قبلا در مطلبی دیزاین پترن Singleton معرفی شده بود:
یکی از امکانات خوب گوگل برای مدیریت کارها، Google Task و Google Keep است که توسط آنها میتوانید راحتتر کارهای خود را مدیریت کنید. اگر قصد استفاده از نسخه وب...
یکی از امکانات خوب گوگل برای مدیریت کارها، Google Task و Google Keep است که توسط آنها میتوانید راحتتر کارهای خود را مدیریت کنید. اگر قصد استفاده از نسخه وب...
در صورتی که در کد خود کلاسی دارید که از IDisposable ارثبری کرده باشد :
```csharp using Utf8Json;
```csharp using Utf8Json;
Application Performance Monitoring یا به اختصار APM وظیفه نظارت بر کد شما را دارد که توسط آن میتوانید هر بخش از کد خود را مانیتور کنید و بطور مثال خطاها یا ...
Application Performance Monitoring یا به اختصار APM وظیفه نظارت بر کد شما را دارد که توسط آن میتوانید هر بخش از کد خود را مانیتور کنید و بطور مثال خطاها یا ...
Application Performance Monitoring یا به اختصار APM وظیفه نظارت بر کد شما را دارد که توسط آن میتوانید هر بخش از کد خود را مانیتور کنید و بطور مثال خطاها یا ...
اگر میخواستید فایلهای خود را از LF به CRLF و یا برعکس تغییر دهید میتوانید از دستورات زیر استفاده کنید:
اگر میخواستید فایلهای خود را از LF به CRLF و یا برعکس تغییر دهید میتوانید از دستورات زیر استفاده کنید:
اگر میخواستید فایلهای خود را از LF به CRLF و یا برعکس تغییر دهید میتوانید از دستورات زیر استفاده کنید:
یکی از ابزارهای مفید برای مانیتور سیستم در Production برای اطمینان از صحت انجام کارها، ابزار healthCheck است. برای اضافه کردن این ابزار به Worker Service ها ...
یکی از ابزارهای مفید برای مانیتور سیستم در Production برای اطمینان از صحت انجام کارها، ابزار healthCheck است. برای اضافه کردن این ابزار به Worker Service ها ...
یکی از ابزارهای مفید برای مانیتور سیستم در Production برای اطمینان از صحت انجام کارها، ابزار healthCheck است. برای اضافه کردن این ابزار به Worker Service ها ...
یکی از خوبیهای استفاده از EntityFrameworkCore در برنامه این است که بدون نیاز به تغییر خاصی در کد و با کمترین کار میتوانید دیتابیس سیستم خود را تغییر دهید و...
اگر پروژه Net Core خود را بروی Docker Container از نوع Linux هاست کرده باشید، به احتمال زیاد با این مشکل مواجه میشوید که زمانی که در کد خود استفاده میکنید ...
برای اطمینان بیشتر از اینکه در یک Pull Request تمام موارد مهم بررسی شدهاند، میتوانید یک CheckList به توضیحات آن اضافه کنید تا افراد قبل از زدن پولریکوست آ...
برای اطمینان بیشتر از اینکه در یک Pull Request تمام موارد مهم بررسی شدهاند، میتوانید یک CheckList به توضیحات آن اضافه کنید تا افراد قبل از زدن پولریکوست آ...
اگر از محصولات Jetbrains برای کدنویسی استفاده کرده باشید احتمالا به مشکل خطا نشان دادن برای کلمات فارسی برخورد کردهاید. بصورت پیشفرض فقط زبان انگلیسی در ای...
اگر از محصولات Jetbrains برای کدنویسی استفاده کرده باشید احتمالا به مشکل خطا نشان دادن برای کلمات فارسی برخورد کردهاید. بصورت پیشفرض فقط زبان انگلیسی در ای...
اگر از محصولات Jetbrains برای کدنویسی استفاده کرده باشید احتمالا به مشکل خطا نشان دادن برای کلمات فارسی برخورد کردهاید. بصورت پیشفرض فقط زبان انگلیسی در ای...
یکی از مشکلات عجیبی که زمان کار کردن با Git ممکن است مواجه شوید، عدم نمایش فایل تغییر کرده در بخش Change ها است. بطور مثال فایل X را تغییر دادهاید و میخواه...
فرض کنید برای خواندن پیامها از صف Kafka از کدی مشابه زیر استفاده کردهاید که پیامها بعد از دریافت توسط delegate و Event به کلاس دیگری داده میشود.
در تستهای IntegrationTest در مواقعی که نیاز دارید ارتباط با دیتابیس را بررسی کنید در زمانهایی که نیاز به تغییر ConnectionString وجود دارد توسط کد زیر میتو...
در زمانهای که میخواهید یک SP را در دیتابیس فراخوانی کنید در بیشتر مواقع نیاز است پارامترهای خود را به آن پاس بدهید. در Dapper برای این کار DynamicParamet...
در صورتی که میخواهید در بیلدهای خود فقط بعضی از پروژهها بیلد شوند و بطور مثال نیازی به بیلد پروژههای تست ندارید میتوانید به صورت زیر عمل کنید:
در صورتی که میخواهید در بیلدهای خود فقط بعضی از پروژهها بیلد شوند و بطور مثال نیازی به بیلد پروژههای تست ندارید میتوانید به صورت زیر عمل کنید:
در صورتی که میخواهید در بیلدهای خود فقط بعضی از پروژهها بیلد شوند و بطور مثال نیازی به بیلد پروژههای تست ندارید میتوانید به صورت زیر عمل کنید:
یکی از موارد کاربردی در DataGrip بخش Live Template میباشد که توسط آن میتوانید یک کلید خاص تعریف کنید تا با نوشتن آن بقیه موارد بصورت خودکار نوشته شود. بطور...
یکی از موارد کاربردی در DataGrip بخش Live Template میباشد که توسط آن میتوانید یک کلید خاص تعریف کنید تا با نوشتن آن بقیه موارد بصورت خودکار نوشته شود. بطور...
یکی از مواردی که در C# باید به آن دقت کرد این است که مقدار پیشفرض برای Enum برابر با 0 است و حتی اگر مقدار صفر در Enum نباشد باز مقدار گفته شده را میتواند ...
یکی از مواردی که در C# باید به آن دقت کرد این است که مقدار پیشفرض برای Enum برابر با 0 است و حتی اگر مقدار صفر در Enum نباشد باز مقدار گفته شده را میتواند ...
یکی از موارد مهم که در استفاده از کافکا باید به آن دقت کرد، کانفیگ اولیه اتصال به آن است که جلوی بسیاری از مشکلات آینده را میگیرد. در این بخش این کانفیگها ...
گاهی مواقع نیاز دارید تا چند پیاده سازی از یک Interface داشته باشید و با توجه به اینکه در کدام بخش برنامه هستید نوع مختلفی از آن را استفاده کنید. بطور مثال ی...
گاهی مواقع نیاز دارید تا چند پیاده سازی از یک Interface داشته باشید و با توجه به اینکه در کدام بخش برنامه هستید نوع مختلفی از آن را استفاده کنید. بطور مثال ی...
گاهی مواقع نیاز دارید تا چند پیاده سازی از یک Interface داشته باشید و با توجه به اینکه در کدام بخش برنامه هستید نوع مختلفی از آن را استفاده کنید. بطور مثال ی...
از ابزارهای خوبی که برای Trace سیستم وجود دارد میتوان به APM اشاره کرد. یکی از مشکلاتی که UI این ابزار در Kibana وجود دارد، کامل نبودن بخش Search آن است. بط...
از ابزارهای خوبی که برای Trace سیستم وجود دارد میتوان به APM اشاره کرد. یکی از مشکلاتی که UI این ابزار در Kibana وجود دارد، کامل نبودن بخش Search آن است. بط...
از ابزارهای خوبی که برای Trace سیستم وجود دارد میتوان به APM اشاره کرد. یکی از مشکلاتی که UI این ابزار در Kibana وجود دارد، کامل نبودن بخش Search آن است. بط...
در صورتی که در Google Sheet نیاز داشتید در صورت Add/Update/Delete متوجه تغییرات بشوید کافی است از اسکریپت زیر استفاده کنید. بدین منظور از سربرگ Extensions گز...
در صورتی که در Google Sheet نیاز داشتید در صورت Add/Update/Delete متوجه تغییرات بشوید کافی است از اسکریپت زیر استفاده کنید. بدین منظور از سربرگ Extensions گز...
در صورتی که در Google Sheet نیاز داشتید در صورت Add/Update/Delete متوجه تغییرات بشوید کافی است از اسکریپت زیر استفاده کنید. بدین منظور از سربرگ Extensions گز...
اگر از محصولات شرکت Jetbrains مانند Rider برای کدنویسی فرانت استفاده میکنید، احتمالا با مشکل طول کشیدن Index شدن پروژه و همچنین آمدن موارد Package ها در بخ...
فرض کنید پروژه Angular خود را در سروری با اسم st-server-s2 هاست کردهاید و در داخل این پروژه چند api از سرور دیگری با اسم st-backend-s2 فراخوانی میکنید. دست...
در صورتی که از Nginx استفاده کرده باشید و در داخل آن از proxy برای انتقال درخواستها به آدرس دیگر استفاده شده باشد، مقدار X-Forwarded-For در این حالت بطور پی...
در صورتی که از Nginx استفاده کرده باشید و در داخل آن از proxy برای انتقال درخواستها به آدرس دیگر استفاده شده باشد، مقدار X-Forwarded-For در این حالت بطور پی...
یکی از امکانات خوب ویندوز که نیاز شما به نصب شبیهسازهایی مانند VirtualBox را بینیاز میکند ابزاری به اسم Sandbox است که توسط ابزار Hyper-V خود ویندوز کار م...
برای استفاده از Captcha در فرمهای خود اگر قصد دارید که خودتان کپچا را بسازید میتوانید از این کد استفاده کنید. توسط این کلاس شما میتوانید یک عکس کپچا با مش...
یکی از ابزارهایی که برای Load Test در .Net وجود دارد، ابزار NBomber است. docs NBomber
یکی از ابزارهایی که برای Load Test در .Net وجود دارد، ابزار NBomber است. docs NBomber
یکی از قابلیتهای گیتهاب امکان انتشار مستقیم کتابخانههای نوشته شده بطور مثال برای .net است که توسط آن میتوانید nuget package خود را منتشر کنید. بدین منظور ...
یکی از قابلیتهای گیتهاب امکان انتشار مستقیم کتابخانههای نوشته شده بطور مثال برای .net است که توسط آن میتوانید nuget package خود را منتشر کنید. بدین منظور ...
یکی از کتابخانههای مناسب برای نوشتن Integration Test در Net core کتابخانه Testcontainers است. توسط این کتابخانه میتوانید به راحتی از سرویس استفاده کننده ما...
در صورتی که در مواقع خاص نیاز داشتید که از متودهای async بصورت sync استفاده کنید، بهترین راه استفاده بصورت زیر است. در این روش از .ConfigureAwait(false).GetA...
در صورتی که در مواقع خاص نیاز داشتید که از متودهای async بصورت sync استفاده کنید، بهترین راه استفاده بصورت زیر است. در این روش از .ConfigureAwait(false).GetA...