プログラムを作る上では統合開発環境(IDE)以外にも多くのサポートツールを選びながら効率的に開発していきます。GithubやDockerなどプログラミングサポートツールについてご紹介します。
主要なサービス
- Git/Github:ファイルの変更履歴(バージョン)を管理することをバージョン管理という。ファイルの追加や変更の履歴情報を管理することで、過去の変更箇所を確認する、特定時点の内容に戻す、などのバージョン管理が可能になる。開発中バグった時に修正しやすくなる。バージョン管理を行うためのシステムがGit。バージョン管理によって管理されるファイルと履歴情報を保管する領域をリポジトリと呼ぶ。リポジトリの配下でファイルやディレクトリを操作することで、バージョン管理を行うことができる。個々人が操作するリポジトリをローカルリポジトリ、集約先のリポジトリをリモートリポジトリという。githubは複数人がリモートリポジトリとして活用できる。初心者のためのGitとGitHubの使い方。
- Docker:データやプログラムを隔離できる仕組み。使用用途はサーバが主流だが、フロントや本番でも使われる。サーバでもApache(webサーバ機能を提供するソフトウェア)やMySQLが動いているが、それぞれを独立した環境に隔離して、一つ一つにOSやデータを割り当てられる。この一つ一つの独立した物置をコンテナといい、コンテナを使える仕組みがDocker。Dockerのソフトウェアをインストールして、コンテナを作成したり動かす。
- DBeaver:MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL Serverなど、多くのSQLに対応したフリーで使えるSQL確認用のアプリケーション。簡単にデータベースの中身を確認することができる。今どんなものがデータベースに入力されているか、データベースの表項目は作れているか、そもそもデータベース自体正常に作られているか、などの確認に使えます。
その他ツール
- CircleCI(2011):CI/CDとは「continuous integration / continuous delivery」の略。新規コードの統合によって生じる問題を解決する。applicationのlifecycle( integration, test, delivery, deployment)=CI/CDパイプラインを通じて、継続的な自動化と監視を導入する。ソフトウェアの変更を常にテストし、自動で本番環境に適用できるような状態にしておく。
- Terraform(2014):インフラの望ましい状態を構成ファイルのコードで宣言することで、インフラ構成を自動的に管理する。5分で分かるterraform。
- stripe(2011):webアプリケーションに手軽に決済機能を追加できる。
- Ansible(2012):IT機器の設定に関する煩雑な作業を自動化できる。構成管理ツールで「IT機器がどのように設定されているべきか」をあらかじめ定義することで、IT機器を自動で構成ファイルに従った設定にしてくれる。Ansibleではyamlファイルで構成を行うが、高度なプログラミング知識は必要なく、学習コストが低い。管理する対象は主にサーバー。Ansibleとは?。
- NewRelic(2008):Saas型サーバ監視ツール。インシデントや異常検知時に、異常が起きたことを通知し、その原因やシステムの動作がどうなっているかを把握する。1ユーザーであれば期間制限なく全機能を無償利用できる。new relicとはどんなものか。
コメント