tktechblog

日々の開発学習の進捗確認とテクノロジーに関して考えたことをまとめます(ブロックチェーン学習中)

1005_今日の開発で手こずったこと

今日はデプロイまでの流れの中で、主にvpsにデプロイする際のデプロイ環境で非常に手こずりました。(というか今日終わっていない)

環境構築をしていていくつか感じたことがあります。

1.インフラ、ネットワーク周りの言葉がインプットできていない。

なんとなくはわかるのですが、やはりフロント周りやVRの領域と異なり、基本的な言語知識、能力とはまた別次元の考え方、作業の進め方が必要なのだなと思いました。

そもそもシェルスクリプトも、デプロイツールも、開発環境、テスト環境、本番環境間のスムーズな設定もvagrantのような仮想環境構築やdockerのようなコンテナ管理など、正確な理解を持っていませんでした。また、ポートやリバースプロキシ、nginxやapacheunicornやpassangerなどの違い、DB(sqlite/mysql/posgre)などの差や、デプロイツールのcapistranoやら出て来たときはナンノコッチャと思ったりもしました。

2.どういったロジックでデプロイに行き着くのかよくわかっていない。

herokuのようなほとんど設定の必要のないものは問題ないですが、VPSのようなものやaws EC2のようなものだと動くことは動くけどロジックがはっきりわかっていないようなものもあります。ここら辺はとりあえず動かしてから、そこからなんで動いているのか考えるような流れで進めていこうと思ってます。 ネットワークはどうなっているのか、データベースはどうなっているのか、今まで以上に外観を理解し、各所詳しく学習していくことが必要だと思いました。

3.セキュリティが怖い

最近気になってるのが主にセキュリティです。デプロイする際に一度githubの方にpushしてからgithubを経由してdeployを試みたのですが、その際に謝って公開鍵ではなく、秘密鍵をpushしてしまうことがありました。その後、コミット履歴を取り消す方法を調べことなきを得たのですが、qiitaやその他情報ツールを参考にするときもパスワードやサイトに関わる情報をどの程度公開しても良いのか非常に悩んだりもしました。まずは小さくデプロイしていって、徐々に慣れ次第、セキュリティの学習も踏まえつつ拡大していきたいと思いました。

結論

とにかくアウトプットしてデプロイして失敗して修正しよう。サーバー代は勉強代だと割り切る。