معرفی اجمالی دوره
زبان برنامهنویسی Go (یا Golang) یک زبان برنامهنویسی متنباز (Open Source) است که ساخت نرمافزار را ساده، قابلاعتماد و بهینه میکند. Golang زبانی است که توسط شرکت Google طراحی شدهاست و در حال حاضر، در سامانههای متفاوت اجرایی گوگل به کار گرفته شدهاست. زبان برنامهنویسی Go از لحاظ syntax مشابه زبان برنامهنویسی C است، اما تفاوت اصلی جایی رقم میخورد که Golang در مقایسه با C از مزایای امنیت حافظه، زبالهروبی (Garbage collection) حافظه، تایپ ساختاریافته (Structural typing)، برنامهنویسی همزمان (Concurrent programming) و غیره بهره میبرد.
مزیت زبالهروبی Golang مدیریت حافظه را به صورت خودکار انجام میدهد و همچنین، اجازه میدهد که اجرای برخی توابع به تعویق بیفتد. علاوهبراین، ویژگی برنامهنویسی همزمان Golang که از طریق Goroutineها و Channelها اتفاق میافتد، اجازه اجرای چند فرایند را بهطور همزمان به شما خواهد داد. این مزیت آنجا اهمیت خود را نشان میدهد که با توجه به روند افزایش هزینههای ارتقاء سختافزاری، نیاز به بهینه بودن عملیات اجرای کدها احساس میشود. Golang بر خلاف زبانهای برنامهنویسی قدیمی مانند جاوا و پایتون، میتواند چندین میلیون goroutine را بهصورت همزمان اجرا کند. این رویههای Go مزایایی دارند که در مقایسه با زبانهای برنامهنویسی C++، C و جاوا همزمانیها را بسیار بهتر مدیریت کنند. این مزایا عبارتند از:
- قطعهبندی پشتهها
- سرعت بالای آغاز اجرای برنامه
- ارتباط امن میان رویهها
زبان برنامهنویسی Go در توسعه و اجرای اپلیکیشنهای مختلف در سیستمعاملهای متفاوت، دستگاههای موبایل، وباپلیکیشنها و حتی برنامهنویسی فرانتاند (از طریق ماژول gccgo) کاربرد دارد. در واقع، Golang از طریق بهکارگیری مترجم GopherJS، کدهای Go را به جاوا اسکریپت جهت استفاده در برنامهنویسی فرانتاند تبدیل میکند. بهطور خلاصه، طراحان گوگل این زبان را توسعه دادند تا علاوه بر استفاده از قدرت سایر زبانهای برنامهنویسی، با استفاده از ویژگیهای زیر نیازمندیهای خود را نیز برطرف کنند:
- تایپ ایستا (Static typing) و کارایی زمان اجرا (مانند ++C)
- خوانا بودن و کاربردپذیری (مانند پایتون و جاوا اسکریپت)
- شبکهسازی با کارایی بالا و چندفرایندی (Multiprocessing)
کسبوکارهای زیادی برای توسعه اپلیکیشنهای خود از زبان برنامهنویسی Go بهره بردهاند که برای مثال میتوان به Google، Sound cloud، Uber، Netflix، Dropbox و غیره اشاره کرد. علاوهبراین، برخی از اپلیکیشنهای متنبازی که با زبان Go نوشته شدهاند عبارتند از: Docker، Kubernetes، Ethereum و غیره.
این دوره مناسب کسانی است که میخواهند برنامههایی را توسعه دهند که محدودیتهای سختافزاری کاربر مانع اجرای برنامههای سنگین آنها نباشد و تجربه خوبی را برای کاربر خود به ارمغان بیاورند. بهطور مثال، میتوانند نرمافزارهای بهینه خود را روی دستگاههای اینترنت اشیاء (که ذاتا ارزان و کند هستند) اجرا کنند. انتظار میرود پس از گذراندن این دوره بتوانید وباپلیکیشنهای بهینهای را با استفاده از زبان Go بسازید.
ویژگیهای دوره
آنلاین، پروژه محور، همراه با تالار گفتگو ، ارائه مدرک رسمی
فصول دوره
مقدمه
شروع کار با Go
متغیرها، مقادیر و تایپها
داده ساختار ها در Go
حلقه ها و شرط ها
مقایسه رویکرد شی گرایی با رویکرد Go
همروندی (Concurrency)
اینترفیس (Interface)
تست در Go
توسعه یک وب اپلیکیشن با Go
آزمون نهایی
پروژهی نهایی;
معرفی مدرس
صابر مسگری
من صابر مسگری، دانش آموخته کارشناسی و کارشناسی ارشد رشته برق کنترل هستم. به دلیل علاقه به برنامه نویسی از دوران نوجوانی، بعد از فارغالتحصیلی نیز کار در این زمینه را ادامه دادم. در زمینه برنامه نویسی سیستمهای امبدد، نرم افزارهای کنترل صنعتی و سیستم های کلود مشغول به کار بودم. به زبانهای C/C++ , Python, C# و Golang تسلط دارم. اکنون به عنوان مدیرمحصول CDN در شرکت ابر آروان مشغول به کار هستم.
روش ارزیابی و نمرهدهی
حد نصاب قبولی در دوره: 80.0 نمره ، فارغالتحصیل شدن در این دوره نیاز به ارسال تمرینها و پروژههای الزامی دارد.
نمونه گواهینامه