آموزش ساخت ماژول در Go (Golang)

Building a module in Go (Golang)

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: آموزش ساخت یک ماژول قابل استفاده مجدد و به خوبی آزمایش شده در Go چگونه یک ماژول Go agnostic و قابل استفاده مجدد بسازیم چگونه ماژول خود را با دیگر توسعه دهندگان Go به اشتراک بگذارید چگونه برای ماژول خود تست بنویسید چگونه چندین نسخه از ماژول خود را مدیریت کنید استفاده از ویژگی جدید Go 1.18، فضاهای کاری پیش نیازها: تجربه کمی با زبان برنامه نویسی Go الزامی است.

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

به جای کپی و چسباندن کد از پروژه ای به پروژه دیگر، منطقی است که از ماژول های Go استفاده کنید -- کد قابل استفاده مجدد که می تواند با صدور فرمان "go get" در پروژه گنجانده شود. به این ترتیب، اگر عملکرد جدیدی به آن ماژول اضافه شود، هر پروژه ای که آن را وارد می کند، می تواند صرفاً با به روز رسانی وابستگی های آن، از آن قابلیت استفاده کند و اگر اشکالی کشف شد، می توانید با به روز رسانی ماژول آن را برطرف کنید. هر پروژه ای که از آن ماژول استفاده می کند با یک دستور "go get -u" رفع اشکال می کند.

ساخت یک ماژول قوی، ایمن و آزمایش شده دشوار نیست، اما نیاز به برنامه ریزی دقیق دارد تا اطمینان حاصل شود که در سیستم عامل های مختلف کار می کند.

این دوره شما را طی مراحل لازم برای تولید یک ماژول که شامل بسیاری از کارهایی است که معمولاً در برنامه های کاربردی وب استفاده می شود، از جمله:

  • خواندن JSON

  • نوشتن JSON

  • تولید پیام های خطا با قالب بندی خوب و آموزنده

  • آپلود کردن یک یا چند فایل در سرور، و محدود کردن آپلود بر اساس نوع mime و اندازه فایل

  • ایجاد دایرکتوری ها در سرور

  • ایجاد رشته های تصادفی

  • دانلود فایل های ثابت

  • پست کردن JSON به یک سرویس راه دور

  • ایجاد یک URL امن از یک رشته

ما ماژول خود را با استفاده از ابزارهای جدید فضای کاری Go 1.18 می سازیم و مطمئن می شویم که کل ماژول به خوبی آزمایش شده است.

ماژول نهایی ما هیچ گونه وابستگی خارجی ندارد و فقط از عملکرد موجود در کتابخانه استاندارد Go استفاده می کند.

تا زمانی که این دوره را به پایان رساندید، یک ماژول Go خواهید داشت که راه اندازی یک برنامه وب جدید را بسیار سریعتر می کند و برای انجام این کار به کد شخص دیگری وابسته نخواهید بود.


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

معرفی Introduction

  • معرفی Introduction

  • درمورد من About me

  • نحوه درخواست کمک How to ask for help

راه اندازی پروژه Project Setup

  • در حال نصب Go Installing Go

  • نصب IDE Installing an IDE

  • راه اندازی Go Workspace ما Setting up our Go Workspace

شروع کار با ماژول Getting Started with the Module

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • ایجاد یک رشته تصادفی Generating a random string

  • ماژول جدید خود را در یک برنامه ساده Go امتحان می کنیم Trying out our new module in a simple Go application

  • نوشتن یک تست برای تابع RandomString Writing a test for our RandomString function

  • ماژول خود را به GitHub منتقل می کنیم Pushing our module up to GitHub

آپلود یک یا چند فایل Uploading one or More Files

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • شروع با روش UploadFiles Getting started with the UploadFiles method

  • افزودن یک پروژه به فضای کاری ما برای آزمایش آپلود فایل ها Adding a project to our workspace to test uploading files

  • در حال آزمایش عملکرد آپلود جدید ما Trying out our new upload functionality

  • اضافه کردن یک روش راحت، UploadOneFile Adding a convenience method, UploadOneFile

  • نوشتن یک تست برای روش UploadFiles در ماژول ما Writing a test for the UploadFiles method in our module

  • نوشتن تست برای UploadOneFile Writing a test for UploadOneFile

  • فشار دادن تغییرات ما به GitHub Pushing our changes to GitHub

ایجاد دایرکتوری ها در صورت عدم وجود Creating Directories if they do not exist

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • نوشتن متد CreateDirIfNotExists Writing the CreateDirIfNotExists method

  • در حال امتحان کردن روش جدید ما Trying out our new method

  • نوشتن تست برای CreateDirIfNotExists Writing a test for CreateDirIfNotExists

  • به روز رسانی روش UploadFiles برای استفاده از روش جدید ما Updating the UploadFiles method to take advantage of our new method

  • در حال به‌روزرسانی readme و اعمال تغییرات در GitHUB Updating our readme and pushing changes to GitHUB

تولید راب Generating Slugs

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • نوشتن متد Slugify برای ماژول ما Writing the Slugify method for our module

  • اضافه کردن یک پروژه app-slug به فضای کاری Go ما و امتحان کردن چیزها Adding an app-slug project to our Go workspace and trying things out

  • تست های ما را به روز کنید Update our tests

  • فشار دادن تغییرات ما به GitHub Pushing our changes to GitHub

دانلود یک فایل استاتیک Downloading a Static File

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • نوشتن تابع DownloadStaticFile Writing the DownloadStaticFile function

  • امتحان کردن چیزها Trying things out

  • نوشتن تست برای DownloadStaticFile Writing a test for DownloadStaticFile

  • فشار دادن تغییرات ما به GitHub Pushing our changes to GitHub

کار با JSON Working with JSON

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • خواندن JSON Reading JSON

  • بهبود پیام های خطا در ReadJSON Improving error messages in ReadJSON

  • نوشتن تست برای ReadJSON Writing a test for ReadJSON

  • اضافه کردن موارد اضافی به تست جدول ما برای ReadJSON Adding additional cases to our table test for ReadJSON

  • نوشتن JSON Writing JSON

  • نوشتن تست برای WriteJSON Writing a test for WriteJSON

  • ایجاد تابع ErrorJSON Creating the ErrorJSON function

  • نوشتن تست برای ErrorJSON Writing a test for ErrorJSON

  • فشار دادن JSON به یک سرویس راه دور Pushing JSON to a remote service

  • نوشتن تست برای PushJSONToRemote Writing a test for PushJSONToRemote

  • راه اندازی برنامه وب ساده ما و افزودن مقداری HTML Setting up our simple web app and adding some HTML

  • شروع کار با برنامه وب Getting started with the web app

  • مدیریت یک پست JSON ساده Handling a simple JSON Post

  • مدیریت هل دادن به یک سرویس از راه دور Handling pushing to a remote service

برچسب گذاری نسخه و نسخه معنایی Tagging a release & Semantic Versioning

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • نسخه سازی معنایی چیست؟ What is semantic versioning?

  • برچسب زدن نسخه 1.0.0 ماژول ما Tagging version 1.0.0 of our module

  • به روز رسانی نسخه به 2.0.0 Updating the version to 2.0.0

ماژول ما را امتحان می کنیم Trying our module out

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • ایجاد یک API ساده (ساختگی). Creating a simple (dummy) API

  • وارد کردن ماژول جعبه ابزار ما به پروژه و امتحان یک نقطه پایانی Importing our toolkit module to the project and trying one endpoint

  • در حال امتحان کردن کنترل کننده ورود Trying out the login handler

نمایش نظرات

آموزش ساخت ماژول در Go (Golang)
جزییات دوره
4 hours
58
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,610
4.7 از 5
دارد
دارد
دارد
Trevor Sawler
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar