勉強してきたことのアウトプットです
Amazon EC2
Amazonが提供している仮想サーバーの構築サービス。EC2を使うことでOSを乗せた仮想環境が素早く構築できる。また、作成後のマシンスペック変更や削除が簡単にできる。例えばCPUメモリが不足した場合はインスタンスタイプを変更することで増強が可能で、データ容量が多くなってディスク容量が不足した場合は、拡張が可能。
EC2はインスタンスという単位でサーバー環境が構築できる。インスタンスは簡単に言えばOSを乗せた仮想サーバーのこと。
##nginx
Webアプリケーションと連携するために利用されるWebサーバ。
速くて高負荷に強く、機能の取り外しができるため柔軟にカスタマイズが可能。
##Capistrano
自動デプロイツール。Railsアプリをデプロイするときは、EC2インスタンスに接続したり、EC2インスタンスをpullしたり、Unicornを再起動したりするが、これをローカルでたったひとつのコマンドで実行してくれるのが自動デプロイツール。
##CircleCI
Saas型のCI/CDサービス。
CIとは継続的インティグレーションの略。テストや静的コード解析などの作業を自動化して、継続的に実行する方法。
CDとは継続的デリバリーの略。各環境へのデプロイ作業を自動化して継続的に実行する方法。
Saasとは、サーバー側で稼働するサービスをインターネットなどに経由させて、クライアント側は必要な機能を必要な分だけ利用できる提供形態のこと。
##Docker
開発環境や実行環境をチームで同じものを使うために使うアプリ。
例えばAさんとBさんがチームを組んでアプリを作っている場合、AさんとBさんの開発環境は全く同じである必要があり、更にテスト環境、本番環境も同じである必要がある。
環境を全て同じにするのは難しいがDockerがそれを簡単にしてくれるみたいです。
コンテナという技術を使って、コンテナの中で環境構築をしたり、コードを実行したり開発をしたりする。
AさんとBさんが同じコンテナを使っていれば同じ環境で開発をしていることになる。
##Amazon Route 53
AWSクラウド内で使用するドメインを一元管理するためのサービス。
新しいドメインの購入や所有ドメインの維持管理、DNSサーバーのレコード登録管理などができる。
JavaとRubyの比較
####共通点
・共にオブジェクト指向言語であるためクラスの定義や継承などの概念は同じ
####相違点
・Rubyは動的型付け言語に対してJavaは静的型付け言語である
変数や関数の引数などを設定する時、Rubyは型宣言が必要ないがJavaは必要
**静的型付け言語:**プログラマが予め変数や関数の引数などのデータをどう扱うか、つまり「型」を決めて使うこと。
**動的型付け言語:**プログラマが書いたコードをコンパイラやインタプリンタが実行して解釈し、型を想定して扱うこと。
Vue.js
wubアプリケーションにおけるユーザーインターフェイスを構築するための、オープンソースのJavaScriptのフレームワーク。
UI/UX
UIとはユーザーインターフェースの略で、ユーザーとサービスの接触面、簡単に言えば見た目を表すもの。
サービスのデザインなどユーザーの視覚に触れる情報がUIとみなされる。
UXとはユーザーエクスペリエンスの略で、ユーザーがサービスを利用した得られる体験のこと。
通販サービスで例えるなら、デザインが整っていて商品が見やすい、この商品を買ってみたいなどユーザーがサービスを利用して感じたことがUXとなる。
MVCモデル
プログラムの処理を役割毎に分けて開発をするやり方。Webシステム開発で頻繁に用いられる。
###Model
MはModel(モデル)のこと。
システムとしての実際の処理(ビジネスロジック)を担当する部分。
データの作成・更新・削除をしたり、DBからデータを取得してコントローラーへ渡す。
###View
VはView(ビュー)のこと。ユーザーが実際に見る画面である。ユーザーからのリクエストをコントローラーに送ったり、コントローラーから受け取った処理を画面に表示させたりする。
###Controller
CはController(コントローラー)のこと。ViewとModelを操作する部分であり、ViewとModelの間にあるイメージである。Viewからリクエストを受け取り、Modelへ処理の命令を出す。Modelから処理の結果を受け取り、Viewへレスポンスを返す。
###gem
Rubyで使うことのできる汎用性の高い機能をひとまとまりにしたライブラリを管理するシステムのこと。
または、それぞれのライブラリのことをgemという。
###ActiveRecord
RubyでDBの操作を一部でき流ようにするもの。
基本的にSQLを用いないとDBを操作できない。
しかしモデルに適用されているActiveRecordを用いれば、Rubyを用いてデータを探したり、取得できたりする。