اپلیکیشن اندرویدی فلشکارت آموزشی ساخت کتابخانه های قابل استفاده مجدد با 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. نکات پایانی و بهترین روشها برای موفقیت کتابخانه
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.