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 / 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 / TokyoWebminingTwitterListFromSekicoco.java
Created July 26, 2014 05:30
セキココのページをスクレイピングして Twitter スクリーン名を収集し、それをもとに Twitter のリストを生成するやつ。
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.UserList;
import java.io.IOException;
import java.net.URL;
@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 / JsonStringifyPrettyPrinter.java
Last active September 3, 2021 08:59
Jackson による JSON シリアライズにおいて、JS の ``JSON.stringify()`` ぽい pretty print を実現する PrettyPrinter 実装です。
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.PrettyPrinter;
import java.io.IOException;
import java.util.Arrays;
import java.util.Stack;
/**
* Google Chrome における JSON.stringify() に近い pretty print を実現します。
* <p>
@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 / Markdown.java
Created April 15, 2014 05:53
GitHub API の /markdown を呼び出す Java コード。
import com.google.gson.Gson;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import java.io.BufferedReader;
import java.io.IOException;
@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 / 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 / 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 / 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;