随笔分类 - go
摘要:1. glide安装 glide是Go的包管理工具。支持语义化版本,支持Git、Svn等,支持Go工具链,支持vendor目录,支持从Godep、GB、GPM、Gom倒入,支持私有的Repos和Forks。 glide 的安装很简单,mac环境下直接 brew install glide 就可以的。
阅读全文
摘要:1. gRPC简介 gRPC是一个高性能、开源和通用的RPC框架,面向移动和HTTP/2设计。目前提供C、Java和Go语言版本,分别是grpc、grpc-java、grpc-go。gRPC基于HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单TCP连接上的多复用请求等特性。这些特性使得其在移
阅读全文
摘要:最近手上的项目需要拉去kafka的消息进行消费,不过以前没使用过kafka,这两天安装及摸索使用了kafka,对于在一个服务里开启多个kafka的消费者来提高消费速度的问题上,目前自己已摸索清楚并测试通过,故记录下。 一. 项目场景 在分布式的情景下,有多个应用服务将消息推送到kafka的topic
阅读全文
摘要:项目中有使用seelog包进行日志处理,所以特意花点时间使用及通读seelog的wiki所有文档,先做笔记如下: 一. seelog主要功能 设置不同日志级别(trace, debug, info, warn, error, critical, off) 输出到终端(可基于日志级别设置不同颜色显示)
阅读全文
摘要:1. Docker介绍 Docker简介 Docker官网:http://www.docker.com。简单的说Docker是一个能够把开发的应用程序自动部署到容器的开源引擎。使用Docker需要先了解容器、镜像和仓库的概念。 Docker之容器 Docker的容器就是“软件界的集装箱”,它可以安装
阅读全文
摘要:1. Golang GC 发展 Golang 从第一个版本以来,GC 一直是大家诟病最多的。但是每一个版本的发布基本都伴随着 GC 的改进。下面列出一些比较重要的改动。 v1.1 STW v1.3 Mark STW, Sweep 并行 v1.5 三色标记法 v1.8 hybrid write bar
阅读全文
摘要:1. socket_server.go 1 package main 2 3 import ( 4 "net" 5 6 "facework.im/share/logging" 7 ) 8 9 func main() { 10 listen, err := net.Listen("tcp", "loc
阅读全文
摘要:golang里可以通过[os/exec]包调用linux里的命令,然而对于linux里的管道(“|”)却不能直接使用。所以写了一个管道的接口如下。func Pipline(cmds ...*exec.Cmd) ([]byte, []byte, error) { // At least on...
阅读全文
摘要:今天在模板时想执行一条很简单的语句,然后却碰壁了,左试试右试试都不行,还是通过上网搜索才找到解决方法。 我想在模板里执行或操作的逻辑,即:“if a || b { do something }”;我试过以下几种方式都不行: 1 想在模板里执行或操作逻辑:即:if a || b { do som...
阅读全文
摘要:学习资料:1. pusher官网:https://pusher.com/2. pusher文档:https://pusher.com/docs3. pusher-http-go源码:https://github.com/pusher/pusher-http-go4. pusher-http-go...
阅读全文
摘要:前言gopush-cluster是一套golang开发的实时消息推送集群,主要分享一下开发这套系统的想法和思路。架构主要分为三个模块来开发,comet/web/message。comet主要负责消息排队、消息推送以及和客户端的连接维护;整套系统依据是消息ID顺序原则获取消息(客户端本地获取最大的消息...
阅读全文
摘要:为了解决高并发而形成阻塞的问题,通常是通过消息队列来解决问题。 最近研究了下golang消息队列的nsq框架(http://nsq.io),也动手实现了这么个功能:通过nsq的生产者大量生产消息向nsq推送而形成消息队列,然后通过nsq的消费者从消息队列里接收消息,再利用websocket将接...
阅读全文
摘要:Redis资料汇总专题(转)1.Redis是什么?十五分钟介绍 Redis数据结构Redis系统性介绍一个很棒的Redis介绍PPT强烈推荐!非同一般的Redis介绍Redis之七种武器锋利的Redisredis 适用场景与实现2.Redis内部实现Redis源码分析系列文章深入Redis内部-Re...
阅读全文
摘要:参考资料:0. 浅谈websocket:http://www.cnblogs.com/whthomas/p/3801147.html1. golang版websocket源码:http://code.google.com/p/go.net/websocket2. golang版websocket文档...
阅读全文
摘要:无论是c语言还是golang语言或是其他语言,启动应用程序时都可以带一些参数,然后系统根据传入的参数进行特点的工作。如:./main -b /home/backupdir -d true 那么如何更好的解析这些参数呢?前两周自己做项目时是通过 range os.Args 来解析这些参数。今天看到了
阅读全文
摘要:Linux下cron可以让系统在指定的时间去执行某个指定的工作,crontab则用来管理cron机制。在服务器方面,就可以利用cron进行周期性的执行某些特定的工作,比如定期数据库备份,定期压缩服务器端的数据等等。 现在用golang做服务器的不断增多,服务器端需要周期性的备份或压缩或删除数据是常态
阅读全文
摘要:本文并非golang内置的库进行wav转mp3,而是通过golang调用Linux的lame命令进行转换。 在Linux环境下,默认情况是没有安装lame,所以首先需要安装lame(个人保存下载文件:http://www.linuxfromscratch.org/blfs/view/stable/m
阅读全文
摘要:beego框架默认支持三种数据库类型(MySQL,Sqlite,PostgreSQL)。这三种数据库的配置虽然大同小异,但也有各自的差别。如今该总结下了。 以下是基于beego框架对PostgreSQL数据库进行操作。models/models.go 1 package models 2 3...
阅读全文
摘要:今天基于beego ORM演示sqlite3数据库时,遇到了一小问题。 问题现象1:下载go-sqlite3(go get github.com/mattn/go-sqlite3)驱动时报错说 gcc 不在 PATH 目录里。 问题现象2:运行导入了go-sqlite3驱动的文件时编译报错说...
阅读全文
摘要:参考beego原文:http://beego.me/docs/mvc/model/orm.md#main.go beego ORM 是一个强大的 Go 语言 ORM 框架,orm模块主要是处理MVC中的M(models)。 首先以bee工具创建一工程名为:beegoorm,修改的文件为 be...
阅读全文
浙公网安备 33010602011771号