Goで偽名ジェネレータを作りました

Pocket

こんにちは、河野です。
これは TECHSCORE Advent Calendar 2015 の17日目の記事になります。

会員サイトなどのテストデータとして、偽の個人情報が必要になることがあるのですが、毎回そのデータの作成に困っていました。

少量のデータであればそれっぽいデータを手作業で作成できますが、数万件になってくると手作業では面倒くさいので作成できません。
かといって、重複が多いものや「AAA BBB」といった意味がなさそうなデータも使いたくありません。

そこで、偽の個人情報を作成するツールをGoで作りました。

kawaken/gimei-generator
(実際にランダムな名称を作成する部分は、mattn/go-gimeiを利用しています)

残念ながら、バイナリで配布できる状態まではたどり着きませんでしたので、インストールと使い方を説明します。

インストール

Goのインストール

ダウンロードページから自分のOS用のものをダウンロードして、PATHを通しておいて下さい。
https://golang.org/dl/

例えば、↓このページも参考になります。
インストール - The Go Programming Language

GOPATHも設定して、PATHに $GOPATH/bin を含めるとOKです。

gimei-generatorの取得と生成

GOPATHの設定まで終わっていれば、

を実行すると $GOPATH/bin の中に gimei-generator が作成されています。

使ってみる

以下のように使用します。オプションの -n が件数です

↓こんな感じで出力されます。
実行例

100万件でも余裕です。

ファイルへ保存する機能はありませんので、OS標準のリダイレクトなどを使用して下さい。

実行例2
実行例3

ちゃんと100万件できてます!

気になる処理時間ですが、自分のPCでは1分程度で処理できました。

フォーマットに使える文字

フォーマットに使える文字とサンプルは以下の通りです。

  • 漢字のフルネーム:"姓名", "氏名", "名前"
  • ひらがなのフルネーム:"ふりがな", "せいめい", "なまえ"
  • カタカナのフルネーム:"フリガナ", "セイメイ", "ナマエ"

あとは雰囲気でわかりますよね?

  • "姓", "氏"
  • "せい"
  • "セイ"
  • "名"
  • "めい"
  • "メイ"
  • "住所"
  • "じゅうしょ"
  • "ジュウショ"

上記、指定フォーマット以外は、そのまま出力されます。
実行例4

以上、gimei-generatorの説明でした。ぜひお試し下さい!

Pocket

Advent Calendar 2015の連載記事

  1. TECHSCORE Advent Calendar 2015
  2. Redshift と PostgreSQL に同時に JDBC 接続する
  3. Lombok で Spice up your Java!
  4. 画像を指定するだけ!非デザイナーでも簡単にそれっぽい配色ができるツールを作ってみた
  5. 新卒文系エンジニアの記録:配属半年間の失敗を振り返ってみた
  6. 非同期処理のすすめ
  7. ioDrive2の導入で支える、そのIOPS - 導入検討編.
  8. GoでパイプラインからSlackに通知する
  9. fuse でオレオレファイルシステムを作ってみた (Haskell で)
  10. Erlang はじめました
  11. ちょっと地味なビルドとリリースの話 (レガシーシステム改革、はじめの一歩)
  12. Java8 最速 boolean[] to Stream 選手権
  13. Google Apps の Directory API にてWebブラウザを介さずに認証する
  14. 風データをビジュアルに表現する
  15. マイクロフレームワーク「Ninja」を使ってみる
  16. 赤ちゃんvimmerからよちよちvimmerにクラスチェンジを果たすためのTips
  17. PostgreSQL FDW を作ってSQLでログ検索してみた
  18. Goで偽名ジェネレータを作りました
  19. 書き込み中に削除されたファイルを救出する
  20. 運用情報更新のススメ
  21. ちゃんと読んでくれましたか?
  22. Presto コネクターを実装する 第三回
  23. Ruby2.3を触ってみる
  24. Git 困ったときのtips集
  25. 5分で読む入門編:Java 8 ラムダ式 コレクション編(2)リストの検索
  26. CloudFront (+ S3) + JWPLAYER で様々なデバイスのブラウザから動画をストリーミング再生する

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です