读生产环境下go语言最佳实践有感

最近看了一篇关于go产品开发最佳实践的文章,go-in-procution。作者总结了他们在用go开发过程中的很多实际经验,我们很多其实也用到了,鉴于此,这里就简单的写写读后感,后续我也争取能将这篇文章翻译出来。后面我用soundcloud来指代原作者。开发环境在soundcloud,每个人使用一个独立的GOPATH,并且在GOPATH直接按照go规定的代码路径方式clone代码。$ mkdir -p $GOPATH/src/github.com/soundcloud $ cd $GOPATH/...阅读全文

2014-05-12 11:01 siddontang
阅读:4445 评论:0

go语言chan 和 routine活用

这里,我们以游戏中的一个情况为例。比如魔兽世界里的40人团队副本BOSS战,很多玩家同时攻击BOSS,BOSS的血量会进行频繁修改,我们要记录对BOSS的致命一击。常规 对BOSS血量的操作经行加锁,然后修改,每次攻击甚至还会判断怪物是否处于死亡状态以判断客户端是否能施放某个技能,但这样会让一个锁控制40个玩家的攻击操作,会导致攻击,技能等释放的不流畅。所以魔兽世界应该不是采用这种加锁的方式。为什么我这样说,因为做为了一个wower,我们经常会发现,实际BOSS,怪物已经死了,但我的寒冰剑还在半...阅读全文

2013-12-23 14:25 eclipser1987
阅读:5780 评论:1

[go]ipv6 ping测试

其实很简单.就是对照go源码的ipraw_test.go和之前的ping.go 改造一个ping6.go.变化很小 // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // taken from http://golang.org...阅读全文

2013-12-09 17:23 laputa73
阅读:8277 评论:0

使用go reflect实现一套简易的rpc框架

go jsonrpc 在实际项目中,我们经常会碰到服务之间交互的情况,如何方便的与远端服务进行交互,就是一个需要我们考虑的问题。 通常,我们可以采用restful的编程方式,各个服务提供相应的web接口,相互之间通过http方式进行调用。或者采用rpc方式,约定json格式进行数据交互。 在我们的项目中,服务端对用户客户端提供的是restful的接口方式,而在服务器内部,我们则采用rpc方式进行服务之间的交互。 go语言本来就提供了jsonrpc的支持,所以自然开始我们就直接使用json...阅读全文

2014-02-21 09:45 siddontang
阅读:6178 评论:1

golang websocket 聊天室demo

近期偶然的机会看到一些go的websocket技术方案,顺便写了个demo,玩了一下: 首先安装websocket包 go get code.google.com/p/go.net/websocket   websocket 聊天室代码: package main      import (     "fmt"     "io"     "bufio"     "net/http"     "code.google.com/p/go.net/websocket"     "container/l...阅读全文

2013-06-04 10:24 bozhang
阅读:4461 评论:0

golang底层实现资料

内存,内存中的变量和指针 http://golangtutorials.blogspot.jp/2011/06/memory-variables-in-memory-and-pointers.html   How does reflection work internally? https://groups.google.com/forum/?fromgroups#!topic/golang-nuts/NYs7L5UvSHo 很好的一篇讲runtime的文章(必看) http://p...阅读全文

2014-10-04 19:25:58 yjf512
阅读:9932 评论:1

[Go语言]cgo用法演示

经历了数十年发展的C语言,各种各样的现成的库已经非常丰富。通过cgo,可以在Go语言中使用C语言代码,充分利用好现有的“轮子”。 本文所有代码,在下述环境中调试通过: Windows 8.1 64-bitGo 1.3.3 64-bitGCC 4.8.1 64-bit 要想使用cgo,要导入C“包”: import "C"这行代码的上方要紧挨着连续的若干行的注释,在这些注释中编写C代码。例如: /* int PlusOne(int n) { return n + 1; } */ import "C...阅读全文

2014-10-11 15:09 jthmath
阅读:12361 评论:2

golang test测试使用

1.创建测试文件夹mysql,文件夹下的go文件的package必须与文件夹名一致(不然会识别不到) 2.创建需要测试的文件mysql.go(使用github.com/go-sql-driver/mysql包) package mysql import ( "database/sql" _ "github.com/go-sql-driver/mysql" ) func findByPk(pk int) int { var num int = 0 db, err := sql.Open("mysq...阅读全文

2015-03-05 14:23 benlightning
阅读:63215 评论:0

收集的前端面试题

收集的一些前端面试题 从面试题发现不足,进而查漏补缺,比通过面试更难得 1 BAT及各大互联网公司2014前端笔试面试题--Html,Css篇 2 BAT及各大互联网公司2014前端笔试面试题--JavaScript篇 3 javascript面试题 4 javascript puzzlers 5 9个JQuery和5个JavaScript经典面试题 6 前端开发面试题 7 如何面试前端工程师:GitHub 很重要 8 44 个 JavaScript 变态题解析 9 如何通过饿了么 Node.j...阅读全文

2017-09-06 17:34:53 三井寿
阅读:5910 评论:0

GO语言面试系列:(七)如果你是一个Golang面试官,你会问哪些问题?

这篇文章翻译自一位外国友人的关于面试后端程序员的文章,我比较喜爱这篇文章。一是因为它极大的拓宽了我的视角,另一方面是其中的一些问题非常具有启发性。不仅对于面试者,对于面试官来说也是个不错的参考。于是迫不及待的翻译了一下,给各位看官做个参考。 原文参见 @arialdomartini的: Back-End Developer Interview Questions 以下是原文翻译。 通用问题 开放式问题 设计模式相关问题 代码设计相关问题 语言相关问题 Web相关问题 数据库相关问题 非关系型数据...阅读全文

2018.11.06 16:08 Chole121
阅读:1832 评论:0

Go 实现安全 cookie

我第一次学习 Go 的时候,已经有了一定的 Web 开发经验,但是直接使用 cookie 的经验还比较少。我之前是用 Rails 的,在 Rails 里面如果要读/写 cookie,并不需要自己去实现所有的安全措施。 如你所见,Rails 偏向于通过默认配置就将大部分事情搞定。你不必去设置 CSRF 反制措施,或者做任何特殊操作来加密 cookie。在较新版本的 Rails 中这一切都默认帮你做好了。 用 Go 开发就完全不同了,这些事情并没有默认帮你做好。所以当你想使用 cooki...阅读全文

2018-11-21 09:44:27 polaris
阅读:5009 评论:0

golang面试题整理

golang面试题整理 1、go的调度 2、go struct能不能比较 因为是强类型语言,所以不同类型的结构不能作比较,但是同一类型的实例值是可以比较的,实例不可以比较,因为是指针类型 3、go defer(for defer),先进后出,后进先出 func b() { for i := 0; i < 4; i++ { defer fmt.Print(i) } } 4、select可以用于什么,常用语gorotine的完美退出 golang 的 select 就是监听 IO 操作,当 IO 操...阅读全文

2019.01.18 23:06 yongfutian
阅读:56260 评论:5