Programming最近はJavascriptを少し触っている。課題1開発環境と本番環境でJavascriptのコードを切り替えたい。解決方法1もとからprocess.env.NODE_ENVには設定に応じて値が埋まっている。//開発環境}課題2開発環境内で更にコードを切り替えたい場合が出てきた。devとprdしか自動では定義していないように見える。webpackのように、環境変数を付与する方法だが、これはWindows(というよりコマンドプロンプト)では動かない。webpackとするといいぞ、という記事も見たが、webpack-dev-serverではprocess.env.ENVはundefinedになっていた。variableというオプションを見つけた。console.log('HOGEが定義されてるよ')}とすることで、指定した環境向けだけ特定コードを通るように環境変数で切り替えができた。HOGE=falseのようにfalseを指定した場合には、webpackのminifyが効いてデッドコード(通ることがありえないコード)はbundleせずに消してくれているようだった。Book日記のつもりで、今年に思ったことを書いてみる。これは反省ではなくて、いつかのときに、そういえばそんな年だったなと思い返すための記録である。仕事の話さて、2018年だが、勤務先の変更や業務変更や異動などいろいろあった。品質担保の難しさUC記述の粒度の難しさUIの試作はWEBベースで作ると楽が学びである。当然だが、仕様書がないものはテストケースも規定できない。これまでの私の担当していたプロジェクトは仕様書をまず書き、その後詳細設計に入り実装という流れであった。そのため、仕様書がないという場合がそもそもなかった。今回、諸事情により、仕様書がない(作らない...)プロジェクトに参加したが、絶望的な品質だった。そもそも何が正しい動きだかわからないのだから、動くままが仕様であり、つまりバグなどないのだ。...などと言うわけにもいかず、これはおかしいからバグだ、おかしくないバグじゃない、を各人の判断で行う羽目になる。各人の判断などという曖昧なものに頼れば当然ぶれる。各人の脳内にオレオレ仕様書が出来上がるのだ。記憶ベースだから途中から整合性が取れなくなる。そもそも存在にすら気が付けない機能もある。して、絶望的な品質の製品が出来上がっていた。辞めていった某同期が、俺のチームは仕様書がないから無限にバグを直し続けている、と言っていたことを思い出した。当時は、これがバグドリブン開発だ!(意訳)などと言って笑い飛ばしていたが、いざやるとなるとまさしくこの世の地獄だった。すればいいかは悩ましい。いや、私の気持ちははっきりしている、今の製品開発を止めて、一度仕様書を起こすべきである。いかないのが会社である。UC記述の話その前のプロジェクトでは、仕様書をUC記述で書こう、ということになっていた。これはテストケースを起こすのが楽だから、というのが理由の一つである。テストケースを起こせるようにするべく、粒度を細かくして巨大な仕様を書こうとした結果、途中で破綻した。UI試作の話HTML+CSSで作ると早い。PythonのFlaskを試したが、Flaskはちょっと凝ったことをすると面倒だったので、簡単なものならFlaskで、基本はRailsのほうがいいかなと思った。そのほかCookieを使ってみて、基本を少し学んだ。ド基本だが、ドメインそろっていないとダメとか、文字列はエンコードしないといけないとか。オブジェクトをJsonでシリアライズ/デシリアライズするのって何に使うんだろ?と前に思ったことがあったが、Cookieに入れるときには便利。WEBアプリケーションで、後々のページで再利用するデータを保持するのはどこが定石なのだろう、Cookie?DB?パラメータでずっと渡し続けるのはイケてないだろうなというのは思ったが...。言語は型付きのほうが好きGoogleHomeを買ったがまだ開封出来ていない。Pro6今このブログを書いている。RadeonAntecのPCケースメンテナンス性、剛性が高く買ってよかった。XZs今年のワーストバイ。電池持ちが異常に悪い。