Ponzu - 基于 Go 语言的开源 CMS - 后端 - 掘金
Ponzu is a powerful and efficient open-source HTTP server framework and CMS. It provides automatic, free, and secure HTTP/2 over T...nginx
一日一学_Go 语言 mgo(mongo 场景应用) - 后端 - 掘金
本文重点介绍mgo使用,仅简单介绍mongodb。 mongodb特性 mongdb简单介绍 注意: ...git
Go 语言实战向导 - 后端 - 掘金
使用go语言作后台服务已经有3年了,经过项目去检验一个又一个的想法,而后不断总结,优化,最终造成了本身的一整套体系,小到一个打印对象的方法,大到一个web后台项目最佳实践指导,这一点一滴都是在不断的实践中进化开来。如下内容将是一次总体的汇报,各位看官若有兴致,...github
Go 使用 gRPC 与 Protocol Buffers 构建高性能 API 服务 - 后端 - 掘金
Go 使用 gRPC 与 Protocol Buffers 构建高性能 API 服务...golang
go 语言微服务实践 - 后端 - 掘金
简介近一两年来,微服务架构已经成为热门话题(microservices.io),与传统的一体化应用架构相比,微服务架构在开发、测试、部署方面都有众多吸引人之处,愈来愈多没有历史包袱的新项目都启用微服务架构的模式来开发。 咱们这个团队通过深刻思考以后,决定在一块儿...web
Golang 语言之 GroupCache - 后端 - 掘金
实习期间一直在用golang,今天想写篇博客,聊聊我对golang的一些思考,以及分析下groupcache的实现; 在没接触golang以前,在个人印象里,服务器开发就是常见的nginx多进程,memcache多线程,redis单线程;后来,golang这...redis
Go 语言并发模型:使用 context - 后端 - 掘金
简介 在 Go http包的Server中,每个请求在都有一个对应的 goroutine 去处理。请求处理函数一般会启动额外的 goroutine 用来访问后端服务,好比数据库和RPC服务。用来处理一个请求的 goroutine 一般须要访问一些与请求特定的...算法
golang 实现 Raft(一):选主 - 后端 - 掘金
本文为 golang 实现 Raft 第一篇,主要描述了如何使用 golang 实现选主,文中的代码框架来自于 MIT 6.824 课程,包括 rpc 框架及测试用例。...sql
Golang 经过 Consul 实现分布式锁 - 后端 - 掘金
Golang 经过 Consul 实现分布式锁...mongodb
安利一个好用的 Golang 单元测试框架:gocheck - 后端 - 掘金
Golang下如何写单元测试?官方提供的testing package略显简陋,不过好在咱们有Gocheck。 什么是好的单元测试? 在进入正题前,先来温习下前人总结的单元测试几条原则:http://www.atatech.org/articl...数据库
(译) 你可能还不知道的一些 Go 语言工具 - 后端 - 掘金
interfacer: 我应该在这里使用一个接口吗?interfacer 有一个很是明确的用途:查看函数的参数,并指出能够用接口类型替换的那些参数。为何须要它?也许你据说过如下建议:函数指望接收一个接口而后返回特定的类型。 我不记得在哪里看到这个规...
gbb:Golang 辅助编译工具,自动生成程序版本号 - 后端 - 掘金
gbb 昨天跑得好好的程序忽然出了问题,查看它的版本号,机器冷冰冰地告诉你? $ xxx --version xxx version 1.0.12 若是没有详细的发布记录信息,我想此时的你必定是崩溃的。由于实在不知道这个1.0.12究竟是何时编译的...
更优雅的 Golang 错误处理 - 后端 - 掘金
Golang 中的错误处理是一个被你们常常拿出来讨论的话题 (另一个是泛型)。其中泛型这个问题,rsc 在最近的计划中也提出了归入他今年的考虑计划中,同时,泛型的提案在 2016 年也进行了一些更新,相信将来会有一些更好的方案提出。这个文章咱们讨论一下如何在...
用 Golang 写一个搜索引擎(0x07)--- 正排索引 - 掘金
最近各类技术盛会太多,朋友圈各类刷屏,有厂商发的各类广告,有讲师发的各类自拍,各类参会的朋友们各类自拍,好不热闹,不知道你的朋友圈是否是也是这样啊,去年还没这么多技术会议,今年感受爆发了,呵呵,真是一个互联网技术的好时代,并且还有各类撕B可看,真想八一八,怕得...
【深刻 Go 编程】浅析 GO 语言中如何优雅地中判定时任务 - 后端 - 掘金
问题描述 如今咱们建立了一个定时器,能定时的去作某件事,而且在执行时间超时的时候,能把这个定时器关掉。例如须要收集一周的日志,建立一个定时任务去收集日志,每5秒钟执行一次,一周的时间事后须要停掉这个定时任务。 标准库Ticker 标准库提供里的Ticker类,...
用Golang写一个搜索引擎(0x05)--- 文本相关性排序 - 掘金
上面咱们已经说过了一些倒排索引的东西,而且也知道了如何来实现一个倒排索引完成检索功能,那么检索完了之后如何排序呢,这一篇简单的说一下倒排索引的文本相关性排序,由于排序实在是太复杂了,咱们这里就说说文本的相关性排序,并且是最简单的TD-IDF排序,以后有机会能够...
用 Golang 写一个搜索引擎 (0x04) --- B + 树 - 掘金
本篇较长较枯燥,请保持耐心看完。 前面两章介绍了一下倒排索引以及倒排索引字典的两种存储结构,分别是跳跃表和哈希表,本篇咱们介绍另外一种数据结构,他也被大量使用在信息检索领域,我在github上实现的搜索引擎的词典也是用的这个数据结构,它就是B+树。 首先,咱们看...
用 Golang 写一个搜索引擎(0x03)--- 跳跃表,哈希表 - 掘金
前面已经说了倒排索引的基本原理了,原理很是简单,也很好理解,关键是如何设计第二个倒排表,倒排表的第二列也很好设计,第一列就是关键了,为了知足快速查找的性能,设计第一列的结构,咱们须要知足如下两个条件。 查找很是快,能在极短的时间内找到咱们须要的关键词所在的位...
用 Golang 写一个搜索引擎(0x02)--- 倒排索引技术 - 掘金
这一篇,咱们来讲说搜索引擎最核心的技术,倒排索引技术,倒排索引可能须要分红几篇文章才说得完,咱们先会说说倒排索引的技术原理,而后会讲讲怎么用一些数据结构和算法来实现一个倒排索引,而后会说一个索引器怎么经过文档来生成一个倒排索引。 倒排索引 什么是倒排索引呢?索...
用 Golang 写一个搜索引擎(0x01)--- 基本概念 - 掘金
从零开始,写一个搜索引擎 (0x01) 第零部分咱们已经列了一个提纲了,这一篇文章开始要详细说说了。 搜索引擎基本概念 在说搜索引擎架构分层以前,咱们先肯定几个搜索引擎的概念。 文档,搜索引擎的基本数据单元,好比一张网页,一个商品,多个文档合在一块儿就是一个搜...
用 Golang 写一个搜索引擎 (0x00)--- 从零开始 - 掘金
很早就想写一系列的这样的文章了,以前在一个电商公司作搜索,对搜索引擎有一些认识,来到一个新的创业公司之后很是高兴还有机会继续作这方面的事情,虽然领域已经变了,并且不是作搜索了,可是技术仍是那些技术,而且有机会接触到了Go语言,对于一个将近10年C/C++的程序...
Go 开源项目速查表 - 后端 - 掘金
分类汇总 Go 开源项目并简要说明...
用 Golang 写一个搜索引擎(0x09)— 数据增,删,改 - 掘金
根据某位和我同姓的朋友的建议,后面的文章都会加上副标题,方便查阅。 今天的文章会比较短,很快就能看完。 按照步骤,说完段层之后,应该就开始涉及到索引层了,但我想说的是一个分布式的搜索引擎,因此除了索引层之外,还有个分片层,这两个概念是紧密联系在一块儿的,我怕说不...
用 Golang 写一个搜索引擎(0x08)--- 索引的段 - 掘金
我以为这个标题应该改改了,我写下来实际上是告诉你们怎么写一个搜索引擎,并无涉及太多的Golang的东西,我以为这样也挺好,熟悉了原理,用什么实现其实并不重要了,并且说说原理比说代码更实在。 以前已经说了底层的数据结构了,包括倒排和正排索引。今天咱们上一层,来讲...
用 Golang 写一个搜索引擎(0x06)--- 索引构建 - 掘金
不知不觉写到第七篇了,按这个节奏,估计得写到15到20篇左右才能写完,但愿本身能坚持下去,以前写代码的时候不少东西并无想得那么细致,如今每写一篇文章还要查一些资料,确保文章的准确性,也至关于本身复习了一下吧,呵呵。 先说一下,关于倒排文件,其实还有不少东西没...
老司机带你用 Go 语言实现 Paxos 算法 - 后端 - 掘金
在理论计算机科学中,CAP定理(CAP theorem),又被称做布鲁尔定理(Brewer’s theorem),它指出对于一个分布式计算系统来讲,不可能同时知足如下三点: 一致性(Consistence),等同于全部节点访问同一份最...
Faygo 一款最适合开发 API 的 Go Web 框架 - 后端 - 掘金
Faygo 框架 Faygo 使用全新架构,是最合适开发API接口的Go Web框架。用户只需定义一个struct Handler,就能自动绑定、验证请求参数并生成在线API文档。 Faygo项目...
Go 之旅三: 复杂类型 - 后端 - 掘金
本文是学习 A Tour of Go (中文参考 Go 之旅中文 ) 整理的笔记,介绍Go 语言的指针,结构体,数组,切片,映射和闭包的基本概念和使用。 1. 指针 $GOPATH/src/go_note/gotour/adva...
Go 之旅四: 方法与接口篇 - 后端 - 掘金
本文是学习 A Tour of Go (中文参考 Go 之旅中文 ) 整理的笔记,介绍Go 语言方法,接口,类型的基本概念和使用。 1. 方法 $GOPATH/src/go_note/gotour/methods/method/...
go 语言中的连续栈 - 后端 - 掘金
Go语言中的Continuous Stack(连续栈) 前言 ...
Go 语言中的闭包实现 - 后端 - 掘金
Go语言中的闭包 先看一个demo: func f(i int) func() int { return func() i...
Go 之旅五: 并发 - 后端 - 掘金
本文是学习 A Tour of Go (中文参考 Go 之旅中文 ) 整理的笔记。介绍Go 语言线程,信道以及互斥锁的概念和使用方法。 1. Go 线程 $GOPATH/src/go_note/gotour/concurrenc...
Golang, 以 17 个简短代码片断,切底弄懂 channel 基础 - 后端 - 掘金
(原创出处为本博客:http://www.cnblogs.com/lingua... 前序: 由于打算本身搞个基于Golang的IM服务器,因此复习了下以前一直没怎么使用的协程、管道等高并发编程知识。发现本身的channel这块,也就是管道...
Golang MySQL 数据库开发 - 后端 - 掘金
MySQL以避免费、开源、使用方便为优点成为了不少Web开发的后端数据库存储引擎。数据库操做是Web开发中占有极其重要的一部分。数据也是程序最核心的东西。 Go语言做为一门新兴语言他是怎么对Mysql进行开发的呢。 MySQL驱动: Go中支持MySQL的驱动目...
Golang 必备技巧:接口型函数 - 后端 - 掘金
接口型函数,指的是用函数实现接口,这样在调用的时候就会很是简便,我称这种函数,为接口型函数,这种方式使用于只有一个函数的接口。 咱们以迭代一个map为例,演示这一技巧,这种方式有点相似于groovy中Map的each方法同样,也是Gradle里each闭包。 ...
高效简单简洁的 Golang WEB 框架 Echo 中文文档 - 工具资源 - 掘金
功能概览 优化的 HTTP 路由。 建立可靠并可伸缩的RESTful API。 行于标准的HTTP服务器或FastHTTP服务器。 组 APIs. 可扩展的middleware框架。 Define middle...
Faygo 一款最适合开发 API 的 Go Web 框架 - 后端 - 掘金
Faygo 框架 Faygo 使用全新架构,是最合适开发API接口的Go Web框架。用户只需定义一个struct Handler,就能自动绑定、验证请求参数并生成在线API文档。 Faygo项目...
用Golang写一个搜索引擎(0x05)--- 文本相关性排序 - 掘金
上面咱们已经说过了一些倒排索引的东西,而且也知道了如何来实现一个倒排索引完成检索功能,那么检索完了之后如何排序呢,这一篇简单的说一下倒排索引的文本相关性排序,由于排序实在是太复杂了,咱们这里就说说文本的相关性排序,并且是最简单的TD-IDF排序,以后有机会能够...
用 Golang 写一个搜索引擎(0x09)— 数据增,删,改 - 掘金
根据某位和我同姓的朋友的建议,后面的文章都会加上副标题,方便查阅。 今天的文章会比较短,很快就能看完。 按照步骤,说完段层之后,应该就开始涉及到索引层了,但我想说的是一个分布式的搜索引擎,因此除了索引层之外,还有个分片层,这两个概念是紧密联系在一块儿的,我怕说不...
用 Golang 写一个搜索引擎(0x08)--- 索引的段 - 掘金
我以为这个标题应该改改了,我写下来实际上是告诉你们怎么写一个搜索引擎,并无涉及太多的Golang的东西,我以为这样也挺好,熟悉了原理,用什么实现其实并不重要了,并且说说原理比说代码更实在。 以前已经说了底层的数据结构了,包括倒排和正排索引。今天咱们上一层,来讲...
用 Golang 写一个搜索引擎(0x07)--- 正排索引 - 掘金
最近各类技术盛会太多,朋友圈各类刷屏,有厂商发的各类广告,有讲师发的各类自拍,各类参会的朋友们各类自拍,好不热闹,不知道你的朋友圈是否是也是这样啊,去年还没这么多技术会议,今年感受爆发了,呵呵,真是一个互联网技术的好时代,并且还有各类撕B可看,真想八一八,怕得...
用 Golang 写一个搜索引擎(0x06)--- 索引构建 - 掘金
不知不觉写到第七篇了,按这个节奏,估计得写到15到20篇左右才能写完,但愿本身能坚持下去,以前写代码的时候不少东西并无想得那么细致,如今每写一篇文章还要查一些资料,确保文章的准确性,也至关于本身复习了一下吧,呵呵。 先说一下,关于倒排文件,其实还有不少东西没...
用 Golang 写一个搜索引擎 (0x04) --- B + 树 - 掘金
本篇较长较枯燥,请保持耐心看完。 前面两章介绍了一下倒排索引以及倒排索引字典的两种存储结构,分别是跳跃表和哈希表,本篇咱们介绍另外一种数据结构,他也被大量使用在信息检索领域,我在github上实现的搜索引擎的词典也是用的这个数据结构,它就是B+树。 首先,咱们看...
用 Golang 写一个搜索引擎(0x03)--- 跳跃表,哈希表 - 掘金
前面已经说了倒排索引的基本原理了,原理很是简单,也很好理解,关键是如何设计第二个倒排表,倒排表的第二列也很好设计,第一列就是关键了,为了知足快速查找的性能,设计第一列的结构,咱们须要知足如下两个条件。 查找很是快,能在极短的时间内找到咱们须要的关键词所在的位...
用 Golang 写一个搜索引擎(0x02)--- 倒排索引技术 - 掘金
这一篇,咱们来讲说搜索引擎最核心的技术,倒排索引技术,倒排索引可能须要分红几篇文章才说得完,咱们先会说说倒排索引的技术原理,而后会讲讲怎么用一些数据结构和算法来实现一个倒排索引,而后会说一个索引器怎么经过文档来生成一个倒排索引。 倒排索引 什么是倒排索引呢?索...
用 Golang 写一个搜索引擎(0x01)--- 基本概念 - 掘金
从零开始,写一个搜索引擎 (0x01) 第零部分咱们已经列了一个提纲了,这一篇文章开始要详细说说了。 搜索引擎基本概念 在说搜索引擎架构分层以前,咱们先肯定几个搜索引擎的概念。 文档,搜索引擎的基本数据单元,好比一张网页,一个商品,多个文档合在一块儿就是一个搜...
用 Golang 写一个搜索引擎 (0x00)--- 从零开始 - 掘金
很早就想写一系列的这样的文章了,以前在一个电商公司作搜索,对搜索引擎有一些认识,来到一个新的创业公司之后很是高兴还有机会继续作这方面的事情,虽然领域已经变了,并且不是作搜索了,可是技术仍是那些技术,而且有机会接触到了Go语言,对于一个将近10年C/C++的程序...
年度语言 golang 使用感觉 - 掘金首先,无心进行语言之争,毕竟,PHP是世界上最好的语言,没有之一。这个话题能够停下来了。 2016年已通过去,16年的年度语言给了go语言,而正好这一年我都是用go用得比较多,并且版本从1.2一直用到了1.8,有一些感觉,来讲说我对这个年度编程语言的一些粗浅理...