多语言编程

编程语言的百花齐放,造成在个个场景上有专门适合的语言。因此在单个系统运用多种编程语言来实现也慢慢进入程序员的思维方式。像交互,业务逻辑和数据方面都有相应的语言,这样就出现多语言编程方式。然而多种语言如何实现交互,是通过服务接口还是语言内置的调用其它语言的方式? 发挥语言在特定场景效果以及组合多语言的能力。

Erlang 安装使用rfc4627

环境: Ubuntu 14.04

编译

git clone git://github.com/tonyg/erlang-rfc4627.git

cd erlang-rfc4627/

make all

获取erlang library路径

jerry@iZ28ktvewfwZ:~$ erl
Erlang R16B03 (erts-5.10.4) [source] [64-bit] [async-threads:10] [kernel-poll:false]

Eshell V5.10.4 (abort with ^G)
1> code:get_path().
[“.”,”/usr/lib/erlang/lib/kernel-2.16.4/ebin”,
“/usr/lib/erlang/lib/stdlib-1.19.4/ebin”,
“/usr/lib/erlang/lib/xmerl-1.3.5/ebin”,
“/usr/lib/erlang/lib/wx-1.1.1”,
[…]|…]
2>

将文件夹拷贝到相应目录下

sudo cp -R erlang-rfc4627/ /usr/lib/erlang/lib/

 
测试使用

jerry@iZ28ktvewfwZ:~$ erl
Erlang R16B03 (erts-5.10.4) [source] [64-bit] [async-threads:10] [kernel-poll:false]

Eshell V5.10.4 (abort with ^G)
1> O = rfc4627:encode({obj, [{name, hideto}, {age, 23}]}).
“{\”name\”:\”hideto\”,\”age\”:23}”
2>

开源图片压缩算法Guetzli测试

Ubuntu 16.04

sudo apt-get install libpng-dev

 

git clone https://github.com/google/guetzli.git

cd guetzli/
make

bin/Release/guetzli –help

bin/Release/guetzli –verbose input.jpg output.jpg

 

实际测试大概有25%的压缩率,整体的图片质量没有下降。但只能处理YUV颜色编码的jpeg图片。

 

 

 

 

红米4A ROOT步骤

 

1. 下载开发版,刷入这个版本
http://www.miui.com/download-325.html
http://www.miui.com/shuaji-329.html

使用命令行
adb push miui_HM4A_7.4.27_e52ef2df2a_6.0.zip /sdcard/
或者在这图形界面上拷贝

2.申请解锁权限
注册小米帐号后进入申请解锁http://www.miui.com/unlock/

3.按音量下+电源键进入Fastboot模式

4.http://www.miui.com/unlock/done.html下载解锁工具(miflash_unlock)解锁并重启手机

5.进入安全中心-》授权管理-》开启root

6.重启完就好了

 

 

链接:

http://www.miui.com/thread-3852678-1-1.html

http://www.miui.com/thread-6297807-1-1.html

Mac 拷贝出错

在mac上使用外置硬盘拷贝数据时出现”One or more items in… can’t be changed because they are in use”

解决如下:

xattr -d com.apple.FinderInfo <filename>

mrjob安装

环境:Ubuntu 14.04, Centos 6.5

方法一:

python setup.py install

 

方法二:

pip install mrjob

 

方法三:

python setup.py build

在运行脚本中加载库

import os,sys
sys.path.append(os.path.abspath(‘mrjob/build/lib/’))
from mrjob.job import MRJob