浅井大樹さんのYouTubeチャンネルで「幻想水滸伝II」について語る番組が放送

先日までコロプラでプロデューサーを務めていらっしゃった浅井大樹さんのYouTubeチャンネルで「幻想水滸伝」について語る放送が配信されました*1

本日 (2020/05/17) の 21:00頃 からは「II」の放送(生放送)があるということで、こちらも楽しみです。なお、前回同様、放送はアーカイブで後ほど見られるようになると思います。

*1:生放送されたもののアーカイブです

Ruby で Cloud Natural Language API を使う

Cloud Natural Language API とは

GCP の テキスト分析用 API です。

使い方(導入)

公式ドキュメント が全てですが、一部ハマったところを書いておきます。

1. 認証用の JSON ファイルの取得

認証用の JSON ファイル(秘密鍵込み)は、GCP の「IAM と管理」メニューから「サービスアカウント」を選択して作成します。「オプション」として設定できる内容はスキップしても大丈夫です。

この JSON ファイルは再度ダウンロードすることができないので、大切に取り扱います。

2. Ruby 2.7 では 'google-protobuf' gem のバージョンを 3.11.1 にする必要がある

Ruby 2.7 の場合は 'google-cloud-language' gem の依存で入ってくる 'google-protobuf' gem のバージョンを明示的に 3.11.1 に指定する必要があります。理由は次のとおりです。

github.com

3. 認証用の JSON ファイルの指定はコード内でも可能

認証用の JSON ファイルを指定する方法は、公式ドキュメントには以下のように書かれています。

環境変数 GOOGLE_APPLICATION_CREDENTIALS を、サービス アカウント キーが含まれる JSON ファイルのファイルパスに設定します。

この方法とは別に、Ruby のコードから場所を指定することもできます*1。具体的には gem のドキュメント に書かれている通りで、以下のようにします。

Google::Cloud::Language.configure do |config|
  config.credentials = '/path/to'
end

4. 公式ドキュメントにある 'language.analyze_sentiment' 以外の情報を取得する方法

公式ドキュメントではレスポンスの対象として analyze_sentiment を指定してます。Cloud Natural Language API には他のレスポンスもあり(公式サイト参照)、それぞれのレスポンスを取得するためのメソッドは gem のドキュメントに記載があります。

雑感

GCP のアカウントやプロジェクトの設定、API の有効化 などは一般的な方法で OK です。

*1:環境変数にもファイルの場所を設定できるので、柔軟に隠避できます

Visual Studio Code で.eslintrc.json や .prettier.config.js や .editorconfig をいじってもいじっても波線が消えないとき

ポイント

  • VS Code 上の拡張機能の設定も併せてチェックし、設定し直しましょう
    • 設定し直す場合はプロジェクト単位の変更とし、.vscode/ 配下に settings.json が来るようにします
      • .vscode/.gitignore などに入れておいて*1、git の管理外にします

いつものこと

公式ドキュメントを読みましょう。

補足

  • 保存するたびに .js のシングルクォートがダブルクォートに自動修正され、それによって波線が大量に発生するとストレスたまりますね……
  • Prettier でよく変更するのは(個人的には)、singleQuotetrailingComma でしょうか
  • prettier.useEditorConfig が「キモ」になることが多いかなと感じています

*1:僕は .git/info/exclue に書いています

Powered by はてなブログ