اشتراک‌ها
دوره مقدماتی ASP.NET Core از Microsoft Virtual Academy

Explore ASP.NET Core SDK and tooling, look at .NET Core CLI, and learn how to build an ASP.NET Core app with Razor Pages MVC. Plus, get the details on logging and diagnostics. Find lots of cross-platform goodness and get .NET ready, as you learn more about this framework for building modern cloud-based web apps. Build your first ASP.NET project, and gear up for the intermediate ASP.NET Core course. 

دوره مقدماتی ASP.NET Core از Microsoft Virtual Academy
اشتراک‌ها
دوره 3 ساعت و نیمه Asp.Net Core SignalR

Asp.Net Core WebSockets Vs SignalR. Which should you use? (Full Course)

In this video we build 2 separate chat applications, one using Asp.Net Core WebSockets and the other using SignalR, allowing you to compare approaches and decide on which one works best for you. In both cases we build them with C#, .NET Core and JavaScript. You’ll also learn about:

- .NET Core Request Pipeline
- Request Delegates
- Asynchronous Programming in .NET (Async / Await)
- Introduction to Dependency Injection  

دوره 3 ساعت و نیمه Asp.Net Core SignalR
اشتراک‌ها
یک مثال از Angular , Angular Material , Docker

Features

Responsive layout (flex layout module)
Internationalization
Lazy loading modules
Interceptors and Events (Progress bar active, if a request is pending)
CRUD: create, update and remove heroes
Service Workers
Custom example library
Search bar, to look for heroes
Angular Pipes
Custom loading page
Modal and toasts (snakbar)!
Unit tests with Jasmine and Karma including code coverage
End-to-end tests with Protractor
ES6 Promises
Github pages deploy ready
Google Tag Manager
Modernizr (browser features detection)
Following the best practices! 
یک مثال از Angular , Angular Material , Docker
اشتراک‌ها
آموزش ساخت اپلیکیشن های تجاری با WPF, MVVM, and Entity Framework Code First

آموزش عالی  برای کسانی که می‌خواهند WPF و الگوی MVVM و CODE FIRST رو باهم یاد بگیرند :

At the core of developing a data-driven WPF application is a thorough knowledge of how to use the MVVM Pattern and Entity Framework. In this course, Building an Enterprise App with WPF, MVVM, and Entity Framework Code First, you will learn the skills you need to create high-quality enterprise applications with WPF. First, you'll learn about typical scenarios like communicating between different ViewModels, detecting model changes, and handling many-to-many relations. Next, you'll learn all about creating a tabbed user interface. Finally, you'll explore implementing optimistic concurrency and styling your application. When you're finished with this course, you will have a deep understanding of WPF, MVVM, and Entity Framework that will help you immensely as you move forward and create your own data-driven enterprise application

 
آموزش ساخت اپلیکیشن های تجاری با  WPF, MVVM, and Entity Framework Code First
مطالب
مراحل ارسال یک پروژه‌ی Visual Studio به GitHub
از نگارش 2012 ویژوال استودیو، امکان کار با مخازن Git، به صورت یکپارچه و توکار و بدون نیاز به ابزارهای جانبی، توسط آن فراهم شده‌است. در ادامه قصد داریم به کمک این ویژگی توکار، نحوه‌ی ارسال یک پروژه‌ی از پیش موجود VS.NET را برای اولین بار به GitHub بررسی کنیم.


تنظیمات مقدماتی GitHub

در ابتدا نیاز است یک مخزن کد خالی را در GitHub ایجاد کنید. برای این منظور به برگه‌ی Repositories در اکانت GitHub خود مراجعه کرده و بر روی دکمه‌ی New کلیک کنید:


سپس در صفحه‌ی بعدی، نام پروژه را به همراه توضیحاتی وارد نمائید و بر روی دکمه‌ی Create repository کلیک کنید. در اینجا سایر گزینه‌ها را انتخاب نکنید. نیازی به انتخاب گزینه‌ی READ ME و یا انتخاب مجوز و غیره نیست. تمام این کارها را در سمت پروژه‌ی اصلی می‌توان انجام داد و یا VS.NET فایل‌های ignore را به صورت خودکار ایجاد می‌کند. در اینجا صرفا هدف، ایجاد یک مخزن کد خالی است.


از اطلاعات صفحه‌ی بعدی، تنها به آدرس مخصوص GitHub آن نیاز داریم. از این آدرس در VS.NET برای ارسال اطلاعات به سرور استفاده خواهیم کرد:



تنظیمات VS.NET برای ارسال پروژه به مخزن GitHub

پس از ایجاد یک مخزن کد خالی در GitHub، اکنون می‌توانیم پروژه‌ی خود را به آن ارسال کنیم. برای این منظور از منوی File، گزینه‌ی Add to source control را انتخاب کنید و در صفحه‌ی باز شده، گزینه‌ی Git را انتخاب نمائید:



سپس در کنار برگه‌ی Solution Explorer، برگه‌ی Team Explorer را انتخاب کنید. در اینجا بر روی دکمه‌ی Home در نوار ابزار آن کلیک کرده و سپس بر روی دکمه‌ی Unsynced commits کلیک نمائید.


در ادامه در صفحه‌ی باز شده، همان آدرس مخصوص مخزن کد جدید را در GitHub وارد کرده و بر روی دکمه‌ی Publish کلیک کنید:


در اینجا بلافاصله صفحه‌ی لاگینی ظاهر می‌شود که باید در آن مشخصات اکانت GitHub خود را وارد نمائید:


به این ترتیب عملیات Publish اولیه انجام شده و تصویر ذیل نمایان خواهد شد:


در اینجا بر روی دکمه‌ی Sync کلیک کنید. به این ترتیب مخزن کد GitHub به پروژه‌ی جاری متصل خواهد شد:


سپس نیاز است فایل‌های موجود را به مخزن کد GitHub ارسال کرد. بنابراین پس از مشاهده‌ی پیام موفقیت آمیز بودن عملیات همگام سازی، بر روی دکمه‌ی Home در نوار ابزار کلیک کرده و اینبار گزینه‌ی Changes را انتخاب کنید:


در اینجا پیام اولین ارسال را وارد کرده و سپس بر روی دکمه‌ی Commit کلیک کنید:


پس از مشاهده‌ی پیام موفقیت آمیز بودن commit محلی، نیاز است تا آن‌را با سرور نیز هماهنگ کرد. به همین جهت در اینجا بر روی لینک Sync کلیک کرده و در صفحه‌ی بعدی بر روی دکمه‌ی Sync کلیک کنید:



اندکی صبر کنید تا فایل‌ها به سرور ارسال شوند. اکنون اگر به GitHub مراجعه کنید، فایل‌های ارسالی قابل مشاهده هستند:



اعمال تغییرات بر روی پروژه‌ی محلی و ارسال به سرور

در ادامه می‌خواهیم دو فایل README.md و LICENSE.md را به پروژه اضافه کنیم. پس از افزودن آن‌ها، یا هر تغییر دیگری در پروژه، اینبار برای ارسال تغییرات به سرور، تنها کافی است به برگه‌ی Team explorer مراجعه کرده و ابتدا بر روی دکمه‌ی Home کلیک کرد تا منوی انتخاب گزینه‌‌های آن ظاهر شود. در اینجا تنها کافی است گزینه‌ی Changes را انتخاب و دقیقا همان مراحل عنوان شده‌ی پیشین را تکرار کرد. ابتدا ورود پیام Commit و سپس Commit. در ادامه Sync محلی و سپس Sync با سرور.
اشتراک‌ها
میزان محبوبیت زبان‌های برنامه نویسی بر اساس GitHub pull requests

The gist of the story goes as follow:

  1. The most popular languages are JavaScript/TypeScript and Python with roughly 20% of all pull requests each. In effect, if you put JavaScript/TypeScript and Python together, you get about 40% of all pull requests.
  2. Then you get the second tier languages: Java and Scala, C/C++, and Go. They all are in the 10% to 15% range.
  3. Finally, you have PHP, Ruby and C# that all manage to get about 5% of all pull requests.
  4. Other languages are typically far below 5%. 
میزان محبوبیت زبان‌های برنامه نویسی بر اساس GitHub pull requests
اشتراک‌ها
انجمن رسمی گزارش مشکلات GitHub

GitHub Community is built to support all GitHub users on their educational journey, via Discussions. It is a resource hub, learning portal, and inspiration station, all in one. Regardless of how big or small your challenge is, all resources and information will be accessible in a true open source fashion.

انجمن رسمی گزارش مشکلات GitHub
نظرات مطالب
اعتبارسنجی مبتنی بر کوکی‌ها در ASP.NET Core 2.0 بدون استفاده از سیستم Identity
ممنون. درست است. کوکی ارسال می‌شود، ولی ValidateAntiForgeryToken درست مقدار دهی نمی‌شود و هنگام ارسال یک درخواست به سمت سرور خطای Bad Request  400 می‌دهد. وقتی  [IgnoreAntiforgeryToken] را روی آن اکشن فعال می‌کنم، مشکل حل می‌شود. ولی در حالت ValidateAntiForgeryToken  درست کار نمی‌کند:
  beforeSend: function (request) {
             request.withCredentials = true;
            sendRequestVerificationToken(request);
        },

function sendRequestVerificationToken(request) {
    request.setRequestHeader("RequestVerificationToken", $("[name='__RequestVerificationToken']").val());
}
نظرات مطالب
Implementing second level caching in EF code first
خیر. context باید به ازای هر request ایجاد و تخریب شود. در این مورد در قسمت 12 سری Ef Code first سایت جاری توضیح دادم (پیاده سازی الگوی Context Per Request در برنامه‌های مبتنی بر EF Code first ).
نظرات مطالب
آناتومی یک گزارش خطای خوب
یک نکته‌ی تکمیلی: چگونه پرسش‌های مطرح شده‌ی در GitHub را بر اساس قالب خاصی درخواست کنیم؟

تصور اینکه تمام پرسش کنندگان در حین طرح سؤالی، نکات مطلب جاری را رعایت کنند، بیهوده است. به همین جهت می‌توان با ارائه‌ی قالب‌هایی از پیش تعیین شده، آن‌ها را مقید به پر کردن جاهای خالی کنیم. برای این منظور در GitHub
- در صفحه‌ی اول پروژه، بر روی دکمه‌ی ایجاد یک فایل جدید کلیک کنید:


- سپس نام فایل را دقیقا معادل github/issue_template.md. وارد کنید (این نام ویژه توسط GitHub شناسایی می‌شود).
- در ادامه محتوای آن‌را به چیزی مانند متن ذیل تنظیم تنظیم کنید:
# Summary of the issue



## Environment

```
The in-use version:
Operating system: 
IDE: (e.g. Visual Studio 2015)
```

## Example code/Steps to reproduce:

```
paste your core code
```

## Output:

```
Exception message:
Full Stack trace:
```
- در پایان، بر روی دکمه‌ی ذخیره‌ی فایل جدید کلیک کنید.

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