空腹を超えると腹痛になる

訳あって自分の研究の主観評価をするための回答フォームを作ることになった。いつもならサーバサイドはBaaSに投げてお茶を濁していたところだが、来年からそういう分野に開発がシフトするわけだし、いい加減手頃なところでも触っておかないとなぁ…と思い、結局フロントでJSを書いていたこともあってNode.jsに手を出すことにした。

とはいえサーバサイドに手を出す前にクライアントサイドでデータの整形までほとんど終えてしまっていたので1)最悪、JSONデータを書き出してメールで送ってもらおうと思っていた、Expressで静的コンテンツのフォルダにルーティングを設定し、最後の回答データのJSONをMongoDBに投げつけるAPIをマッピングするだけで終わってしまった。MEANスタックのインストールはさくっと終わってしまうし、大昔LAMP環境をセットアップしたときの面倒くささは何だったのだろうと思うくらい呆気なかった。なんで今まで手を出さなかったのかと後悔するくらいに。

一番嵌まったことといえば非同期処理の扱いである。普段.NETとかJavaとか普通の言語で開発していると非同期処理でデータがすり抜けていくことを忘れてあわわわわわ…ってなることが未だに多い。今日はそれのせいで夕食を食べ損ねた挙句こんな時間まで作業する羽目になった。空腹で胃が痛い。寝れない。はぁ。

思えばインターンの時も非同期処理であることを忘れていてこんな時間まで作業する羽目になっていた気がする。あとNoSQL形式なのにリレーショナル型でスキーマ設計しちゃったりとか。学習していないというか、つくづくアホだなぁと思う次第である(そうだよアホだよ)。

でもまぁ、JavaScriptを覚えておけばWeb界隈においてはフロントでもバックエンドでもどこでも触れるという点で強力なアドバンテージではあるのだろう、とは思った。非同期処理は苦手だがasyncで同期的に書くことも覚えたので少しは他の用途でも遊んでみようと思う。もっとも、そんな暇が今後あればいいのだが…

References   [ + ]

1. 最悪、JSONデータを書き出してメールで送ってもらおうと思っていた