できたもの
まずはできたものがこちら。
ソースコード:https://github.com/lake429c/InfiniteMonkeyTheorem
概要
標準出力・標準入力を利用するコンソールアプリケーション。
ひらがな一文字を入力すると、その文字から始まる単語と助詞・句読点が挿入されていく。
終了する際は「おわり」と入力。
Javaで作成。
- Java SE 11
- MySQL 8.0.23
製作過程
「頭文字を打つだけで文章ができていくアプリケーション」という構想はできていたので、まず必要な素材を集める。
日本語の語彙に関する辞書をここから入手。
分類語彙表-増補改訂版データベース コーパス開発センター -Center for corpus development-
CSV形式のテキストファイルなので、MySQLに取り込む。
文字コードはShift-JIS。
参考:http://blog.chatlune.jp/2018/03/01/mysql-import-csv/
テーブルを作るまでに問題発生。
ローカルファイルからインポートする機能がセキュリティの観点から無効になっていたので有効にする(クライアントとサーバーの両方で)
参考:https://mita2db.hateblo.jp/entry/2020/01/13/163218
Database:JP_Vocabulary
Table:bunruidb
が作成できた。
ここまで1時間。
プログラミングに入る。
1時間45分くらいで基本的な要素は完成。
残り気になる点は
・句読点と助詞の出現確率の調整
・ひらがな以外が入力されたときの処理
ひらがなであるかのチェック
参考:https://memo.morelents.com/java-kana-check/
45分くらいで単体テストも含め完成。
感想
素材の準備・調査・テストケース作成も含めているとはいえ、これくらいの開発でこの作業速度は遅い。
アプリの開発以外の部分(MySQLやJUnitの使い方)に時間がかかっていた印象なので、そこはある程度覚えるべきと感じた。
またテストケースの作り方が甘いと個人的には思う、要勉強。
参考:https://yamakisso.hatenablog.com/entry/2018/11/29/055324