网站首页 成长录 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。

Golang 序列化之 ProtoBuf
2020-06-10 03:09 admin golang序列化

**ProtoBuf:**是一套完整的IDL(接口描述语言),出自Google,基于C++进行的实现,开发人员可以根据ProtoBuf的语言规范生成多种编程语言(Golang、Python、Java等)的接口代码,本篇只讲述Golang的基础操作。据说ProtoBuf所生成的二进制文件在存储效率上比XML高3~10倍,...
阅读全文

Golang RPC 之 gRPC
2020-06-10 03:09 admin golangRPC

gRPC简介:>gRPC是一款高性能、开源的RPC框架,产自Google,基于ProtoBuf>序列化协议进行开发,支持多种语言(Golang、Python、Java等),本篇只介绍Golang的gRPC使用。因为gRPC对>HTTP/2协议的支持使其在Android、IOS等客户端后端服务的开发领域具有良好的前景。g...
阅读全文

golang-xorm库快速学习
2020-06-10 03:09 admin golangxorm学习

xormxorm是一个Go语言ORM库.通过它可以使数据库操作非常简便.全部文档[点我](https://link.jianshu.com?t=http://gobook.io/read/github.com/go-xorm/manual-zh-CN/)用法入门:**前提:定义本文中用到的struct和基本代码如下**...
阅读全文

influxDB+Grafana搭建监控平台
2020-06-10 03:09 admin influxDBGrafana搭建

简介1.**Influxdb**Influxdb是一个开源的分布式时序、时间和指标数据库,使用go语言编写,无需外部依赖。它有三大特性:*时序性(TimeSeries):与时间相关的函数的灵活使用(诸如最大、最小、求和等);*度量(Metrics):对实时大量数据进行计算;*事件(Event):支持任意的事件数据,换句...
阅读全文

Golang构建HTTP服务(一)--- net/http库源码笔记
2020-06-10 03:08 admin golang源码

实现一个最简单`HTTPserver`需要多少代码?只需要一行,Python2的`python-mSimpleHTTPServer`,ruby的`ruby-run-ehttpd.-p8888`。对于Golang,实现一个最简单的httpserver也用不着几行,却能带来更具杀伤力的性能。一个Go最简单的http服务器:...
阅读全文

Golang 微框架 Gin 简介
2020-06-10 03:08 admin golangGin

所谓框架框架一直是敏捷开发中的利器,能让开发者很快的上手并做出应用,甚至有的时候,脱离了框架,一些开发者都不会写程序了。成长总不会一蹴而就,从写出程序获取成就感,再到精通框架,快速构造应用,当这些方面都得心应手的时候,可以尝试改造一些框架,或是自己创造一个。曾经我以为Python世界里的框架已经够多了,后来发现相比go...
阅读全文

Gin应用添加newrelic监控
2020-06-10 03:08 admin Ginnewrelic

newrelic是一个非常好用的监控平台。请求分析,数据事务,机器运行状况,错误报警等功能,并且切分的力度足够细,除了贵之外,其他都很好。其实,好的服务都值这个价。newrelic对各大语言的框架支持都很完善,对golang的支持也不差。不过官网提供的例子只是针对net/http而言。对于目前正在使用的gin来说,还是...
阅读全文

Gin实战:Gin+Mysql简单的Restful风格的API
2020-06-10 03:08 admin GinGinMysql

我们已经了解了Golang的Gin框架。对于Webservice服务,restful风格几乎一统天下。Gin也天然的支持restful。下面就使用gin写一个简单的服务,麻雀虽小,五脏俱全。我们先以一个单文件开始,然后再逐步分解模块成包,组织代码。Itworks使用Gin的前提是安装,我们需要安装gin和mysql的驱...
阅读全文

Golang初学者易犯的三种错误
2020-06-10 03:08 admin golang易犯

序言笔者学习并使用Golang已经有一个多月了,尽管Golang的特性少、语法简单且功能强大,但作为初学者,难免会犯一些大家都犯过的错误。笔者在实践的基础上,将初学者易犯的错误进行了简单梳理,暂时总结了三种错误,先分享给大家,希望对大家有一定的帮助。资源关闭这里的资源包括文件、数据库连接和Socket连接等,我们以文件...
阅读全文

Google S2 中的 CellID 是如何生成的 ?
2020-06-10 03:08 admin GoogleCellID

笔者在[《高效的多维空间点索引算法—Geohash和GoogleS2》](https://link.jianshu.com?t=https://github.com/halfrost/Halfrost-Field/blob/master/contents/Go/go_spatial_search.md)文章中详细的分析...
阅读全文

高效的多维空间点索引算法 — Geohash 和 Google S2
2020-06-10 03:08 admin GeohashGoogle

引子每天我们晚上加班回家,可能都会用到滴滴或者共享单车。打开app会看到如下的界面:app界面上会显示出自己附近一个范围内可用的出租车或者共享单车。假设地图上会显示以自己为圆心,5公里为半径,这个范围内的车。如何实现呢?最直观的想法就是去数据库里面查表,计算并查询车距离用户小于等于5公里的,筛选出来,把数据返回给客户端...
阅读全文

神奇的德布鲁因序列
2020-06-10 03:08 admin 德布鲁因

数学中存在这样一个序列,它充满魔力,在实际工程中也有一部分的应用。今天就打算分享一下这个序列,它在GoogleS2中是如何使用的以及它在图论中,其他领域中的应用。这个序列就是德布鲁因序列DeBruijn。一.从一个魔术开始说起有这样一个扑克牌魔术。魔术师手上拿着一叠牌,给5个人(这里的人数只能少于等于32,原因稍后会解...
阅读全文

Go 终极指南:编写一个 Go 工具
2020-06-10 03:08 admin go终极

>[https://arslan.io/2017/09/14/the-ultimate-guide-to-writing-a-go->tool/](https://links.jianshu.com/go?to=https%3A%2F%2Farslan.io%2F2017%2F09%2F14%2Fthe->ultima...
阅读全文

Golang精编100题
2020-06-10 03:08 admin golang精编

能力模型级别|模型---|---初级primary|熟悉基本语法,能够看懂代码的意图;在他人指导下能够完成用户故事的开发,编写的代码符合CleanCode规范;中级intermediate|能够独立完成用户故事的开发和测试;能够嗅出代码的坏味道,并知道如何重构达成目标;高级senior|能够开发出高质量高性能的代码;能...
阅读全文

Golang处理JSON(一)--- 编码
2020-06-10 03:08 admin golangJson

JSONhttp的交互的生命周期包含请求和响应。前面我们介绍了很多关于发起请求,处理请求的内容。现在该聊一聊返回响应内容了。对于web服务的响应,以前常见的响应是返回服务端渲染的模板。浏览器只要展示模板即可。随着Restful风格的api出现,已经前后端分离,更多的返回格式是json字串。本节我们将讨论在golang中...
阅读全文
顶部 底部