کتاب صوتی Typescript: استفاده از Property Decorators

Typescript: قدرت Property Decorators را آزاد کنید! Typescript: قدرت Property Decorators را آزاد کنید! آیا به دنبال راهی برای ارتقاء کدنویسی Typescript خود هستید؟ آیا می‌خواهید کدهایی تمیزتر، خواناتر و...

انتخاب پلن

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

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

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

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

عنوان دوره: دوره Typescript: استفاده از Property Decorators

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

موضوع میانی: تایپ اسکریپت (TypeScript)

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

  • 1. مقدمه‌ای بر تایپ‌اسکریپت و چرایی استفاده از آن
  • 2. راه‌اندازی محیط توسعه (Node.js, TSC)
  • 3. پیکربندی `tsconfig.json` برای شروع
  • 4. مروری بر انواع داده‌های پایه در تایپ‌اسکریپت
  • 5. کلاس‌ها در تایپ‌اسکریپت: سنگ بنای دکوریتورها
  • 6. ویژگی‌ها (Properties) و اصلاح‌کننده‌های دسترسی (public, private)
  • 7. متدها، Getter و Setter ها در کلاس‌ها
  • 8. مفهوم متادیتا (Metadata) چیست؟
  • 9. آشنایی با دکوریتورها (Decorators): یک مفهوم سطح بالا
  • 10. فعال‌سازی دکوریتورها: `experimentalDecorators`
  • 11. فعال‌سازی متادیتا: `emitDecoratorMetadata`
  • 12. چهار نوع دکوریتور: کلاس، متد، پارامتر و پراپرتی
  • 13. تمرکز دوره: چرا Property Decorators مهم هستند؟
  • 14. آناتومی یک Property Decorator: تابع و آرگومان‌های آن
  • 15. آرگومان اول: `target` - پروتوتایپ یا سازنده کلاس
  • 16. آرگومان دوم: `propertyKey` - نام پراپرتی
  • 17. نوشتن اولین Property Decorator: یک مثال `console.log` ساده
  • 18. تفاوت دکوریتور روی پراپرتی‌های instance و static
  • 19. زمان اجرای دکوریتور: در زمان تعریف کلاس، نه در زمان ساخت نمونه
  • 20. محدودیت اصلی Property Decorators: عدم تغییر مستقیم مقدار اولیه
  • 21. معرفی Reflect Metadata API
  • 22. نصب و راه‌اندازی کتابخانه `reflect-metadata`
  • 23. ذخیره کردن متادیتا با `Reflect.defineMetadata`
  • 24. بازیابی متادیتا با `Reflect.getMetadata`
  • 25. مثال عملی: ساخت یک دکوریتور `@log` برای ثبت اطلاعات
  • 26. مشکل لاگ کردن دسترسی: چرا `@log` به تنهایی کافی نیست؟
  • 27. راه حل: ترکیب Property Decorator با Getter و Setter
  • 28. بازنویسی پراپرتی با `Object.defineProperty`
  • 29. الگوی رایج: ذخیره مقدار در یک پراپرتی "خصوصی"
  • 30. تکمیل دکوریتور `@log` با استفاده از Getter و Setter
  • 31. مفهوم Decorator Factories: ساخت دکوریتورهای قابل تنظیم
  • 32. ساخت اولین Decorator Factory: `@DefaultValue(value)`
  • 33. مثال پیشرفته‌تر: ساخت دکوریتور `@configurable(false)`
  • 34. ساخت دکوریتور `@readonly` برای جلوگیری از تغییر مقدار
  • 35. مقدمه‌ای بر اعتبارسنجی (Validation) با دکوریتورها
  • 36. ساخت دکوریتور `@Required`: ذخیره متادیتا برای فیلدهای ضروری
  • 37. ساخت دکوریتور فکتوری `@MinLength(num)`
  • 38. ساخت دکوریتور فکتوری `@MaxLength(num)`
  • 39. ساخت دکوریتور `@Email` برای اعتبارسنجی فرمت ایمیل
  • 40. ساخت دکوریتور `@Range(min, max)` برای اعتبارسنجی اعداد
  • 41. ساخت یک تابع Validator: منطق اصلی اعتبارسنجی
  • 42. خواندن متادیتای ذخیره شده روی پراپرتی‌های یک آبجکت
  • 43. اجرای منطق اعتبارسنجی بر اساس متادیتا
  • 44. نمایش خطاهای اعتبارسنجی به کاربر
  • 45. زنجیره‌سازی (Chaining) دکوریتورها روی یک پراپرتی
  • 46. ترتیب اجرای دکوریتورها: از پایین به بالا
  • 47. استفاده از Symbol ها به عنوان کلید متادیتا برای جلوگیری از تداخل
  • 48. ذخیره آبجکت‌های پیچیده به عنوان متادیتا
  • 49. مقدمه‌ای بر مفهوم تزریق وابستگی (Dependency Injection)
  • 50. چگونه Property Decorators تزریق وابستگی را ممکن می‌سازند؟
  • 51. ساخت یک DI Container ساده: کلاس Container
  • 52. دکوریتور کلاس `@Injectable`: نشانه‌گذاری کلاس‌های قابل تزریق
  • 53. دکوریتور پراپرتی `@Inject`: درخواست یک وابستگی
  • 54. منطق Container: ساخت و مدیریت نمونه‌های کلاس
  • 55. حل وابستگی‌ها با استفاده از متادیتای `@Inject`
  • 56. قدرت `emitDecoratorMetadata`: تزریق خودکار نوع
  • 57. بررسی متادیتای `design:type`
  • 58. بازنویسی DI Container برای استفاده از `design:type`
  • 59. حل وابستگی‌های چرخه‌ای (Circular Dependencies): چالش‌ها
  • 60. مثال کامل: استفاده از DI Container در یک برنامه کوچک
  • 61. مقدمه‌ای بر ORM ها و نقش دکوریتورها (مانند TypeORM)
  • 62. ساخت دکوریتور `@Entity` برای مدل‌ها
  • 63. ساخت دکوریتور `@Column` برای تعریف ستون‌های جدول
  • 64. افزودن گزینه‌ها به `@Column`: `({ type: 'string', length: 255 })`
  • 65. ساخت دکوریتور `@PrimaryColumn` و `@Generated`
  • 66. ساخت یک "Entity Manager" ساده برای تولید کوئری SQL
  • 67. منطق خواندن متادیتای `@Column` برای ساخت `CREATE TABLE`
  • 68. مقدمه‌ای بر سریال‌سازی (Serialization) و Deserialization
  • 69. ساخت دکوریتور `@JsonProperty(name)` برای نگاشت نام فیلدها
  • 70. نوشتن یک تابع `serialize` عمومی
  • 71. منطق `serialize`: تبدیل یک نمونه کلاس به یک آبجکت JSON ساده
  • 72. نوشتن یک تابع `deserialize` عمومی
  • 73. منطق `deserialize`: تبدیل یک آبجکت ساده به نمونه‌ای از یک کلاس
  • 74. مدیریت آبجکت‌های تودرتو در سریال‌سازی
  • 75. مدیریت آرایه‌ها در سریال‌سازی
  • 76. کاربرد در مدیریت پیکربندی (Configuration Management)
  • 77. ساخت دکوریتور `@EnvVariable(name)` برای خواندن از متغیرهای محیطی
  • 78. ساخت یک کلاس `ConfigService` برای بارگذاری پیکربندی
  • 79. افزودن مقدار پیش‌فرض به `@EnvVariable`
  • 80. تبدیل نوع خودکار در `@EnvVariable` (رشته 'true' به بولین `true`)
  • 81. ترکیب انواع دکوریتورها: فراخوانی متادیتا پراپرتی از درون یک متد دکوریتور
  • 82. مثال عملی: دکوریتور `@cache` برای متدها که از `@CacheKey` پراپرتی استفاده می‌کند
  • 83. مدیریت `this` در توابع مبتنی بر متادیتا
  • 84. اشتباهات رایج: درک نادرست از `target`
  • 85. اشتباه رایج: فراموش کردن زمان اجرای دکوریتور
  • 86. اشتباه رایج: تغییر مستقیم پروتوتایپ و عواقب آن
  • 87. ملاحظات عملکرد (Performance) در استفاده سنگین از دکوریتورها
  • 88. نحوه تست واحد (Unit Test) یک دکوریتور
  • 89. Mock کردن `Reflect.getMetadata` و `Reflect.defineMetadata` در تست‌ها
  • 90. نوشتن تست برای فریمورک اعتبارسنجی ساخته شده
  • 91. نوشتن تست برای DI Container
  • 92. تکنیک‌های دیباگ کردن دکوریتورها
  • 93. بررسی دکوریتورها در فریمورک‌های واقعی: NestJS
  • 94. بررسی دکوریتورها در فریمورک‌های واقعی: TypeORM
  • 95. آینده دکوریتورها: پروپوزال Stage 3 جاوااسکریپت
  • 96. تفاوت‌های کلیدی در سینتکس و قابلیت‌های Stage 3 Decorators
  • 97. معرفی آبجکت Context در دکوریتورهای جدید
  • 98. بهترین شیوه‌ها (Best Practices) در نوشتن دکوریتورهای خوانا و قابل نگهداری
  • 99. چه زمانی از Property Decorators استفاده کنیم (و چه زمانی نکنیم)؟
  • 100. جمع‌بندی دوره و گام‌های بعدی
EXPRESS24 AUDIO EXPERIENCE
یادگیری را بشنوید؛ زندگی کنید
کتاب‌های صوتی و پادکست‌های آموزشی، راهی دلنشین برای کشف ایده‌های تازه، گسترش دانش و استفاده بهتر از لحظه‌های روزمره هستند.
دانش، الهام و تجربه؛ این بار با صدای زندگی
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفت‌وآمد هستید، قدم می‌زنید، استراحت می‌کنید یا کارهای روزمره‌تان را انجام می‌دهید. محتوای صوتی کمک می‌کند از این لحظه‌ها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفت‌وآمد، پیاده‌روی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربه‌ای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازه‌ای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایده‌های تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادت‌های شخصی‌تان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، می‌توانید داستان‌ها، آموزش‌ها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتاب‌ها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفت‌وگو، روایت، توضیح آموزشی یا مجموعه‌ای از قسمت‌های صوتی؛ مناسب برای کشف ایده‌ها و آشنایی با دیدگاه‌های گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاه‌های تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپ‌تاپ
با پخش‌کننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکته‌های مهم را یادداشت کنید یا پس از پایان شنیدن، آن‌ها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتاب‌های صوتی و پادکست‌های آموزشی، دنیای تازه‌ای از ایده‌ها، روایت‌ها و آموختنی‌ها را به لحظه‌های خود اضافه کنید.
کشف محصولات بیشتر در اکسپرس ۲۴
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرم‌افزار مورد استفاده بستگی دارد.
AUDIO PREVIEW
قبل از انتخاب، گوش کنید!
بخشی از سبک محتوای محصولات صوتی ما را بشنوید و با فضای آن آشنا شوید.
♫
نمونه صوتی از سبک محصولات صوتی ما
پیش‌نمایش کوتاهی از سبک پادکست های صوتی محصولات ما
پخش آنلاین
برای تجربه بهتر، می‌توانید از هدفون استفاده کنید.
تگ‌ها: Back-End Front-End JS Property Decorators TypeScript آموزش برنامه نویسی تایپ اسکریپت توسعه وب جاوا اسکریپت دکوریتورها شی گرایی کدنویسی وب یادگیری

نظرات

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

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