Protobuf
最近在用 Go 重构一个项目,其中就用到了 Protobuf。 Protobuf 是 Google Protocol Buffer 的简称,是一种结构化数据存储格式,用于对数据进行序列化和反序列化。由于是二进制的数据格式,所以具有更高的打包、传输、解包效率。文件以.proto 为后缀,详细语法看文档。 在 Go 中使用 Protobuf,需要安装编译工具,用于将 proto 文件编译为 go 包。 ...
最近在用 Go 重构一个项目,其中就用到了 Protobuf。 Protobuf 是 Google Protocol Buffer 的简称,是一种结构化数据存储格式,用于对数据进行序列化和反序列化。由于是二进制的数据格式,所以具有更高的打包、传输、解包效率。文件以.proto 为后缀,详细语法看文档。 在 Go 中使用 Protobuf,需要安装编译工具,用于将 proto 文件编译为 go 包。 ...
之前都是用的neocomplete和neocomplcache来自动补全的,也差不多够用,现在想试试YouCompleteMe 安装方法可以用Vundle,或者自己去github clone到~/.vim/bundle目录下 下载完之后,进入到~/.vim/bundle/YouCompleteMe目录下进行安装: git submodule update --init --recursive ./install.py --js-completer ...
首先安装: # centos 7 yum install docker # centos 6 yum install epel-release yum install docker-io 这里有点要注意的是,必须内核版本3.10以上,才能安装docker ...
安装Tesseract,完成后查看版本: brew install tesseract tesseract -v Tesseract默认可以识别很干净的图片: tesseract example_01.png stdout ...
首先卸载系统自带的OpenSSL和OpenSSH: yum erase openssl yum erase openssh 然后是去OpenSSL官网下载OpenSSL的最新源码包: wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz ...
Node.js也是可以写命令行程序的,与Web程序的不同之处就在于package.json的设置 需要在package.json中添加如下配置 ...
就是这么一个奇葩的需求 git checkout master -- dirname ...
Express中如果想获取客户端的IP,首先要设置trust proxy: app.set('trust proxy', 1); // or app.enable('trust proxy'); 设置完之后,就可以从req中取到IP了: var ip = req.ip; // or ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; ...
在CentOS上安装vsftpd: sudo yum install vsftpd 安装完毕后修改/etc/vsftpd/vsftpd.conf: anonymous_enable=NO local_enable=YES chroot_local_user=YES ...
原文:http://jlongster.com/Using-Immutable-Data-Structures-in-JavaScript 不久前我简要的谈过最近一次对我的博客的重写,并承诺对我学到的具体知识进行更深入的讲解。今天我要聊聊JavaScript中的不可变数据结构,具体就是immutable.js和seamless-immutable两个库。还有其他的库,但是不论你选择什么具体的库,概念上都是在持久化数据结构或拷贝原生JavaScript对象之间进行选择,并且比较两者各自突出的利弊。我也会讲一点transit-js,它可以很好的序列化任何东西。 本文并不适用于Redux,我会讲不可变数据结构的一般用法,但是会提出具体在Redux中使用时的一些看法。在Redux中,你有一个单独的应用状态对象并且对它进行不可变更新,有很多方法可以完成,各有利弊。我将在下面探索。 ...