demo & how to use

$ curl -X POST -d name="山田健二" https://yomiganafy.appspot.com/yomiganafy | jq     

#  {
#    "result": {
#      "Name": "山田健二",
#      "Yomi": "ヤマダ ケンジ"
#    }
#  }

setup

  • 最新のgcloudを入れる
# 移動
$ cd path/to/yomiganafy

# ローカルサーバー起動
$ dev_appserver.py app/app.yaml

deploy

$ gcloud config configurations activate yomiganafy

$ gcloud app deploy app/app.yaml

TODO

  • mecabの辞書を人名に絞る
  • 辞書を追加する手順を整理する
  • バリデーション
  • エラーハンドリング
  • responseもstructで管理する
  • やたら遅いのでパフォーマンスチューニングの仕方(計測の仕方)を調べる
  • ロジックの置き場所整理/ディレクトリ構成の整理
  • app.yamlの設定値解釈

よくある問題

  • dev_appserver.pyでsetup moduleが見つからない
    • gcloudはpython2系前提なのでpyenvで変更する
  • Failed parsing input: app file root.go conflicts with same file imported from GOPATH
  • handlersが見つからないって
    • projectディレクトリは$GOPATH/src/github.com/vsanna/yomiganafyにおくこと
  • 依存関係に有るpkgが無いと言われる
    • それに依存している外部ライブラリを$GOPATH/srcからrm -rfした後に再度go get some_pkgすると解決する(ことがある)