その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

gimei-java 作った

世は空前の gimei ブームです.この前 go 版が出ましたね.
というわけで,というわけではなく,業務で必要だったので gimei-java を作ってしかるべきところ (つまりmaven central) にあげました.


Ruby には gimei という gem があり,

gimei は、日本人の名前や、日本の住所をランダムに返すライブラリです。テストの時などに使います。似たようなライブラリにfakerがあります。fakerはとても優れたライブラリで、多言語対応もしていますが、ふりがな(フリガナ)は流石に対応していません。gimei ふりがな(及びフリガナ)に対応しています。

というやつで,強いんですが,Java には存在しておりませんでした (もちろん Faker はある).

そんな折,大量にテストデータを作る必要が出てきて,僕は「テスト太郎」や「テスト花子」などという架空人物の名前を心をこめて考えてやっていたのですがそんな生活にももちろん限界が来てしまいます.


というわけでこの度 Java 版の gimei を作成・リリース致しました.
快くオリジナルの人名・住所のデータを使わせてくださった @ さんありがとうございます.


gem の gimei と同等な機能はほぼ揃えています.
使い方は README 等を読んでもらうとして,gimei-java にはオリジナルにはない tarohanako,加えて noun という機能が追加されています.
それぞれ何かと言うと「○○太郎」「○○花子」 (○○にはそれぞれランダムな名詞が入る),そしてランダムな名詞を出力するという機能になっています.

こんな感じ:

Taro taro = Gimei.generateTaro();

taro.kanji();    // => "ハム 太郎"
taro.hiragana(); // => "はむ たろう"
taro.katakana(); // => "ハム タロウ"

Hanako hanako = Gimei.generateHanako();

hanako.kanji();    // => "パソコン 花子"
hanako.hiragana(); // => "ぱそこん はなこ"
hanako.katakana(); // => "パソコン ハナコ"

Noun noun = Gimei.generateNoun();

noun.kanji();    // => "関東電化工業"
noun.hiragana(); // => "かんとうでんかこうぎょう"
noun.katakana(); // => "カントウデンカコウギョウ"

これらの機能は実は便利で,「○○太郎」や「○○花子」がテストデータに入っていると,それだけで役所感が出てくるのでカタい仕事をしているという気分に浸ることが可能です.あと男女の見分けが一瞬でできる.

名詞をランダムに出す機能は,個人的に架空の店舗名などを生成する必要があったため「<名詞> + 店」みたいな風に使えると便利かな〜と思って付け足しました.便利.

これらの機能で使っている名詞データのオリジナルはnaist-jdicで,そこから名詞・一般と名詞・固有名詞のみを抽出し,更にそこから1万件に絞り込んだというスタイルになっています.


もしも欲しい太郎や花子がございましたら,名詞のyamlにその名詞データを突っ込むだけなのでパッチを送って来てもらえればと思います.



以上です.ご利用下さい.