基于 Protobuf 的 RPC/REST 迷你框架 pbgo
- 授权协议: BSD
- 开发语言: Google Go
- 操作系统: 跨平台
- 软件首页: https://github.com/chai2010/pbgo
- 软件文档: https://godoc.org/github.com/chai2010/pbgo
- 官方下载: https://github.com/chai2010/pbgo
软件介绍
基于Protobuf定义接口规范,通过pbgo提供的插件生成RPC和REST相关代码。
创建hello.proto文件,定义接口规范:
syntax = "proto3";
package hello_pb;
import "github.com/chai2010/pbgo/pbgo.proto";
message String {
string value = 1;
}
service EchoService {
rpc Echo (String) returns (String) {
option (pbgo.rest_api) = {
get: "/echo/:value"
};
}
}用pbgo插件生成代码:
$ protoc -I=. -I=$(GOPATH)/src --pbgo_out=. hello.proto
创建REST服务:
type EchoService struct{}
func (p *EchoService) Echo(request *hello_pb.String, reply *hello_pb.String) error {
*reply = *request
return nil
}
func main() {
router := hello_pb.EchoServiceHandler(new(EchoService))
log.Fatal(http.ListenAndServe(":8080", router))
}测试REST服务:
$ curl localhost:8080/echo/gopher
{"value":"gopher"}
$ curl localhost:8080/echo/gopher?value=cgo
{"value":"cgo"}详细的例子请参考:https://github.com/chai2010/pbgo/blob/master/examples/hello.p
解密搜索引擎技术实战
罗刚 / 2011-6 / 69.80元
《解密搜索引擎技术实战-Lucene&Java精华版(附盘)》,本书主要包括总体介绍部分、爬虫部分、自然语言处理部分、全文检索部分以及相关案例分析。爬虫部分介绍了网页遍历方法和如何实现增量抓取,并介绍了从网页等各种格式的文档中提取主要内容的方法。自然语言处理部分从统计机器学习的原理出发,包括了中文分词与词性标注的理论与实现以及在搜索引擎中的实用等细节,同时对文档排重、文本分类、自动聚类、句法分析树......一起来看看 《解密搜索引擎技术实战》 这本书的介绍吧!
