我们不断地重申FP强调代码无副作用,这样才能实现编程纯代码。像通过键盘显示器进行交流、读写文件、数据库等这些IO操作都会产生副作用。那么我们是不是为了实现纯代码而放弃IO操作呢?没有IO的程序就是一段烧CPU的代码,没有任何意义,所以任何类型的程序都必须具备IO功能,而在FP模式中对IO操作有特别的 ...
分类:
其他好文 时间:
2016-05-10 20:26:54
阅读次数:
300
1大数据的副作用 我们经常能听到大数据可以帮助企业降低成本,帮助城市进行规划,帮助情报机构发现恐怖分子之间的联系,协助卫生官员预测疫情,以及帮助警察提前预知犯罪等等等等,大数据似乎无所不能,政策制定者会越来越倾向于根据数据做出决策。 但是,如果这些数据是关于个人,尤其是没有太多话语权的普通百姓时,这 ...
分类:
其他好文 时间:
2016-05-10 20:25:00
阅读次数:
201
1. 概述 有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 2. 解决的问题 将一个系统分割成一个一些类相互协作的类有一个不好的副作用,那就是需要维护相关对象间的一致 ...
分类:
其他好文 时间:
2016-05-09 14:06:22
阅读次数:
251
使用Java操作符操作符接受一个或者多个参数,并生成一个新值。操作符用于操作数,生成一个新值。 另外有些操作符可能会改变操作数自身的值,这被称为“副作用”。这些能改变操作数的操作符最普遍的作用就是产生副作用。几乎所有的操作符都只能操作“基本类型”。 例外的操作符是 = == 和 != 。这些操作符能操作所有的对象。 除此之外,String类支持 + 和 +=.优先级当一个表达式中存在多个操作符时,...
分类:
其他好文 时间:
2016-05-09 01:46:37
阅读次数:
227
ML一般被归为非纯函数式编程语言,因为它允许副作用和指令式编程。这一点和纯函数式编程语言??例如Haskell??很不一样。 ML特性有惰性求值的求值策略,一阶类型函数, 带有垃圾收集的自动内存管理, 参数多态,静态数据类型,类型推断,代数数据类型,模式匹配和异常处理。 Perl 语言是Practi ...
分类:
编程语言 时间:
2016-05-08 18:08:04
阅读次数:
219
PSR是PHP Standards Recommendation的简称。PSR-1: 基本的代码风格
PHP标签
必须把PHP代码放在 或 标签中。不得使用其他PHP标签语法。
编码
所有PHP文件都必须使用UTF-8字符集编码,而且不能有字节顺序标记
目的
一个PHP文件可以定义符号(类、性状、函数和常量等),或者执行有副作用的操作...
分类:
Web程序 时间:
2016-05-07 09:02:46
阅读次数:
198
简单说,对 Stream 的使用就是实现一个 filter-map-reduce 过程,产生一个最终结果,或者导致一个副作用(side effect)。
当我们使用一个流的时候,通常包括三个基本步骤:
获取一个数据源(source)→ 数据转换→执行操作获取想要的结果,每次转换原有 Stream 对象不改变,返回一个新的 Stream 对象(可以有多次转换),这就允许对其操作可以像链条一样排列,变成一个管道。
流的操作主要有:
Intermediate:
map (mapToInt, flatMap 等)、...
分类:
编程语言 时间:
2016-05-03 18:31:03
阅读次数:
326
最近在项目中使用jQuery.query.js这个插件进行页面间URL传值,遇到如下两点问题: 1. 参数中存在空格时取到的值中空格被替换为加号:+ 2. 当参数某个key的value不存在时,获取到的value并不是空/null 而是true。 在网上找到了个解决方案,可以参考下(是否有其他副作用 ...
分类:
Web程序 时间:
2016-04-25 09:20:53
阅读次数:
261
1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。 2、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就 ...
分类:
其他好文 时间:
2016-04-18 17:15:07
阅读次数:
115
一直感觉FP比较虚,可能太多学术性的东西。不知道如何把这些数学理论在背后支持的一套全新数据类型和数据结构在现实开发中加以使用。直到Free Monad,才真正感觉能用FP方式进行编程了。这次我想跟大家讨论一下用Free Monad来编写一个真正能运行的完整应用程序。当然,这个程序必须具备FP特性,比如函数组合(function composition),纯代码(pure code),延迟副作用(d...
分类:
其他好文 时间:
2016-04-18 13:45:11
阅读次数:
188