##変更履歴
- 2021/02/06 MyFastDictionaryからMyDirectionaryReaderに改名
- (辞書を読むツールということを強調するため)
英辞郎・和英辞郎・例辞郎・略語郎などをデータベースに入れて、Webから検索できるようにしました。 名前は、**MyDictionaryReader**です。
ソースコード公開しています。
(プロのプログラマーではないので、なんとか動けばいいレベルです)
##MyDictionaryReaderの特徴
- 英辞郎の辞書データを利用するのが基本
- BOOTHから購入可能 (https://booth.pm/ja/items/777563)
- データベースの技術を使うので、全文検索が高速
- 単語の先頭だけでなく、途中に一致するものを表示可能
- 単語からの検索だけでなく、訳の部分からも検索可能
- 複数の検索キーワードに対応(複数のキーワードが含まれているものを表示)
- 検索キーワードはわかりやすいように、文字の色を赤にしました。
- WebベースなのでOSに関係ない。
- Windows、Mac、Android、iOSなどに縛られない。
- レンタルサーバに置けば、リモートからでも検索可能
*僕のWindows PCでは、xamppで動かしています。
*ダウンロードして、ファイルをWebサーバに置けば動くはず。
スクリーンショット
##開発理由
英語を勉強するために辞書はあった方がいいです。
Webでも可能ですが、多く検索する場合には少し使いずらいです。
もっと便利な辞書が欲しい。
Windowsでも、Macでも、Androidでも、iOSでも、Linuxでも使えるようにしたい。
##技術選定
いつでもどこでも検索できるようにWebシステムしました。
できるだけ簡単に作れる技術を選定しています。
- Webに特化した簡単な言語のPHP
- お手軽なデータベースのSQLite (ファイル置くだけ)
- フレームワークは、お手軽なCodeigniter (ファイル置くだけで動く)
- HTML/CSSフレームワークは、定番で検索したら情報が多くでてくる Bootstrap。スマホも対応。
前に作った SimpleIPAM (https://github.com/kuritaka/SimpleIPAM ) を流用
IP管理表を通して学ぶインフラが作る社内Webシステム
GitHub
ソースコードはGitHubで管理していきます。
https://github.com/kuritaka/mydictionaryreader
僕は、プロのプログラマーではないので、なんとか動けばいいレベルです。
##今後の予定
ロングマンや広辞苑やE-DICなど辞書データを充実させていきます。
データ変換の方法は、把握していて、できるはず。
##苦労メモ ### 辞書のデータが大きい
SQLiteのファイルサイズをできる限り小さくなるように工夫しました。
-
辞書データは大きいので1辞書、1ファイル(1データベース)にしました。
-
検索文字列とキーワードが、完全に一致することは、あまりないはずなので、インデックスは作りません。
-
プライマリーキーのidで、検索をひっかけたりはしないので、プライマリーキーは不要。
-
1行ずつInsertしたら、終わらない。
- SQLをトランザクション対応にしたら、すぐに終わりました。
##テキスト形式の英辞郎をデータベースにする方法
長くなってしまったので、こっちにまとめました。
[英辞郎などのデータをSQLiteに入れる方法] (https://pc.oreda.net/software/dictionary/eigiro2sql)
1度しかやらないし、できればいいやくらいです。