はじめに
「英語力を高めたいなら英英辞書を使うといい」と聞いたのですが、
「単語を調べる」→「その単語の解説文に出てくる単語がわからない」→「解説文をコピペして別ウィンドウでGoogle翻訳に突っ込む」→「調べたことを忘れる」→「単語を調べる」→...
の無限ループでGoogle翻訳を毎回開くのが面倒になってきました。
なので、
・英英辞書での検索
・(必要な場合は)Google翻訳
・自動で単語帳に追加
・好きな時に単語テスト
がまとめてできるサービスを自作することにしました。
(英和辞書?知らない子ですね...)
作ったもの紹介
「辞書 × 単語帳」WordNote
*)Oxford Dictionariesの規約に従ってPowered by OXFORDのロゴを使用しています。
サイトはこちら
辞書モード
・Oxford Dictionaries APIから単語データを取得し、適当に成形して表示しています。
・日本語訳はGoogle翻訳APIを無料で作る方法を参考に自分のアカウントで作成したAPIを使っています。
テストモード
・テスト方法はスペルテスト(スペルを入力)、単語テスト(意味から単語を推測、OX回答)、意味テスト(単語から意味を推測、OX回答)の3種類を用意しています。
・各単語は出題間隔はSuperMemo2をベースにしたアルゴリズムで決定しています。
技術的なあれこれ
言語
・Python
・MySQL
・GAS
環境&APIs
・Google Cloud Functions
・Cloud SQL
・LINE Messaging API
・Oxford Dictionaries API
運用コスト
Cloud SQLが毎月1000円ちょい(一番安いIowa US-centralを使っています)かかりますが、初年度は$300分のクレジットが使えるため実質無料です。
(最初は何も調べずに東京リージョンでやって7000円ほど吹っ飛びました...)
技術習得
・Python
note.nkmk.meには超絶お世話になっています。
Pythonで困ったらまずここを見るようにしていました。
・GCP
公式ドキュメント(日・英)を中心に時々QiitaやStack Overflowを見ていました。
公式ドキュメントの日本語版は情報が遅いとのことで英語版主に見ていたのですが、出てくる単語がわからないことが多く、だからこそこのボット開発のモチベーションを維持できていた気がします。
・LINE Messaging API
こちらも公式ドキュメントがかなり充実していたので、それほど困ることはなかったです。
・Oxford Dictionaries API
先々月くらいのアップデートでサンプルコードにPythonが追加されたので、そこを見れば十分扱えると思います。
またこのAPIに関する日本語の情報があまりなかったので、Oxford Dictionaries APIの使い方を書きました。
最後に
コード解説は別記事で書く予定です。