GoLang的自学之路(平台迁移)

GoLang的自学之路(平台迁移)

birdy 48 2024-06-07

前言

前期我使用Python写了自己的API平台 https://api.birdy02.com

但是在使用过程中经常会用到高并发,Python对于高并发来讲,虽然使用了异步编程和uvicorn来提升性能,使用起来还是会感觉到python的“力不从心”,所以使用了Golang来对平台重写,因为go是原生支持高并发的,并且在我之前优化web性能时,也看到了py框架和go的差距。

参考链接 https://tendcode.com/subject/article/Flask-Tornado-FastAPI-Sanic-Gin/

首先在学习前我 了解、使用、学习过的语言有

  • C#

  • PHP

  • Java

  • Javascript

  • HTML

  • CSS

  • Python

  • HarmonyOS

学习历程

学习平台 https://www.runoob.com/go/go-tutorial.html ,感谢菜鸟教程提供的go语言学习知识

感谢 文心一言 https://yiyan.baidu.com/ 对我提供学习过程中的疑问解答🙂

只记录重点,忽略平台功能开发记录

第一天

  1. 学习Go语言的环境安装,编译器配置,使用 GoLand 开始我的第一个go项目

  2. Go的基本语法,数据结构,变量声明、常量、细化的数据类型、运算符、条件结构、循环结构

  3. Go的函数、结构体、Map集合、数据类型转换、异常处理

  4. Go的web框架 Gin 的使用和性能、功能对比

第二天

  1. 使用Gin搭建出我Py平台的框架结构

  2. 学习MySQL数据库对接,学习连接池->查询->返回数据结构

  3. 完成平台认证模块,使用算法重写加密方式和流程

第三天

  1. 使用 net/http 库编写一键请求库,将返回内容格式化为固定结构

第二十天

  1. 偷懒了20天

  2. Go版secAPI功能已经完成了,就差漏洞利用模块待完善

  3. IP分析模块

    • 属地查询

    • Whois

    • 经纬度信息

    • FOFA->Host

    • 恶意IP检测

  4. 站点分析模块

    • 基本信息

    • CMS识别

    • IP解析

    • Cert证书解析

  5. ICP备案查询

  6. 网安备案查询(本地)

  7. 单位备案信息(本地)

封装了自己的request库,自我感觉嘎嘎好用

Go版 secAPI平台上线!

访问地址: https://api.birdy02.com

web地址: https://tools.birdy02.com/

doc地址: https://doc-api.birdy02.com/