0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【基礎知識】Web アプリケーション

Last updated at Posted at 2025-04-03

記事概要

Webアプリケーションについて、まとめる。

まとめ(用語)

Web

インターネット上で画像や文章などを公開できる仕組み

アプリケーション

「ある目的」のために作成されたプログラム

Webアプリケーション

Webで使用されるアプリケーション

動的

表示されるデータが更新される仕組み
※表示データが更新される仕組みになっているサイトは、動的サイトという

静的

サイト作成者が更新した場合を除き、誰がいつ見ても、常に同じ内容が表示されるような仕組み
※表示データが更新されない仕組みになっているサイトは、静的サイトという

HTTP通信

情報やデータなどを送受信するための通信方法

Image from Gyazo

URL(Uniform Resource Locator)

インターネットのサービスの場所を表すものであり、インターネットにある住所のイメージ

Image from Gyazo

リクエスト

データや情報を要求すること

Image from Gyazo

レスポンス

リクエストに対応するデータや情報を返すこと

Image from Gyazo

クライアント

Webアプリケーションなどのサービスを利用する側のこと

クライアントサイド

クライアントが利用する領域
Webアプリケーションの見た目や、それを表示するブラウザなどのこと

ユーザーに対するサービスの見た目や利便性を考えることを専門とするエンジニアを、クライアントサイドエンジニア(またはフロントエンドエンジニア)という

Image from Gyazo

サーバー

画面の無いPCのようなもの
Webアプリケーションは世界中のどこかに置いてあるサーバーの中に保存されており、そこに対してインターネットを介して通信することで、サービスが利用できる

サーバーサイド

実際にWebアプリケーションが存在する領域のこと
Webアプリケーションの仕組みを専門とするエンジニアは、サーバーサイドエンジニアという

Image from Gyazo

サーバーの種類

サーバー名 役割
アプリケーションサーバー Webサーバーを通して受け取ったリクエストを処理し、HTMLなどをWebサーバーへ返却する役割
Webサーバー リクエストを処理し、レスポンスを返却する役割
データベースサーバー アプリケーションで使用するデータを管理する役割

Image from Gyazo

データベース(データベースサーバー)

情報の集合体、すなわちデータの集まりのこと

Image from Gyazo

ローカルホスト(localhost)

「自分のPC」という意味
自分のPC内にサーバーを立ち上げると、インターネット接続が不要になる

Image from Gyazo

アルゴリズム

「目的の達成にいたるまでの処理の一連の流れ」のこと

RDB(Relational Database)

表形式でデータを管理するデータベース

レコードとカラム

データベースにおいては、行を「レコード」、列を「カラム」
Image from Gyazo

RDBMS(Relational Database Management System)

RDBを管理するシステムのこと

MySQL

RDBMSの1つであり、多くの企業で採用されている

DB制約

データを扱う際に制限をかけること

NOT NULL制約

テーブルの属性値にNULL(空の値)が入らないように制限する制約

一意性制約

テーブル内で重複するデータを禁止する制約

主キー制約

レコード情報を識別するための項目(主キー)のデータが空になることがなく、かつ重複していないことを保証する制約
※主キーに対して、NOT NULL制約と一意性制約を両方設定するのと同義

外部キー制約

関連する他テーブルのレコードの主キーを値とする項目(外部キー)の元になるデータと参照するデータの整合性を保証する制約

  • 存在しない値を外部キーとして登録することはできない
  • 子テーブルの外部キーに値が登録されている親テーブルのレコードは削除できない

Image from Gyazo

チェック制約

値が保存される際に条件を満たしているかチェックできる制約

CRUD

アプリケーションのデータ取り扱いに関して、基本的な処理の頭文字を並べたもの
アプリケーションの機能は、この4つの処理を組み合わせながら実装する

処理名 処理内容
C(Create) 生成
R(Read) 読み取り
U(Update) 更新
D(Delete) 削除

ERB(Embedded Ruby)

テンプレートエンジンと呼ばれる仕組みを持ったもの

テンプレートエンジン:雛形となるテンプレートと、そのテンプレートにデータとなる記述を埋め込むことで、最終的に別のファイルとして生成できる仕組みのこと

レイアウトテンプレート

アプリケーションのビューファイルの共通部分をまとめたもの
headの情報やフッターなど、すべてのビューで共通となる部分を記述しておくと、各テンプレートファイルは個別の見た目を記述するだけでいい

スネークケースとキャメルケース

それぞれ単語の区切り方を表したもの

表記方法 説明
キャメルケース 先頭が小文字で、単語の区切りを大文字で表す adminUserCommentCreator
アッパーキャメルケース キャメルケースの1つ。先頭から単語の区切りを大文字で表す AdminUserCommentCreator
スネークケース 単語の区切りをアンダースコアで表す admin_user_comment_creator

リダイレクト

「本来受け取ったパスとは別のパスへ転送する」機能のこと

Image from Gyazo

デバッグ

プログラムの誤り(バグ)を見つけて、手直しすること

Git

ソースコードなどのファイルやフォルダの変更履歴を記録・追跡するためのバージョン管理システム

Gitでアプリケーションを管理すると、それぞれの開発段階でのアプリケーションの内容をセーブポイントのように記録し、時系列に沿って管理できる
このセーブポイントに遡ることも可能

リポジトリ

Gitの管理下にあるファイルやディレクトリの変更履歴を保管しておく箱のようなもの

管理したいアプリケーションのディレクトリを、バージョン管理の範囲として指定する

ローカルリポジトリ

自分のPC上(ローカル環境)に置くリポジトリのこと

作成したリポジトリは自分のパソコンの中にあるため、ファイルやディレクトリを変更・修正した際は好きなタイミングでこれらを記録できる

リモートリポジトリ

外部サーバー上に置くリポジトリのこと

リモートリポジトリを直接変更修正することはなく、ローカルリポジトリの変更修正を同期して、反映させることで更新できる

リモートリポジトリは外部のサーバー上にあるので、他の人に自分の作成したコードを共有できたり、チーム開発をしやすくしたりできる

GitHub

Gitの仕組みを利用し、簡単に複数人での開発ができるようにしてくれるWebサービス

commit(コミット)

ファイルやディレクトリの変更修正を、リポジトリに記録すること

コミットメッセージ

ファイルの変更修正の内容をわかりやすくするための記述
変更修正したファイルの中身を確認しなくても、「どのような変更修正なのか」がすぐわかる

commit log

commitの履歴を確認できる

インデックス

変更修正が一時的に保存される場所
インデックスに保存されている内容がcommitの対象になる

add(アド)

追加するファイルや変更修正をインデックスに登録し、commitの対象にすること

push(プッシュ)

ローカルリポジトリでのコミットをリモートリポジトリに反映できる

ブランチ

リポジトリで管理しているファイルやディレクトリの変更の流れであり、commitの連なり

ブランチは分岐可能であり、本流を「masterブランチ(mainブランチ)」、分岐したブランチを「トピックブランチ」と呼ぶ

プルリクエスト

ブランチでのコミット履歴を残すと共に、各コミットにおける変更修正にコメントをつけることができるGitHubの機能のこと

コードレビュー

複数人での開発において、コードの記述内容に問題がないか、他の開発メンバー等が確認をすること

LGTM

Looks good to meの略で、「コードに問題はないと思うよ!」という意味

merge(マージ)

機能実装のために作成したブランチを、リモートリポジトリ上のmasterブランチ(mainブランチ)に反映する作業のこと

pull(プル)

リモートリポジトリの変更をローカルリポジトリに取り込む操作のこと

clone

リモートリポジトリをローカルリポジトリに作成すること

作業 作業の目的
pull ローカルリポジトリとリモートリポジトリがすでに紐付いている状態で、リモートリポジトリの情報をローカルリポジトリに反映すること
clone リモートリポジトリだけ存在し、手元にローカルリポジトリがない状態で、リモートリポジトリからローカルリポジトリを作成すること

stash(スタッシュ)

コードの変更を保留すること

現在の作業を一時的に退避したい時や、退避した作業を元に戻したい時などに使用する

コンフリクト

あるファイルにおいてブランチごとに情報が異なり、辻褄が合わない状況のこと

Image from Gyazo

revert(リヴァート)

commitを取り消すこと

テストコード

アプリケーション内に記述し、そのアプリケーションの挙動を確認するためのコードのこと

正常系

「ユーザーが開発者の意図する操作を行った時の挙動」を確認するテストコード

異常系

「ユーザーが開発者の意図しない操作を行った時の挙動」を確認するテストコード

単体テストコード

機能ごとに問題がないかを確認する

結合テストコード

ユーザーがブラウザで操作する一連の流れを再現して、問題がないかを確認する

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?