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

热烈庆祝数据宝平台上线一周年:月销售额超300万元首创佳绩,大数据行业首战告捷

2016年8月8日,数据宝网站上线仪式暨大数据双创平台发布会在国家级新区,贵安新区隆重举行,贵州省委常委、常务副省长秦如培发表重要讲话,宣告着数据宝平台的正式上线运营。 数据宝在这一年里创下月销售额超300万,接入15个部委央企一手权威数据、推出6个拳头应用场景产品,得到近1000多位政府领导莅临指导以及建立一支专业技能高、研发能力强的500人专业团队的骄人业绩。 2017年8月8日的今天,是数据宝平台上线一周年的日子,这匹大数据行业的最大黑马,一年间的发展历程是怎样的,又给行业递交了一份怎样的成绩单? 出身不凡:近1000多位领导干部参观指导 大境界才能有大胸怀,大格局才大有作为。“首个省部共建的大数据资产运营平台”是数据宝的slogan,也是数据宝平台的格局定位。...阅读全文

兼职Go Web工程师招募

项目背景 今天人工智能正作为新的引擎改变着我们的生活、从本质上来说人工智能是利用大数据提高人类生产力的工具。 我们团队致力于智慧城市、智慧校园、智慧医疗等项目的研发。 团队内有众多相关领域顶尖大牛,期待你的加入。 职责: 1.参与智慧校园大型项目的研发; 2.负责部分后台模块开发; 要求: 1.本科及以上学历,计算机相关专业; 2.三年以上后端开发经验; 3.拥有扎实的编程能力,掌握常见数据结构,掌握Golang语言; 4.至少在以下一个领域里有开发经验:机器学习、人工智能、运筹学、统计学、自然语言处理、图像处理、医疗信息学、机器人学 5.学术论文或专利的记录以及研究成果转化的经验者优先 6.至少熟悉一种SQL; 7.有团队协作精神。有责任感,有较好的沟通能力,主...阅读全文

Go 系列教程 —— 30. 错误处理

欢迎来到 [Golang 系列教程](https://studygolang.com/subject/2)的第 30 篇。 ## 什么是错误? 错误表示程序中出现了异常情况。比如当我们试图打开一个文件时,文件系统里却并没有这个文件。这就是异常情况,它用一个错误来表示。 在 Go 中,错误一直是很常见的。错误用内建的 `error` 类型来表示。 就像其他的内建类型(如 `int`、`float64` 等),错误值可以存储在变量里、作为函数的返回值等等。 ## 示例 现在我们开始编写一个示例,该程序试图打开一个并不存在的文件。 ```go package main import ( "fmt" "os" ) func main() { f, err := os.Open("/test.txt"...阅读全文

博文 2018-03-31 22:49:56 heyulong

Go语言的分词器(sego)

今天,主要来介绍一个Go语言的中文分词器,即sego。本分词器是由陈辉写的,他的微博在这里,github详 见此处。由于之前他在Google,所以对Go语言特别熟悉。sego的介绍如下 sego是Go语言的中文分词器,词典用前缀树实现, 分词器算法为基于词频的最短路径加动态规划。 支持普通和搜索引擎两种分词模式,支持用户词典、词性标注,可运行JSON RPC服务。 分词速度单线程2.7MB/s,goroutines并发13MB/s, 处理器Core i7-3615QM 2.30GHz 8核。 接下来,以如下几个方面来介绍sego 1. sego的安装 2. sego的原理 3. sego的使用 1. sego的安装 首先,在Go语言中,有很多第三方包,可以帮助我们实现某些特定的功能。比如这里...阅读全文

博文 2015-03-26 23:00:08 ACdreamers

如何用Go打造亿级实时分布式出行平台|文末福利

前言Grab是东南亚最大的出行平台,业务覆盖东南亚7个国家39个城市,APP下载量高达3600000次。随着业务量的持续增长,为了解决系统性能瓶颈,打造一套高可用的系统架构,Grab 从最开始的 rails、nodejs 到完全转向 Go。除了全部的后台服务,每天支撑亿万级数据处理的流式数据系统也是基于 Go 打造的。本文来自 Grab 高级工程师高超在 Gopher China 2017大会上的精彩分享,以下是对他演讲内容的整理。Grab是一家东南亚出行平台,致力于解决东南亚人民的出行问题。Grab 的主要市场是东南亚,我们也没有进军中国市场的打算,我们和滴滴是战略合作伙伴的关系。Grab 成立于2011年,目前在东南亚7个国家都有运营,覆盖了39 个城市。目前有710000位司机,360...阅读全文

博文 2017-08-17 15:27:01 高超

线上Golang程序 GC调优一例

13 Nov 2013 线上Golang程序 GC调优一例 Golang 是一个很有意思的语言,第一次看它介绍时,就很喜欢。半年前加入美团,有机会用它写了几个线上程序。其中一个程序Router,每天需要转发几千万的请求。由于需要根据请求内容决定route路径,它需要加载几十万deal(美团单)的信息到内存供查询。问题来了,用map装的几十万数据让gc很辛苦。 Deal数据 // Deal的定义 type DealTiny struct { Dealid int32 Classid int32 Mttypeid int32 Bizacctid int32 Isonline bool Geocnt int32 } gc停顿 用go写一个简单的Web程序,设置GOGCTRACE环境变量为1后启动程...阅读全文

博文 2014-11-03 14:42:37 沈锋

小微商户如何接入自己网站?微信小微商户是什么?

微信支付商户申请面向线下小微商户开放,符合条件的微信支付服务商可为小微商户发起接入申请。小微商户是什么呢?如何申请小微商户呢?小酷为您解答。点我开通小微商户​一、小微商户能力介绍1~快速进件2~支持零钱、借记卡、信用卡支付方式3~交易手续费支持11档枚举值4. 每日结算款T+1日自动提现至商户个人银行卡​二、小微商户开通前准备1~身份证:彩色扫描件或数码照片;2~结算银行卡:包含开户银行全称(含支行)、银行帐号;3~店铺门头、内景照各一张。以上照片提前拍好准备在手机相册里面。三、小微商户开通步骤第一步:成为微信买单拓展员进入微信公众号:用卡万事通,点击底部菜单“信用卡”-“微信拓展码”,长按识别进入,点击“接受邀请”,成为微信买单拓展员,进入“微信买单服务商助手”小程序。​小微商户申请第二步...阅读全文

博文 2019-09-02 01:10:49 46099261

驾校答题小程序实战全过程【连载】——6.语音读题

一、目标: 为了更方便查看题目,我们加入读题功能。语音读题主要应用在智能客服机器人、电子有声读物、智慧教育等领域,了解到目前市场语音合成技术,主要有讯飞语音、百度语音、腾讯语音这几家大厂。 都支持男女生声,讯飞价格比较贵,这里发现腾讯语音合成暂时不收费。 腾讯云的语言合成介绍 https://cloud.tencent.com/product/tts#scenarios 摘选:语音合成(Text To Speech)满足已知文本生成语音的需求,打通人机交互闭环。多种音色选择,支持自定义音量、语速,为企业客户提供定制自有领域词库和个性化发音人服务,让发音更自然、更专业、更符合场景需求。语音合成广泛应用于语音导航、有声读物、标准发音领读、自动新闻播报等场景。 本以为这些API厂商,直接提供了AP...阅读全文

博文 2018-11-20 22:34:41 大王12

beego搭建api服务

beego介绍 beego是一个Golang实现的开源Go应用开发框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful的框架,主要设计灵感来源于tornado、sinatra和flask这三个框架,但是结合了Go本身的一些特性(interface、struct 嵌入等)而设计的一个框架。 Beego Framework: 一个使用 Go 的思维来帮助您构建并开发 Go 应用程序的开源框架 beego简介 beego安装, bee命令 安装beego #go get github.com/astaxie/beego 安装bee工具,bee工具是一个为了协助快速开发beego项目而创建的项目,可以通过bee快速创建项目、实现热编译、开发测试以及开发完之后打包发布...阅读全文

博文 2016-05-14 10:00:00 ldaniel

Go实例学:函数多返回值

Go语言内置支持多返回值,这个在Go语言中用的很多,比如一个函数同时返回结果和错误信息。 package main import "fmt" // 这个函数的返回值为两个int func vals() (int, int) { return 3, 7 } func main() { // 获取函数的两个返回值 a, b := vals() fmt.Println(a) fmt.Println(b) // 如果你只对多个返回值里面的几个感兴趣 // 可以使用下划线(_)来忽略其他的返回值 _, c := vals() fmt.Println(c) } 输出结果为 3 7 ...阅读全文

博文 2014-11-29 17:00:01 Goopand

腾讯大佬:分享百亿级请求高可用Redis分布式集群实践

腾讯大佬:分享百亿级请求高可用Redis分布式集群实践 一、Redis有哪些常用的应用场景 腾讯大佬:分享百亿级请求高可用Redis分布式集群实践 二、Redis选型思考 时延 时延=后端发起请求db(用户态拷贝请求到内核态)+ 网络时延 + 数据库寻址和读取 如果想要降低时延,只能减少请求数(合并多个后端请求)和减少数据库寻址和读取得时间。从降低时延的角度,基于单线程和内存的redis,每秒10万次得读写性能肯定远远胜过磁盘读写性能。 数据规模 以redis一组K-V为例(”hello” -> “world”),一个简单的set命令最终会产生4个消耗内存的结构。 腾讯大佬:分享百亿级请求高可用Redis分布式集群实践 关于Redis数据存储的细节,又要涉及到内存分配器(如jemalloc)...阅读全文

博文 2019-08-26 21:32:49 勤奋的码农

golang sha1,base64

1.base64编码 package main //这个语法引入了 encoding/base64 包并使用名称 b64代替默认的 base64。这样可以节省点空间。 import b64 "encoding/base64" import "fmt" func main() { //这是将要编解码的字符串。 data := "abc123!?$*&()'-=@~" //Go 同时支持标准的和 URL 兼容的 base64 格式。编码需要使用 []byte 类型的参数,所以要将字符串转成此类型。 sEnc := b64.StdEncoding.EncodeToString([]byte(data)) fmt.Println(sEnc) //解码可能会返回错误,如果不确定输入信息格式是否正确,那...阅读全文

博文 2015-04-21 03:00:00 benlightning

微服务实战(二):使用API Gateway

【编者的话】本系列的第一篇介绍了微服务架构模式。它讨论了采用微服务的优点和缺点,除了一些复杂的微服务,这种模式还是复杂应用的理想选择。 当你决定将应用作为一组微服务时,需要决定应用客户端如何与微服务交互。在单体式程序中,通常只有一组冗余的或者负载均衡的服务提供点。在微服务架构中,每一个微服务暴露一组细粒度的服务提供点。在本篇文章中,我们来看它如何影响客户端到服务端通信,同时提出一种API Gateway的方法。 介绍假定你正在为在线购物应用开发一个原生手机客户端。你需要实现一个产品最终页来展示商品信息。 例如,下面的图展示了你在亚马逊Android客户端上滑动产品最终页时看到的信息。 虽然这是一个智能手机应用,这个产品最终页展示了非常多的信息。例如,不仅这里有产品基本信息(名字、描述和价格)...阅读全文

博文 2016-03-02 10:44:11 Sonyfe25cp

golang操作mysql使用总结

sql.DB 通过数据库驱动为我们提供管理底层数据库连接的打开和关闭操作. sql.DB 为我们管理数据库连接池 需要注意的是,sql.DB表示操作数据库的抽象访问接口,而非一个数据库连接对象;它可以根据driver打开关闭数据库连接,管理连接池。正在使用的连接被标记为繁忙,用完后回到连接池等待下次使用。所以,如果你没有把连接释放回连接池,会导致过多连接使系统资源耗尽。 操作mysql 1.导入mysql数据库驱动 1 2 3 4 import ( "database/sql" _ "github.com/go-sql-driver/mysql" ) 通常来说, 不应该直接使用驱动所提供的方法, 而是应该使用 sql.DB, 因此在导入 mysql 驱动时, 这里使用了匿名导入的方式(在包路...阅读全文

博文 2018-03-06 20:33:09 coder_kev

用go语言模拟客户端对服务端发送get和post请求

client.go package main import ( // "bytes" "fmt" "io/ioutil" "net/http" "net/url" ) var client = &http.Client{} func Get() { //向服务端发送get请求 request, _ := http.NewRequest("GET", "http://192.168.1.35:9091/?publicKey=-----BEGIN+PUBLIC+KEY-----%0D%0AMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDZsfv1qscqYdy4vY%2BP4e3cAtmv%0D%0AppXQcRvrF1cB4drkv0haU24Y7m5qYtT52...阅读全文

博文 2015-01-08 12:00:01 秦思_li

Golang获取有重定向信息的response的location

在用golang做模拟登录某个网站的功能时发现了一个问题:如何获取该网站带有重定向信息的Response?或者说我只需要这个Response中的location信息即可,但是发现对于go的标准库net/http来说如果不hack这个库是没办法直接获取带有重定向信息的Response,而且目前大多第三方的http库也是基于标准库net/http的,貌似就要改net/http库或库本身就提供了对于重定向的设置? 那么我们就得先查看一下net/http库的源码了,通常我们都会用http.Client的Do方法发起一个请求,首先看一下它的源码: // Do sends an HTTP request and returns an HTTP response, following // policy ...阅读全文

博文 2015-05-04 09:00:01 reflectsky

Golang获取终端输入

package main import "fmt" //var a,b int = 10,20 func main() { //fmt.Println(a,b) // b,a = a,b // fmt.Println(a,b) //要求: 可以从控制台接受用户的信息 【姓名,年龄,薪水,是否通过考试】 //方式1 fmt.Scanln() var name string var age byte var sal float32 var ispass bool fmt.Println("请输入姓名:") //当程序只是到fmt.Scanln(&name)程序会停止执行等待用户输入 fmt.Scanln(&name) fmt.Println("请输入年龄:") //当程序只是到fmt.Scanl...阅读全文

博文 2019-02-26 00:35:44 tianya1993

分布式存储Weed-FS源码分析

基于源码版本号 0.67 , 【Weed-FS又名叫Seaweed-FS】。 Weed-FS 是一个非常优秀的由 golang 开发的分布式存储开源项目, 虽然在我刚开始关注的时候它在 github.com 上面只有 star 50+, 但是我觉得这个项目是一个几千 star 量级的优秀开源项目。 Weed-FS 的设计原理是基于 Facebook 的一篇图片存储系统的论文 Facebook-Haystack, 论文很长,但是其实原理就几句话,可以看看 Facebook图片存储系统Haystack , 我觉得Weed-FS是青出于蓝而胜于蓝。 Weed-FS 这个开源系统涵盖的面比较多, 很难在一篇文章里面说清楚, 只能尽可能清楚的说说主要的部分。 源码目录结构 核心模块 weed 入口目录...阅读全文

博文 2015-02-15 18:31:39 YanyiWu

go使用token实现简单的权限管理

这里采用的是在header里设置token进行鉴权,cookie也类似:基本思路为前端在header里设置token,后端采用redis等进行存储,使用中间件进行鉴权,登录时设置token。以下是登录生成token:设置if err:=tools.NewAccountSsdbCache(info.Id,token);err!=nil { c.JSON(403,gin.H{ "status":403, "msg":to.String(err), }) return }方法func NewAccountSsdbCache(userid int64,val string)(err error){ ssdb,err:=common.NewSsdbClient() if err!=nil { retu...阅读全文

博文 2018-04-17 19:40:42 misasky

编写一个go gRPC的服务

前置条件: 获取 gRPC-go 源码 $ go get google.golang.org/grpc 简单例子的源码位置: $ cd $GOPATH/src/google.golang.org/grpc/examples/helloworld 复杂些例子的源码位置: $ cd $GOPATH/src/google.golang.org/grpc/examples/route_guide 写一个gRPC的服务,一般分下面几步: 在一个 .proto 文件内定义服务。 用 protocol buffer 编译器生成服务器和客户端代码。 使用 gRPC 的 Go API 为你的服务实现一个简单的客户端和服务器。 定义服务 在一个 .proto 文件中定义服务 简单的例子服务定义在: exampl...阅读全文

博文 2016-04-18 22:00:00 ghj1976

报错:exec:"gcc" executable file not found in %PATH%

安装问题在import sqlite的时候,golang build 出现以下错误,exec: "gcc": executable file not found in %PATH%原因是sqlitle3是个cgo库,需要gcd编译c代码Windows下解决方法1. 下载mingw64,并安装下载地址:https://sourceforge.net/projects/mingw-w64/2. 设置环境变量将安装目录下的bin文件夹添加到Path环境变量中:C:\ProgramFiles(x86)\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin3. 测试是否安装成功打开cmd命令行,输入:gcc-v如果出现版本信息,则表示安装成功。...阅读全文

博文 2019-08-28 15:33:01 灰侠_bf44

Go pprof的使用

一、概述go的pprof工具可以用来监测进程的运行数据,用于监控程序的性能,对内存使用和CPU使用的情况统信息进行分析。 官方提供了两个包:runtime/pprof和net/http/pprof,前者用于普通代码的性能分析,后者用于web服务器的性能分析。 官方文档: https://golang.org/pkg/runtime/pprof/ https://golang.org/pkg/net/http/pprof/#Index https://github.com/google/pprof/blob/master/doc/pprof.md 二、runtime/pprof的使用该包提供了一系列用于调试信息的方法,可以很方便的对堆栈进行调试。 通常用得多得是以下几个: StartCPUPr...阅读全文

博文 2018-05-17 09:52:27 马谦的博客

Golang hashmap 的使用及实现

基本语法 定义hashmap变量 由于go语言是一个强类型的语言,因此hashmap也是有类型的,具体体现在key和value都必须指定类型,比如声明一个key为string,value也是string的map, 需要这样做 var m map[string]string // 声明一个hashmap,还不能直接使用,必须使用make来初始化 m = make(map[string]string) // 初始化一个map m = make(map[string]string, 3) // 初始化一个map并附带一个可选的初始bucket(非准确值,只是有提示意义) m := map[string]string{} // 声明并初始化 m := make(map[string]string) ...阅读全文

博文 2017-08-22 10:05:03 51reboot

区块链技术:超级账本(Hyperledger)

摘要超级账本(Hyperledger)是linux基金会下的众多项目中的一个。是由IBM、因特尔,还有金融公司,GP摩根以及其他联合机构于2015年提出来的区块链项目,超级账本还包括5个框架项目:Sawtooth、Iroha、Fabric、Burrow、Indy和3个工具项目:Blockchain explorer、Cello、Composer。其中广为人知的是Fabric。当前成员大约140个,其中1/4来自中国,现在中国技术组由万达、华为、IBM担任主要负责,负责中国会员和中国需求的提供,以及推进代码。下图是项目之间的逻辑关系图: Hyperledger Fabric: 区块链技术的一个实现,它的目标是成为开发应用和解决方案的基础,设计为模块化架构,允许组件如共识和成员服务模块,可以插入...阅读全文

博文 2017-09-08 07:05:04 吉普森

gorm关联查询的坑

背景:最近在学习 golang,尝试将之前的PHP项目用 go改写一下。涉及的表模型如下三个: // 文章 type Topics struct { Id int `gorm:"primary_key"` Title string `gorm:"not null"` Body string `gorm:"not null"` UserId int `gorm:"not null"` CategoryId int `gorm:"not null"` ReplyCount int ViewCount int LastReplyUserId int Order int Excerpt string Slug string Status int `gorm:"default:1"` CreatedA...阅读全文

博文 2018-09-13 17:34:47 AuroraLZDF

golang socket编程

osi参考模型将计算机网络结构分为7个层次,但是在实际的开发应用中,我们更加认可TCP/IP族协议的五层结构,即应用层(http、ftp、dns),传输层(udp、tcp),网络层(ip),链路层(以太网),物理层。 socket编程作为一种基于网络层和传输层的数据io模式主要分为两种,TCP Socket和UDP Socket,也即面向连接的流式Socket和面向无连接的数据报式Socket。 今天主要和大家讲讲golang的TCP Socket编程。先来看个简单的例子吧 server.go //模拟server端 func main() { tcpServer, _ := net.ResolveTCPAddr("tcp4", ":8080") listener, _ := net.Lis...阅读全文

博文 2017-11-30 15:03:06 ssdut_buster

Teleport2.0 一个Golang TCP Socket的全新框架

Teleport beta2.0 实现了一个全新的Golang TCP Socket框架,它通用、高效、灵活!可被用于Peer-Peer对等通信、RPC、长连接网关、微服务、推送服务,游戏服务等领域。 teleport_server 1. 特性 服务器和客户端之间对等通信,两者API方法基本一致 底层通信数据包包含Header和Body两部分 支持单独定制Header和Body编码类型,例如JSON Protobuf Body支持gzip压缩 Header包含状态码及其描述文本 支持推,拉,回复等通信方式 支持插件机制,可以自定义认证、心跳、微服务注册中心、统计信息插件等。 无论服务器或客户端,均支持都优雅重启、优雅关闭 支持实现反向代理功能 日志信息详尽,支持打印输入、输出消息的详细信息(...阅读全文

博文 2017-08-27 09:05:14 HenryLee

Go语言 GC优化经验分享

不想看长篇大论的,这里先给个结论,go的gc还不完善但也不算不靠谱,关键看怎么用,尽量不要创建大量对象,也尽量不要频繁创建对象,这个道理其实在所有带gc的编程语言也都通用。 想知道如何提前预防和解决问题的,请耐心看下去。 我们项目的服务端完全用Go语言开发的,游戏数据都放在内存中由go 管理。 在上线测试后我对程序做了很多调优工作,最初是稳定性优先,所以先解决的是内存泄漏问题,主要靠memprof来定位问题,接着是进一步提高性能,主要靠cpuprof和自己做的一些统计信息来定位问题。 调优性能的过程中我从cpuprof的结果发现发现gc的scanblock调用占用的cpu竟然有40%多,于是我开始搞各种对象重用和尽量避免不必要的对象创建,效果显著,CPU占用降到了10%多。 但我还是挺不甘心...阅读全文

博文 2014-10-11 18:00:01 abv123456789

golint---golang代码质量检测

github: https://github.com/golang/lint golint是类似javascript中的jslint的工具,主要功能就是检测代码中不规范的地方。golint用于检测go代码。 使用 $ go get github.com/golang/lint $ go install github.com/golang/lint golint 文件名或者目录 检测对应的代码。 golint会输出一些代码存在的问题: 比如: recorder.go:55:5: exported var RecordBind should have comment or be unexported recorder.go:158:1: exported function Record_Erro...阅读全文

博文 2017-12-20 06:10:37 学习笔记

go调用exe

//调用exe func callEXE1() { arg := []string{} cmd := exec.Command("test", arg...) //会向 cmd.Stdout和cmd.Stderr写入信息,其实cmd.Stdout==cmd.Stderr,具体可见源码 output, err := cmd.CombinedOutput() if err != nil { fmt.Println("Error:", err) return } fmt.Printf("callEXE2结果:\n%v\n\n%v\n\n%v", string(output), cmd.Stdout, cmd.Stderr) } func callEXE2() { arg := []string{}...阅读全文

博文 2014-10-04 19:26:36 陈好

辣眼的观察Inchain印链,只追求独视。

本想让思绪再飞一会儿,但是已经逐渐成型,便一丝不挂托出,这个命题不能偏颇,更不能偏激,尽量走心实在。 他的名字叫Inchain印链,一个区块链圈子里面比较务实的项目。有一群默默耕耘的追梦人,在不断的为这个世界改变输出力量。他们号称区块链先驱践行者;号称国内为数不多的自主研发公有链;号称是西南地区第一个区块链落地应用;号称可以连接大数据、物联网、防伪溯源等,他们正在用自己的理想把区块链的任督二脉激活。 #谈观感# 区块链运动军备竞赛如火如荼,有野蛮人、有抽水机、有矿场霸主,有各种黑白客斗争、扩容也好、分叉也罢,但是整体格局是浩浩荡荡向前推进,Inchain,正好赶上这一波大潮水,顺水推舟,从开始的几个人,发展到30多人的团队,在全国范围内,也可以算增速极快,因为这是项目本身的魅力所在。从一个小...阅读全文

博文 2017-08-18 01:05:19 重特兰大佛跳墙

Alpha Go 的原理浅析(深度学习与强化学习的融合)

前言 这两天网络上被Alpha Go和李世石的围棋对决刷屏,目前Alpha Go已经2-0领先。从前年开始关注研发这套系统的DeepMind公司,一直在追终他们最新的论文。深度学习这个词随着这一事件又火了一把,可是我想说的是虽然阿尔法狗确实得益于深层神经网络的发展,但是其能超过以往的围棋AI的原因是他将深度学习和强化学习结合在一起使用,再融合传统围棋AI主要使用的蒙特卡洛树搜索方法。要知道只用深度学习的方法去解决围棋问题在几年前已经有很多人在尝试,其效果却往往还不及当前最好的围棋AI(例如:Zen,Pachi等) 去年这家公司做的最引爆世界的事情是在Arcade Learning Environment中战胜了人类专家并且在nature上也发。这个环境是为了评估各种强化学习(Reinforc...阅读全文

博文 2016-03-11 18:00:02 xcwill

微服务实战(三):深入微服务架构的进程间通信

【编者的话】这是采用微服务架构创建自己应用系列第三篇文章。第一篇介绍了微服务架构模式,和单体式模式进行了比较,并且讨论了使用微服务架构的优缺点。第二篇描述了采用微服务架构应用客户端之间如何采用API Gateway方式进行通信。在这篇文章中,我们将讨论系统服务之间如何通信。 简介在单体式应用中,各个模块之间的调用是通过编程语言级别的方法或者函数来实现的。但是一个基于微服务的分布式应用是运行在多台机器上的。一般来说,每个服务实例都是一个进程。因此,如下图所示,服务之间的交互必须通过进程间通信(IPC)来实现。 后面我们将会详细介绍IPC技术,现在我们先来看下设计相关的问题。 交互模式当为某一个服务选择IPC时,首先需要考虑服务之间如何交互。客户端和服务器之间有很多的交互模式,我们可以从两个维度...阅读全文

博文 2016-03-03 10:37:45 hokingyang

为golang程序使用pprof远程查看httpserver运行堆栈,cpu耗时等信息

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 developing multi-threaded applications in C++ with templates. Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler. 一个性能分析的工具,...阅读全文

博文 2015-03-21 19:00:01 zhangqingping

Go程序GC优化经验分享

作者:达达 来源:http://1234n.com/?post/yzsrwa 最近一段时间对《仙侠道》的服务端进行了一系列针对GC的调优,这里跟各位分享一下调优的经验。 游戏第一次上线的时候,大部分精力都投入在做cpuprof和memprof找性能瓶颈和内存泄漏上,没有关注过Go的GC运行情况。 有一次cpuprof里的scanblock调用所占的比例让我注意到Go的GC所带来的性能消耗,记得那份cpuprof里,scanblock调用占到49%。也就是说有一半的CPU时间浪费在了GC上。 于是我开始研究如何进行优化,过程中免不了要分析数据,经过一番搜索,我好到了GOGCTRACE这个环境变量。 用法类似这样: GOGCTRACE=1 ./my_go_program 2> log_file ...阅读全文

博文 2014-10-29 01:00:00 LvanNeo

快播王欣的新征程:AI和区块链公司获3000万美元融资

#文章来自全天候科技,原标题《快播王欣的新征程:AI和区块链公司获3000万美元融资》,作者张少华。9月3日,全国企业破产重整案件信息网披露的民事裁定书显示,深圳金亚太科技有限公司对深圳市快播科技有限公司提出的破产清算申请,被广东省深圳市中级人民法院裁定即日起生效。这一消息意味着,曾经红极一时的视频软件“快播”生命走到了尽头。然而,快播创始人王欣的创业之路并没有因此结束,自今年2月出狱后,他开始将目光聚焦人工智能、区块链等领域。企查查信息显示,王欣在今年3月创立了深圳市云歌人工智能技术有限公司(以下简称“云歌智能”),公司的法人彭鹏是王欣妻子,王欣是公司第一大股东,持股比例高达91.5%。9月5日,该公司获得了3000万美元融资,投资方包括贝塔斯曼亚洲投资基金和IDG资本。 云歌智能近期发布...阅读全文

博文 2018-09-06 13:34:40 众筹之家呀

腾讯 Angel 1.0 正式版发布,机器学习高性能计算平台

在去年 12 月 18 日的腾讯大数据技术峰会暨 KDD China 技术峰会上,腾讯大数据宣布推出了面向机器学习的「第三代高性能计算平台」——Angel,并表示将于 2017 年开放其源代码。现在,2017 年已经大约过去了一半, Angel 1.0 正式版发布了。 ![](https://raw.githubusercontent.com/Tencent/angel/master/assets/angel_logo.png) Angel 1.0.0 新特性: 1. ParameterServer 功能 - 基于 Matrix/Vector 的模型自动切分和管理,兼顾稀疏和稠密两种格式 - 支持对 Model 进行 Push 和 Pull 操作,可以自定义复杂...阅读全文

使用 beego 搭建 web 应用之二

欢迎回到本系列的第二部分,在这我们将用Go的Beego这个web开发框架来加速开发。如果你错过了第一部分,我建议你去读一下,因为它是这一系列的基础。 在第一部分中,我们有了一个好的开始,通过安装Beego及命令行的Bee了解并实际使用了Beego,创建一个基本的项目,添加一个控制行为,创建了一个基本的视图模板,添加一个自定义路由并以学习如何使用请求参数为结尾。 在第二部分中,我们将进入更有趣的部分,构建一个结合数据库的Web应用,使用的是Sqlite3,还要研究一下模型、表单以及验证。我希望你已经准备就绪了,下面让我们一块愉快的走到最后。 Garfielt翻译于 3 个月 前 0人顶 顶 翻译的不错哦! 两步视图 你会注意到manage控制器里的几个函数,代码如下: manage.Layou...阅读全文

博文 2014-10-04 19:25:58 --zxp, Garfielt, 似年, AndyLam,

Go 语言运行时环境变量快速导览

文: http://dave.cheney.net/2015/11/29/a-whirlwind-tour-of-gos-runtime-environment-variables Go 语言运行时环境变量快速导览 介绍: Go Runtime除了提供:GC, goroutine调度, 定时器,network polling等服务外, 还提供其它一些工具设施,用于开启额外的调试输出, 或是改变Go Runtime自身的一些行为。这些工具设施由传给Go program的一些环境变量控制, 本文主要讲述它们。 GOGC GOGC 是Go Runtime最早支持的环境变量,甚至比GOROOT还早,几乎无人不知。GOGC 用于控制GC的处发频率, 其值默认为100, 意为直到自上次垃圾回收后heap...阅读全文

博文 2016-03-11 17:00:02 htyu_0203_39

golang 标准库io/ioutil,读取文件,生成临时目录/文件

1.读取目录 list, err := ioutil.ReadDir("DIR")//要读取的目录地址DIR,得到列表 if err != nil { fmt.Println("read dir error") return } for _, info := range list { //遍历目录下的内容,获取文件详情,同os.Stat(filename)获取的信息 info.Name()//文件名 info.Mode()//文件权限 info.Size()//文件大小 info.ModTime()//文件修改时间 info.Sys()//系统信息 if info.IsDir() == true { fmt.Println("是目录") } } 2.读取文件 data, err := iou...阅读全文

博文 2015-03-23 14:00:00 benlightning

golang项目test的写法

业务代码 package main import "fmt" func sum(a int,b int) int { return a+b } func main() { fmt.Println("hello test") } test测试用例 package main import ( "fmt" "testing" ) func TestSum(t *testing.T) { var a = 3 var b =4 res :=sum(a,b) fmt.Printf("%d 与%d之和:为%d",a,b,res) if res != 7{ t.Error("error") } } 每一个test文件必须import一个testing. test文件下每一个test case均必须以Test...阅读全文

博文 2019-08-05 21:32:38 厚朴酚XZ9lr

rabbitmq 客户端golang实战

rabbitmq消息模式 rabbitmq中进行消息控制的组建可以分为以下几部分: exchange:rabbitmq中的路由部件,控制消息的转发路径; queue:rabbitmq的消息队列,可以有多个消费者从队列中读取消息; consumer:消息的消费者; rabbitmq在使用过程中可以单独使用queue进行消息传递(例如celery就可以使用单个queue进行多对多的消息传递),也利用exchange与queue构建多种消息模式,主要包括fanout、direct和topic方式,模式的使用方式在此放一张图,不再此做详细解释。 我在使用的rabbitmq的过程中,主要是进行消息的广播及主题订阅: [producer] -> [exchange] ->fanout-> [queue ...阅读全文

博文 2018-04-26 23:33:05 hiker_urey

数据宝参展2017中国国际软件博览会

6月29日,第十二届中国国际软件博览会(以下简称:2017软博会)在北京展览馆开幕,本届软博会由工业和信息化部与北京市人民政府主办,国务院副总理马凯莅临软博会现场,工业和信息化部部长苗圩、北京市代市长陈吉宁、北京市经济和信息化委员会主任张伯旭等领导随行。 ![1.jpg](http://studygolang.qiniudn.com/170710/fa38bd5deaf78ea0c0e68dd52f16ba8a.jpg) 中共中央政治局委员、国务院副总理马凯出席并讲话 马凯指出,软件是信息网络的核心和灵魂。全球软件业正在步入加速创新、快速迭代、群体突破的爆发期,在促进世界经济发展和人类文明进步中将发挥越来越重要的作用。中国政府高度重视发展软件产业,制定了鼓励软件产业发展的重大政策,...阅读全文

golang的跨域

在使用golang做web的应用程序的时候,最容易碰到跨域问题了,跨域就是www.a.com访问www.b.com的文件。但是在浏览器里,为了安全起见,这样做是不允许的,这就是js的同源策略了。不懂的话google一下。1.golang做web的应用程序,不用使用像apache的web服务器,因为它自己可以构造一个web服务器。这样问题就来了,因为你使用js做前台,golang做后台,这样js传值的时候,是可以传到服务器的,并且是可以进行跨域访问的,因为golang构造的服务器与你前台就造成了跨域问题了。而ajax传值是传到服务器端的,并且可以进行跨域访问,所以我在开发的时候果断使用了它。 2而在golang接受传值之后,要返回信息给前台,这是golang里面就要设置可以进行跨域访了。设置就...阅读全文

博文 2015-10-22 19:00:02 helloworld20102010

用Golang的 http 包建立 Web 服务器

http 包建立 Web 服务器 package main import ( "fmt" "log" "net/http" "strings" ) func sayhelloName(w http.ResponseWriter, r *http.Request) { r.ParseForm() //解析参数, 默认是不会解析的 fmt.Println(r.Form) //这些是服务器端的打印信息 fmt.Println("path", r.URL.Path) fmt.Println("scheme", r.URL.Scheme) fmt.Println(r.Form["url_long"]) for k, v := range r.Form { fmt.Println("key:", k) ...阅读全文

博文 2014-12-30 01:00:03 kanglecjr

在golang中使用mgo多条件查询

今天被mgo凶残的语法折腾跪了 磨了1个多小时才搞出来 特此纪念: 一般做简单查询,是这样写的:

collection := mgodbcontroller.GetMdb().C(mgodbcontroller.USER_WALLET_GS_LOG)//获取操作对象 //根据用户手机号 倒序查询前100个 存入slice中 if err := collection.Find(&bson.M{"uphone": phonenum}).Sort("-initimesamp").Limit(100).All(&historys); err == nil { for i, _ := range historys { fmt.Println...阅读全文

博文 2016-01-26 21:00:02 u012210379

2018年全球十大突破性技术有哪些?

3月25日,科技之巅•麻省理工科技评论全球十大突破性技术峰会在北京召开,该峰会是全球最为著名的技术榜单之一,峰会围绕十大突破性技术在中国落地性最强,并对目前最受关注的领域进行深入解读。 2018年“全球十大突破性技术”分别是给所有人的人工智能、对抗性神经网络、人造胚胎、基因占卜、传感城市、巴别鱼耳塞、完美的网络隐私、材料的量子飞跃、实用型3D金属打印机以及零碳排放天然气发电。 **1. 给所有人的人工智能** 当人工智能技术与云技术相结合,将机器学习工具搬上云端,那么将有助于在医疗、制造、能源等行业更全面地推行人工智能技术,从而降低技术的使用难度和价格,极大地提高各产业的生产力。 **2. 对抗性神经网络** 形象地说,就是让两个 AI 系统通过玩“猫捉老鼠”游...阅读全文

golang连接activemq

config.ini 配置文件 [stomp] ;activemq的IP地址 host:192.168.7.85 ;activemq的端口 port:61613 ;activemq的队列 queue:/queue/bbg_ordercache [php] ;php的执行路径 phpbin:php.exe ;被执行的文件的路径 filepath:D:/jianguo/command/application/cli ;传递给被执行文件的参数 params:show main.go 代码文件: package main import ( "bytes" "fmt" "github.com/gmallard/stompngo" "github.com/unknwon/goconfig" "log" ...阅读全文

博文 2014-10-04 19:27:26 chen yuwen

百度云虚拟主机做网站有哪些优势?

众所周知百度是国内最大的搜索引擎、最大的中文网站。百度推出的云服务器、云虚拟主机、域名服务等质量可靠,对于客户的网站来说,能够保证访问的速度、稳定和安全。 百度云虚拟主机是最新的的容器技术、热迁移技术和百度生态能力提供的新一代网站主机服务,能够保证高性能、高可靠性、高安全性和高易用性等,即使是零基础的站长也可以轻松搞定网站的部署、发布、运维、推广,这无论是对企业还是个人网站来说都有非常大的作用。 ![虚拟主机.jpg](https://static.studygolang.com/180420/59974fa5a2ba4eec783545b7a6caebd8.jpg) 那么百度云虚拟主机的优势又有哪些? 高稳定 基于百度云的核心技术,故障服务方面可秒级热迁移...阅读全文

golang读取文件信息插入mongodb

这几日,在项目中顺手做了一个功能,读取手机归属地信息,然后插入mongodb 手机归属地格式 号码 省份 城市 卡型 区号 130001 江苏 常州 江苏联通 0519 代码如下 package main import ( "encoding/csv" "encoding/json" "fmt" "io" "labix.org/v2/mgo" "os" "runtime" ) /* 初始化配置 */ func init() { file, _ := os.Open("config.json") buf := make([]byte, 2048) n, _ := file.Read(buf) fmt.Println(string(buf)) err := json.Unmarshal(buf[...阅读全文

博文 2014-10-04 19:26:11 zsbfree