Skip to content

Instantly share code, notes, and snippets.

View komiya-atsushi's full-sized avatar
🏠
Working from home

KOMIYA Atsushi komiya-atsushi

🏠
Working from home
View GitHub Profile
@komiya-atsushi
komiya-atsushi / binomial_proportion_demo.py
Created January 18, 2015 15:53
statsmodels を使って二項比率の信頼区間を求めるデモプログラム。
# Requirements:
# pip install statsmodel pandas numpy scipy
from statsmodels.stats import proportion as prop
def demo(num_clicks, num_impressions):
alpha = 0.05
methods = [
@komiya-atsushi
komiya-atsushi / ModifiedClopperPearsonInterval.java
Created January 18, 2015 15:55
割合が 0% or 100% でも信頼区間を計算できるようにした Clopper-Pearson の実装
package org.apache.commons.math3.stat.interval;
import org.apache.commons.math3.distribution.FDistribution;
import org.apache.commons.math3.exception.NotPositiveException;
import org.apache.commons.math3.exception.NotStrictlyPositiveException;
import org.apache.commons.math3.exception.NumberIsTooLargeException;
import org.apache.commons.math3.exception.OutOfRangeException;
/**
* numberOfSuccesses が 0 もしくは numberOfTrials と等しい場合でも、
@komiya-atsushi
komiya-atsushi / VerticalCode.java
Created August 13, 2011 15:50
VerticalCode の Java 実装。List<Byte> なぞを使っているので、空間効率はよろしくない。
package verticalcode;
import java.util.ArrayList;
import java.util.List;
public class VerticalCode {
private static final int BLOCK_BYTES = 1;
private static final int BLOCK_SIZE = BLOCK_BYTES * 8;
@komiya-atsushi
komiya-atsushi / CloseableHelper.java
Created December 8, 2011 16:34
Java の Closeable なオブジェクトを確実・安全にクローズするためのヘルパークラス。
package biz.k11i.io;
import java.io.BufferedReader;
import java.io.Closeable;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
/**
@komiya-atsushi
komiya-atsushi / Fuga.java
Created December 22, 2011 16:13
2011.12.22 に書いたひどいコード
package hoge;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.NoSuchElementException;
public class Fuga {
public static Iterable<Date> iterableDays(Date from, Date to) {
final Date localFrom = from;
@komiya-atsushi
komiya-atsushi / Retrievable.java
Created December 23, 2011 12:42
木構造を再帰呼び出しで処理したくない人向けの Iterable なインタフェース。Iterator インタフェースで tree retrieval (pre-order) できます。
package hoge;
import java.util.Iterator;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.Stack;
public interface Retrievable<T extends Retrievable> extends Iterable<T> {
List<T> children();
@komiya-atsushi
komiya-atsushi / demo.sh
Created January 22, 2012 07:06
子シェルスクリプト→親シェルスクリプトに変数を引き継ぐひどいスクリプト
#---
# child.sh
echo "export MESSAGE=hello"
#---
# parent.sh
`sh child.sh`
@komiya-atsushi
komiya-atsushi / mecab-tagger.rb
Created March 16, 2012 08:01
MeCab の Ruby バインディングに薄い皮をかぶせたもの。Ruby らしく each でループしたいがためだけに作りました。
# -*- coding: utf-8 -*-
require 'MeCab'
class MeCabTagger
class MeCabNode
def initialize(node, charset)
@node = node
@feature = node.feature.force_encoding(charset).split(',')
@charset = charset
@komiya-atsushi
komiya-atsushi / JPAQueryIterator.java
Created May 2, 2012 08:16
Play! framework の JPAQuery を Iterator/Iterable でラップして for-each で回せるようにしたもの。
package helpers;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.NoSuchElementException;
import play.db.jpa.GenericModel.JPAQuery;
/**
@komiya-atsushi
komiya-atsushi / gist:2925028
Created June 13, 2012 16:13 — forked from tamtam180/StringUtils.java
なんか構造が美しくないのでリファクタしたい・・ こう書き換えるかな?(komiya)
public static List<String> tokenize(String str) {
if (str == null || str.isEmpty()) {
return Collections.emptyList();
}
ArrayList<String> tokens = new ArrayList<String>();
int i = 0;
char[] chars = str.toCharArray();
while (i < chars.length) {