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 / CFnTemplateBuilder.java
Created February 14, 2014 14:59
第5回 #渋谷Java http://connpass.com/event/4549/ で発表する内容に関するコードです。
package biz.k11i.demo;
import biz.k11i.demo.CFnTemplateBuilder.Subnet;
import biz.k11i.demo.CFnTemplateBuilder.VPC;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
@komiya-atsushi
komiya-atsushi / cfn.json
Created February 14, 2014 15:00
https://gist.github.com/komiya-atsushi/9002471 で生成された CloudFormation テンプレートの JSON ファイルです。
{
"AWSTemplateFormatVersion": "2010-09-09",
"Resources": {
"Vpc1": {
"Type": "AWS::EC2::VPC",
"Properties": {
"CidrBlock": "10.0.0.0/16"
}
},
"Subnet1": {
@komiya-atsushi
komiya-atsushi / HowToSupressExceptions.java
Created February 18, 2014 13:53
finally で発生する例外を抑制しようと思ったら、こんな実装になってしもた。きもい。
/**
* finally で発生する例外を抑制しようと思ったら、こんな実装になってしもた。
*/
public class HowToSupressExceptions {
public static void main(String[] args) throws Exception {
new Suppressible() {
@Override
public void doTry() throws Exception {
throw new Exception("本体処理にてなんかの例外が発生した。");
}
@komiya-atsushi
komiya-atsushi / Yielder.java
Created March 3, 2014 14:36
Java で yield return ぽいことを実現しよう! ref: http://qiita.com/komiya-atsushi@github/items/3f1145eb1964efef2f50
import java.util.Iterator;
import java.util.NoSuchElementException;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.TimeUnit;
/**
* Java で yield return っぽいことを実現する機能を提供します。
*
* 以下は使い方の一例です。
@komiya-atsushi
komiya-atsushi / ParallelDemo.java
Created June 12, 2014 05:37
Stream#parallel() によるスレッド処理がどのようなものかを眺めてみる。
import java.util.stream.IntStream;
/**
* parallel() によるスレッド処理がどのようなものかを眺めてみる。
*/
public class ParallelDemo {
public static void main(String[] args) {
IntStream.range(0, 10)
.parallel()
.map(v -> {
@komiya-atsushi
komiya-atsushi / file0.txt
Created July 4, 2014 03:25
JSON 文字列を JUnit / hamcrest でアサーションしたいときは hamcrest-json を使うと捗る ref: http://qiita.com/komiya_atsushi/items/2a0f68b2b34e0bca5cb6
{
"foo": "bar",
"hoge": "fuga"
}
@komiya-atsushi
komiya-atsushi / Vagrantfile
Created August 20, 2014 17:19
Docker official ぽい MySQL のイメージを利用するデモ。
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
PROVISION = <<SCRIPT
curl -s https://get.docker.io/ubuntu/ | sh
docker pull mysql
@komiya-atsushi
komiya-atsushi / Base64Performance.java
Created September 10, 2014 16:18
Java 8 で導入された Base64 エンコーディング/デコーディングの機能と Commons Codec のそれとの性能比較をするプログラム。
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
import java.util.Base64;
import java.util.function.Function;
/**
* Java 8 と Commons Codec の Base64 エンコーディング・デコーディング性能を比較します。
*
* 比較対象の Commons Codec と、パフォーマンス測定結果の統計処理のために Commons Math3 が必要になります。
*/
@komiya-atsushi
komiya-atsushi / Java8PasswordHashDemo.java
Created September 19, 2014 19:09
Java 8 でのパスワードハッシュのデモプログラム。
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.spec.InvalidKeySpecException;
import java.util.Base64;
/**
* パスワードハッシュのデモ。
*/
@komiya-atsushi
komiya-atsushi / BinomialProportionDemo.java
Created January 18, 2015 15:53
commons-math3 を使って二項比率の信頼区間を求めるデモプログラム。
import org.apache.commons.math3.stat.interval.*;
import java.util.Arrays;
import java.util.List;
/**
* commons-math3 を使って二項比率の信頼区間を求めるデモプログラム。
*/
public class BinomialProportionDemo {