کتاب صوتی از C# تا CIL: کالبدشکافی ژنریکهای .NET
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره از C# تا CIL: کالبدشکافی ژنریکهای .NET
موضوع کلی: زیرساخت، رانتایم و برنامهنویسی پیشرفتهٔ .NET
موضوع میانی: ژنریکها، سیستم نوع و کامپایل در CLR
📋 سرفصلهای دوره
- 1. مسیر اجرای برنامهٔ C# در CLR و مفهوم CIL
- 2. آسمبلی، متد، کد بایت و قراردادهای نامگذاری در ECMA-335
- 3. خواندن متادیتا، امضاها و توکنهای متادیتا
- 4. نوعهای مقدماتی، ارجاعی و جابهجایی دادهها در CLR
- 5. boxing و unboxing در سیستم نوع .NET
- 6. مفاهیم پایهٔ برنامهنویسی ژنریک
- 7. تعریف و استفاده از کلاسهای ژنریک
- 8. تعریف و پیادهسازی اینترفیسهای ژنریک
- 9. تعریف و کاربرد دلیگیتهای ژنریک
- 10. تعریف و فراخوانی متدهای ژنریک
- 11. استنتاج نوع برای متدهای ژنریک
- 12. ارجاع صریح به آرگومانهای نوعی
- 13. واریانس و کنترایوانریانس در اینترفیسها و دلیگیتهای ژنریک
- 14. محدودیت نوعی با کلیدواژهٔ constraints
- 15. معنای اجرایی محدودیتهای class، struct، new() و ref
- 16. محدودیت unmanaged و الزامات آن در نسخههای مختلف .NET
- 17. پارامتر نوعی بدون محدودیت و رابطهٔ آن با object
- 18. انتخاب مقدار پیشفرض با default(T)
- 19. زیرکلاسسازی و پیادهسازی base class ژنریک
- 20. سازگاری typeهای ژنریک و غیرژنریک در پیادهسازی اینترفیس
- 21. میراث، substitution و override در ساختارهای ژنریک
- 22. آرایههای ژنریک، covariance و محدودیتهای runtime
- 23. collectionهای استاندارد و الگوی List<T>
- 24. IEnumerable<T> و deferred execution
- 25. IQueryable<T> و expression trees
- 26. ترکیب LINQ با APIهای ژنریک
- 27. مدیریت exception در typeها و متدهای ژنریک
- 28. دلیگیتهای ژنریک در callbackها و pipelineها
- 29. مدل async/await و انواع Task<T> و ValueTask<T>
- 30. بازتاب ساختار ژنریک با reflection
- 31. فراخوانی و ایجاد instantiations ژنریک با reflection
- 32. attributes روی type، method، parameter و generic constraints
- 33. دینامیک در .NET و فراخوانی generic members
- 34. تعریف generic type در CIL
- 35. نمای CIL از generic method definition
- 36. TypeSpec و نمایش generic type instantiation
- 37. MethodSpec و نمایش generic method instantiation
- 38. خواندن امضاها و stack layout در متدهای ژنریک
- 39. فرامین call، callvirt، newobj و castclass در کد ژنریک
- 40. constrained call برای فراخوانی interface در CIL
- 41. boxing و unboxing در سطح CIL
- 42. exception handling و cleanup در کدهای ژنریک
- 43. تولید .cctor و محدودیتهای generic در runtime
- 44. JIT compilation و instantiation کد ژنریک
- 45. code sharing میان typeها و متدهای ژنریک
- 46. generic type table و مدیریت instantiations در runtime
- 47. tiered compilation و recompilation در نسلهای مختلف JIT
- 48. NGen، ReadyToRun و NativeAOT برای کد ژنریک
- 49. آدرسدهی static members در instantiations ژنریک
- 50. thread safety، lock و استثنائات ThreadStatic در کدهای ژنریک
- 51. nullable reference types و رفتار runtime آنها
- 52. debugging generic instantiations و breakpointها
- 53. profiling overhead و allocation در کدهای ژنریک
- 54. benchmarking با GenericBenchmarks یا ابزارهای معادل
- 55. بهینهسازی انتخاب type، constraints و الگوهای فراخوانی
- 56. اشتباهات رایج در inheritance، variance و constraints
- 57. طراحی abstractionهای ژنریک قابل استفادهسازی مجدد
- 58. پیادهسازی collectionهای سفارشی با generic interfaces
- 59. تست رفتار generic typeها در سناریوهای runtime
- 60. ترکیبسازی یک سیستم collection ژنریک و تحلیل CIL آن
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
.NET
.NET Generics
.NET Performance
.NET Runtime
C#
CIL
CLR
ECMA-335
Generic Constraints
Generic Programming
IL Assembler
Intermediate Language
JIT Compilation
LINQ
Reflection
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.