原文 那么monad 到底是什么呢? 它是一种设计模式。只要你有一堆函数,当它们接受一个参数而返回另一个值,就可以用以下两个函数把那些函数组合在一起。
- bind 函数将其他函数变换成 输入参数与返回值 类型相同的类型, 使它们可以组合起来。
- unit 函数将一个值包装成组合函数可以接受的模式
from types import GeneratorType | |
def trampo(func): | |
def _(*args, **kwargs): | |
g = func(*args, **kwargs) | |
while isinstance(g, GeneratorType): | |
g = g.next() | |
return g | |
return _ |
原文 那么monad 到底是什么呢? 它是一种设计模式。只要你有一堆函数,当它们接受一个参数而返回另一个值,就可以用以下两个函数把那些函数组合在一起。
python 属性的查找顺序是 __getattribute__ , __dict__ , __getattr__ . | |
一个接一个调用。在 __getattribute__ 中 调用对象的某个属性, 可能会引起递归。 |
import time | |
import threading | |
def deadloop(times): | |
while times>0: | |
times -= 1 | |
a = 1 + 2 | |
start = time.time() | |
deadloop(100000000) | |
end = time.time() |
/* Adapted for Swift by Chmouel Boudjnah <[email protected]> | |
Original: http://www.ioncannon.net/programming/1539/direct-browser-uploading-amazon-s3-cors-fileapi-xhr2-and-signed-puts/ | |
*/ | |
function sw_md5(blob, fn){ | |
_reader.onloadend = function(evt) { | |
if (evt.target.readyState == FileReader.DONE) { // DONE == 2 | |
var md5sum = md5(evt.target.result); | |
fn(md5sum); |
package my.spark | |
/** | |
* Created by jude on 15-9-16. | |
*/ | |
import scala.collection.JavaConversions.seqAsJavaList | |
import java.io.{FileReader, BufferedReader, File} | |
import java.util | |
import java.util.regex.Pattern | |
import breeze.io.TextReader.FileReader |
def build(seq): | |
if len(seq) == 0: | |
return None | |
else: | |
head ,tail = seq[0], seq[1::] | |
return {head: build(tail)} |
windows 用户如何利用vagrant 搭建一个 数据科学实验环境
本文将启动一台虚拟机,其中预先安装了:
在看完这篇博客之后,你可以在一分钟(不包含镜像下载时间)内得到一个数据科学的实验环境,快速进行数据科学的学习和探索。
vagrant 是一个虚拟环境构建工具。在用vagrant 创建一个数据科学 工具箱之前。你需要:
__author__ = 'jude' | |
import requests | |
import base64 | |
import unittest | |
import json | |
import pprint | |
def payload(user, passwd): | |
return base64.b64encode("{0}:{1}".format(user,passwd)) | |
class AuthCase(unittest.TestCase): |