shine-Notes

ゆるふわ思考ダンプ

.env+nuxt.js.configでAPIキーを秘匿する手順

axios等で外部APIを叩く際に、APIキーを秘匿してもたせる手順を調べたのでメモ(久々の短文エントリ)。

.env

( .gitignoreリポジトリの管理対象外にしておくこと)

API_KEY=hogehuga

nuxt.js.config

require('dotenv').config();
export default {
  (中略)
  buildModules: [
    '@nuxtjs/dotenv'
  ],
  // key
  privateRuntimeConfig: {
    env_api_key: process.env.API_KEY
  },
  (省略)

.vue上での呼び出し

    methods:{
        getData: function() {
            this.api_key = process.env.API_KEY;

補記

所謂dotenv系列はPythonで使ったことがあったのだが、きちんと秘匿するためにはnuxt.js.configprivateRuntimeConfig: {}で受け取る必要があるのがポイントだと思う。というか公式ドキュメントを真面目に読めば分かる話なのだが、そもそもこの辺の管理がVueとNuxtどっちでコントロールされているのか等で変に迷ってしまい、解決に時間がかかってしまった。

ja.nuxtjs.org

以上

統計検定の3級、2級を順に受験して合格したので学習内容や所感を記録する

サマリ

  • 統計検定3級と2級に合格するまでの学習記録
  • 「最短距離詰め込み」ではなく、「寄り道しつつ突っ走る」学習法について、自分のケーススタディを記録する
  • 数値分析を生業とはしていないけど、結構学ぶ楽しさが有ったよ、というポエムめいた所感
続きを読む

Mac OS環境にPython開発環境を構築する私的解(brew+pipenv+pyenv)(2020年11月版)

サマリ

  • Mac OSへのPythonインストールに関する、私的な最適解のメモ
  • homebrew + pipenv + pyenvで、ものぐさに管理された世界を作る

背景

今年の中盤に私物MacBookProを買い替えたのだが、環境構築系は0から綺麗に作ろーかなー、と思いはや半年。いかんこのままでは、と一念発起した。
また本Blogで長期に渡りアクセスを稼いでいるのが、Python入門したての頃に書いたPython3 on mac でpipをターミナルで打っても実行されないという記事で、それから何度もPython環境を構築するようになったので、ここらで自分なりにしっくりするPython環境を作っておきたいと思った。
というわけで本記事はその記録である。採用パターンと、ついでに不採用パターンついても記載しておこう。

続きを読む

tensorflow v2 のBatchNormalizationを使うと参考書のGAN訓練(tf1.x)が失敗した話

TL;DR

  • tf1.xベースの所謂keras-GANベースの実装をtensorflow2.xで実行すると、学習失敗する
  • BatchNormalizationの部分をtf.compat.v1.keras.layers.BatchNormalizationに変更すると成功する
  • 原因はkeras-GANにおけるtrainableの切り替え。v2のBatchNormalizationはtrainableで学習/推論モードを切り替えるので、Generatorの学習モデルcompile時点でDescriminatorにtrainable is Falseを与えるkeras-GANの書き方はそぐわない。
    • (…と思われる,誤ってそうならウェルカム指摘)
続きを読む

シンプルなFlaskアプリをGoogle App Engineで稼働させる

サマリ

続きを読む

DCGANの学習済GeneratorをFlaskアプリ上で実行する

サマリ

  • Webフレームワークのズブの素人が、ボタンクリックでGANのGeneratorが走るようなWebアプリを作ってみた。
  • Flaskは確かに短いコードでプロトタイプが作れるが、明示されていない所で「何をやっているか」を結局理解しないとハマるところも多い
続きを読む