导航

随笔分类 -  Go语言

摘要:Heka 使用的是 TOML 格式的配置文件, 有关 golang 加载 TOML 配置文件的技术请参看: http://www.cnblogs.com/ghj1976/p/4082323.html Heka用的 读取 TOML 文件的Go库是: https://github.com/bbangert/toml 虽然跟上面文章的不是一个,但是基本差不多。 我们在hekad主进程的配置... 阅读全文

posted @ 2014-11-09 13:49 蝈蝈俊 阅读(1678) 评论(0) 推荐(0) 编辑

摘要:CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件。 CMakeLists.txt 的语法比较简单,由命令、注释和空格组成, 其中命令是不区分大小写的, 符号"#"后面的内容被认为是注释。命令由命令名称、小括号和参数组成,参数之间使用空格进行间隔。 常见的命令如下: SET指令 用来显式的定义变量... 阅读全文

posted @ 2014-11-08 09:07 蝈蝈俊 阅读(705) 评论(0) 推荐(0) 编辑

摘要:TOML 的全称是 Tom's Obvious, Minimal Language,因为它的作者是 GitHub 联合创始人 Tom Preston-Werner。 TOML 的目标是成为一个极简的配置文件格式。TOML 被设计成可以无歧义地被映射为哈希表,从而被多种语言解析。 TOML 的Spec https://github.com/toml-lang/toml 中文版: http... 阅读全文

posted @ 2014-11-07 21:07 蝈蝈俊 阅读(11526) 评论(0) 推荐(0) 编辑

摘要:技术人员学习都是从简单例子开始的, Heka的应用也是从简单开始的。 需求: 监控一个日志文件的内容, 在标准输出显示出来。 操作步骤: 使用下载好或者编译好的 heka 已经编译好的 release 版本可以在下面地址下载: https://github.com/mozilla-services/heka/releases 注意: 需要把编译后产生的 lib 文件(... 阅读全文

posted @ 2014-11-03 11:17 蝈蝈俊 阅读(5468) 评论(0) 推荐(0) 编辑

摘要:Heka是Mozilla开源的,基于Go语言实现的,插件式log收集和分析系统。 已经编译好的 release 版本可以在下面地址下载: https://github.com/mozilla-services/heka/releases 如果我们想自行编译,以windows下为例,如下: 下载源码: C:\>go get github.com/mozilla-service... 阅读全文

posted @ 2014-10-26 12:16 蝈蝈俊 阅读(714) 评论(0) 推荐(0) 编辑

摘要:文档来源: https://code.google.com/p/go-wiki/wiki/GoGetTools 被墙了,所以转在这个备用。 Installing Version Control Tools for go get The go get fetching of source code is done by using one of the following tools exp... 阅读全文

posted @ 2014-10-25 10:22 蝈蝈俊 阅读(379) 评论(0) 推荐(0) 编辑

摘要:Bazaar是一个分布式的版本控制系统,它发布在GPL许可协议之下,并可用于Windows、GNU/Linux、UNIX以及Mac OS系统。Bazaar由Canonical公司赞助,目前已服务于Samba、Drupal等知名的开源项目。 不像Subversion和CVS只支持中心存储库模式,Bazaar还支持分布式版本控制,让人们能够有效地协作。尤其是,Bazaar的设计意图就是让社区能在开源项... 阅读全文

posted @ 2014-06-29 17:50 蝈蝈俊 阅读(1043) 评论(0) 推荐(0) 编辑

摘要:nohup命令 在 linux 下面部署,我们可以利用 nohup 命令,把应用部署在后端,如下所示: nohup ./yourapp & 这样你的应用就跑在了 Linux 系统的守护进程 nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( ... 阅读全文

posted @ 2014-06-19 20:57 蝈蝈俊 阅读(1094) 评论(0) 推荐(0) 编辑

摘要:在做更新时,收到下面提示: go get github.com/astaxie/beego go install runtime/cgo: open /usr/local/go/pkg/darwin_amd64/runtime/cgo.a: permission denied 看目录下,也没有cgo.a 文件。 所以是找不到这个文件报的错误,而不是没有权限的问题。通过sud... 阅读全文

posted @ 2014-06-18 06:42 蝈蝈俊 阅读(2621) 评论(0) 推荐(0) 编辑

摘要:典型的两个现实案例: 我们先看两个用Go做消息推送的案例实际处理能力。 360消息推送的数据: 16台机器,标配:24个硬件线程,64GB内存 Linux Kernel 2.6.32 x86_64 单机80万并发连接,load 0.2~0.4,CPU 总使用率 7%~10%,内存占用20GB (res) 目前接入的产品约1280万在线用户 2分钟一次GC,停顿2秒 (1... 阅读全文

posted @ 2014-05-31 09:04 蝈蝈俊 阅读(2930) 评论(0) 推荐(0) 编辑

摘要:简单来说:协程十分轻量,可以在一个进程中执行有数以十万计的协程,依旧保持高性能。 进程、线程、协程的关系和区别: 进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。 线程拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程亦由操作系统调度(标准线程是的)。 协程和线程一样共享堆,不共享栈,协程由程序员在协程的代码里显示调度。 堆和栈的区别请参看:h... 阅读全文

posted @ 2014-04-03 11:16 蝈蝈俊 阅读(11704) 评论(1) 推荐(1) 编辑

摘要:在win下用Go语言的cgo时(比如下面场景)我们会用到的GCC编译器,Win下我们一般用MinGW。 Golang连接Oracle数据库;win下 golang 跨平台编译 MinGW全称Minimalist GNU For Windows,是个精简的Windows平台C/C++、ADA及Fortran编译器,相比Cygwin而言,体积要小很多,使用较为方便。MinGW提供了一套完整的开源编... 阅读全文

posted @ 2014-02-08 11:35 蝈蝈俊 阅读(31027) 评论(0) 推荐(1) 编辑

摘要:runtime/pprof 我们要加入对pprof包里的方法调用,程序才能将运行时候程序的堆内存分配状态记录到文件(也可以是写到其他地方,例如网络等)中,以便进一步的分析. 如果你的go程序只是一个应用程序,比如计算fabonacci数列,那么你就不能使用net/http/pprof包了,你就需要使用到runtime/pprof。具体做法就是用到pprof.StartCPUProfile和pp... 阅读全文

posted @ 2014-01-26 11:33 蝈蝈俊 阅读(1324) 评论(0) 推荐(0) 编辑

摘要:地址:https://github.com/wendal/go-oci8 它是 https://github.com/mattn/go-oci8 的分支. win下安装步骤参考:http://www.cnblogs.com/ghj1976/p/3437250.html 下面的安装步骤主要参考了:https://github.com/Centny/Centny/blob/master/Artic... 阅读全文

posted @ 2014-01-09 17:26 蝈蝈俊 阅读(3220) 评论(0) 推荐(0) 编辑

摘要:go语言有一个标准库,log,提供了最基本的日志功能,但是没有什么高级的功能,如果需要高级的特性,就需要使用第三方包,下面是一些候选的包: go_tmlog https://code.google.com/p/heiyeluren/wiki/go_tmlog log4go https://code.google.com/p/log4go/ 相关文章: go语言中... 阅读全文

posted @ 2013-11-27 16:29 蝈蝈俊 阅读(4741) 评论(0) 推荐(0) 编辑

摘要:FreeType库(http://www.freetype.org/)是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。支持单色位图、反走样位图的渲染。 freetype-go就是用go语言实现了Fre... 阅读全文

posted @ 2013-11-27 14:12 蝈蝈俊 阅读(8514) 评论(1) 推荐(1) 编辑

摘要:Golang 的图片出来通过提供操作每一个像素点设置颜色(http://www.cnblogs.com/ghj1976/p/3441536.html) 和 提供通过可选蒙版图片重叠操作 (http://www.cnblogs.com/ghj1976/p/3443638.html) 这两种基础方式,这样任何想要的效果都可以自己实现, 但是旋转、缩放等相关的图像算法也是比较麻烦的,这时候我们就需要借助... 阅读全文

posted @ 2013-11-27 13:45 蝈蝈俊 阅读(11631) 评论(0) 推荐(0) 编辑

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

posted @ 2013-11-26 16:47 蝈蝈俊 阅读(17473) 评论(2) 推荐(0) 编辑

摘要:前一节讲的是 绘图到不同输出源,请看地址: http://www.cnblogs.com/ghj1976/p/3440856.html 上一节的例子效果是通过设置每一个点的的RGBA属性来实现的,这是最基础的方式,通过这种方式我们可以绘制任意形状的图形。 1、设置点的颜色一个简单例子: 效果如下: 代码如下,跟最初我们的代码唯一不同的是设置点颜色时,多了一个条件判断语句:if x%8... 阅读全文

posted @ 2013-11-25 15:02 蝈蝈俊 阅读(14739) 评论(0) 推荐(0) 编辑

摘要:先看一个简单代码, 它执行后会产生下面的300*500的png图片文件: 代码: 1: package main 2: 3: import ( 4: "fmt" 5: "image" 6: "image/color" 7: "image/png" ... 阅读全文

posted @ 2013-11-25 08:38 蝈蝈俊 阅读(3623) 评论(0) 推荐(0) 编辑