katsu-coach1215

Laravel

【Laravel】Service・Repositoryパターンを導入するメリットと実装例

こんにちは、かつコーチです。前回は「太らせないControllerの書き方」というテーマで、Controllerの責務を最小限に絞る考え方を扱いました。では、Controllerから追い出したロジックはどこに行くべきなのでしょうか。今回はそ...
Laravel

【Laravel】MVCを実践する:太らせないControllerの書き方

こんにちは、かつコーチです。前回はパフォーマンスチューニングの基本を解説しました。今回からは設計・アーキテクチャ編に入り、最初のテーマとして「Fat Controller(太ったコントローラ)」問題を扱います。Laravelは書きやすさゆえ...
Laravel

【Laravel】Laravelのパフォーマンスチューニング入門

こんにちは、かつコーチです。前回は外部APIとの連携方法を解説しました。今回は、実装したアプリケーションが「遅い」と感じ始めたときに見直すべき、Laravelのパフォーマンスチューニングの基本を扱います。やみくもにキャッシュを増やすのではな...
Laravel

【Laravel】外部APIとの連携方法(Http::get/postの使い方)

こんにちは、かつコーチです。前回はAPI Resourceで自社のAPIレスポンスを整形する方法を解説しました。今回はその逆で、天気情報や決済サービス、外部の認証基盤など、他社が提供するAPIをLaravelから呼び出す方法を扱います。La...
Laravel

【Laravel】LaravelでAPIを作る基本(API Resource)

こんにちは、かつコーチです。前回はLivewireの基本機能を解説しました。今回は少し話題を変えて、フロントエンドがVueやReact、あるいはスマホアプリになったときに欠かせない「API」の作り方を扱います。Eloquentモデルをそのま...
Laravel

【Laravel】Vue・Inertia・Laravelでの画像アップロード実装

こんにちは、かつコーチです。前回はBladeベースでのファイルアップロードの実装パターンを解説しました。今回はもう一歩進んで、Vue・Inertiaを使ったSPA(Single Page Application)構成での画像アップロードを扱...
JavaScript

【TypeScript】JavaScriptプロジェクトをTypeScriptに移行するコツ

こんにちは、かつコーチです。前回は、外部ライブラリの型定義(@types)の探し方・使い方について解説しました。そして今回が、TypeScript基礎編の最終回です。テーマは「動いているJavaScriptプロジェクトを、どうやってType...
JavaScript

【TypeScript】外部ライブラリの型定義(@types)の探し方・使い方

こんにちは、かつコーチです。前回は、「とりあえずany」から卒業するための考え方について解説しました。TypeScriptで開発をしていると、自分のコードではなく外部のライブラリをimportしただけで型エラーが出て困る、という場面によく出...
JavaScript

【TypeScript】「とりあえずany」から卒業するための考え方

こんにちは、かつコーチです。前回は、strictモードとtsconfig.jsonの主要オプションについて解説しました。strictモードを有効にしても、実は簡単に型チェックをすり抜ける方法があります。それが今回のテーマ、any型です。「型...
JavaScript

【TypeScript】strictモードとは?tsconfig.jsonの主要オプション解説

こんにちは、かつコーチです。前回は、よくあるTypeScriptエラーの読み方について解説しました。今回は少し視点を変えて、そもそもTypeScriptが「どこまで厳しくエラーを検知するか」を決めているtsconfig.jsonのstric...
JavaScript

【TypeScript】よくあるTypeScriptエラーの読み方

こんにちは、かつコーチです。前回は、非nullアサーション(!)を使うべき場面・避けるべき場面について解説しました。型注釈やジェネリクスを覚えてきても、実際にコードを書いていると必ずぶつかるのが「赤い波線」と「見慣れない英語のエラーメッセー...
Expressjs

【Express】ExpressアプリをRenderにデプロイする方法

こんにちは、かつコーチです。ローカル環境でExpressアプリを作れるようになったら、次は誰でもアクセスできるようにインターネット上に公開してみましょう。この記事では、無料枠から始められるホスティングサービスRenderを使って、Expre...
Expressjs

【Express】エラーハンドリングミドルウェアで一元的にエラーを処理する(よくあるエラーの実例つき)

こんにちは、かつコーチです。Expressで開発をしていると、必ずと言っていいほどエラーに遭遇します。私自身も学習中に何度もサーバーをクラッシュさせたり、原因不明のエラーに数時間悩まされたりしてきました。この記事では、そんな実体験も交えなが...
Expressjs

【Express】シンプルなREST APIを作る(CRUD実装)

こんにちは、かつコーチです。ルーティングやミドルウェアを学んだら、次はいよいよ実践です。この記事では、データベースを使わずに、配列(インメモリデータ)を使ったシンプルなREST APIを作りながら、CRUDの基本を身につけます。CRUDとは...
Expressjs

【Express】ルーターを分割して整理する(express.Router()の使い方)

こんにちは、かつコーチです。Expressでアプリを作り始めると、app.js(またはindex.js)にapp.get()やapp.post()をどんどん書き足していきがちです。最初は数個だったルートも、機能が増えるにつれて数十行、数百行...
Expressjs

【Express】ミドルウェアとは?express.json()やカスタムミドルウェアの作り方

こんにちは、かつコーチです。Expressのコードを読んでいると、必ずと言っていいほどapp.use()という記述に出会います。「これって何をしているんだろう?」と疑問に思ったまま、なんとなくコピペしていませんか。この記事では、Expres...
Expressjs

【Express】Expressのルーティングの基本(GET/POST/パラメータ)

こんにちは、かつコーチです。Expressでサーバーを立てられるようになった次のステップは、ルーティングを使いこなすことです。「GETとPOSTって何が違うの?」「URLの中の値ってどうやって取得するの?」という疑問に、この記事でしっかり答...
Expressjs

【Express.js】Expressで最小構成のサーバーを立てる(npm init〜起動まで)

こんにちは、かつコーチです。Node.jsの基本を学んだら、次に気になるのが「実際にサーバーを作ってみたい」ということではないでしょうか。この記事では、Node.jsのフレームワークであるExpressを使って、最小構成のサーバーを立てる手...
JavaScript

【Node.js】CommonJSとESモジュール(require/import)の違い

こんにちは、かつコーチです。Node.jsのコードを読んでいると、requireとimportの両方が出てきて混乱した経験はありませんか。「どっちを使えばいいのか分からない」「混ぜて使ったらエラーになった」という声をよく聞きます。この記事で...
JavaScript

【Node.js】npmとpackage.jsonの基本:パッケージ管理を理解する

こんにちは、かつコーチです。Node.jsを学び始めると、必ず出てくるのが「npm」と「package.json」です。「なんとなくコマンドを打っているけど、中身がよく分かっていない」という方も多いのではないでしょうか。この記事では、npm...