-
shipyard研发系列(1)-shipyard安装指南
所属栏目:[大数据] 日期:2020-12-16 热度:200
Docker之shipyard安装指南 一、前言:最近在研究shipyard的docker容器管理平台,在研究过程发现自己对docker基础理解还存在一定的欠缺,为了更好的理解docker,将我对shipyard项目的理解共享给docker爱好者,也系统的形成一份研发日志。dockerclub的shipyard[详细]
-
shipyard中文版发布
所属栏目:[大数据] 日期:2020-12-16 热度:113
shipyard中文版正式发布 一、 Docker Shipyard是什么 ?shipyard是一个开源的docker管理平台,其特性主要包括: 支持节点动态集群,可扩展节点的规模(swarm、etcd方案) 支持镜像管理、容器管理、节点管理等功能 可视化的容器管理和监控管理 在线容器consol[详细]
-
golang ubuntu 安装笔记
所属栏目:[大数据] 日期:2020-12-16 热度:93
1. 从http://www.golangtc.com/download下载适合平台的go安装包,我这里选择的是go1.5.1.linux-amd64.tar.gz 2.把安装包拷贝到/usr/local/目录下 sudo cp go1.5.1.linux-amd64.tar.gz /usr/local 3.进入/usr/local/目录下,解压文件go1.5.1.linux-amd64.tar.[详细]
-
golang postgresql数据库驱动
所属栏目:[大数据] 日期:2020-12-16 热度:140
今天周末,即使立冬已过,阳光依然独好,闲着没事做,coding。 一直用bm。。。/pq的SQL驱动,忘记叫啥了,一直没问题,今天看到地址转到了lib/pq,重新获取了驱动,继续使用,有如下一段代码, func DB() (db *sql.DB) { db, err := sql.Open( "postgres" ,[详细]
-
使用Golang+Mongodb打造你的第一个站点
所属栏目:[大数据] 日期:2020-12-16 热度:97
很多人推荐MEAN来开发站点。MEAN就是M:mongodb,E:expressjs、A:angular最后的N:nodejs。 但是如果你亲身的体会到了js的嵌套回调的话你就会想换换别的办法了。虽然说可以用promise等框架 破解深深的嵌套,但毕竟不是语言本身支持的。 为什么说用Golang呢[详细]
-
Leanote 服务器安装
所属栏目:[大数据] 日期:2020-12-16 热度:154
我之前用过很多笔记产品,比如evernote,有道,为知,oneNote. 一直想寻找一个简单好用,能集成博客功能的笔记. 一直找了好久,终于有一天,找到了Leanote,Leanote简单好用,有笔记,博客,分享功能. 功能简单好用恰到好处. 竟然还开源,看到时,眼前一亮,这么多的产品,[详细]
-
golang Http Request
所属栏目:[大数据] 日期:2020-12-16 热度:195
一起看一下golang的HTTP包怎么write Request信息 先看一下看golang http Request的struct,不解释,慢慢看(HTTP权威指南,RFC文档) typeRequeststruct{//MethodspecifiestheHTTPmethod(GET,POST,PUT,etc.).//ForclientrequestsanemptystringmeansGET.Metho[详细]
-
Golang 闭包
所属栏目:[大数据] 日期:2020-12-16 热度:83
很多编程语言都闭包的概念,最常见闭包使用的应该是 javascript 了。其实闭包不是什么新奇的概念,就是函数与函数特定环境的组合,闭包使用了本函数之外定义的变量。Golang 中也有所谓的闭包,本文对Golang中的闭包的概念中的关键点通过实际示例进行个简单的[详细]
-
GoLang Channel与mutex的选择,性能差不多
所属栏目:[大数据] 日期:2020-12-16 热度:136
go官方应该是更推荐使用chan https://github.com/golang/go/wiki/MutexOrChannel 以下代码用于测试性能 — 不确保思路是正确的。 package main import ( "fmt" "sync" "time" ) type Op struct { key int val int } var lock sync.Mutex var m1 map [ int ][详细]
-
Golang 学习摘录
所属栏目:[大数据] 日期:2020-12-16 热度:100
Golang 学习摘录 学过C,python,或者Java之类语言再来学习golang应该是无压力,看看语法就能写。语法上比较特殊的如下: 声明变量并赋值使用 := a,b := 1,2 //声明变量a,b,并且赋值1,2 a = 2 //a赋值2 if 不需要圆括号,并且可以执行表达式.for语句类似 if[详细]
-
sync 库使用小结
所属栏目:[大数据] 日期:2020-12-16 热度:61
sync 主要用于 golang 中共享资源访问的同步控制。虽然 golang 更推荐 chan 这种通过通信来共享资源的方式,但有时候直接使用 sync 的效果更好,它是 chan 方式的很好的补充。本文对 sync 的使用进行一些简单介绍。 互斥锁 func TestMutex() { var mutex syn[详细]
-
unsafe 库使用小结
所属栏目:[大数据] 日期:2020-12-16 热度:74
unsafe 库让 golang 可以像 C 语言一样操作计算机内存,但这并不是 golang 推荐使用的,能不用尽量不用,就像它的名字所表达的一样,它绕过了golang的内存安全原则,是不安全的,容易使你的程序出现莫名其妙的问题,不利于程序的扩展与维护。 unsafe 包的内[详细]
-
分享一个小东西,自动到指定的地方下载动态版本的命令,然后根据配
所属栏目:[大数据] 日期:2020-12-16 热度:73
写此小程序的原因是,研究小米的open-falcon的时候用他们的插件管理感觉不适合我们公司,就自动动手写了个基于服务端的版本控制的,命令下载时基于http的所以也比较方便. 代码写的比较紧急有点乱,先这样吧,回头用起来再调优一下. 先发下执行的结果: 开始解析cfg[详细]
-
golang jsonrpc
所属栏目:[大数据] 日期:2020-12-16 热度:197
package mainimport ( "github.com/streadway/amqp" "log" "net" "net/rpc" "net/rpc/jsonrpc" "os" "time")type MPMsg struct {}func (mpMsg *MPMsg) Handle(args *map[string]interface{},reply *map[string]interface{}) error { *reply = map[string]int[详细]
-
GO语言零基础入门资料整理
所属栏目:[大数据] 日期:2020-12-16 热度:175
GO语言跟它名字一样是门比较装逼的语言,鲜有菜鸟初学者教程,所以没有语言基础的话,理解起来会有点困难。闲来没事整理了一个GO零基础入门资料。 安装与简介 因为国内老被墙,被墙之后请在网上直接下载,下载链接 开发环境编辑器 1.Sublime,支持多标签,自[详细]
-
GOLANG比较方便的地方
所属栏目:[大数据] 日期:2020-12-16 热度:120
GOLANG比较方便的地方 GO在自定义类型,数组,变量覆盖,函数变量,bufio等方面比较方便。 IsXXX GO中很方便在基本类型上定义新的类型,这个虽然是个小东西,但是有时候非常好用。 经常需要定义这样的函数,譬如RTMP的消息 IsAudio , IsVideo 等等。如果是C[详细]
-
学习golang并做一个简单分布式存储项目
所属栏目:[大数据] 日期:2020-12-16 热度:50
博客分类: 从14年中开始陆续一年,断断续续学习了下Golang,看了Go语言编程,Go语言程序设计2本书。 始终觉得应该做点项目锻炼下,因为正好看《从paxos到zookeeper》,就尝试写一些网络应用,分布式存储这块是比较热门的,自己就比葫芦画瓢做了一个项目whis[详细]
-
golang设置CPU核数
所属栏目:[大数据] 日期:2020-12-16 热度:73
众所周知,golang低版本需要自己手动设置CPU核数,才能保证并发的执行 packagemainimport("errors""fmt""runtime""strconv""strings""testing")funcmain(){t:=testing.T{}TestSetCPU(t)}funcTestSetCPU(t*testing.T){currentCPU:=runtime.GOMAXPROCS(-1)maxC[详细]
-
golang windows 交叉编译 Linux
所属栏目:[大数据] 日期:2020-12-16 热度:162
下载golang windows绿色版; cd go/src; GOOS=linux GOARCH=amd64 ./make.bat; 等待编译完成即可; 使用 Liteide 工具的环境下拉框选择,cross-linux64,然后 ctrl+F8 即可编译出linux版本的应用;[详细]
-
golang按行写文件
所属栏目:[大数据] 日期:2020-12-16 热度:72
将map[string]string写入文件 func WriteMaptoFile(m map[string]string,filePath string) error { f,err := os.Create(filePath) if err != nil { fmt.Printf("create map file error: %vn",err) return err } defer f.Close() w := bufio.NewWriter(f) fo[详细]
-
golang判断文件或文件夹是否存在
所属栏目:[大数据] 日期:2020-12-16 热度:162
golang判断文件或文件夹是否存在的方法为使用os.Stat()函数返回的错误值进行判断: 如果返回的错误为nil,说明文件或文件夹存在 如果返回的错误类型使用os.IsNotExist()判断为true,说明文件或文件夹不存在 如果返回的错误为其它类型,则不确定是否在存在 func P[详细]
-
golang环境
所属栏目:[大数据] 日期:2020-12-16 热度:64
1、下载go安装包 http://www.golangtc.com/download 2、安装golang 3、配置环境变量 (1).新建变量名:GOBIN变量值:c:gobin (2).新建变量名:GOARCH变量值:386(amd64) (3).新建变量名:GOOS变量值:windows (4).新建变量名:GOROOT变量值:c:go (5).编[详细]
-
beego 用golang 做http开发的框架
所属栏目:[大数据] 日期:2020-12-16 热度:183
官网 http://beego.me 直接在router.go 中写 beego.Any("/foo",func(ctx *context.Context) { ctx.WriteString("hello world") }) 发现会报错 routers/router.go:12: undefined: context in context.Context 解决办法 import( "github.com/astaxie/beego/con[详细]
-
如何实现支持数亿用户的长连消息系统 | Golang高并发案例
所属栏目:[大数据] 日期:2020-12-16 热度:130
360消息系统介绍 360消息系统更确切的说是长连接push系统,目前服务于360内部多个产品,开发平台数千款app,也支持部分聊天业务场景,单通道多app复用,支持上行数据,提供接入方不同粒度的上行数据和用户状态回调服务。 目前整个系统按不同业务分成9个功能[详细]
-
为golang程序使用pprof远程查看httpserver运行堆栈,cpu耗时等信
所属栏目:[大数据] 日期:2020-12-16 热度:69
pprof是个神马玩意儿? pprof - manual page for pprof (part of gperftools) 是gperftools工具的一部分 gperftools又是啥? These tools are for use by developers so that they can create more robust applications. Especially of use to those develop[详细]
