【日記】今年、学んだこと

2017年も終わりに近づいていることだし、今年、新たに学んだこと振り返る。

Docker

似たようなサーバー構成の案件が重なって、同じような構成を作るのに飽き飽きしていたときにコンテナ型で動作するDockerを知った。DockerFileのコピペ+案件にあったカスタマイズをするだけで簡単に構築でき、構築内容=Dockerfileなので時間が経っても構築内容が確実に判るメリットが非常に良かった。

docker-composeを使うことにより一斉に立ち上げたり落としたりできるがバックアップやリストアなどはファイルとして保存するようにしたので、bashでバックアップスクリプト・リストアスクリプトなどを作成し、bash内でdocker-composeコマンドを発行している。なのでdocker-composeコマンドは結構忘れてる。まぁ、スクリプトを見れば判るから良しとしよう。

CoreOS

Dockerを載せるホストOSとして使用した。LinuxのインストールはGUIでポチポチ設定をしていくものだと思っていたが、CoreOSはいきなりブートしコンソール画面までいったので初めは???だった。cloud-config.ymlファイルを実行しOSのインストールを行うのだが、書き方や設定にドキュメントとにらめっこする時間が長かった気がする。

驚いたのはポート全開放がデフォルトなこと。たしかにサービスがポートを使用していなければ受け口がいないためセキュリティホールにならない。これまでのLinux構築では使用しているポートを開放し、その他は全部閉じるようにしていたので、こういう考えは生まれなかった。

ちなみにこのサーバーはVPSを使用しており、CoreOS+Dockerで複数のサービスを稼働させている。たまに落ちる。letsencryptのコンテナがおかしいのはわかっているが、検証するためには別のサーバーを借りてドメインの設定やら色々やらないといけないので放置気味。docker-composeのrestartでは回復しないが、サーバー自体を再起動すると動く謎。腑に落ちない

Angular

出会いはkindleを所持しており、特定の書籍が1冊無料で読めるサービスがある。そこでAngular.jsの書籍があり読んだこと。jqueryは使用していたので便利が良さそうだなと言う感じでネットで調べたら第二世代のAngularがあると知り、その頃はベータ版だったが新しいモノ好きとして飛びついた。シングルページアプリケーションと言う独特の作りと、側だけを先に読み込み、データは非同期。と今までサーバーサイドレンダリングしかやってこなかった身として難易度が高かった。TypeScriptはexpress.jsで試しに使っていたがAngular-cliはコンパイル環境~リリースまで一式揃えてくれるので構築が非常に楽すぎて「今までのtsconfigとの戦いは何だったんだ!」と思ってしまった。

Angularは学習コストが非常に高いと感じたが、データバインドが強力で便利。一昔は起動時間(ページの表示までの時間)が問題に上がっていたが、現バージョンでは驚くほど改善され遅いとは感じなくなった。Jqueryも問題なく使えるので過去の遺産を捨てる訳ではないのと、まだ使っていない機能がたくさんあるので色々試してみたい。

FireBase

AngularのDBとして使用してみた。使用するデータ量は少ないため無料枠で全然OKなのも理由の一つ。Firebaseのドキュメントどおりにupdate処理をしているのに何故か実行できない(俺の?)バグが解消されず、delete→insertのちから技をやっているのは内緒。

SCSS

CSSで良いじゃないか!と自己暗示を掛けていたが、BootstrapやAngular Materialを使用するときにスタイルテーマを変えたいがためにSCSSを勉強を渋々することになった。scssを学ぶと「scssすっげー楽だわ!cssで書いて時間の無駄じゃ」となった。実際、コンパイル環境も確認もすぐ出来るのでSCSSは学習コストが低い割に開発効率があがるコスパのよい言語?(クロスコンパイルだからな)だと感じた。

良いお年を

振り返るとなんだかんだ新しいことに挑戦してるなと感じる。実装している時間よりドキュメントを読んでる時間の方が長かったのは確かだし、思ってた通り動かずイライラすることも多かった。色々と検索したが、やっぱりstackoverflowは偉大だなと思ったし、Google翻訳もすごく性能がアップしていると確信した。

大掃除+模様替えで自宅にPC机がない状態なので、今年はこの記事が最後。まさか年末に宅配があんなに遅くなるとは思わなかった!

スポンサーリンク
レタリング(大)広告
レタリング(大)広告

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レタリング(大)広告