Skip to content

Instantly share code, notes, and snippets.

@jude90
jude90 / trampo
Created April 16, 2014 13:30
Trampoline -- python 尾递归优化方案 (并不理想)
from types import GeneratorType
def trampo(func):
def _(*args, **kwargs):
g = func(*args, **kwargs)
while isinstance(g, GeneratorType):
g = g.next()
return g
return _
@jude90
jude90 / monad-for-js.md
Last active August 29, 2015 14:01
monad for js 摘抄

原文 那么monad 到底是什么呢? 它是一种设计模式。只要你有一堆函数,当它们接受一个参数而返回另一个值,就可以用以下两个函数把那些函数组合在一起。

  • bind 函数将其他函数变换成 输入参数与返回值 类型相同的类型, 使它们可以组合起来。
  • unit 函数将一个值包装成组合函数可以接受的模式
@jude90
jude90 / getattr, getattribute
Last active August 29, 2015 14:05
python 笔记
python 属性的查找顺序是 __getattribute__ , __dict__ , __getattr__ .
一个接一个调用。在 __getattribute__ 中 调用对象的某个属性, 可能会引起递归。
@jude90
jude90 / time.py
Created August 29, 2014 01:39
thread time
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);
@jude90
jude90 / csv2parquet.scala
Created September 17, 2015 05:41
shuffle a csvfile by some fields and render them as parquet
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
@jude90
jude90 / buildict.py
Created December 6, 2015 13:14
dict with hierarchy
def build(seq):
if len(seq) == 0:
return None
else:
head ,tail = seq[0], seq[1::]
return {head: build(tail)}
@jude90
jude90 / data_box_up.md
Last active April 30, 2016 13:24
How to up a data box

windows 用户如何利用vagrant 搭建一个 数据科学实验环境

本文将启动一台虚拟机,其中预先安装了:

  • Python,包括 Python Notebook, NumPy, SciPy, matplotlib, pandas, scikit-learn 和 SymPy
  • R ,包括ggplot2, plyr, dplyr, lubridate, zoo, forecast, 和 sqldf

在看完这篇博客之后,你可以在一分钟(不包含镜像下载时间)内得到一个数据科学的实验环境,快速进行数据科学的学习和探索。

vagrant 是一个虚拟环境构建工具。在用vagrant 创建一个数据科学 工具箱之前。你需要:

@jude90
jude90 / rest_graph.py
Created January 18, 2016 07:34
REST case for neo4j
__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):