آموزش توسعه وب با زبان برنامه نویسی Google Go (golang).

Web Development w/ Google’s Go (golang) Programming Language

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: برنامه نویسی وب را از یک استاد دانشگاه در علوم کامپیوتر با بیش از 15 سال سابقه تدریس بیاموزید.

آنچه یاد خواهید گرفت

  • برنامه های سمت سرور را با استفاده از بهترین شیوه های امروزی بسازید
  • یک پایه برجسته در اصول برنامه نویسی وب به دست آورید
  • از یک استاد دانشگاه در علوم کامپیوتر با بیش از 15 سال تجربه در آموزش افراد در تمام سطوح توانایی بیاموزید
  • دستیابی به تسلط در درک و کاربرد توسعه وب
  • درک سرورها، مسیریابی، برنامه های کاربردی، JSON، AJAX، قالب ها، سرورهای فایل، کوکی ها، وضعیت، UUID، روش های HTTP، کدهای پاسخ HTTP، جلسات، خدمات وب آمازون، MySQL، MongoDB، متعادل کننده بار، HTTPS TLS، داکر، کانتینرها، ماشین‌های مجازی، Google Cloud و App Engine
  • برنامه های وب را فقط با استفاده از کتابخانه استاندارد زبان برنامه نویسی Go ایجاد کنید
  • برنامه های کاربردی وب را بدون استفاده از چارچوب های شخص ثالث ایجاد کنید
  • برنامه های کاربردی توزیع شده را بسازید که به صورت پویا مقیاس شوند
  • از روش های پیشرفته توسعه وب استفاده کنید

زبان برنامه نویسی Go توسط Google ایجاد شد تا کاری را انجام دهد که Google انجام می دهد: برنامه های کاربردی وب در مقیاس.

زبان برنامه نویسی Go که در سال 2009 منبع باز بود و در سال 2012 به نسخه یک رسید، بهترین انتخاب برای برنامه نویسی توسعه وب امروزی است.

Ruby on Rails، Python، Django، Node.js، PHP و ASP همگی کوتاهی می‌کنند.

Go قدرتمندترین، کارآمدترین و مقیاس‌پذیرترین زبان برنامه‌نویسی امروزی برای ایجاد برنامه‌های کاربردی وب، وب API، میکروسرویس‌ها و سایر سرویس‌های توزیع‌شده است.

در این دوره آموزشی، پایه ای محکم در توسعه وب به دست خواهید آورد. همه موارد زیر و بیشتر را خواهید آموخت:

معماری

  • معماری شبکه

  • معماری مشتری/سرور

  • الگوی درخواست/پاسخ

  • استانداردهای RFC تعریف شده توسط IETF

  • فرمت درخواست‌های مشتریان و پاسخ‌های سرورها

الگوها

  • نقشی که الگوها در برنامه نویسی سمت سرور دارند

  • نحوه کار با الگوهای کتابخانه استاندارد Go

  • تغییر ساختار داده برای کارکرد خوب با الگوها

سرورها

  • رابطه بین TCP و HTTP

  • نحوه ساخت یک سرور TCP که به درخواست‌های HTTP پاسخ می‌دهد

  • نحوه ایجاد یک سرور TCP که به عنوان پایگاه داده در حافظه عمل می کند

  • نحوه ایجاد یک سرور TCP آرام که مسیرها و روش‌های مختلف را مدیریت می‌کند

  • تفاوت بین وب سرور، servemux، مالتی پلکسر و mux

  • نحوه استفاده از سرور شخص ثالث مانند روتر جولین اشمیت

  • اهمیت روش‌های HTTP و کدهای وضعیت

بسته net/http

  • توسعه وب خود را با بسته net/http ساده کنید

  • نقاط ظریف بسته net/http

    • رابط کنترل کننده

    • http.ListenAndServe

    • ایجاد servemux خودتان

    • با استفاده از servemux پیش فرض

    • http.handle http.handle

    • http.Handlefunc، func(ResponseWriter، *Request)، http.HandlerFunc

    • http.ServeContent، http.ServeFile، http.FileServer

    • http.StripPrefix

    • http.NotFoundHandler

جلسات حالت

  • نحوه ایجاد حالت: UUID، کوکی ها، مقادیر موجود در URL، امنیت

  • نحوه ایجاد جلسات: ورود به سیستم، مجوزها، خروج از سیستم

  • نحوه انقضای یک جلسه

استقرار

  • نحوه خرید دامنه

  • نحوه استقرار یک برنامه در Google Cloud

خدمات وب آمازون

  • نحوه استفاده از خدمات وب آمازون (AWS)

  • نحوه ایجاد یک ماشین لینوکس مجازی در AWS EC2 (Elastic Cloud Compute)

  • نحوه استفاده از پوسته امن (SSH) برای مدیریت ماشین مجازی

  • نحوه استفاده از کپی امن (SCP) برای انتقال فایل ها به ماشین مجازی

  • لوادبالانسر چیست و نحوه استفاده از آنها در AWS

MySQL

  • نحوه استفاده از MySQL در AWS

  • نحوه اتصال میز کار MySQL به AWS

MongoDB

  • درک CRUD

  • نحوه استفاده از MongoDB Go

الگوی طراحی MVC (کنترل کننده نمای مدل)

  • درک الگوی طراحی MVC

  • استفاده از الگوی طراحی MVC

داکر

  • ماشین های مجازی VS ظروف

  • درک مزایای استفاده از Docker

  • تصاویر Docker، ظروف Docker، و ثبت Docker

  • اجرای Docker and Go

  • استقرار Docker and Go

Google Cloud

  • Google Cloud Storage

  • Google Cloud no-sql datastore

  • Google Cloud memcache

  • Google Cloud PAAS App Engine

Web Dev Toolkit

  • AJAX

  • JSON

  • json.Marshal json.Unmarshal

  • json.Encode json.Decode

  • کد احراز هویت پیام هش (HMAC)

  • رمزگذاری Base64

  • فضای ذخیره سازی وب

  • متن

  • TLS HTTPS

  • JSON با Go با استفاده از برچسب‌ها

برنامه های کاربردی ساختمان

  • یک وبلاگ عکس

  • کلون توییتر

در پایان این دوره، شما بر اصول توسعه وب مسلط خواهید شد.

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

امروز بهترین مهارت های موجود را خواهید داشت.

امروز بهترین راه برای انجام توسعه وب را خواهید دانست.

شما داغ‌ترین، پرتقاضاترین و پردرآمدترین مهارت‌ها را در بازار خواهید داشت.

در این دوره عالی به من بپیوندید. بیایید بهترین شیوه های توسعه وب را یاد بگیرید. اکنون در این دوره ثبت نام کنید و درها را به روی آینده ای عالی باز کنید.

چه کسی این دوره است:

  • این مقدمه دانشگاه مقدمه ای بر دوره برنامه نویسی وب است.
  • این دوره برای افرادی است که می دانند چگونه از زبان برنامه نویسی GO استفاده کنند.
  • این دوره مناسب برای برنامه نویسان است که مایل به معرفی کامل برای توسعه وب با استفاده از زبان برنامه نویسی GO است.
  • این دوره مناسب برای توسعه دهندگان است که مایل به پر کردن شکاف در دانش خود هستند.

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

شروع شدن Getting started

  • چرا Go (golang) را برای توسعه وب انتخاب کنید؟ Why choose Go ( golang ) for web development?

  • پیش نیازهای دوره Course prerequisites

  • منابع درسی I Course resources I

  • منابع درس II Course resources II

  • بررسی زبان Language review

  • چگونه موفق شویم How to succeed

قالب ها Templates

  • درک قالب ها Understanding templates

  • الگوسازی با الحاق Templating with concatenation

  • درک متن/الگوی بسته: تجزیه و اجرای الگوها Understanding package text/template: parsing & executing templates

  • انتقال داده ها به قالب ها Passing data into templates

  • متغیرها در قالب ها Variables in templates

  • انتقال ساختارهای داده مرکب به قالب ها Passing composite data structures into templates

  • توابع در قالب ها Functions in templates

  • خطوط لوله در قالب ها Pipelines in templates

  • توابع جهانی از پیش تعریف شده در قالب ها Predefined global functions in templates

  • الگوهای تودرتو - ماژولار کردن کد شما Nesting templates - modularizing your code

  • انتقال داده ها به قالب ها و ترکیب Passing data into templates & composition

  • استفاده از روش ها در قالب ها Using methods in templates

  • تمرینات عملی Hands-on exercises

  • استفاده از بسته html/قالب، فرار از کاراکتر، و اسکریپت بین سایتی Using package html/template, character escaping, & cross-site scripting

ایجاد سرور خود Creating your own server

  • درک سرورها Understanding servers

  • سرور TCP - نوشتن در اتصال TCP server - write to connection

  • سرور TCP - خواندن از اتصال با استفاده از bufio.Scanner TCP server - read from connection using bufio.Scanner

  • سرور TCP - خواندن از و نوشتن در اتصال TCP server - read from & write to connection

  • سرور TCP - کد یک مشتری TCP server - code a client

  • سرور TCP - rot13 و پایگاه داده در حافظه TCP server - rot13 & in-memory database

  • سرور TCP - تمرین عملی پایه درخواست/پاسخ HTTP TCP server - HTTP request / response foundation hands-on exercise

  • سرور TCP - روش HTTP و تمرین عملی بازیابی URI TCP server - HTTP method & URI retrieval hands-on exercise

  • سرور TCP - مالتی پلکسر HTTP TCP server - HTTP multiplexer

آشنایی با بسته net/http Understanding net/http package

  • بسته net/http - یک نمای کلی net/http package - an overview

  • درک و استفاده از ListenAndServe Understanding & using ListenAndServe

  • بنیاد net/http: Handler، ListenAndServe، Request، ResponseWriter Foundation of net/http: Handler, ListenAndServe, Request, ResponseWriter

  • بازیابی مقادیر فرم - کاوش *http.Request Retrieving form values - exploring *http.Request

  • بازیابی مقادیر دیگر درخواست - کاوش *http.Request Retrieving other request values - exploring *http.Request

  • کاوش http.ResponseWriter - نوشتن سرصفحه برای پاسخ Exploring http.ResponseWriter - writing headers to the response

  • مرور Review

درک مسیریابی Understanding routing

  • درک Servemux Understanding ServeMux

  • ابهام‌زدایی: func(ResponseWriter، *Request) در مقابل HandlerFunc Disambiguation: func(ResponseWriter, *Request) vs. HandlerFunc

  • servemux شخص ثالث - روتر julien schmidt Third-party servemux - julien schmidt’s router

  • تمرینات عملی Hands-on exercises

  • تمرینات عملی - راه حل های شماره 1 Hands-on exercises - solutions #1

  • تمرینات عملی - راه حل های شماره 2 Hands-on exercises - solutions #2

ارائه فایل ها Serving files

  • ارائه فایل با io.Copy Serving a file with io.Copy

  • ارائه یک فایل با http.ServeContent & http.ServeFile Serving a file with http.ServeContent & http.ServeFile

  • ارائه یک فایل با http.FileServer Serving a file with http.FileServer

  • ارائه یک فایل با http.FileServer & http.StripPrefix Serving a file with http.FileServer & http.StripPrefix

  • ایجاد یک فایل سرور ثابت با http.FileServer Creating a static file server with http.FileServer

  • log.Fatal و http.Error log.Fatal & http.Error

  • تمرینات عملی Hands-on exercises

  • تمرینات عملی Hands-on exercises

  • تمرینات عملی - راه حل Hands-on exercises - solutions

  • http.NotFoundHandler The http.NotFoundHandler

استقرار سایت شما Deploying your site

  • خرید دامنه - google domains Buying a domain - google domains

  • استقرار در گوگل ابری Deploying to google cloud

ایجاد حالت Creating state

  • بررسی اجمالی ایالت State overview

  • انتقال مقادیر از طریق URL Passing values through the URL

  • انتقال مقادیر از فرم ها Passing values from forms

  • آپلود فایل، خواندن فایل، ایجاد فایل در سرور Uploading a file, reading the file, creating a file on the server

  • Enctype Enctype

  • تغییر مسیرها - نمای کلی Redirects - overview

  • تغییر مسیرها - نمودارها و اسناد Redirects - diagrams & documentation

  • تغییر مسیر - در عمل Redirects - in practice

  • کوکی ها - نمای کلی Cookies - overview

  • کوکی ها - نوشتن و خواندن Cookies - writing and reading

  • نوشتن چند کوکی و تمرین عملی Writing multiple cookies & hands-on exercise

  • راه حل تمرین عملی: ایجاد پیشخوان با کوکی ها Hands-on exercise solution: creating a counter with cookies

  • حذف یک کوکی Deleting a cookie

ایجاد جلسات Creating sessions

  • جلسات Sessions

  • شناسه منحصر به فرد جهانی - UUID Universally unique identifier - UUID

  • اولین جلسه شما Your first session

  • ثبت نام Sign-up

  • رمز عبور را با bcrypt رمزگذاری کنید Encrypt password with bcrypt

  • وارد شدن Login

  • خروج Logout

  • مجوزها Permissions

  • جلسه منقضی شده Expire session

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

  • بررسی اجمالی Overview

  • ایجاد یک نمونه سرور مجازی در AWS EC2 Creating a virtual server instance on AWS EC2

  • سلام جهان در AWS Hello World on AWS

  • تداوم یک برنامه Persisting an application

  • تمرین عملی Hands-on Exercise

  • راه حل عملی Hands-on Solution

  • خاتمه خدمات AWS Terminating AWS services

پایگاه های داده رابطه ای Relational Databases

  • بررسی اجمالی Overview

  • نصب MySQL - به صورت محلی Installing MySQL - Locally

  • نصب MySQL - AWS Installing MySQL - AWS

  • Workbench را به MySQL در AWS متصل کنید Connect Workbench to MySQL on AWS

  • برو و SQL - راه اندازی Go & SQL - Setup

  • برو و SQL - در عمل Go & SQL - In Practice

مقیاس پذیری در AWS Scaling On AWS

  • مروری بر Load Balancers Overview of Load Balancers

  • ایجاد گروه های امنیتی EC2 Create EC2 Security Groups

  • یک ELB Load Balancer ایجاد کنید Create an ELB Load Balancer

  • پیاده سازی Load Balancer Implementing The Load Balancer

  • اتصال به سرور MySQL با استفاده از MySQL Workbench Connecting To Your MySQL Server Using MySQL Workbench

  • تمرین عملی Hands-on Exercise

  • راه حل عملی Hands-on Solution

  • مقیاس خودکار و CloudFront Autoscaling & CloudFront

وبلاگ عکس Photo Blog

  • شروع فایل ها Starting Files

  • داده های کاربر User Data

  • ذخیره مقادیر چندگانه Storing Multiple Values

  • آپلود تصاویر Uploading Pictures

  • نمایش تصاویر Displaying Pictures

کیت ابزار توسعه دهنده وب Web Dev Toolkit

  • کد احراز هویت پیام هش کلیدی (HMAC) Keyed-Hash Message Authentication Code (HMAC)

  • کدگذاری Base64 Base64 Encoding

  • ذخیره سازی وب Web Storage

  • متن نوشته Context

  • TLS و HTTPS TLS & HTTPS

  • JSON - نشانه گذاری شی جاوا اسکریپت JSON - JavaScript Object Notation

  • برو و JSON - Marshal & Encode Go & JSON - Marshal & Encode

  • JSON را با Go حذف کنید Unmarshal JSON with Go

  • JSON را با Go با استفاده از Tags حذف کنید Unmarshal JSON with Go using Tags

  • راه حل تمرین دستی Hands-On Exercise Solution

  • معرفی AJAX AJAX Introduction

  • سمت سرور AJAX AJAX Server Side

برو و منگودب Go & Mongodb

  • سازماندهی کد در بسته ها Organizing Code Into Packages

  • ایجاد کاربر و حذف کاربر Create User & Delete User

  • الگوی طراحی MVC - کنترلر نمای مدل MVC Design Pattern - Model View Controller

  • Mongodb را نصب کنید Install Mongodb

  • به Mongodb متصل شوید Connect to Mongodb

  • CRUD با Go & Mongodb CRUD with Go & Mongodb

  • دست در ورزش و راه حل Hands on Exercise & Solution

  • دست در ورزش و راه حل Hands on Exercise & Solution

  • دست در ورزش و راه حل Hands on Exercise & Solution

  • دست در ورزش و راه حل Hands on Exercise & Solution

داکر Docker

  • مقدمه ای بر داکر Introduction to Docker

  • ماشین‌های مجازی و کانتینرها Virtual Machines & Containers

  • نصب Docker Installing Docker

  • مثال Docker Whalesay Docker Whalesay Example

  • استفاده از Dockerfile برای ساخت تصویر Using a Dockerfile to Build An Image

  • راه اندازی Container Running Curl Launching a Container Running Curl

  • اجرای Go Web App در یک Docker Container Running a Go Web App In a Docker Container

  • فشار دادن و کشیدن به داکر هاب Pushing & Pulling To Docker Hub

  • برو، Docker & Amazon Web Services (AWS) Go, Docker & Amazon Web Services (AWS)

PostgreSQL PostgreSQL

  • نصب Postgres Installing Postgres

  • ایجاد پایگاه داده Create Database

  • ایجاد جدول Create Table

  • درج رکوردها Insert Records

  • افزایش خودکار خودکار Auto Increment Primary Key

  • تمرین عملی Hands-on Exercise

  • تمرین دستی - راه حل Hands-on Exercise - Solution

  • پایگاه های داده رابطه ای Relational Databases

  • Query - Cross Join Query - Cross Join

  • Query - Inner Join Query - Inner Join

  • پرس و جو - سه جدول داخلی پیوستن Query - Three Table Inner Join

  • Query - Outer Joins Query - Outer Joins

  • بندها Clauses

  • یک رکورد را به روز کنید Update a Record

  • یک رکورد را حذف کنید Delete a Record

  • کاربران - ایجاد، اعطا، تغییر، حذف Users - Create, Grant, Alter, Remove

  • برو و پست گرس Go & Postgres

  • Query را انتخاب کنید Select Query

  • وب اپلیکیشن Web App

  • ردیف پرس و جو Query Row

  • درج رکورد Insert Record

  • به روز رسانی رکورد Update Record

  • حذف رکورد Delete Record

  • سازمان کد Code Organization

MongoDB MongoDB

  • NoSQL NoSQL

  • MongoDB MongoDB

  • نصب Mongo Installing Mongo

  • پایگاه داده Database

  • مجموعه Collection

  • سند Document

  • یافتن (با نام مستعار، پرس و جو) Find (aka, query)

  • به روز رسانی Update

  • برداشتن Remove

  • فرافکنی Projection

  • حد Limit

  • مرتب سازی Sort

  • فهرست مطالب Index

  • تجمع Aggregation

  • کاربران Users

  • JSON JSON

  • ایجاد Read Update Delete (CRUD) Create Read Update Delete (CRUD)

نمایش نظرات

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

آموزش توسعه وب با زبان برنامه نویسی Google Go (golang).
خرید اشتراک و دانلود خرید تکی و دانلود | 320,000 تومان (5 روز مهلت دانلود) در صورت خرید اشتراک، این آموزش بدلیل حجم بالا معادل 2 دوره است و 2 دوره از اشتراک شما کم می شود. زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
19h 17m
174
Udemy (یودمی) udemy-small
10 شهریور 1400 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
45,874
4.7 از 5
ندارد
ندارد
ندارد
Todd McLeod

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Todd McLeod Todd McLeod

استاد کالج رسمی من یک استاد رسمی در کالیفرنیا هستم. من هم در سطح دانشگاه و هم در سطح دانشگاه تدریس کرده ام. من همچنین در چندین رشته از جمله تجارت، سیستم های اطلاعاتی، علوم کامپیوتر و آموزش آنلاین تدریس کرده ام. در سال 1376 جزو اولین اساتید دانشگاه بودم که به صورت آنلاین تدریس می کردم. من در UC San Diego کار فوق لیسانس در آموزش آنلاین انجام دادم. من "برنامه تربیت معلم آنلاین" را تأسیس کردم و در آن تدریس کردم که به اساتید آموزش داد تا چگونه آنلاین تدریس کنند. در سال 2008، من به عنوان یکی از بهترین مربیان در کل سیستم کالج جامعه کالیفرنیا انتخاب شدم. در حال حاضر، وقتی با تعداد دانش‌آموزان خدمت‌شده اندازه‌گیری می‌شود، من مربی پیشرو در جهان در زبان برنامه‌نویسی جدید Google هستم که یکی از سریع‌ترین و پردرآمدترین زبان‌های برنامه‌نویسی در آمریکا است. علاوه بر این، من سه کسب و کار راه اندازی کرده ام (دوتا از آنها تا کنون سودآور بوده اند). سابقه من در کسب و کار، سیستم های اطلاعاتی، علوم کامپیوتر، آموزش آنلاین و کارآفرینی در دنیای واقعی، مرا برای تدریس همه این دوره ها آماده کرده است. من مشتاقانه منتظر هستم تا به شما کمک کنم تا مهارت های عالی برای بهبود زندگی خود را بیاموزید. مهارت های بهتر، زندگی بهتر.

Udemy (یودمی)

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

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