# Golang 开发技能图谱

## Go 语言环境搭建
- Go 安装
- GOPATH 与工作空间
- Go 命令
- Go开发工具

## GO 语言编程基础
- 关键词和语法(Language Syntax)
- 数据类型(Arrays, Slices and Maps)
- 流程控制(if/else,for/range)
- Go 函数(Function)
- 面向对象(Methods, Interfaces and Embedding)
- 包处理(Packaging and Exporting)
- Go 指针(Using Pointers)
- 程序测试(Testing and Debugging)
- 对象合成(Composition)
- 错误处理(Error Handling)
- 标准库(Standard Library)
- 反射(Reflection)

## 并发编程
- Go 并发基础(Concurrency, Race Conditions and Channels)
- 并发模式(Concurrency Patterns)

## Go Web 编程
- Web基础
- Web工作方式
- Go 搭建一个简单的web服务
- Go 的 HTTP 包详解
- 表单
- 处理表单的输入
- 验证表单的输入
- 预防跨站脚本
- 防止多次递交表单
- 处理文件上传
- 数据库
- database/sql接口
- 使用MySQL数据库
- 使用PostgreSQL数据库
- 使用beedb库进行ORM开发
- NOSQL数据库操作
- Session 和数据存储
- Session 和 Cookie
- Go 如何使用 Session
- Session 存储
- 预防 Session 劫持
- 文本文件处理
- XML 处理
- JSON 处理
- 正则处理
- 模板处理
- 文件操作
- 字符串处理
- Web服务
- Socket 编程
- WebSocket
- REST
- RPC
- 安全与加密
- 预防 CSRF 攻击
- 确保输入过滤
- 避免 XSS 攻击
- 避免 SQL 注入
- 存储密码
- 加密和解密数据
- 国际化和本地化
- 设置默认地区
- 本地化资源
- 国际化站点
- 错误处理,调试和测试
- 错误处理
- 使用GDB调试
- Go怎么写测试用例
- 部署与维护
- 应用日志
- 网站错误处理
- 应用部署
- 备份和恢复
- 如何设计一个Web框架 
- 项目规划 
- 自定义路由器设计
- Controller 设计
- 日志和配置设计
- 实现博客的增删改
- 扩展Web框架
- 静态文件支持
- Session 支持
- 表单支持
- 用户认证
- 多语言支持
- pprof支持

## Go 应用
- Docker
- Bee Go
- NSQ
- NewSQL

## Go 实战案例

Golang 开发技能图谱的更多相关文章

  1. Node.js 开发技能图谱

    # Node.js 开发技能图谱 ## Node.js 语言环境搭建 - Node.js 安装(3m大法:nvm.npm.nrm)- Node.js 命令- Node.js开发工具(推荐vscode) ...

  2. HTML5 开发技能图谱skill-map

    # HTML5 开发技能图谱![HTML5 脑图](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-HT ...

  3. Android ROM 开发技能图谱

    # Android ROM 开发技能图谱 ## 1. 操作系统 * Ubuntu(首选)* MacOSX ## 2. 编程语言 * Java * JNI(务必掌握)* C++* C ## 3. 源码 ...

  4. Android App 开发技能图谱

    操作系统 Windows/MacOSX/Linux 编程语言 Java HTML/JS (Hybrid/Web App) C/C++ (NDK) SQL (DB) Kotlin 开发工具 IDE An ...

  5. Android App开发技能图谱(转载)

    操作系统 Windows/MacOSX/Linux 编程语言 Java HTML/JS (Hybrid/Web App) C/C++ (NDK) SQL (DB) Kotlin 开发工具 IDE An ...

  6. fir.im Weekly - 人人都需要的 IT 技能图谱

    AlphaGo 与李世石的人机世纪大战落下帷幕,不禁让人思考<失控> 中说道的 "机器正在生物化,而生物正在工程化 ".作为人类,在未来能否保全最后的智力骄傲成为一个疑 ...

  7. [转]StuQ 技能图谱(全套13张)

    程序开发语言综述.jpg 前端工程师必备技能.jpg 大数据工程师必备技能.jpg   安全工程师必备技能.jpg 嵌入式开发必备技能.jpg iOS开发工程师必备技能.jpg   移动无线测试工程师 ...

  8. PHP 工程师技能图谱

    # PHP 工程师技能图谱## 基础知识 - HTTP - HEADER - REQUEST - RESPONSE - GET/POST/PUT/DELETE/PATCH/CONNECT/OPTION ...

  9. Ruby 技能图谱

    # Ruby 技能图谱 说明: 本图谱只捡重点的列举,并非包含全部.文中所列举或没有列举的资源信息都可以在[awesome-ruby](https://github.com/markets/aweso ...

随机推荐

  1. html标签结构总结

    html如果看作一个房子的话,那么元素可以看成毛坯房,属性可以看成精装修,由css和js实现的 1. 元素: HTML网页实际上就是由许许多多各种各样的HTML元素构成的文本文件,并且任何网页浏览器都 ...

  2. Nuget-Doc:Nuget 简介

    ylbtech-Nuget-Doc:Nuget 简介 1.返回顶部 1. NuGet 简介 2019/05/24 适用于任何现代开发平台的基本工具可充当一种机制,通过这种机制,开发人员可以创建.共享和 ...

  3. 用shell脚本实现MongoDB数据库自动备份

    一.创建MongoDB备份目录 用来存放数据 mkdir -p /data/mongodb_bak/mongodb_bak_now mkdir -p /data/mongodb_bak/mongodb ...

  4. 网络命令-nc(一)

    一直在linux环境下编程,但却没有用过nc命令,不过最近发现Netcat这个命令-nc,发现真的蛮强大的, 为了备忘,就写了这个博客吧,不求全,只求把自己觉得很有用的命令整理出来,这篇文章估计要长期 ...

  5. c# WPF DataGrid 获取选中单元格信息

    private void Dg_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e) { Console.Write ...

  6. mysql修改root密码和设置权限 转摘:http://www.cnblogs.com/wangs/p/3346767.html

    整理了以下四种在MySQL中修改root密码的方法,可能对大家有所帮助! 方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR ' ...

  7. MyEclipse配置maven创建项目教程入门

    Maven简介:Maven是一个项目管理工具,主要用于Java平台的项目构建.依赖管理和项目生命周期管理. 下载Maven: https://maven.apache.org/download.cgi ...

  8. 2019牛客多校第五场F maximum clique 1 最大独立集

    题意:给你n个数,现在让你选择一个数目最大的集合,使得集合中任意两个数的二进制表示至少有两位不同,问这个集合最大是多大?并且输出具体方案.保证n个数互不相同. 思路:容易发现,如果两个数不能同时在集合 ...

  9. mac系统下安装和启动nginx

    1.在线安装 localhost:nginx-1.17.1 mhx$ sudo brew install nginx 2.查看是否安装成功 localhost:nginx-1.17.1 mhx$ ng ...

  10. tomcat-性能优化参考

    转摘 http://blog.csdn.net/lifetragedy/article/details/7708724. ###jdk1.6.未验证.仅供参考### linux环境下Tomcat调优 ...