go web框架_[进阶]学习一下!只需3天就能用Go撸一个Web框架

7513d1a79ea92e89fc2d5da2c0a43337.png

2020年马哥Go运维开发架构师学习路线图共八个阶段的学习:GO核心编程--数据库处理--Web开发框架--多云管理平台--用户管理平台--监控报警系统--发布系统--Docker与K8S。

前一篇文章详细列举了第一阶段:GO核心编程以及数据库处理的自学资料

豆包同学在路上:[启航]入门Go语言!变身架构师!超全学习资源+笔记,新手从零学习全过程资源汇总​zhuanlan.zhihu.com
769adf7a54b6bc9ca2c1076af42d8313.png

本文为第二阶段:Go语言Web框架开发及开源项目,学习路线、学习教程和视频将会整理在后续一篇文章里。

一、Web框架开发

(一)技术要点

1.HTML介绍

2.Beego框架介绍

3.MVC模式

4.Session&Cookie介绍

5.Beego路由 、控制器 、模型、 模板学习

6.表单及验证

7.日志记录

8.Css及Bootstrap介绍

9.第三方库http://github.com/spf13/ cobra介绍

10.Javascript 及 jQuery介绍

11.Datatables 、Sweetalert等js插件介绍

(二)解锁技能

1.可以使用Beego框架开发WEB系统和API服务

2.熟练使用HTML/JS/CSS三大技术进行前端开发

3.jQuery和AJAX,及JS组件Datatables、sweetalert使用

4.Bootstrap 4.0使用

GF(Go Frame)是一款模块化、高性能、生产级的Go基础开发框架。实现了比较完善的基础设施建设以及开发工具链,提供了常用的基础开发模块,如:缓存、日志、队列、数组、集合、容器、定时器、命令行、内存锁、对象池、配置管理、资源管理、数据校验、数据编码、定时任务、数据库ORM、TCP/UDP组件、进程管理/通信等等。并提供了Web服务开发的系列核心组件,如:Router、Cookie、Session、Middleware、服务注册、模板引擎等等,支持热重启、热更新、域名绑定、TLS/HTTPS、Rewrite等特性。

如果您初识 Go语言,您可以将 GoFrame类似于 PHP中的 Laravel, Java中的 SpringBoot或者 Python中的 Django

219570a3d3ce536fac9c9beb74e23f03.png

二、五大项目实战

(一)用户管理平台

开源系统千千万,如何整合最关键;如何快速整合监控、自动部署系统、工单系统、K8S等,迅速搭建符合业务的定制化运维自动化体系?

统一用户账号体系是关键 。教授用户管理平台的核心原理,并掌握 Beego框架使用及WEB开发流程。

1.技术要点

(1)Beego

(2)HTML、CSS

(3)Bootstrap

(4)部署

2.解锁技能

掌握WEB开发流程,框架Beego使用及高可用部署。

19ef35bc6fb062d8da84b110042349e7.png
用户管理项目部分截图

(二)多云管理平台

多云管理是云计算时代运维人员必学必备的技能之一 。通过课程掌握如何自动获取与管控云资产,如何与CMDB等外部系统同步联动;以阿里云、腾讯云为例深度分析研讨RESTful API、SDK使用。

1.技术要点

(1)腾讯云API&SDK介绍与使用

(2)并发获取&存储主机信息

(3)插件设计模式

(4)实现云主机操作功能

2.解锁技能

具备熟练使用SDK的能力,能够综合使用前端库、web框架、数据库等,独立设计开发多云主机的统 一 管 理 、同步 、查询 、操作等功能,并具备扩展到其它云平台的能力。

5e1861cf59d0dff392d1393244f631f2.png
云管理平台项目部分截图

(三)监控报警系统Prometheus原理剖析与二次开发

Prometheus是一套开源的系统监控报警框架。它启发于Google的borgmon监控系统 。深入理解pro metheus 原理 ,学习使用consul进行服务发现及管理 、Exporter开发及Alertmanagerwebhook开发。

1.技术要点

(1)学习prometheus原理及部署方式

(2)组件主要代码解读

(3)Prometheus API介绍

(4)针对使用consul进行服务发现及管理

(5)采集插件Exporter开发

(6)Alertmanager webhook开发

2.解锁技能

熟练掌握prometheus项目部署 、代码结构与设计架构,可基于Exporter进行各种监控插件,掌握使 用consul进行服务发现并通过CMDB系统对服务进行管理。了解alertmanager webhook功能并基于webhook进行告 警通知二次开发。

(四)发布系统syncd原理剖析与二次开发

Syncd是Go原生开源代码部署工具,支持Git仓库与分支、tag上线,GitHub上千Stars 。部署Hook支 持,完善的上线工作流 ;深入剖析学习企业级代码发布部署系统工具的架构与关键代码。

1.技术要点

(1)学习syncd原理、部署、使用

(2)Syncd源码解读,核心代码流程介绍

2.解锁技能

掌握GitHub项目操作能力、Syncd项目设计架构与代码架构、关键部分实现逻辑;熟练掌握Syncd部署与使用。

(五)容器云K8s介绍与二次开发

K8s自身的UI与CLI并不是那么强大,但K8s具备丰富的SDK与API来支撑灵活的开发来完成微服务的业务逻辑; 通过K8S RESTFUL API 、SDK介绍与深入剖析,掌握K8s 基本概念与原理,并掌握如何基于k8s SDK进行二次开发,并实现对服务资源进行控制。

1.技术要点

(1)K8s基本概念介绍(namespace, controller, ser vice等)

(2)K8s对应用生命周期管理(命令式与声明式)

(3)K8s认证机制

(4)K8s SDK github.com/kubernetes/client-go 介绍与使用

(5)使用SDK对资源进行操作

2.解锁技能

掌握K8s关键原理 、认证机制及SDK ;可利用k8s SDK进行自定义的二次开发的能 力 。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值