go连接mysql产生大量连接

一直是这个问题困扰着哦我,为什么越来越多连接,到爆掉,换作postgresql驱动也是,还是我理解go语言并发有错呢 package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" "strconv" "time" ) var xiancheng = 10 var over = make(chan bool) var sem = mak...阅读全文

2013-06-14 06:38:13

go web应用的部署和热更新

### 序言 Golang标准库的http部分提供了强大的web应用支持,再加上negroni等中间件框架的支持,可以开发高性能的web应用(如提供Restful的api服务等)。 通常这些web应用部署在多台Linux操作系统的应用服务器上,并用Nginx等做为反向代理,实现高可用的集群服务。 当应用版本升级时,如何实现比较优雅的多态服务器的版本更新呢?我google、baidu了一下,也许我输入的关键字不对,也许这对很多人不是个问题,反正我是没有找到完整的方案。 ### ...阅读全文

2015-10-25 08:08:28

golang sql 中的transaction(事务)的用法

事务就是 保证不同的sql 语句同时成功,或者同时失败的方法。基础用法就不说了,我发现很多人在执行事务 commit , rollback的时候 并不判断是否成功或者失败,也不记录日志。这个虽然说有一点点难度,但是还是非常好做的,可能大家都受到官网文档误导了。 官网文档用的时候就不判断错误,不判断错误如果rollback出错了,没日志,定位会很难,数据不一致问题也非常严重,真是误人子弟! ``` package main ...阅读全文

2016-03-02 16:26:39

GO语言net包怎么实现socket5代理??

package main import ( "fmt" "net" "io" "strconv" ) var ( VER, CONNECT_OK = []byte{5, 0}, []byte{5, 0, 0, 1, 0, 0, 0, 0, 0, 0 } ) func main() { listen, err := net.Listen("tcp", "127.0.0.1:9999") fmt.Println("tcp server sta...阅读全文

2016-05-04 01:20:45

golang编写ping失败,求大神指点

环境是在windows7下的LiteIDE集成环境,代码如下: ```go package main import ( "bytes" "encoding/binary" "fmt" "net" ) type ICMP struct { Type uint8 Code uint8 Checksum uint16 Identifier uint16 SequenceNum uint16 } func ...阅读全文

2016-05-27 08:03:19

空结构体struct{}解析

本篇文章转自David的"The empty struct"一文,原文地址链接是http://dave.cheney.net/2014/03/25/the-empty-struct 。欢迎大家访问[我的博客](http://zuozuohao.github.io/),代码可以在[@Zuozuohao](https://github.com/Zuozuohao/GolangGOFPatterns)下载。 **Introduction** 这篇文章详细介绍了我最喜欢的Go数据类型,空结构...阅读全文

2016-06-05 15:16:43

用golang写一个http代理,可以抓包和科学上网

# 用golang写一个http代理,可以抓包和科学上网 ##缘起 因为在工作中需要对上网进行限制,只让我们的app上网,意思就是放行app请求的所有域名或ip,而其他域名都禁止,所以我需要对app的http请求进行抓包。上网搜了一下,win下的fiddler不错,可惜我用的是Linux系统,fiddler不跨平台,找了下linux下的抓包软件,当然tcpdump和wireshare是足够强大的,完全可以实现我要的小小要求,但用起来有一定的复杂性,门槛稍高。在网上找到其他类似的软件还...阅读全文

2016-06-15 15:18:11

关于go程序启动时Segmentation fault

本人在本地编写了一个go程序,使用了beego框架,环境如下: ``` [root@ test]# go version go version go1.6 linux/amd64 [root@ test]# uname -a Linux . 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux ``` 讲编译好的程序仍在了服务器上,main函数都没有进...阅读全文

2016-06-17 07:13:38

golang调用动态库

测试动态库 test_so.h int test_so_func(int a,int b); test_so.c #include "test_so.h" int test_so_func(int a,int b) { return a*b; } 生成so gcc -shared ./test_so.c -o test_so.so 复制so文件到golang项目目录 golan...阅读全文

2016-06-20 05:41:03

1000+行写了一个Golang ORM库

不知道有喜欢的没有 如写的不好请轻拍 [https://github.com/dotcoo/orm](https://github.com/dotcoo/orm) # Golang ORM ORM library for Go Golang ## Environment ### Database DROP TABLE IF EXISTS test_user; CREATE TABLE test_user ( id int(11) NOT NULL...阅读全文

2016-08-04 03:40:14

极客学院诚意招募Golang兼职老师

职位描述: 1. 负责Golang职业学院学生的作业批改工作; 2. 采用视频+语音的形式,在线完成(录播形式,非远程在线解答); 3. 抢单模式,利用碎片时间抢单批改; 4. 试用期一个月,至少完成10个作业的批改。 任职要求: 1. 熟悉C/C++语言,精通Go语言,至少两年以上Go语言项目实际开发经验; 2. 熟悉主流Go语言下的Web框架,了解框架设计和实现原理; 3. 熟悉MySQL、MongoDB和Redis等数据库并精通其一; 4. 熟悉HTML、CSS、Ja...阅读全文

2016-08-04 09:34:16

golang的服务控制实践

转自自己在csdn的博客:http://blog.csdn.net/qq_26981997/article/details/52275456 对于程序及服务的控制,本质上而言就是正确的启动,并可控的停止或退出。在go语言中,其实就是程序安全退出、服务控制两个方面。核心在于系统信号获取、Go Concurrency Patterns、以及基本的代码封装。 ## 程序安全退出 ### 执行代码非安全写法 在代码部署后,我们可能因为服务配置发生变化或其他各种原因,需要将服务停止或者重启。通...阅读全文

2016-08-22 06:08:48

Go面试必考题目之defer篇

### 来源:微信公众号《Go后端干货》 ### 各种Go,后端技术,面试题分享,欢迎关注 <img src="https://static.studygolang.com/190508/d20b3d9f2790729effb6cbea985e443d.png" div align=center width=300 height=300> #### 下面程序分别输出什么? ``` func f1() { for i := 0; i < 5; i++ { defer f...阅读全文

2019-05-13 21:05:43