نقشهٔ راه
از اولین برنامه تا سطح Senior
۸۳ درس و هشت پروژه در شش فاز، حدود ۴۱۸ ساعت. وضعیت هر درس و پیشرفت شما در همین صفحه دیده میشود.
پیشرفت کل مسیر
۰ از ۸۳ درس
نصب toolchain، آشنایی با دستور go و ماژولها، و فلسفهٔ طراحی Go در برابر Zen of Python.
۰ از ۵ درس- نصب toolchain و اولین برنامه (در دسترس)
- دستور go: build، run، test، vet، fmt، doc (بهزودی)
- Go modules و workspace در برابر pip، poetry و uv (بهزودی)
- ویرایشگر و ابزارها: gopls، golangci-lint، dlv (بهزودی)
- فلسفهٔ Go در برابر Zen of Python (بهزودی)
نوعها، کنترل جریان، تابع، slice، map، رشته، struct، pointer، package، خطا و اولین تست.
۰ از ۱۶ درس- متغیرها و zero value (بهزودی)
- ثابتها و iota (بهزودی)
- نوعهای پایه و تبدیل نوع (بهزودی)
- کنترل جریان (بهزودی)
- تابعها، چند مقدار بازگشتی و closure (بهزودی)
- array (بهزودی)
- slice: length، capacity، append و ساختار درونی (بهزودی)
- map (بهزودی)
- string، byte و rune: UTF-8 و متن فارسی (بهزودی)
- struct (بهزودی)
- pointer (بهزودی)
- method و نوع receiver (بهزودی)
- package، visibility و internal (بهزودی)
- مدیریت خطای پایه (بهزودی)
- اولین unit test (بهزودی)
- مرور ترکیبی فاز ۱ (بهزودی)
- پروژهٔ ۱ · بهزودیCLI Task Managerشروع: پایان فاز ۱ و درس JSON در فاز ۲
interface، composition، خطاها بهصورت عمیق، generics، iterator، I/O، JSON، تست پیشرفته و CLI.
۰ از ۱۴ درس- interface در برابر duck typing، ABC و Protocol (بهزودی)
- درون interface: nil interface، type assertion و type switch (بهزودی)
- embedding و composition در برابر inheritance (بهزودی)
- خطاها بهصورت عمیق: wrapping، errors.Is، errors.As، errors.Join (بهزودی)
- defer، panic و recover در برابر try/finally و context manager (بهزودی)
- generics در برابر TypeVar (بهزودی)
- iterator با range-over-func در برابر generator (بهزودی)
- فایل و I/O: io.Reader، io.Writer و bufio (بهزودی)
- encoding/json در برابر json و pydantic (بهزودی)
- کار با زمان: بستهٔ time (بهزودی)
- table-driven test، subtest و test double (بهزودی)
- benchmark و fuzzing (بهزودی)
- ساخت ابزار CLI (بهزودی)
- مرور ترکیبی فاز ۲ (بهزودی)
goroutine، channel، select، بستهٔ sync، context و الگوهای همروندی در برابر asyncio و Celery.
۰ از ۱۲ درس- مدلهای همروندی: goroutine در برابر threading، multiprocessing، asyncio و GIL (بهزودی)
- goroutine و WaitGroup (بهزودی)
- channel (بهزودی)
- select (بهزودی)
- بستهٔ sync: Mutex، RWMutex و Once (بهزودی)
- sync/atomic و memory model (بهزودی)
- context: لغو و مهلت زمانی (بهزودی)
- الگوها ۱: worker pool، pipeline، fan-in و fan-out (بهزودی)
- الگوها ۲: errgroup، semaphore و rate limiting (بهزودی)
- race detector، deadlock و goroutine leak (بهزودی)
- طراحی همروند: Go در برابر Celery و asyncio (بهزودی)
- مرور ترکیبی فاز ۳ (بهزودی)
- پروژهٔ ۲ · بهزودیConcurrent Web Crawlerشروع: پایان فاز ۳
net/http، middleware، JSON API، پایگاه داده، احراز هویت، معماری، تست یکپارچه و graceful shutdown.
۰ از ۱۸ درس- net/http: Handler، Server، Client و timeout (بهزودی)
- مسیریابی با ServeMux جدید در برابر URLconf (بهزودی)
- middleware (بهزودی)
- ساخت JSON API (بهزودی)
- اعتبارسنجی درخواست در برابر DRF serializer (بهزودی)
- پیکربندی در برابر settings.py (بهزودی)
- لاگ ساختیافته با log/slog (بهزودی)
- database/sql و pgx (بهزودی)
- sqlc در برابر GORM و Django ORM (بهزودی)
- migration (بهزودی)
- transaction و isolation (بهزودی)
- احراز هویت ۱: session و cookie (بهزودی)
- احراز هویت ۲: JWT و هش گذرواژه (بهزودی)
- چیدمان پروژه و معماری hexagonal در برابر Django app (بهزودی)
- dependency injection بدون framework (بهزودی)
- integration test: httptest و testcontainers (بهزودی)
- graceful shutdown (بهزودی)
- مرور ترکیبی فاز ۴ (بهزودی)
- پروژهٔ ۳ · بهزودیURL Shortenerشروع: درس ۷ و درس ۱۱ فاز ۴
- پروژهٔ ۴ · بهزودیREST API با Go و Djangoشروع: پایان فاز ۴
- پروژهٔ ۵ · بهزودیAuth Serviceشروع: پس از پروژهٔ ۴
درون runtime، profiling، observability، gRPC، صف پیام، resilience، امنیت، CI/CD و تصمیمهای معماری.
۰ از ۱۸ درس- scheduler و مدل GMP (بهزودی)
- garbage collector (بهزودی)
- escape analysis، stack و heap (بهزودی)
- چیدمان حافظهٔ slice، map، interface و string (بهزودی)
- profiling با pprof و trace (بهزودی)
- benchmark و بهینهسازی: benchstat و PGO (بهزودی)
- observability با OpenTelemetry (بهزودی)
- متریک با Prometheus (بهزودی)
- gRPC و Protocol Buffers (بهزودی)
- صف پیام: NATS در برابر Kafka، RabbitMQ و Celery (بهزودی)
- cache با Redis (بهزودی)
- الگوهای resilience: retry، circuit breaker و idempotency (بهزودی)
- امنیت (بهزودی)
- Docker multi-stage (بهزودی)
- CI/CD (بهزودی)
- طراحی و نسخهبندی API (بهزودی)
- ذهنیت code review (بهزودی)
- انتخاب بین Go، Python و Django (بهزودی)
- پروژهٔ ۶ · بهزودیRate Limiter و Cache Serviceشروع: درس ۱۲ فاز ۵
- پروژهٔ ۷ · بهزودیMicroservices با gRPC و صف پیامشروع: درس ۱۶ فاز ۵
- پروژهٔ ۸ · بهزودیCapstoneشروع: پایان فاز ۵