دوره ساخت کتابخانه های قابل استفاده مجدد با Typecript همراه با فلشکارت آموزشی — ارائه روی فلش مموری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره ساخت کتابخانه های قابل استفاده مجدد با Typecript
موضوع کلی: برنامه نویسی
موضوع میانی: تایپ اسکریپت (TypeScript)
📋 سرفصلهای دوره
- 1. معرفی دوره و اهداف آن
- 2. چرا TypeScript برای توسعه کتابخانه؟
- 3. نصب و راهاندازی محیط توسعه (Node.js, npm/Yarn, VS Code)
- 4. اولین پروژه TypeScript: کامپایل و اجرا
- 5. ساختار پروژه و فایل tsconfig.json
- 6. انواع داده پایه: Number، String، Boolean
- 7. انواع آرایه (Array Types)
- 8. نوع Any و چالشهای آن
- 9. نوع Unknown و استفاده ایمن
- 10. نوع Void، Null و Undefined
- 11. نوع Never
- 12. تعریف متغیرها و ثوابت (let, const)
- 13. عملگرها در TypeScript
- 14. ساختارهای شرطی (if/else, switch)
- 15. حلقههای تکرار (for, while, do-while)
- 16. معرفی Tuples
- 17. معرفی Enums
- 18. Type Inference: چگونه TypeScript نوعها را حدس میزند؟
- 19. Type Assertions: راهی برای راهنمایی کامپایلر
- 20. تفاوت بین type و interface (مقدماتی)
- 21. تعریف توابع: پارامترها و نوع بازگشتی
- 22. پارامترهای اختیاری و پیشفرض
- 23. پارامترهای Rest
- 24. سربارگذاری توابع (Function Overloads)
- 25. توابع ناشناس و توابع پیکانی (Arrow Functions)
- 26. تعریف Interface: ساختاردهی به آبجکتها
- 27. توسعه Interfaceها (Extending Interfaces)
- 28. Interfaceها برای توابع و کلاسها
- 29. Type Aliases: نامگذاری مجدد برای نوعها
- 30. معرفی کلاسها (Classes): خصوصیات و متدها
- 31. سازندهها (Constructors)
- 32. متغیّرهای دسترسی (Access Modifiers: public, private, protected)
- 33. وراثت کلاسها (Inheritance)
- 34. کلاسهای انتزاعی (Abstract Classes)
- 35. پیادهسازی اینترفیسها توسط کلاسها (Implementing Interfaces)
- 36. Union Types: ترکیب چند نوع
- 37. Intersection Types: ترکیب خصوصیات چند نوع
- 38. Literal Types: استفاده از مقادیر مشخص به عنوان نوع
- 39. Type Guards: بررسی نوع در زمان اجرا (typeof, instanceof)
- 40. Type Guards سفارشی (User-Defined Type Guards)
- 41. Generics: مقدمهای بر انواع پارامتریک
- 42. توابع جنریک (Generic Functions)
- 43. اینترفیسهای جنریک (Generic Interfaces)
- 44. کلاسهای جنریک (Generic Classes)
- 45. محدودیتهای جنریک (Generic Constraints)
- 46. استفاده از `keyof` برای انواع
- 47. استفاده از `typeof` در فضای نوع
- 48. عملگر `in` برای بررسی خصوصیات
- 49. Optional Chaining و Nullish Coalescing با TypeScript
- 50. Strict Null Checks و اهمیت آن
- 51. معرفی Utility Types داخلی: Partial, Required, Readonly
- 52. Utility Types: Pick, Omit
- 53. Utility Types: Exclude, Extract
- 54. Utility Types: NonNullable, Parameters, ReturnType, InstanceType
- 55. Mapped Types: ایجاد انواع جدید از روی انواع موجود
- 56. Conditional Types: تعریف انواع بر اساس شرایط
- 57. Type Inference در Conditional Types (infer keyword)
- 58. Declaration Merging: ترکیب تعریفها
- 59. معرفی Decorators (مقدماتی و کاربردها در کتابخانه)
- 60. Custom Decorators: پیادهسازی دکوراتورهای سفارشی
- 61. ماژولهای ES (ES Modules): Import و Export
- 62. ماژولهای CommonJS (مقایسه و مهاجرت)
- 63. استراتژیهای حل ماژول (Module Resolution)
- 64. مدیریت فایلهای Type Declaration (`.d.ts`)
- 65. سازماندهی کد در پروژههای بزرگ (Monorepos vs. Multi-repos)
- 66. استفاده از npm Workspaces یا Yarn Workspaces
- 67. Project References در `tsconfig.json`
- 68. Export کردن نوعها و interfaceها
- 69. اصول طراحی API کتابخانه: سادگی و قابلیت استفاده
- 70. اصول SOLID در TypeScript
- 71. الگوهای طراحی کاربردی برای کتابخانهها (Singleton, Factory)
- 72. الگوهای طراحی: Observer, Strategy
- 73. مدیریت وابستگیها و Inversion of Control (IoC)
- 74. اهمیت Immutability در کتابخانهها
- 75. استراتژیهای مدیریت خطا (Error Handling) در کتابخانه
- 76. طراحی برای قابلیت توسعهپذیری (Extensibility)
- 77. مقدمهای بر تستنویسی: Unit, Integration
- 78. راهاندازی Jest/Vitest برای تست کتابخانههای TypeScript
- 79. نوشتن تستهای واحد (Unit Tests) موثر
- 80. Mocking و Stubbing در تستها
- 81. تستهای یکپارچهسازی (Integration Tests)
- 82. پوشش کد (Code Coverage) و ابزارهای آن
- 83. استفاده از ESLint برای کیفیت کد
- 84. فرمتبندی کد با Prettier
- 85. انتخاب باندلر مناسب برای کتابخانه (Rollup, Vite)
- 86. پیکربندی Rollup برای خروجیهای مختلف (ESM, CJS, UMD)
- 87. Tree Shaking: بهینهسازی حجم خروجی
- 88. Minification و Obfuscation
- 89. تولید فایلهای Type Declaration اتوماتیک
- 90. مدیریت Polyfills و Transpilation با Babel
- 91. Source Maps: اشکالزدایی کد کامپایل شده
- 92. ساختار `package.json` برای کتابخانهها
- 93. مدیریت Dependencies و Peer Dependencies
- 94. Bundle Size Optimization: ابزارها و تکنیکها
- 95. Semantic Versioning (SemVer) و اهمیت آن
- 96. انتشار کتابخانه در npm (public/private)
- 97. تولید مستندات API با TypeDoc
- 98. CI/CD برای کتابخانهها (GitHub Actions/GitLab CI)
- 99. استراتژیهای نگهداری، بهروزرسانی و Deprecation
- 100. نکات پایانی و بهترین روشها برای موفقیت کتابخانه
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.