

یادگیری گولنگ مثل بالا رفتن از یک کوه پرچالش است: بدون راهنما و نقشه، ممکن است در مسیر گم شوید. اسکیلکمپ مسیر یادگیری گولنگ همان نقشه راه گولنگ شماست، که در ۲ ساعت آموزش آفلاین و بدون پیشنیاز، مسیر رسیدن به مهارتهای اصلی این زبان سریع، امن و کاربردی را نشان میدهد.
این دوره پروژهمحور نیست، اما گروه منتورینگ با پاسخگویی محدود، همراه شماست تا مسیر یادگیری آسانتر شود. رودمپ گولنگ برای همه علاقهمندان به یادگیری زبانهای جدید و توسعهدهندگان آیندهنگر، یک شروع مطمئن و عملی برای ورود به دنیای توسعه نرمافزار فراهم میکند.

گولنگ زبانی ساده، سریع و مناسب توسعه سیستمهای مقیاسپذیر است. از این زبان در توسعه بکاند و ابزارهای زیرساختی استفاده میشود. در مرحله اول از مسیر یادگیری گولنگ ساختار کلی زبان Go با نحوه نصب و راهاندازی محیط توسعه، سینتکس پایه و متغیرهای مختلف آشنا میشویم. پس از پایان این مرحله میتوانیم به کمک گولنگ محاسبات پایه را انجام دهیم. از کاربر ورودی را دریافت کنیم و با استفاده از آموختههای خود خروجیهای جدید تولید کنیم.
در این مرحله با منطق تصمیمگیری و تکرار در برنامهها آشنا میشویم و یاد میگیریم دادهها را بهشکل ساختیافته مدیریت کنیم. این بخش پایه تفکر الگوریتمی در گولنگ را شکل میدهد. از مهمترین مهارتها برای ادامه مسیر یادگیری گولنگ در این مرحله میتوان به تسلط بر شرطها (if, switch)، حلقهها (for)، و ساختارهای داده اصلی مانند array، slice، map و struct و درک تفاوتها و کاربرد هرکدام اشاره کرد. پس از پایان این بخش میتوانیم برنامههایی مانند مدیریت لیست دادهها را تهیه کنیم. پردازش اطلاعات کاربر و نوشتن الگوریتمهای ساده با حلقهها و ساختارهای داده از دیگر پروژههای قابل اجرا در این مرحله هستند.
توابع و بستهها ابزار اصلی ماژولار کردن کد هستند. در این مرحله یاد میگیریم چگونه کدهای خود را خوانا، قابل استفاده مجدد و قابل نگهداری بنویسیم. قبل از ورود به این بخش باید بتوانیم توابع، پارامترها، مقادیر بازگشتی، توابع چندخروجی و ... را تعریف و از آنها استفاده کنیم. پس از پایان مرحله سوم میتوانیم برنامههای قبلی را بهصورت ماژولار بنویسیم، برای هر بخش پکیجهای مجزا داشته باشیم و از هر کدام در پروژههای مختلف استفاده کنیم.
گولنگ نگاه ویژهای به مدیریت خطا دارد و تستنویسی یکی از اصول جدی در توسعه حرفهای با این زبان است. در این مرحله کیفیت و پایداری کدهایی که نوشتهایم ارتقا پیدا میکند. همچنین نحوه کار با خطاها، الگوهای استاندارد مدیریت خطا، استفاده از panic و recover و نوشتن تستهای واحد با ابزارهای داخلی گولنگ را یاد میگیریم. در پایان مرحله چهارم میتوانیم مدیریت خطا را به پروژههای قبلی اضافه کنیم و برای هر یک از توابع تست بنویسیم. با این کار از صحت عملکرد کد مطمئن میشویم.
پشتیبانی قدرتمند و ساده از همزمانی از نقاط قوت اصلی گولنگ است. در مرحله پنجم یاد میگیریم چگونه برنامههای سریع و مقیاسپذیر بنویسیم goroutineها، channelها، الگوهای ارتباطی، sync package و مدیریت منابع مشترک در برنامههای همزمان را درک کنیم. پس از پایان این بخش میتوانیم برنامههایی که همزمان چندکار با هم انجام میدهند را پیادهسازی کنیم. پردازش موازی دادهها یا شبیهسازی درخواستهای همزمان از نمونههای عملی در این مرحله هستند.
پس از آشنایی با اکوسیستم گولنگ و ابزارهای کاربردی آن میتوانیم پروژههای واقعی را سریعتر و حرفهایتر توسعه دهیم. از مهمترین مواردی که در این بخش یاد میگیریم میتوان به کار با Go Modules، استفاده از کتابخانههای استاندارد و خارجی، مدیریت وابستگیها، و استفاده از ابزارهایی مانند go fmt، go vet و go test اشاره کرد. پس از پایان مرحله ششم از مسیر یادگیری گولنگ میتوانیم کتابخانههای خارجی را به پروژه اضافه کنیم و با استفاده از ابزارهای این زبان کیفیت کد و برنامههای خود را ارتقا دهیم.
در این مرحله وارد دنیای توسعه بکاند میشویم و یاد میگیریم چگونه سرویسهای وب سریع و پایدار بسازیم. کار با net/http، ساخت REST API، مدیریت درخواست و پاسخ، کار با JSON، اتصال به دیتابیس و طراحی ساختار پروژههای بکاند مهارتهایی هستند که در این مرحله آنها را میآموزیم. در این مرحله میتوانیم یک API کامل شامل چند endpoint، اتصال به دیتابیس و تست عملکرد آن با ابزارهایی مانند Postman را پیادهسازی کنیم.
آشنایی با استانداردهای حرفهای توسعه نرمافزار گولنگ و کار کردن با پروژهها و تیمهای واقعی از فرصتهای این مرحله هستند. در این مرحله یاد میگیریم چگونه ساختار پروژههای بزرگ را تعیین کنیم یا دیگران بتواند کدهای ما را بخوانند و درک کنند. رعایت اصول clean code، مستندسازی و استفاده از Git در پروژههای واقعی از دیگر مواردی هستند که در مرحله هشتم از مسیر یادگیری گولنگ میآموزیم. پس از پایان این بخش میتوانیم در پروژههای شبیهسازی شده مشارکت کنیم. همچنین میتوانیم یک پروژه را با ساختار حرفهای و مستندات کامل توسعه دهیم.
برای اطمینان از یاد گرفتن مباحث، باید از تمام مفاهیم و مهارتها در قالب پروژههای عملی استفاده کنیم. در این مرحله یاد میگیریم چگونه یک پروژه کامل گولنگ را طراحی و پیادهسازی کرده و مسائل را مستقل حل کنیم و کدهای تمیزی ارائه دهیم. در پایان این مرحله نهایی رودمپ گولنگ (Golang) میتوانیم یک یا چند پروژه واقعی را اجرا کرده و بهعنوان نمونهکار در رزومه خود از آن استفاده کنیم.
