フリーランチ食べたい

機械学習/DSを中心にソフトウェア開発関係のことを書きます。

PythonでGitHub Starのトレンドを取得してBokehでプロットしはてなブログに埋め込む

最初に結果です。下のようにGitHub StarのトレンドをBokehで可視化してはてなブログに埋め込む方法を解説します。マウスオーバーしてもらうとtooltipが表示される(=画像埋め込みでない)ことが確認していただけると思います。

既存のサイトでもリポジトリ名を入れると可視化してくれるサイトがいくつかあるのですが、細かい見た目を調整したかったため自分でスクリプトを書いてみました。コード全体はGitHubに上がっています。

github.com

続きを読む

Nuxtのbuild部分でCircleCIでコケたときに確認すること

NuxtのbuildがローカルのMacでは通るのにCircleCIで失敗する問題で詰まったので、同じ問題にぶつかった方向けにまとめておきます。

自分の場合は、問題は2つありました。

  • CircleCIでNuxtのbuildのエラーログが出力されない
  • APFS(Macでデフォルトで採用されているファイルシステム)はファイル名の大文字と小文字を判別しない
続きを読む

Firebase Cloud Functionsの環境変数はRuntimeによって変わるので注意

タイトルで全部言ってしまっているのですが、ハマったので同じハマり方をしている方の検索用にメモっておきます。

自分がぶつかったのはGCLOUD_PROJECTでFirebaseのproject_idを取得して環境ごとに処理を切り分けたかったのですが、GCLOUD_PROJECTが何故か参照できなかったという問題でした。

2019-08-20現在の情報なので、時間が経過している場合は必ず公式ドキュメントを当たるようにしてください。

TL;DR

  • Node.js 10ではGCLOUD_PROJECT/GOOGLE_CLOUD_PROJECTは使えない
  • Node.js 10ではJSON.parse(process.env.FIREBASE_CONFIG)["projectId"]を使う
  • GCLOUD_PROJECTはdeprecatedなのでGOOGLE_CLOUD_PROJECTを使う
続きを読む

SageMakerをFargateで定期実行する環境をServerless Frameworkで一発でつくる

機械学習のモデルを学習する、あるいは推論APIを作成するにあたってSageMakerはとても便利ですが、 定期実行する機能をSageMaker自身では持っていない という問題があります。

このエントリでは、Serverless Framework(以降、Serverless)を使って素早くSageMakerの定期実行環境を構築する方法を紹介します。

以下が構成図です。

f:id:ikedaosushi:20190804213225p:plain

この環境を構築は、下記を前提としているのでご留意ください。

  • VPC、サブネットは既に作成しているものを利用する
  • 学習用のデータはこの環境以外からアップロードされる

またコードはすべて以下のリポジトリにアップロードしており、これをベースに説明をしていきます。

github.com

続きを読む

カックさんのブログメンタリングを3ヶ月受けたら色々X倍になった / 卒業ブログ

カック@ブロガー / k9u@kakakakakku さんに2019年4月~6月の3ヶ月間ブログメンタリングをしていただいていました 🙏 「どんなアドバイスをもらったのか」「どんな効果があったのか」を書きたいと思います。これを読んで、ブログメンタリング応募が増えたりカックさんの素晴らしいブロガー能力/メンタリング能力が伝われば嬉しいです。それくらいしか恩返しができないので…

「そもそもブログメンタリングって何?」と思った方はカックさんが「DevLOVE X」で詳しく発表されていたので、こちらをご覧ください。

kakakakakku.hatenablog.com

続きを読む

『iOSアプリ設計パターン入門』が設計に悩む『非』iOSエンジニアも救ってくれる良書だった

2019年1月15日に発売された『iOSアプリ設計パターン入門』が非常に良書だったので紹介します。自分は設計に対してある悩みを抱えていたのですが、この本を読んで一気に解決ました。

peaks.cc

続きを読む