برچسب Salih Cantekin

Dometrain – From Zero to Hero: Garbage Collection in .NET 2026-7

دوره From Zero to Hero: Garbage Collection in .NET. مدیریت حافظه در دات‌نت تا حد زیادی به‌صورت خودکار انجام می‌شود، اما سوءبرداشت از نحوه کارکرد زباله‌روب می‌تواند باعث ایجاد گلوگاه‌های جدی در عملکرد و نشت حافظه در برنامه‌ها شود. این دوره به بررسی دقیق نحوه عملکرد زباله‌روب در دات‌نت می‌پردازد و از ساختار حافظه زیرین شروع می‌کند. شرکت‌کنندگان با مکانیسم‌های پایه، تفاوت بین پشته (Stack) و پشته مدیریتی (Heap)، تکه‌تکه شدن حافظه و نحوه عملکرد حافظه مجازی آشنا می‌شوند. سپس دوره به سراغ اصول اصلی زباله‌روب مانند نسل‌ها (Generations)، محدوده دسترسی اشیاء و تفاوت‌های عملی بین تخصیص اشیاء کوتاه‌مدت و بلندمدت می‌رود. همچنین یاد می‌گیرند که چگونه این رفتارها را مستقیماً با استفاده از ابزارهای تحلیل عملکرد و بنچمارک‌های نهایی‌ساز اندازه‌گیری کنند. پس از یادگیری مباحث پایه، دوره به بررسی مکانیسم‌های پیشرفته زمان اجرای دات‌نت می‌پردازد. شرکت‌کنندگان موضوعاتی مانند تعلیق رشته‌های زباله‌روب، پشته اشیاء بزرگ (LOH) و نحوه نوشتن کد بدون تخصیص حافظه را بررسی می‌کنند. در نهایت، تفاوت‌های حیاتی بین حالت‌های سرور و ایستگاه کاری، نحوه مدیریت صحیح منابع مدیریت‌شده و مدیریت‌نشده با استفاده از الگوهای پاکسازی، و ویژگی‌های پیشرفته زمان اجرا مانند APIهای خاص زباله‌روب و ارجاع‌های ضعیف آموزش داده می‌شود.

Dometrain – From Zero to Hero: 1 Billion Row Performance Challenge in .NET 2026-6

From Zero to Hero: 1 Billion Row Performance Challenge in .NET دوره آموزشی استفاده از فناوری‌های مدرن دات‌نت و تکنیک‌های بهینه‌سازی می باشد که توسط آکادمی آنلاین Dometrain منتشر شده است. این دوره آموزشی یک برنامه پیشرفته و متمرکز بر عملکرد است که به توسعه‌دهندگان می‌آموزد چگونه با استفاده از فناوری‌های مدرن دات‌نت و تکنیک‌های بهینه‌سازی، مجموعه داده‌های عظیم را به طور کارآمد پردازش کنند. این دوره از چالش ۱ میلیارد ردیف برای ایجاد درک عملی و سیستماتیک از کد با کارایی بالا استفاده می‌کند، که از یک پیاده‌سازی ساده شروع می‌شود و آن را گام به گام به راه‌حلی تبدیل می‌کند که صدها برابر سریع‌تر است. ما با یک رویکرد ساده شروع می‌کنیم و بلافاصله از پروفایل عملکرد برای تجزیه و تحلیل عملکرد و تخصیص حافظه آن استفاده می‌کنیم و یک خط مبنا ایجاد می‌کنیم.