کتاب Rust Metaprogramming: Macros and Code Generation

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 62,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

📚 محتوای این محصول آموزشی (پکیج کامل)

💡 این محصول یک نسخهٔ کامل و جامع است

تمامی محتوای آموزشی این کتاب در قالب یک بسته‌ی کامل و یکپارچه ارائه می‌شود و شامل تمام نسخه‌ها و فایل‌های موردنیاز برای یادگیری است.

🎁 محتویات کامل بسته دانلودی

🎯 این بسته یک دورهٔ آموزشی کامل و چندلایه است؛ شامل کتاب‌ها، تمرین‌ها و خودآزمایی .


ℹ️ نکات مهم هنگام خرید

  • این محصول به صورت فایل دانلودی کامل ارائه می‌شود و نسخهٔ چاپی ندارد.
  • توجه: لینک‌های اختصاصی دوره طی حداکثر 24 ساعت پس از ثبت سفارش ارسال می‌شوند.
  • دقت کنید لینک ها به شماره موبایل شما ارسال می شوند. پس در ارائه شماره موبایل صحیح دقت کنید.
  • برای راهنمایی در مورد نحوه دانلود به شماره 09395106248 پیامک دهید یا تماس بگیرید. (ایده آل ترین گزینه ارسال پیام در یکی از پیام رسان ها به همین شماره است تا سریعا لینک های کتاب همانجا برای شما ارسال گردد.)
  • اگر پرداخت انجام شده ولی بعد از 24 ساعت هنوز لینک‌ها را دریافت نکرده‌اید، نام و نام خانوادگی و نام محصول را پیامک کنید تا لینک‌ها دوباره ارسال شوند.

💬 راه‌های ارتباطی پشتیبانی:
واتس‌اپ یا هر پیام رسان داخلی یا پیامک: 09395106248
تلگرام: @ma_limbs

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره Rust Metaprogramming: Macros and Code Generation

موضوع کلی: برنامه نویسی

موضوع میانی: راست (Rust)

📋 سرفصل‌های دوره

  • 1. آشنایی با متاپروگرمینگ در زبان Rust
  • 2. مقدمه‌ای بر ماکروها در Rust
  • 3. انواع ماکروها: ماکروهای اعلامی
  • 4. انواع ماکروها: ماکروهای تابعی
  • 5. انواع ماکروها: ماکروهای نمایشی
  • 6. نحو ماکروها: declarative macros
  • 7. نحو ماکروها: procedural macros
  • 8. استفاده از `macro_rules!` برای تعریف ماکروهای ساده
  • 9. نوشتن اولین ماکروی اعلامی
  • 10. قوانین تطابق الگو در `macro_rules!`
  • 11. متغیرهای الگو در `macro_rules!`
  • 12. استفاده از `tt` (token tree) در `macro_rules!`
  • 13. مدیریت خطا در ماکروهای اعلامی
  • 14. مثال‌های عملی ماکروهای اعلامی
  • 15. ماکروهای نمایشی (Derive Macros)
  • 16. ساختار ماکروهای نمایشی
  • 17. تعریف ماکروهای نمایشی سفارشی
  • 18. پیاده‌سازی traitهای استاندارد با ماکروهای نمایشی
  • 19. مثال: پیاده‌سازی `Debug` با ماکروی نمایشی
  • 20. مثال: پیاده‌سازی `Clone` با ماکروی نمایشی
  • 21. مثال: پیاده‌سازی `Default` با ماکروی نمایشی
  • 22. محدودیت‌های ماکروهای نمایشی
  • 23. ماکروهای تابعی (Function-like Macros)
  • 24. ساختار ماکروهای تابعی
  • 25. نوشتن اولین ماکروی تابعی
  • 26. پردازش ورودی در ماکروهای تابعی
  • 27. تولید کد با ماکروهای تابعی
  • 28. مثال: ماکروی `println!`
  • 29. مثال: ماکروی `format!`
  • 30. مثال: ماکروی `vec!`
  • 31. مدیریت خطا در ماکروهای تابعی
  • 32. مقایسه ماکروهای اعلامی و تابعی
  • 33. استفاده از crateهای کمکی برای نوشتن ماکروها
  • 34. `syn` برای تجزیه کد Rust
  • 35. `quote` برای تولید کد Rust
  • 36. `proc-macro2` برای توابع کمکی `proc-macro`
  • 37. نصب و استفاده از `syn` و `quote`
  • 38. مثال: ساخت یک ماکروی نمایشی با `syn` و `quote`
  • 39. مثال: ساخت یک ماکروی تابعی با `syn` و `quote`
  • 40. تست کردن ماکروها
  • 41. استفاده از `#[test]` برای تست ماکروها
  • 42. تست‌های واحد برای ماکروهای اعلامی
  • 43. تست‌های واحد برای ماکروهای نمایشی
  • 44. تست‌های واحد برای ماکروهای تابعی
  • 45. تکنیک‌های پیشرفته در ماکروها
  • 46. ایجاد Domain Specific Languages (DSLs) با ماکروها
  • 47. DSLs برای ساختارهای داده
  • 48. DSLs برای تعریف state machines
  • 49. DSLs برای تعریف grammarها
  • 50. بهینه‌سازی عملکرد ماکروها
  • 51. زمان کامپایل و زمان اجرا
  • 52. تاثیر ماکروها بر زمان کامپایل
  • 53. کاهش پیچیدگی کد با ماکروها
  • 54. مدیریت وابستگی‌ها در ماکروها
  • 55. نوشتن ماکروهای قابل استفاده مجدد
  • 56. انتشار ماکروها به عنوان crate
  • 57. ملاحظات امنیتی در استفاده از ماکروها
  • 58. جلوگیری از تولید کدهای ناامن
  • 59. بررسی ورودی ماکروها
  • 60. ماکروها و metaprogramming در زبان‌های دیگر
  • 61. مقایسه با templateهای C++
  • 62. مقایسه با macros در Lisp
  • 63. مقایسه با decorators در Python
  • 64. کاربرد عملی ماکروها در پروژه‌های Rust
  • 65. کتابخانه‌های محبوب Rust که از ماکروها استفاده می‌کنند
  • 66. `serde` برای سریالایز و دی‌سریالایز
  • 67. `log` برای لاگینگ
  • 68. `thiserror` و `anyhow` برای مدیریت خطا
  • 69. `clap` برای پردازش آرگومان‌های خط فرمان
  • 70. ساخت یک Domain Specific Language برای پیکربندی
  • 71. ساخت یک DSL برای عملیات پایگاه داده
  • 72. ساخت یک DSL برای تعریف APIها
  • 73. ملاحظات طراحی ماکروهای خوب
  • 74. خوانایی کد تولید شده
  • 75. قابلیت دیباگ کردن کد تولید شده
  • 76. مستندسازی ماکروها
  • 77. مثال‌های پیشرفته: ماکروی `lazy_static`
  • 78. مثال‌های پیشرفته: ماکروی `println!` عمیق‌تر
  • 79. مثال‌های پیشرفته: ماکروی `cfg!`
  • 80. مثال‌های پیشرفته: ماکروی `asm!`
  • 81. پردازش کد در زمان کامپایل
  • 82. تکنیک‌های code generation
  • 83. استفاده از AST (Abstract Syntax Tree)
  • 84. تولید کد از داده‌ها
  • 85. استفاده از ماکروها برای انتزاع پیچیدگی
  • 86. انتزاع در سطح type
  • 87. انتزاع در سطح value
  • 88. تولید کد تکراری (boilerplate code)
  • 89. اهمیت Rust's macro system
  • 90. قدرت و انعطاف‌پذیری ماکروها
  • 91. کاربرد در توسعه بازی
  • 92. کاربرد در سیستم‌های توزیع شده
  • 93. کاربرد در ابزارهای خط فرمان
  • 94. کاربرد در فریم‌ورک‌های وب
  • 95. محدودیت‌های متاپروگرمینگ در Rust
  • 96. محدودیت‌های زمان کامپایل
  • 97. محدودیت‌های پیچیدگی
  • 98. آینده متاپروگرمینگ در Rust
  • 99. پیشرفت‌های آینده در سیستم ماکرو
  • 100. ابزارهای جدید برای توسعه ماکرو

📚 محتوای این محصول آموزشی (پکیج کامل)

💡 این محصول یک نسخهٔ کامل و جامع است

تمامی محتوای آموزشی این کتاب در قالب یک بسته‌ی کامل و یکپارچه ارائه می‌شود و شامل تمام نسخه‌ها و فایل‌های موردنیاز برای یادگیری است.

🎁 محتویات کامل بسته دانلودی

🎯 این بسته یک دورهٔ آموزشی کامل و چندلایه است؛ شامل کتاب‌ها، تمرین‌ها و خودآزمایی .


ℹ️ نکات مهم هنگام خرید

  • این محصول به صورت فایل دانلودی کامل ارائه می‌شود و نسخهٔ چاپی ندارد.
  • توجه: لینک‌های اختصاصی دوره طی حداکثر 24 ساعت پس از ثبت سفارش ارسال می‌شوند.
  • دقت کنید لینک ها به شماره موبایل شما ارسال می شوند. پس در ارائه شماره موبایل صحیح دقت کنید.
  • برای راهنمایی در مورد نحوه دانلود به شماره 09395106248 پیامک دهید یا تماس بگیرید. (ایده آل ترین گزینه ارسال پیام در یکی از پیام رسان ها به همین شماره است تا سریعا لینک های کتاب همانجا برای شما ارسال گردد.)
  • اگر پرداخت انجام شده ولی بعد از 24 ساعت هنوز لینک‌ها را دریافت نکرده‌اید، نام و نام خانوادگی و نام محصول را پیامک کنید تا لینک‌ها دوباره ارسال شوند.

💬 راه‌های ارتباطی پشتیبانی:
واتس‌اپ یا هر پیام رسان داخلی یا پیامک: 09395106248
تلگرام: @ma_limbs

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.