【生产BUG】一个生产Bug到GORM框架分析

目录:1.Bug背景介绍2.Bug分析过程   2.1. 百度搜索解决方案   2.2. 根据关键错误信息分析源代码:database/sql(Golang版本:1.14.3)   2.3. 分析gorm的Begin/Commit/Rollback/Find源代码(Golang版本:1.14.3)   2.4. 分析业务代码调用Gorm的逻辑关系3.Gorm/database/mysql架构分析  3.1. Gorm/database/mysql分层架构  3.2. Gorm/database/...阅读全文

Go语言中文网 2021-09-17 11:17:23 ltp5343

用Go轻松完成一个XA分布式事务,保姆级教程

### 事务 某些业务要求,一系列操作必须全部执行,而不能仅执行一部分。例如,一个转账操作: ``` -- 从id=1的账户给id=2的账户转账100元 -- 第一步:将id=1的A账户余额减去100 UPDATE accounts SET balance = balance - 100 WHERE id = 1; -- 第二步:将id=2的B账户余额加上100 UPDATE accounts SET balance = balance + 100 WHERE id = 2; ...阅读全文

Go语言中文网 2021-09-14 09:33:53 yedf

私有化仓库的 GO 模块使用实践

本文以又拍云团队私有化模块处理的实践案例为基础,介绍如何使用私有化模块,以及 go get 工具背后的细节,其中包括如何让 go 正确的源获私有化 gitlab 上源代码以及认证等问题。文章根据又拍云资深开发工程师刘云鹏在 Open Talk 公开课直播分享进行整理,回放视频请下拉文末点击“阅读原文”。 关于 Open Talk:由又拍云发起的综合性技术沙龙,秉承又拍云“让创业更简单”的初衷,以全干货的形式为技术开发者提供包括技术、运维、产品、创业等多维度的知识分享,帮助企业成员提升专业技能,推...阅读全文

go modules 使用本地库、合规库、私有库

一、简介 公司项目使用 go module 开发的过程中会有一些自己的库要引用,这些库用gitlab管理,需要研究引用gitlab库的方法,下面是研究过程中的一些经验。 介绍两种引用方案: 1、引用本地目录 2、引用合规地址库 3、引用私有不合规库 4、恶心至极的私有不合规库 上述名词中的 合规 是指: [x] 库的地址是通过域名方式访问 [x] 支持HTTPS [x] 库的地址通过 80 和 443 端口,而不是其它端口 满足上述条件即是 合规库,否则是 不合规库,由于通常不合规库都是私有的,...阅读全文

IT开发者们的技术天堂 2019-07-15 20:10 qingchuwudi

[北京/深圳] 快手平台研发部 SysLab 寻找热爱编译器技术的你!

语言设计及其编译器研发 基础架构中心 SysLab 正在寻找志同道合的你,一起设计并研发一门受欢迎的通用编程语言。 负责语言设计和编译器研发工作,承担具有挑战的一些创新项目; 设计面向未来的语言和编译工具,加速海量分布式服务 /AI 服务的研发效率和质量; 研发高性能工具链,提升研发效率和运行性能,节省人力和资源成本; 使用新语言研发高质量标准库。 需要你: 熟练掌握 C++/Go 语言,具有高质量工程能力; 具备深厚的计算机底层知识; 具备良好的英文写作能力; 勇于...阅读全文

Go语言中文网 2021-09-10 17:28:36 jxls1992

🏄💨Rust工程师枕边资料

### Rust工程师枕边资料,经典博客,大牛文章,开源框架,国外项目,论文,视频,书籍,作者口述一览表 #### 传送门:https://github.com/0voice/Understanding_in_Rust ![0voice-Understanding_in_Rust-Rust工程师枕边资料,经典博客,大牛文章,开源框架,国外项目,论文,视频,书籍,作者口述一览表.png](https://static.studygolang.com/210908/db1f775...阅读全文

Go语言中文网 2021-09-08 20:44:03 wenchao1024

程序媛上班第一天,尽然让我做这个?!

 大家好!本人性别:女母语:golang爱好:电影,运动,做研究今天是我入职第一天,hr居然让我做招聘。以下是我用母语写的JD,有兴趣的大佬可以加入一起工作聘Golang工程师(后端、云相关)薪资:30k-70k·14薪 坐标杭州•紫金港有兴趣的大佬可以发送简历到我的邮箱:linwanlu@gnlab.compackage main import ( b64 "encoding/base64" "reflect" ) func contains(arrayType inte...阅读全文

Go语言中文网 2021-09-08 14:04:32 linwanlu

1

对go做过开发的朋友都很熟悉interface。这几天在网上看到了篇文章,谈到了interface与nil判等的问题。题是好题,就进一步了解了一下。 原题如下: Nil接口并不是有Nil指针的接口 type Cat interface { Meow() } type Tabby struct {} func (*Tabby) Meow() { fmt.Println("meow") } func GetACat() Cat { var myTabby *...阅读全文

Go语言中文网 2021-09-07 16:53:40 aaaaaa

Go Module 教程第 5 部分:Vendoring

前四个教程: - [Go Module 教程第 1 部分:为什么和做什么](https://studygolang.com/articles/24580) - [Go Module 教程第 2 部分:项目、依赖和 gopls](https://studygolang.com/articles/35202) - [Go Module 教程第 3 部分:最小版本选择](https://studygolang.com/articles/35210) - [Go Module 教程第 4 部...阅读全文

Go语言中文网 2021-09-06 17:02:01 polaris

go语言中的内存对齐

 ​大家好,我是peachesTao,今天跟大家聊一聊go语言中的内存对齐,这个知识点涉及到计算机运行原理,也是go面试中经常被问的问题通过这篇文章你可以了解到go语言中内存是怎么对齐的,以及代码怎么写才能更有效的利用内存。本次分享分为4个部分什么是内存对齐?为什么要内存对齐?如何做才能内存对齐?对于内存对齐,程序员能做点什么什么是内存对齐?以下定义来源于网络现代计算机中内存空间都是按照字节(byte)进行划分的,所以从理论上讲对于任何类型的变量访问都可以从任意地址开始,但是在实际情况中,在访问...阅读全文

Go语言中文网 2021-09-05 22:20:58 peachestao

Go Module 教程第 4 部分:镜像、校验和以及 Athens

前三个教程: - [Go Module 教程第 1 部分:为什么和做什么](https://studygolang.com/articles/24580) - [Go Module 教程第 2 部分:项目、依赖和 gopls](https://studygolang.com/articles/35202) - [Go Module 教程第 3 部分:最小版本选择](https://studygolang.com/articles/35210) > 注意,该教程基于 Go1.13。...阅读全文

Go语言中文网 2021-09-05 21:16:12 polaris

go语言传参是值传递还是引用传递

 曾经在某次go面试中被面试官问到:“go中引用类型有哪些?”,我答到:“slice,map,channel”,面试官:“其实go没有引用类型,都是值类型“,当时我就懵了,这么基础的问题居然我跟面试官意见不同。现在想想也许是我听错了,他应该说的是:”go没有引用传递,都是值传递“。我们今天就来聊一下这个话题。一个简单的例子func modifySlice(slice []int) { slice[0] = 11 } func main() { mySlice := []int...阅读全文

Go语言中文网 2021-08-29 12:37:44 peachestao