- Typewriter
Using Typewriter to Strongly-Type Your Client-Side Models and Services
- NSwag
- TypeLITE
- gulp-typescript-cs-poco
int[] numbers = new int[] {6, 5, 1, 9, 18, 5, 3, 21};
var coll1 = numbers.Take(2); var coll2 = numbers.Skip(2).Take(2); var coll3 = numbers.Skip(4).Take(2); var coll4 = numbers.Skip(6).Take(2);
static class LinqExtensions { public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T> list, int parts) { int i = 0; var splits = from item in list group item by i++ % parts into part select part.AsEnumerable(); return splits; } }
List<int> numbers = new(); int counter = 0; Random rand = new(DateTime.Now.Millisecond); while(counter < 100) { numbers.Add(rand.Next(1, 1000)); counter++; }
IEnumerable<int[]> sublists = numbers.Chunk(8);
var avg=sublists.ElementAt(6).Average();
جناب نصیری با تشکر از مقاله مفیدتون لازم میدونم در جهت تکمیل مباحث به چند نکته اشاره کنم
1- « اگر حالت SCHEMA_AND_DATA انتخاب شود، اطلاعات شما پس از ریاستارت سرور نیز در دسترس خواهد بود. این اطلاعات به صورت خودکار از لاگ تراکنشها بازیابی شده و مجددا در حافظه قرار میگیرند «.
بازیابی اطلاعات مربوط به تراکنشهایی که به ازای In Memory OLTP است بوسیله Data File + Delta File و Log File میباشد. در صورتیکه Schema_AND_Data را به ازای این نوع جداول فعال کنید دادههای شما در Data File و دادههای حذف شده در Delta File ثبت میگردد. مکانیزم Log File برای In Memory OLTP همچنان مانند جداول Disk base وجود دارد اما با بهینه سازی مناسب مانند ثبت Log Record کمتر به ازای عملیات کاربران و...
2- در جایی دیگر در متن اشاره شده که In Memory OLTP اجازه استفاده از Identity را به کاربر نمیدهد باید اشاره کنم که این موضوع برای نسخه CTP بوده است در نسخه RTM این قابلیت وجود دارد . لازم میدانم اشاره کنم که در Books Online جایی گفته شده که امکان استفاده وجود ندارد و در جایی هم گفته شده وجود دارد .
به مثال زیر دقت کنید
CREATE TABLE test( [ID] BIGINT IDENTITY(1,1) NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT=10000), N1 NVARCHAR(100), N2 NVARCHAR(100), N3 NVARCHAR(100) ) WITH (MEMORY_OPTIMIZED=ON,DURABILITY = SCHEMA_AND_DATA) GO
باز هم از مطالب خوب شما متشکرم مقاله مفیدی بود .
class ReferenceItem { constructor(title: string, publisher?: string) { // perform initialization here } }
let encyclopedia = new ReferenceItem('WorldPedia', 'WorldPub');
class ReferenceItem { numberOfPages: number; }
class ReferenceItem { numberOfPages: number; get editor(): string { // custom getter logic goes here, should return a value } set editor(newEditor: string) { // custom setter logic goes here } }
class ReferenceItem { numberOfPages: number; get editor(): string { // custom getter logic goes here, should return a value } set editor(newEditor: string) { // custom setter logic goes here } printChapterTitle(chapterNum: number): void { // print title here } }
class Author { name: string; constructor(authorName: string) { name = authorName; } }
class Author { constructor(public name: string){} }
class Library { constructor(public name: string) {} static description: string = 'A source of knowledge'; } let lib = new Library('New York Public Library'); console.log(lib.name); // available on instances of the class console.log(Library.description);
class ReferenceItem { title: string; printItem(): void { // print something here } } class Journal extends ReferenceItem { constructor() { super(); } contributors: string[]; }
class Journal extends ReferenceItem { constructor() { super(); } printItem(): void { super.printItem(); console.log('message from Journal'); } contributors: string[]; }
abstract class ReferenceItem { private _publisher: string; static departement: string = 'Research'; constructor(public title: string, protected year: number) { } printItem(): void { console.log('message from abstract class'); } get publisher(): string { return this._publisher.toUpperCase(); } set publisher(newPublisher: string) { this._publisher = newPublisher; } abstract printCitation(): void; } class Encyclopedia extends ReferenceItem { constructor(newTitle: string, newYear, public edition: number) { super(newTitle, newYear); } printCitation(): void { console.log('message'); } } let test = new Encyclopedia('WorldPerdia', 1900, 10); test.printItem();
Input Validation for me is about validating the user input. Some people call "Name must not be empty" a business rule, I think about it as input validation. Business Rules validation is more complex, because a business rule for me is not "Name must not be empty", it is a definition of a state in the system that requires an action. Here is a definition of a business rule:
An order should be payed within 30 days, this duration can be extended, to a maximum of three times.