Go语言中文网 为您找到相关结果 3683

招聘服务端开发工程师(go语言)

岗位职责: 负责系统设计和核心代码开发(Go语言开发)协助完成一些运维、DBA工作。 任职要求: 两年以上 C/C++/delphi/Go 服务端开发经验; 有良好的编程风格和编写文档的习惯; 熟悉 HTTP、TCP/IP 等常见网络协议,有相关网络编程经验; 服务端基础扎实,了解nginx、redis、mysql、消息队列等常见服务端组件; 有较强的责任心和学习能力,能承受一定工作压力。 薪水待遇: 15w起 具体面议 包五险一金 公司地点:浙江省杭州市余杭区仓前街道文一西路1338号海创大厦A座802室 投简历邮箱: shenqiang@aoukj.co...阅读全文

博文 2017-12-12 01:22:03 lllluolan

最全知乎专栏合集:编程、python、爬虫、数据分析、挖掘、ML、NLP、DL...

(本文先简单罗列下,后续要是有好的展示方式,会进行调整)上一篇文章《爬取11088个知乎专栏,打破发现壁垒》 里提到,知乎官方没有搜素专栏的功能,于是我通过爬取几十万用户个人主页所专注的专栏从而获取到11088个知乎专栏。本回筛选出涉及:编程、python、爬虫、数据分析、挖掘、ML、NLP、DL等关键词的专栏,按照排名、关注人数、专栏名称、专栏简介等顺序,罗列出史上最全专栏合集,以供大家顺藤摸瓜、前去观摩和学习。 筛选出来的专栏数据和全部11088个专栏数据,评论区有获取方式。对其他主题的专栏感兴趣的可自行去搜寻,有兴致搞出个“专栏”搜索功能的小伙伴也可以尝试下!另外已开始对11088个专栏里的数据进行进一步爬取,之后会继续相关分析和资源分享。TOP29系列,1万+关注:No.1, 157...阅读全文

awesome-go

https://awesome-go.com/ Awesome Go A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python. Contributing Please take a quick gander at the contribution guidelines first. Thanks to all contributors; you rock! If you see a package or project here that is no longer maintained or is not a good fit, please submit a pu...阅读全文

博文 2016-12-20 13:00:02 andylau00j

Gin实践 连载一 Golang介绍与环境安装

Golang介绍与环境安装 Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin. Gin是用Golang开发的一个微框架,类似Martinier的API,重点是小巧、易用、性能好很多,也因为 httprouter 的性能提高了40倍。 准备环节 一、安装Golang 首先,根据对应的操作系统选择安装包下载, 在这里我使用的是Centos 64位系统 wget h...阅读全文

博文 2018-02-17 11:34:37 EDDYCJY

Go 语言中的线程池(Thread Pooling in Go Programming)

用过一段时间的 Go 之后,我学会了如何使用一个不带缓存的 channel 去创建一个 goroutine 池。我喜欢这个实现,这个实现甚至比这篇博文描述的更好。虽然这样说,这篇博文仍然对它所描述的部分有一定的价值。 [https://github.com/goinggo/work](https://github.com/goinggo/work) ## 介绍(Introduction) 在我的服务器开发的职业生涯里,线程池一直是在微软系统的堆栈上构建健壮代码的关键。微软在 .Net 上的失败,是因为它给每个进程分配一个单独的线程池,并认为在它们并发运行时能够管理好。我早就已经意识到这是不可能的。至少,在我开发的服务器上不可行。 当我用 Win32 API,C/C++ 构建系统时,我创建了一...阅读全文

博文 2018-04-13 21:41:55 gogeof

Golang资料集

##Golang资料集 * [《Platform-native GUI library for Go》](https://github.com/andlabs/ui) 介绍:跨平台的golang GUI库,支持Windows(xp以上),Unix,Mac OS X(Mac OS X 10.7以上) * [《Gopm 快速入门》](http://blog.go-china.org/25-gopm-intro) 介绍:Gopm(Go 包管理工具) 是一个用于搜索、安装、更新和分享 Go 包的管理工具。 * [《go build 命令是如何工作的?》](http://blog.go-china.org/19-how-go-build-works) 介绍:本文以 ...阅读全文

资源 2015-05-09 05:02:15 polaris

深度学习第一课

近几年深度学习的概念非常火,我们很幸运赶上并见证了这一波大潮的兴起。记得2012年之前提及深度学习,大部分人并不熟悉,而之后一段时间里,也有些人仍旧持怀疑的态度,觉得这一波浪潮或许与之前sparse coding类似,或许能持续火个两三年,但终究要被某个新技术新方法所取代,再后来,无论是学术界还是工业界,总有些研究者为自己没有在第一时间跟进这波浪潮感到后悔莫及。确实,从2012年AlexNet取得ImageNet的冠军开始,五年过去了,深度学习的方法仍旧占领着人工智能这片领域。 随着这波浪潮,有些人作为弄潮儿,兴起一波波巨浪,引领各个领域从传统方法到深度学习方法的转变,并希望能够通过了解其他领域的方法改进自己所从事的领域;有些人辛勤地工作,利用深度学习的方法为公司提高业绩,希望实时跟进并实现...阅读全文

博文 2017-06-24 09:52:16 PaddlePaddle开源团队

MySQL Binlog增量实时同步工具go-mysql-transfer

# 简介 go-mysql-transfer是使用Go语言实现的MySQL数据库实时增量同步工具。能够实时监听MySQL二进制日志(binlog)的变动,将变更内容形成指定格式的消息,发送到接收端。在数据库和接收端之间形成一个高性能、低延迟的增量数据(Binlog)同步管道。 # 特性 1、不依赖其它组件,一键部署 2、集成多种接收端,如:Redis、MongoDB、Elasticsearch、RabbitMQ、Kafka、RocketMQ,不需要再编写客户端,开箱即用 3、内置丰富的数据解析、消息生成规则;支持Lua脚本扩展,以处理更复杂的数据逻辑 4、集成Prometheus客户端,支持监控告警 5、支持高可用集群部署 6、数据同步失败...阅读全文

开源项目 2020-09-05 21:42:27

在线学习平台具备什么特色和特点?

其实在我们的生活中,对于在线学习平台并不陌生,现在企业、教育单位和培训机构都会使用在线学习平台来进行线上学习、培训。使用在线学习平台,可以很好减少人力和物力成本,那么在线学习平台有哪些特色和特点呢? 在线学习平台是通过计算机互联网,或是通过手机无线网络,在一个网络虚拟教室与教室进行网络授课、学习。它不需要特定的时间到特定的地点进行学习,只要有一台电脑、一部手机在有网的地方就能进行学习。再者就是在线培训平台的稳定和安全性,或许很多人会担心在线学习平台的稳定性和安全性,担心在线学习系统会不稳定而丢失了重要数据。但其实不用担心,好智学在线学习平台采用APACHE 2.0+MYSQL+Golang技术,能够保证数据安全稳定,数据储存备份。再者就是在安装上来说,在线培训系统无需安装系统软件,直接在好智...阅读全文

博文 2019-07-08 11:02:42 在线培训学习系统

Gin实践 连载九 将Golang应用部署到Docker

将Golang应用部署到Docker 项目地址:https://github.com/EDDYCJY/go... (快上车,支持一波)原文地址:https://segmentfault.com/a/11... 注: 开始前你需要安装好 docker,配好镜像源 本章节源码在 f-20180324-docker 分支上 从本章节开始 项目目录都以 go-gin-example 为基准(请配合自己本地项目灵活变动) 介绍 在这里简单介绍下Docker,建议深入学习 Docker 是一个开源的轻量级容器技术,让开发者可以打包他们的应用以及应用运行的上下文环境到一个可移植的镜像中,然后发布到任何支持Docker的系统上运行。 通过容器技术,在几乎没有性能开销的情况下,Docker 为应用提供了一个隔...阅读全文

博文 2018-03-24 17:34:38 煎鱼

NSQ的重塑之路

在 Gopherchina 2017 中,杭州有赞科技的李文带来了题为《NSQ 重塑之路》的分享,以下是对他演讲内容的整理。今天我会分享有赞 NSQ 重塑的一个过程,主要分为以下几个部分:第一,回顾旧的架构;第二,在使用的过程中遇到的一些问题,以及为什么要做重构;第三,重构具体的细节和架构;第四,测试的整个流程。第五,与其他产品进行对比;第六,有赞的使用场景。Original Architecture Overview首先,什么是 MQ?MQ 大多数在微服务或者一些业务之间的消息投递过程。一般情况下,如果直接调用它的接口会导致两个业务之间有很多耦合,业务之间依赖比较重。所以在微服务改造过程中,MQ 是非常重要的组件。NSQ 是其中主要的一个产品,类似 kafka。我们当时用 NSQ 是为这个...阅读全文

博文 2017-08-23 02:36:41 李文

golang net/http访问https

进来看了golang写兵法爬虫的资料,于是自己动手简单的尝试了一下,发现在使用http.Get("https://...")的时候,会报错。原因是我的环境设置了上网代理。上网搜索了一些问题,耗时两天才最终解决,现将解决过程记录下来,仅供参考。 最初的源码 package main import ( "fmt" "net/http" ) func main() { seedUrl := "https://www.douban.com/" body, err := http.Get(seedUrl) if err != nil { fmt.Errorf("get https://www.douban.com/ error") panic(err) } fmt.Printf("%s\n", bod...阅读全文

博文 2018-09-18 20:34:38 sixgo

Mac os安装golang开发环境

为了能够愉快地进行golang编程,我们需要安装以下几样东西: 包管理Homebrew 语言环境golang 版本管理git 虚拟器docker 编译器Goland 我将按照这个顺序叙述整个安装过程 docker 其实是可选的,它可以把应用程序打包为可移植的、自给自足的容器。这样一来,你就可以在本地生成golang程序的docker镜像,直接扔到测试环境,便可以进行测试了,不需要再进行代码上传,环境配置等操作了。 如果你觉得暂时用不到,也可以先不装。 1 安装brew HomeBrew图标 Homebrew有点类似于Linux操作系统中的apt-get(Ubuntu)、yum(yum),Mac的操作系统中使用它解决包依赖问题,套用官方的话来说: Homebrew 能干什么? 使用 Homeb...阅读全文

博文 2018-08-13 18:35:55 夏之绘

golang实现tcp接入服务器

接入服务器和后端业务服务其维持tcp连接,多个前端请求通过接入服务器访问后端业务服务器,接入服务器可以方便增加路由功能,维护多个业务服务器,根据消息ID路由到具体的业务服务器。 项目目录如下 simplelotus src lotus main.go lotuslib tcplotus.go test tcpclient.go tcpserver.go install install源码如下: #!/usr/bin/env bash if [ ! -f install ]; then echo 'install must be run within its container folder' 1>&2 exit 1 fi CURDIR=`pwd` OLDGOPATH="$GOPATH" ex...阅读全文

博文 2014-10-04 19:26:13 ciaos

Go 语言项目

出处:https://code.google.com/p/go-wiki/wiki/Projects Indexes and search engines These sites provide indexes and search engines for Go packages: godoc.orggowalkergosearchSourcegraph Contributing To edit this page you must be a contributor to the go-wiki project. To get contributor access, send mail to adg@golang.org from your Google Account. Dead proj...阅读全文

博文 2014-10-10 16:00:01 leonzhouwei

2017年在深圳什么职业最高薪?最少8000+?

说到薪资,不得不说的是。深圳这个城市的平均工资在内地,在2016年,深圳以8141的平均工资稳居全国前三,而且呈逐年上升的趋势。这得益于深圳的经济飞速稳定发展,是一线城市中唯一一个保持9%高速增长的城市。在2017年第一季度中GDP同比增长8.6%。 而深圳的高薪职业,首先是互联网行业,深圳最多的公司就是互联网企业。互联网带来了大量的跨界、混业和新兴公司,而深圳的企业注册量雄踞全国,每年新兴公司也特别多。事实上,45.1%的雇主主要在一线城市(京、沪、广、深)招聘人才,通过深圳地区2016年的职位和求职者数量数据来看:html5、PHP、Golang、Node.js、SEO、MySQL、Delphi、Ruby、网页交互设计师和JavaScript是最为抢手的十大互联网人才。在TOP10中,后...阅读全文

博文 2017-07-03 09:06:42 扣丁学堂

Redis 集群解决方案Codis

Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务. Codis 实现了业务透明的动态/安全扩缩容,高度可运维,proxy-based 的方案,支持无状态的多 proxy 水平扩展。已经在贵荚内部取代了大多数业务的 twemproxy。 架构图: ![架构图](https://raw.githubusercontent....阅读全文

go微服务

go-kit 入门 1. microservice Go-Kit go kit 是一个分布式的开发工具集,在大型的组织(业务)中可以用来构建微服务。其解决了分布式系统中的大多数常见问题,因此,使用者可以将精力集中在业务逻辑上。 2. go-kit 组件介绍 2.1 Endpoint(端点) Go kit首先解决了RPC消息模式。其使用了一个抽象的 endpoint 来为每一个RPC建立模型。 endpoint通过被一个server进行实现(implement),或是被一个client调用。这是很多 Go kit组件的基本构建代码块。 2.2 Circuit breaker(回路断路器) Circuitbreaker(回路断路器) 模块提供了很多流行的回路断路lib的端点(endpoint)适...阅读全文

博文 2017-03-28 09:00:32 backtrackx

扯淡 erlang 的“适合”和“不适合”

现在在体系内大力推广erlang了。不过挺遗憾的是,推行 erlang 前并没有对这个语言自身进行深入的论证和研究,只是由核心人员写了一个简单得不能再简单的 demo,在项目里用了一个开源的 erlang 项目。从工程的角度来说,这是不靠谱的,为了让 erlang 的使用更加靠谱,所以在这里扯淡一下。资料来源于erlang官方和我的猜测,对不对由我,信不信由你。 先看来自 erlang FAQ的内容(自己随手翻译的,不一定准确,可看原文:http://www.erlang.org/faq/introduction.html#1.3): —————————————————— 1.3 Erlang 特别适合使用的项目是什么? 分布式的,可靠的,软实时并发系统。 * 电信系统,例如控制交换或者协议...阅读全文

博文 2014-10-09 16:15:13 mikespook

为什么 Go 不是一款好的编程语言

I like Go. I use it for a number of things (including this blog, at the time of writing). Go is useful. With that said, Go is not a good language. It's not bad; it's just not good. We have to be careful using languages that aren't good, because if we're not careful, we might end up stuck using them for the next 20 years. This is a list of my chief ...阅读全文

博文 2014-12-03 12:00:00 BreakinBad, 开源中国七里香, Ley

高性能代理服务器Proxy-Go

Proxy 是 golang 实现的高性能 http,https,websocket,tcp 代理服务器,同时支持内网穿透。 ## Features - 链式代理,程序本身可以作为一级代理,如果设置了上级代理那么可以作为二级代理,乃至N级代理. - 通讯加密,如果程序不是一级代理,而且上级代理也是本程序,那么可以加密和上级代理之间的通讯,采用底层tls高强度加密,安全无特征. - 智能HTTP代理,会自动判断访问的网站是否屏蔽,如果被屏蔽那么就会使用上级代理(前提是配置了上级代理)访问网站;如果访问的网站没有被屏蔽,为了加速访问,代理会直接访问网站,不使用上级代理. - 域名黑白名单,更加自由的控制网站的访问方式。 - 跨平台性,无论你是widows,linux,还是mac,甚至是树莓派...阅读全文

golang连接mysql

```/* * @Descripttion: golang 连接mysql demo * @version: * @Author: weilin * @Date: 2019-10-19 11:31:23 * @LastEditors: weilin * @LastEditTime: 2019-10-19 22:49:53 */package mainimport ( // database/sql是golang的标准库之一,它提供了一系列接口方法,用于访问关系数据库。 //它并不会提供数据库特有的方法,那些特有的方法交给数据库驱动去实现。我们这里使用到的是mysql驱动 "database/sql" "fmt" "time" // 导入mysql驱动 _ "github.com/go-sql...阅读全文

博文 2019-10-21 09:32:51 aside section ._1OhGeD

Golang实现断点续传

https://github.com/artificerpi/oget HTTP Range 请求 HTTP Range请求允许服务器向客户端发送HTTP消息体的一部分数据。Partial Requests在使用比较大的网络媒体文件或者在下载文件时提供暂停和恢复功能时很有用。 这也是下载时实现HTTP断点续传的一个关键。 HTTP 206 (Partial Content) 如果服务器能返回HTTP 206请求,我们就知道它能够支持Range request. # curl -I https://www.baidu.com/ -H "Range: bytes=0-" HTTP/1.1 206 Partial Content Cache-Control: private, no-cache, ...阅读全文

博文 2017-12-26 04:30:01 7explore-share

【杭州】golang服务器端开发工程师 2名

golang服务器端开发工程师 2名: - 电商类产品的服务器端开发及维护,restful API开发; - 撰写业务、接口文档供前端使用; - 数据库设计、开发及维护和优化; 要求: - 1~2年Golang开发经验,熟练使用Golang进行Restful API接口开发; - 熟悉常用数据库MySql、PostgreSQL等,以及golang常见ORM进行数据库操作; - 有责任感、团队精神和良好的沟通能力; 其它 - 互联网电商类项目(2B)、小团队; - 工作以结果为导向,弹性工作时间、不打卡; - 期权激励; 工作地点:杭州市滨江海创园北楼D3008 薪水:6~15k 简历发送: hr@obenben.co...阅读全文

goAgent

goagent 1.8.11 稳定版下载 http://goo.gl/6ZXcF 最近更新 goagent 2.0.1 测试版下载 goagent v2.0.1 , 请重新上传 python 服务端,客户端全新升级(不要覆盖) 简易教程 如何部署和使用goagent,以Windows为例 申请Google Appengine并创建appid。 下载goagent稳定版 http://code.google.com/p/goagent/ 修改local\proxy.ini中的[gae]下的appid=你的appid(多appid请用|隔开) 双击server\uploader.bat(Mac/Linux上传方法请见FAQ),上传成功后即可使用了(地址127.0.0.1:8087) chrome...阅读全文

博文 2014-10-04 19:26:28 greywolf

go net/http Client使用——长连接客户端的使用

go net/http Client使用总结 Client数据结构 // A Client is an HTTP client. Its zero value (DefaultClient) is a // usable client that uses DefaultTransport. // // The Client's Transport typically has internal state (cached TCP // connections), so Clients should be reused instead of created as // needed. Clients are safe for concurrent use by multiple goroutin...阅读全文

博文 2017-12-24 02:31:07 u013870094

APIGin_API_Framework

欢迎使用GO Gin API Framework @(示例笔记本)[马克飞象|帮助|Markdown] GIN API Framework是一款专为Go Gin 框架打造的API Framework,通过精心的设计与技术实现,集成了大部分稳定开发组件,memcache consistance Hash,redis,nsq,api doc ,mysql 等。特点概述: 功能丰富 :支持大部分服务器组件,支持API Doc; 得心应手 :简单的实例,非常容易上手; 深度整合 :深度整合memcache,redis,mysql,beego ,gin 框架。 性能优先 :为啥不直接使用beego那,因为gin是目前httprouter性能最高,占用资源最少的框架,而beego...阅读全文

开源项目 2016-12-15 03:49:19

华为 深信服等研发面经

华为 深信服等研发面经本文首发于微信公众号:程序员江湖 美图面经:一面:1 Java的hashmap2 Java的多线程技术,线程池3 Java的jvm讲一下,内存模型,垃圾回收4 mysql的索引怎么建,优化5 Linux操作系统了解哪些6 网络和操作系统问了些基础7 Redis使用哪些场景8 数据结构了解哪些,排序的复杂度9 讲一下项目里的难点,说一下docker。10 其他忘记了二面:1 项目2 docker和k8s知道哪些,说一下3 OpenStack用到了哪些组件,说下4 闲聊其他5 意向城市迅雷:一面:1 我们是c++和golang,这方面了解么2 jvm的内存模型和垃圾回收3 Java并发技术讲一下4 MySQL数据库相关问题,主从,读写分离,分布式方案5 Redis的哨兵讲一...阅读全文

博文 2018-09-14 12:34:41 How_2_Play_Life

Golang查询MySQL数据库

模块安装go get -u github.com/go-sql-driver/mysql代码package main import ( "database/sql" _"github.com/go-sql-driver/mysql" "log" "fmt" ) func main(){ db,err :=sql.Open("mysql","root:@tcp(127.0.0.1:3306)/nginxlog") //连接数据库 checkErr(err) rows,err :=db.Query("select * from nginxlog limit 10; ") checkErr(err) for rows.Next(){ var id int var ip string var tim...阅读全文

博文 2019-02-27 00:35:43 tianya1993

EMQ百万级MQTT消息服务(TLS Docker Golang)

附上: 喵了个咪的博客:w-blog.cn EMQ官方地址:http://emqtt.com/ EMQ中文文档:http://emqtt.com/docs/v2/guide.html 1.TLS证书验证 为了保障安全.我们常常会使用HTTPS来保障请求不被篡改,作为MQTT使用TLS加密的方式来保障传输安全 EMQ默认使用的TLS加密的端口是8883端口,默认证书在EMQ目录下etc/certs: 对应的配置文件在emq.conf中,可以修改你的端口和配置文件路径 listener.ssl.external = 8883 listener.ssl.external.keyfile = etc/certs/key.pem listener.ssl.external.certfile = etc...阅读全文

博文 2018-04-24 19:33:05 喵了_个咪

Go 编程语言规范

自:http://ilovers.sinaapp.com/doc/golang-specification.html 英语:http://golang.org/ref/speC Go 编程语言规范 2013年05月08日版本 简介记号源代码表示字符字母和数字词法元素注释符号分号标识符关键字操作符/运算符和分隔符整型值浮点值虚数值分符值字符串值常量类型方法集布尔类型数值类型字符串类型数组类型分片类型结构体类型指针类型函数类型接口类型映射类型管道类型类型和值的性质类型一致转换块声明和作用域标号作用域Blank identifier预声明标识符导出的标识符唯一标识符常量声明Iota类型声明变量声明短变量声明函数声明方法声明表达式操作数合法标识符复合值函数值主表达式Selectors下标分片类型推断...阅读全文

博文 2014-10-09 16:00:05 maimang1001

Go语言针对MySQL数据查询的错误处理方式

// Go语言针对MySQL数据查询的错误处理方式 package main import ( "database/sql" "fmt" "runtime" ) // go run test.go func main() { // mysql扩展 https://github.com/go-sql-driver/mysql db, err := sql.Open("mysql", "root:@tcp(127.0.0.1:3306)/test?charset=utf8") if err != nil { fmt.Println(err) } // db连接一般不主动关闭, 除非确认确实不再需要该连接了, go会进行回收 defer db.Close() // 用户模型, 表结构, 需要一个结...阅读全文

博文 2017-06-05 15:06:14 广训

Go 1.6 GC improvements 转自google doc

Go 1.6 GC improvements Austin Clements and Rick Hudson 2015-08-13 Go 1.5 is the first release with our new, low-pause concurrent garbage collector (GC). This is a significant stride over past releases and should open up Go to applications where it was previously unsuitable, but there is still plenty of work to do. For 1.6, our primary goal with the...阅读全文

博文 2015-08-14 11:00:07 myml

「3306π」社区北京站,新技术新玩法

2019新的一年,新的开始3306π社区第一站北京站,拉开了帷幕活动时间:2019年3月23日 09:00-18:30活动地址:北京市朝阳区望京东园四区9号楼阿里中心A座20层培训室(地铁:15号线望京东站C口) 本次技术交流特色专项培训和主题交流“双响炮”MySQL圈子的聚会,你学习知识,阿里出场地,3306π组局本次会议安排如下嘉宾 上午培训安排 适合人群: MySQL DBA, 开发人员培训前准备: 携带笔记本电脑 提前加入群领取资料准备环境 培训人数:限30人大家如果感兴趣,别犹豫抓紧时间报名啊《基于Raft的MySQL高可用组件Xenon实战》 吴炳锡 Xenon的介绍及特点 业界高可用实现区别对比 Xenon的raft实现 Xenon部署及使用 对Xenon使用上的一些想法 从实...阅读全文

博文 2019-03-06 17:34:45 3306pai社区

Golang+MySQL 事务

准备知识:MySQL事务 1 基本操作 sql.Tx tx会从连接池中取一个空闲的连接,直至调用commit或者rollback才会释放 tx, err := db.Begin() // 创建tx对象 tx.Query(command1) tx.Exec(command2) tx.Commit() 2 并发 事务只有一个连接,事务内的操作是串行的 db, _ := sql.Open(...) rows, _ := db.Query("SELECT id FROM tt_users") for rows.Next(){ var ( user_id int openid string ) rows.Scan(&user_id) db.QueryRow("SELECT openid FROM tt...阅读全文

博文 2018-08-08 14:34:53 埃尔温薛定谔不养猫

终极 Web 应用性能和压力测试工具 Gor

常见的 Web 应用的压力测试工具 Web 应用压力测试工具有很多,比如 Apache ab,node-ab,Apache JMeter, LoadRunner, httperf。但是这些工具都没能解决一个问题: 如何正确模拟生产环境的流量 如今 Web 应用的架构变得非常复杂,内部包含复杂的各种负载均衡、 服务和 RPC 调用关系,简单的发送 GET 请求到某些 URL 或者 API 接口完全无法模拟真实的流量。假如回放 HTTP 日志,操作又异常麻烦。Tcpcopy 虽然能够复制实时流量,但是操作也很复杂。之前的 亚马逊云平台的迁移 就用到了 Gor 这个工具。 Gor 是 Web 应用压力测试的完美方案 我一直在找一个简单又方便的解决方案,直到找到了 Gor 。Gor 是用 Golan...阅读全文

博文 2015-06-17 20:15:54 xtqve

Golang动手写一个Http Proxy

本文主要使用Golang实现一个可用但不够标准,支持basic authentication的http代理服务。 为何说不够标准,在HTTP/1.1 RFC中,有些关于代理实现标准的条目在本文中不考虑。 Http Proxy是如何代理我们的请求 Http 请求的代理如下图,Http Proxy只需要将接收到的请求转发给服务器,然后把服务器的响应,转发给客户端即可。 Https 请求的代理如下图,客户端首先需要发送一个Http CONNECT请求到Http Proxy,Http Proxy建立一条TCP连接到指定的服务器,然后响应200告诉客户端连接建立完成,之后客户端就可以与服务器进行SSL握手和传输加密的Http数据了。 为何需要CONNECT请求? 因为Http Proxy不是真正的服务...阅读全文

博文 2017-09-17 13:11:26 杨锡坤

大型互联网公司招 数据分析工程师 — 会 Go 优先考虑

北京大型互联网公司招 数据分析工程师,要求懂编程,目前项目有用Go写一些服务,因此会Go语言的优先考虑; 工作职责: 1. 完成数据模型的ETL实施,参与团队ETL流程的优化以及相关技术问题的解决 2. 设计大规模实时系统,实现数据采集、分析和检索 3. 建立数据仓库,DPM 职位要求: 1. 计算机相关专业大学本科及以上学历,有扎实的计算机基础 2. 精通常用数据结构和算法 3. 精通PHP,熟悉Java/Python/Go/C等语言中的一种或几种 4. 精通SQL,掌握MySQL,熟悉Redis和MongoDB等DB的一种或者多种 5. 熟练掌握Hadoop/MR、Storm、Spark或其它并行计算架构 6. 熟悉Linux...阅读全文

38 | 架构师应该如何判断技术演进的方向?

互联网的出现不但改变了普通人的生活方式,同时也促进了技术圈的快速发展和开放。在开源和分享两股力量的推动下,最近 10 多年的技术发展可以说是目不暇接,你方唱罢我登场,大的方面有大数据、云计算、人工智能等,细分的领域有 NoSQL、Node.js、Docker 容器化等。各个大公司也乐于将自己的技术分享出来,以此来提升自己的技术影响力,打造圈内技术口碑,从而形成强大的人才吸引力,典型的有,Google 的大数据论文、淘宝的全链路压测、微信的红包高并发技术等。对于技术人员来说,技术的快速发展当然是一件大好事,毕竟这意味着技术百宝箱中又多了更多的可选工具,同时也可以通过学习业界先进的技术来提升自己的技术实力。但对于架构师来说,除了这些好处,却也多了“甜蜜的烦恼”:面对层出不穷的新技术,我们应该采取...阅读全文

博文 2019-09-30 15:32:51 aside section ._1OhGeD

bleve: a modern search indexing library for Go, with examples

Marty Schoch (@mschoch) is an engineer at Couchbase, maker of the high-performance NoSQL distributed database of the same name. Working with Go for almost 2 and half years, he has been using it to prototype new solutions at Couchbase. This talk introduces bleve, a text search indexing library for Go. The slides for this talk have been posted here. ...阅读全文

博文 2015-03-11 22:58:56 Sourcegraph

golang http(s)请求转发

func main(){ router := gin.Default()//创建一个router router.Use(MiddleWare())//中间件,起拦截器的作用 router.Any("/*action", Forward)//所有请求都会经过Forward函数转发 router.Run(":8000") } func Forward(c *gin.Context) { targetHost := &httputils.TargetHost{ Host: "www.baidu.com", IsHttps: false, } HostReverseProxy(c.Writer, c.Request, targetHost) } func HostReverseProxy(w htt...阅读全文

博文 2019-02-14 22:34:45 杜子龙

「3306π」北京站,2019年首发

2019新的一年,新的开始3306π社区第一站北京站,拉开了帷幕活动时间:2019年3月23日 09:00-18:30活动地址:北京市朝阳区望京东园四区9号楼8层801阿里中心A座20层培训室(15号线望京东站C口) 本次技术交流特色专项培训和主题交流“双响炮”MySQL圈子的聚会,你学习知识,阿里出场地,3306π组局本次会议安排如下嘉宾 上午培训安排 适合人群: MySQL DBA, 开发人员培训前准备: 携带笔记本电脑 提前加入群领取资料准备环境 培训人数:限30人大家如果感兴趣,别犹豫抓紧时间报名啊《基于Raft的MySQL高可用组件Xenon实战》 吴炳锡 Xenon的介绍及特点 业界高可用实现区别对比 Xenon的raft实现 Xenon部署及使用 对Xenon使用上的一些想法 ...阅读全文

博文 2019-03-02 23:34:40 3306pai社区

微信代理服务WeChat-Proxy

WeChat-Proxy 是微信代理服务。 1、全局缓存微信 access_token, jsapi ticket等。 2、多路转发微信回调消息。 3、简化微信 oauth2 认证流程。 4、简化微信支付流程。 5、简化微信 JSSDK 签名流程。 参数说明: key: 自定义的app名称,支持中文,也可以是随机生成的字符串。(必填) appid: 微信公众号的 appid。(必填) secret: 微信公众号的 secret。(必填) token, aes: 用于微信回调消息加解密的秘钥。(/msg接口) 如果设置了此项参数,后台应用可以直接以json明文格式接收和回复微信回调消息。(/msg/json接口) mch_id, mch_ke...阅读全文

Rancher使用入门

上个月末,Rancher Labs在其官方博客上宣布了 Rancher 1.0正式版本发布。 这是继Apache Mesos、 Google Kubernetes以及Docker 原生 Swarm 之后,又一个可用于Production环境中的容器管理和服务编排工具,而Rancher恰似这个领域的最后一张拼图(请原谅我的孤陋寡闻,如 果有其他 厂商在做这方面产品,请在评论中留言告诉我)。从Rancher Labs的官方about中我们可以看到:Rancher Labs致力于为DevOps team打造一个最好的容器管理平台,让容器的部署和管理变得更加Easy。 本文将带大家与Rancher来个亲密接触,直观的体会一下Rancher的入门级使用方法。 注意:由于Rancher还在active ...阅读全文

博文 2016-04-19 08:54:40 bigwhite

Go 1.9 的新特性

现在 Go 1.9 beta版已发布, 正式版预期在8月初发布,让我们先来看看你Go 1.9带来了那些新特性。 阅读全文 原文: Advanced command execution in Go with os/exec by Krzysztof Kowalczyk.完整代码在作者的github上: advanced-exec Go可以非常方便地执行外部程序,让我们开始探索之旅吧。 阅读全文 熟悉C++、Java、C#等面向对象的编程语言的同学,在学习Go语言的过程中,经常会被访问权限所困扰,逐渐才能了解这样一个事实: Go语言通过identifier的首字母是否大写来决定它是否可以被其它package所访问。 正式的Go语言规范是这么规定的: An identifier may be ex...阅读全文

博文 2017-06-21 03:52:56 smallnest

记一次线上Giao(go)服务内存占用率过高问题排查

本文作者: 保护我方李元芳 商业转载请联系作者获得授权,非商业转载请注明出处。 故障现象 某线上埋点上报机器偶尔触发内存占用过多的报警。ssh到机器top发现主要内存被埋点服务占用。之前重启过几次,但是过段时间仍然会发生内存占用过多的警报。下面是报警详情。 [P1][PROBLEM][ali-e-xxx-service03.bj][][ all(#3) mem.memfree.percent 4.19575<5][O3 >2019-10-28 10:20:00] 问题推断 埋点服务主要接收客户端压缩过的上报请求,并对请求数据做解压,投递到kafka,逻辑功能相对简单。初步怀疑是某些资源没有释放导致的内存泄露或Groutine泄露。 问题排查 由于代码不是由我们业务方维护的,首先向相关部门索要...阅读全文

博文 2020-01-19 16:34:17 保护我方李元芳

nginx 反向代理 golang web

现有两个Golang Web服务程序: web1(8080), web2(8081), 两个域名:www.xxxxx.com, www.yyyy.com 在一台机器上,使xxxxx.com 解析到 8080端口,yyyy.com解析到8081端口 使用nginx进行反向代理的方法: 一、在nginx配置文件中,添加如下配置 server{ listen 80; server_name www.xxxxx.com xxxxx.com; location /{ try_files /_not_exists @backend; } location @backend{ proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header H...阅读全文

博文 2015-10-31 15:00:06 honsty0113

Caddy,一个用Go实现的Web Server

Caddy,一个用Go实现的Web Server 六 04 bigwhite技术志 Apache, apache2, caddy, Caddyfile, fastcgi, github, Go, Go1.5, Golang, GopherCon, handler, http, https, loadbalance, middleware, nginx, Opensource, PHP, php-fpm, reverseproxy, webserver, 反向代理, 负载均衡 1 Comment 这是一个Web Server的时代,apache2与nginx共舞,在追求极致性能的路上,没有最高,只有更高。但这又是一个追求个性化的时代,有些Web Server并没有去挤“Performance提...阅读全文

博文 2015-07-14 11:12:44 bigwhite