Go学习路线
Go学习路线
文章目录
- Go学习路线
- 入门阶段
- 一、Go基础和Goland的安装
- 二、学习日志文件及配置文件
- 三、学习mysql
- 四、html,css,js快速入门
- 五、写一个简单的前后端分离的记事本项目
- 六、Linux快速入门
- 七、Docker快速入门
- 八、Git命令快速入门
- 九、使用Docker打包记事本项目部署到Linux服务器
- 成长阶段
- 一、学习Gin框架和gorm
- 二、学习redis
- 三、使用gin框架写一个博客项目
- 四、微服务架构一个电商系统
- 五、深入学习并发网络编程channel+goroutine
- 进阶阶段
- 云原生架构
入门阶段
一、Go基础和Goland的安装
注:编译器使用goland(建议使用)、vscode(一些软件可以在微信里面搜索‘软件管家’,然后就可以下载免费的)
安装Goland和Go的sdk:https://blog.csdn.net/Cappuccino_jay/article/details/129466743
1、菜鸟教程:https://www.runoob.com/go/go-tutorial.html
2、地鼠文档:https://www.topgoer.cn/docs/golang/golang-1ccjbpfstsfi1
3、老男孩(视频):(建议看到70集入门即可)
https://www.bilibili.com/video/BV1fD4y117Dg/?spm_id_from=333.337.search-card.all.click&vd_source=ae71f49143fab0ea36d2175f17f48b81
4、Go学习笔记:
https://gitee.com/xiwanli/knowledge-notes/tree/master/Go/go%E5%9F%BA%E7%A1%80%E9%83%A8%E5%88%86
二、学习日志文件及配置文件
1、日志文件库
Logrus
Zap
2、配置文件
Yaml
Ini
Json
三、学习mysql
使用‘软件管家’安装即可。
1、安装mysql8.0
2、安装图形化界面Navicat
Mysql快速入门学习链接:https://www.runoob.com/mysql/mysql-tutorial.html
四、html,css,js快速入门
学习链接:https://www.runoob.com/
五、写一个简单的前后端分离的记事本项目
技术栈:go、html、css、js、mysql
要求:实现前后端交互,登录,注册,添加,删除,搜索,修改即可。
六、Linux快速入门
1、个人笔记:
https://gitee.com/xiwanli/knowledge-notes/blob/master/Linux/linux%E7%AC%94%E8%AE%B0.md
2、菜鸟教程:
https://www.runoob.com/linux/linux-tutorial.html
七、Docker快速入门
1、个人笔记:
https://gitee.com/xiwanli/knowledge-notes/blob/master/Docker/Docker%E5%9F%BA%E6%9C%AC%E5%91%BD%E4%BB%A4.md
2、菜鸟教程:
https://www.runoob.com/docker/docker-tutorial.html
八、Git命令快速入门
1、易百教程:
https://www.yiibai.com/git/git-quick-start.html
2、菜鸟教程:
https://www.runoob.com/git/git-tutorial.html
九、使用Docker打包记事本项目部署到Linux服务器
Linux服务器可以使用vm虚拟机搭建(Ubuntu、Centos7),也可以选择使用阿里、腾讯、华为等的云服务器(学生可以免费使用1~3个月)
记事本项目地址:https://gitee.com/xiwanli/docker_go_react
到此,Go语言的学习和使用,以及对前后端的交互也有了一定的了解。我们正式深入后端的学习。
成长阶段
一、学习Gin框架和gorm
1、b站(视频):
https://www.bilibili.com/video/BV1gJ411p7xC/?spm_id_from=333.337.search-card.all.click&vd_source=ae71f49143fab0ea36d2175f17f48b81
2、码神之路文档:
https://mszlu.com/go/gin/01/01.html#_1-go%E6%B5%81%E8%A1%8C%E7%9A%84web%E6%A1%86%E6%9E%B6
3、gorm文档:
https://gorm.io/zh_CN/docs/index.html
二、学习redis
1、Redis官方文档:https://www.redis.net.cn/tutorial/3501.html
2、b站go+redis视频讲解:
https://www.bilibili.com/video/BV1FY411d7JF/?spm_id_from=333.337.search-card.all.click&vd_source=ae71f49143fab0ea36d2175f17f48b81
三、使用gin框架写一个博客项目
前端vue能看懂即可。
技术栈:go+redis+mysql+vue
Ginblog项目地址:https://gitee.com/xiwanli/ginblog
四、微服务架构一个电商系统
技术栈:grpc、redis、oss、mysql、gin、consul、nacos、vue
Mallshop项目地址:https://gitee.com/xiwanli/mall-shop
五、深入学习并发网络编程channel+goroutine
学习ing
进阶阶段
云原生架构
学习ing
相关文章:
Go学习路线
Go学习路线 文章目录 Go学习路线入门阶段一、Go基础和Goland的安装二、学习日志文件及配置文件三、学习mysql四、html,css,js快速入门五、写一个简单的前后端分离的记事本项目六、Linux快速入门七、Docker快速入门八、Git命令快速入门九、使用Docker打包…...
安全大脑与盲人摸象
21世纪是数字科技和数字经济爆发的时代,互联网正从网状结构向类脑模型进行进化,出现了结构和覆盖范围庞大,能够适应不同技术环境、经济场景,跨地域、跨行业的类脑复杂巨型系统。如腾讯、Facebook等社交网络具备的神经网络特征&…...
如何使用Git-Secrets防止将敏感信息意外上传至Git库
关于Git-Secrets Git-secrets是一款功能强大的开发安全工具,该工具可以防止开发人员意外将密码和其他敏感信息上传到Git库中。 Git-secrets首先会扫描提交的代码和说明,当与用户预先配置的正则表达式模式匹配时,便会阻止此次提交。该工具的优…...
Day 14 网络协议
常见网络设备:交换机 路由器 中继器 多协议网关(路由器的前身) 交换机:用于连接统一网络的设备,实现内网设备通信。 从广义上分为:局域网交换机,广域网交换机 从网络构成分为:接…...
msyql中SQL 错误 [1118] [42000]: Row size too large (> 8126)
场景: CREATE TABLE test-qd.eqtree (INSERT INTO test.eqtree (idocid VARCHAR(50) NULL,sfcode VARCHAR(50) NULL,sfname VARCHAR(50) NULL,sfengname VARCHAR(50) NULL,…… ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_general_ci;或 alter table eqtre…...
实验六 智能手机互联网程序设计(微信程序方向)实验报告
实验目的和要求 请完成创建图片库应用,显示一系列预设的图片。 提供按钮来切换显示不同类别的图片。 二、实验步骤与结果(给出对应的代码或运行结果截图) 1.WXML <view> <button bindtap"showAll">所有图片</but…...
Linux环境下,让Jar项目多线程部署成为可能
欢迎来到我的博客,代码的世界里,每一行都是一个故事 Linux环境下,让Jar项目多线程部署成为可能 前言背景介绍使用sh脚本实现使用systemd来实现使用docker-compose实现 前言 在当今互联网时代,应用程序的高可用性和性能是至关重要…...
k8s调度场景
15个KUBERNETES调度情景实用指南 Kubernetes调度是确保集群中的Pod在适当节点上运行的关键组件。通过灵活配置调度策略,可以提高资源利用率、负载平衡和高可用性。 在本文中,我们将深入探讨一些实际的Kubernetes调度场景,并提供相应的配置示…...
基于小程序实现的餐饮外卖系统
作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…...
家居网购项目(手写分页)
文章目录 1.后台管理—分页显示1.程序框架图2.编写数据模型Page.java 3.编写dao层1.修改FurnDao增加方法 2.修改FurnDaoImpl增加方法 3.单元测试FurnDaoTest 4.编写service层1.修改FurnService增加方法 2.修改FurnServiceImpl增加方法3.单元测试FurnServiceTest 5.编写DataUtil…...
goland2024安装包(亲测可用)
目录 一、软件简介 二、软件下载 一、软件简介 Goland 是一款由 JetBrains 公司开发的集成开发环境(IDE),专门用于 Go 语言的开发。它提供了丰富的功能和工具,帮助开发者更高效地编写、调试和管理 Go 语言项目。 功能特点&#x…...
35、链表-LRU缓存
思路: 首先要了解LRU缓存的原理,首先定下容量,每次get请求和put请求都会把当前元素放最前/后面,如果超过容量那么头部/尾部元素就被移除,所以最近最少使用的元素会被优先移除,保证热点数据持续存在。 不管放…...
数据结构速成--栈
由于是速成专题,因此内容不会十分全面,只会涵盖考试重点,各学校课程要求不同 ,大家可以按照考纲复习,不全面的内容,可以看一下小编主页数据结构初阶的内容,找到对应专题详细学习一下。 目录 一…...
算法练习第15天|226.翻转二叉树
226.翻转二叉树 力扣链接https://leetcode.cn/problems/invert-binary-tree/description/ 题目描述: 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出&am…...
C#面向对象——封装、封装案例示例
C#面向对象——封装 什么是封装? (1)封装是将数据和操作数据的方法(行为)封装在一起。 (2)程序中封装的体现:属性,方法,类,接口,命名空间&#…...
【InternLM 实战营第二期-笔记3】茴香豆:搭建你的 RAG 智能助理
书生浦语是上海人工智能实验室和商汤科技联合研发的一款大模型,很高兴能参与本次第二期训练营,我也将会通过笔记博客的方式记录学习的过程与遇到的问题,并为代码添加注释,希望可以帮助到你们。 记得点赞哟(๑ゝω╹๑) 茴香豆:搭建…...
Advanced RAG 03:运用 RAGAs 与 LlamaIndex 评估 RAG 应用
编者按:目前,检索增强生成(Retrieval Augmented Generation,RAG)技术已经广泛使用于各种大模型应用场景。然而,如何准确评估 RAG 系统的性能和效果,一直是业界和学界共同关注的重点问题。若无法…...
leetcode
找到字符串中所有字母异位词 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串) 示例 1: 输入: s "…...
Unity DOTS《群体战斗弹幕游戏》核心技术分析之3D角色动画
最近DOTS发布了正式的版本, 我们来分享现在流行基于群体战斗的弹幕类游戏,实现的核心原理。今天给大家介绍大规模战斗群体3D角色的动画如何来实现。 DOTS 对角色动画支持的局限性 截止到Unity DOTS发布的版本1.0.16,目前还是无法很好的支持3D角色动画。在DOTS 的ba…...
react异步组件如何定义使用 标准使用方法
目录 默认导出和命名导出的格式 默认导出的组件 使用方式 命名导出的组件 使用方式 默认导出和命名导出的格式 默认导出: // person.js const person {name: Alice,age: 30 };export default person;命名导出: // math.js export const add (a, b) > a b; exp…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
《Docker》架构
文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器,docker,镜像,k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...
