网上有很多的golang开发教程,他们都是从最基础的安装环境、golang语法开始的,对于一个小白,他是有帮助的。然而大家都知道,一味地接受学习,是一个枯燥到让人窒息的过程。更多的时候是,学完就完了,该忘的、不该忘的大部分都忘记了,没有根据自己的实际需求学习,大多都记忆不够深刻。为了打破这种低效率的学习过程,我将从这里开始,介绍一种带着需求学习方式。

前言:

为什么要学go语言,golang的优势有哪些?

拓展学习-golang的下载、安装和环境配置教程

思路篇:

实战,就是要一开始就切入主题,此处废话省略。我们在开始前,先整理出一个需求,再根据需求来从零开始实战(以我要做一个博客网站为例)。

学习golang开始前的准备工作

我需要一个怎样的博客?为我的博客构思需要的功能

将我的思路表现出来,为我的博客话一个思维导图

将我的构思更直观的表现出来,为我的博客绘制一个简单的原型图

将构思转成计算机可识别的设计,根据构思为我的博客设计数据库

我的博客可能需应用到的技术选择和整理

拓展学习-golang的基础语法和常用开发工具

基础配置篇:

建立项目,为我的博客项目制定目录层次结构

我的博客项目配置文件数据和配置的读写处理

初次使用golang,创建项目入口,使用iris框架运行项目

博客的访问路径路由配置和控制器

为博客网站项目选择合适的前端模板引擎

扩展模板引擎功能,给模板引擎添加自定义函数

gorm的使用,数据库的连接和配置

数据表和golang结构体关联和映射关系处理

博客的中间件配置

博客的控制器函数

博客模板的格式语法和后端如何传递数据到模板逻辑

博客404错误拦截与错误输出


博客功能篇

博客的初始化处理

管理员的注册和判断

session的使用,管理员的登陆和权限控制

获取路由变量和表单数据读取处理

文章发布的设计页面编写

文章创建与修改和将数据存储到数据库处理

文章分类创建与修改和文章关联处理

文章图片上传和生成缩略图处理

golnag版的dom处理,自动提取文章描述

文章详情展示浏览与记录浏览量方式

文章列表的读取与展示和分类筛选展示处理

获取上一篇、下一篇的逻辑处理

文章筛选,根据文章分类获取相邻关联文章列表

文章筛选,获取热门文章的逻辑和实现

文章筛选,获取最新文章的逻辑和实现

文章的翻页处理,列表上一页下一页计算和展示

seo优化工作,为文章和页面设置tdk(title,keywords,description)

拓展学习:iris框架介绍和使用技巧

系统完善篇:

给我的博客增加一个管理后台,后台的功能设计和展示

seo优化工作,网站sitemap的生成处理

seo优化工作,百度等搜索引擎自动推送逻辑和实现

保证运行,优雅的启动和重载博客程序

seo优化工作,pc端和移动端自适应适配

给文章列表增加图片展示,文章缩略图的提取处理

seo优化工作,robots配置和管理

拓展学习-生产环境的部署与博客系统发布上线

企业站篇:

博客改造成企业站的设计与实现

个性化内容展示,自定义分类模板的逻辑与实现

文章评论的设计与实现

网站留言的设计与实现

页面url重写和伪静态的改造

seo优化工作,加快显示页面缓存设计和使用

seo优化工作,自动关键词提取功能原理和实现

seo优化工作,自动化锚文本功能原理和实现

seo优化工作,内容素材管理和伪原创功能原理实现

seo优化工作,内容聚合和tag标签的设计与实现

扩展文章功能,文章参数的添加和筛选

seo工作,及时获知网站询盘,留言自动邮件提醒功能的实现

拓展学习-如何用golang来提升企业站的seo水平

内容采集篇:

丰富网站内容,采集文章和自动伪原创功能

加快采集速度,异步并行执行任务

获取内容采集源,分析和提取页面链接

采集乱码终结者,自动识别网页编码和转码为utf-8编码

省去重复编写正则表达式,自动分析提取文章标题实现

懒人采集至宝,傻瓜式自动分析和提取文章内容的逻辑原理和实现

一不做二不休,将懒惰发挥到极致,计划任务定时采集与自动发布

拓展学习-正则表达式学习和爬虫的研究与学习

商城篇:

商城整体构思和功能思考准备

商城构思进一步表现,绘制商城思维导图

将构思转成计算机可识别的设计,设计商城数据表

商品多规格的处理,商品sku的原理和设计

商品订单的处理

商品秒杀功能的设计与队列的应用

抽奖功能的设计思路与实现

拓展学习-redis缓存优化和性能提升探索

进阶应用篇:

* 为博客文章增加视频支持,视频分块上传和播放

* 将静态资源分离到第三方存储,腾讯云存储的使用

* 优化上传速度,图片妙传的逻辑与实现

* 高并发处理负载均衡的配置和实现

问题排查篇:

排查问题,问题的定位

排查问题,记录日志

golang开发中的常见问题

拓展学习-如何有效的提问和寻求帮助

小程序篇:

小程序制作

小程序接口开发

taro配置

小程序页面编写

小程序测试

生成多平台小程序代码

发布小程序

拓展学习-taro语法和配置

本教程示例代码存放在GitHub,如果你想看完整代码,可以访问:https://github.com/fesiong/goblog
golang开发技术问题讨论,加入讨论群,可添加我的微信号: no_reg