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

为什么选择golang写手机游戏服务器

选择golang做游戏服务器开发 经过大半年的手机游戏运营、维护、后续开发,对下一个网络游戏的服务器端开发技术选型的需求如下:1. 体系成熟,有大型成功案例2. 开发效率高3. 性能高,最好是支持并行技术充分利用多cpu资源4. 代码加密发布5. 开发逻辑简单,如多线程同步、加锁、多进程同步就比较复杂6. 易学易用,如果是新技术 可选技术对比 我对可以选择的技术平台经过自己的一些分析总结如下(一己之言): 项目 nodejs python c++/ruby erlang golang 体系成熟 4 3 5 4 3 开发效率 5 5 3 3 5 性能 3 3 5 5 4 加密发布 3 0 4 3 5 逻辑简单 5 5 3 4 5 易学易用 5 5 2 1 4 跨平台 5 5 5 5 5 其实聪...阅读全文

博文 2014-10-04 19:26:08 Creak_Phone

gogoprotobuf使用

在go中使用google protobuf,有两个可选用的包goprotobuf(go官方出品)和gogoprotobuf。 gogoprotobuf是完全兼容google protobuf,而且经过我一些测试,它生成大代码质量确实要比goprotobuf高一些。先忙一一说明其一些选项的意义。 1 gogoproto.goproto_enum_prefix 如果选项为false,则生成的代码中不加"E_"。 enum E { // option (gogoproto.goproto_enum_prefix) = false; A = 0; B = 2; } const ( // option (gogoproto.goproto_enum_prefix) = false; E_A E = 0...阅读全文

博文 2015-03-14 17:00:00 alexstocks

使用腾讯云函数在更新COS时自动刷新CDN缓存

title: 使用腾讯云函数在更新COS时自动刷新CDN缓存 categories: [后端开发, NodeJS开发] [系统与运维] abbrlink: 8693d6cf date: 2019-11-09 17:03:48 tags: 0x01.背景介绍 最近因为服务器资源变动,把之前的Wordpress博客迁移到了Hexo中。Hexo博客的使用形式和Wordpress相差很多,并不是动态网站,而是自行存储博客源内容(Git仓库或其他硬盘存储方式均可以),最终使用hexo-cli工具将博客的内容生成静态网页资源,部署到Apache等HTTP服务中即可访问。经过一番调研,最后决定将Hexo生成的静态网页资源放到了腾讯云的COS(对象存储服务)中,COS支持静态网站功能,而且提供每月的免费空间...阅读全文

[译]MongoDB 3.0发布说明

文来自:http://docs.mongodb.org/manual/release-notes/3.0/ 2015年3月3日 MongoDB 3.0现已可供使用。关键新特性包括支持WiredTiger存储引擎,插件化存储引擎API,SCRAM-SHA-1身份验证机制,以及改进的explain功能。 MongoDB运维管理器(MongoDB Ops Manager),包括自动化,备份,监控现在可供使用。查看运维管理器和运维管理器发布说明以获取更多内容。 小版本发布 3.0.1 - 2015年3月17日 修复了WiredTiger中插入和检查点竞争条件导致的记录丢失问题:SERVER-17506 解决了WiredTiger定容集合实现不当导致的服务器崩溃问题:SERVER-17345 解决初始...阅读全文

博文 2015-04-10 03:00:02 yaoxing

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 daemon

最近一段时间在学习go语言的使用 最近在实现一个功能,需要程序有参数选项:deamon; 也就是支持后天运行。于是上网google一个golang deamon package main import ( "fmt" "log" "os" "runtime" "syscall" "time" ) func daemon(nochdir, noclose int) int { var ret, ret2 uintptr var err syscall.Errno darwin := runtime.GOOS == "darwin" // already a daemon if syscall.Getppid() == 1 { return 0 } // fork off the parent ...阅读全文

博文 2014-10-04 19:26:08 cfxks1989

Go编译选项(笔记)

来自《the way to go》 The compiler flags are: C:\Users\ivo>8g gc: usage: 8g [flags] file.go... flags: -I DIR search for packages in DIR -d print declarations -e no limit on number of errors printed -f print stack frame structure -h panic on an error -o file specify output file // see § 3.4 -S print the generated assembly code -V print the compiler vers...阅读全文

博文 2015-06-18 09:02:17 oliveevilo

解数独程序分享,有问题求解!!!

下面是我写的解数独的代码,呵呵,水平有限,比较乱,但感觉解题还是比较快的,代码中的那个题号称史上最难的11级数独,不到2秒也能解出。 我有个问题,我这个程序只能得出一组答案,怎么才能得出成立的多个答案呢? 求大神帮忙看看! package main import "fmt" //数独中的单元格 type Box struct { Figure uint8 Lock bool //未填数的格可以填写的数字数目 nOp int //未填数的格可以填写的数字列表 Op []int } //数独题 t...阅读全文

Bootstrap导入JavaScript插件

u=2721599714,2937226223&fm=21&gp=0 导入JavaScript插件 Bootstrap除了包含丰富的Web组件之外,如前面介绍的下拉菜单、按钮组、导航、分页等。他还包括一些JavaScript的插件。 Bootstrap的JavaScript插件可以单独导入到页面中,也可以一次性导入到页面中。因为在Bootstrap中的JavaScript插件都是依赖于jQuery库,所以不论是单独导入还一次性导入之前必须先导入jQuery库。 一次性导入: Bootstrap提供了一个单一的文件,这个文件包含了Bootstrap的所有JavaScript插件,即bootstrap.js(压缩版本:bootstrap.min.js)。 具体使用...阅读全文

golang 通过 qq 开通smtp 发送邮件的 全步骤(tls +ssl)

首先 打开邮件 2 找到 》设置 》账户 选项卡 这里会根据你的账号安全添加密保 ,添加密保 后 会给你 一个 密钥 (2)验证密保 (3)获取授权码 这个授权码 一会会用到 提前须知 :ssl, tls, 是不同的协议 首先 我们用starttls 协议 写 一个 简单的 例子 1 ============= = 1 start ===================== package main import ( "net/smtp" "strings" "fmt" ) func SendToMail(user, pwd, host, to, subject, body, mailtype string) error{ hp := strings.Split(host, ":") aut...阅读全文

博文 2018-01-15 15:33:06 lwtcumt

linux下使用goagent

自:http://www.xzcblog.com/?post=125 宣赠超的博客 说到穿越长城的软件有很多,不过最近最有名而且免费的就非goagent莫属了,goagent是利用谷歌的GAE服务来翻越长城的,具有速度快,稳定的特点,正好今天我的ssh代理过期,于是准备以后使用goagent来FQ。 1:申请appengine.google.com的个人apppid 首先登录appengine.google.com,申请个人apppid,它将在Goagent中用到。appid只要唯一就可以,必须是英文字符和数字。 二、安装和本地部署 安装goagent服务端 既然已经成功的申请到了apppid,那么接下来的工作就是安装goagent的服务端了。 1:下载 首先我们下载goagent:http...阅读全文

博文 2014-10-04 19:26:26 majianbin

golang in windows emacs hightlight howto

windows emacs 语法高亮 1) .find ".emacs" file 打开emacs,然后在Options下随便挑个选项,点Save Options,看到下面的提示 Wrote [path]....".emacs" 2).copy el file copy %goroot%/misc/emacs/*.el [path]/.emacs.d/ 3).modify .emacs file add (setq load-path (cons (expand-file-name "~/.emacs.d/") load-path)) (require 'go-mode-load...阅读全文

博文 2014-10-04 19:26:08 idcenter

golang 设计模式之选项模式

有时候一个函数会有很多参数,为了方便函数的使用,我们会给希望给一些参数设定默认值,调用时只需要传与默认值不同的参数即可,类似于 python 里面的默认参数和字典参数,虽然 golang 里面既没有默认参数也没有字典参数,但是我们有选项模式 可变长参数列表 在这之前,首先需要介绍一下可变长参数列表,顾名思义,就是参数的个数不固定,可以是一个也可以是多个,最典型的用法就是标准库里面的 fmt.Printf,语法比较简单,如下面例子实现任意多个参数的加法 func add(nums ...int) int { sum := 0 for _, num := range nums { sum += num } return sum } So(add(1, 2), ShouldEqual, 3) So...阅读全文

博文 2018-03-11 13:34:40 hatlonely

【go tip】建议 gofmt 命令加上 -s 选项

项目在执行 `go build` 或 `go install` 之前,建议执行 `gofmt`,同时加上 `-w -s` 选项,保持代码风格一致。 `-s` 选项会简化代码的写法,比如: ``` []*Person{ &Person{Name: "zhangsan", Age: 21}, &Person{Name: "lisi", Age: 22}, }``` 会被简化为: ``` []*Person{ {Name: "zhangsan", Age: 21}, {Name: "lisi", Age: 22}, } ``...阅读全文

RPC 的网络复用和成帧协议 TChannel

TChannel 是用于 RPC 的网络复用和成帧协议。 ### 设计目的 * 容易用多种语言实现,尤其是 JS 和 Python。 * 高性能转发路径。中间件可以快速做出转发决策。 * 请求/回复模型不再按顺序,慢速请求不会堵在队列前头,阻止后续的快速请求。 * 大型请求/响应,可能/必须分成碎片成片,逐步发送。 * 可选 checksums. * 可用于在端点之间输送多种协议,例如 HTTP+ JSON 和 Thrift...阅读全文

开源项目 2015-08-27 16:00:00 uber

理解OAuth 2.0

OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。 一、应用场景 为了理解OAuth的适用场合,让我举一个假设的例子。 有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让"云冲印"读取自己储存在Google上的照片。 问题是只有得到用户的授权,Google才会同意"云冲印"读取这些照片。那么,"云冲印"怎样获得用户的授权呢? 传统方法是,用户将自己的Google用户名和密码,告诉"云冲印",后者就可以读取用户的照片了。这样的做法有以下几个严重的缺点。 (1)"云冲印"为了后续的服务,...阅读全文

博文 2017-11-29 01:55:56 阮一峰的网络日志

Linux下使用goagent

说到穿越长城的软件有很多,不过最近最有名而且免费的就非goagent莫属了,goagent是利用谷歌的GAE服务来翻越长城的,具有速度快,稳定的特点,正好今天我的ssh代理过期,于是准备以后使用goagent来翻墙。 1:申请appengine.google.com的个人apppid 首先登录appengine.google.com,申请个人apppid,它将在Goagent中用到。appid只要唯一就可以,必须是英文字符和数字。 二、安装和本地部署 安装goagent服务端 既然已经成功的申请到了apppid,那么接下来的工作就是安装goagent的服务端了。 1:下载 首先我们下载goagent:https://code.google.com/p/goagent/ 解压到用户根目录,然后...阅读全文

【译】为GatsbyJS选择一个合适的后端

文链接 Picking a back-end for GatsbyJS 作者 Ross Whitehouse 不久之前,我又心血来潮想要把我的作品集站点重做一遍(大概六个月就会有这么一次),这回,我打定主意要学着用一用Gastby。但是事情好像还没这么简单。使用Gastby完成前端部分后,你打算怎么处理后端呢?看看这篇文章吧,现在我们有非常多的选择! Gastby 背景:为什么要用Gatsby? 要说还有什么东西的选择是比无头内容管理系统(Headless Content Management System, Headless CMS)的可选项更多的,那就只有静态站点生成器(Static Site Generator, SSG)了。我们可以用Hugo(基于Golang),Jekyll(基于R...阅读全文

博文 2018-11-23 01:34:41 吴子寒

Bootstrap导航条

导航(基础样式) 导航对于一位前端人员来说并不陌生。可以说导航是一个网站重要的元素组件之一,可以便于用户查找网站所提供的各项功能服务。导航的制作方法也是千奇百怪,五花八门。在这一节中将向大家介绍如何使用Bootstrap框架制作各式各样的导航。 在Bootstrap框架将导航独立出来成为一个导航组件,根据不同的版本,可以找到对应的源码: ☑ LESS版本:对应的源文件是navs.less ☑ Sass版本:对应的源文件是_navs.scss ☑ 编译后版本:对应源码是bootstrap.css文件第3450行~第3641行 导航基础样式 Bootstrap框架中制作导航条主要通过“.nav”样式。默认的“.nav”样式不提供默认的导航样式,必须附加另...阅读全文

学习Golang语言(3)

变量声明 Go语言不同于其他语言的地方在于:变量的类型在变量名之后。例如: C中: int a;而在Go中:var a int。 此外,Go语言在定义变量时候如果没有赋值,则为该变量赋值为其类型的零值。 变量声明有两种方式:使用var关键字;或者使用:= 操作符赋值。 例如: var number int //声明变量number为int数据,此时默认复制为0 number := 2 //直接声明变量number,同时赋值为2 注意 使用 := 操作符声明变量和其初始值,不必明确指明变量类型,因为初始值已经说明了变量的类型。 :=操作符同时完成了变量声明和赋值的操作。 使用:= 操作符,对于整形字面量Go语言推断其类型为int,对于浮点型字面量Go语言推断其类型为float64 对于复数字面...阅读全文

博文 2015-06-17 23:08:17 lz0426001

ERC721协议详解 --Solidity

pragma solidity ^0.4.20; /// Note: the ERC-165 identifier for this interface is 0x80ac58cd. interface ERC721 /* is ERC165 */ { //变更NFT所有权//NFT的创建和销毁时触发//除外情况:创建合约时,不需要transfer也可以创建和分配NFT//发起transfer时,approved address会被重置为none event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId); //在NFT的approved address变更或重新确认时被触发。//z...阅读全文

博文 2018-12-19 18:34:44 kakushao

慎用 -race 选项

go run -race xxx... -race选项用于检测数据竞争,在使用了-race的情况下,go程序跑起来之后,如果发生数据竞争,它就能检测到,它就会一层一层地把错误栈打印出来,就像打印panic一样。通常用于开发。当然开启了该选项也未必能检测出潜在的数据竞争,当你的程序跑到数据竞争的片段它就会检测出来,你的程序可能有很多模块,当程序没有执行到数据竞争的地方那直到整个程序执行结束它也检测不出来。 使用-race选项相比不开启此选项会消耗更多的cpu计算资源和内存,实际上我的情况是: 内存方面:不开启此选项时消耗113MB内存,开启之后550MB(我数学不好,大概是5倍左右) cpu方面:不开启此选项1s可以完成的操作,开启之后15s 用的是"golang.org/x/crypto/b...阅读全文

博文 2020-05-04 23:32:40 边缘青年_739d

(深圳)BlockABC招聘高级后台工程师(golang&nodejs)

15k-30k /深圳 / 经验3-5年 / 本科及以上 / 全职职位诱惑:福利好,腾讯系,技术大牛,资金充裕工作职责:1、负责现有项目的后台开发工作 2、与团队小伙伴配合完成产品迭代 3、可选择性地研究具有代表性的区块链的底层技术任职资格:1、统招本科以上学历,2 年及以上工作经历2、golang 或 nodejs 服务器开发经验者优先3、责任心强,独立应变能力强,抗压能力强4、踏实勤奋加分项: 1、对区块链感兴趣(重点是感兴趣,没经验没关系,老司机可以带路)2、大型互联网公司做过优秀项目 币圈老韭菜3、独立承担过项目架构设计者工作地址深圳 - 南山区 - 科技工业园大厦有兴趣请私信:Gin_Jeff,或发简历到jeff@blockabc.com注明招聘信息来源链才网。详情:https:/...阅读全文

博文 2019-01-21 20:34:44 链才网

Windows Terminal 设置

最近装了WT,比powerShell的原装terminal好看一万个cmd的Terminal,值得上手,记录下我自己的配置。 自己配置之前也在网上浏览了下别人的配置,自己配下来发现和网上所说的有些差异。 profiles.json文件是保存在C:\Users\p\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState目录下的。在上级目录中提供了一个default.json文件,给出了默认的设置,然而修改这个默认文件是没有用的,该文件仅仅是告诉你默认设置是什么,如果你想改变默认设置,需要在profiles.json文件中override。 profiles.json中的设置在WT的项目页面有逐个的解释,...阅读全文

博文 2019-11-14 23:33:44 更多精彩内容WindowsTerminal尝鲜踩坑指南luyanfcpMac打造高效个性Terminal(一)之 iTerm你清澈又神秘SpringMVCjack_jerryoracle错误集合我想起个好名字Spring Boot 2.0.0参考手册_中

proto3默认值与可选项

proto3默认值与可选项 来源: kaelzhang81.github.io 内容简介:proto3默认值与可选项 本文转载自:http://kaelzhang81.github.io/2017/05/15/proto3默认值与可选项/?utm_source=tuicool&utm_medium=referral,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有。 proto3默认值与可选项 背景介绍 目前开发的产品架构采用微服务架构,微服务之间通信的消息格式则使用的proto3标准协议格式。 proto介绍 全称Protocol Buffers(下面简称PB)是Google公司开发的一种数据描述语言,是一种类似 XML 但更灵活和高效的结构化数据存储格式,可用于结构化数据的序...阅读全文

博文 2020-05-09 16:35:04 XBruce

Go For It ,一个灵活的待办事项列表程序

Go For It,是我们开源工具系列中的第十个工具,它将使你在 2019 年更高效,它在 Todo.txt 系统的基础上构建,以帮助你完成更多工作。每年年初似乎都有疯狂的冲动想提高工作效率。新年的决心,渴望开启新的一年,当然,“抛弃旧的,拥抱新的”的态度促成了这一切。通常这时的建议严重偏向闭源和专有软件,但事实上并不用这样。 这是我挑选出的 19 个新的(或者对你而言新的)开源工具中的第 10 个工具来帮助你在 2019 年更有效率。 Go For It有时,人们要高效率需要的不是一个花哨的看板或一组笔记,而是一个简单、直接的待办事项清单。像“将项目添加到列表中,在完成后检查”一样基本的东西。为此,纯文本 Todo.txt 系统可能是最容易使用的系统之一,几乎所有系统都支持它。 Go Fo...阅读全文

博文 2019-03-16 00:35:18 wx5c61773e59d70

一、环境搭建

点击链接获得对应版本的包:https://studygolang.com/dlwindow下直接安装msi就好,linux看这个链接我想把go的开发环境迁移到sublime上,所以还有以下步骤:1.打开sublime > 首选项 > 浏览插件目录2.这时候打开一个文件夹,下载这个,解压之后把文件夹放到步骤一打开的目录3.点击 > 工具 > 编译系统 > 新建编译系统 输入{ "cmd": ["go", "run", "$file_name"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "working_dir": "$file_path", "selector": "source.go"}命名为Golang,然后选用这个编译...阅读全文

博文 2018-11-22 05:34:39 eftales

[goD01] The Go Programming Language Specification

effective go这里介绍应该先完成以下内容: 语言说明书 Tour of Go (线上练习) How to write Go code This document gives tips for writing clear, idiomatic Go code. It augments the language specification, the Tour of Go, and How to Write Go Code, all of which you should read first. 2之前练习过,虽然现在忘的差不多了,3已结完成。开始啃骨头—— The Go Programming Language Specification Version of Jan 14, 2020...阅读全文

博文 2020-06-25 00:33:17 戈壁堂

VS Code 配置golang编译选项

安装一大堆插件后终于可以调试了,当我想输出调试好的文件时发现没有输出选项,需要手动添加: 方法:工作区配置文件设置编译选项 "settings": { "go.buildFlags": ["-ldflags=-s -w -H windowsgui"] } 不要使用网上教的 "-ldflags=\"-s -w -H windowsgui\"" 配置,全都会报错,什么不加就OK了。 然后用ctrl+shift+P -> Go:build workspace 编...阅读全文

GRPC源码分析 1.代码结构以及通用组件解析

base in https://github.com/grpc/grpc-... 目录概览 可选项(Opts 包装(Wrapper 组件式编程(Builder & Regist 一次性事件(grpcsync.Event 无界channel(UnboundedBuffer 目录概览 摘要了一部分文件目录,用来描述在grpc中不同目录层级的主要作用。 grpc ├── 顶层目录(package grpc, 主要包含一些grpc提供的接口文件和涉及到具体实现的一些包装器文件 ├── clientconn.go // grpc接口文件,主要提供 Dial 接口。 ├── balancer_conn_wrappers.go // 各种包装器 *_wrappers ├── resolver_conn_w...阅读全文

博文 2020-06-04 17:33:35 pojol