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

go语言可以开发什么?

载请注明出处:www.oldboyedu.comGo语言是2007年末由Robert Griesemer,Rob Pike,Ken Thompson主持开发,之后有Ian Lance Taylor,Russ Cox等人的加入,最终于2009年11月开源发布。它是一款简单的开源编程语言,它能让构造简单、可靠且高效的软件变得容易。Go语言是谷歌推出的一款全新的编程语言,可以在不损失应用程序性能的情况下极大的降低代码的复杂性,还可以发挥多核处理器同步多工的优点,并可解决面向对象程序设计的麻烦,并帮助程序设计师处理琐碎但重要的内存管理问题,相比于其他编程语言,简洁、快速、安全、并行、有趣、开源、内存管理、数组安全、编译迅速是其特色。支持平台1. 硬件架构:Go语言设计支持主流的32位和64位的x86...阅读全文

博文 2018-11-09 16:36:01 大数据hadoop

使用 Golang 构建 DNS 服务器

需求:对 DNS 查询进行转发和缓存的本地 DNS 服务器。 补充 1:提供一个记录管理的接口(HTTP handler)。 补充 2:提供一个名字(name)。 DNS 服务器的相关要点如下: - DNS 服务器把域名转换为 IP。 - DNS 主要使用 UDP 协议,其端口为 53。 - DNS 消息的长度最多为 512 字节,若超过这个长度,则必须使用 EDNS。 需要的组成部分有: - UDP - DNS 消息解析器(DNS message parser) - 转发 - 缓存 - HTTP handler 我们的解决方案是: - UDP:标准包 `net` 支持 UDP。 - DNS 消息解析器:需要一些工作,来根据特定协议(UDP)的通信,处理报文。为了更快地实现,我们使用 `go...阅读全文

博文 2019-01-02 20:02:13 heyulong

一步一步教你写BT种子嗅探器之一---原理篇

之前看到 lantern 这个十分火的翻墙工具,其利用了P2P的思想,就想了解一下P2P相关的协议。看了下最流行的BT协议官方文档,就产生了实现BT协议的想法,顺便根据协议实现了一个BT种子嗅探器。 也有人将BT种子嗅探器称为BT种子爬虫,个人觉得其行为特性和传统的web爬虫相差较大,反而和嗅探器很类似,因此暂且称之为BT种子嗅探器吧。 接下来将写一系列文章来介绍其原理和具体实现方式。这篇文章先提纲挈领,介绍其工作原理,以对全局有一个把握。后序的文章再介绍具体细节。 背景知识 在讲原理之前首先你得具备BitTorrent(简称BT)协议的一些基本知识,以便于理解接下来要讲的嗅探器。BT协议其实是一个协议簇,BEP-3 是其基本协议内容,其他的大部分都是围绕这个来进行扩展或补充。要想从BT网络...阅读全文

博文 2017-02-09 08:32:12 shiyanhui

golang实现rpc远程调用的server端和client端范例2018-06-12

定义rpc调用的方法package librarytype Watcher intfunc (w *Watcher) GetInfo(arg int,result *int) error{ *result = 1 return nil} 服务器端代码package mainimport( "fmt" "net" "net/rpc" "net/http" "library")func main(){ watcher := new(library.Watcher) rpc.Register(watcher) rpc.HandleHTTP() l,err := net.Listen("tcp", ":1234") if err != nil{ fmt.Println("监听失败,端口可能已经被占用...阅读全文

博文 2019-09-30 15:32:50 aside section ._1OhGeD

Go语言实时GC - 三色标记算法

本文转载地址:https://juejin.im/post/5c62d45ee51d457fa44f4404 Go语言能够支持实时的,高并发的消息系统,在高达百万级别的消息系统中能够将延迟降低到100ms以下,很大一部分需要归功于Go高效的垃圾回收系统。 1.0. go的GC回收机制 对于实时系统而言,垃圾回收系统可能是一个极大的隐患,因为在垃圾回收的时候需要将整个应用程序暂停。所以在我们设计消息总线系统的时候,需要小心地选择我们的语言。Go一直在强调它的低延迟,但是它真的做到了吗?如果是的,它是怎么做到的呢? 在这篇文章当中,我们将会看到Go语言的GC是如何实现的(tricolor algorithm,三色算法),以及为什么这种方法能够达到如此之低的GC暂停,以及最重要的是,它是否真的有效...阅读全文

博文 2019-07-22 20:32:43 云霄YunX

希云亮相2018可信云大会,做保险行业容器云报告

希云从2016年至今一直为保险行业提供容器云解决方案,保险公司早期在移动应用开发与运维上引入容器和DevOps,极大提升了开发效率、交付物标准化,进而实现持续交付的能力。持续交付能让应用上线的速度从月以单位提升到以天为单位。随着IT架构向云架构的转型,在架构及管理工具上采用虚拟化容器管理,实现了从IaaS到PaaS层的转变。 8月14日-15日,由工业和信息化部指导,中国信息通信研究院、中国通信标准化协会主办的“2018可信云大会”在北京国际会议中心召开 。希云合伙人张春源,就国内保险行业容器云的应用情况做了如下总结报告:

image
从2016年5月份我接触到了人生当中的第一个保险公司,当时客户说:“我们需要容器解决方案,方案要包括Gitlab、Jen...阅读全文

博文 2018-08-16 14:34:56 中国商业电讯

Go 后台开发常用工具

go 常用包 dlv 远程调试 https://github.com/derekparke... dogo 文件监控 https://github.com/liudng/dog... Goland 优点: 可以配置项目级的 gopath 可以run单个文件,同一个文件夹下可以有多个入口文件 常用功能 自动上传到服务器。在setting中找到Deployment,设置远程服务器的ip和端口,用户名与密码,还有对应的路径。在tools中设置保存后自动上传。 远程断点调试。IDE右上角Edit Configurations...,新建一个go remote,远程服务按照提示启动,在本机打断点就可以调试远程的服务了。 如果有跳板机的话,则需要额外设置一下。 常用插件 Remote Hosts Acc...阅读全文

博文 2018-11-25 19:34:39 西山雨

Go 编写的内容管理系统 Fragmenta CMS

Fragmenta CMS 是一个用户友好的内容管理系统,用 Go 编写。 Fragmenta CMS 可以让你快速建立网站,它包办了创建网站的一般性的繁琐工作,包括:用户登录,网页,博客文章等,让你专注于你 app 自身的特点,你可以: * 简单部署 —— 你只需要一个数据库和fragment —— 与内置的Web服务器本地进行测试 * 使用与你网站相同的风格进行Rich editing * 免费且开源 (MIT) ——下载二进制文件或自己编...阅读全文

开源项目 2015-10-15 16:00:00 fragmenta

select in Go's runtime

select可以用来管理多个channel的读写,以及实现channel读写timeout等。select并不是以库的形式提供,而是语言级支持的语法特性,因此select的实现主要由编译器和runtime共同完成,本文将重点关注runtime部分。 select语句的执行主要由4个阶段组成,依次是创建select对象,注册所有的case条件,执行select语句,最后释放select对象。这里提到的select对象是底层runtime维护的一个Select结构,这个对象对Go程序来说基本是透明的。后面的内容中,我将称这个select对象为选择器。 选择器内存模型(Select) 这里内存模型主要是描述的选择器在内存是如何布局的,是什么样的数据结构来维护的。源码位于runtime/chan.c...阅读全文

博文 2014-11-10 09:44:38 skoo

Linux下使用goagent

Linux下使用goagent 分类: linux 2013-04-18 11:16 21614人阅读 评论(4) 收藏 举报 说到穿越长城的软件有很多,不过最近最有名而且免费的就非goagent莫属了,goagent是利用谷歌的GAE服务来翻越长城的,具有速度快,稳定的特点,正好今天我的ssh代理过期,于是准备以后使用goagent来FQ。 1:申请appengine.google.com的个人apppid 首先登录appengine.google.com,申请个人apppid,它将在Goagent中用到。appid只要唯一就可以,必须是英文字符和数字。 二、安装和本地部署 安装goagent服务端 既然已经成功的申请到了apppid,那么接下来的工作就是安装goagent的服务端了。 1...阅读全文

Golang 异步任务执行器——Gochan

写在前面 项目背景 设计的思路 平常的设计 状态无依赖的并发设计 状态存在依赖的并发设计 (gochan) 使用示例 参考 写在前面 在最近编码过程中,大量使用了异步任务。在自己需求的基础上抽象出一个异步任务执行器,应该有挺多类似的需求,于是开源出来。项目地址为《GitHub - chalvern/gochan》,还希望大家能够不吝 star ✨。 项目背景 一般情况下,我们可以通过定义一个带缓冲的 channel 变量接收某种事件,然后通过一个专用的 goroutine 消费执行这个 channel 中的事件。 但是如果相关事件很多的时候,一个 goroutine 不够用了怎么办呢?或许我们会想到多创建几个专用的 goroutine 来并发地消费执行这个 channel 中的事件;如果 c...阅读全文

博文 2019-06-17 21:06:05 敬维

修改Go语言(golang)编译器源代码让它支持UTF-8 BOM

Go语言(golang)第一个正式版Go1发布了,但是这个新兴的编程语言还是非常不完善。这不,我(Liigo)又发现它的编译器竟然不支持编译带BOM的UTF-8编码的.go源文件。这就很奇怪,该语言明明要求源代码文件.go必须是UTF-8编码,但有不允许带UTF-8 BOM。要知道,这个世界上带BOM的文件太多了,很多文本编辑器/代码编辑器/IDE都会默认生成带有BOM的UTF-8文件。如果仅仅因为源代码文件多了BOM,编译器将不能编译这个文件,我觉得它太低能了。 Go语言编译器(gc)不支持带有BOM的UTF-8源文件: Golang's compiler (gc) don't accept the .go files with UTF-8 BOM: E:\liigo\golang\src...阅读全文

博文 2014-10-04 19:25:57 liigo

golang游戏服务器招聘

dear,golang爱好者 首先感谢大家对golang生态圈的支持。 我公司是上海游戏研发公司,服务器后台都是用golang开发,对golang人才常年招聘中。 工作1年以上的同学都可以随时和我公司联系,我们会根据需求做进一步沟通。 PS。紧急招聘中,欢迎随时并且尽快与我联系。 Qq ,311025835...阅读全文

Golang的Web框架beego开发的个人博客项目

# beego_blog #### 码云 Source: - https://gitee.com/griffin702/beego #### Github Source: - https://github.com/griffin702/beego_blog #### myblog: - http://www.inana.top/ 默认不自动生成数据库,初次使用时可直接使用项目根目录下的beego_blog.sql手动导入数据库 初始管理员账号:`admin`密码`123456` 感谢原作者:Double Liu #### 更新节点: ##### 2018/6/19 1.0.0版本: 1. 修复原项目代码中的BUG 2. 优化整体逻辑及模型 3. 更新新版bootstrap,优化PC与移动端自...阅读全文

博文 2018-08-17 14:22:48 griffin702

Go 实现的接口在线文档管理系统MinDoc

MinDoc 是一款针对IT团队开发的简单好用的文档管理系统。 MinDoc 的前身是 SmartWiki 文档系统。SmartWiki 是基于 PHP 框架 laravel 开发的一款文档管理系统。因 PHP 的部署对普通用户来说太复杂,所以改用 Golang 开发。可以方便用户部署和实用,同时增加Markdown和HTML两种编辑器。 开发缘起是公司IT部门需要一款简单实用的项目接口文档管理和分享的系统。其功能和界面源于 kancloud 。 可以用来储存日常接口文档,数据库字典,手册说明等文档。内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需求。 项目管理,可以对项目进行编辑更改,成员添加等。 文档管理,添加和删除文档等。 评论管理,可以管理文档评...阅读全文

Go 1.6将进一步改进垃圾收集器

尽管Go 1.5刚刚发布,仍然相对较新,但是Go团队已经在致力于改进其新的低延迟并发垃圾收集器,希望Go更适合新的应用领域。Google工程师Austin Clements和Rick Hudson如是说。 Go 1.5用新的垃圾收集器代替了原来的STW(stop-the-world) GC,解决了延迟问题。当负载较重时,每50ms,新的GC的活动时间可以控制在10ms以下,从而使Go程序在一般情况下能运行得更快些。在更极端的情况下,停顿可以从300ms降到4ms。 Go 1.6的目标是进一步稳定GC,并在以下几个方面做出改进: 状态协调(State coordination):Go 1.5 GC有个主要瓶颈是从Go 1.4继承来的,源自其集中式的GC协调器(coordinator),这是一个...阅读全文

博文 2015-09-13 14:40:00 臧秀涛

北京澎湃时空招聘游戏服务器程序

公司名称:澎湃时空科技有限公司 工作地点:北京市朝阳区双井地铁站附近 职位描述:参与服务器架构及各游戏模块开发 职位要求: 1.一年以上游戏服务器研发经验 2.熟悉golang/erlang/C/C++/C#中的至少一种 3.有游戏服务器架构经验者优先 4.有较强的学习能力 5.有较好的团队协作能力 职位月薪:12k~24k 公司福利:五险一金、项目分红、午餐补贴、加班补贴 有意者请将简历发至 hr@spacesurge.com 此信息在2015年8月31日之前有...阅读全文

服务器结构

我们把观察点先集中在一个大区内。在大多数情况下,一个大区内都会有多组游戏服,也就是多个游戏世界可供选择。简单点来实现,我们完全可以抛弃这个大区的概念,认为一个大区也就是放在同一个机房的多台服务器组,各服务器组间没有什么关系。这样,我们可为每组服务器单独配备一台登录服。最后的结构图应该像这样:loginServer gameServer| / |/ client该结构下的玩家操作流程为,先选择大区,再选择大区下的某台服务器,即某个游戏世界,点击进入后开始帐号验证过程,验证成功则进入了该游戏世界。但是,如果玩家想要切换游戏世界,他只能先退出当前游戏世界,然后进入新的游戏世界重新进行帐号验证。早期的游戏大都采用的是这种结构,有些游戏在实现时采用了一些技术手段使得在切换游戏服时不需要再次验证帐号,但...阅读全文

博文 2018-11-11 01:34:42 路飞蹲厕所

go语言socket通信初试

听说go的在系统性能方面有很大的优势,最近对go语言产生了极大的兴趣,相对现有的项目用go改造,原有的项目用的ace框架编写的通信的框架,在目前的移动的通信网中忙时有的时候处理不过来,于是先研究试图测试一下socket。由于对go刚刚入门,有些不正确的地方还请高人指点。 由于我们系统通常是不同语言之间通信(之前系统是客户端和服务端都用c++),这里客户端采用java+mina编写,服务端采用go编写,最初设计,像借用go语言中的gob进行编解码,但是经过测试后发现行不通,经过和网友以及一些高人的指点,gob其实针对go语言之间的编解码的,跨语言还真不灵光。有同事建议我用protocolbuffer这个,我一看这个又是定义类似idl文件(之前做了几年的corba技术,对这样的东西有点抵触了,因...阅读全文

博文 2014-10-04 19:26:17 DEC_LIU

7天玩转云服务器

七天能干什么,赶快加入阿里云大学跟我们一起学习,7天带你玩转云服务器 课时列表 • 课时1:第1天:云服务器ECS是什么 • 课时2:第2天:上云概览——在云服务器上快速搭建个人网站 • 课时3:第3天:云服务器最基本操作——实例管理 • 课时4:第4天:云服务器磁盘管理 • 课时5:第5天:为应用创建备份——快照管理 • 课时6:第6天:轻松复用你搭建好的环境和应用——镜像管理 • 课时7:第7天:加固你的网站——云上应用的安全 开始学习:http://click.aliyun.com/m/27894/ ...阅读全文

Vendor 包管理器 Go Glide

Glide 是 Golang 的 Vendor 包管理器,方便你管理 vendor 和 verdor 包。 主要特性: * 简单管理依赖 * 支持 **versioning packages**,包括 [Semantic Versioning 2.0.0](http://semver.org/) 支持 * 支持 **aliasing packages** (e.g. for working with github forks) * Remove the need for munging import statements * 支持所有 `go` 工具 * 支持 VCS 工具和 Go 支持: * git * bzr * hg * svn 支持定制本地和全局插件 (se...阅读全文

开源项目 2015-11-04 16:00:00 Masterminds

vscode-golang跳转定义无效问题

问题发现: 本来可以进行"ctrl"+点击或者F12,进行跳转定义的方式,突然失效了 问题分析: 1.辅助工具是否关闭 解决方案,进入首选项,设置,查找go.docsTool,选项选择为 gogetdoc,这一步可能会提示你没有安装gogetdoc,那就 go get -u -v github.com/zmb3/gogetdoc image.png 结果:测试跳转,还是不行 2.判断工具是否有效 解决方案:资料显示,方法确实没有错,但是我注意到了一点,其中的一句话 image.png 他的意思是,这个工具,在使用语言服务器时,不适用。怀着试一试的心情,去找找这个东西,慢慢向下找。哎呀,还真有哦,然后把这个取消掉。它会提示你重启生效,然后重启,问题解决。~~~ image.png 只为了解决问...阅读全文

博文 2019-10-10 22:33:02 aside section ._1OhGeD

studygolang源码阅读小结 <四>

##http与 router## 先看http 提供的强大简洁服务器端的功能 - HTTP响应模块 func ListenAndServe(addr string, handler Handler) error 这个方法就处理了所有的http请求。第二个参数如下 type Handler interface { ServeHTTP(ResponseWriter, *Request) } 也就是实现了该接口的结构,均能够对http请求作出相应。看这个方法的参数大致就能猜出,这个方法是让使用者自己往RewponseWriter中写http header 以及http data。 type ResponseW...阅读全文

Go原子计数

发表回复 通过原子计数可以在多线程情况下,对同一个数值进行加减操作,一般用于状态同步。 先看代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 package main import "fmt" import "time" import "sync/atomic" import "runtime" func main() { // 定义一个整数 var ops uint64 = 0 // 使用50个线程给ops累加数值 for i := 0; i < 50; i++ { go func() { for { // 每次加1 atomic.AddUint6...阅读全文

博文 2016-09-17 01:00:05 kc87654321

goconfig使用解析

注意事项 本博客隶属于 goconfig - 课时 1:goconfig 使用解析 请注意配套使用。 本博文为 goconfig - Go 语言 INI 解析器的配套博客,旨在通过文字结合代码示例对该库的使用方法和案例进行讲解,便于各位同学更好地使用和深入了解。 库简介 goconfig 是一个由 Go 语言开发的针对 Windows 下常见的 INI 格式的配置文件解析器。该解析器在涵盖了所有 INI 文件操作的基础上,又针对 Go 语言实际开发过程中遇到的一些需求进行了扩展。相对于其它 INI 文件解析器而言,该解析器最大的优势在于对注释的极佳支持;除此之外,支持多个配置文件覆盖加载也是非常特别但好用的功能。 下载安装 您可以通过以下两种方式下载安装 goconfig: gopm get...阅读全文

博文 2014-10-04 19:27:34 dandan.fs

golang基础教程-快速入门go语言【含视频】

此教程主要对go语言做了基本的语法和使用介绍,希望可以让想入门的小伙伴可以快速的学习go语言。教程仅有不到2个小时,但是可以快速带你进入golang的世界;如果你花费了4个小时边观看边实践,那么你一定会熟悉golang的基本使用~!~教程内容基本介绍,安装部署,运行第一个程序及基础介绍,开发工具介绍,go module,基础语法,常用数据结构,函数介绍,指针,结构体,接口,错误处理,协程,通道,通道选择器及常用函数。教程目录01-03.golang安装部署.md04.golang开发工具安装.md05.goModules介绍.md06.golang基础语法.md07.golang常用数据结构.md08.golang函数介绍.md09.golang指针结构体接口.md10.golang的错误处...阅读全文

Google抛弃C语言,采用Go语言重写Go编译器

### 目前的Go编译器 ### 目前Go编译器gc基于C语言,是从Plan 9的C编译器衍生出来的,其中保持了原有的汇编程序、C编译器和链接器,而部分针对Go的编译器(gc/6g/8g/5g)使用C语言进行了重写。 ### 为何要采用Go语言实现 ### Russ Cox指出,采用Go语言来实现编译器相比C语言的优势在于: - 编写正确的Go代码要比编写正确的C代码容易 - 调试不正确的Go代码要比调试不正确的C代码容易 - Go编译器必然需要对Go有个很好的了解,而使用C语言实现则增加了一个不必要的二次需求 - 与C相比,Go语言对并行程序执行得更好 - 对于模块化、自动重写、单元测试以及分析,Go比C有更好的标准支持 - 使用Go比使用C更加有趣 ...阅读全文

Google在iTunes商店发布Go语言写的一款大数值计算器

Google近日在iTunes商店发布一款使用Go语言的大数值计算器Ivy big number calculator: ![大数值计算器](http://img.blog.csdn.net/20150713192354480) [Ivy big number calculator iTunes地址](https://itunes.apple.com/us/app/ivy-big-number-calculator/id1012116478?mt=8) Google Play 上也发布了 Android 版本...阅读全文

请教一个golang如何通过代理服务器验证问题

最近在做一个简单测试,在公司内网实现抓取外网一个网页,但是因为公司是通一个代理服务器出去的,所以需要先通过代理服务器验证。找了好久的资料实在没找到,我用c#可以实现。主要是不知道golang下面怎么实现代理服务器的验证,代码是在网上一个关键代码如下: func fetch(url, proxy_addr *string) (html string) { transport := getTransportFieldURL(proxy_addr) client := &http.Client{Transport: transport} req, err := http.NewRequest("GET", *url, nil) ****req.SetBasicAut...阅读全文

Go 定时器/延时触发器

Go 可以借助 time.After/time.Ticker 来实现延迟/定时触发器,主要原理是借助无缓冲channel无数据时读取操作会阻塞当前协程,Go会在给定的时间后向channel中写入一些数据(当前时间),故阻塞的协程可以恢复运行,达到延迟或定时执行的功能。 延迟执行 time.After(d Duration) 好像不如直接用 time.Sleep(d Duration)舒服,但存在即合理,time.After(d Duration)的强大之处在于是基于channel的,可以在不同的协程间同步传递。 package main import ( "time" "fmt" ) func main() { fmt.Println(time.Now().Format("2006-01-0...阅读全文

博文 2019-05-23 20:34:38 big_cat

Mac上配置VSCode golang调试器dlv

一、生成代码签名证书 1 打开"钥匙串访问" 2 打开菜单 钥匙串访问/证书助理/创建证书... 3 名称: dlv-cert 身份类型: 自签名证书 证书类型: 代码签名 并 选择"让我覆盖这些默认值" 4 单击"继续", 有效期(天数): 365 这里你可以自己修改, 我改为3650 5 一路继续下去, 直到看到"指定用于该证书的位置" 钥匙串 选择 "系统" 并单击"创建"按钮 6 重启系统之后, 再打开"钥匙串访问", 选择"系统", 就会看到创建好的"dlv-cert"证书. 7 右键"dlv-cert"证书, 选择"显示简介"->"信任"->"代码签名" 修改为: 始终信任 二、安装调试器dlv sudo go get -u github.com/derekparker/delv...阅读全文

博文 2017-09-05 02:35:11 FredGan

阿里云高性能时序数据库 HiTSDB 启动公测!

摘要: 2017云栖大会·上海峰会上,阿里云发布了面向物联网场景的高性能时间序列数据库 (High-Performance Time Series Database , 简称 HiTSDB) 。HiTSDB 可支持每秒1000万时序数据点写入;具备PB级别的数据存储能力,提供高效压缩算法,整体存储成本降低90%;提供时序数据插值计算,降精度计算,时间纬度聚合计算,空间纬度聚合计算的能力。 HiTSDB 是一种高性能、低成本、稳定可靠的在线时序数据库服务;提供高效读写,高压缩比存储、时序数据插值及聚合计算。是物联网(IoT)设备监控系统 ,企业能源管理系统(EMS),生产安全监控系统,电力检测系统等行业领域的专业数据库。 HiTSDB 打造物联网智慧园区 HiTSDB 已经在...阅读全文

简单的spider框架-带sample

之前参考别人的一些材料,做的一个简单的spider框架,里面带有一个小sample,以前挂在oschina上,现在挂到github上,欢迎大家批评给建议。 https://github.com/colefan/game_spider 另外,在做一个tcp服务器框架,还在制作中,有兴趣的同学,相互讨论哦。 https://github.com/colefan/gsg...阅读全文

寻找同道人-go语言开发

我们的目标:建立自己的艺术电商平台 我们的语言:golang 我们的要求:热爱go语言。致力于go语言开发。 我们希望你有:2年及以上GoLang开发工作经验,1年以上Golang服务器端开发经验 我们能给你的:可以在GO语言方面得到的提升及发挥,有可以探讨并且共同成长的同事,有施展的平台与空间,富有艺术气息的工作环境,舒适良好的生活环境,当然还有很优渥的薪资待遇。 有意愿的小伙伴,快来联系我吧! QQ:1439922309 0571-8168116...阅读全文

阿里云播放器SDK的正确打开方式 | 功能、架构与应用(一)

阿里云播放器SDK(ApsaraVideo for Player SDK)是阿里视频云端到云到端服务的重要一环,除了支持点播和直播的基础播放功能外,还深度融合视频云业务,支持视频的加密播放、安全下载、首屏秒开、低延时等业务场景,为用户提供简单、快速、安全、稳定的视频播放服务。本文将从产品特点、技术架构、点播和直播场景中播放器的应用等几个方面来介绍阿里云播放器SDK。 阿里云播放器SDK具有哪些特点? 一、 快速接入 因为面对的是不同层次的开发者,在接入成本上需要考虑的尽量全面。为此,阿里云播放器提供了详尽完备的文档和场景化的DEMO,为用户参考使用,另外,视频指导教程和针对不同问题和场景的专题介绍也能帮助用户更好、更快地接入。 二、 简单集成 Android和iOS提供统一接口...阅读全文

golang的tcpsocket服务器心跳连接的处理

//HeartBeating, determine if client send a message within set time by GravelChannel // 心跳计时,根据GravelChannel判断Client是否在设定时间内发来信息 func HeartBeating(conn net.Conn, readerChannel chan byte,timeout int) { select { case _ = <-readerChannel: Log(conn.RemoteAddr().String(), "get message, keeping heartbeating...") conn.SetDeadline(time.Now().Add(time.Durati...阅读全文

博文 2017-09-19 12:30:01 ipub520

分布式文件服务器godfs

godfs ========== [![Build Status](https://travis-ci.org/hetianyi/godfs.svg?branch=master)](https://travis-ci.org/hetianyi/godfs) [![go report card](https://goreportcard.com/badge/github.com/hetianyi/godfs "go report card")](https://goreportcard.com/report/github.com/hetianyi/godfs) ### ```godfs``` 是一个用go实现的轻量,快速,简单易用的分布式文件存储服务器。 ```godfs``...阅读全文

【原创】k8s源码分析------第三方库go-restful分析

由本人空间转过来,空间地址为http://user.qzone.qq.com/29185807/blog/1458275362 我们先从go语言的http server来入手 先看net/http包中 server结构体中,有很多参数,其中handler则为入口处理函数。handler其实是一个interface 我们再看net/http包另外一个结构体 ServerMux,其实就是一个实现了Handler的类。并且其也封装了了路由添加的一些函数,方便使用者来进行路由的定制化。 说明:go-restful源码路径为github.com/emicklei/go-restful ,并且为k8s v1.1.1稳定版本中所包含的版本 下面我们进入到go-restful。首先大致说下其框架结构。 一个...阅读全文

博文 2016-03-20 15:00:05 screscent

studygolang源码阅读小结 <二>

## 准备数据库模块 ## 1. 数据库创建 首先安装MySql,地址http://www.mysql.com/downloads/mysql/,Macos下选择DMG安装,否则需要手动安装。100多M,需要注册登陆之后才能下载。 安装完成之后创建一个数据库服务器,(使用MySql Workbench GUI更方便一些),**并使用database/文件夹下的两个sql文件创建并初始化数据表** 2.DSN设置 studygolang的数据库采用MySql数据库的go语言实现版本,在conf文件夹下找到config.json文件,里面有这样两个key value值 "drive_name": "mysql" ...阅读全文

Go Play Space一个可以直接在浏览器中编写和运行Go程序的Playground

[Go Play Space](http://www.ctolib.com/iafan-goplayspace.html "Go Play Space")一个可以直接在浏览器中编写和运行Go程序的Playground。采用Go语言构建(使用GopherJS),一个Go→JavaScript 编译器,和Vecty, 一个GopherJS类似的React的前端). ![b3f0a4d0-496d-11e7-8be2-9ab88e856b8c.gif](http://studygolang.qiniudn.com/170607/cba62fada60301fd18d677a8694bd21a.gif) 在线试用: https://goplay.space ...阅读全文