katsu-coach1215

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...
JavaScript

【Node.js】Node.jsとは?サーバーサイドJavaScriptの基本を理解する

こんにちは、かつコーチです。「Node.jsって聞いたことはあるけど、結局何なのか分からない」。そんな悩みを持つ方は多いです。ずっと記事にしていませんでしたが、この際まとめておきましょう。この記事では、Node.jsが何者なのかを、ブラウザ...
Python

【Python】発電所登録処理1

こんにちは、かつコーチです。Pythonで開発しているコードを備忘録として記載します。file_upload_power_plant.pydef file_upload_power_plant(arguments: list) -> int...
プログラミング

システム開発における工程

こんにちは、かつコーチです。プログラミングを学習して、様々なものが作れるようになってきたとはいえ、実際実務となるとどのような過程で制作されるのかがはっきりしないところがあります。今回はシステム開発における工程を解説します。1. 要件定義目的...
Java

【Java】JavaのIteratorの仕組みと拡張for文との関係を解説

こんにちは、かつコーチです。「拡張for文でListを回しながら要素を削除したらエラーになった」という経験はありませんか。今回は拡張for文の裏側で動いているIteratorの仕組みを理解し、この定番のエラーを解決していきます。Iterat...
Java

【Java】JavaのComparator・Comparableの違いと使い方で並び替えをカスタマイズする

こんにちは、かつコーチです。自作クラスのListを並び替えたいとき、sortメソッドを呼んでも「どの基準で並べるか」が分からずエラーになった経験はありませんか。今回はJavaで並び替えの基準を決めるComparableとComparator...
Java

【Java】JavaのMapとは?HashMap・TreeMap・LinkedHashMapの違いを解説

こんにちは、かつコーチです。今回は「キーと値のペアでデータを管理する」Mapについて解説します。実装クラスが3種類あって混乱しやすいポイントなので、それぞれの特徴とつまずきやすい落とし穴を、実際のコード付きで整理していきましょう。Mapとは...
Java

【Java】JavaのSet入門:HashSetとTreeSetの違いを初心者向けに解説

こんにちは、かつコーチです。前回はListを解説しましたが、今回は「重複を許さないデータの集まり」を扱うSetについて説明します。「Listと何が違うの?」「HashSetとTreeSetはどう使い分ける?」という疑問を、実際のコードとつま...
Java

【Java】JavaのList入門:ArrayListとLinkedListの違いを初心者向けに解説

こんにちは、かつコーチです。今回は、Javaでデータをまとめて扱うときによく使うList(複数の値を順番に並べて管理する仕組み)について解説します。「配列と何が違うの?」「ArrayListとLinkedListってどっちを使えばいいの?」...
Java

【Java】JavaのObjectクラスの役割と共通メソッドを理解する

こんにちは、かつコーチです。「継承していないのに、なぜどのクラスでもequals()やtoString()が呼べるのか」と疑問に思ったことはありませんか。今回はすべてのクラスの頂点にあるObjectクラスの役割を整理します。Objectクラ...
Java

【Java】Javaのequals・hashCode・toStringを正しく実装する

こんにちは、かつコーチです。「HashSetに入れたはずのオブジェクトが重複して入ってしまう」といったバグに遭遇したことはありませんか。今回はequals・hashCode・toStringを正しく実装するための考え方を、実際のバグ事例とあ...
Java

【Java】Java21のrecordでシンプルにデータを表現する使い方

こんにちは、かつコーチです。「値を保持するだけのクラス」を作るたびに、コンストラクタ・getter・equals・hashCode・toStringを書くのに疲れたことはありませんか。今回はJava 21(LTS)でも標準機能として使えるr...
Java

【Java】Javaのenumの使い方:定数管理から振る舞いの実装まで

こんにちは、かつコーチです。「曜日」や「ステータス」のような決まった値を扱うとき、intやStringの定数で済ませていませんか。今回はJavaのenum(列挙型)を使って、そうしたコードを安全で読みやすくする方法を解説します。enumとは...
Java

【Java】Javaの内部クラス・匿名クラスの使い方を種類別に整理する

こんにちは、かつコーチです。Javaには4種類の「クラスの中に書くクラス」があります。今回はその使い分けと、実際に手を動かして分かった注意点を整理します。4種類の内部クラスの違いメンバ内部クラス(Inner Class)外側のクラスのインス...
Java

【Java】Javaのinterfaceデフォルトメソッド・静的メソッドを使いこなす

こんにちは、かつコーチです。今回はJava 8以降のinterfaceに追加された、デフォルトメソッドと静的メソッドを扱います。「interfaceは抽象メソッドしか持てない」という前提知識をアップデートしたい方向けの内容です。デフォルトメ...
Java

【Java】interfaceの基本を初心者向けに分かりやすく解説

こんにちは、かつコーチです。前回は抽象クラスを解説しました。今回は、抽象クラスと似ているようで役割が異なる「interface」の基本について解説します。interfaceとは?「実装すべき機能の約束事」を定義するinterface(インタ...