书架

书架

=一个知识书库=

Thrift 实践

Thrift 实践

<a href="2018/04/20/Thrift%20入门">上一篇文章</a>我们了解了thrift的概念以及类型系统,本文我们通过一个简单的实例来更深入地了解thrift的使用。我们的实例非常简单,就是实现一个登录注册功能,其用户名密码缓存在内存中。 <!--more--> # 编写thrift文件 我们编写一个`account.thrift`的文件。 ``` namespace java me.wuchong.thrift.generated enum Operation{ LOGIN = 1, REGISTER = 2 } struct Request{
more...
Thrift 入门

Thrift 入门

# 介绍 Thrift 最初由Facebook开发,而后捐献给Apache,目前已广泛应用于业界。Thrift 正如其官方主页介绍的,“是一种可扩展、跨语言的服务开发框架”。简而言之,它主要用于各个服务之间的RPC通信,其服务端和客户端可以用不同的语言来开发。只需要依照IDL(Interface Description Language)定义一次接口,Thrift工具就能自动生成 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml等语
more...
分布式存储系统知识体系

分布式存储系统知识体系

最近看完了杨传辉老师写的《大规模分布式存储系统》一书,发现里面很多知识点和之前看的《大型网站系统与Java中间件》有很多相通之处,也渐渐加深了我对分布式技术的兴趣。但无奈分布式涵盖范围太广了,分布式存储、分布式计算、CAP理论、Paxos算法、什么GFS、Hadoop、Dynamo、BigTable、Spanner等等,不下点功夫还真不能理顺它们之间的内在关系。所以结合两书以及一些优秀博文,总结了分布式存储的知识体系,为以后打下基础而努力。由于初入泥潭,必然有些理解不当的地方,若有大神路过还望不吝指教。 本文更像是读书笔记,是对知识点的一个梳理,无奈越写越多,部分知识只能点到为止,具体内
more...
ssh client 报 algorithm negotiation failed的解决方法

ssh client 报 algorithm negotiation failed的解决方法

> ssh client 报 algorithm negotiation failed的解决方法之一 修改sshd的配置文件 /etc/ssh/sshd_config 在配置文件中添加: Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfou <!--more--> ssh client 报 algorithm negotiation failed的解决方法之一 修改sshd的配置文件 **/etc/ssh/sshd_config*
more...
HTML5的Video标签的属性,方法和事件汇总

HTML5的Video标签的属性,方法和事件汇总

> 前段时间写了一个基于html5 video的视频播放器,从起初的对其不了解,然后到能够写一个基本完善的自定义播放器。在这个过程中,对video标签的属性,方法,事件有了个全面的认识。下面分类列出来一下。 <!--more--> # <video\>标签的属性 * src :视频的属性 * poster:视频封面,没有播放时显示的图片 * preload:预加载 * autoplay:自动播放 * loop:循环播放 * controls:浏览器自带的控制条 * width:视频宽度 * height:视频高度 ## html 代码 ```html
more...