avro 1.8.2 (js)

5月15日发布的avro 1.8.2 已经包含了js版代码。

清华大学镜像地址:

https://mirrors.tuna.tsinghua.edu.cn/apache/avro/avro-1.8.2/js/

根据README.md,运行了一下简单的例子。

具体步骤:

1.将下载的压缩包解压

2.在package目录下,创建一个简单的文件 index.js,内容如下:

var avro = require("./lib/index");

var type = avro.parse({
    name: ‘Pet‘,
    type: ‘record‘,
    fields: [
      {name: ‘kind‘, type: {name: ‘Kind‘, type: ‘enum‘, symbols: [‘CAT‘, ‘DOG‘]}},
      {name: ‘name‘, type: ‘string‘}
    ]
  });
  var pet = {kind: ‘CAT‘, name: ‘Albert‘};
  var buf = type.toBuffer(pet); // Serialized object.
  var obj = type.fromBuffer(buf); // {kind: ‘CAT‘, name: ‘Albert‘}
  console.log(obj)
  console.log(pet)
  console.log(obj==pet)

3.打开命令行,切换到package目录,执行  node index.js

如果没有nodejs环境,需要去nodejs官网下载安装,安装好后运行node index.js可能会提示 underscore找不到,

在命令行执行 node install underscore即可。

时间: 2024-12-21 21:42:49

avro 1.8.2 (js)的相关文章

Avro、protobuf、thrift

Thrift: Thrift英 [θr?ft]美 [θr?ft]是Facebook的一个开源项目.用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python,  JavaScript, Node.js...这些编程语言间无缝结合的.高效的服务它有一个代码生成器来对它所定义的IDL定义文件自动生成服务代码框架.用户只要在其之前进行二次开发就行,对于底层的RPC通讯等都是透明的. protobuf: protocolbuffer是goo

跨语言通信方案的比较—Thrift、Protobuf和Avro

常用的跨语言通信方案: 基于SOAP消息格式的WebService 基于JSON消息格式的RESTful 服务 以上两种方案的弊端: XML体积太大,解析性能极差 JSON体积相对较小,解析相对较快,但表达能力较弱 现在比较流行的跨语言通信方案: Google protobuf (http://code.google.com/p/protobuf) Apache Thrift (http://thrift.apache.org/) Apache Avro (http://avro.apache.

跨语言通信框架的比较——Protobuf、Thrift和Avro

一.概述 thrift :是由 Facebook 主导开发的一个跨平台.支持多语言的,通过定义 IDL 文件,自动生成 RPC 客户端与服务端通信代码的工具,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的.高效的服务.Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型

【API】高德地图API JS实现获取坐标和回显点标记

1.搜索+选择+获取经纬度和详细地址 2.回显数据并点标记 3.实现 第一步:引入资源文件 <!--引入高德地图JSAPI --><script src="//webapi.amap.com/maps?v=1.3&key=在官网申请一个key"></script><!--引入UI组件库(1.0版本) --><script src="//webapi.amap.com/ui/1.0/main.js">

js跨域

第一次写博客,好紧张,不知道能写成啥样,哈哈哈. 自己的一知片解,有错请多多指教,嘻嘻嘻. 一.何为跨域? 只要协议.域名.端口后任何一个不同,就是跨域. 举个例子: http://www.example.com 协议不同 https://www.example.com http://www.example.com 域名不同 http://www.test.com http://www.example.com 端口不同 http://www.example.com:81 注意:ip相同,域名不同

Vue.js学习笔记:属性绑定 v-bind

v-bind  主要用于属性绑定,Vue官方提供了一个简写方式 :bind,例如: <!-- 完整语法 --> <a v-bind:href="url"></a> <!-- 缩写 --> <a :href="url"></a> 绑定HTML Class 一.对象语法: 我们可以给v-bind:class 一个对象,以动态地切换class.注意:v-bind:class指令可以与普通的class特

node.js的安装及配置

一.安装 直接在浏览器搜索node.js,在官网上下载(一般旧版的更加稳定,比如下载4.4.7版本) 点击DOWNLOADS 往下翻,点击Previous Release Windows下载msi(64位/32位) 根据提示一步步安装,安装之后的文件夹如下: 在cmd命令行下输入node -v,如果出现如下,说明安装成功: 二.关于配置 在安装路径下新建两个文件夹: 创建完两个空文件夹之后,打开cmd命令窗口,输入 npm config set prefix "D:\Program Files

Node.js 使用angularjs取得Nodejs http服务端返回的JSON数组示例

server.js代码: // 内置http模块,提供了http服务器和客户端功能(path模块也是内置模块,而mime是附加模块) var http=require("http"); // 创建服务器,创建HTTP服务器要调用http.createServer()函数,它只有一个参数,是个回调函数,服务器每次收到http请求后都会调用这个回调函数.服务器每收到一条http请求,都会用新的request和response对象触发请求函数. var server=http.createS

Knockout.js简介

Knockout是一款很优秀的JavaScript库,通过应用MVVM模式使JavaScript前端UI简单化.任何时候你的局部UI内容需要自动更新,KO都可以很简单的帮你实现,并且非常易于维护. Knockout的3个核心功能是: ? 属性监控与依赖跟踪 ? 声明式绑定 ? 模板机制 MVVM Model-View-View Model (MVVM)是一种创建用户界面的设计模式. ? Model:用于存储应用程序数据,表示业务领域的对象和数据操作,并且独立于任何界面. 当使用KO的时候,通常是