در قسمت قبلی با مفاهیم اولیهی داکر آشنا شدیم و در این قسمت بیشتر به مباحث عملی آن خواهیم پرداخت. ضمن اینکه طریقهی نصب داکر نیز بسیار سادهاست و برای مطالعهی بیشتر به سایت مرجع آن مراجعه بفرمایید (برای ویندوز، مک و لینوکس قسمتهای مجزایی تعبیه شده و نصب آن آموزش داده شدهاست). در قسمت قبلی با Volume آشنا شدیم؛ اکنون قصد داریم آن را اجرایی نموده و برنامهی خود را بر روی آن اجرا نماییم. عملا با استفاده از Volume، قابلیت این را خو ...
در این بازسازی، با قطعه کدی روبرو هستیم که میتوانیم آن را به صورت یک متد جدید، گروهبندی کنیم. نام متد، توضیح دهنده عملیاتی است که توسط آن قطعه کد انجام میشود. این بازسازی یکی از پر استفادهترین بازسازیهای کد است. معمولا زمانیکه متدی بلند باشد یا تکه کدی نیاز به کامنتی برای توضیح درباره کاری که انجام میدهد داشته باشد، چنین بازسازی ای نیاز است. در صورتیکه نام متدها به طور مناسبی انتخاب شوند، ایجاد متدهای کوچک از دو جهت مفید است: ...
طی مقاله چک لیست تولید برنامه Asp.net mvc و بررسی امنیتی ایجکس هنگام استفاده در مورد چک لیست امنیتی
سایت سرفصلهای مهم عنوان و بررسی شده است که یکی از موارد، مقاوم ساختن وب اپلیکشن در برابر حملات CSRF میباشد. اینگونه حملات بر پایه این استراتژی شکل میگیرند که با
ارسال درخواستی به نیابت از سمت سیستم/مرورگر کاربر تایید هویت شده، سایت مقصد را مجبور
به انجام عملی کند. برای مثال اگر شما در سایت a.c ...
پیشنیاز نقشه راه « آزمون واحد در دات نت » مطلب « طراحی و پیاده سازی ServiceLayer به همراه خودکارسازی Business Validationها » در این مطلب قصد داریم تست ServiceLayer را به جای تست درون حافظهای که با ابزارهای Mocking در قالب Unit Testing انجام میگیرد، به کمک یک دیتابیس واقعی سبک وزن در قالب Integration Testing انجام دهیم. قدم اول یک پروژه تست را ایجاد کنید؛ بهتر است برای نظم دهی به ساختار Solution، پروژهه ...
ما در AngularJs آبجکتی را به نام q$ داریم که برای اجرای توابع به صورت async مفید است و همچنین در استفاده از مقادیر برگشتی از این درخواستها برای پردازشهای آینده به ما کمک میکند. برای اطلاعات بیشتر در مورد این سرویس به اینجا مراجعه کنید. در ادامه ما از تابع ()all از q$ برای ترکیب چند شیء promise داخل یک شیء promise، به منظور صدا زدن چند سرویس به صورت یکجا، استفاده میکنیم. پیاده سازی ASP.NET Web API قدم اول : ...
کلاس Random در NET. ابزارهایی را فراهم میکند که بتوانیم توسط آنها اعداد تصادفی تولید کنیم. سازنده این کلاس دو Overload مختلف دارد. یکی از Overloadها بدون پارامتر است و دیگری مقداری را بعنوان Seed دریافت میکند. کلاس Random سه متد عمومی دارد:
• Next : یک عدد تصادفی را برای ما تولید میکند.
• NextByte : آرایهای از بایتها را که با اعداد ...
فرض کنید قصد داریم خاصیت htmlContent زیر را در قالب این کامپوننت نمایش دهیم: export class ShowHtmlComponent {
htmlContent = "Template <script>alert(\"Hello!\")</script> <b>Syntax</b>";
}
اگر از روش متداول binding استفاده شود: <h3>Binding innerHTML</h3>
<p>Bound value:</p>
<p>{{htmlContent}}</p>
چنین خروجی حاصل خواهد شد:
...
در مطلب « C# 7 - Tuple return types and deconstruction » با نوعهای جدید بازگشتی Tuple در C# 7.0 آشنا شدیم. در C# 7.1 تشخیص نام اعضای Tuple تعریف شده بهبود یافته و از این لحاظ شبیه به anonymous types شدهاست. مفهوم «Name Inference» یا «حدس زدن نامها» را با یک مثال بهتر میتوان توضیح داد. string name = "User 1";
int age = 20;
var personTuple = (name, age);
Console.WriteLine(personTuple.Item1); // User 1
Console.WriteLine(person ...
Literal چیزی است مانند null و در حقیقت یک واژهی کلیدیاست که دارای مقداری مشخص میباشد. واژه کلیدی default نیز مفهوم مشابهی را به همراه دارد. تا پیش از C# 7.1 برای دسترسی به مقدار پیشفرض value types به صورت ذیل عمل میشد: int a = default(int);
در اینجا مقدار پیشفرض نوعی که بین پرانتزها ذکر میشود، بازگشت داده خواهد شد. اگر int ذکر شود، صفر و اگر bool ذکر شود، مقدار fa ...
پس از فعالسازی C# 7.1 ، اولین ویژگی جدید C# 7.1، متدهای Main برنامههای کنسول (و همچنین WPF و WinForms) هستند که اینبار قابلیت تعریف async را نیز دارند.
نحوهی کار با متدهای async، در متدهای Main نگارشهای پیش از C# 7.1
برای کار با متدهای Async نیاز است از واژهی کلیدی await استفاده شود و با قید این واژه، ضروری است واژهی کلیدی async نیز به امضای متد دربرگیرندهی عملیات اضافه گردد؛ اما در نگارشهای پیشین زبان #C ...