そのうち使ってるツールを差し替えたりもするだろうから、いったん今のとこの技術スタック(っていうの?)をメモしておく。
基本的にはPython(Flask)以外はほぼぜんぶ初めて使うもので占められている。ふつうは知らないことを追加するのは+1にしなさいっていうんだけど、完全に無視した。のたうち回ったし、のたうち回っている。

ニームの書(halipe.co)

Backend

スクリプトはすべてPython。Flaskつかってて、Responderにリプレイスできるか試している。最初はElixirいくか!!とか息巻いてたが、API作るくらいのことで死にそうなのでやめた。
いまはGAEのFlexible環境にDockerコンテナ投げてAPIサーバが立ち上がっていて、ほかにはCloud Functionsで関数(これもPython)がいくつか。

そもそもはKubernetesに習熟したいという野望があってしこしこyaml書いてた。超楽しい。が、SSL証明書の取得と設定らへんで盛大にすっ転んだうえ、誤ったコンフィグを投げてはLet’s encryptにロックされて作業が止まるため、急遽GAEに逃げ込んだという次第。証明書やらドメインまわりやらが便利すぎてヨダレ出た。一方でデプロイ10分以上かかるのはちょっと辛い。
なんかStandard環境でもPython3使えるみたいなのを見かけたのでそっちに移す予定。jsonやyaml読んでjson吐くくらいしかしてないしょぼいAPIの為に毎月5000円払っている。しょぼいわ。
むろんそんだけの機能を、Kubernetesでクラスタあげようとしてたわけです。立ち上がってたら5000円どこじゃ済まないが、それはいいんだ。インフラ屋でもない人がこういうのの構築やるにはホビーくらいしかチャンスがない。
コマンド一個でPodが増えたり減ったりするのは、なんとも言えない愉しみがあった。あのPodやらService、むかしは物理サーバ一個一個でやってたんだぜまじかよってかんじ。

CI

リポジトリはBitbucket使っているので、マスタへのマージの際にBitbucket Pipelinesを起こし、Slackに通知するようにだけしている。
Python側だけテストが少し書いてあって、フックでテスト通すとこまでできた。これももちろん初めてだったので、動いたときはそれはもう大変に嬉しくて、ムダにPushした(程なく無料ビルド時間を使い切り動かなくなった)。
JS側がテスト書くまで至っておらず、まだ完成してない。Jestというのを見つけたので使ってみようと思っている。

DB

DBはCloud Firestoreをつかっている。ゼロの状態からNoSQLのDBつくんの初めてだった。リレーションとかあんま気にしないでいい単純なアプリなので、あんまり深い困りごとには遭遇してない。タグ検索とかの実装用にインデックスのテーブルこさえたりしたけど、テーブルそのものに張ってるindexつかうのとどっちがいいんだろうみたいな感じ。活用してる感はない。
更新情報とかはSpreadSheetに書き付けていて、反映用のスクリプト叩くとFirestoreにデータを放るという運用をやっている。一番最初はvueファイルにまるまる書き込んでたので、更新情報のっける程度の用事でデプロイが発生していた。

Frontend

TypeScript + Nuxt.js。どっちも使ったことないので採用。ホビーとはいえ無茶な挑戦だった。困ったときにTypeScript/Vue.js/Nuxt.jsいづれの問題なのかの切り分けすらできないような三下が、まるっきり全部わかんない状態で挑んだ。
作業の大半は調べ物の時間で、文字通りヨレヨレになっていた。
いっぽう尋常でない学びはあった。イベントハンドラって何?みたいな基礎部分への理解も危ういくらいの人だったんだが、なんとかなりつつある(まだ危うい)。
CSSまわりはBulmaを入れた。じつはCSSフレームワークの導入からやったのも初めて。
ほんと今まで何やって食ってたんですかねという感じなんだが、すでに動いてるプロジェクトに参加することが多いと下地はあらかた出来上がっていたりで、構築にはあんまり関与しないで済んじゃってたという背景がある。

ほか

手元でバッチやらを書く下地はJupyterNotebookを使うことがある。ド頭から動かさずに気になるとこだけ叩けるというのがことのほか便利で感動している。
表の操作はPandasとか使ってるけど、必要でというよりは使う理由になるので入れてるといった感じ。慣れておきたい。

地図をはじめ、さまざまな画像は基本的にFireworksでやっている。今となっては太古のアプリなんだろうか。あたしの用途ではこいつを超えるアプリケーションが地上にない。Vectorスイスイ書いてビットマップを切り取る切り抜くとかを、こやつだけが軽快にやってくれる。問題は古いのででかい画像に超弱い。もともとメモリの危ういソフトなんだがすぐ吹っ飛びそうになるのでおそるおそるやっている。横1900のPNGを9枚も食わすともう挙動不審になる。

ロゴのVectorを作るとかはIllustlatorをつかっている。これも昔々のやつだけど、あたしは線が書けてaiが書き出せたらいいので、それ以外のことでは全く用途がない(せいぜいトレースくらい)ので、たぶんもうこの先新しいIllustlatorを買う機会もあるまい。いまはそっち側で食べてるわけでもないし。
あ、名刺作るときは活躍してるんだった。赤作るときはYMを100にするだけじゃなくて黒10%入れろとか、ああいう細かい話がたまーに活きることがある。
オンデマンド機だと関係ないけれども。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です