仕事2日目

晴れ土日を挟んでの仕事2日目。 三女を保育園に送っていった後は「トリッチ・トラッチ」で朝ごはんを食べる。 が、いつも通りの時間に出たのであまりくつろげる時間はなく、30分くらいで食べて本を読んで出てくることになってしまった。
モーニング

今回の会社ではある程度の権限が与えられているのでサーバー選定や勝手にサーバー契約したり、プロジェクト管理ツールを契約したり、ドメインも自由に取得できたりすることができる。
サーバーはクラウドがいいので、デファクトスタンダードだとAWSになるのだけど、個人的には「さくらのクラウド」が私的にも利用しているし、さくらインターネット歴も10年以上なので、そこを利用することにしている。

先週1つサーバーをセットアップし終えたのだけど、それは単独で動かすサーバーなので冗長化とかはしない。
これからプログラムを組むものは冗長化必須なので、LB+複数台サーバーで運用する予定。
そちらはまだ課金させる必要もないので、しばらくはローカル環境で開発することとなる。

まずはローカル環境のセットアップ。 個人的コンテンツ用のローカル環境はセットアップしているけど、環境はそれとは異なるので、また一からやらなくてはならない。
Vagrantを利用してCentOS7をセットアップして、Chefを使えるようにして、nginx+php-fpm+mariadbの環境を準備する。 Chefは素晴らしいな。 予めレシピを作っておけば、コマンド一発でインストールすることができる。
バージョンや設定内容を考慮しないのであれば、yumを使えば似たような事もできるけれど、各アプリケーションの最新版&設定も全て適用済み、の状態にできるのがChefの利点。
初めてレシピ作ったときは時間がかかったが、余裕でその時間を取り戻すことができる。
これを実際にクラウドサーバーでも適用できるし、世の中便利なツールがたくさんあるなぁ。

開発は今まで通り秀丸エディタを使用している。 バージョン管理はGitで。
CSSはSCSS+Koalaで結合&最小化をしている。 今までの会社ではGoogleのPageSpeedInsightの評価を気にするあまり、CSSをminifyするのをサーバー上でPHPで動的にやったりしていた。
本来はそういうのはサーバー上でやるのではなく、開発者のマシンでやってサーバーに上げるのがセオリーだと思うのだけど。 結果的にCSSはminifyされて転送バイト数は減るのだけど、そもそも静的コンテンツなのに動的な処理が走るのでレスポンスとしては遅くなる。 そんな本末転倒なことを行っていた。
というのも、各人の端末にローカル環境がなかったから。 そういう開発スタイルで10年以上やってきて、それが当たり前になってしまったけれど、スタイルを自由にできるようになった今、そんな開発スタイルはしようとは思わない…… ローカル環境が最高だなぁ。 CTRL+Sでファイルを保存しただけでブラウザを自動リロードさせて変更が即座に確認できる。
今まではCTRL+Sでファイル保存&FTPでファイル転送&ブラウザでF5だったのだが。 F5は大した手間じゃないとしても、FTPの転送作業がなくなるので、開発効率は1.2倍とかになる。
正直最初は環境作ったり手順ががらりと変わるのでかなり面倒だったけれど、最初の手間を惜しんでいたらいつまでも現状維持しかできない。

そんな感じで19時まで仕事をして日報的なものを提出して帰宅。
夜はジョギングへ。 今日は9.6kmコースを走ろうと最初から決めていた。
今日はけっこう調子がよかった。 最低ラインでもキロ5分ペースの48分以内と決めていたのだけど、それは余裕で突破できるペースで走っていく。
最初の5kmまではものすごい緩やかな上りで、風も向かい風気味だったので、5.15、4.57、4.48、4.47、5.01と平均でキロ4分55秒くらいのペースで走っていく。
後半は逆にスピードに乗れるので、4.36、4.30、4.29、4.20、4.10と4分半を切るペースで走っていけた。
9.6kmを44分59秒で、キロ4分41秒ペースだった。 なかなか9.6kmコースを走る気力がおきないが、これくらいの距離を週3とかで走りたい。