پست ها بر اساس دسته بندی

Net

استفاده از متودهای async بصورت sync

1 دقیقه میانگین مدت زمان مطالعه است

در صورتی که در مواقع خاص نیاز داشتید که از متودهای async بصورت sync استفاده کنید، بهترین راه استفاده بصورت زیر است. در این روش از .ConfigureAwait(false).GetA...

استفاده از Docker Image برای تست‌ها

1 دقیقه میانگین مدت زمان مطالعه است

یکی از کتابخانه‌های مناسب برای نوشتن Integration Test در Net core کتابخانه Testcontainers است. توسط این کتابخانه می‌توانید به راحتی از سرویس استفاده کننده ما...

ایجاد Captcha در .Net و استفاده در Angular

9 دقیقه میانگین مدت زمان مطالعه است

برای استفاده از Captcha در فرم‌های خود اگر قصد دارید که خودتان کپچا را بسازید می‌توانید از این کد استفاده کنید. توسط این کلاس شما می‌توانید یک عکس کپچا با مش...

استفاده از چند پیاده سازی مختلف از Interface در IOC

1 دقیقه میانگین مدت زمان مطالعه است

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

استفاده از Transaction متودهای async در Net

1 دقیقه میانگین مدت زمان مطالعه است

یکی از موارد مهم استفاده از ترنزکشن در .Net دقت کردن به استفاده از متود async / await در داخل آن است. بطور مثال کد زیر را در نظر بگیرید:

کانفیگ کردن اصولی Kafka در محیط عملیاتی

2 دقیقه میانگین مدت زمان مطالعه است

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

اعتبار سنجی مقادیر Enum

1 دقیقه میانگین مدت زمان مطالعه است

یکی از مواردی که در C# باید به آن دقت کرد این است که مقدار پیش‌فرض برای Enum برابر با 0 است و حتی اگر مقدار صفر در Enum نباشد باز مقدار گفته شده را می‌تواند ...

تست Kafka در Integration Test برای Worker Service

4 دقیقه میانگین مدت زمان مطالعه است

توسط کتابخانه Testcontainers به راحتی می‌توانید یک نسخه از بیشتر موارد مثل Redis, Sql, Kafka, RabbitMQ را بالا بیاورید و پروژه نوشته شده را تست کنید تا از کا...

ساخت DynamicParameter توسط Reflection

1 دقیقه میانگین مدت زمان مطالعه است

در زمان‌های که می‌خواهید یک SP را در دیتابیس فراخوانی کنید در بیشتر مواقع نیاز است پارامتر‌های خود را به آن پاس بدهید. در Dapper برای این کار DynamicParamet...

Mock کردن IConfiguration در تست‌ها

1 دقیقه میانگین مدت زمان مطالعه است

در تست‌های IntegrationTest در مواقعی که نیاز دارید ارتباط با دیتابیس را بررسی کنید در زمان‌هایی که نیاز به تغییر ConnectionString وجود دارد توسط کد زیر می‌تو...

بررسی فراخوانی شدن ILogger در UnitTest

1 دقیقه میانگین مدت زمان مطالعه است

در زمان نوشتن تست‌ها بعضی مواقع امکان بررسی اینکه متود خطا برمی‌گرداند وجود ندارد و فقط در داخل خود متود لاگ زده می‌شود. بطور مثال در سناریوهایی که پیام‌ها ا...

تست کردن Event در UnitTest

2 دقیقه میانگین مدت زمان مطالعه است

فرض کنید برای خواندن پیام‌ها از صف Kafka از کدی مشابه زیر استفاده کرده‌اید که پیام‌ها بعد از دریافت توسط delegate و Event به کلاس دیگری داده می‌شود.

مشکل برگشت UTC Time در DateTime.Now هاست شده در Linux

1 دقیقه میانگین مدت زمان مطالعه است

اگر پروژه Net Core خود را بروی Docker Container از نوع Linux هاست کرده باشید، به احتمال زیاد با این مشکل مواجه می‌شوید که زمانی که در کد خود استفاده می‌کنید ...

مدیریت خطاها در EntityFramework

1 دقیقه میانگین مدت زمان مطالعه است

بصورت پیش‌فرض خطاهای دیتابیسی از نوع DbUpdateException بازگردانده می‌شوند. اگر نیاز دارید که جزئیات خطا را متوجه شوید تا بتوانید در رابطه با آن تصمیم بگیرید ...

استفاده از دیتابیس Oracle در .Net Core

2 دقیقه میانگین مدت زمان مطالعه است

یکی از خوبی‌های استفاده از EntityFrameworkCore در برنامه این است که بدون نیاز به تغییر خاصی در کد و با کمترین کار می‌توانید دیتابیس سیستم خود را تغییر دهید و...

اضافه کردن HealthCheck به worker Service در .Net Core

5 دقیقه میانگین مدت زمان مطالعه است

یکی از ابزارهای مفید برای مانیتور سیستم در Production برای اطمینان از صحت انجام کارها، ابزار healthCheck است. برای اضافه کردن این ابزار به Worker Service ها ...

استفاده از APM Elastic در .Net

3 دقیقه میانگین مدت زمان مطالعه است

Application Performance Monitoring یا به اختصار APM وظیفه نظارت بر کد شما را دارد که توسط آن می‌توانید هر بخش از کد خود را مانیتور کنید و بطور مثال خطاها یا ...

سریع‌ترین Json Serializer در برنامه‌نویسی

1 دقیقه میانگین مدت زمان مطالعه است

یکی از سریعترین کتاب‌خانه ها برای Serializer Json کتابخانه‌ای به اسم Utf8Json است که البته ورژن جدیدتر آن MessagePack است که جایگزین قبلی شده است. طبق تست‌ها...

پیدا کردن خط‌های تکراری در C#

1 دقیقه میانگین مدت زمان مطالعه است

اگر در برنامه خود نیاز دارید که خط‌های تکراری در یک فایل را پیدا کنید می‌توانید از کد زیر استفاده کنید.

استفاده از Environment های مختلف در Ocelot

1 دقیقه میانگین مدت زمان مطالعه است

یکی از پروژه‌های خوب که برای پیاده سازی Api GateWay وجود دارد، پروژه Ocelot است که تقریبا تمام امکانات مورد نیاز شما را فراهم می‌کند.

ویرایش PSD توسط .Net

1 دقیقه میانگین مدت زمان مطالعه است

برای یکی از پروژه‌های شخصی نیاز به ویرایش فایل PSD توسط کد بود تا نیاز به ویرایش دستی آن فایل و خروجی گرفتن از آن نباشد. بدین منظور با کتابخانه Aspose.PSD آش...

عدم کارکرد درست Environment در Web.config

1 دقیقه میانگین مدت زمان مطالعه است

اگر پروژه شما دارای فایل web.config است و برای محیط‌های مختلف آن فایلی مانند web.Prod.config تعریف کرده‌اید و همچنین از Azure PipeLine برای CI/CD استفاده می‌...

Insert کردن Id در EntityFrameWork

1 دقیقه میانگین مدت زمان مطالعه است

اگر در دیتابیس خود جدولی دارید که ستون آن Identity نیست و باید بصورت دستی وارد شود، برای فعال کردن این قابلیت در EntityFrameWork کافی است موارد زیر را به کان...

استفاده از OpenTelemetry در Agentها

1 دقیقه میانگین مدت زمان مطالعه است

از کتابخانه‌هایی که برای Tracing, Monitoring وجود دارد می‌توان به OpenTelemetry و AppMetrics اشاره کرد. کتابخانه دوم طبق تجربه کاربرد بیشتری دارد و کار کردن ...

Map کردن راحت Dto ها در زبان‌های برنامه‌نویسی

1 دقیقه میانگین مدت زمان مطالعه است

گاهی مواقع نیاز دارید تا در زبان‌های برنامه نویسی بطور مثال سی‌شارپ یک مدل را به مدل دیگری تبدیل کنید. یکی از پلاگین‌هایی که این کار را راحت می‌کند AutoMappe...

استفاده از Dead Letter Exchange در RabbitMQ

1 دقیقه میانگین مدت زمان مطالعه است

یکی از قابلیت‌های کاربردی RabbitMQ امکان ارسال پیام‌های به خطا خورده به یک صف دیگر برای پردازش یا داشتن لاگ از پیام‌های پردازش نشده است. بطور مثال فرض کنید پ...

اجرا کردن بخشی از کد خارج از Transaction

1 دقیقه میانگین مدت زمان مطالعه است

فرض کنید در یک تراکنش بانکی نیاز دارید که در صورت به خطا خوردن بخشی از کد، تمام موارد انجام شده هم به حالت قبل برگردند. بطور مثال اگر انتقال پول به خطا خورد ...

عملکرد Round در سی شارپ

1 دقیقه میانگین مدت زمان مطالعه است

یکی از نکاتی که در زبان C# در زمان استفاده از Round باید دقت کنید، تفاوت عملکرد اعدادی که به 5 ختم می‌شوند با دیگر زبان‌ها یا Excel است. بطور مثال در اکسل عد...

پاک کردن ورژن‌های قدیمی .Net Core SDK

1 دقیقه میانگین مدت زمان مطالعه است

با منتشر شدن ورژن‌های جدیدتر .Net Core SDK / Runtime و نصب آنها بر روی سیستم، پس از مدتی حجم زیادی از درایو C اشغال می‌شود که دلیل آن باقی ماندن ورژن‌های قدی...

بررسی اجرا شدن برنامه در حالت سرویس در .net core

1 دقیقه میانگین مدت زمان مطالعه است

فرض کنید برای دیباگ یا در دسترس بودن امکانات بیشتر یک Agent که با .Net Core نوشته شده است در حالت پابلیش شده می‌خواهید قسمتی به کد اضافه کنید. بطور مثال اگر ...

خطا WCF Max message size exceeded در WCF

1 دقیقه میانگین مدت زمان مطالعه است

در تکنولوژی‌های قدیمی مانند wcf اگر بخواهید به یک متود که خروجی آن زیاد است ریکوست بزنید، با خطا زیر مواجه می‌شود.

بررسی Thread Sleep در .Net

1 دقیقه میانگین مدت زمان مطالعه است

برای جلوگیری از استفاده تمام منابع cpu در زبان‌های برنامه‌نویسی می‌توان از تابع Thread.Sleep استفاده کرد که منابع را از ترد جاری می‌گیرد. این تابع ورودی یک ع...

تفاوت برگشت Task , Async-Await

2 دقیقه میانگین مدت زمان مطالعه است

برای فراخوانی یک متود از نوع Task دو روش زیر را می‌توان استفاده کرد که در این مطلب به توضیح تفاوت آنها می‌پردازیم. تفاوت اصلی این دو متود در انتشار خطا یا ex...

پاک کردن توسط Func در متود RemoveAll

1 دقیقه میانگین مدت زمان مطالعه است

فرض کنید نیاز دارید که مقادیر مختلف را از یک List پاک کنید، البته با توجه به حالت‌های مختلف پاک کردن این موارد متفاوت است. یکی از راه‌ها استفاده از Func است ...

دریافت تمام EndPoint‌ها در برنامه .Net Core

1 دقیقه میانگین مدت زمان مطالعه است

در .Net core با معرفی Minimal API, Controllers, Razor Pages, gRPC, Health checks و دیگر موارد، Route های سیستم افزایش پیدا کرده‌اند و با بزرگ شدن پروژه نیاز ...

پاک کردن تمام فایل‌های Bin و Obj پروژه

1 دقیقه میانگین مدت زمان مطالعه است

گاهی مواقع که نیاز به انتقال فایل‌های پروژه و یا فشرده سازی آنها است، برای کاهش حجم پاک کردن فولدرهای bin و obj از حجم نهایی می‌کاهد. توسط کد زیر می‌توانید ا...

بهبود کدهای یک پروژه .net

5 دقیقه میانگین مدت زمان مطالعه است

توسط کامپایلر C# که با عنوان Roslyn بازنویسی شده است. قابلیت افزونه‌پذیری به آن اضافه شده است که به شما قابلیت بررسی بیشتر کدها در زمان کامپایل و صادر کردن خ...

دیباگ کردن یک برنامه پابلیش شده توسط Attach To Debug

1 دقیقه میانگین مدت زمان مطالعه است

فرض کنید برنامه‌ای که نوشته‌اید در محیط لوکال به درستی کار می‌کند و فقط زمانی که آن را پابلیش می‌دهید، در زمان اجرا با خطا مواجه می‌شود. یکی از قابلیت‌های خو...

تزریق وابستگی با FromServices

1 دقیقه میانگین مدت زمان مطالعه است

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

مدیریت خطا با Exception و Operation Result

3 دقیقه میانگین مدت زمان مطالعه است

نکته مهم : زمانی که نمی‌دانید با exception اتفاق افتاده چه کاری می‌توانید بکنید، آن را catch نکنید متن بالا به این معنی است که اگر در متودی که بطور مثال برای...

پاس دادن Enum به عنوان ورودی به HTTP GET

1 دقیقه میانگین مدت زمان مطالعه است

در صورتی که می‌خواهید یک Enum را به یکی API که بصورت HTTPGET است، پاس بدهید، حواستان باشد که بصورت پیش فرض معتبر بودن ورودی آن بررسی نمی‌شود. بطور مثال کد زی...

فراخوانی ToString برای تمام Attribute های یک کلاس

2 دقیقه میانگین مدت زمان مطالعه است

فرض کنید که شما یک API از نوع GET دارید و می‌خواهید آن را در قسمتی از کد خود فراخوانی کنید. اما مقادیری که می‌خواهید به آن پاس بدهید در اتریبوت‌های یک کلاس ذ...

استفاده از متد async در foreach

4 دقیقه میانگین مدت زمان مطالعه است

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

لاگ کردن کوئری در EntryFrameWork

2 دقیقه میانگین مدت زمان مطالعه است

یکی از ویژگی‌هایی که Entity Framework Core دارد، قابلیت لاگ کردن کوئری نهایی است که به دیتابیس ارسال می‌شود. توسط این امکان می‌توانید حالت های مختلف را امتحا...

اضافه کردن Attribute توضیحات به Enum

1 دقیقه میانگین مدت زمان مطالعه است

گاهی مواقع برای مواردی که بسیار کم تغییر می‌کنند و همچنین تعداد آنها نیز کم است، بجای استفاده از دیتابیس از Enum ها می‌توان استفاده کرد. بطور مثال برای جنسیت...

مپ کردن List در AutoMapper

1 دقیقه میانگین مدت زمان مطالعه است

یکی از کتابخانه هایی که کار تبدیل مدل ها در برنامه نویسی را راحت می‌کند، کتابخانه Automapper است که با استفاده از آن دیگر لازم نیست Atribute های یک مدل را بص...

مقایسه ienumerable و iqueryable و list

1 دقیقه میانگین مدت زمان مطالعه است

در زبان برنامه نویسی .net کالکشن های مختلفی وجود دارد که دارای کاربردهای متفاوت هستند و استفاده درست از آنها، باعث جلوگیری از به وقوع پیوستن مشکلات در آینده ...

مقایسه ProjectTo و Map در AutoMapper

1 دقیقه میانگین مدت زمان مطالعه است

یکی از کتابخانه های کاربردی در .net کتابخانه Automapper است که در زمان های مپ کردن دیتا کاربرد فراوان دارد. روش استفاده پیشفرض از این کتابخانه بصورت زیر است ...

پیاده سازی Two Phase Commit یا TPC در .Net

2 دقیقه میانگین مدت زمان مطالعه است

یکی از موارد مهم در زبان های برنامه نویسی بحث Transaction ها می‌باشد. در بعضی موارد تمام مواردی که می‌خواهید بصورت یک ترنزکشن انجام شوند، بر روی یک سیستم نیس...

مجموعه ها و ساختارهای داده در .net

1 دقیقه میانگین مدت زمان مطالعه است

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

بازگشت به بالا ↑

SQL

ANSI_NULLS در SQL Server

1 دقیقه میانگین مدت زمان مطالعه است

یکی از پارامترها که شاید بیشتر مواقع به آن دقت نکرد باشید، ANSI_NULLS است. بیشتر مواقع که یک کوئری را بصورت خودکار توسط ابزارها می‌سازید مقدار آن و همچنین مق...

پیدا کردن موارد تکراری در دیتابیس SQL Server

1 دقیقه میانگین مدت زمان مطالعه است

توسط کوئری زیر می‌توانید مواردی که در یک جدول بیشتر از یکبار تکرار شده‌اند را پیدا کنید. ابتدا توسط Group By مواردی که می‌خواهیم تکراری بودن را بر روی آنها ت...

استفاده از شرط Case در OrderBy SQL Server

1 دقیقه میانگین مدت زمان مطالعه است

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

بررسی Constraint در زمان Bulk Insert

1 دقیقه میانگین مدت زمان مطالعه است

بصورت پیش‌فرض در صورتی که از Bulk در دیتابیس استفاده کنید، Constraint جدول مورد نظر قبل از عمل Insert پاک شده و پس از اتمام بصورت اتومات ساخته می‌شوند. پس با...

استفاده از IF در دستور WHERE SQL

1 دقیقه میانگین مدت زمان مطالعه است

بصورت پیش فرض امکان استفاده از شرط IF در بخش WHERE یک کوئری وجود ندارد و اگر نیاز به بررسی شرط در حالت‌های مختلف داشتید، باید از ترفندهای مختلف استفاده کنید....

یکی کردن مقادیر یک ستون در SQL

1 دقیقه میانگین مدت زمان مطالعه است

اگر نیاز داشتید که تمام سطرهای یک ستون خاص در دیتابیس را به صورت یک خروجی درآورید، شبیه به قابلیت Concat در زبان های برنامه نویسی، می‌توانید از کوئری زیر است...

آپدیت کردن یک جدول با استفاده از SELECT و JOIN

1 دقیقه میانگین مدت زمان مطالعه است

فرض کنید 2 جدول دارید که می‌خواهید اطلاعات یکی از آنها را با توجه به جدول دوم آپدیت کنید. یا به زبان دیگر این 2 جدول با یکدیگر کلید خارجی دارند و می‌خواهید ف...

باگ مقدار MilliSecond در DateTime توسط dapper

1 دقیقه میانگین مدت زمان مطالعه است

در صورتی که از Dapper برای پاس دادن مقادیر DateTime2 به دیتابیس و یا فراخوانی SP استفاده می‌کنید، حواستان باشد که Dapper بصورت پیش‌فرض مقدار Millisecond را د...

چک کردن اتصال به دیتابیس SQL توسط UDL

1 دقیقه میانگین مدت زمان مطالعه است

یکی از ابزارهای مفید برای چک کردن اتصال به دیتابیسی که در سرورهای دیگر قرار دارد، UDL یا Universal Data Link است که توسط آن حتی سطح دسترسی یوزر مورد نظر را ه...

پاک کردن تمامی جداول دارای کلید خارجی در SQL Server

4 دقیقه میانگین مدت زمان مطالعه است

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

پیدا کردن وابستگی‌های یک شی در SQL Server

1 دقیقه میانگین مدت زمان مطالعه است

از ویژگی‌های خوب SQL Server وجود داشتن فانکشن‌ها و آبجکت‌های مختلف برای راحت‌سازی کارها است. بطور مثال دو شی زیر که از نوع Dynamic Management Views هستند، بر...

بررسی CDC یا Change Data Capture در SQL Server

3 دقیقه میانگین مدت زمان مطالعه است

یکی از قابلیت‌های کاربردی در SQL Server امکانی با اسم CDC است که به شما قابلیت دانستن تغییرات بر روی یک جدول خاص را می‌دهد. فرض کنید در برنامه‌ای که بصورت Mi...

دانستن کوئری‌های زمان‌بر در SQL Server

1 دقیقه میانگین مدت زمان مطالعه است

بهینه‌سازی دیتابیس و کوئری‌ها یکی از موارد مهم در دیتابیس است تا بتوان از منابع موجود بصورت بهینه استفاده کرد. یکی از روش‌ها برای دانستن کوئری‌های زمان‌بر بر...

قرار دادن نام دلخواه برای DEFAULT در SQL

1 دقیقه میانگین مدت زمان مطالعه است

یکی از مواردی که در زمان طراحی دیتابیس باید رعایت شود، بحث نامگذاری درست آیتم‌ها است. بصورت پیش‌فرض SQL SERVER نام‌های پیش‌فرض بطور مثال برای کلید داخلی، کلی...

دستور BETWEEN در SQL

1 دقیقه میانگین مدت زمان مطالعه است

این دستور کوتاه شده X <= Id AND X >= Id2 است که برای برقرار شدن شرط بین دو مقدار کاربرد دارد. بطور مثال در مواردی که می‌خواهید یک گزارش بین دو تاریخ را...

مقداردهی به Variable در SQL توسط SELECT

1 دقیقه میانگین مدت زمان مطالعه است

گاهی مواقع نیاز است تا یک متغیر را توسط دستور SELECT مقداردهی کنید و از آن متغیر در کدهای خود استفاده کنید. راحت ترین راه کوئری زیر است که فقط یک مورد را مقد...

تابع FIRST_VALUE در SQL

1 دقیقه میانگین مدت زمان مطالعه است

این تابع که از نوع Window Function است، برای دریافت اولین سطر در حالت Ordered Partition استفاده می‌شود.

دستور WITH در SQL

1 دقیقه میانگین مدت زمان مطالعه است

این دستور در واقع یک result set را از نوع موقت ایجاد می‌کند که به آن Common Table Expression یا CTE نیز می‌گویند. روش کلی استفاده از آن بصورت زیر است:

قلمرو دید در Derived Table

1 دقیقه میانگین مدت زمان مطالعه است

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

دستور SYNONYM در SQL

1 دقیقه میانگین مدت زمان مطالعه است

شی Synonym در دیتابیس در واقع یک نام جایگزین برای اشیا دیگر است که نکته مهم در آن این است که این شی می‌تواند در یک دیتابیس و حتی سرور دیگر باشد. پس با این ام...

دستور HAVING در SQL

1 دقیقه میانگین مدت زمان مطالعه است

این دستور شبیه به WHERE عمل می‌کند با این تفاوت که دستور HAVING می‌تواند همراه با aggregate functions استفاده شود. این دستور بیشتر مواقع همراه با GROUP BY اس...

مقایسه Scalar Valued و Table Valued در SQL

1 دقیقه میانگین مدت زمان مطالعه است

در دیتابیس فانکشن‌های موجود به 2 صورت Scalar و Table-Value هستند که در این مطلب تفاوت آنها را بیان می‌کنیم.

دستور OVER PARTITION در SQL

1 دقیقه میانگین مدت زمان مطالعه است

SELECT TOP 100 AVG(Quantity) AS Quantity, MAX(Price) AS Price FROM [dbo].Decision;

دستور CROSS APPLY در SQL

4 دقیقه میانگین مدت زمان مطالعه است

قبل از شروع این مطلب نیاز است که ابتدا با CROSS بیشتر آشنا شویم. روش استفاده از این نوع JOIN بصورت زیر است:

پاس دادن لیست به عنوان ورودی SP

2 دقیقه میانگین مدت زمان مطالعه است

یکی از امکانات خوب دیتابیس SQL Server امکان پاس دادن لیست به عنوان ورودی به یک stored procedure است که کار شما را برای مواقعی که نیاز به پاس دادن تعداد زیادی...

تغییر Schema یک جدول در SQL Server

1 دقیقه میانگین مدت زمان مطالعه است

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

فراخوانی Function در SQL Server

1 دقیقه میانگین مدت زمان مطالعه است

گاهی مواقع برای تست کردن فانکشن نوشته شده در دیتابیس، نیاز به فراخوانی آن توسط دستورهای SQL دارید. روش فراخوانی stored procedure ها بسیار راحت است و توسط دست...

استفاده از دستور Merge در دیتابیس

1 دقیقه میانگین مدت زمان مطالعه است

یکی از دستورات مفیدی که در SQL Server وجود داره، دستوری به اسم merge هست که کاربردهای مفید زیادی داره. مثلا وقتی میخواید اطلاعات یه جدول رو با جدول دیگه ای س...

کم کردن حجم Log File دیتابیس در SQL Server

1 دقیقه میانگین مدت زمان مطالعه است

در پروژه ای که مدتی پیش روش کار میکرد، نیاز به وارد کردن دیتا تست زیادی بود که بعد از انجام پروژه هم پاک شدن، بعد از انجام پروژه متوجه شدن حجم درایو C خیلی ک...

بازگشت به بالا ↑

Trick

جلوگیری از Index شدن node_modules در Jetbrains

1 دقیقه میانگین مدت زمان مطالعه است

اگر از محصولات شرکت Jetbrains مانند Rider برای کدنویسی فرانت استفاده می‌کنید، احتمالا با مشکل طول کشیدن Index شدن پروژه و همچنین آمدن موارد Package ها در بخ...

ارسال ایمیل در صورت تغییر در Google Sheet

2 دقیقه میانگین مدت زمان مطالعه است

در صورتی که در Google Sheet نیاز داشتید در صورت Add/Update/Delete متوجه تغییرات بشوید کافی است از اسکریپت زیر استفاده کنید. بدین منظور از سربرگ Extensions گز...

جستجو و فیلتر APM در Kibana

1 دقیقه میانگین مدت زمان مطالعه است

از ابزارهای خوبی که برای Trace سیستم وجود دارد می‌توان به APM اشاره کرد. یکی از مشکلاتی که UI این ابزار در Kibana وجود دارد، کامل نبودن بخش Search آن است. بط...

استفاده از Proxy جدا به ازای هر سایت در مرورگر

1 دقیقه میانگین مدت زمان مطالعه است

در بعضی مواقع نیاز دارید که فقط ترافیک بعضی از سایت‌ها از پروکسی عبور کند و نمی‌خواهید تمام ترافیک سیستم عامل خود و یا تمام سایت‌ها را از پروکسی عبور دهید. د...

اضافه کردن Live Template به DataGrip

1 دقیقه میانگین مدت زمان مطالعه است

یکی از موارد کاربردی در DataGrip بخش Live Template می‌باشد که توسط آن می‌توانید یک کلید خاص تعریف کنید تا با نوشتن آن بقیه موارد بصورت خودکار نوشته شود. بطور...

تغییر تمام فایل‌های LF به CRLF

1 دقیقه میانگین مدت زمان مطالعه است

اگر می‌خواستید فایل‌های خود را از LF به CRLF و یا برعکس تغییر دهید می‌توانید از دستورات زیر استفاده کنید:

استفاده از Google Task در مرورگر

1 دقیقه میانگین مدت زمان مطالعه است

یکی از امکانات خوب گوگل برای مدیریت کارها، Google Task و Google Keep است که توسط آنها می‌توانید راحت‌تر کارهای خود را مدیریت کنید. اگر قصد استفاده از نسخه وب...

گوش دادن به آهنگ در Spotify بدون تبلیغات

1 دقیقه میانگین مدت زمان مطالعه است

یکی از سایت‌های خوب برای گوش دادن به آهنگ، سایت اسپاتیفای است. در نسخه رایگان این سایت بعد از هر چند آهنگ چند دقیقه تبلیغات پخش می‌شود. اگر می‌خواهید این تبل...

مشاهده YouTube بدون ابزار خاص

1 دقیقه میانگین مدت زمان مطالعه است

اگر حریم خصوصی برای شما مهم است و دوست دارید شبکه‌های اجتماعی سایت‌هایی که مشاهده می‌کنید را ردیابی کنند، این افزونه کار شما را بسیار راحت می‌کند. همچنین توس...

خروجی گرفتن از لیست Stars در Github

1 دقیقه میانگین مدت زمان مطالعه است

Github دارای API های مختلف برای راحت‌سازی کارها است. فرض کنید می‌خواهید لیست پروژه‌هایی که به آنها stars داده‌اید را بصورت یک لیست داشته باشید.

غیرفعال سازی CORS در Chrome

1 دقیقه میانگین مدت زمان مطالعه است

در محیط تست و سیستم Local اگر نیاز داشتید که CORS مرورگر را غیر فعال کنید می‌توانید از دستور زیر برای اجرای آن استفاده کنید:

دریافت اطلاعات تمام کاربران Active Directory

1 دقیقه میانگین مدت زمان مطالعه است

با نرم‌افزار زیر می‌توانید جزئیات را مشاهده کنید. برای پیدا کردن Domain هم به بخش زیر بروید و بخش Full device name را مشاهده کنید.البته دقت کنید که بخش Devic...

مسدود سازی تبلیغات در مرورگر توسط UBlock Origin

1 دقیقه میانگین مدت زمان مطالعه است

یکی از بهترین افزونه‌ها برای مسدود کردن تبلیغات در مرورگرهای مختلف مانند Chrome و Edge افزونه UBlock است که امتیازهای بالاتری نسبت به AdBlock هم دارد و بهتر ...

اضافه شدن خودکار Schema در DataGrip

1 دقیقه میانگین مدت زمان مطالعه است

بصورت پیش‌فرض در حالت AutoComplete نرم افزار DataGrip اسکیما جدول مورد نظر اضافه نمی‌شود و در صورت زدن کلید Tab فقط جدول مورد نظر اضافه می‌شود.

استفاده از Dark Mode برای فایل های pdf در مرورگر

1 دقیقه میانگین مدت زمان مطالعه است

یکی از افزونه های خوبی که برای مروگرهای بر پایه Chromium وجود داره، افزونه Dark Reader هستش. با استفاده از این افزونه میتونید تم تاریک رو در داخل همه سایت ها...

بازگشت به بالا ↑

Linux

استفاده از GTK در نرم افزار های QT در لینوکس

1 دقیقه میانگین مدت زمان مطالعه است

یکی از خوبی های لینوکس این هست که دستتون برای شخصی سازی خیلی باز هست بطور مثال برای نرم افزار VLC چون صفحه لپ تاپ 4K بود، از تم هایی که خودش داشت نمیتونستم ...

تغییر ظاهر صفحه ورود در اوبونتو لینوکس

1 دقیقه میانگین مدت زمان مطالعه است

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

نصب درایور گرافیک Nvidia در لینوکس

1 دقیقه میانگین مدت زمان مطالعه است

یکی از مشکلاتی که در لینوکس افراد باهاش روبرو میشن، مشکل درایور کارت گرافیک هستش. در بیشتر مواقع مشکل خاصی نیست ولی اگه مثل من از لپ تاپ با دو تا کارت گرافی...

استفاده از GRUB شخصی سازی شده و زیبا در حالت Dual Boot

1 دقیقه میانگین مدت زمان مطالعه است

وقتی از چندتا سیستم عامل استفاده میکنید، در زمان روشن کردن سیستم صفحه ای نشون داده میشه تا بتونید سیستم عامل خودتون رو انتخاب کنید بطور پیش فرض این صفحه ظاه...

بازگشت به بالا ↑

Windows

تست باز بودن پورت UDP و TCP در ویندوز

1 دقیقه میانگین مدت زمان مطالعه است

برای تست در دسترس بودن یک Port خاص توسط سرور دیگر آسان‌ترین راه استفاده از دستور telnet در CMD است که بصورت زیر می‌توانید از آن استفاده کنید:

جلوگیری از نمایش درایو در ویندوز

1 دقیقه میانگین مدت زمان مطالعه است

آخرین بار که از طریق نرم افزار EaseUS Partition Master حجم درایو C را افزایش دادم، پس از ریست سیستم یک درایو جدید با نام Z هم به سیستم اضافه شده بود که امکان...

توقف یا Kill کردن یک سرویس در ویندوز

1 دقیقه میانگین مدت زمان مطالعه است

یکی از مشکلاتی که در زمان کار با Service ها در ویندوز ممکن است با آن روبرو شوید، Stop نشدن سرویس مورد نظر است. یکی از راه‌های سریع برای توقف سرویس مورد نظر ا...

معرفی کنسول و نت پد با ظاهر جدید برای ویندوز

1 دقیقه میانگین مدت زمان مطالعه است

یکی از تغییراتی که در ویندوز 10 ایجاد شد، معرفی استفاده از Fluent design بود که ظاهر ویندوز را نسبت به نسخه های قبلی تغییر زیادی داد. بیشتر نرم افزارهای منتش...

معرفی ابزار Windows Admin Center

1 دقیقه میانگین مدت زمان مطالعه است

یکی از ابزارهای خوب ماکروسافت برای مدیریت سرورها، ابزاری به اسم Windows Admin Center هستش، توسط این ابزار میتونید سرورهای مختلف روی شبکه رو کنترل کنید و حتی ...

بازگشت به بالا ↑

Github

استفاده از submodules در git

1 دقیقه میانگین مدت زمان مطالعه است

یکی از امکانات جالبی که در git موجود هست که من هم تازه باهاش آشنا شدم، امکانی به اسم Submodules هست. این ویژگی به شما این امکان رو میده که کدهای خود رو به پر...

اضافه کردن فایل Video به MarkDown

1 دقیقه میانگین مدت زمان مطالعه است

یکی از ویژگی های خوب گیت هاب که استفاده زیادی داره و این سایت هم با استفاده از آن ساخته شده، فایل md یا markdown هست. توسط این قابلیت میتوانید فایل های متنی ...

بدست آوردن جزيیات یک ریپازیتوری در گیتهاب

1 دقیقه میانگین مدت زمان مطالعه است

بعضی مواقع نیاز هست تا اطلاعات یک پروژه در گیتهاب رو بدست آورد. بطور مثلا قبل از clone کردن یک پروژه میخوایم حجم کل پروژه رو بدست بیاریم روش انجام این کار ...

آپدیت کردن پروژه Forked شده در گیتهاب

1 دقیقه میانگین مدت زمان مطالعه است

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

بازگشت به بالا ↑

DesignPattern

الگوی Template Method

1 دقیقه میانگین مدت زمان مطالعه است

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

الگوی Chain Of Responsibility

2 دقیقه میانگین مدت زمان مطالعه است

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

دیزاین پترن Singleton در عمل

3 دقیقه میانگین مدت زمان مطالعه است

یکی از دیزاین پترن هایی که کاربرد زیادی در برنامه نویسی داره، دیزاین پترن Singleton هستش. این پترن زمان هایی کاربرد داره که ما فقط به یه Instance از کلاس دار...

دیزاین پترن State در عمل

3 دقیقه میانگین مدت زمان مطالعه است

در قسمتی از پروژه ای که در حال نوشتن بودم و میخواستیم Fail Over رو بر روی قسمتی از سیستم پیاده سازی کنیم تا سیستم بصورت اتومات بتونه بعد از به خطا خوردن و یا...

بازگشت به بالا ↑

Git

ابزارهای کاربردی Commit در Git

1 دقیقه میانگین مدت زمان مطالعه است

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

دانستن زمان و جزئیات یک فایل پاک شده در Git

1 دقیقه میانگین مدت زمان مطالعه است

گاهی مواقع یک فایل را به اشتباه پاک می‌کنید و یا نیاز دارید بدانید یک فایل در چه زمانی پاک شده و محتویات آن نیز چه بوده است. در این مواقع اگر از گیت استفاده ...

انتقال یک کامیت به برنچ دیگر در Git با Cherry Pick

1 دقیقه میانگین مدت زمان مطالعه است

در بعضی مواقع شما نیاز دارید که فقط یک Commit را از یک Branch به یک Branch دیگر منتقل کنید و نمی‌خواهید تمام تغییرات آن برنچ را با برنچ خود Merge کنید. برای ...

حذف کردن یک فایل از تاریخچه Git

1 دقیقه میانگین مدت زمان مطالعه است

بعضی مواقع اتفاق میافته که یه فایل رو اشتباه داخل Git کامیت میکنید یا بنا به دلایلی میخواید فایل خاصی رو از تاریخچه گیت پاک کنید برای انجام این کار ابتدا بای...

بازگشت به بالا ↑

Angular

خطا undifiend برای select در انگولار

1 دقیقه میانگین مدت زمان مطالعه است

آخرین مشکلی که باهاش روبرو شدم و یه مدتی وقتم رو گرفت، مشکلی با این مضمون بود که وقتی توسط تگ select در html مقدارش تو فایل ts نمیومد نمونه کدی که استفاده ک...

بازگشت به بالا ↑

Sql

غیرفعال سازی چک کردن کلید خارجی در SQL Server

1 دقیقه میانگین مدت زمان مطالعه است

بعضی مواقع بطور مثال در زمان نوشتن Integration Test نیاز است بدون اینکه دیتا را در جدولی که به آن کلید خارجی داریم Insert کنیم، فقط در جدلی که به آن نیاز هست...

منتقل کردن دیتا به دیتابیس جدید در SQL Server

3 دقیقه میانگین مدت زمان مطالعه است

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

Collation حساس به حروف بزرگ و کوچک در SQL Server

1 دقیقه میانگین مدت زمان مطالعه است

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

بازگشت به بالا ↑

trick

حل مشکل عدم نمایش تغییرات در Git

1 دقیقه میانگین مدت زمان مطالعه است

یکی از مشکلات عجیبی که زمان کار کردن با Git ممکن است مواجه شوید، عدم نمایش فایل تغییر کرده در بخش Change ها است. بطور مثال فایل X را تغییر داده‌اید و می‌خواه...

اضافه کردن Spell Check زبان فارسی به Rider

1 دقیقه میانگین مدت زمان مطالعه است

اگر از محصولات Jetbrains برای کدنویسی استفاده کرده باشید احتمالا به مشکل خطا نشان دادن برای کلمات فارسی برخورد کرده‌اید. بصورت پیش‌فرض فقط زبان انگلیسی در ای...

اضافه کردن Template به PullRequest در AzureDevops

1 دقیقه میانگین مدت زمان مطالعه است

برای اطمینان بیشتر از اینکه در یک Pull Request تمام موارد مهم بررسی شده‌اند، می‌توانید یک CheckList به توضیحات آن اضافه کنید تا افراد قبل از زدن پول‌ریکوست آ...

بازگشت به بالا ↑

Vuejs

استفاده از فایل js خارجی در پروژه Vuejs

2 دقیقه میانگین مدت زمان مطالعه است

در یکی از پروژه هایی که با فریم ورک Vuejs در حال نوشتن بودم و نیاز بود تا یک تم html به vue تبدیل شود، نیاز داشتم تا فایل های js قالب رو داخل پروژه استفاده ک...

مشکل صفحه سفید خالی در پروژه vuejs منتشر شده

1 دقیقه میانگین مدت زمان مطالعه است

برای یکی از پروژه های شخصی که میخواستم داخل github page هم منتشر کنم، با مشکل پیدا نشدن فایل های استاتیک و خطای 404 روبرو میشدم با توجه به اینکه قبلا هم برا...

بازگشت به بالا ↑

Blog

شروع وبلاگ

1 دقیقه میانگین مدت زمان مطالعه است

این اولین مطلب من هست و مقدمه ای بر مطالبی هست که قراره در آینده بنویسم، در این وبلاگ قراره درباره مشکلات و چالش هایی که در زمان کار باهاشون روبرو میشم رو بن...

بازگشت به بالا ↑

Core

ایجاد http call در net core با flurl و polly

3 دقیقه میانگین مدت زمان مطالعه است

یکی از مشکلاتی که افراد در زمان کار با http client در زبان برنامه نویسی .net مواجه می شوند، سخت بودن نسبی مدیریت آن و همچنین نیاز به نوشتن کدهای زیاد برای کا...

بازگشت به بالا ↑

Bug

باگ میلیون دلاری

4 دقیقه میانگین مدت زمان مطالعه است

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

بازگشت به بالا ↑

Docker

نصب redis در ویندوز 10 توسط docker

1 دقیقه میانگین مدت زمان مطالعه است

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

بازگشت به بالا ↑

Regex

جستجوی بین دو کاراکتر توسط Regex

1 دقیقه میانگین مدت زمان مطالعه است

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

بازگشت به بالا ↑

Develop

فراخوانی کردن WCF در Postman و jmeter

1 دقیقه میانگین مدت زمان مطالعه است

یک از مشکلاتی که wcf داره، عدم امکان فراخوانی ساده اون داخل مرورگر،شبیه به rest api هست. هرچند که تکنولوژی wcf قدیمی شده اما بعضی مواقع نیاز به استفاده از او...

بازگشت به بالا ↑

Web

چگونگی Capture کردن ترافیک localhost در Fiddler

1 دقیقه میانگین مدت زمان مطالعه است

کاهی مواقع برای دیباگ کردن برنامه های نوشته نیاز به دانستن تمام ترافیک عبوری از سیستم هست. یکی از ابزارهایی که برای این کار استفاده میشه Fiddler هست که به شم...

بازگشت به بالا ↑

GRPC

بازگشت به بالا ↑

IIS

مانیتور کردن لاگ های IIS توسط ElasticSearch و Kibana

3 دقیقه میانگین مدت زمان مطالعه است

با بزرگ شدن پروژه و گسترش اون، به تبع اطلاعات بدست اومده بصورت نمایی زیاد میشه و دیگه با ابزارهای قبلی نمیشه این حجم از اطلاعات رو پردازش کرد. بطور مثال اگه ...

بازگشت به بالا ↑

Log

استفاده از serilog برای لاگ کردن در دیتابیس Sql Server

2 دقیقه میانگین مدت زمان مطالعه است

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

بازگشت به بالا ↑

rabbitmq

استفاده از چند Hostname در RabbitMQ در حالت Cluster

2 دقیقه میانگین مدت زمان مطالعه است

یکی از کتابخانه هایی که برای انتقال پیام بین سیستم های مختلف وجود دارد، Rabbitmq هست. یکی از قابلیت های مفید این Message Broker قابلیت Clustering هست که در ز...

بازگشت به بالا ↑

SystemDesign

طراحی سیستم Bitly

1 دقیقه میانگین مدت زمان مطالعه است

در این بخش از مجموعه آموزش‌های طراحی سیستم، می‌خواهیم سایت bit.ly را که یک سایت کوتاه کننده لینک است را با یکدیگر مقایسه کنیم.

بازگشت به بالا ↑

Extension

ترجمه کلمات در مرورگر توسط افزونه EJOY

1 دقیقه میانگین مدت زمان مطالعه است

از افزونه‌های خوب برای یادگیری زبان و ترجمه کلمات برای مروگرهای بر پایه chromium می‌توان به E Joy اشاره کرد. توسط این افزونه تمام موارد مورد نیاز برای ترجمه ...

بازگشت به بالا ↑

MicroService

بازگشت به بالا ↑

Network

استفاده همزمان از 2 شبکه بر روی یک سیستم

1 دقیقه میانگین مدت زمان مطالعه است

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

بازگشت به بالا ↑

IDE

نصب Github Copilot در Jetbrains

1 دقیقه میانگین مدت زمان مطالعه است

یکی از ابزارهای خوب که جدیدا معرفی شده است و توسط هوش مصنوعی کدزنی را بسیار آسانتر می‌کند، ابزاری به اسم copilot است که توسط github ارائه شده که بر پایه AI ب...

بازگشت به بالا ↑

Rabbitmq

استفاده از BasicQos در Rabbitmq

1 دقیقه میانگین مدت زمان مطالعه است

فرض کنید که در سیستم خود از RabbitMQ برای ارتباط بین سیستم‌ها استفاده می‌کنید و در قسمتی چند Consumer دارید که پیام‌ها را از روی یک صف می‌خواند. اگر تعدادی پ...

بازگشت به بالا ↑

Nginx

بازگشت به بالا ↑

Nuget

انتشار یک Github Package بصورت Nuget

1 دقیقه میانگین مدت زمان مطالعه است

یکی از قابلیت‌های گیتهاب امکان انتشار مستقیم کتابخانه‌های نوشته شده بطور مثال برای .net است که توسط آن می‌توانید nuget package خود را منتشر کنید. بدین منظور ...

بازگشت به بالا ↑