開始93日目〜超初心者、文系、30代のスタート〜
本日学んだこと:
自動更新がうまく行くと当然だがターミナルも自動で動く
@render~の部分テンプレートでまとめたにも関わらず、一つずつ同じ記述をすると、余計に情報を取得してしまい、自動更新の際、おかしくなってしまう。
jsonbuilderのファイル位置が違うだけで、データが機能しない。その為、どのファイルがどこにあるべきかもしっかりと確認する必要があると感じた。
IPアドレスについて:
サーバーとは、サービスを提供するコンピュータのことやそのコンピュータにある様々な機能(処理)の事
サーバーが必要な理由:
- サーバーをバックアップとしてデータを保存しておけば、自身のパソコンが壊れた際にデータを復旧することができる。
- 外部のクライアントと接続する機能をサーバーに任せることによって、自身のパソコンの負担を減らすことができる。
- 上述の接続機能の例のように、サーバーと自身のパソコンで役割分担をすることによって、自身のパソコンでアプリケーションの開発に集中することができる。
役割:
- 様々なデータを管理・保存をする(データベースサーバー)
- パソコン同士の通信を行う(WEBサーバー)
IPアドレスとは、コンピュータやサーバーに設定された住所
ドメインとは、IPアドレスを文字列に変換したもの。
→「IPアドレスを文字列化する仕組み」のことをDNS(Domain Name System)と呼ぶ。
digコマンドは、ドメインを管理しているサーバー(DNSサーバー)に問い合わせをしてドメインからIPアドレスを取得し表示するコマンド。
ポートとは、1つのサーバと複数のサーバをつなぐもの。
HTTPとはWEBページやページ内で必要なCSS, JavaScript、画像などのファイルをWEBサーバにリクエストするためのフォーマットのこと。
例)「http://~」あるいは「https://~」で始まるURL(Uniform Resource Locator)/URI(Uniform Resource Identifier)という形式。
telnetコマンドは、離れたところにあるホスト(サーバやネットワーク機器)を手元の端末から遠隔操作するために、ネットワーク接続するコマンド。
ターミナルにて、dig tech-camp.in +noedns
→;; ANSWER SECTION:のみ注目する。
レスポンスヘッドとはhtmlで学習していただいた「headタグ」と同じ。
HTTP/1.1 200 OK
これはレスポンスが成功した際に表示されるものです。
Content-Type
HTMLファイルに使用している文字コードを示しておき、文字化けや誤動作を回避するために書いてあります。
P3Pはサイト運営者が個人情報を保護しながら、ユーザーが自分の情報をどの程度Webサイトに提供するかをコントロールできるようにする技術仕様。
キャッシュについての参考URL:
https://qiita.com/anchoor/items/2dc6ab8347c940ea4648
Linux (リナックス)は、コンピュータ用の OS(オペレーティングシステム)の一種
特徴:
- オープンソースであり、誰でも自由に無償で利用できる
- 品質の高い多くのソフトウェアが利用できる
- 世界中でサーバ用途として広く利用されているため信頼性が高い
- 操作を自動化するための仕組みが用意されており、サーバの運用が行いやすい
OSの中核である「カーネル」と様々なソフトウェアを組み合わせて動くようになります。
その作業は一般ユーザには難易度が高い為、カーネルと様々なソフトウェアを最初から組み合わせたものを配布したもの。
CentOSとは、「Red Hat Enterprise Linux」(RHEL)のソースコードを元に開発が進められている無償ディストリビューション
Ubuntu(ウブントゥ) とは、「初心者にやさしい」と言われるメジャーな無償ディストリビューション
ディストリビューションが異なると発生する違い
- ディレクトリの構造が異なる
- パッケージ・マネージャが異なる
- 標準でインストールされているアプリケーションや自動で起動するプロセスが異なる
- コマンドやその使い方が異なる
パッケージ・マネージャとは、コンピュータに何のソフトウェアがインストールされたかを記録し、新しいソフトウェアのインストール・新しいバージョンへのソフトウェアの更新・以前インストールしたソフトウェアの削除を容易に行えるようにするプログラムのこと。
iosでいう、「App Store」のようなもの。CentOSやAmazon Linuxではyumというコマンドを利用する。
Linuxサーバに対して作業したい場合は、ターミナル等を用いてコマンドを利用します。その時にユーザーの入力したコマンドを解釈するソフトウェアのことを「シェル」と呼びます。
ディレクトリ:
コンピュータ上で複数のファイルを整理するためのフォルダのこと。
カレントディレクトリとは、ターミナルで現在作業中となるディレクトリのこと。
親ディレクトリ(..)とはあるディレクトリに対して、階層構造において1つ上のディレクトリ。
ホームディレクトリは新規にターミナルを立ち上げた場合に作業中となるディレクトリです。~で表されます。Macでのデフォルトのホームディレクトリは/Users/ユーザ名となります。
ディレクトリは階層構造になっているので、あるディレクトリは他のディレクトリに属しています。その階層構造の一番上にあるディレクトリがルートディレクトリです。
mv:ファイルの移動およびリネームを行うコマンド
rm:ファイルを削除するコマンド
mkdir:Linuxで新規にディレクトリ(フォルダ)を作成するコマンド
touch:指定したファイルが存在しない場合は空のファイルを新規に作成してくれるコマンド
cat:ファイルの内容を結合し、表示するコマンド
tail:ファイルの終わり部分を表示するコマンド
vi:サーバ上で設定ファイル等を編集したい場合エディタが必要になります。
CentOSやAmazon Linuxには標準でviというソフトウェアがインストールされているので、特に理由がない限りこれを利用。
サーバー設定に関して:
一般ユーザーとrootユーザーの主な違いは、ファイルに対して権限レベルの違いです。一般ユーザーは自分の許可されているファイルしか操作できません。root ユーザーには他のユーザーが所有するファイルも含めて、全ての制御権限があります。
sudo
sudoコマンドは、現在のユーザーのまま他のユーザーに成り代わってコマンドを実行することができます。
su
suコマンドは、他のユーザーにログインし直す事ができます。
パーミッションとは、ファイル、またはディレクトリに対して「誰にどのような操作を許可するのか」という権限を規定した情報のこと。
chownコマンドは、ファイルやディレクトリの所有者を変更するコマンド。
chmodコマンドは、アクセス権限を書き換えるためのコマンド。
パイプ処理とは、あるコマンドの結果を次のコマンドに渡す処理のこと。
grepコマンドは特定の文字列が含まれる一行を抽出するためのコマンド。
kill <...>
プロセスIDに対して特定のコマンドを実行することで、プロセスを再起動したり、強制終了したりできます。
明日やること:
AWSの章を読み込み進める。
感想:
一つ壁を超えた気がするが、まだ自力では解決できるレベルが低い。
今後に向けて、しっかりと復習することはもちろん、自己紹介ページを作って最終課題に望めるように準備を進めたい