Web開発:バックエンド
フロントエンドとバックエンドの違い
バックエンドとはフロントエンドという見える部分と違い、見えない機能です。昔ながらの感覚ですとソフトウエアの内部のプログラミングの部分です。
しかし今はWebが大きく普及していますので、ソフトウエアというよりもWebアプリケーションになります。フロントエンドはWebスクリプトとも言われています。
CLI(コマンドラインインターフェス)こそ無駄がありません
CLIとは文字入力のみで、OSなどにコマンド(命令)する方法です。しかし専門家ではないユーザーは「ボタンを押す」というGUI(グラフィックユーザーインターフェース)を求めます。これはUI/UXデザインでユーザーが使いやすいように設計します。
しかし例えばショッピングサイトがあったとして、それを設置しているOSの不具合などがあった時に、治すために再起動などをするにも、遠隔地の場合などですと、CLIに対応したバックエンドソフトの方が便利です。
このような内部仕事まで、グラフィック化するのは無駄なコストであり、グラフィックというのはOSに無駄に負荷もかけます。しかしこのようなCLIを知っている人は多くはいません。なぜなら昔ですと「Unixのコマンドが使える人は専門家で自分には分からない」とCLI操作を嫌う人が多かったからです。
Go言語(Go)
Go言語の特徴
- 正式にはGoですが他と混乱するので、Go言語やGolangとも言われています。
- 検索大手のGoogleが開発元ですので経営ビジネス的な安定感があります。
- ソースコードが誰でも似た整然さがあるので大規模システム向きです。
- 速度がC++やRustと同じぐらい早く、他のは遅いので人気があります。
- 静的型付け言語という手動で型付けするので正確だと思われています。
- Go言語と違い、VM(仮想マシン)を使用のコンパイル言語や、ハードコンパイルをしていないインタプリタ言語は遅いです。
Go言語の長所
- 静的型付け言語はコンパイル言語が多いですが、Go言語はインタプリタも使えます。
インタプリタで実行 go run main.go
コンパイル済み書類で実行 go run main
これの利点は開発中に何度もコンパイルしなくても良く、速度を早くしたい場合は、コンパイルをするということです。
- TerraformなどはGo言語で書かれているので、Go言語はインフラ管理がしやすいということです。
Terraform
Terraformはインフラ管理がしやすい
Terraformとは外部リソースをプロバイダーで管理するということです。
- Terraformは他と違いテキスト書類でインフラを保存できるので便利です。他のソフトですとGUIで設定するので、コピーなどがしづらいです。しかしCLIですと。例えですがMySQLの設定書類のmy.iniもリモートで編集できるので便利です。
- TerraformはWindowsなどのダウンロード版やクラウド版も公式サイトにあります。
- Terraformは、 AWS(Amazon Web Services)、Microsoft Azure、IBM Cloud、Serverspace、Google Cloud Platform、DigitalOcean、Oracle Cloud Infrastructure、Yandex.Cloud、 VMware vSphere、OpenStackなどの多数のクラウド・インフラストラクチャ・プロバイダーをサポートしています。