پرش به محتوای اصلی

نقشهٔ راه

از اولین برنامه تا سطح Senior

۸۳ درس و هشت پروژه در شش فاز، حدود ۴۱۸ ساعت. وضعیت هر درس و پیشرفت شما در همین صفحه دیده می‌شود.

پیشرفت کل مسیر

۰ از ۸۳ درس
  1. نصب toolchain، آشنایی با دستور go و ماژول‌ها، و فلسفهٔ طراحی Go در برابر Zen of Python.

    ۰ از ۵ درس
    1. نصب toolchain و اولین برنامه (در دسترس)
    2. دستور go: build، run، test، vet، fmt، doc (به‌زودی)
    3. Go modules و workspace در برابر pip، poetry و uv (به‌زودی)
    4. ویرایشگر و ابزارها: gopls، golangci-lint، dlv (به‌زودی)
    5. فلسفهٔ Go در برابر Zen of Python (به‌زودی)
  2. فاز ۱: مبانی

    Junior۴۵ ساعت

    نوع‌ها، کنترل جریان، تابع، slice، map، رشته، struct، pointer، package، خطا و اولین تست.

    ۰ از ۱۶ درس
    1. متغیرها و zero value (به‌زودی)
    2. ثابت‌ها و iota (به‌زودی)
    3. نوع‌های پایه و تبدیل نوع (به‌زودی)
    4. کنترل جریان (به‌زودی)
    5. تابع‌ها، چند مقدار بازگشتی و closure (به‌زودی)
    6. array (به‌زودی)
    7. slice: length، capacity، append و ساختار درونی (به‌زودی)
    8. map (به‌زودی)
    9. string، byte و rune: UTF-8 و متن فارسی (به‌زودی)
    10. struct (به‌زودی)
    11. pointer (به‌زودی)
    12. method و نوع receiver (به‌زودی)
    13. package، visibility و internal (به‌زودی)
    14. مدیریت خطای پایه (به‌زودی)
    15. اولین unit test (به‌زودی)
    16. مرور ترکیبی فاز ۱ (به‌زودی)
    • پروژهٔ ۱ · به‌زودیCLI Task Managerشروع: پایان فاز ۱ و درس JSON در فاز ۲
  3. فاز ۲: سطح میانی

    Mid-level۵۰ ساعت

    interface، composition، خطاها به‌صورت عمیق، generics، iterator، I/O، JSON، تست پیشرفته و CLI.

    ۰ از ۱۴ درس
    1. interface در برابر duck typing، ABC و Protocol (به‌زودی)
    2. درون interface: nil interface، type assertion و type switch (به‌زودی)
    3. embedding و composition در برابر inheritance (به‌زودی)
    4. خطاها به‌صورت عمیق: wrapping، errors.Is، errors.As، errors.Join (به‌زودی)
    5. defer، panic و recover در برابر try/finally و context manager (به‌زودی)
    6. generics در برابر TypeVar (به‌زودی)
    7. iterator با range-over-func در برابر generator (به‌زودی)
    8. فایل و I/O: io.Reader، io.Writer و bufio (به‌زودی)
    9. encoding/json در برابر json و pydantic (به‌زودی)
    10. کار با زمان: بستهٔ time (به‌زودی)
    11. table-driven test، subtest و test double (به‌زودی)
    12. benchmark و fuzzing (به‌زودی)
    13. ساخت ابزار CLI (به‌زودی)
    14. مرور ترکیبی فاز ۲ (به‌زودی)
  4. فاز ۳: هم‌روندی

    Mid-level۵۰ ساعت

    goroutine، channel، select، بستهٔ sync، context و الگوهای هم‌روندی در برابر asyncio و Celery.

    ۰ از ۱۲ درس
    1. مدل‌های هم‌روندی: goroutine در برابر threading، multiprocessing، asyncio و GIL (به‌زودی)
    2. goroutine و WaitGroup (به‌زودی)
    3. channel (به‌زودی)
    4. select (به‌زودی)
    5. بستهٔ sync: Mutex، RWMutex و Once (به‌زودی)
    6. sync/atomic و memory model (به‌زودی)
    7. context: لغو و مهلت زمانی (به‌زودی)
    8. الگوها ۱: worker pool، pipeline، fan-in و fan-out (به‌زودی)
    9. الگوها ۲: errgroup، semaphore و rate limiting (به‌زودی)
    10. race detector، deadlock و goroutine leak (به‌زودی)
    11. طراحی هم‌روند: Go در برابر Celery و asyncio (به‌زودی)
    12. مرور ترکیبی فاز ۳ (به‌زودی)
    • پروژهٔ ۲ · به‌زودیConcurrent Web Crawlerشروع: پایان فاز ۳
  5. فاز ۴: مهندسی Backend

    Mid-level تا Senior۱۱۵ ساعت

    net/http، middleware، JSON API، پایگاه داده، احراز هویت، معماری، تست یکپارچه و graceful shutdown.

    ۰ از ۱۸ درس
    1. net/http: Handler، Server، Client و timeout (به‌زودی)
    2. مسیریابی با ServeMux جدید در برابر URLconf (به‌زودی)
    3. middleware (به‌زودی)
    4. ساخت JSON API (به‌زودی)
    5. اعتبارسنجی درخواست در برابر DRF serializer (به‌زودی)
    6. پیکربندی در برابر settings.py (به‌زودی)
    7. لاگ ساخت‌یافته با log/slog (به‌زودی)
    8. database/sql و pgx (به‌زودی)
    9. sqlc در برابر GORM و Django ORM (به‌زودی)
    10. migration (به‌زودی)
    11. transaction و isolation (به‌زودی)
    12. احراز هویت ۱: session و cookie (به‌زودی)
    13. احراز هویت ۲: JWT و هش گذرواژه (به‌زودی)
    14. چیدمان پروژه و معماری hexagonal در برابر Django app (به‌زودی)
    15. dependency injection بدون framework (به‌زودی)
    16. integration test: httptest و testcontainers (به‌زودی)
    17. graceful shutdown (به‌زودی)
    18. مرور ترکیبی فاز ۴ (به‌زودی)
    • پروژهٔ ۳ · به‌زودیURL Shortenerشروع: درس ۷ و درس ۱۱ فاز ۴
    • پروژهٔ ۴ · به‌زودیREST API با Go و Djangoشروع: پایان فاز ۴
    • پروژهٔ ۵ · به‌زودیAuth Serviceشروع: پس از پروژهٔ ۴
  6. فاز ۵: سطح Senior

    Senior۱۵۰ ساعت

    درون runtime، profiling، observability، gRPC، صف پیام، resilience، امنیت، CI/CD و تصمیم‌های معماری.

    ۰ از ۱۸ درس
    1. scheduler و مدل GMP (به‌زودی)
    2. garbage collector (به‌زودی)
    3. escape analysis، stack و heap (به‌زودی)
    4. چیدمان حافظهٔ slice، map، interface و string (به‌زودی)
    5. profiling با pprof و trace (به‌زودی)
    6. benchmark و بهینه‌سازی: benchstat و PGO (به‌زودی)
    7. observability با OpenTelemetry (به‌زودی)
    8. متریک با Prometheus (به‌زودی)
    9. gRPC و Protocol Buffers (به‌زودی)
    10. صف پیام: NATS در برابر Kafka، RabbitMQ و Celery (به‌زودی)
    11. cache با Redis (به‌زودی)
    12. الگوهای resilience: retry، circuit breaker و idempotency (به‌زودی)
    13. امنیت (به‌زودی)
    14. Docker multi-stage (به‌زودی)
    15. CI/CD (به‌زودی)
    16. طراحی و نسخه‌بندی API (به‌زودی)
    17. ذهنیت code review (به‌زودی)
    18. انتخاب بین Go، Python و Django (به‌زودی)
    • پروژهٔ ۶ · به‌زودیRate Limiter و Cache Serviceشروع: درس ۱۲ فاز ۵
    • پروژهٔ ۷ · به‌زودیMicroservices با gRPC و صف پیامشروع: درس ۱۶ فاز ۵
    • پروژهٔ ۸ · به‌زودیCapstoneشروع: پایان فاز ۵