后端程序员之路 29、Thrift】的更多相关文章

Apache Thrift是Facebook实现的一个高效的.支持多种编程语言的远程服务调用(RPC)框架. Apache Thrift - Homehttp://thrift.apache.org/ centos上安装thrift - 辰羽的视界http://www.1207.me/archives/301.html Apache Thrift - C++http://thrift.apache.org/tutorial/cpp Apache Thrift - 可伸缩的跨语言服务开发框架htt…
gosuri/uiprogress: A go library to render progress bars in terminal applicationshttps://github.com/gosuri/uiprogress 依赖go-isatty,用于判断程序是在什么终端运行https://github.com/mattn/go-isatty 依赖uilive,提供一个定时刷新的命令行输出https://github.com/gosuri/uilive uiprogress.Start…
Redis数据类型之LIST类型 - Web程序猿 - 博客频道 - CSDN.NEThttp://blog.csdn.net/thinkercode/article/details/46565051 Redis的list是一个双向链表,应用场景很多,比如微博的关注列表,粉丝列表等都可以用Redis的list结构来实现:博客实现中,可为每篇日志设置一个list,在该list中推入进博客评论:也可以使用Redis list实现消息队列. # list命令- LPUSH/RPUSH    - LPU…
理解RESTful架构 - 阮一峰的网络日志http://www.ruanyifeng.com/blog/2011/09/restful.html RESTful API 设计指南 - 阮一峰的网络日志http://www.ruanyifeng.com/blog/2014/05/restful_api.html RESTful API 设计最佳实践-CSDN.NEThttp://www.csdn.net/article/2013-06-13/2815744-RESTful-API Microso…
信息论的熵 - guisu,程序人生. 逆水行舟,不进则退. - 博客频道 - CSDN.NEThttp://blog.csdn.net/hguisu/article/details/27305435 熵(entropy)的计算公式如下:H_x=-\sum_{i=1}^{n}p(x_i)\log_{2}{p(x_i)} <机器学习实战>基于信息论的三种决策树算法(ID3,C4.5,CART) - Thinkgamer博客 - 博客频道 - CSDN.NEThttp://blog.csdn.ne…
Zookeeper是hadoop的一个子项目,提供分布式应用程序协调服务. Apache ZooKeeper - Homehttps://zookeeper.apache.org/ zookeeper原理(转) - 翻过这座山,就到菩提洞了 - ITeye技术网站http://cailin.iteye.com/blog/2014486/ zookeeper场景 - 翻过这座山,就到菩提洞了 - ITeye技术网站(ZooKeeper典型应用场景一览)http://cailin.iteye.com…
record_t包含_sum._count._time_stamp._max._min最基础的一条记录,可以用来记录最大值.最小值.计数.总和metric_t含有RECORD_NUM(6)份record_t,当metric_t::add调用时更新record_t的内容 metric_t包含_name._records[6]._sample_vals[500]._threshold_rate._cursor._operation._cur_time_stampmonitor_data_t含有MET…
daviddengcn/go-colortext: Change the color of console text.https://github.com/daviddengcn/go-colortext dixonwille/wlog: A simple logging interface that supports cross-platform color and concurrency.https://github.com/dixonwille/wlog package main impo…
go自带json处理库,位于encoding/json,里面的test很具参考意义,特别是example_test.go json - The Go Programming Languagehttps://golang.org/pkg/encoding/json/ GO语言练习:构建json 和 解析JSON 实例 - fengbohello - 博客园http://www.cnblogs.com/fengbohello/p/4665883.html - Marshal    - 字符串将以UT…
package分包.import导入包import . "package1"  省略前缀包名import p1 "package1" 起别名import _ "package1" 执行包里的init函数 golang之package - Go语言中文网 - Golang中文社区http://studygolang.com/articles/5831 Go:如何组织代码 - 幸福框架 - 博客园http://www.cnblogs.com/happ…
redigo有点像hiredis,只提供了最基本的连接和执行命令接口. 找到个不错的redis库: https://github.com/go-redis/redis func ExampleNewClient() {     client := redis.NewClient(&redis.Options{         Addr:     "localhost:6379",         Password: "", // no password se…
一个朋友写的日志库 https://github.com/vizee/echo go get -u -v github.com/vizee/echo package main import (     "errors"     "os"     "github.com/vizee/echo" ) func main() {     echo.SetOutput(os.Stdout)     echo.SetLevel(echo.DebugLeve…
#method    - Methods        - Go does not have classes. However, you can define methods on types.        - func (f MyFloat) Abs() float64 {    - Interfaces        - type Abser interface { Abs() float64 }        - One of the most ubiquitous interfaces…
# flowcontrol    - for        - for i := 0; i < 10; i++ {        - for ; sum < 1000; {        - For is Go's "while" - for sum < 1000 {        - Forever - for {    - if        - if x < 0 {        - } else {        - if v := math.Pow(x…
# A Tour of Go    - go get golang.org/x/tour/gotour    - https://tour.golang.org/    # welcome    - fmt.Println("The time is", time.Now()) # basic    - Packages && Imports        - package main        - import (\n    "fmt"\n  …
Downloads - The Go Programming Languagehttps://golang.org/dl/ - windows下的开发环境    - 下载go1.8.1.windows-amd64.msi安装    - eclipse安装GoClipse,设置GOROOT为go安装路径    - 将go安装目录下的bin目录加到PATH环境变量    - go build- centos6下的开发环境    - wget https://storage.googleapis.co…
正如Redis似乎是为替换memcached一样,SSSB是一个国人开发的旨在替换Redis的kv数据库. SSDB - 高性能的支持丰富数据结构的 NoSQL 数据库, 替代 Redishttp://ssdb.io/zh_cn/ idea's blog - SSDBhttp://www.ideawu.net/blog/category/ssdb Redis 的竞争对手 SSDB是否真的能替代Redis呢? - SDK.CN - 中国领先的开发者服务平台https://sdk.cn/news/2…
memcached - a distributed memory object caching systemhttp://memcached.org/ Memcached 教程 | 菜鸟教程http://www.runoob.com/Memcached/Memcached-tutorial.html memcached完全剖析–1. memcached的基础_知识库_博客园http://kb.cnblogs.com/page/42731/ 缓存技术PK:选择Memcached还是Redis?-I…
Hadoop的核心是HDFS和MapReduce,而两者只是理论基础,不是具体可使用的高级应用,Hadoop旗下有很多经典子项目,比如HBase.Hive等,这些都是基于HDFS和MapReduce发展出来的.Hadoop Distributed File System,简称HDFS,是一个分布式文件系统.MapReduce是一套从海量源数据提取分析元素最后返回结果集的编程模型.Hadoop典型应用有:搜索.日志处理.推荐系统.数据分析.视频图像分析.数据保存等. 什么是HDFS及HDFS架构设…
Sentinel - Redis 命令参考http://doc.redisfans.com/topic/sentinel.html#sentinel-api Guidelines for Redis clients with support for Redis Sentinel – Redishttps://redis.io/topics/sentinel-clients Redis的哨兵模式可以监控多个Redis实例,当一个master不能正常工作时, Sentinel 会开始一次自动故障迁移…
在提供api给其它应用使用时,有时我们会要限制它的跨域使用,而有时,我们又要用CORS来打破AJAX只能同源使用的限制 跨域资源共享 CORS 详解 - 阮一峰的网络日志http://www.ruanyifeng.com/blog/2016/04/cors.html 总结:1.浏览器发出CORS请求,即在访问时http头里增加一个Origin字段2.服务端判断Origin,然后在返回的http头里增加Access-Control-Allow-Origin.Access-Control-Allow…
protobuf序列化速度不错,在往Redis里存对象时,用protobuf序列化可以节省内存,省去写序列化反序列化代码的工作. google protocol buffer 与 redis 结合使用 - 噬日者 - 博客频道 - CSDN.NEThttp://blog.csdn.net/eclipser1987/article/details/8534669 hiredis 保存protobuf序列化后的二进制数据 - Mr_李辉https://my.oschina.net/u/1765027…
前面学习了Pthreads,了解了线程和线程同步,而同步这个东西,与信号量是密不可分的.下面讨论的主要是Pthreads里的semaphore.h,而不是sys/sem.h [Linux]线程同步之信号量同步 - 江南烟雨 - 博客频道 - CSDN.NEThttp://blog.csdn.net/xiajun07061225/article/details/8467853 # 基本结构和概念- sem_t 信号量- P(sv):如果sv的值大于零,就给它减1:如果它的值为零,就挂起该进程的执行…
BlockingQueue,阻塞队列,常用于实现生产者和消费者模型特点:1.队列为空时,取操作会等到队列有数据2.队列满时,存操作会等到队列可用 基于C++11的阻塞队列简单实现 - Cynric 的博客 - 博客频道 - CSDN.NEThttp://blog.csdn.net/cywosp/article/details/9157379 参考java的阻塞队列实现,还可以有以下细节:1.ArrayBlockingQueue用数组来存队列里的数据,可以避免用链表时额外的node对象创建销毁开销…
POSIX线程(POSIX threads),简称Pthreads,是线程的POSIX标准.线程这个东西在操作系统原理里讲得比较清楚了,再加上对windows那一套进程线程的东西比较清楚,所以这里还是很多可以直接类比学习的. # 基本结构和概念- pthread_t:线程ID,可以基本认为和windows一样是个DWORD- pthread_attr_t:线程属性,主要包括scope属性.detach属性.堆栈地址.堆栈大小.优先级等- pthread_mutex_t, 互斥体 # 线程操作函数…
实际工作的Protocol Buffer使用经验 # 写proto文件- 协议版本 项目用的是protobuf2,所以要指定 syntax = "proto2";- 包名 package xxx_yyy;- 优化选项 option optimize_for=LITE_RUNTIME;- 导入其它依赖的proto import "typea.proto";- message定义    - required定义必选    - repeated定义重复项,底层实现一般是l…
Scala 是 Scalable Language 的简写,是一门多范式的编程语言. 语言特性:1.面向对象,所有值都是对象,类可以继承和组合:2.函数式,支持闭包,支持柯里化等等:3.静态类型,支持泛型,支持模式匹配:4.支持Actor并发模型,使用Akka实现. 和c++/java相比,有意思的特性:1.Trait 特征,不是c++的萃取相当于接口,但是可以定义属性和方法,相当于c++的非纯虚函数接口声明类 2.模式匹配函数式语言的标配了,x match {},case a => b,匹配x…
Akkahttp://akka.io/ Akka 是一个用 Scala 编写的库,用于简化编写容错的.高可伸缩性的 Java 和 Scala 的 Actor 模型应用,是一个广泛运用的分布式应用框架. Hello,Akka - 梦想风暴 - 博客大巴http://www.blogbus.com/dreamhead-logs/235916459.html 分布式应用框架Akka快速入门 - jmppok的专栏 - 博客频道 - CSDN.NEThttp://blog.csdn.net/jmppok…
Apache Kafkahttp://kafka.apache.org/ Kafka,很容易就联想到<海边的卡夫卡>,文艺程度和Casablanca有得一拼.Kafka是一个分布式消息系统, Apache Kafka:下一代分布式消息系统http://www.infoq.com/cn/articles/apache-kafka 基本概念:    - Topic 主题,表示消息的分类    - Producer 消息的生存者    - Consumer 消息的消费者    - Broker 消息…
# index_box 提供搜索功能的实现- 持有std::vector<ITEM> _buffer; 存储所有文章信息- 持有ForwardIndex _forward_index;    - _forward_index.build_findex( _buffer )    - get_all_items _forward_index.get_all_items    - get_items _forward_index.get_items(docid_vect, result, filt…