اپلیکیشن اندرویدی فلشکارت آموزشی آموزش کتابخانه Cobra برای ساخت CLI
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره آموزش کتابخانه Cobra برای ساخت CLI
موضوع کلی: برنامه نویسی
موضوع میانی: گو (Go)
📋 سرفصلهای دوره
- 1. مقدمهای بر ابزارهای خط فرمان (CLI)
- 2. چرا زبان گو برای ساخت CLI مناسب است؟
- 3. معرفی کتابخانه Cobra و فلسفه آن
- 4. مقایسه Cobra با سایر کتابخانههای مشابه (مانند `urfave/cli`)
- 5. آمادهسازی محیط توسعه گو برای ساخت CLI
- 6. نصب و راهاندازی ابزار `cobra-cli`
- 7. ایجاد ساختار اولیه پروژه با `cobra-cli init`
- 8. تشریح ساختار یک برنامه ساده Cobra
- 9. بررسی فایل `main.go` و نقش تابع `Execute`
- 10. اجرای اولین کامند و مشاهده خروجی
- 11. مفهوم کامند ریشه (Root Command)
- 12. افزودن یک کامند جدید به پروژه
- 13. تفاوت بین `Run` و `RunE` برای مدیریت خطا
- 14. ایجاد سابکامندها (Subcommands)
- 15. ایجاد ساختارهای تودرتو از سابکامندها
- 16. استفاده از توضیحات کوتاه (`Short`) و بلند (`Long`) برای کامندها
- 17. تعریف نامهای مستعار (Alias) برای کامندها
- 18. غیرفعال کردن یک کامند
- 19. مخفی کردن یک کامند از منوی راهنما
- 20. بهترین روشها برای سازماندهی فایلهای کامند در پروژه
- 21. مقدمهای بر فلگها (Flags) و نقش آنها
- 22. تفاوت فلگهای پایدار (Persistent) و محلی (Local)
- 23. تعریف یک فلگ از نوع Boolean
- 24. تعریف یک فلگ از نوع String
- 25. تعریف یک فلگ از نوع Integer
- 26. استفاده از نام کوتاه (Shorthand) برای فلگها
- 27. خواندن مقدار فلگها در تابع اجرای کامند
- 28. اتصال مستقیم فلگها به متغیرها (P-Flags)
- 29. کار با فلگهای اسلایس (StringSlice, IntSlice)
- 30. اجباری کردن یک فلگ با `MarkFlagRequired`
- 31. مخفی کردن یک فلگ از منوی راهنما
- 32. منسوخ کردن یک فلگ با `MarkFlagDeprecated`
- 33. مقدمهای بر آرگومانهای موقعیتی (Positional Arguments)
- 34. اعتبارسنجی تعداد آرگومانها با پراپرتی `Args`
- 35. استفاده از `MinimumNArgs`, `MaximumNArgs`, `ExactArgs`
- 36. پیادهسازی اعتبارسنجی سفارشی برای آرگومانها
- 37. خواندن مقادیر آرگومانها در کامند
- 38. قوانین (parsing) فلگها و آرگومانها
- 39. مدیریت تداخل نام فلگها در کامندهای تودرتو
- 40. کار با `FlagSet`ها به صورت مستقیم
- 41. بررسی کامند `help` پیشفرض
- 42. سفارشیسازی پیام راهنما (Help Message)
- 43. سفارشیسازی پیام استفاده (Usage Message)
- 44. بازنویسی تابع `HelpFunc` برای کنترل کامل خروجی راهنما
- 45. بازنویسی تابع `UsageFunc` برای کنترل کامل پیام استفاده
- 46. افزودن فلگ `--version` به صورت خودکار
- 47. افزودن مثالهای کاربردی (Examples) به راهنما
- 48. غیرفعال کردن کامند `help` پیشفرض
- 49. غیرفعال کردن پیشنهاد کامند در صورت تایپ اشتباه
- 50. چرا به مدیریت پیکربندی نیاز داریم؟
- 51. معرفی کتابخانه Viper برای مدیریت پیکربندی
- 52. ادغام Cobra و Viper برای یکپارچگی کامل
- 53. اتصال فلگهای Cobra به کلیدهای Viper
- 54. خواندن تنظیمات از فایلهای پیکربندی (YAML, JSON, TOML)
- 55. تنظیم مقادیر پیشفرض در Viper
- 56. خواندن تنظیمات از متغیرهای محیطی (Environment Variables)
- 57. اولویتبندی منابع پیکربندی: فلگ، متغیر محیطی، فایل
- 58. ایجاد فلگ `--config` برای تعیین مسیر فایل پیکربندی
- 59. پایش زنده تغییرات در فایل پیکربندی با Viper
- 60. آشنایی با چرخه حیات اجرای یک کامند
- 61. استفاده از هوک `PersistentPreRun` و `PersistentPreRunE`
- 62. استفاده از هوک `PreRun` و `PreRunE`
- 63. نقش `Run` و `RunE` در چرخه حیات
- 64. استفاده از هوک `PostRun` و `PostRunE`
- 65. استفاده از هوک `PersistentPostRun` و `PersistentPostRunE`
- 66. انتقال دیتا بین هوکها با استفاده از `context.Context`
- 67. کاربردهای عملی هوکها: احراز هویت، اتصال به دیتابیس
- 68. استراتژیهای پیشرفته مدیریت خطا
- 69. برگرداندن خطاهای سفارشی از کامندها
- 70. سفارشیسازی خروجی خطاها برای کاربر
- 71. ایجاد اسکریپتهای تکمیل خودکار (Autocompletion) برای Bash
- 72. ایجاد اسکریپتهای تکمیل خودکار برای Zsh و Fish
- 73. افزودن کامند `completion` به CLI
- 74. پیمایش درخت کامندها با توابع `Parent` و `Commands`
- 75. کار با `io.Writer` و `io.Reader` برای ورودی و خروجی استاندارد
- 76. گروهبندی کامندها برای نمایش بهتر در راهنما
- 77. استفاده از تمپلیتهای سفارشی گو برای راهنما و استفاده
- 78. بینالمللیسازی (i18n) و بومیسازی (l10n) در خروجیها
- 79. غیرفعال کردن مرتبسازی خودکار فلگها در راهنما
- 80. کار با `Annotations` برای افزودن متادیتا به کامندها
- 81. پروژه عملی: ساخت یک ابزار مدیریت وظایف (Task Manager)
- 82. ساختاربندی فایلها و پکیجهای پروژه عملی
- 83. پیادهسازی کامند `add` برای افزودن وظیفه
- 84. پیادهسازی کامند `list` برای نمایش وظایف
- 85. پیادهسازی کامند `complete` برای تکمیل وظیفه
- 86. پیادهسازی کامند `delete` برای حذف وظیفه
- 87. مقدمهای بر تست اپلیکیشنهای Cobra
- 88. نوشتن تستهای واحد (Unit Tests) برای منطق کامندها
- 89. شبیهسازی (Mocking) وابستگیها در تستها
- 90. تست ورودی فلگها و اعتبارسنجی آرگومانها
- 91. تست خروجی استاندارد و پیامهای خطا
- 92. نوشتن تستهای یکپارچهسازی (Integration Tests) برای CLI
- 93. بهترین روشها برای سازماندهی کد در پروژههای بزرگ Cobra
- 94. مدیریت وضعیت سراسری (Global State) و وابستگیها
- 95. نسخهبندی (Versioning) ابزار CLI
- 96. کراس-کامپایل برای سیستمعاملهای مختلف (Windows, macOS, Linux)
- 97. استفاده از GoReleaser برای خودکارسازی فرآیند انتشار
- 98. ساخت پکیجهای نصب برای Homebrew و Scoop
- 99. توزیع باینریها از طریق GitHub Releases
- 100. ایجاد مستندات Man Page به صورت خودکار
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.