کدنامهمرجع‌های مهندسی نرم‌افزار، به فارسی

زبان Go

Go

Go عمداً کوچک است. کل زبان را در یک هفته یاد می‌گیری؛ سختی‌اش جای دیگری است — در فکر کردن به همروندی و در پذیرفتن اینکه خطا هم یک مقدار عادی است.

۱۹فصل
۳۰۹تمرین با پاسخ
≈ ۲۷ ساعتزمان تخمینی
۳پروژهٔ نهایی

پیشرفت تو

۰٪

درصد هر فصل از دو چیز می‌آید: چقدر از بخش‌هایش را خوانده‌ای (۵۵٪) و چند تمرینش را تیک زده‌ای (۴۵٪). همه‌چیز داخل مرورگر خودت می‌ماند.

فصل

فصل‌ها به هم وابسته‌اند و ترتیبشان معنا دارد. هر مسیر با پروژه‌های نهایی تمام می‌شود: ساده، متوسط، پیچیده.

۱

چرا Go؛ نصب و اولین برنامه

فلسفهٔ زبان و ابزار go.

در نوبت نوشتن
۲

نوع‌ها، struct و method

بدون کلاس، بدون وراثت.

در نوبت نوشتن
۳

interface — متفاوت از آنچه فکر می‌کنی

پیاده‌سازی ضمنی، و interface کوچک.

در نوبت نوشتن
۴

خطا به‌عنوان مقدار

errors.Is، errors.As، wrap — و چرا panic نه.

در نوبت نوشتن
۵

slice و map — دام‌های حافظه

append، ظرفیت، و نشتی که کسی انتظارش را ندارد.

در نوبت نوشتن
۶

goroutine و مدل همروندی

ارزان است، اما رایگان نیست.

در نوبت نوشتن
۷

channel و select

ارتباط به‌جای اشتراک حافظه.

در نوبت نوشتن
۸

sync، mutex و context

وقتی channel جواب نمی‌دهد، و لغو کار.

در نوبت نوشتن
۹

پکیج و ماژول

سازماندهی کد و مدیریت وابستگی.

در نوبت نوشتن
۱۰

تست و benchmark

تست جدولی و اندازه‌گیری واقعی.

در نوبت نوشتن
۱۱

HTTP server استاندارد

بدون فریم‌ورک، با کتابخانهٔ استاندارد.

در نوبت نوشتن
۱۲

JSON و struct tag

کدگذاری، رمزگشایی و میدان‌های اختیاری.

در نوبت نوشتن
۱۳

اتصال به پایگاه‌داده

database/sql، pool و تراکنش.

در نوبت نوشتن
۱۴

ساختار پروژه در Go

الگوهای رایج، و اینکه چرا ساده‌تر بهتر است.

در نوبت نوشتن
۱۵

پروفایلینگ با pprof

پیدا کردن گلوگاه واقعی.

در نوبت نوشتن
۱۶

کامپایل و استقرار

باینری تک‌فایل، کراس‌کامپایل و ایمیج کوچک.

در نوبت نوشتن
۱۷

پروژهٔ ۱ — ابزار خط فرمان

خواندن ورودی، پردازش موازی و خروجی تمیز.

در نوبت نوشتنپروژهٔ ساده
۱۸

پروژهٔ ۲ — REST API با پایگاه‌داده

لایه‌بندی، تست و مدیریت خطا.

در نوبت نوشتنپروژهٔ متوسط
۱۹

پروژهٔ ۳ — سرویس همروند پرکار

worker pool، context، graceful shutdown و پروفایل.

در نوبت نوشتنپروژهٔ پیچیده