Java
JavaScriptとJavaはまったく別物です なぜJavaScriptという名前になったのか 1995年、Webの大事件 最初の名前はJavaScriptではない JavaとJavaScriptの違い 動く場所が違う 書き方も違う 思想が違う なぜ初心者は混乱するのか 注意点:名前の誤解が生む学習…
Java独学がつらく感じやすい理由 すぐに動くものが作れない 概念用語が一気に押し寄せる 「文法理解=Javaが分かった」と思ってしまう if文やfor文が書けても実装は別物 サンプルコードを写すだけで終わる危険 オブジェクト指向を早く理解しようとしすぎる …
Javaが後方互換を重視する理由 「一度書けば、どこでも動く」を守るため 企業システムの寿命が異常に長い Javaは「個人向け言語」ではない 実際にどれくらい後方互換が守られているのか 古い構文が今も使える APIは極力削除されない バイトコード互換も意識…
Gradleが高速と言われる最大の理由 インクリメンタルビルドが効く理由 ビルドキャッシュがもたらす現実的な速さ 設定フェーズと実行フェーズの分離 並列実行とマルチプロジェクトの強さ 実際にやると分かる「速さの正体」 高速さを殺してしまう失敗例 Gradle…
Gradleが目指したビルドツール像 なぜGroovyだったのか Groovy DSLの強みと弱み Kotlin DSLは何を解決しようとしたのか それでもGroovy DSLが消えない理由 実際にやるとこうなる:移行時の落とし穴 GradleがDSLを選び続ける理由 向いている人・向いていない…
Mavenで起きがちな「バージョン地獄」とは何か Mavenの依存解決ルールを最低限理解する 依存関係は「近いもの」が優先される transitive dependencyは自動で入ってくる バージョンを省略すると上位定義に従う バージョン地獄を招く設計パターン 各dependency…
Mavenマルチモジュール構成とは何か 単一プロジェクトとの違い なぜマルチモジュールに分けるのか 依存関係を明示できる ビルドとテストの影響範囲を限定できる よくあるマルチモジュール構成パターン レイヤー別分割 機能別分割 親POMの役割と設計の考え方 …
MavenのdependencyManagementとは何か なぜdependenciesだけでは不十分なのか dependencyManagementの基本的な書き方 親pomと組み合わせたときの本領 dependencyManagementを使わない方が楽なケース よくある誤解と失敗例 BOMとの関係 リスクと注意点 結局ど…
先に結論として知っておきたいこと Mavenのスコープとは何か 依存関係に「利用される場面」を与える仕組み compileスコープの役割と特徴 開発・テスト・実行すべてで必要な依存関係 compileを多用しすぎたときに起きがちなこと testスコープの役割と特徴 テ…
Mavenのライフサイクルとは何か defaultライフサイクルの考え方 主要フェーズを言葉で追ってみる validate compile test package verify install deploy 「フェーズを指定する」とはどういう意味か 実際にやるとこうなる例 よくある勘違いと失敗 フェーズを…
フロントエンドとJavaで依存管理が違って見える理由 npm的な感覚で考えると混乱しやすい点 Java依存管理の核心:推移的依存関係 Mavenでの具体例 lockファイルがないことへの不安 実際に現場で起きやすいトラブル ビルドは通るが実行時に落ちる バージョンを…
Javaが「中央集権」に見える理由 言語仕様と進化が中央で管理されている 標準ライブラリが強く、広い 実行環境(JVM)が強い支配力を持つ 実際に開発すると感じる「中央集権感」 ビルドと依存管理の作法が決まっている フレームワークが思想ごと提供される …
Javaのパッケージ管理が「堅い」と言われる理由 依存関係は宣言であり契約である クラスパス文化がもたらす制約 Pythonのパッケージ管理が柔らかく見える理由 実行環境と開発環境の距離が近い 暗黙の了解が多い 実際の現場で起きがちな違い Javaでは「最初が…
Node.js(npm)とJavaのパッケージ管理を一言で比べる Node.js(npm)のパッケージ管理思想 なぜnpmは「プロジェクトローカル」が基本なのか package.jsonが表す「契約」 lockファイルが生まれた理由 Javaのパッケージ管理思想 なぜJavaは安定性を最優先する…
Mavenキャッシュ(.m2)とは何をしているのか Mavenキャッシュが原因で起きがちな代表的トラブル ビルドが突然失敗するようになった 依存関係を更新したはずなのに反映されない 他の人の環境では通るのに自分だけ失敗する Mavenのエラーメッセージがやたら分か…
Mavenのビルドが突然失敗する最大の理由 ローカルリポジトリ(.m2)が壊れている Maven Centralや社内リポジトリの一時的な不調 snapshot依存が更新されて壊れる Mavenプラグイン周りの落とし穴 プラグインの暗黙アップデート Javaのバージョン差分による失…
POMのSNAPSHOTとは何か なぜSNAPSHOTが存在するのか POMでSNAPSHOTを指定すると実際に何が起きるのか SNAPSHOTを使ってよいケース ローカル開発・個人開発 密に連携する少人数チーム 一時的な検証・実験 SNAPSHOTを避けたほうがよいケース 本番リリースや商…
Mavenのバージョン競合とは何か Mavenはどうやってバージョンを決めているのか 具体例:nearestが招く意外な結果 なぜMavenは自動で解決してくれないのか 実際に起きがちなトラブル dependency:treeを見ずに進む危険性 dependencyManagementが重要な理由 exc…
pom.xmlにおけるgroupId / artifactId / versionの役割 Mavenが依存関係を識別する仕組み ファイル名やフォルダ名とは違う概念 groupIdとは何か、どう決めるのか groupIdは「組織」や「所有者」を表す 個人開発・社内ツールの場合の考え方 よくある失敗例 ar…
pom.xmlのdependencyとは何か groupId / artifactId / version の役割 groupIdとは何か artifactIdとは何か versionとは何か Mavenはdependencyをどう解決しているのか 「dependencyを書いたら動く」の裏側 scopeという見落とされがちな重要要素 失敗しがち…
Javaの依存関係とは何かを初心者向けに整理する 依存関係という言葉が分かりにくい理由 Javaは「クラス単位」ではなく「ライブラリ単位」で依存する MavenやGradleで混乱しがちなポイント pom.xmlやbuild.gradleは何をしているのか バージョン指定の意味を理…
Gradleとは何かをざっくり理解する なぜGradleが登場したのか Gradleで何ができるのか build.gradleの正体 Gradleが速いと言われる理由 実際に使うとこうなる 失敗しがちなポイント 向いているケース・そうでないケース 注意点とリスク 結局どうすればいいか…
Java初期にパッケージ管理ツールがなかった理由 JAR地獄と呼ばれた時代 Antの登場と限界 Mavenがもたらした転換点 Gradleの登場と柔軟性 Javaにおけるパッケージ管理の注意点 結局どうすればいいのか Javaの開発現場では、今やMavenやGradleといったパッケー…
Javaとパッケージ管理の関係が深い理由 標準ライブラリだけでは足りない現実 ライブラリ同士も依存している パッケージ管理をしないと何が起きるのか クラスパス地獄に陥る 環境差分が原因のバグが増える パッケージ管理ツールが解決すること 依存関係を宣言…
Javaのパッケージ管理とは何か jarファイルそのもの 依存関係の依存関係 バージョン管理で何が起きているのか なぜバージョン固定が必要なのか 曖昧な指定が招く問題 ビルド管理との関係 コンパイル時と実行時の違い 成果物の形を決める 実際にやるとこうな…
Javaが「面倒くさい」と感じられる理由 Javaが生き残っている最大の理由は「壊れにくさ」 「面倒くさい」設計がチーム開発を支えている Javaは「失敗しづらい」言語である Javaが企業システムで強い理由 Javaを使う上での注意点とリスク それでもJavaが選ば…
結論:2026年もJavaは「主流であり続けるが、選び方が重要」です 2026年時点でのJavaは、流行り言葉で言えば「枯れて強い」ポジションにあります。派手な新言語に話題を奪われがちですが、業務システム・バックエンド・大規模基幹系では依然として高いシェア…
Javaで、末尾に特定文字がある場合に末尾を削除する方法 方法1: String#endsWith と String#substring を使う方法 方法2: String#replaceAll メソッドを使う方法 方法3: String#replaceFirst メソッドを使う方法 Javaで、末尾に特定文字がある場合に末尾を削…
TomcatのWebアプリケーションマネージャ(manager)のデザイン(UI)の変更方法 TomcatのWebアプリケーションマネージャ(manager)のデザイン(UI)の変更方法 TomcatのWebアプリケーションマネージャ(manager)のUIデザインを変更するには、主に以下の手順を踏む…
TomcatのWebアプリケーションマネージャ(manager)のログの確認方法 1. Tomcatのログファイルの場所 2. Webアプリケーションマネージャのログ確認 3. Tomcatの管理ツールからのログ確認 4. ログのローテーションと管理 TomcatのWebアプリケーションマネージャ…