Skip to content

Instantly share code, notes, and snippets.

@gomo
gomo / promise-queue.md
Last active February 18, 2021 06:02
Promise Queue

非同期処理を含むイベントが連続で発火されて、それを、同期に実行したい(発火された順番で必ず前の処理が終わってから実行したい)時に使えるテクニック。めちゃめちゃに実行される非同期処理を一列に整列させるイメージです。

var promises = [];
promises.push(Promise.resolve());

promises.push(
  promises.shift().then(() => {
    return new Promise(resolve => {
 setTimeout(() => {
@gomo
gomo / post.java
Last active August 29, 2015 13:59
HttpPostとServletFileUploadでContentTypeを取得できない
//POSTを投げる側のコード
HttpClient httpClient = HttpClientBuilder.create().build();
HttpPost httpPost = new HttpPost("http://127.0.0.1:8080/test/post");
MultipartEntityBuilder params = MultipartEntityBuilder.create();
params.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
//ContentTypeをセットしないと文字化けします
params.addTextBody("text", "マルチバイトテキスト", ContentType.create("text/plain", MIME.UTF8_CHARSET));
@gomo
gomo / gist:9678115
Last active August 29, 2015 13:57
STDOUTに即座に`flush`する`java.util.logging.Handler`
Handler handler = new StreamHandler(){
//初期化ブロック
{
setOutputStream(System.out);
setLevel(Level.ALL);
}
@Override
public void publish(LogRecord record){
super.publish(record);
@gomo
gomo / gist:9130020
Last active August 29, 2015 13:56
seleniumをphantomjsで動かす

seleniumを起動

java -jar /path/to/selenium-server-standalone-2.39.0.jar -role hub

phantomjsを起動

phantomjs --webdriver=8080 --webdriver-selenium-grid-hub=http://127.0.0.1:4444