2023-06

Laravel

【Laravel】セッション・フラッシュメッセージの使い方

こんにちは、かつコーチです。前回は、バリデーションで入力値をチェックする方法を解説しました。バリデーションを通過して無事にデータが保存できたとき、「登録が完了しました」というメッセージを画面に表示したい場面はとても多いです。このとき使われる...
Laravel

【Laravel】Laravelのバリデーション(Validation)の書き方

こんにちは、かつコーチです。前回は、Requestオブジェクトでフォームの値を受け取る方法を解説しました。ただ、値を受け取れるようになっても、それがそのまま「正しい値」とは限りません。メールアドレスの形式が違っていたり、必須項目が空だったり...
Laravel

【Laravel】Requestオブジェクトでフォームの値を受け取る

こんにちは、かつコーチです。前回は、Bladeコンポーネントで画面のパーツを再利用する方法を解説しました。画面が作れるようになったら、次に気になるのは「フォームに入力された値を、コントローラ側でどう受け取るか」ですよね。PHPの生の書き方だ...
PHP

【Laravel】Bladeコンポーネントで再利用可能なパーツを作る

こんにちは、かつコーチです。前回は、Bladeテンプレートの基本文法を解説しました。@if や @foreach、@extends などを使えば、動的なHTMLはひと通り書けるようになります。ただ、実際に画面を作っていくと、同じ見た目のパー...
Laravel

【Laravel】Laravel10の機能を解説

こんにちは、かつコーチです。2023年2月にLarave10がリリースされました。その新機能と変更点について解説します。Laravel 9からLaravel 10にアップグレードされた際には、複数の新機能、改善点、さらにはメンテナンスのしや...
PHP

【PHP】なぜフレームワークを使うのか?Laravelを学ぶ前に知っておきたいこと

こんにちは、かつコーチです。久しぶりにPHPネタです。前回は、、、素のPHPで簡易的なルーティングとコントローラの仕組みを自作してみました。たった数ページの機能を作るだけでも、URLの振り分けやファイルの読み込み管理など、地味な手間がたくさ...
SQL

【SQLite】SQLiteはどんなアプリに向いているか?MySQL・PostgreSQLとの比較検証

こんにちは、かつコーチです。SQLite編もいよいよ最終回です。これまでファイルベースの仕組み、型アフィニティ、トランザクション、インデックス、WALモード、バックアップと、SQLite固有の特徴を一通り解説してきました。最終回となる今回は...
SQL

【SQLite】SQLiteのバックアップとVACUUMコマンド

こんにちは、かつコーチです。WALモードまで解説してきて、SQLiteの内部の仕組みはかなり理解が深まったのではないでしょうか。今回は、実際に運用していく上で欠かせないバックアップとVACUUMコマンドを扱います。「ファイルをコピーするだけ...
SQL

【SQLite】WALモードとは?読み書きを両立させる仕組み

こんにちは、かつコーチです。前回はインデックスによる読み取り最適化を扱いました。今回は、SQLiteの同時アクセス問題を大きく緩和するWALモード(Write-Ahead Logging)を、ジャーナリングの仕組みを前提知識として扱っていき...
SQL

【SQLite】インデックスとEXPLAIN QUERY PLANの読み方

こんにちは、かつコーチです。ここからは上級者向けの内容として、インデックスとBスツリー、EXPLAIN QUERY PLANの読み方といった前提知識を踏まえて解説していきます。トランザクションとロックの挙動を理解したところで、今回はクエリを...
SQL

【SQLite】トランザクションと同時アクセスで気をつけたいこと

こんにちは、かつコーチです。前回はSQLite独自のデータ型・型アフィニティを解説しました。今回は、SQLiteを実運用する上で最も誤解が多い同時アクセスの挙動について解説します。「SQLiteは同時に書き込むと落ちる」という話を聞いたこと...
SQL

【SQLite】SQLiteのデータ型と型アフィニティという独自の仕組み

こんにちは、かつコーチです。ファイルベースの仕組みを理解したところで、今回はSQLiteを使う上で必ずつまずくデータ型の話をします。MySQLやPostgreSQLに慣れていると、SQLiteのデータ型の扱いには驚くはずです。「なぜINTE...
SQL

【SQLite】SQLiteのファイルベースDBの仕組みと使い方

こんにちは、かつコーチです。前回はSQLiteが「サーバーを持たない組み込み型DB」であることを紹介しました。今回は、その核心であるファイルベースという仕組みをもう一歩掘り下げます。「1つのファイルにDBが入っている」とはどういうことなのか...
GraphQL

【GraphQL】GraphQLとは?

こんにちは、かつコーチです。今回は、昨今流行っているGraphQLについて解説します。これまでのSQLと何が違うのかも含めて解説します。GraphQLは、Facebookが開発したAPIクエリ言語です。REST APIの代替として広く採用さ...
SQL

【SQLite】SQLiteとは?組み込み・エッジ向けの軽量DBを初心者向けに解説

こんにちは、かつコーチです。SQL基礎編ではMySQLやPostgreSQLを想定して標準SQLを学んできました。今回からは新シリーズとして、SQLiteという少し毛色の違うデータベースを扱っていきます。「SQLiteって聞いたことはあるけ...
JavaScript

【JavaScript】コピーボタン(Clipboard API)を実装する

こんにちは、かつコーチです。前回は無限スクロールを扱いました。今回は「実践UI実装」シリーズの最終回として、クーポンコードやシェア用URLをワンクリックでコピーできるコピーボタンを実装します。初心者向けのテーマなので、これまでよりもシンプル...