آموزش Golang برای DevOps و مهندسان ابر

Golang For DevOps And Cloud Engineers

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: با مثال نحوه استفاده از Go (Golang) با REST API، خدمات وب آمازون (AWS)، Azure، GitHub، Kubernetes و موارد دیگر را بیاموزید اصول اولیه Golang را با مثال بیاموزید که چگونه از Golang به عنوان یک DevOps یا مهندس ابری با کاربرد خاص صنعت استفاده کنید- موارد یاد بگیرید چگونه از AWS Go SDK استفاده کنید یاد بگیرید چگونه از Azure Go SDK استفاده کنید یاد بگیرید چگونه از Kubernetes API و Go SDK ادغام با GitHub Webhooks در Go استفاده کنید ارائه دهنده هویت خود (IdP) را با OpenID Connect (OIDC) بنویسید. سرور SSH و کلاینت در Go ایجاد یک ابزار خط فرمان openssl مشابه برای ایجاد گواهینامه های X.509 برای اجرای یک وب سرور امن https. تنها با استفاده از کتابخانه های رسمی Golang پیش نیازها: برخی از تجربه های اسکریپت نویسی یا برنامه نویسی یک مزیت خواهد بود، زیرا هر مفهوم اساسی توضیح داده نخواهد شد.

اگر در فضای Cloud یا DevOps کار می کنید، این دوره برای شما مناسب است. گلانگ در سال‌های اخیر محبوبیت زیادی پیدا کرده است. اسکریپت های پوسته کوچکی را که برای چسباندن چیزها به هم می نویسید را فراموش کنید. شما می توانید برنامه های واقعی را با یک زبان برنامه نویسی عالی که توسط گوگل ایجاد شده است ایجاد کنید. سریع کامپایل می شود، سریع اجرا می شود، تایپ ثابت دارد و برای نوشتن برنامه های محبوب مانند Docker و Kubernetes استفاده شده است. این بهترین انتخاب برای نوشتن برنامه های بعدی است!

من به شما نشان خواهم داد که چگونه برنامه‌ها را برای ادغام با هر شخص ثالثی که دارای REST API است بنویسید. در حالی که من اولین برنامه خود را برای شما توضیح می دهم که تماس های API را برقرار می کند، گام به گام نحوه استفاده از Go را یاد خواهید گرفت. در مرحله بعد، من به شما نشان خواهم داد که چگونه با API AWS یکپارچه شوید تا یک نمونه جدید با استفاده از Go راه اندازی کنید. دیگر نمونه‌ها را راه‌اندازی نمی‌کنید زیرا حجم کاری شما کاملاً محدود شده است؟ بخش بعدی نحوه استفاده از Kubernetes API با استفاده از Kubernetes go-client را به شما نشان می دهد.

وقتی با آن فناوری‌ها ادغام شدید، باید بتوانید کد Go خود را بنویسید تا با APIهایی که در سازمان خود استفاده می‌کنید ادغام شود. یادگیری مبارک!

من همچنین به تمام سوالات در بخش Q A پاسخ می دهم و می توانید از طریق پیام مستقیم با من تماس بگیرید. اگر می خواهید با من صحبت کنید، من هر هفته ساعات اداری را اجرا می کنم!

توجه: این دوره دارای شرح‌های بسته به زبان انگلیسی است (به‌طور خودکار تولید نمی‌شود)


سرفصل ها و درس ها

معرفی Introduction

  • معرفی Introduction

  • فایل های منبع و اطلاعات مفید Source files and useful information

معرفی Introduction

  • معرفی Introduction

  • فایل های منبع و اطلاعات مفید Source files and useful information

تنظیم کد ویژوال استودیو Visual Studio Code Setup

  • نصب و راه اندازی Installation

تنظیم کد ویژوال استودیو Visual Studio Code Setup

  • نصب و راه اندازی Installation

اولین برنامه Golang ما Our First Golang Application

  • معرفی Introduction

  • سلام دنیا Hello world

  • سلام دنیا با آرگومان های دستوری Hello world with command arguments

  • دستور آرگومان ها با شرط ها Command Arguments With Conditionals

  • برو چیت شیت Go Cheatsheet

  • HTTP دریافت از یک API HTTP Get from an API

  • آزمون 1 Quiz 1

  • پاسخ HTTP JSON را تجزیه کنید Parse HTTP JSON Response

  • رابط io.Reader توضیح داد io.Reader Interface explained

  • تجزیه طرحواره های مختلف JSON از جمله سوئیچ، برای و نقشه ها Parsing different JSON schemas including switch, for and maps

  • استفاده از توابع Using Functions

  • خطاهای سفارشی Custom Errors

  • آزمون 2 Quiz 2

  • بسته پرچم The flag package

  • ارسال درخواست ها (مقدمه) Post requests (Introduction)

  • درخواست با توکن JWT Requests with a JWT Token

  • قرار دادن کد ما در یک بسته Putting our code in a package

  • تصحیح: نشانگر گم شده در MyJWTTransport Correction: missing pointer in MyJWTTransport

  • کد تست Testing code

  • آزمایش http.RoundTripper ما Testing our http.RoundTripper

  • تکلیف 1 (تجزیه JSON) Assignment 1 (JSON Parsing)

اولین برنامه Golang ما Our First Golang Application

  • معرفی Introduction

  • سلام دنیا Hello world

  • سلام دنیا با آرگومان های دستوری Hello world with command arguments

  • دستور آرگومان ها با شرط ها Command Arguments With Conditionals

  • برو چیت شیت Go Cheatsheet

  • HTTP دریافت از یک API HTTP Get from an API

  • آزمون 1 Quiz 1

  • پاسخ HTTP JSON را تجزیه کنید Parse HTTP JSON Response

  • رابط io.Reader توضیح داد io.Reader Interface explained

  • تجزیه طرحواره های مختلف JSON از جمله سوئیچ، برای و نقشه ها Parsing different JSON schemas including switch, for and maps

  • استفاده از توابع Using Functions

  • خطاهای سفارشی Custom Errors

  • آزمون 2 Quiz 2

  • بسته پرچم The flag package

  • ارسال درخواست ها (مقدمه) Post requests (Introduction)

  • درخواست با توکن JWT Requests with a JWT Token

  • قرار دادن کد ما در یک بسته Putting our code in a package

  • تصحیح: نشانگر گم شده در MyJWTTransport Correction: missing pointer in MyJWTTransport

  • کد تست Testing code

  • آزمایش http.RoundTripper ما Testing our http.RoundTripper

  • تکلیف 1 (تجزیه JSON) Assignment 1 (JSON Parsing)

مفاهیم Go بیشتر More Go Concepts

  • اشاره گرها Pointers

  • آرایه ها و برش ها Arrays and Slices

  • آرایه ها و برش ها (مثال) Arrays and Slices (Example)

  • سوئیچ نوع The Type Switch

  • Generics in Go Generics in Go

  • نمونه انواع (تجزیه JSON سفارشی) Types Example (Custom JSON Parsing)

  • کانال ها و کلمه کلیدی Go Channels and the Go Keyword

  • Mutex (حذف متقابل) Mutex (Mutual Exclusion)

  • تکلیف 2 (محدود کردن نرخ) Assignment 2 (Rate Limiting)

مفاهیم Go بیشتر More Go Concepts

  • اشاره گرها Pointers

  • آرایه ها و برش ها Arrays and Slices

  • آرایه ها و برش ها (مثال) Arrays and Slices (Example)

  • سوئیچ نوع The Type Switch

  • Generics in Go Generics in Go

  • نمونه انواع (تجزیه JSON سفارشی) Types Example (Custom JSON Parsing)

  • کانال ها و کلمه کلیدی Go Channels and the Go Keyword

  • Mutex (حذف متقابل) Mutex (Mutual Exclusion)

  • تکلیف 2 (محدود کردن نرخ) Assignment 2 (Rate Limiting)

ساختمان و بسته بندی Building and Packaging

  • Cross Compiling و cgo Cross Compiling and cgo

  • Docker build Go Apps Docker build Go Apps

ساختمان و بسته بندی Building and Packaging

  • Cross Compiling و cgo Cross Compiling and cgo

  • Docker build Go Apps Docker build Go Apps

خدمات وب آمازون (AWS) Amazon Web Services (AWS)

  • مقدمه ای در مورد نحوه استفاده از Go با AWS Introduction on how to use Go with AWS

  • اعتبارنامه AWS را پیکربندی کنید Configure AWS credentials

  • راه اندازی EC2 با معرفی Go Launching an EC2 with Go introduction

  • راه اندازی EC2 با Go Launching an EC2 with Go

  • آپلود فایل در s3 با go-aws-sdk Uploading a file to s3 with the go-aws-sdk

  • دانلود فایل از s3 با go-aws-sdk Downloading a file from s3 with the go-aws-sdk

  • تست AWS SDK AWS SDK Testing

خدمات وب آمازون (AWS) Amazon Web Services (AWS)

  • مقدمه ای در مورد نحوه استفاده از Go با AWS Introduction on how to use Go with AWS

  • اعتبارنامه AWS را پیکربندی کنید Configure AWS credentials

  • راه اندازی EC2 با معرفی Go Launching an EC2 with Go introduction

  • راه اندازی EC2 با Go Launching an EC2 with Go

  • آپلود فایل در s3 با go-aws-sdk Uploading a file to s3 with the go-aws-sdk

  • دانلود فایل از s3 با go-aws-sdk Downloading a file from s3 with the go-aws-sdk

  • تست AWS SDK AWS SDK Testing

مایکروسافت آژور Microsoft Azure

  • معرفی Go with Azure Introduction to Go with Azure

  • راه اندازی Azure CLI Setting up the Azure CLI

  • بازیابی اعتبار و ایجاد ResourceGroup Retrieving Credentials and Creating ResourceGroup

  • VNet و منابع زیر شبکه VNet and Subnet Resources

  • منابع آدرس IP عمومی و گروه های امنیت شبکه Public IP Address Resource and Network Security Groups

  • منبع رابط شبکه (NIC). Network Interface (NIC) Resource

  • بررسی اینکه آیا VNet وجود دارد یا خیر Checking whether a VNet exists

  • راه اندازی ماشین مجازی Launching the Virtual Machine

مایکروسافت آژور Microsoft Azure

  • معرفی Go with Azure Introduction to Go with Azure

  • راه اندازی Azure CLI Setting up the Azure CLI

  • بازیابی اعتبار و ایجاد ResourceGroup Retrieving Credentials and Creating ResourceGroup

  • VNet و منابع زیر شبکه VNet and Subnet Resources

  • منابع آدرس IP عمومی و گروه های امنیت شبکه Public IP Address Resource and Network Security Groups

  • منبع رابط شبکه (NIC). Network Interface (NIC) Resource

  • بررسی اینکه آیا VNet وجود دارد یا خیر Checking whether a VNet exists

  • راه اندازی ماشین مجازی Launching the Virtual Machine

Kubernetes با Go Kubernetes with Go

  • مقدمه ای بر kubernetes با Go Introduction to kubernetes with Go

  • استقرار Kubernetes با go-client Kubernetes deployment with go-client

  • به روز رسانی استقرارها Updating deployments

  • در انتظار فعال شدن یک پاد Waiting for a pod to become active

  • GitHub Webhooks با ادغام Kubernetes GitHub Webhooks with Kubernetes Integration

  • شامل استقرار نمونه GitHub Webhooks Incluster Deployment of the GitHub Webhooks example

Kubernetes با Go Kubernetes with Go

  • مقدمه ای بر kubernetes با Go Introduction to kubernetes with Go

  • استقرار Kubernetes با go-client Kubernetes deployment with go-client

  • به روز رسانی استقرارها Updating deployments

  • در انتظار فعال شدن یک پاد Waiting for a pod to become active

  • GitHub Webhooks با ادغام Kubernetes GitHub Webhooks with Kubernetes Integration

  • شامل استقرار نمونه GitHub Webhooks Incluster Deployment of the GitHub Webhooks example

بسته SSH The SSH Package

  • استفاده از Go برای تولید کلیدهای SSH Using Go to generate SSH Keys

  • مقدمه ای بر SSH Client/Server Introduction to SSH Client / Server

  • یک سرور SSH در Go An SSH Server in Go

  • اجرای درخواست "exec" در سرور SSH ما Implementing the "exec" request in our SSH Server

  • اتصالات کلاینت SSH در Go SSH Client Connections in Go

  • چالش SCP SCP Challenge

بسته SSH The SSH Package

  • استفاده از Go برای تولید کلیدهای SSH Using Go to generate SSH Keys

  • مقدمه ای بر SSH Client/Server Introduction to SSH Client / Server

  • یک سرور SSH در Go An SSH Server in Go

  • اجرای درخواست "exec" در سرور SSH ما Implementing the "exec" request in our SSH Server

  • اتصالات کلاینت SSH در Go SSH Client Connections in Go

  • چالش SCP SCP Challenge

چالش: ارائه دهندگان هویت (IdP) Challenge: Identity Providers (IdP)

  • مقدمه ای بر Identity Providers و OpenID Connect Introduction to Identity Providers and OpenID Connect

  • OpenID Connect (OIDC) چیست؟ What is OpenID Connect (OIDC)

  • بسته oidc-start The oidc-start package

  • وظیفه: تجزیه پیکربندی را بنویسید Task: write config parsing

  • کانفیگ توضیح داده شده را تجزیه کنید Parse the config explained

  • وظیفه: نقطه پایانی مجوز Task: authorization endpoint

  • نقطه پایان مجوز توضیح داده شد Authorization endpoint explained

  • وظیفه: نقطه پایانی ورود به سیستم Task: login endpoint

  • نقطه پایان ورود توضیح داده شده است Login endpoint explained

  • وظیفه: نقطه پایانی کشف Task: discovery endpoint

  • نقطه پایانی کشف توضیح داده شده است discovery endpoint explained

  • وظیفه: مجوز سرور برنامه Task: app server authorization

  • مجوز سرور برنامه توضیح داده شده است App server authorization explained

  • وظیفه: نقطه پایان نشانه Task: token endpoint

  • نقطه پایانی توکن توضیح داده شد Token endpoint explained

  • وظیفه: تبادل کد برنامه Task: appserver code exchange

  • تبادل کد Appserver توضیح داده شده است Appserver code exchange explained

  • وظیفه: تجزیه و اعتبارسنجی نشانه Task: parsing and validating the token

  • تجزیه و اعتبار سنجی توکن Parsing and validating the token

  • نقطه پایانی jwks The jwks endpoint

  • اعتبار سنجی JWT با jwks JWT validation with jwks

  • وظیفه: نقطه پایانی اطلاعات کاربر را پیاده سازی کنید Task: implement userinfo endpoint

  • نقطه پایانی اطلاعات کاربر توضیح داده شد Userinfo endpoint explained

  • درخواست اطلاعات کاربری Appserver Appserver userinfo request

  • پیاده سازی OIDC OIDC Implementations

  • OIDC را در جنکینز فعال کنید Enable OIDC on Jenkins

  • بهبود نقطه پایانی Discovery برای AWS IAM OIDC Improving our Discovery endpoint for AWS IAM OIDC

  • فدراسیون AWS IAM OIDC AWS IAM OIDC Federation

چالش: ارائه دهندگان هویت (IdP) Challenge: Identity Providers (IdP)

  • مقدمه ای بر Identity Providers و OpenID Connect Introduction to Identity Providers and OpenID Connect

  • OpenID Connect (OIDC) چیست؟ What is OpenID Connect (OIDC)

  • بسته oidc-start The oidc-start package

  • وظیفه: تجزیه پیکربندی را بنویسید Task: write config parsing

  • کانفیگ توضیح داده شده را تجزیه کنید Parse the config explained

  • وظیفه: نقطه پایانی مجوز Task: authorization endpoint

  • نقطه پایان مجوز توضیح داده شد Authorization endpoint explained

  • وظیفه: نقطه پایانی ورود به سیستم Task: login endpoint

  • نقطه پایان ورود توضیح داده شده است Login endpoint explained

  • وظیفه: نقطه پایانی کشف Task: discovery endpoint

  • نقطه پایانی کشف توضیح داده شده است discovery endpoint explained

  • وظیفه: مجوز سرور برنامه Task: app server authorization

  • مجوز سرور برنامه توضیح داده شده است App server authorization explained

  • وظیفه: نقطه پایان نشانه Task: token endpoint

  • نقطه پایانی توکن توضیح داده شد Token endpoint explained

  • وظیفه: تبادل کد برنامه Task: appserver code exchange

  • تبادل کد Appserver توضیح داده شده است Appserver code exchange explained

  • وظیفه: تجزیه و اعتبارسنجی نشانه Task: parsing and validating the token

  • تجزیه و اعتبار سنجی توکن Parsing and validating the token

  • نقطه پایانی jwks The jwks endpoint

  • اعتبار سنجی JWT با jwks JWT validation with jwks

  • وظیفه: نقطه پایانی اطلاعات کاربر را پیاده سازی کنید Task: implement userinfo endpoint

  • نقطه پایانی اطلاعات کاربر توضیح داده شد Userinfo endpoint explained

  • درخواست اطلاعات کاربری Appserver Appserver userinfo request

  • پیاده سازی OIDC OIDC Implementations

  • OIDC را در جنکینز فعال کنید Enable OIDC on Jenkins

  • بهبود نقطه پایانی Discovery برای AWS IAM OIDC Improving our Discovery endpoint for AWS IAM OIDC

  • فدراسیون AWS IAM OIDC AWS IAM OIDC Federation

TLS در Go TLS in Go

  • مقدمه ای بر TLS Introduction to TLS

  • استراتژی های TLS TLS Strategies

  • ایجاد یک ابزار خط فرمان TLS با Cobra Creating a TLS command-line utility with Cobra

  • آشنایی با کبرا Introduction to Cobra

  • پیکربندی ما را با Cobra تجزیه کنید Parse our config with Cobra

  • دستورات (فرعی) کبرا Cobra (sub)commands

  • یک CA (مرجع صدور گواهی) با Go ایجاد کنید Create a CA (Certificate Authority) with Go

  • یک گواهی X.509 با Go ایجاد و امضا کنید Create and Sign an X.509 certificate with Go

  • اجرای یک وب سرور با TLS فعال Running a TLS enabled web server

  • بیایید وب سرور فعال را رمزگذاری کنیم Let's Encrypt enabled web server

  • سرور mTLS mTLS Server

  • مشتری mTLS mTLS Client

TLS در Go TLS in Go

  • مقدمه ای بر TLS Introduction to TLS

  • استراتژی های TLS TLS Strategies

  • ایجاد یک ابزار خط فرمان TLS با Cobra Creating a TLS command-line utility with Cobra

  • آشنایی با کبرا Introduction to Cobra

  • پیکربندی ما را با Cobra تجزیه کنید Parse our config with Cobra

  • دستورات (فرعی) کبرا Cobra (sub)commands

  • یک CA (مرجع صدور گواهی) با Go ایجاد کنید Create a CA (Certificate Authority) with Go

  • یک گواهی X.509 با Go ایجاد و امضا کنید Create and Sign an X.509 certificate with Go

  • اجرای یک وب سرور با TLS فعال Running a TLS enabled web server

  • بیایید وب سرور فعال را رمزگذاری کنیم Let's Encrypt enabled web server

  • سرور mTLS mTLS Server

  • مشتری mTLS mTLS Client

یک Resolver DNS در Go A DNS Resolver in Go

  • مقدمه ای بر DNS Introduction to DNS

  • بسته های DNS توضیح داده شد DNS Packets Explained

  • نمودار جریان منطقی Resolver DNS DNS Resolver Logical Flow Diagram

  • نسخه ی نمایشی حل کننده DNS: شروع پروژه DNS Resolver Demo: Project Start

  • وظیفه: پرس و جو DNS خروجی Task: outgoing DNS query

  • پرس و جوهای DNS خروجی Outgoing DNS queries

  • وظیفه: ساخت سرور DNS Task: Building a DNS server

  • حل‌کننده DNS (قسمت اول) DNS Resolver (Part I)

  • وظیفه: ایجاد پرس و جو و تجزیه پاسخ ها Task: Making queries and parsing responses

  • حل‌کننده DNS (قسمت دوم) DNS Resolver (Part II)

  • وظیفه: جستجوی سرور نام Task: Nameserver lookups

  • حل‌کننده DNS (بخش سوم) DNS Resolver (Part III)

یک Resolver DNS در Go A DNS Resolver in Go

  • مقدمه ای بر DNS Introduction to DNS

  • بسته های DNS توضیح داده شد DNS Packets Explained

  • نمودار جریان منطقی Resolver DNS DNS Resolver Logical Flow Diagram

  • نسخه ی نمایشی حل کننده DNS: شروع پروژه DNS Resolver Demo: Project Start

  • وظیفه: پرس و جو DNS خروجی Task: outgoing DNS query

  • پرس و جوهای DNS خروجی Outgoing DNS queries

  • وظیفه: ساخت سرور DNS Task: Building a DNS server

  • حل‌کننده DNS (قسمت اول) DNS Resolver (Part I)

  • وظیفه: ایجاد پرس و جو و تجزیه پاسخ ها Task: Making queries and parsing responses

  • حل‌کننده DNS (قسمت دوم) DNS Resolver (Part II)

  • وظیفه: جستجوی سرور نام Task: Nameserver lookups

  • حل‌کننده DNS (بخش سوم) DNS Resolver (Part III)

نمایش نظرات

نظری ارسال نشده است.

آموزش Golang برای DevOps و مهندسان ابر
خرید اشتراک و دانلود خرید تکی و دانلود | 320,000 تومان (5 روز مهلت دانلود) در صورت خرید اشتراک، این آموزش بدلیل حجم بالا معادل 2 دوره است و 2 دوره از اشتراک شما کم می شود. زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
19 hours
112
Udemy (یودمی) udemy-small
29 آبان 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
3,386
4.6 از 5
دارد
دارد
دارد
Edward Viaene

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Edward Viaene Edward Viaene

متخصص DevOps، Cloud، Big Data

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

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