اگر شغلتان شما را با فضای ابری در ارتباط میکند، احتمالاً در حال تعامل با Go هستید. این دوره همه چیزهایی را که برای ایجاد برنامههای Go خود نیاز دارید، از جمله مقدمهای بر مکانیسمهای همزمانی Go به شما آموزش میدهد.
آنچه یاد خواهید گرفت:
Go به اولین زبانی تبدیل شده است که بسیاری از شرکتها در صورت نیاز به نرمافزار سریع، مقیاسپذیر و قابل نگهداری برای پلتفرمها مبتنی بر ابر به آن دست پیدا میکنند. در این دوره، Go Fundamentals، اصول توسعه نرمافزار Go را یاد خواهید گرفت. ابتدا زبان اصلی مانند استفاده از متغیرها و جریان کنترل را بررسی خواهید کرد. در مرحله بعد، نحوه سازماندهی برنامههای Go را برای به حداکثر رساندن وضوح و قابلیت نگهداری آنها خواهید فهمید. در نهایت، نحوه بهینهسازی عملکرد برنامه را با استفاده از مکانیزم همزمانی زیبا Go`s یاد خواهید گرفت. وقتی این دوره را به پایان رساندید، مهارتها و دانش Go را خواهید داشت که برای نوشتن برنامههای کاربردی ساده و کاربردی لازم است.
نمونه ویدیوی آموزشی ( زیرنویسها جدا از ویدیو است و میتوانید آنرا نمایش ندهید ) :
[ENGLISH]
01 Course Overview [1min]
01-01 Course Overview [1mins]
02 Getting Up and Running [36mins]
02-01 Introduction [2mins]
02-02 Prerequisites and Expected Outcomes [5mins]
02-03 Getting Up and Running [2mins]
02-04 Demo- Installing Go [4mins]
02-05 Setting Up a Code Editor [3mins]
02-06 Demo- Installing and Configuring VS Code [5mins]
02-07 Demo- Your First Go Program [10mins]
02-08 Course Plan [3mins]
02-09 Summary [2mins]
03 Variables and Simple Data Types [54mins]
03-01 Introduction [1mins]
03-02 Simple Data Types [1mins]
03-03 The String Type [3mins]
03-04 Numeric Types [2mins]
03-05 Boolean Types [1mins]
03-06 Error Types [2mins]
03-07 Finding Documentation for Built-in Types [2mins]
03-08 Declaring Variables [3mins]
03-09 Type Conversions [2mins]
03-10 Demo- Using Simple Types and Type Conversions [6mins]
03-11 Common Arithmetic Operators [2mins]
03-12 Common Comparison Operators [2mins]
03-13 Demo- Using Arithmetic and Comparison Operators [4mins]
03-14 Constants, Constant Expressions, and Iota [6mins]
03-15 Demo- Constants, Constant Expressions, and Iota [6mins]
03-16 Pointers [6mins]
03-17 Demo- Creating and Using Pointers [3mins]
03-18 Summary [2mins]
04 Creating and Debugging Programs [32mins]
04-01 Introduction [2mins]
04-02 Concept- Command-line Interfaces [2mins]
04-03 CLI Tools [3mins]
04-04 Demo- Building a CLI Application [5mins]
04-05 Concept- Web Services [4mins]
04-06 Demo- Building a Web Service [7mins]
04-07 Demo- Debugging a Program [7mins]
04-08 Summary [2mins]
05 Aggregate Data Types [45mins]
05-01 Introduction [1mins]
05-02 Concept- Array Types [2mins]
05-03 Creating and Using Arrays [5mins]
05-04 Demo- Arrays [3mins]
05-05 Concept- Slice Types [2mins]
05-06 Creating and Using Slices [4mins]
05-07 Demo- Slices [4mins]
05-08 Concept- Map Types [2mins]
05-09 Creating and Using Maps [5mins]
05-10 Demo- Maps [6mins]
05-11 Concept- Struct Types [2mins]
05-12 Creating and Using Structs [4mins]
05-13 Demo- Structs [3mins]
05-14 Summary [2mins]
06 Looping [24mins]
06-01 Introduction [1mins]
06-02 Concept- Looping [2mins]
06-03 Basic Loops [6mins]
06-04 Demo- Looping [4mins]
06-05 Looping through Collections [4mins]
06-06 Demo- Looping through Collections [6mins]
06-07 Summary [1mins]
07 Branching [50mins]
07-01 Introduction [2mins]
07-02 If Statements [3mins]
07-03 Demo- If Statements [5mins]
07-04 Concept- Switch Statements [2mins]
07-05 Switch Statements [2mins]
07-06 Logical Switches [2mins]
07-07 Demo- Switch Statements [9mins]
07-08 Concept- Deferred Functions [1mins]
07-09 Deferred Functions [2mins]
07-10 Demo- Deferred Functions [4mins]
07-11 Concept- Panic and Recover [4mins]
07-12 Panic and Recover [3mins]
07-13 Demo- Panic and Recover [5mins]
07-14 Goto Statements [3mins]
07-15 Summary [3mins]
08 Organizing Programs [45mins]
08-01 Introduction [1mins]
08-02 Function Signatures [2mins]
08-03 Function Parameters [3mins]
08-04 Passing Values and Pointers as Parameters [4mins]
08-05 Returning Data from Functions [6mins]
08-06 Demo- Functions [5mins]
08-07 Concept- Packages [2mins]
08-08 Package Members and Scoping Rules [4mins]
08-09 Demo- Packages [8mins]
08-10 Documenting Code [5mins]
08-11 Examples of Documentation in Standard Library [3mins]
08-12 Summary [2mins]
09 Object Orientation and Polymorphism [58mins]
09-01 Introduction [1mins]
09-02 Defining Methods [5mins]
09-03 Method Receivers [2mins]
09-04 Demo- Methods [6mins]
09-05 Concept- Interfaces [3mins]
09-06 Defining and Implementing Interfaces [4mins]
09-07 Type Assertions [5mins]
09-08 Demo- Interfaces [10mins]
09-09 Concept- Generic Programming [3mins]
09-10 Demo- Creating Generic Functions [4mins]
09-11 Demo- Generics with the Comparable Constraint [4mins]
09-12 Demo- Creating Custom Type Constraints [6mins]
09-13 Review- Generic Programming [3mins]
09-14 Summary [2mins]
10 Error Management [33mins]
10-01 Introduction [1mins]
10-02 Errors in Go [5mins]
10-03 Concept- Error Handling [1mins]
10-04 Demo- Creating Error Objects [6mins]
10-05 Demo- Error Handling [6mins]
10-06 Concept- Errors vs. Panics [4mins]
10-07 Demo- Converting Panics to Errors [8mins]
10-08 Summary [2mins]
11 Concurrent Programming [40mins]
11-01 Introduction [1mins]
11-02 Concept- Concurrency [2mins]
11-03 Concept- CSP (Communicating Sequential Processes) [4mins]
11-04 Concept- Goroutines [2mins]
11-05 WaitGroups [4mins]
11-06 Demo- Goroutines and WaitGroups [4mins]
11-07 Demo- Goroutines and WaitGroups [4mins]
11-08 Demo- Channels [3mins]
11-09 Demo- Channels [3mins]
11-10 Select Statements [5mins]
11-11 Looping with Channels [3mins]
11-12 Demo- Looping with Channels [3mins]
11-13 Summary [2mins]
12 Testing [27mins]
12-01 Introduction [1mins]
12-02 Why Write Tests [5mins]
12-03 What to Test [4mins]
12-04 Test Support in Go [4mins]
12-05 Demo- Writing a Test [10mins]
12-06 Summary [3mins]
[فارسی]
01 نمای کلی دوره [1 دقیقه]
01-01 بررسی اجمالی دوره [1 دقیقه]
02 بلند شدن و دویدن [36 دقیقه]
02-01 مقدمه [2 دقیقه]
02-02 پیش نیازها و نتایج مورد انتظار [5 دقیقه]
02-03 بلند شدن و دویدن [2 دقیقه]
02-04 نسخهی نمایشی- در حال نصب Go [4 دقیقه]
02-05 راه اندازی یک ویرایشگر کد [3 دقیقه]
02-06 نسخهی نمایشی- نصب و پیکربندی کد VS [5 دقیقه]
02-07 نسخهی نمایشی- اولین برنامه شما [10 دقیقه]
02-08 برنامه دوره [3 دقیقه]
02-09 خلاصه [2 دقیقه]
03 متغیرها و انواع دادههای ساده [54 دقیقه]
03-01 مقدمه [1 دقیقه]
03-02 انواع دادههای ساده [1 دقیقه]
03-03 نوع رشته [3 دقیقه]
03-04 انواع عددی [2 دقیقه]
03-05 انواع بولی [1 دقیقه]
03-06 انواع خطا [2 دقیقه]
03-07 یافتن اسناد برای انواع داخلی [2 دقیقه]
03-08 اعلام متغیرها [3 دقیقه]
03-09 تبدیل نوع [2 دقیقه]
03-10 نسخهی نمایشی- استفاده از انواع ساده و تبدیل نوع [6 دقیقه]
03-11 عملگرهای معمولی حسابی [2 دقیقه]
03-12 اپراتورهای رایج مقایسه [2 دقیقه]
03-13 نسخهی نمایشی- استفاده از عملگرهای حساب و مقایسه [4 دقیقه]
03-14 ثابتها، عبارات ثابت، و آیوتا [6 دقیقه]
03-15 نسخهی نمایشی- ثابتها، عبارات ثابت و آیوتا [6 دقیقه]
03-16 اشاره گر [6 دقیقه]
03-17 نسخهی نمایشی- ایجاد و استفاده از نشانگرها [3 دقیقه]
03-18 خلاصه [2 دقیقه]
04 ایجاد و رفع اشکال برنامهها [32 دقیقه]
04-01 مقدمه [2 دقیقه]
04-02 مفهوم- رابطهای خط فرمان [2 دقیقه]
04-03 ابزارهای CLI [3 دقیقه]
04-04 نسخهی نمایشی- ساخت یک برنامه CLI [5 دقیقه]
04-05 مفهوم- خدمات وب [4 دقیقه]
04-06 نسخهی نمایشی- ساخت یک وب سرویس [7 دقیقه]
04-07 نسخهی نمایشی- اشکال زدایی یک برنامه [7 دقیقه]
04-08 خلاصه [2 دقیقه]
05 انواع دادههای انبوه [45 دقیقه]
05-01 مقدمه [1 دقیقه]
05-02 مفهوم- انواع آرایه [2 دقیقه]
05-03 ایجاد و استفاده از آرایهها [5 دقیقه]
05-04 نسخهی نمایشی- آرایهها [3 دقیقه]
05-05 مفهوم- انواع برش [2 دقیقه]
05-06 ایجاد و استفاده از برشها [4 دقیقه]
05-07 نسخهی نمایشی- Slices [4 دقیقه]
05-08 مفهوم- انواع نقشه [2 دقیقه]
05-09 ایجاد و استفاده از نقشهها [5 دقیقه]
05-10 نسخهی نمایشی- Maps [6 دقیقه]
05-11 مفهوم- انواع سازه [2 دقیقه]
05-12 ایجاد و استفاده از ساختارها [4 دقیقه]
05-13 نسخهی نمایشی- Structs [3 دقیقه]
05-14 خلاصه [2 دقیقه]
06 حلقه زدن [24 دقیقه]
06-01 مقدمه [1 دقیقه]
06-02 مفهوم- حلقه زدن [2 دقیقه]
06-03 حلقههای اصلی [6 دقیقه]
06-04 نسخهی نمایشی- در حال چرخش [4 دقیقه]
06-05 چرخش در میان مجموعهها [4 دقیقه]
06-06 نسخهی نمایشی- در حال چرخش در میان مجموعهها [6 دقیقه]
06-07 خلاصه [1 دقیقه]
07 انشعاب [50 دقیقه]
07-01 مقدمه [2 دقیقه]
07-02 اگر بیانیهها [3 دقیقه]
07-03 نسخهی نمایشی- If Statements [5 دقیقه]
07-04 مفهوم- تغییر بیانیهها [2 دقیقه]
07-05 تغییر بیانیهها [2 دقیقه]
07-06 سوئیچهای منطقی [2 دقیقه]
07-07 نسخهی نمایشی- تغییر بیانیهها [9 دقیقه]
07-08 مفهوم- توابع معوق [1 دقیقه]
07-09 توابع معوق [2 دقیقه]
07-10 نسخهی نمایشی- توابع معوق [4 دقیقه]
07-11 مفهوم- وحشت و بهبودی [4 دقیقه]
07-12 وحشت و بهبودی [3 دقیقه]
07-13 نسخهی نمایشی- وحشت و بازیابی [5 دقیقه]
07-14 برو بیانیهها [3 دقیقه]
07-15 خلاصه [3 دقیقه]
08 سازماندهی برنامهها [45 دقیقه]
08-01 مقدمه [1 دقیقه]
08-02 امضاهای عملکرد [2 دقیقه]
08-03 پارامترهای عملکرد [3 دقیقه]
08-04 ارسال مقادیر و نشانگرها به عنوان پارامتر [4 دقیقه]
08-05 برگرداندن دادهها از توابع [6 دقیقه]
08-06 نسخهی نمایشی- توابع [5 دقیقه]
08-07 مفهوم- بستهها [2 دقیقه]
08-08 اعضای بسته و قوانین محدوده [4 دقیقه]
08-09 نسخهی نمایشی- بستهها [8 دقیقه]
08-10 کد مستندسازی [5 دقیقه]
08-11 نمونههایی از اسناد در کتابخانه استاندارد [3 دقیقه]
08-12 خلاصه [2 دقیقه]
09 شی گرایی و چند شکلی [58 دقیقه]
09-01 مقدمه [1 دقیقه]
09-02 تعریف روشها [5 دقیقه]
09-03 گیرندههای روش [2 دقیقه]
09-04 نسخهی نمایشی- روشها [6 دقیقه]
09-05 مفهوم- رابطها [3 دقیقه]
09-06 تعریف و پیادهسازی رابطها [4 دقیقه]
09-07 تایپ اظهارات [5 دقیقه]
09-08 نسخهی نمایشی- رابطها [10 دقیقه]
09-09 مفهوم- برنامه نویسی عمومی [3 دقیقه]
09-10 نسخهی نمایشی- ایجاد توابع عمومی [4 دقیقه]
09-11 نسخهی نمایشی- ژنریک با محدودیت قابل مقایسه [4 دقیقه]
09-12 نسخهی نمایشی- ایجاد محدودیتهای نوع سفارشی [6 دقیقه]
09-13 نقد و بررسی- برنامه نویسی عمومی [3 دقیقه]
09-14 خلاصه [2 دقیقه]
10 مدیریت خطا [33 دقیقه]
10-01 مقدمه [1 دقیقه]
10-02 خطاها در Go [5 دقیقه]
10-03 مفهوم- رسیدگی به خطا [1 دقیقه]
10-04 نسخهی نمایشی- ایجاد اشیاء خطا [6 دقیقه]
10-05 نسخهی نمایشی- رسیدگی به خطا [6 دقیقه]
10-06 مفهوم- خطاها در مقابل هراس [4 دقیقه]
10-07 نسخهی نمایشی- تبدیل وحشت به خطا [8 دقیقه]
10-08 خلاصه [2 دقیقه]
11 برنامه نویسی همزمان [40 دقیقه]
11-01 مقدمه [1 دقیقه]
11-02 مفهوم- همزمانی [2 دقیقه]
11-03 مفهوم- CSP (ارتباط فرآیندهای متوالی) [4 دقیقه]
11-04 کانسپت- گوروتینها [2 دقیقه]
11-05 گروههای انتظار [4 دقیقه]
11-06 نسخهی نمایشی- گوروتینها و گروههای انتظار [4 دقیقه]
11-07 نسخهی نمایشی- گوروتینها و گروههای انتظار [4 دقیقه]
11-08 نسخهی نمایشی- کانالها [3 دقیقه]
11-09 نسخهی نمایشی- کانالها [3 دقیقه]
11-10 انتخاب بیانیهها [5 دقیقه]
11-11 حلقه زدن با کانالها [3 دقیقه]
11-12 نسخهی نمایشی- حلقه زدن با کانالها [3 دقیقه]
11-13 خلاصه [2 دقیقه]
12 تست [27 دقیقه]
12-01 مقدمه [1 دقیقه]
12-02 چرا تست بنویسیم؟ [5 دقیقه]
12-03 چه چیزی را تست کنیم؟ [4 دقیقه]
12-04 تست پشتیبانی در Go [4 دقیقه]
12-05 نسخهی نمایشی- نوشتن یک تست [10 دقیقه]
12-06 خلاصه [3 دقیقه]
مایکل ون سیکل یک معمار اپلیکیشن در آکرون، اوهایو است. او قبل از تغییر به مهندسی نرم افزار، کار خود را به عنوان یک مهندس مکانیک با طراحی قطعات برای صنعت خودرو آغاز کرد. او مشتاق یادگیری زبان های برنامه نویسی جدید است و به راحتی در جاوا، سی شارپ، جاوا اسکریپت، PHP و F# کار می کند. مایک همچنین دوست دارد در مورد طراحی تجربه کاربری یاد بگیرد و نقش اصلی را در تلاش شرکت خود برای ساخت برنامه های کاربردی شیک و ساده ایفا می کند. هنگامی که او کد نمی نویسد، مایک دوست دارد به کمپینگ برود و با همسر و دو دخترش پیاده روی طولانی انجام دهد.