tokuhirom's blog
  • Java で HTML Escape とかのベンチマーク
    なんとなくとってみた。結局 Caliper でとった。guava が意外と速いんだなあ。 ``` package me.geso.javaMicroBenchmarks; import java.
    2014-11-28(Fri)
  • golang で JSONPath 的にデータ取り出したいときは @mattn_jp の go-scan が便利
    golang で net/http とってきて JSON を parse して所定のキーを取り出すプログラムを書きたかった。 こういう場合、JSONPath とか使って書きたいのだが、JSONPath
    2014-11-28(Fri)
  • cpan-repository command.
    I wrote cpan-repository command. It shows CPAN repository URL from module name. ## SYNOPSIS
    2014-11-28(Fri)
  • nanobench - Java 8 で簡単にマイクロベンチマークをとれるフレームワーク作った
    Caliper や JMH などを試してみたが、案外あれは使うのが難しかったり、インストールが難しかったり、結果がよみづらかったりする。 Perl 5 に標準添付されているベンチマークフレームワークで
    2014-11-28(Fri)
  • Parallel::Prefork で子プロセスが死なない場合の対応方法
    殺しても死なない子は念入りに殺す必要があるし、死なないなら死なないで死んでないことを記録に残しておく必要がある。 infof("[%d] Worker exiting...", $$);
    2014-11-28(Fri)
  • Dropwizard のサブコマンドを実装する方法
    Dropwizard で作られたアプリケーションは java -jar Hello-0.0.1-SNAPSHOT.jar server production.yml ja
    2014-11-28(Fri)
  • Dropwizard+Hibernate で発行したSQLをログに出力する
    DBIx::QueryLog のように、発行したSQLを直接みたいな、と思ったりしたわけですが、それは以下のように行えばよいようだ。 database.properties に hibernate.
    2014-11-28(Fri)
  • JPA2 の @GeneratedValue について
    JPA2 ではすべての entity に id がふられている。その id の採番方式は選択することができる。 @GeneratedValue(strategy=GeneratedValue
    2014-11-28(Fri)
  • Java8 Stream API では collector とかを複数回呼ぶと実行時エラーになる
    以下のようなコードは、実行時エラーになる。 Stream<String> ss = Arrays.asList("hoge", "fuga").stream(); System.ou
    2014-11-28(Fri)
  • Lingua::EN::Inflect みたいなのを Java でやるには Evo Inflector を使う
    System.out.println(English.plural("word")); // == "words" とかやればいいので楽。
    2014-11-28(Fri)
  • Java 8 で例外を投げていることをテストしたい
    特定の条件で例外を投げるコードを書いたときに、それをテストしたい。なんてときがある。 このクラスの例外があがってるってことだけ判断できればいいんだけどな、ぐらいのゆるい条件のとき。 そんな時は以下の
    2014-11-28(Fri)
  • cv ってコマンドが面白い
    procfs で他のプロセスの seek 位置をみることで、進捗状況を外からモニタリングするツールとのこと。
    2014-11-28(Fri)
  • nanobench のインターフェース変えた
    lambda 使わないほうがいいんじゃない?という意見を kazuho さんから頂いたので、使わないようにしてみた。 lambda 使わない方がデバッガで追いやすいというのは一理あるので、それもまたい
    2014-11-28(Fri)
  • Java で Regexp::Assemble のように効率的な正規表現を文字列のリストから組み立てる
    [graph-expression]( ってやつに入ってる RegExpUtils ってのを使うと出来ます。 (サンプルコードは groovy) #!/usr/bin/env groovy
    2014-11-28(Fri)
  • groovy の grapes がうまくいかないときのデバッグ方法
    groovy -Divy.message.logger.level=4 -Dgroovy.grape.report.downloads=true examples/synopsis.groov
    2014-11-28(Fri)
  • Regexp::Trie を java に移植した
    Regexp::Assemble っぽいことをするには graph-expression に入ってるやつを使えばいい、という話は[昨日書いた]( のですが、生成コードがあまり綺麗ではないし、まあ今
    2014-11-28(Fri)
  • Split Amon2::Plugin::Web::CSRFDefender from core distribution.
    ## 1. Amon2::Plugin::Web::CSRFDefender was removed from Amon2 core distribution. Amon2::Plugin::Web
    2014-11-28(Fri)
  • Karabiner の private.xml を設定した
    Realforce 買ったので private.xml を書いた。 private.xml を書くと、MBP 本体のキーボードと外付けキーボードとの間で別の設定ができるようになるし、設定を複数の環境
    2014-11-28(Fri)
  • cpan-outdated 的なことを maven でやりたい
    mvn versions:display-dependency-updates でできる。コアなやつなので、pom.xml をいじらなくても使える。便利。
    2014-11-28(Fri)
  • jackson で JDK8 の Optional をうまく扱ってほしい
    jackson では JDK8 の Optional にまだ対応していません。 Jackson 自体が JDK6 をサポートしているので、コアのデータバインディングに入ることはないのですが、それにして
    2014-11-28(Fri)
  • [Security Notice] Amon2, HTTP::Session2 security updates
    Last week, I shipped Amon2 and HTTP::Session2 includes security fix. ## [Must] Update "secret" if y
    2014-11-28(Fri)
  • Apache HttpClient で Content-Body を String として得る
    public String getContentBody(CloseableHttpResponse res) { ByteArrayOutputStream stream =
    2014-11-28(Fri)
  • 「Javaとベンチマーク」というタイトルでJJUG ナイト・セミナー 「ビール片手にLT&納涼会」で話してきたよ~
    <iframe src="//www.slideshare.net/slideshow/embed_code/38248472" width="427" height="356" frameborde
    2014-11-28(Fri)
  • なぜ Teng は良いものなのか
    なぜ Teng は良いものなのか、を YAPC で再考させられたのでここにメモしておく。 Teng は自社開発のウェブアプリケーションを作ってる人たちが作っていて、それがうちのニーズにあってるのでい
    2014-11-28(Fri)
  • pom.xml から classpath を生成するやつ(cache 機能つき)
    pom.xml で指定した依存関係を読み込んだ状態で、いい感じに起動させたい、みたいなことがよくある。しかし、都度 maven から起動するのもめんどくさいし、`mvn exec:java` はさまる
    2014-11-28(Fri)
  • Perl 初心者がウェブアプリケーションを書く時に気をつけるべきこと
    $c->req->param('id') みたいなメソッドは使ってはいけない。これは歴史的経緯から残っているものなので、基本的に使わない方がいい。 $c->req->paramet
    2014-11-28(Fri)
  • How do I write pretty print JSON filter with Jackson?
    byte [] bytes = ...; ObjectMapper mapper = new ObjectMapper(); mapper.enable(Serializati
    2014-11-28(Fri)
  • YAPC::Asia 2014 で Test::Kantan というライブラリについて発表してきました
    <iframe src="//www.slideshare.net/slideshow/embed_code/38911119" width="427" height="356" frameborde
    2014-11-28(Fri)
  • Java 8 Stream API で Immutable な List を作成する
    data.stream().collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiabl
    2014-11-28(Fri)
  • Java なウェブアプリのテストをするための mech というライブラリを書いていた
    @Test public void testGoogle() throws Exception { try (Mech mech = new Mech(" {
    2014-11-28(Fri)
  • Java で lazy なアクセサを書きたい
    それ lombok でできるよ。 import lombok.Getter; public class GetterLazyExample { @Getter
    2014-11-28(Fri)
  • Eclipse が起動しなくなった
    なんかしらんけど起動しなくなった。Eclipse が起動しなくては仕事にならないということで調べたところ、Windows 上での情報が多くて辛かった。結局、以下のコマンドでかいけつ。 rmt
    2014-11-28(Fri)
  • [java]インターフェースにArrayを露出させた場合の話
    Java の世界ではプリミティブな配列が存在している。 プリミティブな配列は速度が List などと比べると圧倒的に速いのでついつい使いたくなる。 しかし、Java 言語では immutable な
    2014-11-28(Fri)
  • Content-Security-Policy と nonce の話
    Content-Security-Policy の nonce を利用すると、XSS の脅威をかなり軽減できます。 そこで、Web Application Framework ではデフォルトで対応し
    2014-11-28(Fri)
  • LL から Java に移行した人がはまりがちなこと
    こんにちは。Java 初心者です。 Java 初心者、得に LL から Java に来た人にありがちな問題について社内向けに書いたものをオープンアンドシェアさせていただきます。 前提として、我々は
    2014-11-28(Fri)
  • [ruby] readline がなくて後から入れたい時
    readline ライブラリは ruby の標準ライブラリなはずだけど入ってない環境もあるので gem install rb-readline しておく必要がある。
    2014-11-28(Fri)
  • [ruby] スクリプトの実行結果をログファイルに書く
    Ruby で書いたスクリプトの実行結果をログファイルに残したい。しかし tee とかでトルのもめんどくさい。 そんな時は ruby の STDOUT/STDERR をロガーのパイプに置き換えてしまえば
    2014-11-28(Fri)
  • [java] SecureRandom のアルゴリズムの選択について
    # 前提 Java SE 8 + Linux 前提です。 # Java で暗号的に安全な乱数をえる Java で暗号的に安全な乱数を得るには SecureRandom クラスを利用します。 Se
    2014-11-28(Fri)
  • avans 0.34.0 出した
    avans の 0.34.0 を出した。 クエリパラメータが足りていない場合などに例外をあげていたのだが、例外的な状況じゃないので、エラーレスポンスを真面目に返すようにした。
    2014-11-28(Fri)
  • [java] webscrew に basic auth header のパーサーつけた
    表題の通りです。 avans で Authorization header をパースするのがダルいので、一応そのへんの機能をつけた。 (webscrew とは web application を作
    2014-11-28(Fri)
  • Yosemite にしたら AppleScriptEngine.jar がどやこやで Eclipse でコンパイルできなくなった。
    から Java for OS X 2014-001 を入れたら治った。よかった。
    2014-11-28(Fri)
  • tinyorm 0.28.7 がでてます
    `SELECT ~ FOR UPDATE` と `INSERT ~ ON DUPLICATE KEY UPDATE` の2つの機能が実装されてます。 <S>この2つは、mysql 特有のクエリですが、
    2014-11-28(Fri)
  • Shipped router-simple 0.16
    Added `directory_slash` option by @fayland++. It works like Apache's DirectorySlash option.
    2014-11-28(Fri)
  • maven central にリリースしてみた
    Maven central にあげようと以前奮闘してみたが、うまく行かずに諦めていた。 アカウントの登録まではいっていたのだが、なんかうまくいかなくて諦めていたのだ。 が、モリスさんのエントリを見な
    2014-11-28(Fri)
  • javadoc.io が便利
    Maven central へのアップロードを無事に果たしたのはよいが、javadoc を見るにはどう>したらいいのか、、と思って探してみると、あった。ありました。javadoc.io は mav
    2014-11-28(Fri)
  • jenkins のときだけ一部テストを走らせたくない
    なんか一部だけすげー重いテストだから jenkins では走らせたくないとか、異常なミドルウェアに依存しているから jenkins では走らせたくないとか そういう事情なときに、一部テストをスキップさ
    2014-11-28(Fri)
  • [java] web.xml から tomcat-embed をランダムポートで起動し、起動したポートを得る方法、または Java webapp のテスト手法について
    一般的に web application のテストをするには application server を別スレッドで起動してそこにアクセスする方法と、http request を mocking して
    2014-11-28(Fri)
  • java における sticky session の話
    <blockquote class="twitter-tweet" lang="en"><p>HTTPのセッションをRedisのようなバックエンドに持たせて毎回参照するような構成と、それに加えてローカ
    2014-11-28(Fri)
  • avans 0.36.0 を出しました
    正式リリースに向けて、非互換な変更を入れています。 変更点はこちらです。 詳細はこちらに記載されています。 非互換の変更点がこのへんになってて、フックポイントを annotation に移し
    2014-11-28(Fri)
  • はじめての Spring Boot
    <iframe src=" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" fram
    2014-11-28(Fri)
  • Google guava と Java 8
    Google guava は Java 7 で使っていると便利なのだが、Java 8 の世界では使わないほうがよいように思う。 * Java 7 の世界で独自で関数型プログラミングしようとした結
    2014-11-28(Fri)
  • AngularJS 嫌いな人が多い昨今について
    最近 AngularJS 嫌いという言説が多いですが、そういうことを仰る方々は主に先鋭的な JSer のように思います。 ただ、僕なんかの場合には、ユーザー向けの画面の構築などには AngularJ
    2014-11-28(Fri)
  • [java]2つのリストをマージする
    List<String> newList = Stream.concat(list1.stream(), list2.stream()).collect(Collectors.toLi
    2014-11-28(Fri)
  • Java で JSON をテストケースに貼り付けた後でエスケープしてまわるのが辛いときに
    ここにあるように、Preferences -> Java -> Editor -> Typing の "Escape text when pasting into a String litera
    2014-11-28(Fri)
  • JJUG CCC 2014 Fall で「Java で1から10まで書いた話」を発表してきました
    <iframe src="//www.slideshare.net/slideshow/embed_code/41927339" width="425" height="355" frameborde
    2014-11-28(Fri)
  • Java 8 Date and Time API の実践的なチートシートできたよ~
    Java8 を使いこなそうとすると、やはり Date and Time API も使いこなす必要がでてくる。 我々 Perl 畑出身の人間からすると、Perl の世界では DateTime/Time
    2014-11-28(Fri)
  • Class::Data::Lazy has been released.
    [Class::Data::Lazy 0.01]( has been released on CPAN. It's very useful when you are writing the Amon
    2013-12-13(Fri)
  • ngResource はどうやって値を埋めているのか
    ngResource は AngularJS で RESTful API を call する際につかえるクライアントライブラリだが、これがなかなかマジカルな動きをする。 具体的には、以下のようなコー
    2013-12-13(Fri)
  • Shipped HTML::CallJS
    HTML から JS にデータを安全にわたす方法として、JSONP みたいに関数をコールするようにしたらいいのではないか、という提案が kazuhooku blog にて行われているわけですが、実際に
    2013-12-13(Fri)
  • Shipped Amon2 6.00
    Shipped Amon2 6.00. This release contains the big change. Amon2 switched to default session managem
    2013-12-13(Fri)
Prev
Next
© tokuhirom