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

深入理解Go之generate

概述 开发中经常有定义错误码这样的需求,错误码唯一标识具体的错误信息。另外还需要设置每个错误的具体描述。在 HTTP 协议中,200 表示 "OK",404 表示"Not Found"。在 Linux 系统中,ENOENT 的值为 2,表示"No such file or directory"。syscall包中定义了Errno类型表示系统错误码,非常易用使用,建议去看看。 每次定义错误码的时候,同时需要添加描述信息。而且描述信息经常会忘。本文介绍go generate + stringer工具链优雅地解决这个问题。 这里顺带提一句,golang tools 是官方提供的工具集,是 Gophers 的工具宝库,值得好好探索一番,参见Github 地址,文档地址。里面有丰富的开发辅助工具,所有...阅读全文

博文 2019-08-23 00:02:39 孤雨

1个流利星球和1000位同学的故事

![]( https://wx3.sinaimg.cn/mw690/76e2fc92gy1fpes2wdhfzj20hs0dcjt3.jpg) 在过去的 2017 年,流利星球的人数突破了 1000 位同学,平均年龄 26 岁,五湖四海聚集于此。 在加入流利星球之前,他们中很多人是独立设计师、创业家、自由开发者、摄影制片人、歌手、旅行达人、健身教练。 ![]( https://wx2.sinaimg.cn/mw690/76e2fc92gy1fpes5fms7tj20hs0bv0tz.jpg) **我们今天来谈谈这 1000 位同学为何要加入流利说。** “我是流利说的老用户,很喜欢我们的 app,大学的时候经常会用,毕业的时候就想,讲不定可以试试看啊,所以后...阅读全文

[上海][点融网]明日银行跪着招 Go 工程师,快来这里收获技术、产品、用户和各种理财秘籍

点融网-上海黄浦-互联网金融 融资状况:2015 年渣打银行领投,C 轮 2.07 亿美金 行业地位:行业排名 No.3,互联网金融协会常务理事单位 公司网址:www.dianrong.com 渣打入股点融网大猜想,“明日银行”长什么样? 传统银行首次注资 P2P 点融网 C 轮融 2.07 亿美元 帮助中国人更了解“钱”是什么,通过技术和产品把“金融”拉下神坛,让更多的人明白钱是可以为你工作的,而不是你为钱而工作! 希望你是下面这样的 薪资待遇 20-30K 起(高级岗),不设上限,鼓励创新和试错,充裕成长空间,还各种大神教你理财内幕干货,更有各种内部投资渠道福利(保守估计相当于每年多 1 薪) G...阅读全文

go get github.com/Shopify/sarama

go get github.com/Shopify/sarama安装失败我在window10系统上安装go get github.com/Shopify/sarama出现了以下问题。unrecognized import path "golang.org/x/crypto/md4": https fetch: Get "https://golang.org/x/crypto/md4?go-get=1": dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or ...阅读全文

博文 2020-04-29 08:32:46 行走的大神

google appengine的yaml文件,配置说明

application: myapp # 你的google app id version: 1 # 版本 runtime: go # 运行时语言 api_version: go1 # API的版本 default_expiration: 1d 2h 3m 4s # 可选的,如果静态资源没有设置expiration,则会使用该项 handlers: # 分发器 - url: /stylesheets # 扩展的posix regex表达式,可以使用\W, \w, \S, \s, \D, \d static_dir: stylesheets # 静态目录 mime_type: xxxx # 可选的,如果设置了,就会指定response的类型 expiration: 1d 2h 3m 4s # 可...阅读全文

博文 2014-10-04 19:27:47 刘地

软件工程师的大局观

不断的复制粘贴和简单排列组合的人叫码农,明白自己编程设计的人叫软件工程师。 了解 C语言 的过程式,HTML/css/js 的文档声明式,Java/Ruby 的面向对象式,Golang 的组合式和最近看的 Lisp(Scheme) 的函数式这些不同的思维模式让我渐渐明白了:一个优秀的软件工程师应该在基本的计算机知识上,有整体意识,有大局观,在工程中的各个阶段做出最合理的设计决策,注意这里说的是合理,而不是最好,因为工程是为了解放人类脑力和体力。 设计决策大到设计语言选型,数据库,软件架构,网络协议,小到模块设计,类,方法,变量命名。我记得高中有个足球教练说过:一个人会不会踢球,看他踢一脚就够了。 那么问题来了,如何做出合理的设计呢? 对需求的理解 对现实条件的评估 对工程的预期(人月) 平衡...阅读全文

博文 2017-09-29 20:04:58 王安正

做一个商城网站需要什么功能

从网站建设的角度来讲,制作一个商城网站是要比制作其他类型网站复杂,因为商城网站所需要的功能、版面、要素、内容比一般网站要多,所以在制作过程中需要很多时间去进行各方面的测试与调整。在制作网站的时候如果不小心写错码或者一个文件错误可能就会导致整一个网站瘫痪,所以想要做好一个商城网站,就必须要做的细心的多做调整。 做一个上商城网站需要什么样的功能呢?在做网站的时候难免会出现纰漏,更何况是做一个商城网站,制作商城网站等于是一个大型的网站建设工程。四川广元网站建设公司的资深程序员浅析:现在无论是制作B2C商城网站还是C2C商城网站,想要做好一个商城网站,前期的工作是不能敷衍了事的。使用建站宝盒进行商城网站制作,能够避免许多小问题的出现,不用因为一些问题的发生导致...阅读全文

使用 Go 定义错误码

简介 设计错误码 代码实现 常见的错误码 总结 当前部分的代码 简介 不管在什么系统中, 定义错误码都是必不可少的. 错误码可以帮助定义问题, 通常错误码设计为某种模式结构, 可以判断出错误的级别, 错误的模块和具体错误信息. 设计错误码 一个良好结构的错误码有助于简化问题描述, 当前设计的错误码共有五位, 结构如下: 1 00 01 服务级别 模块 具体错误 第一位是服务级别, 1 为系统错误, 2 为普通错误. 第二三位是模块, 模块不是指 Go 中的模块, 而是指代某个范围, 比如数据库错误, 认证错误. 第四五位是具体错误, 比如数据库错误中的插入错误, 找不到数据等. 定义错误码的时候不光有 Code 数字, 也会有对应的文本信息, 通常, 文本分为两类, 一类是给用户看的, 另一...阅读全文

博文 2019-09-28 23:34:24 帅气猫咪

Golang语言社区--全网游戏定制解决方案

Golang语言社区-全网游戏定制解决方案 前言 社区从无到有经历漫长的6个月时间,社区的技术主打Golang语言基础及相关网络、存储内容;并没有跟风的去研究docker等前言技术,因为我们Golang社区主打的是游戏相关的技术,可能涉及到go语言及C++游戏服务器的相关技术;社区内容在后面会完全转入到游戏相关的内容,有服务器架构设计,游戏服务器存储解决方案、游戏通信服务器架构设计,游戏服务器快速部署解决方案、游戏服务器架构开源方案等1你有想法,我们团队有技术;为什么不合作?人生就应该多多去实践,而不是想的太多!!!Golang语言社区 寻求产品经理一枚,坐标: 全球(成都最佳)背景要求:至少大型互联网公司工作3年以上,我们要的是大互联网公司的理念,仅此而已。希望相信我们合作可以做的更好,人...阅读全文

博文 2016-10-20 08:00:08 u012798391

深入理解Go之generate

概述 开发中经常有定义错误码这样的需求,错误码唯一标识具体的错误信息。另外还需要设置每个错误的具体描述。在 HTTP 协议中,200 表示 "OK",404 表示"Not Found"。在 Linux 系统中,ENOENT 的值为 2,表示"No such file or directory"。syscall包中定义了Errno类型表示系统错误码,非常易用使用,建议去看看。 每次定义错误码的时候,同时需要添加描述信息。而且描述信息经常会忘。本文介绍go generate + stringer工具链优雅地解决这个问题。 这里顺带提一句,golang tools 是官方提供的工具集,是 Gophers 的工具宝库,值得好好探索一番,参见Github 地址,文档地址。里面有丰富的开发辅助工具,所有...阅读全文

博文 2019-08-24 00:04:18 darjun

聊聊初创公司的后端语言选型(小众语言)

在创业公司初创伊始,如何选择合适的语言决定了产品后续的技术栈和如何进行合理的业务支撑方向。如果你在读这篇文章之前,更倾向于选择Java/C#/PHP常见语言技术栈,我觉得对于你而言,这篇文章帮助不大。因为对你而言,这些技术栈意味着更加方便招人,更方便的故障处理资料等等。但是如果一个初创公司想要选择合理的小众语言技术栈,我想这篇文章对你也许有一些帮助。 在文章开始之前,我觉得有必要描述一下所谓的小众语言,这里我在最初进行技术选型时,考察了包括: Python: 你可能在接触爬虫、大数据分析等等方面听过Python的大名,大家都知道Pythonista都习惯说的一句话就是:人生苦短,我用Python。 Ruby: 你如果做过Web框架,你遇到最多的是很多人都会提到RoR框架。用过之后只有一个惊叹...阅读全文

博文 2017-02-10 15:45:16 kevin

完成比完美更重要?仅知道这句话可不够

导读 都说完成比完美更重要! 软件开发模式经过多年的演化,从传统的瀑布开发模型升级到了敏捷开发模型。 而到了互联网时代,迭代再次加快,产品直接是在互联网上生长。 然而,做产品总是要先出一个版本,再不断迭代,那从0到1的第一步应该怎么走?后续的迭代又应该如何演进呢? 重点笔记 迭代就是小步快跑,把最内核的部分先放出来,不断优化、小范围试错。 版本规划能力是产品经理的重要能力。 判断一个产品经理是否厉害,很重要的一条就是判断他设计的产品第一个版本有多简单、直接、切中要点,能不能直指人心。 产品复杂是因为产品经理不自信,只能从附加功能中找心理安慰。 产品设计应该找到内核,小步快迭代,而不是憋大招。 迭代中,重要的是次序,前一个动作是后一个动作的预动作。 迭代的价值: 对外部,可以快速得到用户的反馈...阅读全文

博文 2018-09-21 23:34:39 海之方

使用 Go 定义错误码

简介 设计错误码 代码实现 常见的错误码 总结 当前部分的代码 简介 不管在什么系统中, 定义错误码都是必不可少的. 错误码可以帮助定义问题, 通常错误码设计为某种模式结构,可以判断出错误的级别, 错误的模块和具体错误信息. 设计错误码 一个良好结构的错误码有助于简化问题描述,当前设计的错误码共有五位, 结构如下: 1 00 01 服务级别 模块 具体错误 第一位是服务级别, 1 为系统错误, 2 为普通错误. 第二三位是模块, 模块不是指 Go 中的模块, 而是指代某个范围, 比如数据库错误, 认证错误. 第四五位是具体错误, 比如数据库错误中的插入错误, 找不到数据等. 定义错误码的时候不光有 Code 数字, 也会有对应的文本信息, 通常, 文本分为两类,一类是给用户看的, 另一类是用...阅读全文

博文 2019-09-28 19:32:40 帅气猫咪

如何使用ARMS配置tengine的日志监控

摘要: 业务实时监控服务 ARMS 很好的提供了这么一个入口,为公司提供了一个实时查询Tengine运行情况的解决方案。在未来,ARMS将很好的和ODPS为公司监控形成互补方案,tengine日志日后可同时投递到ARMS和MaxCompute中: ARMS响应第一时间的多维度报警; MaxCompute来做深层次分析,例如接口的请求数、响应时长等,并有针对性地进行调优。 来自 深圳市小亿网络有限公司 王昕岩 最近公司通过业务实时监控服务 ARMS 成功搭建了基于tengine的日志监控系统。这里简单分享一下使用ARMS用于监控tengine日志的经验。 公司发展至今,现阶段所有接口都使用阿里的tengine作为web容器,类似nginx,在日志中也记录了包括host, ur...阅读全文

微服务错误处理的一些思考

前言 系统内和系统间的错误处理,贯穿系统整个开发、运行、消亡的生命周期,是代码书写过程中特别需要花心思的一点。一个地方报错了,我是直接返回,还是打印一行日志再返回?嵌套函数的报错,如何找到报错的根本原因?http或rpc接口中的错误码应该定义在每个response结构体内还是说通过http code、rpc error统一返回?本文会从系统内、系统间两个方面去阐述错误的定义、处理方式及相关的缘由。由于我平时主要使用go进行开发,系统内错误处理更多是从go角度出发。 系统内错误处理 "Go Proverbs” 复制代码 "Go圣经"中关于错误处理的有两条: 1.errors仅仅是变量;2.不要只是检查,更要平滑地处理errors。这两条其实既概括了我们平时处理errors的几种方式,又给出了处...阅读全文

博文 2020-04-01 16:34:31 cx3ptr

DEMO针对microsvs/base业务框架的DEMO演示

[demo](https://github.com/microsvs/demo)用于演示这个[base业务框架](https://github.com/microsvs/base)的使用,方便大家对它更加熟悉 demo由四个微服务构成:gateway、token、address和user 1. gateway作为网关,对外提供web服务 2. token对已登录用户进行身份验证 3. user获取用户相关信息 4. address提供地址服务。 ## DEMO截图 ### 配置中心 ![查询地址接口](https://gewuwei.oss-cn-shanghai.aliyuncs.com/tracelearning/WechatIMG48.jpeg)...阅读全文

开源项目 2018-12-26 14:53:31

Go 实现 自动检索 API 错误码代码行 并 打印成文档,例 markDown 形式等

#### 源码--GitHub:< ahref="https://github.com/af913337456/ErrorDocAutoPrinter">https://github.com/af913337456/ErrorDocAutoPrinter 如果你是一个`后端Server程序`开发人员。你应该知道,在你写完`API`之后,是需要给`客户端`的同学提供`调用`文档的。 例如下面一个`api handler`,`创建一个用户`。 ```golang func HandleCreateUser(w http.ResponseWriter,r *http.Request) map[string]interface{} { if r.Body ==...阅读全文

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) ...阅读全文

博文 2018-11-25 16:34:40 小马哥_Magical

比原链Bytom错误码一览

0XX API错误 BTM000", "Bytom API Error"非比原标准错误 BTM001", "Request timed out"API请求超时 BTM002", "Invalid request body"非法的API请求体 1XX为网络错误 BTM103", "A peer core is operating on a different blockchain network"区块链网络类型不匹配 2xx是签名相关的错误 BTM200 :"Quorum must be greater than 1 and less than or equal to the length of xpubs“ 需要签名的个数超过实际需求签名的个数 BTM201 :”Invalid xpub f...阅读全文

博文 2018-11-08 08:34:44 比原链Bytom

阿里巴巴淘票票专家分享:如何利用阿里云ARMS,搭建国际化在线售票的业务监控系统

摘要: 淘票票为了开拓国际业务,需要做国际化的在线售票,并选择了阿里云新加坡节点作为技术方案,项目上线后急需一套自动化的监控系统代替人肉维护监控。看了ARMS的功能说明,发现其刚好以很低的接入成本来满足我们业务实时监控的需求。 阿里巴巴旗下-淘票票 王伟 撰稿 1. 简介 淘票票为了开拓国际业务,需要做国际化的在线售票,并选择了阿里云新加坡节点作为技术方案,项目上线后急需一套自动化的监控系统代替人肉维护监控。看了ARMS的功能说明,发现其刚好以很低的接入成本来满足我们业务实时监控的需求,因此决定采用阿里云的业务实时监控服务(ARMS)做业务监控。 业务的基本需求是需要实时大盘和报警功能,对要实时统计订票接口的各种状态进行统计和报警,包括: 订票成功率,从业务层面看是...阅读全文

深入理解Go之generate

概述 开发中经常有定义错误码这样的需求,错误码唯一标识具体的错误信息。另外还需要设置每个错误的具体描述。在 HTTP 协议中,200 表示 "OK",404 表示"Not Found"。在 Linux 系统中,ENOENT 的值为 2,表示"No such file or directory"。syscall包中定义了Errno类型表示系统错误码,非常易用使用,建议去看看。 每次定义错误码的时候,同时需要添加描述信息。而且描述信息经常会忘。本文介绍go generate + stringer工具链优雅地解决这个问题。 这里顺带提一句,golang tools 是官方提供的工具集,是 Gophers 的工具宝库,值得好好探索一番,参见Github 地址,文档地址。里面有丰富的开发辅助工具,所有...阅读全文

博文 2019-08-28 11:32:52 darjun