随笔分类 - Go
摘要:前言 最近对密码的加密比较感兴趣, 但是对于比较全面的文章, 只找到了这一章, 英文版, 我稍微翻译了一下, 这里记录一下 原文: Salted Password Hashing - Doing it Right 正文 序言 如果你是一个web开发人员,你可能不得不建立一个用户帐户系统。用户帐户系统
阅读全文
摘要:前言 实践是检验真理的唯一标准 正文 如何将Gin框架的后端与WebSocket服务写在一起, 以达到共用一个端口的情况呢? 我们来看单纯使用 net 包和 WS 结合 package main import ( "flag" "fmt" "log" "net/http" "github.com/g
阅读全文
摘要:前言 关于两步认证, 之前一直没有具体的了解过, 正文 什么是双重认证 两步认证是一个概念, 并不是指必须经过某种方式去实现, 而是指对于鉴权来讲, 在之前的通过账号密码的方式再加一层校验, 至于怎么加, 加的方式是什么并不是规定的, 当然, 目前国外比较通用的是使用 谷歌身份验证器/微软认证器 等
阅读全文
摘要:前言 Minio作为很出名的文件存储服务, 因其开源和使用便利等优点被很多公司采用 Minio的官网 点我 在使用中, 我发现在Minio中存储图片文件时, 会因为图片文件的特性, 当你生成分享链接时, 通过链接访问出来的并不是下载流而是直接打开, 本文介绍原因和解决办法 正文 原因 浏览器根据响应
阅读全文
摘要:前言 之前在写练手的go项目的时候, 一方面确实觉得使用go来作为开发语言觉得顺手且速度快, 另一方面也感觉到了一些令人头疼的地方, 比如在编写某些接口时, 有一些复合查询的条件, 例如招聘网站的按 省市/地铁/商圈/工种/薪资/工龄/学历 等条件查询, 该查询是复合的, 你不知道每次用户选择的是哪
阅读全文
摘要:前言 新项目是Golang作为开发语言, 遇到了些新的坑, 也学到了新的知识, 收获颇丰 本章介绍在Go中使用Cron定时任务模块来实现逻辑 正文 在项目中, 我们往往需要定时执行一些逻辑, 举个例子, 财务系统每月需要自动的总结报表发生到指定邮箱, 生成饼图存储等逻辑, 作为服务方, 我们必须维护
阅读全文
摘要:前言 本文转载至 https://www.liwenzhou.com/posts/Go/read_gin_sourcecode/ 可以直接去原文看, 比我这里直观 我这里只是略微的修改 正文 gin的路由实现 使用 Radix Tree , 简洁版的前缀树 前缀树 别名: 字典树 / 单词查找树 /
阅读全文
摘要:前言 LeetCode题目个人答案(Golang版) 本篇预期记录 1-10 题, 持续更新 正文 1.两数之和(简单) https://leetcode-cn.com/problems/two-sum/ 题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那
阅读全文
摘要:前言 如果代码中依赖了本地的包, 这个包是托管在内网 Gitlab 中, 而且不是 HTTPS 服务,那么应该怎样使用 go mod 拉取代码呢? 本文会给你我的答案 正文 首先我们要知道, 如果本地的 go 环境中已有某个包, 在使用 时是不会去再下载的, 会直接将包拷贝到 vendor 中, 因
阅读全文
摘要:前言 比如这样的需求, 遍历一个 切片, 切片内容是切片1, 需求是判断切片1中某个是否有相应数据, 有就返回 正文 我们需要考虑的是在写两层遍历时如何在获取结果后结束这两层遍历 变量法 设置一个变量, 在外层监听该变量, 获取到结果后修改该变量 缺点很明显, 如果套更多层需要在每个层都写一个判断标
阅读全文
摘要:前言 "zap" 是 uber 开源的一个日志记录的包, uber 在 go 的领域建树颇多, zap 更是优秀, 相比于自带的 log ,他有更多的功能, 当然, 最显眼的还是他很快, 本文介绍 zap 模块的基本使用 正文 zap的使用由 编码器 和 初始化 组成, 编码器表示输出的格式, DE
阅读全文
摘要:前言 今天发现了一个问题是之前一直没有注意到的,这里记一下 正文 Send Closed Chan 问题概述 代码逻辑是启动时启动多个 channel, channel1 获取数据监听数据处理后发送给 channel2 , channel2 处理后再给 channel3 等等 在 channel1
阅读全文
摘要:前言 现在有这样的需求 正文 使用net包 net包的方法可以判断是否是 ip,需要注意的是 ip 分为 ipv4 和 ipv6 此方法将 v4 和 v6 一起判断出来 弊端: 无法获取到是 ipv4 还是 ipv6, 因此如果需求是去除 ipv6 需要自己写 匹配 ipv4 我们可以使用正则来匹配
阅读全文
摘要:前言 一主要讲的是容易忽略的错误,可能在build时都不会体现出来但是在使用时出现问题 二主要讲的是一些可以提高代码效率的用法 本篇则讲解一些规范,不是强制的但是根据规范会提高代码的可读性, 减少BUG 等 正文 一致性 最重要的, 项目的参与者要保持代码规范的一致性.无论你的团队使用怎样的代码规范
阅读全文
摘要:前言 接上回 正文 错误消息 Go中声明错误有几种方式 errors.New() 简单的声明静态字符串信息的错误 fmt.Errorf 可以格式化插入信息的错误 自己实现 Error() 方法 使用errors.Wrap 在使用错误时,需要根据使用场景来判断哪种是适合的 如果只需要简单的静态错误信息
阅读全文
摘要:前言 实力有限,guide啃着好费劲 原地址 "https://github.com/xxjwxc/uber_go_guide_cn" 加我自己的体会和补充 基于Golang 1.14 正文 Interface 合理性验证 在代码编译时验证接口的合理性, 通过 var 一个空变量的方式,如果你的接口
阅读全文
摘要:前言 主要是记录Docker遇到的坑,更多的是因为自己的粗心大意,以此警示 正文 Dockerfile里的RUN 某一次把启动服务的命令写在了 Dockerfile 中,后来发现服务一直拉不起来. 原来是把启动命令写在了 Dockerfile 的 RUN 里 Dockerfile 的 RUN 命令只
阅读全文
摘要:前言 之前一直喜欢 的代码自动格式化和其他的一些功能 今天了解到原来 也有这些功能, 想想也对, 毕竟这么大 正文 Goland设置代码格式化 进入设置,按需选择要使用的, VsCode 使用的是 go fmt 设置成功后每次手动保存会格式化你的代码 Goland设置前进后退按钮 勾选该项即可在最上
阅读全文
摘要:前言 最近较忙,其实准备一篇搞定的 中途有事,只能隔了一天再写 正文 pb.go 需要注意的是,在本个 demo 中,客户端与服务端都是 ,所以在客户端与服务端都公用一个 模板文件(如果是不同的语言生成的pb是对应语言),可以将 文件放置在云上由双方引用,也可以生成两个副本放在两端项目中,本次就使用
阅读全文
摘要:前言 微服务相关 使用 GRPC 通讯的 Golang 微服务入门 举例写一个微服务,接收网址发送请求获取返回结果返回 正文 安装工具 安装 protobuf 这是 proto 文件的编译器 点我下载 选择最新的 releases 中的适合你版本的包下载即可 如 windows 选 win64.zi
阅读全文

浙公网安备 33010602011771号