見出し画像

実績作りのアイデアその7

クロスワードパズルはお好きだろうか。

子供の頃大好きで、あれば解いていたしわからない語句は広辞苑をひいて調べるようなちょっとアレな子供だった。大人になった今、広辞苑は相変わらず本棚にある(今年発売された第七版も購入した)が、調べるのはもっぱらグーグルになった。広辞苑をひくのは一次情報としての引用に必要な時か、時間がある時の暇つぶし(某塾講師の先生もおっしゃっていたが広辞苑を頭から全部読むのは面白い)くらいだ。

クロスワード辞書として豚辞書という元データが存在する。日本語向けクロスワードのルールに合わせて(言語体系が異なるとクロスワードのルールも異なるのだ)1行1語拗音の大文字化を行ったひらがなのテキストデータだ。残念なことに元サイトは閉鎖されているようで、有志による再配布が細々と行われているだけになってしまっているが、未だクロスワード用文字検索の元データとして現役らしい。

さあ実績作りのアイデアの出番だ。

現時点で文字データを一定のライセンスの元で提供するならもちろんgithubを使用するだろう。幸い(?)なことに豚辞書のようなデータはgithubにあがってはいないようだ。

豚辞書をgithubにあげろというわけではない。同様の文字列ファイルを管理するためにgithubを使うというアイデアだ。データ管理なら単にテキストをコミットすればいいのだが、ここは実績作りのアイデアを書く場だ。できればdockerを用いたコンテナで、何かしらのプログラム言語(phpが楽でいいかもしれない)を使用した入力インターフェースを備えた辞書管理プログラム及び辞書データを公開することを提案したい。

扱いやすさの観点からか豚辞書は全文字列が入った1つのテキストファイルだが、データ管理には不適切だ。20万語も入っているらしいが、メモリにやさしくない。五十音別のテキストファイルに分割して管理すれば、個々のファイルを直接参照する際にも便利ではないだろうか。

入力インターフェースとしたプログラムが、入力された文字列を変換(ひらがな化、拗音の大文字化、不正文字の除去等)し、先頭の1音に応じてテキストファイルに分割保存する。一定量溜まったらテキストファイルをコミットすればいい。

工夫するならCIサービスを利用して、pushされたデータを元に1ファイル化して配布してもいいし、静的ファイルジェネレータを駆使して配布ページを作成するのもいい。VPSやインスタンスがあれば検索機能を自作してもいい。grepでも正規表現でもsubstr()でもSolrでも、条件に基づいた検索ができれば言うことなしだ。

さらにもうひとひねりするなら、クロスワード生成プログラムを同梱してもいいだろう。

githubに草も生えるし、趣味でこんなプロジェクトをやっています、と名刺代わりに紹介することもできるだろう。リポジトリの設計、CI連携、サービス化等々、1サービスをプロジェクトとして回していけるだけのノウハウを示すことができるので、実績作りにぜひチャレンジしてもらいたい。




なぜ自分でやらないのかって?クロスワードは自分の知識を総動員して楽しむべき知的生産性の高い遊びだからだ。辞書データを作る(使う)のはチートだと思っているのだw(なぜ書いた?!

ぱくたそさんにクロスワードに適した写真がなかったので今回の画像はPixabayさんから。


フリーランスのエンジニア。主にサーバサイドからインフラ。フロントとアプリも出来るけどそんなに好きじゃない。noteはアウトプットの練習用。普段はTwitterにしかいない。