2018-12-15 Xie Jingyi
一个依赖于外部状态 s 的伪函数 f' :: a -> b,我们可以将其改写为 f :: a -> s -> (b, s) 使其良定。即,在输入输出中显式传递状态 s。现在,我们需要利用 Monad 将状态传递过程隐藏起来。 注意到,输出值 (b, s) 中的末状态 s 不仅依赖于输入状态,更依赖于之前更改过状态的一系列函数及其逻辑。因此我们不能简单地将 Monad 定义为 (a, s) 类似的形式,否则两个函数用 >=> 结合的结果将与函数逻辑无关,这与我们的期望不符。 考虑如下定义: haskell newtype State s a = { runState :: s -> (a, s) } 由于 -> 的右结合性, 继续阅读 »
2018-12-14 Xie Jingyi
动机 pure functions 看似完美,但却不能模拟现实世界中的诸多任务。这是由于 pure functions 是良定的映射,对于特定的输入值会返回唯一的输出。这种模式在面对如下任务时会显得苍白无力: 有可能失败的任务。如大多数的 IO。 依赖外部状态的任务。如(伪)随机数生成器。 非确定性任务,即对于确定的输入可能有多个输出。这种在 IP 中较为少见。 对外界会造成影响的任务。如大多数的写入过程。 这些问题可以用数学中的域扩充技巧来解决。 域扩充 在数学中,当定义问题的范畴不足以容纳问题的解时,我们通常会对相关的范畴进行扩充。类似的技巧同样也可以应用在这里。 假设一个不良定的函数 f: A -> B: 如果 f 继续阅读 »
2018-12-05 biezhi
本文转载自:https://www.cnblogs.com/dennyzhangdd/p/7218510.html 一、论文简介 继续阅读 »
2018-12-02 Eric Wang
**思考带来决策,决策带来行动,行动改变命运。 ——李笑来** 非常喜欢读笑来老师的书,每次读来都感觉干货满满,通篇大实话,逻辑清晰简洁明了。但是我们都知道,往往讲真话的人通常都是不受待见的人,所以社会上有很多不明真相的人都以为笑来老师是个大骗子。试想如果没有真才实学的话,谁能骗得到这么多的身家,居然还可以安然无恙呢?所以凭真本事赚钱才是笑来老师的发家之本。 如果看了很多笑来老师书的人,都知道笑来老师的一贯风格是弄清每一个概念,有了这些不同的准确的清晰的概念之后,自己的大脑才能更好更精准的处理与这些概念相关的事物。所以笑来给韭菜下了个定义 所谓的“韭菜”,指的是在交易市场中没赚到钱甚至赔钱的势单力薄的散户 所谓的“韭菜”,指 继续阅读 »
2018-12-01 石头人m
一.常用的时间序列模型 常用的时间序列模型有:自回归模型 AR(p)、移动平均模型 MA(q)、自回归移动平均模型 ARMA(p,q)、自回归差分移动平均模型 ARIMA(p,d,q), 可以说前三种都是 ARIMA(p,d,q)模型的特殊形式。 继续阅读 »
2018-11-23 YongHao Hu
go
从限流谈到伪造 IP(nginx remote_addr) remote_addr 很多流量大的网站会限流,比如一秒 1000 次访问即视为非法,会阻止 10 分钟的访问。 通常简单的做法,就是通过 nginx 时,nginx 设置 继续阅读 »
2018-11-22 LEo
1 基础知识 go语言有以下特点: 编译型语言,编译速度快 静态类型语言,拥有动态类型语言特点 类c语法,简单易学 支持gc 语言层面支持并发 跨平台编译 2 著名的go项目: 继续阅读 »
2018-11-18 Xie Jingyi
Motivation Functor solves the problem of mapping regular one-parameter functions into a sub-category, but that's not easy for functions with more than one parameters. Let's consider a function with two parameters f :: a -> b -> c, which can also read as a -> (b -> c). Applying fmap on f, we will get fmap f :: m a -> 继续阅读 »
2018-11-18 Robin Wen
文/温国兵 这是「区块链技术指北」的第 38 篇文章。 如果对我感兴趣,想和我交流,我的微信号:Wentasy,加我时简单介绍下自己,并注明来自「区块链技术指北」,同时我会把你拉入微信群。 题图来自: © ChainONE / Original / chainon.io 更新:从 EOSIO 1.1.0 开始,已经默认支持 MongoDB,所以本文提供的方法仅做参考。 0x00 背景 执行 eosio_build.sh 脚本编译 nodeos 会默认安装 mongodb,但是从 Dawn 4.0 开始,mongo_db_plugin 插件不再生效,详情请参考 #3030。#4304 PR 重新支持 MongoDB,本 继续阅读 »
2018-11-17 biezhi
Rocket.Chat{:target="_blank"} 是一种类似 Slack 的开源聊天软件,当然你可能没用过 Slack,毕竟它在国内不流行,这名字听起来像是 “火箭聊天”,非常霸气啊!不过光开源这一项就很吸引我了,同道中人同道中人。 继续阅读 »