2023年2月27日 / 最終更新日時 : 2024年2月5日 erkennt_blog_user 条件 C120 比較演算子(SQL) 比較演算子とは二つの式や値の比較を行い、結果を真偽値(trueまたはfalse)で返す演算子です。学問としての数学と同じ表現もあれば、プログラミング特有の表現もあります。今回はその比較演算子について紹介します。 比較演算 […]
2023年2月27日 / 最終更新日時 : 2024年2月5日 erkennt_blog_user 条件 C130 論理演算子(SQL) 論理演算子とは、「集合」や「命題」などの論理演算を行うためのものです。if文の条件判定などに用いることが多く、真(true)または偽(false)を判定することができます。このページでは、MySQLの演算子を参考として説 […]
2023年2月27日 / 最終更新日時 : 2024年2月5日 erkennt_blog_user 中級(DB) C140 IS NULL演算子 / IS NOT NULL演算子 論理演算子と比較演算子以外にも条件を指定することが可能な演算子があります。今回は値がNULLか否かを判断する際に用いるIS NULL演算子とIS NOT NULL演算子について紹介します。 IS NULL演算子 / IS […]
2023年2月27日 / 最終更新日時 : 2024年2月5日 erkennt_blog_user 条件 C150 BETWEEN・IN・LIKE演算子 今回も前回に引き続き、SQLにおいて抽出する条件を指定する演算子についてです。今回は、BETWEEN演算子・IN演算子・LIKE演算子の3つを紹介します。 頻出演算子について userテーブル Id name class […]
2023年2月27日 / 最終更新日時 : 2024年1月30日 erkennt_blog_user 結合 C160 内部結合 SQLにおける結合とはテーブル同士をくっつけることをいいます。結合し、複数のテーブルのデータを集めたテーブルを作ることは多くのメリットがあります。今回は内部結合について紹介します。 結合とは employeesテーブル […]
2023年2月27日 / 最終更新日時 : 2024年1月20日 erkennt_blog_user 結合 C170 クロス結合 SQLにおける結合とはテーブル同士をくっつけることをいいます。結合し、複数のテーブルのデータを集めたテーブルを作ることは多くのメリットがあります。今回はクロス結合について紹介します。 結合とは employeesテーブル […]
2023年2月27日 / 最終更新日時 : 2024年1月20日 erkennt_blog_user 結合 C180 外部結合 SQLにおける結合とはテーブル同士をくっつけることをいいます。結合し、複数のテーブルのデータを集めたテーブルを作ることは多くのメリットがあります。今回は外部結合について紹介します。 外部結合とは 外部結合には2つの結合方 […]
2023年2月27日 / 最終更新日時 : 2024年1月20日 erkennt_blog_user 結合 C190 テーブル名のエイリアス名の指定 SQLにはテーブル名の別名(エイリアス)付けと呼ばれる方法があります。エイリアス名を指定することで、長いテーブル名をコンパクトに書けるというメリットがあります。今回はテーブル名のエイリアス指定の方法を紹介します。 エイリ […]
2023年2月27日 / 最終更新日時 : 2024年1月30日 erkennt_blog_user 集計 C200 集計(合計・平均・最大・最小・クロス集計) データを抽出する際に数値を計算してから抽出したい場合は多くあります。今回は頻出集計関数について紹介します。 集計関数について testsテーブル Id name english math 1 山田 80 50 2 田中 […]
2023年2月28日 / 最終更新日時 : 2024年1月20日 erkennt_blog_user 選択2 C210 結果の結合(UNION) 複数の検索結果を統合し、1つの結果にするにはUNIONまたはUNION ALLを用います。今回はUNION、UNION ALLについて紹介します。 結果の結合方法 basketballテーブル id player_id […]
2023年2月28日 / 最終更新日時 : 2024年1月20日 erkennt_blog_user 選択2 C220 サブクエリ サブクエリとは、SQLの中に記述する別のSQLを記載し、一時的なビューのようなものを用いる手法のことをいいます。抽出したい条件が複雑になった際に用いることの多い構文です。今回はサブクエリについて紹介します。 サブクエリと […]
2023年2月28日 / 最終更新日時 : 2024年1月20日 erkennt_blog_user 選択2 C230 レコードロック レコードロックとは、あるユーザーが参照しているレコードに、他のユーザーがアクセスできないように規制を設けることをいいます。同じレコードに対して、複数人が同時に更新を行うことを阻止できるように、鍵をかけるようなイメージです […]
2023年2月28日 / 最終更新日時 : 2024年1月20日 erkennt_blog_user 設計 C240 テーブル設計の基本・正規化 データをどのように保存するかを決めることをテーブル設計といいます。また、テーブルに無駄なデータを持たないようにテーブルを分けることを正規化といいます。今回はテーブル設計の基本と正規化について紹介します。 テーブル設計につ […]
2023年2月28日 / 最終更新日時 : 2024年1月20日 erkennt_blog_user 削除 C250 削除(物理・論理) データの削除方法は2つ(物理削除・論理削除)あります。今回は2つの削除方法について紹介します。 削除について itemsテーブル id name price 1 みかん 100 2 りんご 150 3 バナナ 140 物 […]
2023年2月28日 / 最終更新日時 : 2024年1月20日 erkennt_blog_user 機能 C260 機能 今回はデータベースに対する頻出機能(操作)を、3つ紹介します。 ストアドプロシージャ ストアドプロシージャとは、データベースに対する複数の命令をまとめて、データと共に保存できるようにしたものをいいます。SQLによる操作を […]
2023年2月28日 / 最終更新日時 : 2024年1月20日 erkennt_blog_user バックアップ C270 バックアップ データの損失に備えてデータを複製しておくことを、バックアップといいます。今回はバックアップの方法について2つ紹介します。 バックアップについて ダンプファイル ダンプファイルとは、データベース管理システムにおけるバックア […]
2023年3月16日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user 準備 D010 Webアプリの仕組み Webアプリとは、正確な定義はありませんが、一般的なコーポレートサイトやブログサイトなどではなく、 ログインなどの高度な機能を持ったWEBサイトを指すことが一般的です。今回は、Webアプリについての詳細を紹介します。 W […]
2023年3月17日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user 基本 D020 HTTPリクエスト HTTPリクエストとは、前回の記事にて紹介をさせていただいたリクエストの種類の一つでHTTP(Hypertext Transfer Protocol)という規約を用いてファイルの転送などを行うリクエストのことをいいます。 […]
2023年3月19日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user 基本 D030 HTTPリクエストメソッド(get/postメソッド) HTTPにはいくつかの種類があり、パラメーターの渡し方によって2つのメソッドを使い分けて使用します。今回は2つのメソッドであるgetメソッドとpostメソッドについて紹介します。 メソッドの種類 getメソッド HTTP […]
2023年3月20日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user 設計 D040 MVC MVCとは、ソフトウェア開発で使用される設計モデル・概念の一つで、「Model」「View」「Controller」の頭文字を取ってMVCと略して呼ばれています。MVCでは、役割ごとにコードを分けるため分担作業を行いやす […]
2023年3月20日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user 設計 D050 SPA SPAとは、Single Page Applicationの略で、単一のWebページでアプリケーションを構成する設計構造の名称です。SPAでは、ブラウザによるページ遷移を行わずコンテンツの切り替えを可能とすることで、ユー […]
2023年3月21日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user フレームワーク D060 Laravel Laravel(ララベル)とは、代表的なPHPフレームワークの1つで、手軽で扱いやすいことが特徴です。今回はこのLaravelについて紹介します。 Laravelについて PHPとは PHPは、Web開発に特化しているこ […]
2023年3月22日 / 最終更新日時 : 2023年4月8日 erkennt_blog_user MVCアプリケーションの作成 D070 Laravelでのプロジェクトの作成 今回はLaravelで実際に新規プロジェクトを作成する流れについてになります。Laravelでの新規プロジェクトの作成方法あ2つありますので一つずつ紹介します。 プロジェクトの作成方法 composerを用いるパターンと […]
2023年3月27日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user MVCアプリケーションの作成 D080 初期設定 今回はLaravelで実際に新規プロジェクトを開始する前の初期設定から、”Hello World”表示までの流れを紹介します。”Hello World”というのは特別な意味があるわけで […]
2023年3月27日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user MVCアプリケーションの作成 D090 モデル・コントローラーの作成 今回はMVCのMとCであるモデルとコントローラーの作成方法について紹介します。 モデルの作成 モデルとはビジネロジックを担当し、データベースとのやりとりを行うものです。 “app/Models/モデルファイル […]
2023年3月27日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user MVCアプリケーションの作成 D100 ルーティング・ビューの定義 ルーティングとは特定のURLにアクセスされたときの処理内容を定義するためのものです。また、ビューとはMVCのVにあたり、ユーザーから見える画面の表示部分のことを指します。今回はこの2つの定義について紹介します。 ルーティ […]
2023年3月27日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user MVCアプリケーションの作成 D110 モデル・テーブルの関係とORM 今回はモデルとテーブルの関係についてとORM(Object-relational mapping)について紹介します。ORMとは、オブジェクトとデータベース(リレーショナルデータベース)との対応付けを行うものです。 モデ […]
2023年3月27日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user データベースの利用 D120 ORMを用いたデータ処理について 前回の記事にて紹介したEloquentというORMを用いたデータ処理の具体的な方法について紹介します。 データ処理の方法 データ処理にはCRUDと呼ばれる、データベース管理システム(DBRS)に必要な4つの主な機能、作成 […]
2023年3月27日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user ビュー D130 Bladeテンプレートの記法 今回はテンプレートエンジンについて、中でもLaravelのビューで用いるbladeテンプレートを紹介します。 Bladeテンプレートの記法について テンプレートエンジンとは テンプレートエンジンとは、HTMLとデータ(P […]
2023年3月27日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user ユーザー管理 D140 ログイン・ログアウト(パスワードリマインダー付き) ログインはウェブアプリにおいて必ずといって過言ではないくらい実装されている機能になります。今回は、Laravelの中でのログイン機能について紹介します。 ログイン機能について ①データベースの作成 .envファイルの11 […]
2023年3月29日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user ユーザー管理 D150 セッション管理 セッション管理という手段を用いることで、ステートレスなHTTP通信をステートフルな通信にすることができます。今回はセッション管理について紹介します。 セッションとは セッションとは、アクセスの開始から終了までの一連の通信 […]
2023年3月29日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user ユーザー管理 D160 Cookie管理 Cookieとはサーバーから送られたデータをWebブラウザで一時的に保持するための仕組みのことをいいます。今回はこのCookieについて紹介します。 Cookieとは Cookieとはサーバーから送られたデータをWebブ […]
2023年3月31日 / 最終更新日時 : 2023年4月10日 erkennt_blog_user ユーザー管理 D170 アクセス制御 アクセス制御とは特定のユーザーのみしかアクセスのできない制限をかけることをいいます。今回はこのアクセス制御について紹介します。 アクセス制御の方法について Laravelではミドルウェアというものを用いてアクセス制限をか […]
2023年3月30日 / 最終更新日時 : 2023年4月10日 erkennt_blog_user メール D180 メール送信処理と認証 Webアプリでは会員登録完了時やパスワードリセット時などの際にメール送信機能を用いる場合が多いです。今回はメール送信処理について紹介します。 メール送信処理について ログイン機能の実装の際にインストールしたLaravel […]
2023年3月31日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user ログ D190 ログ 例外処理とは、プログラムに異常が発生した場合に現在の処理を中断し、別の処理を行わせる処理のことをいいます。 ログについて ログの設定 Laravelのログの設定に関しては、config/logging.phpに書いていま […]
2023年3月31日 / 最終更新日時 : 2023年4月10日 erkennt_blog_user 例外 D200 例外処理 プログラムを実行する際にエラーが起こることがあります。通常はエラーが起こった際、そこでプログラムは止まりますが、エラーが起こってもプログラムに止まって欲しくない場合もあります。今回はその際に用いる構文について紹介します。 […]
2023年3月31日 / 最終更新日時 : 2023年4月6日 erkennt_blog_user 排他制御 D210 楽観ロックと悲観ロック 楽観ロックと悲観ロックは、排他制御の代表的な方式です。今回はこの楽観ロックと悲観ロックについて紹介します。 楽観ロックと悲観ロックについて 排他制御とは 排他制御とは、共有資源に対して同時にアクセスした際に不整合が起きな […]
2023年5月15日 / 最終更新日時 : 2023年5月15日 erkennt_blog_user プロジェクトの作成と初期設定 E010 プロジェクトの作成と初期設定 今回からは、Laravelで実際に新規プロジェクトを作成する流れを紹介しながら、サンプルアプリケーションの作成を行っていきます。今回は初回導入として、前提条件の確認やプロジェクトの作成、初期設定などの説明をします。 前提 […]
2023年5月15日 / 最終更新日時 : 2023年5月15日 erkennt_blog_user デバッグツールの導入 E020 デバッグツールの導入 デバッグツールとは、プログラムの開発時に生じたバグ等の不具合を取り除く作業を行うためのソフトウェアの事をいいます。このデバッグツールを導入することで開発時の動作確認をスムーズに行うことができるようになります。今回はこのデ […]
2023年5月15日 / 最終更新日時 : 2023年5月15日 erkennt_blog_user Breeze UIの導入 E030 Breeze UIの導入 Breezeとは、ログイン、ユーザー登録、パスワードリセット、メール確認、パスワード確認などの認証機能をシンプルにLaravelへ実装したものです。今回はこのBreezeの導入について紹介します。 Breezeの導入 ① […]
2023年5月15日 / 最終更新日時 : 2023年5月15日 erkennt_blog_user 管理者用画面とユーザー用画面の認証を分ける E040 管理者用画面とユーザー用画面の認証を分ける 前回の記事で紹介したBreezeで導入される認証機能はユーザー側だけとなります。今回はユーザー機能と管理機能を別で作成するため、Breezeで導入された認証機能をコピーして管理画面用の認証機能の作成方法を紹介します。 管 […]
2023年5月15日 / 最終更新日時 : 2023年5月15日 erkennt_blog_user 管理画面用のデザインテンプレートを導入 E050 管理画面用のデザインテンプレートを導入 今回は、管理画面のデザインを簡単に作るために管理画面用のデザインテンプレートライブラリを導入する方法を紹介します。 AdminLTEの導入 ① composerを用いてadminlteパッケージを追加する。 ②admin […]
2023年5月15日 / 最終更新日時 : 2023年5月15日 erkennt_blog_user ユーザー登録時のメール認証を導入 E060 ユーザー登録時のメール認証を導入 Breezeにはユーザー登録時のメール認証機能が標準で実装されていますが、導入した時点ではメールアドレス認証が有効になっていません。今回は、ユーザー登録時のメールアドレス認証を有効にする方法を紹介します。 Userモデル […]
2023年5月16日 / 最終更新日時 : 2023年5月16日 erkennt_blog_user 管理画面 スケジュール機能の導入 E070 管理画面 スケジュール機能の導入 今回は、予約システムの主データとなるスケジュールの管理機能の作成方法を紹介します。 スケジュール機能作成 ①スケジュールのモデル、マイグレーションファイル、コントローラー一式を作成する。 ※下記のように表示がされていれば […]
2023年5月16日 / 最終更新日時 : 2023年5月16日 erkennt_blog_user 管理画面 予約機能の導入 E080 管理画面 予約機能の導入 今回は、作成したスケジュールに予約を管理する機能を追加する方法を紹介します。 予約機能作成 ①予約データのモデル、マイグレーションファイル、コントローラー一式を作成する。 ※下記のように表示されていたら成功です。 ②コン […]
2023年5月16日 / 最終更新日時 : 2023年5月16日 erkennt_blog_user 管理画面 ユーザー機能の導入 E090 管理画面 ユーザー管理機能の導入 今回は登録されたユーザーを管理する機能を実装する方法を紹介します。 ユーザー管理機能作成 ①ユーザー管理用のコントローラーを作成する。 Userモデルは既に存在するので、モデル生成は行なわずコントローラーのみを作成します […]
2023年5月16日 / 最終更新日時 : 2023年5月16日 erkennt_blog_user ユーザー カレンダー機能の導入 E100 ユーザーカレンダー機能の導入 今回は管理画面から登録したスケジュールをユーザーが参照・予約するための機能の実装方法を紹介します。 ユーザーカレンダー機能作成 ①npmを用いてカレンダーライブラリ(FullCallendar)を導入する。 カレンダー形 […]
2023年5月16日 / 最終更新日時 : 2023年5月16日 erkennt_blog_user ユーザー スケジュール予約機能の実装 E110 ユーザースケジュール予約機能の実装 カレンダー形式でスケジュールが表示できるようになったので、今回はスケジュールの予約機能の実装方法を紹介します。 ユーザースケジュール予約機能作成 ①スケジュール詳細表示用のモーダルを作成する。 ここではBreezeで導入 […]
2023年5月16日 / 最終更新日時 : 2023年5月16日 erkennt_blog_user ユーザー 予約一覧とキャンセル機能の実装 E120 ユーザー予約一覧とキャンセル機能の実装 今回はユーザー予約一覧とキャンセルを行うための機能の実装方法を紹介します。 ユーザー予約一覧とキャンセル機能作成 ①ユーザーの予約一覧のコントローラーを作成する。 ※下記の様に表示されれば成功です。 ②ルーティングを追加 […]