شماره تماس 09336863931 | 09178169907 پست الکترونیک provid.ir@gmail.com
آموزش Concurrent Collection ها (کالکشن های همروند) در سی شارپ

آموزش Concurrent Collection ها (کالکشن های همروند) در سی شارپ

یکی دیگر از آموزش های گروه آموزشی پرووید بسته ی آموزش Concurrent Collection ها (کالکشن های همروند) در سی شارپ می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی “آموزش کالکشن های همروند در سی شارپ” است که با نام اصلی C# Concurrent Collections شرکت Pluralsight منتشر شده است.

Collection ها در سی شارپ

به منظور استفاده و مدیریت از گروهای از اشیا در برنامه های دات نت می توان آرایه ای از اشیا و یا Collection ی از اشیا را ساخت. کاربرد آرایه ها بیشتر در کار کردن با تعداد مشخصی از اشیا می باشد که همگی از یک نوع یکسان هستند. به عبارت دیگر آرایه ها در دات نت Strongly Typed هستند.

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

اگر مجموعه ای که قصد کار کردن با آن را دارید شامل عناصری می شود که همگی از یک جنس هستند می توانید از کلاس هایی که در System.Collections.Generic  می باشند استفاده کنید. Collection هایی که جنریک هستند به ما امکان اضافه کردن اشیا غیرهمجنس را به مجموعه نمی دهند. علاوه بر این، در زمان بازیابی عنصری از این مجموعه ها نیازی به تشخیص نوع آن عنصر نیست.

Concurrent Collection ها در سی شارپ

در دات نت فریم ورک 4 یک namespace با نام System.Collections.Concurrent معرفی شد که حاوی کلاس های کالکشنی می باشد که نه تنها Thread-safe هستند بلکه مقیاس پذیری بالایی نیز دارند. به عبارت دیگر در برنامه نویسی همروند چندین Thread می توانند بدون نگرانی از بوجود آمدن مشکلات مربوط به برنامه های همروند از قبیل شرایط Race اقدام به درج عناصر در این کلاس ها و حذف عناصر از درون آنها کنند. این موضوع نیازی به Thread Synchronization اضافی در کد شما ندارد. در زمان برنامه نویسی همروند، زمانی که می دانیم چندین Thread با یک کالکشن از داده ها به صورت همزمان کار خواهند کرد و عناصری را در آن درج و از خواهند خواند استفاده از این نوع کلاس های کالکشنی توصیه می شود.

بسته ی آموزش Collection ها در سی شارپ

از شما دعوت می کنیم از بسته ی آموزش Collection ها در سی شارپ دیدن کنید.

رجوع به این بسته در سایت Pluralsight

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

دانلود دموی آموزش Concurrent Collection ها (کالکشن های همروند) در سی شارپ

عناوین فصل های آموزش Concurrent Collection ها (کالکشن های همروند) در سی شارپ

فصل اول: معرفی کالکشن های همروند

  • مقدمه ی دوره ی آموزشی
  • مقدمه
  • معرفی برنامه ی نمونه: The Geek Clothing Company
  • چند نخی (Multithreaded) کردن Queue
  • رفع مشکل برنامه با کلاس جنریک ConcurrentQueue
  • دلیل شکست مدت Enqueue از کلاس جنریک Queue
  • متدهای Atomic
  • چرا استفاده از قفل (lock) ها همیشه مناسب نیست
  • کالکشن های همروند همیشه از قفل ها استفاده نمی کنند
  • کالکشن های همروند و شرایط Race
  • انوع کالکشن های همروند
  • اینترفیس جنریک IProducerConsumerCollection و کلاس جنریک BlockingCollection
  • کلاس جنریک Partitioner و کلاس جنریک OrderablePartitioner
  • جمع بندی

فصل دوم: معرفی کلاس ConcurrentDictionary

  • مقدمه
  • عملیات اصلی Dictionary ها
  • تبدیل کردن به ConcurrentDictionary
  • چرا متد Add از کلاس ConcurrentDictionary مخفی است
  • تعدادی از متدهای Thread-safe
  • الگوی متدهای TryXXX و متد TryGetValue
  • متد TryAdd
  • متد TryRemove
  • متد TryUpdate
  • مشکل TryUpdate
  • متد AddOrUpdate
  • چالش بوجود آمدن شرایط Race
  • هر عملیات را در یک فراخوان متد تک انجام دهید
  • متد GetOrAdd
  • جمع بندی

فصل سوم: تمرین عملی با کلاس ConcurrentDictionary

  • مقدمه
  • معرفی مثال BuyAndSell
  • الگوریتم Buy-Sell
  • استفاده از AddOrUpdate برای به روز رسانی Concurrent Dictionary
  • استفاده از Interlock.Add برای به روز رسانی متغیر Total
  • متدهای Thread-safe بدون استفاده از قفل
  • چرا نمی توانیم از TryUpdate استفاده کنیم
  • به روز رسانی شرطی Concurrent Dictionary
  • اعمال شرط توسط Lambda در متد AddOrUpdate
  • چالش مربوط به عوارض جانی متدها (Side-effect ها)
  • متد AddOrUpdate و اجتناب از منطق های شرطی
  • جمع زدن مقادیر Concurrent Dictionary با استفاده از LINQ
  • استفاده از متد GetOrAdd برای نمایش مقادیر
  • تست کردن برنامه ی مثال در شرایط دشوار
  • جمع بندی

فصل چهارم: کالکشن های Producer-Consumer از قبیل Queue ،Stack و Bag

  • مقدمه
  • مروری بر Queue
  •  معرفی کلاس جنریک ConcurrentQueue
  • معرفی کلاس جنریک ConcurrentStack
  •  معرفی کلاس جنریک ConcurrentBag
  • سناریوهای Producer-Consumer (تولید کننده – مصرف کننده) کدامند؟
  • اینترفیس جنریک IProducerConsumerCollection
  • جمع بندی

فصل پنجم: تمرین عملی با کالکشن های Producer-Consumer و BlockingCollection

  • مقدمه
  • معرفی برنامه ی مثال SalesBonuses
  • Log کردن اشیا Trade به یک Queue
  • درج عناصر در Concurrent Queue
  • حلقه ی مصرف کننده: نظارت بر Concurrent Queue
  • جریان اصلی برنامه
  • محاسبه ی Bonus ها
  • چالش Polling
  • معرفی کلاس جنریک BlockingCollection
  • استفاده از متد Take از کلاس جنریک BlockingCollection برای جلوگیری از Polling
  • ارتباط کلاس جنریک BlockingCollection و اینترفیس IProducerConsumerCollection
  • قابلیت های دیگر کلاس جنریک BlockingCollection
  • جمع بندی

فصل ششم: بعضی از Best Practice های کار کردن با Concurrent Collection ها

  • مقدمه
  • کالکشن های همروند و مسئله ی Performance
  • بنچ مارک کردن کلاس ConcurrentDictionary با چندین Thread
  • دسترسی پراکنده به Shared State
  • کلاس ConcurrentDictionary از قفل های دانه ریز استفاده می کند
  • متد IsEmpty و پروپرتی Count در ConcurrentDictionary عملکرد بدی دارد
  • از اتکا به State یک ConcurrentDictionary خودداری کنید
  • Enumerate کردن و تغییر در یک کالکشن معمولی
  • Enumerate کردن و تغییر در یک کالکشن همروند
  • چه هنگان استفاده از کالکشن های همروند توصیه می شود؟
  • جمع بندی
  • جمع بندی بسته ی آموزشی

خرید آنلاین بسته یآموزش Concurrent Collection ها (کالکشن های همروند) در سی شارپ

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

به منظور دریافت پستی بسته های برنامه نویسی سایت پرووید، پس از انجام پرداخت، بر روی دکمه ی زیر کلیک کرده و فرم مربوطه را پر کنید.

Purchase-Icon

آموزش فارسی Collection ها در سی شارپ

آموزش فارسی Collection ها در سی شارپ

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

آموزش Collection ها در سی شارپ

فضانام System.Collections دربردارنده ی کلاس های Collection ی است. در برنامه ها برای ذخیره سازی و بازیابی اشیا از این کلاس ها استفاده می کنیم. در بسیار از برنامه هایی که تولید می کنیم این امر، یعنی ذخیر و بازیابی اشیا بسیار ضروری است. فریم ورک دات نت دارای کلاس های Collection ی زیادی برای انجام این کار است که هر کدام کاربرد خاص خود را دارند.

عناوین بسته ی آموزش فارسی Collection ها در سی شارپ

  • معرفی Collection ها و بررسی کلاسهای ArrayList, SortedList, Stack
  • کلاس های BitArray, Queue, Hashtable
  • مشکلات کلاس های غیرجنریک و بررسی کالکشن Generic List
  • معرفی کلاس های Generic Queue, Generic Stack
  • بررسی کلاسهای جنریک Dictionary, LinkedList
  • بررسی کلاسهای جنریک SortedDictionary, SortedList

خرید آنلاین بسته ی آموزش فارسی Collection ها در سی شارپ

200,000 ریال – خرید
آموزش Collection ها در سی شارپ

آموزش Collection ها در سی شارپ

یکی دیگر از آموزش های گروه آموزشی پرووید بسته ی آموزش جامع Collection ها در سی شارپ می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی “آموزش اصول کار با کالکشن ها در سی شارپ” است که با نام اصلی C Sharp Collections Fundamentals شرکت Pluralsight منتشر شده است.

Collection ها در سی شارپ

به منظور استفاده و مدیریت از گروهای از اشیا در برنامه های دات نت می توان آرایه ای از اشیا و یا Collection ی از اشیا را ساخت. کاربرد آرایه ها بیشتر در کار کردن با تعداد مشخصی از اشیا می باشد که همگی از یک نوع یکسان هستند. به عبارت دیگر آرایه ها در دات نت Strongly Typed هستند.

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

اگر مجموعه ای که قصد کار کردن با آن را دارید شامل عناصری می شود که همگی از یک جنس هستند می توانید از کلاس هایی که در System.Collections.Generic  می باشند استفاده کنید. Collection هایی که جنریک هستند به ما امکان اضافه کردن اشیا غیرهمجنس را به مجموعه نمی دهند. علاوه بر این، در زمان بازیابی عنصری از این مجموعه ها نیازی به تشخیص نوع آن عنصر نیست.

بسته ی آموزش Concurrent Collection ها (کالکشن های همروند) در سی شارپ

از شما دعوت می کنیم از بسته ی آموزش Concurrent Collection ها (کالکشن های همروند) در سی شارپ دیدن کنید.

 

Pluralsight Logo

رجوع به این بسته در سایت Pluralsight

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

دانلود دموی آموزش جامع کار با Collection ها در سی شارپ

download demo

عناوین فصل های آموزش جامع کار با Collection ها در سی شارپ

فصل اول: معرفی Collection ها در سی شارپ

  • مقدمه
  • کالکشن چیست؟
  • لیست ها
  • دیکشنری ها
  • Set ها
  • عملیات مربوط به کالکشن ها
  • تاریخچه ای از کالکشن های دات نت
  • کالکشن ها در دات نت امروز
  • جمع بندی

فصل دوم: درون آرایه ها

  • مقدمه
  • آرایه چیست؟
  • استفاده مقدماتی از آرایه ها در سی شارپ
  • مکانیزم پشت پرده آرایه ها
  • چرا پیدا کردن یک عنصر در آرایه سریع است؟
  • چرا سایز آرایه قابل تغییر نیست؟
  • مقداردهی اولیه به آرایه ها
  • املای سی شارپ برای تعریف آرایه
  • پیمایش آرایه ها با حلقه های for و foreach
  • خاصیت فقط خواندنی بودن foreach
  • جایگزین کردن و تغییر عناصر
  • جمع بندی

فصل سوم: نوع داده ای Array

  • مقدمه
  • Array به عنوان یک Reference Type
  • ذخیره کردن تایپ های مشتق شده در Array
  • کلاس Array چیست؟
  • Array چه کار می تواند کند؟
  • کپی کردن Array ها
  • معکوس کردن Array
  • مرتب سازی Array با IComparer جنریک
  • پیدا کردن عناصر با متدهای IndexOf، FindAll و غیره
  • جست و جوی Binary
  • متدهای Array در کار با LINQ
  • جمع بندی

فصل جهارم: اینترفیس های کاربردی در کالکشن ها

  • مقدمه
  • درخت وراثت در اینترفیس ها
  • اینترفیس های جنریک
  • اینترفیس های فقط خواندنی
  • اینترفیس های قدیمی غیرجنریک
  • کالکشن IEnumerable جنریک
  • کالکشن ICollection جنریک
  • پروپرتی IsReadOnly از کالکشن جنریک ICollection
  • پیاده سازی Explicit یک اینترفیس
  • اینترفیس IReadOnlyCollection جنریک
  • اینترفیس IList جنریک
  • اینترفیس IReadOnlyList جنریک
  • اینترفیس IDictionary جنریک
  • اینترفیس IReadOnlyDictionary جنریک
  • اینترفیس ISet جنریک
  • جمع بندی

فصل پنجم: لیست ها

  • مقدمه
  • معرفی List جنریک
  • پشت پرده ی List جنریک
  • قابلیت های List جنریک
  • متد AsReadOnly و ReadOnlyCollection جنریک
  • Collection جنریک
  • ObservableCollection جنریک
  • جمع بندی

فصل ششم: لیست های پیوندی، استک و صف

  • مقدمه
  • معرفی لیست های پیوندی
  • کلاس های LinkedList و LinkedListNode جنریک
  • استک جنریک
  • صف جنریک
  • مقدمه

فصل هفتم: دیکشنری ها

  • مقدمه
  • معرفی دیکشنری جنریک
  • پیمایش عناصر دیکشنری
  • جست و جوی عناصر دیکشنری
  • تغییر دادن دیکشنری
  • استفاده از IEqualityComparer برای مقایسه کلید ها
  • پشت پرده ی Dictionary جنریک
  • متد GetHashCode و ماهیت Hash Code
  • نوشتن یک EqualityComparer سفارشی
  • ReadOnlyDictionary جنریک
  • SortedList جنریک
  • پیاده سازی یک IComparer سفارشی
  • SortedDictionary جنریک
  • معرفی KeyedCollection جنریک
  • استفاده از KeyedCollection جنریک به عنوان یک لیست
  • جمع بندی

فصل هشتم: Set ها

  • مقدمه
  • معرفی HashSet جنریک
  • HashSet جنریک و مفهوم یکتایی
  • HashSet جنریک و Comparer ها
  • متد IntersectsWith و مفهوم اشتراک
  • مفاهیم Union، Difference و Symmetric Difference
  • مقایسه ی عناصر و متد SetEquals
  • مقایسه و زیر مجموعه در Set ها
  • SortedSet جنریک
  • جمع بندی

فصل نهم: Enumerator ها

  • مقدمه
  • Enumerator ها و اینترفیس IEnumerator جنریک
  • ماهیت حلقه ی foreach
  • چرا کالکشن ها به خودی خود قابل پیمایش نیستند؟
  • تغییر عناصر در زمان پیمایش
  • پیاده سازی Enumerator سفارشی
  • مفهوم Enumerable Covariance
  • جمع بندی

فصل دهم: آرایه های چندبعدی و دندانه ای

  • مقدمه
  • آرایه های Multidimensional
  • مفهوم Length و Rank
  • مفهوم Bound و متدهای GetLowerBound و GetUpperBound
  • آرایه های Jagged
  • مقایسه های آرایه های Multidimensional و Jagged
  • جمع بندی

خرید آنلاین بسته ی آموزش جامع کار با Collection ها در سی شارپ

450,000 ریال – پیش خرید

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

به منظور دریافت پستی بسته های برنامه نویسی سایت پرووید، پس از انجام پرداخت، بر روی دکمه ی زیر کلیک کرده و فرم مربوطه را پر کنید.

Purchase-Icon

CLOSE
CLOSE