Mini Course #1 Clean Architecture + CQRS - YouTube
00:00:00 - Intro
00:01:10 - Why do we record this course?
00:04:39 - Layered architecture: Why I don't like it anymore?
00:27:27 - Clean architecture
00:38:16 - Course prerequisites (still can't pronounce it correctly)
00:42:30 - What do we build?
00:45:18 - *Domain Layer*
00:49:57 - Entity
01:00:20 - Primitive obsession code smell
01:03:20 - Value Object
01:10:54 - Custom exceptions
01:33:25 - Domain model validation
01:38:55 - Aggregate
01:50:50 - Domain event
02:14:30 - Factory
02:28:50 - Policy
02:43:50 - Repository
02:48:55 - Domain Layer: Summary
02:56:45 - CQS: Command Query Separation
03:07:46 - CQRS: Command Query Responsibility Segregation
03:29:48 - *Application Layer*
03:30:25 - Command/Command Handler/Command Dispatcher definitions
03:40:45 - Automatic command handlers registration
03:44:12 - Application & Domain registration
03:50:52 - Command
03:55:31 - Command Handler
04:01:11 - Where to put methods related to reading?
04:07:00 - Read Service
04:14:14 - Weather Service
04:28:25 - Overview of the other commands & command handlers
04:34:35 - Query/Query Handler/Query Dispatcher definitions
04:44:37 - Automatic query handlers registration (BONUS: example of copy/paste pattern)
04:52:50 - How to tackle reading on Query side?
05:06:30 - *Infrastructure Layer*
05:07:56 - Configuration of Entity Framework Core
05:15:15 - Read Models
05:19:05 - ReadDbContext & WriteDbContext
05:24:13 - EF Entity Configuration
05:42:37 - DbContexts registration
05:55:51 - Query Handlers
06:12:18 - Repository implementation on top of EF Core
06:16:45 - Read Service implementation on top of EF Core
06:19:00 - Dummy Weather Service implementation
06:23:20 - EF Migration
06:29:50 - Applying EF migrations automatically
06:39:38 - *Presentation Layer*
06:41:35 - Controller
06:50:43 - How to return ID of resource in CQRS approach?
07:00:02 - Testing API
07:09:29 - *Cross Cutting Concerns*
07:09:30 - Error Handling
07:20:49 - Logging
07:34:57 - *Unit Testing*
07:42:34 - Unit Test on Domain Layer
08:09:45 - Unit Test on Application Layer
08:34:00 - Summary
یکی از مهمترین بخش هایی که یک Farm Admin شیرپوینت باید به آن توجه کند ، تهیه پشتیبانهای مناسب از شیرپوینت است . این امر در باب نگهداری از Farm بسیار مهم بوده و در صورتی که شما یک Farm Administrator هستید و به این امر توجه لازم را ندارید ، پیشنهاد میکنم این پست را مطالعه کنید .
واژه مناسب بودن Backup ، شامل مسایلی چون محدوده و دامنه ای است که از آن پشتیبان تهیه میشود (یک Site Collection یا Application یا تمام Farm و ... ) ونیز قابل استفاده بودن آن فایل پشتیان (چرا که گرفتن یک پشتیبان به این معنی نیست شما میتوانید صد درصد آن را Restore نمایید پس باید حتما آزمایش شود ) . همچنین شامل این نکته نیز میشود که با Restore کردن این پشتیبان چه مقدار از اطلاعات شما از بین رفته و قابل بازگشت نمیباشد (منظور بازه زمانی است که شما به صورت دوره ای پشتیبان گیری میکنید )
با این مقدمه به جزییات بیشتری میپردازم :
خیلی از مواقع ما نیاز داریم از Reflection استفاده کنیم اما Reflection به خودی خود نسبت به حالی عادی خیلی کندتر هست و نیاز به نوشتن کدهای بیشتری دارد.
برای سرعت بیشتر و استفاده راحتتر از Reflection میتونین از کتابخانه FastMember استفاده کنین. (بین تستهای که شخصا داشتم تو سناریوهای مختلف، FastMember بین 6 تا 96 برابر سریعتر از Reflection معمولی سریعتر بود.)
مثلا برای دسترسی به propertyهای یک object در runtime با کمک FastMember، خواهیم داشت:
var accessor = ObjectAccessor.Create(obj); var propName = "MyProperty" var value = accessor[propName];
نکته :
این کتابخانه کدها IL برنامه رو در runtime تغییر میده، در نتیجه در محیطهای AOT (مخفف Ahead of Time) مانند Xamarin iOS کار نخواهد کرد.
در مقاله زیر که مقاله جالبی هست توضیح میده، رفلکشن چطور کار میکنه و چرا کند هست
سپس به روشهای افزایش پرفرمنس رفلکشن اشاره میکنه و در آخر بنچمارکی از نتیجه اونها رو نشون میده
توسعه سیستم مدیریت محتوای DNTCms - قسمت اول
10) Practical .NET: Powerful JavaScript With Upshot and Knockout
The Microsoft JavaScript Upshot library provides a simplified API for
retrieving data from the server and caching it at the client for reuse. Coupled
with Knockout, the two JavaScript libraries form the pillars of the Microsoft
client-side programming model.
9) On VB: Database Synchronization with the Microsoft Sync
Framework
The Microsoft Sync Framework is a highly flexible framework
for synchronizing files and data between a client and a master data store. With
great flexibility often comes complexity and confusion, however.
8) C# Corner: Performance Tips for Asynchronous Development in
C#
Visual Studio Async is a powerful development framework, but it's
important to understand how it works to avoid performance hits.
7) 2 Great JavaScript Data-Binding Libraries
JavaScript
libraries help you build powerful, data-driven HTML5 apps.
6) On VB: Entity Framework Code-First Migrations
Code First
Migrations allow for database changes to be implemented all through code.
Through the use of Package Manager Console (PMC), commands can be used to
scaffold database changes.
5) C# Corner: The New Read-Only Collections in .NET 4.5
Some
practical uses for the long-awaited interfaces, IReadOnlyList and
IReadOnlyDictionary, in .NET Framework 4.5.
4) C# Corner: Building a Windows 8 RSS Reader
Eric Vogel
walks through a soup-to-nuts demo for building a Metro-style RSS reader.
3) C# Corner: The Build Pattern in .NET
How to separate
complex object construction from its representation using the Builder design
pattern in C#.
2) Inside Visual Studio 11: A Guided Tour
Visual Studio 2012
(code-named Visual Studio 11 then) is packed with new features to help you be a
more efficient, productive developer. Here's your guided tour.
1) HTML5 for ASP.NET Developers
The technologies bundled as
HTML5 finally support what developers have been trying to get HTML to do for
decades.
انتشار نسخه نهایی Internet Explorer 11 برای Windows 7
دانلود Internet Explorer 11 for Windows 7 64-bit Edition and Windows Server 2008 R2 64-bit Edition
http://www.microsoft.com/en-us/download/details.aspx?id=40901
ارائه DotNET Framework 4.8.1
اطلاعات ریز و سورس کد مأموریت آپولو 11 روی سایت گیت هاب قرار دادهشده است و میتواند راهنمای خوبی برای محققان کشورهای تازهکار برای انجام مأموریتهای فضایی بهویژه ارسال انسان بهکرات دیگر باشد.