我们不断地重申FP强调代码无副作用,这样才能实现编程纯代码.像通过键盘显示器进行交流.读写文件.数据库等这些IO操作都会产生副作用.那么我们是不是为了实现纯代码而放弃IO操作呢?没有IO的程序就是一段烧CPU的代码,没有任何意义,所以任何类型的程序都必须具备IO功能,而在FP模式中对IO操作有特别的控制方式:具体实现是通过把代码中产生副作用的部分抽离出来延后运算(在所有纯代码运算之后).scalaz的IO Monad就是处理副作用代码延后运算的一种数据结构.我先举个简单的例子来示范如何通过一种数…
由于泛函编程非常重视函数组合(function composition),任何带有副作用(side effect)的函数都无法实现函数组合,所以必须把包含外界影响(effectful)副作用不纯代码(impure code)函数中的纯代码部分(pure code)抽离出来形成独立的另一个纯函数.我们通过代码抽离把不纯代码逐步抽离向外推并在程序里形成一个纯代码核心(pure core).这样我们就可以顺利地在这个纯代码核心中实现函数组合.IO Monad就是泛函编程处理副作用代码的一种手段.我们先…
注:这个方法已经不适用了,帖子没删只是留个纪念而已 gclient:如果不知道gclient是什么东西 ... 就别再往下看了. 下载特定版本的代码: #gclient sync --revision src@31000 其中31000是版本号 查看自己下载代码的版本号: #gclient revinfo -a webrtc@ubuntu:~/code/webrtc/src/talk$ gclient revinfo -a src: http://webrtc.googlecode.com/sv…
一.Xcode更新后插件失效的原理 1.每次更新Xcode后插件都会失效,其实插件都还在这个目录好好的躺着呢: ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins 2.之所以插件失效,是因为每个插件只供特定UUID的Xcode使用,更新后uuid改变,于是便不能正常使用. 二.通用解决办法 1.读取当前Xcode的UUID 在终端中输入: defaults read /Applications/Xcode.app/Conte…
step1: 下载安装源码 https://github.com/akopytov/sysbench (git clone https://github.com/akopytov/sysbench.git) 如果想安装特定版本的sysbench, git checkout branch-you-want-install eg:安装sysbench 0.5, git checkout 0.5, 执行完后可以通过git status 或者git branch查看是否成功的切入希望安装的分支 step…
Ubuntu安装特定版本安装包可以用aptitude,aptitude是apt-get的高级版,使用起来更强大. aptitude install package=version 比如我要安装2.6.18版本的puppet,可以用下面的命令: aptitude install puppet=2.6.18…
如下图 想要安装特定版本的torchvision,然后conda search torchvision,能够列出conda云上所有的安装包 然后,安装包的时候,conda install 包名=版本就可,如上图 安装包的结果如下 没毛病…
0. 基本命令 uname -a # 查看当前所使用内核 dpkg -l | grep linux # dpkg后是lmn的l.查看当前操作系统的内核 dekg -l | grep linux-image 1. 下载特定版本内核 (1)  命令行 sudo dpkg --get-selections |grep linux-image sudo apt-get install linux-image-***** 这种方法,网上有不少例子可参考. (2) synaptic synaptic是一个很…
如果你想获得更好的阅读体验,可以前往我在 github 上的博客进行阅读,http://lcomplete.github.io/blog/2013/06/05/sevenlang-io/. Io 语言是在2002年创造出来的,虽然距今已经有11个年头了,但是对于一门编程语言来说,它还只能算是一门年轻的语言.Io 并不是主流编程语言,没有什么名气,就连名字取的也并不适合推广,io 有太多其他的含义了,用google直接搜索 io 的话,很难找到关于这门编程语言的资料,英文推荐搜索“io langu…
.net版Socketio4net类库和java版socket.io-java-client类库 连接socket.io 1.4版本都不行,网上大多是socket.io 0.9版本的,socket.io 更新之后就不支持了.本人已研究 成功连接socket.io 1.4版本的方法,例子采用C#. 一.socket.io 几个重要要文件 1.node_modules\socket.io\node_modules\engine.io\node_modules\engine.io-parser\lib…