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

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("mysql", "root:@tcp(127.0.0.1:3306)/plugin_master?charset=utf8") if err != nil { panic(err.Error()) } def...阅读全文

博文 2015-03-06 03:00:16 benlightning

全套Go语言学习教程,适合编程零基础或者有其他编程语言基础的同学。

# 课程介绍 本学习课件是尚硅谷的韩顺平老师亲自的录制的,课件内容包括:视频课件 、课堂笔记、辅助文档、代码等。 韩老师讲课非常有特色,生动有趣,通俗易懂,我就是一路跟着这套视频学过来的。 # 获取方式 评论里留下你的邮箱,我争取在评论后的一个礼拜内把视频发到邮箱里,女士优先(如果有的话,哈哈)。 ![文件截图.png](https://static.studygolang.com/181214/bae187056b873bf8f0e1d3caaa3193ad.png) ![视频截图.png](https://static.studygolang.com/181214/27232d537149f06841a7933c36817a8f.png...阅读全文

博文 2018-12-14 10:29:06 Subhuti_hu

为什么80%的码农都做不了架构师?

一般来说技术团队的金字塔顶尖往往是技术最牛的人做架构师(或TL)。所以架构师在广大码农中的占比大概平均不到 20%。而架构师也可以分为初级、中级、高级,江湖上真正高水平的架构师就更少了。所以,80%码农干上许多年,还是做不了架构师,正在辛苦工作的程序员们,你有没有下面几种感觉?​① 我的工作就是按时完成领导交给我的任务,至于代码写的怎样,知道有改进空间,但没时间去改进,关键是领导也不给时间啊。② 我发现我的水平总是跟不上技术的进步,有太多想学的东西要学,Swoft用的人最近比较多啊,听说最近Swoole比较火,还有微服务,听说PHP又更新了……③ 我发现虽然我工作5年了,除了不停的Coding写业务代码,Ctrl+c和Ctrl+V更熟练了,但编码水平并没有提高,还是一个普通程序员,但有人已经...阅读全文

博文 2019-06-20 12:03:47 PHPsix

Golang-实现图片缩放

package main import ( "fmt" "graphics" "image" "image/png" "log" "net/http" "os" "strconv" "strings" ) func main() { http.HandleFunc("/", doImageHandler) http.ListenAndServe("127.0.0.1:6789", nil) } func doImageHandler(w http.ResponseWriter, r *http.Request) { fmt.Printf("%q\n", strings.Split(r.URL.Path, "/")) url := strings.Split(r.URL.Path, "/") ...阅读全文

博文 2015-02-28 09:32:36 nulijiabei

Golang在京东列表页实践总结

目前线上状态 基于搜索实现; 全量数据,搜索结果不理想; 接口响应时间长,影响了用户体验; 没法针对数据做二次优化; 转化率相对较低; 基于以上原因,需要做出改变,所以就需要对老进行重构,如下 重构版本 非全量数据,线下异步根据数据模型进行进行筛选部分最优数据; 要求时时过滤计算,接口相应时间要快,保证用户体验; 数据进行优化,提高转换率,提搞GMV; 为何选择golang golang语言强大的并发能力; 与C相媲美的性能,新版对cpu计算要求较高; 基于以上两点,所以选择了golang语言作为服务端计算使用的语言。 重构后的架构图 解释下架构图各个模块功能 Nginx+Lua: 用来渲染页面,拿到go计算服务的json数据渲染到页面端,最终呈现给终端用户; Config Center 是...阅读全文

为什么我要选择erlang+go进行服务器架构(1)

创文章,转载请注明出处:服务器非业余研究http://blog.csdn.net/erlib 作者Sunface 估计很多同学看到这里都会觉得迷惑,go的大名已经如雷贯耳了,但是erlang?这个东东是神马?难道是编程语言?怎么从来没听说过。 这里请允许我先介绍一下使用Erlang开发的比较有名的应用: 一:whatsapp 只凭32个技术人员,如何应付4.5亿的用户?对于刚刚被Facebook用190亿美元收购的WhatsApp来说,答案是Erlang——一种诞生于上世纪80年代的编程语言,终于在此时走到了聚光灯下。 这个应用把erlang的特性发挥到了极致,利用到了它最好的vm、 集群基础设施、数据库mnesia, 消除了非常多的数据Scale、内存池和锁的问题, 提到的技术和修正点非常...阅读全文

博文 2014-10-07 00:34:52 sunface

为什么我要选择erlang+go进行服务器架构(2)

创文章,转载请注明出处:服务器非业余研究http://blog.csdn.net/erlib 作者Sunface 为什么我要选择Erlang呢? 一、erlang特别适合中小团队创业: erlang有异常成熟、经过电信级别大规模验证的OTP应用库,只需要很简单的代码就能建立起异常稳定、容错性强、扩展性强、高并发的服务器框架,这也是erlang最宝贵的核心价值所在。 二、erlang是天生的并发语言: erlang的并发特性是语言级别的,从开发伊始就采用了CSP并发模式, 以进程为单位,进程间没有共享内存,变量不可变的实现方式保证了无锁的并发模型,因此也是异常高效的,换句话说:你只要像平常一样写代码就能并发,完全不用操心任何底层实现,你的代码能完美的并行运行在多核服务器上,如果你能写出漂亮的并...阅读全文

博文 2014-10-07 00:00:00 sunface

Golang 绘图技术(image/draw包介绍)

image/draw 包仅仅定义了一个操作:通过可选的蒙版图(mask image),把一个原始图片绘制到目标图片上,这个操作是出奇的灵活,可以优雅和高效的执行很多常见的图像处理任务。 1: // Draw calls DrawMask with a nil mask. 2: func Draw(dst Image, r image.Rectangle, src image.Image, sp image.Point, op Op) 3: func DrawMask(dst Image, r image.Rectangle, src image.Image, sp image.Point, 4: mask image.Image, mp image.Point, op Op) 第一个函数Dr...阅读全文

博文 2015-07-02 09:35:55 ghj1976

Golang Gin实践 连载十五 生成二维码、合并海报

Golang Gin实践 连载十五 生成二维码、合并海报 原文地址:Golang Gin实践 连载十五 生成二维码、合并海报项目地址:https://github.com/EDDYCJY/go... 如果对你有所帮助,欢迎点个 Star 👍 前言 在本章节,将实现如下功能细项: 1、生成二维码 2、合并海报(背景图 + 二维码) 实现 首先,你需要在 App 配置项中增加二维码及其海报的存储路径,我们约定配置项名称为 QrCodeSavePath,值为 qrcode/ 经过多节连载的你应该能够完成,若有不懂可参照 go-gin-example 生成二维码 安装 $ go get -u github.com/boombuler/barcode 工具包 考虑生成二维码这一动作贴合工具包的定义,且...阅读全文

博文 2018-07-05 08:34:46 煎鱼

[翻译]mongodb日志分析工具mtools之mplotqueries

mtools是一组非常好用的mongodb日志分析工具,里面最复杂的命令是mplotqueries,上网查了一下,还没有人翻译过。英文不好,费了好大的劲翻完,翻的不好,但没有办法,我英文水平就这么多~ 原文地址:https://github.com/rueckstiess/mtools/wiki/mplotqueries ----------------------------------------------------------------------------------------------------------------------- mplotqueries Thomas Rueckstiess edited this page on 9 Oct · 31 revis...阅读全文

博文 2014-11-27 17:00:01 吕明明

intellij idea13.1.4b配置go开发环境

首先下载intellijdea13.1.4b(建议大家使用14,因为13.1.14a版本有bug,容易下错) http://pan.baidu.com/s/1i3kns5B 再去下载go1.2 http://www.golangtc.com/download 最后下载intellijIDEA的go插件:http://plugins.jetbrains.com/plugin/5047?pr=idea 这个插件最新支持到go1.2版本。所以上面要求大家下载1.2版本的go。 安装插件过程如下:进入setting > plugins > install plugin from disk > 选择gojar插件 >完成 > 重启。 新建一个go项目,看到 new project>go 安装成功。 体...阅读全文

博文 2015-01-22 23:00:01 u010499721

Go框架、库和软件的中文收录大全 awesome-go-cn

## awesome-go-cn awesome-go-cn是一个很棒的Go框架、库和软件的中文收录大全,帮助你第一时间发现优质项目。 它在awesome-go的基础上完成了以下功能 - 为每个工程添加star,并在通过star进行降序排序。 - 为每个工程添加star/更新时间/中文文档等相关标签。 - 提供中文翻译,当然同时也保留了英文原版文档。 - 定期与原版awesome-go进行同步,保证与国际接轨^_^ **快捷访问方式** : [https://awesome-go.cn](https://awesome-go.cn) **github访问地址** : [https://github.com/yinggaozhen/awesome-go-cn](...阅读全文

开源项目 2019-08-07 14:22:30

Golang在视频直播平台的高性能实践(含PPT下载)

编者按:本文是杨武明在 2 月 27 日在 Gopher 北京聚会演讲基础上整理而成。转载请注明来自高可用架构公众号「ArchNotes」。杨武明,熊猫 TV 首席架构师,曾担任奇虎 360 PC 网游技术架构负责人,前新浪微博平台资深后端开发、技术专家。对大型互联网架构有丰富的实践经验,擅长后端基础服务与组件开发,尤其高性能、高并发、大数据业务场景。熊猫 TV 是一家视频直播平台,先介绍下我们系统运行的环境,下面这 6 大服务只是我们几十个服务中的一部分,由于并发量与重要性比较高,所以成为 golang 小试牛刀的首批高性能高并发服务。把大服务拆细, 然后服务化独立部署,更容易简化部署,也容易单点细节优化与升级。多数服务的能力是通用的,如平滑重启、多机房部署等。关于在线服务,如果 1000...阅读全文

博文 2016-10-20 20:00:01 u012798391

使用golang做http接口压力测试并输出到echarts散点图中

go-post-scatter go http post echarts scatter golang 并发测试 http post 并使用echarts输出表表统计运行时间 项目地址:https://github.com/jixieshi999/go-post-scatter 目录介绍 运行Client生成并发报表 分析基本每次连接执行时间 out 输出目录 config 配置目录 golang代码修改 修改config文件夹里面的config/output.html里面需要替换的内容 用%s代替 修改扩展 由于连接的是自己的golang服务器, 需要修改链接的服务器地址, 和修改代码里面http传输的内容修改才能实现 修改getPostUploadResData方法 修改postLogi...阅读全文

博文 2015-10-26 18:00:06 liuwenhan999

如何做Go的性能优化?

Go的性能优化其实总的来说和C/C++等这些都差不多,但也有它自己独有的排查方法和陷阱,这些都来源于它的语言特性和环境。 ------------------------- 1.性能优化前提——任何好的东西都是在正确的前提上 ------------------------- 代码界的很多事是和我们生活的哲学息息相关的,我们想要做好一件事,首先要保证我们能按时完成我们的任务,其次再去想如何把工作做的更好。如果一味只去要求做的尽善尽美可能会导致延期,失败,半途而废。 所以,先写正确的代码,再去考虑如何去让代码更快更好的运行;先完成基本的功能,再去想如何优化它。正确是优化的基础,没有这个基础,任何的优化都是毫无意义的。 ------------------- 2.性能优化限制——架构设计和硬件资...阅读全文

博文 2017-07-15 04:17:12 好奇还思猫

Go 的 MQ 框架 KiteQ

KiteQ 是一个基于 go + [protobuff](http://www.oschina.net/p/protocol+buffers) 实现的多种持久化方案的 mq 框架(消息队列)。 特性:

* 基于zk维护发送方、订阅方、broker订阅发送关系、支持水平、垂直方面的扩展
* 基于与topic以及第二级messageType订阅消息
* 基于mysql、文件存储方式多重持久层消息存储
* 保证可靠异步投递
* 支持两阶段提交分布式事务
工程结构:
kiteq/
├── README.md
├── binding           订阅关系管理处理跟ZK的交互
├── build.sh          安装脚本
├── client   ...阅读全文

开源项目 2015-05-24 16:00:00 blackbeans

阿里P8架构师谈:高并发架构解决方案总结

一、关于高并发高并发是指在同一个时间点,有很多用户同时访问URL地址,比如:淘宝的双11、双12,就会产生高并发。又如贴吧的爆吧,就是恶意的高并发请求,也就是DDOS攻击。1 高并发会来带的后果服务端:导致站点服务器/DB服务器资源被占满崩溃,数据的存储和更新结果和理想的设计是不一样的,比如:出现重复的数据记录,多次添加了用户积分等。用户角度:网站打不开服务器雪崩:2 并发下的数据处理通过表设计,如:记录表添加唯一约束,数据处理逻辑使用事物防止并发下的数据错乱问题。通过服务端锁进程防止包并发下的数据错乱问题。这里主要讲述的是在并发请求下的数据逻辑处理的接口,如何保证数据的一致性和完整性,这里的并发可能是大量用户发起的,也可能攻击者通过并发工具发起的并发请求。例子1:通过表设计防止并发导致数据...阅读全文

博文 2018-10-14 16:01:06 Java007

一个简单的golang游戏服务器框架

这个是框架的架构图 ![架构图.jpg](http://studygolang.qiniudn.com/161126/bbd98d6b8e74230dcb518caad9caadc1.jpg) 单个APP的结构 ![单个app结构.jpg](http://studygolang.qiniudn.com/161126/f7a78528c9c94f63c0513fd5e3336b74.jpg) 报文协议层级 ![报文层级.jpg](http://studygolang.qiniudn.com/161126/2fcbc73d2e2926e09941bd18403103da.jpg) 文档的目录索引的链接:http://blog.csdn.net/easy_m...阅读全文

云存储公司(上海)招聘Go语言资深服务器端开发工程师!

职位要求: - 在架构师的协助下,实现系统功能 - 负责产品化组的服务端开发工作 - Review代码,并提出修改意见 - 为功能编写单元测试 - 工作积极主动,擅于思考问题,能够主动沟通与解决问题 - 精通和熟悉主流语言的至少一门C/C++/Java/C#/Python/PHP/Go/Ruby/Erlang等 - 熟悉Linux工作环境,熟悉至少一种数据库编程 - 熟悉HTTP协议,了解Web安全 - 外语文档阅读能力 - 熟悉Go语言优先 - 有管理经验或架构经验优先 - 参与过开源项目优先 地点是在上海地铁二号线金科路附近,公司为知名云存储公司,如果有兴趣详细沟通可以通过以下联系方式了解具体详情 - QQ 314820246 - 手机 159019...阅读全文

运维工具SmartPing

# SmartPing # SmartPing为一个各机器(点)间间互PING检测工具,支持互PING,单向PING,绘制拓扑及报警功能。 ## 功能 ## - 单向PING,反向Ping绘图 - 互PING间机器的状态拓扑 - 自定义延迟、丢包阈值报警 ## 设计思路 ## 本系统设计为无中心化原则,所有的数据均存储自身点中,默认每个Ping目标点的数据循环保留1个月时间,由自身点的数据绘制 **出PING包** 的状态,由各其他点的数据绘制 **进PING包** 的状态,从任意一点查询数据均会通过Ajax请求关联点的API接口获取其他点数据组装全部数据,绘制 出Ping曲线图,进Ping曲线图,网络互Ping拓扑图。并可以设置阈值进行报警,方便对网络质量...阅读全文

小米监控系统 OpenFalcon

OpenFalcon是一款小米监控系统。 功能: * **数据采集免配置**:agent自发现、支持Plugin、主动推送模式 * **容量水平扩展**:生产环境每秒50万次数据收集、告警、存储、绘图,可持续水平扩展。 * **告警策略自发现**:Web界面、支持策略模板、模板继承和覆盖、多种告警方式、支持回调动作。 * **告警设置人性化**:支持最大告警次数、告警级别设置、告警恢复通知、告警暂停、不同时段不同阈值、支持维护周期,支持告警合并。 * **历史数据高效查询**:秒级返回上百个指标一年的历史数据。 * **Dashboard人性化**:多维度的数据展示,用户自定义Dashboard等功能。 * **架构设计高可用**:整个系统无核心单点,易运维,易部署。 ...阅读全文

Mac 必备神器之 Go2Shell 以及使用技巧

Go2Shell 一个可以快速在当前目录打开Shell的工具,小巧,非常好用! 但是它默认打开是 系统的iterm ,而我希望它打开 iTerm2 !~ 设置默认iterm 而Go2Shell默认没有设置界面,需要用命令行打开(隐藏得真深啊!)在Shell中输入: open -a Go2Shell --args config 会打开设置界面 设置界面 选择iTerm2 ,保存并退出即可!~ 配合其他利器使用 Go2Shell还可以配合其他软件进一步提升效率,让你爽翻!~ 配合Alfred 使用Alfred快捷打开,我这里输入2就可以快速打开 效果图 配合Finder 打开Finder,按住command键,拖动Go2Shell的图标到Finder菜单就可以在Finder快捷打开Go2Shel...阅读全文

【招聘】滴滴(北京)基础架构部直招Gopher

参与公司架构部中间件项目服务端开发与设计,项目刚刚起步有很大的发挥空间及机会。项目主Golang语言,基础架构要求技术深度,而非广度。 诚招: 1)大学本科以上,3年以上工作经验,1年以上全职Golang开发经验。 2)具有大型分布式中间件服务开发经验的同学,参与过某大型开源项目者优先。 3)熟悉任何一款大型项目源码,如Nginx/RocketMQ/Kafka/Codis/Consul/Zookeeper等。 4)熟悉并参与开发过IOT服务端相关项目优先,如NB-IOT/MQTT/CoAP。 5)熟悉Socket编程,熟悉Linux下排查问题。 最重要的一点是做事踏实有耐心,能实地塌下心去深入研究。 有意者发简历到:liudingjoe...阅读全文

kingtask:一个由Go开发的轻量级异步定时任务系统

# 1. kingtask简介 kingtask(https://github.com/flike/kingtask )是一个由Go开发的异步任务系统。主要特性包含以下几个部分: 1. 支持定时的异步任务。 2. 支持失败重试机制,重试时刻和次数可自定义。 3. 任务执行结果可查询。 4. 一个异步任务由一个可执行文件组成,开发语言不限。 5. 任务是无状态的,执行异步任务之前,不需要向kingtask注册任务。 6. broker和worker通过redis解耦。 7. 通过配置redis为master-slave架构,可实现kingtask的高可用,因为worker是无状态的,redis的master宕机后,可以修改worker配置将其连接到slave上。 # ...阅读全文

Go招聘 成都大海怪科技有限公司

领域 移动互联网,游戏 规模 15-50人 主页http://www.bigkraken.com 6k-10k 成都 经验1-3年 本科及以上 全职 职位诱惑 : 福利待遇 技能培训 专项奖金 人性化管理 发布时间:2015-08-26 职位描述 职位描述: 1.负责游戏的服务器后端开发; 2.进行业务系统的需求分析、架构设计及相关开发; 3.对上线产品进行跟踪维护; 职位要求: 1.本科及以上计算机相关专业毕业; 2.熟悉c,c++或者Golang编程语言,具有Golang服务器开发经验者优先; 4.熟悉Linux,对操作系统原理有良好认识,熟练掌握各种命令与操作; 5.熟悉Mongo、MySql、Git,熟悉TCP...阅读全文

golang实现给图片加水印

最近跟在写golang图片加水印的方法,这里用的是一些基本的功能。 package main import ( "fmt" "image" "image/draw" "image/jpeg" "image/png" "os" ) func main() { //图片,网上随便找了一张 img_file, err := os.Open("bg.jpg") if err != nil { fmt.Println("打开图片出错") fmt.Println(err) os.Exit(-1) } defer img_file.Close() img, err := jpeg.Decode(img_file) if err != nil { fmt.Println("把图片解码为结构体时出错") fm...阅读全文

博文 2017-12-25 06:33:06 迷路的阿修罗

上海Golang-U3D 工程狮,快到碗里来

unity3d研发工程师 工作职责: 1、负责unity3d游戏项目的客户端逻辑、UI、工具、图形特效的程序开发。 职位要求: 1、2年以上游戏行业工作经验,全日制本科学历及以上; 2、熟悉Unity3D游戏引擎架构设计,有相关项目开发经验; 3、至少一款上线产品,有成功项目经验优佳。 c++服务器研发工程师 工作职责: 1、参与手游服务器端需求设计,规划和实现; 2、服务器端与数据库、iOS、Android端的交互逻辑设计。 任职要求: 1、熟练使用C++编程语言,能独立负责服务器端的开发、管理等事务; 2、熟练掌握MYSQL数据库的开发、配置、维护、性能优化;熟练数据库存取、服务器端负载优化。 3、必须...阅读全文

Docker源码分析(一):Docker架构

【编者按】在《深入浅出Docker》系列文章的基础上,InfoQ推出了《Docker源码分析》系列文章。《深入浅出Docker》系列文章更多的是从使用角度出发,帮助读者了解Docker的来龙去脉,而《Docker源码分析》系列文章通过分析解读Docker源码,来让读者了解Docker的内部实现,以更好的使用Docker。总之,我们的目标是促进Docker在国内的发展以及传播。另外,欢迎加入InfoQ Docker技术交流群,QQ群号:272489193。 1 背景 1.1 Docker简介 Docker是Docker公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于Go语言开发,并遵从Apache 2.0协议。目前,Docker可以在容器内部快速自动化部署应用,并可以通过内核虚拟...阅读全文

博文 2015-03-29 19:56:16 孙宏亮

Windows 托盘图标例子 walk 和 炫彩界面库混写

walk地址:https://github.com/lxn/walk 炫彩官网:http://www.xcgui.com 炫彩界面库:https://github.com/CodyGuo/xcgui 效果图: 由于上传图片错误,没办法展示。 可访问 http://www.golangtc.com/t/566b8de8b09ecc6de0000064 查看效果图。