フレームワーク基礎

Flask

【Flask】Jinja2テンプレートでHTMLを動的に生成する

こんにちは、かつコーチです。これまでの記事では、return "文字列"で画面を表示してきましたが、実際のWebアプリでは装飾されたHTMLを表示したいはずです。この記事では、Flaskに標準搭載されているJinja2というテンプレートエン...
Flask

【Flask】@app.routeでルーティングを設定する基本

こんにちは、かつコーチです。前回、最小構成のFlaskアプリを動かしましたが、実際のWebアプリには複数のページやURLが必要です。この記事では、Flaskの心臓部とも言える@app.routeの使い方を、パターン別に整理して解説します。ル...
Java

【Spring Boot】コンストラクタインジェクションと@Autowiredの使い分け

こんにちは、かつコーチです。DIの基本的な考え方、Controller・Service・Repositoryの役割、そしてThymeleafでの画面作成まで見てきました。ここまでの記事ではDIの実装方法として@Autowiredをさらっと使...
Java

【Spring Boot】Thymeleafでビューを作成する基本

こんにちは、かつコーチです。前回、@GetMapping・@PostMappingでリクエストを受け取る方法を見てきました。今回は、Controllerが選んだ画面を実際に組み立てるThymeleafの基本を解説します。JSPに代わってSp...
Java

【Spring Boot】@GetMapping・@PostMappingでリクエストを処理する

こんにちは、かつコーチです。前回、@Controllerと@RestControllerの違いを整理しました。今回は、Controllerが実際にどうやって「どのURLへのどんなリクエストか」を判別しているのかを見ていきます。@GetMap...
Java

【Spring Boot】@Controllerと@RestControllerの違い

こんにちは、かつコーチです。前回、Service層・Repository層の役割を整理しました。今回はいよいよ、リクエストを最初に受け取る「入り口」であるControllerです。Spring MVCには@Controllerと@RestC...
Java

【Spring Boot】@Component・@Service・@Repositoryの違い

こんにちは、かつコーチです。前回の記事で、SpringはBeanを管理してDIを実現していると説明しました。Beanを登録するアノテーションには@Componentだけでなく、@Serviceや@Repositoryもあり、初心者の多くが「...
Java

【Spring Boot】DI(依存性注入)の基本的な考え方

こんにちは、かつコーチです。Spring Bootを学び始めると、必ずと言っていいほど「DI」という言葉に出会います。名前が難しそうに聞こえますが、考え方自体はとてもシンプルです。この記事では、Spring Bootの中核をなすDI(依存性...
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の中の値ってどうやって取得するの?」という疑問に、この記事でしっかり答...
JavaScript

【Next.js】Client Componentの中にServer Componentを混ぜてバンドルが膨らんだ話

こんにちは、かつコーチです。前回まででNext.jsの基本ルーティングとServer Actionsを使ったデータ更新まで解説してきました。ここからはN11〜N15の5本で、Server ComponentsとClient Componen...
JavaScript

【Next.js】Server Actionsの基本:フォーム送信をサーバー側で処理する

こんにちは、かつコーチです。前回は "use client" をいつ・どこに書くべきか、判断基準を解説しました。Server ComponentsとClient Componentsの使い分けが分かってくると、次に気になるのが「フォームを送...
JavaScript

【Next.js】’use client’はいつ・どこに書く?使い分けの判断基準

こんにちは、かつコーチです。前回はServer Componentsとは何か、これまでのReactとの一番の違いを解説しました。「インタラクティブな部分は "use client" を使ってClient Componentに切り出す」という...
Django

【Django】Django Adminをカスタマイズして管理画面を使いこなす

こんにちは、かつコーチです。Djangoの大きな魅力のひとつが、管理画面(Admin)が標準で用意されている点です。とはいえ、デフォルトのままだと使いづらい部分も多く、実務ではほぼ必ずカスタマイズします。今回はDjango Adminの基本...
Django

【Django】クラスベースビュー(CBV)の基本と使いどころ

こんにちは、かつコーチです。これまで関数ベースビュー(FBV)でビューを書いてきましたが、Djangoにはもうひとつクラスベースビュー(CBV)という書き方があります。「FBVで慣れたのに、なぜわざわざクラスで書くの?」と感じる人も多いと思...
Django

【Django】テンプレートの基本とテンプレートタグの使い方

こんにちは、かつコーチです。前回はビュー(View)の書き方を解説しました。ビューで用意したデータを、実際に画面のHTMLへ表示するのがテンプレートの役割です。今回はDjango 5系を前提に、テンプレートの基本構文とよく使うテンプレートタ...
Django

【Django】関数ベースビュー(FBV)の書き方

こんにちは、かつコーチです。前回の記事でurls.pyからviews.pyの処理を呼び出す流れを紹介しましたが、今回はその「処理」そのものを担当するViewの書き方を詳しく解説します。Djangoには2種類のViewの書き方があり、その1つ...
Django

【Django】urls.pyでルーティングを設定する基本

こんにちは、かつコーチです。前回の記事でDjangoのディレクトリ構成を紹介した際、「urls.pyはルーティングの起点になる」と説明しました。この記事では、実際にurls.pyを編集しながら、URLと処理を結びつけるルーティング(どのUR...
Laravel

【Laravel】Route Model Bindingで自動的にモデルを取得する

こんにちは、かつコーチです。前回はNamed Routeについて解説しました。今回は、URLのパラメータを扱うコントローラをもっとシンプルに書ける「Route Model Binding」を紹介します。「IDを受け取って、モデルを検索して、...