摘要:
前言 为了便于精准排查问题,需要将当前的请求信息与当前执行的 SQL 信息设置对应关系记录下来,记录的 SQL 信息包括: 执行 SQL 的当前时间; 执行 SQL 的文件地址和行号; 执行 SQL 的花费时长; 执行 SQL 的影响行数; 执行的 SQL 语句; 数据库组件使用的是 GORM。 思 阅读全文
摘要:
签名验证是为了保证接口安全和识别调用方身份,同时还需要满足以下几点: 可变性:每次的签名必须是不一样的。 时效性:每次请求的时效性,过期作废。 唯一性:每次的签名是唯一的。 完整性:能够对传入数据进行验证,防止篡改。 签名规则大同小异,根据自己的业务情况进行制定即可。 签名过程中我们会用到的几种算法 阅读全文
摘要:
相信大家都有这样的问题,天天写业务代码的程序员,怎么成为技术大牛?下面给大家分享下我对这个问题的看法,仅代表个人看法,比较粗浅,希望大家不要介意。 程序员大部分在做这两种事情,一是通过技术支持业务部门,二是通过技术支持技术部门,我们大部分做的是前者,因为前者的岗位比较多,例如几百人的技术部门,基础平 阅读全文
摘要:
概述 身边有位做业务的好朋友去创业了,在一起吃饭的时候聊起了这个话题,在这里给大家分享一下。 主要讨论了这些问题: 关于技术负责人。 关于研发流程,团队职能。 关于技术选型,技术架构,技术管理。 关于技术负责人 1、技术的能力 技术负责人,毋容置疑技术能力肯定要过关,技术能力包括技术攻坚能力和技术团 阅读全文
摘要:
改之前 在使用 gin 开发接口的时候,返回接口数据是这样写的。 type response struct { Code int `json:"code"` Msg string `json:"msg"` Data interface{} `json:"data"` } // always retu 阅读全文
摘要:
在开发过程中,我们有时会遇到这样的问题,将 2020-11-08T08:18:46+08:00 转成 2020-11-08 08:18:46,怎么解决这个问题? 解决这个问题,最好不要用字符串截取,或者说字符串截取是最笨的方法,这应该是时间格式化的问题。 我们先看一下 golang time 包中支 阅读全文
摘要:
咱们平时是这样使用 grpc.Dial 方法的,比如: conn, err := grpc.Dial("127.0.0.1:8000", grpc.WithChainStreamInterceptor(), grpc.WithInsecure(), grpc.WithBlock(), grpc.Wi 阅读全文
摘要:
在 Go 语言中,一个 struct 实现了某个接口里的所有方法,就叫做这个 struct 实现了该接口。 下面写一个 Demo 实现一下,先写一个 Study interface,里面需要实现 4 个方法 Listen、Speak、Read、Write,然后再写一个 study struct,去全 阅读全文
摘要:
1.问题现象描述 使用 json.Unmarshal(),反序列化时,出现了科学计数法,参考代码如下: jsonStr := `{"number":1234567}` result := make(map[string]interface{}) err := json.Unmarshal([]byt 阅读全文
摘要:
概述 在业务系统开发中,尤其是后台管理系统,列表页展示的数据来自多个数据源,列表页需要支持分页,怎么解决? 问题 如上图,数据源可能来自不同 DB 数据库,可能来自不同 API 接口,也可能来自 DB 和 API 的组合。 我这也没有太好的解决方案,接到这样的需求,肯定首先和需求方沟通,这样分页是否 阅读全文