Spring MVC 2編 - バックエンドWeb開発活用技術
Webアプリケーション開発に必要なすべてのWeb技術を基礎から理解し、完成させることができます。 MVC第2編では、MVC第1編の核心的な原理と構造の上に、実務のWeb開発に必要なすべての活用技術を学習することができます。

お知らせ
35 件
こんにちは。皆さん
データベース設計1編の講義がついにオープンしました。オープン記念として私の全ての講義を30%割引いたします🙂
タイトル:キム・ヨンハンの実戦データベース設計1編 – 現代的データモデリング完全攻略
講義数:83個
講義時間:16時間11分
講義PDFファイル:約400ページ
[講義紹介]
データベースはすべてのアプリケーションの基盤です。
しかし、適切に設計できなければ、プロジェクトはすぐに限界にぶつかり、保守は地獄になります。今回の講義は単純にテーブルを作る方法ではなく、実務で通用する現代的なデータベース設計方法を体系的にお教えします。そして私の数多くの実戦経験と長年の悩みの結果をこの講義に込めました。
[講義の核心ポイント]
概念的 → 論理的 → 物理的モデリング
3段階アプローチでDB設計を完全マスターします。実務ですぐに使える設計ノウハウ
理論だけに留まらず、ショッピングモールプロジェクトを例として活用します。間違った設計の罠を避ける
なぜERDが重要なのか、なぜ正規化が必要なのか、そしていつ非正規化をすべきなのかを実習を通じて理解できます。キーと関係設計の本質
自然キー vs 代理キー、一対一・一対多・多対多関係、識別関係 vs 非識別関係まで深く扱います。最新のDB設計トレンドを反映
数十年前の教科書に留まらず、現代的なデータモデリング方法論を提示します。[学習内容]
要件分析と核心エンティティの導出
ERD作成および用語辞書管理
正規化(1NF~BCNF)とその限界
インデックスとパフォーマンスを考慮した物理的モデリング
ショッピングモールプロジェクト全体DB設計実習
[講義対象]
開発者:コードを書く前にきちんとしたDBを設計したい方
企画者/アナリスト:データフローと構造を根本的に理解したい方
就職準備生:面接で差別化されたDB設計能力を見せたい方
ジュニア開発者:実務ですぐに使える設計原則を学びたい方
シニア開発者/リード:チームのデータベース設計品質を向上させたい方
[講義全体目次]
1. 講義紹介と授業資料
* 1-A. Windows - MySQL インストールガイド
* 1-B. macOS - インストールガイド
2. 設計の重要性
* データベース設計の第一歩
* 間違った設計が招く災難
* 設計の3段階 - 概念、論理、物理
* 整理
3. 概念モデリング
* 要件分析と核心要素の識別
* エンティティとは?
* エンティティ分類1
* エンティティ分類2
* プロパティと識別子
* カーディナリティと参加度
* ERD完成
* 関連エンティティ - 多対多関係の解決
* 用語辞典
* 整理
4. 概念モデリング - 実習
* 実践要件分析
* 実戦概念的モデリング - 開始
* 実戦概念的モデリング - ERD作成
* 実戦概念的モデリング - 用語辞典作成
* 整理
5. 論理モデリング1 - キー
* 様々な種類のキー
* 自然キー vs 代理キー1 - 自然キー
* 自然キー vs 代理キー2 - 代理キー
* 自然キー vs 代理キー3 - パフォーマンストレードオフ
* 自然キー vs 代理キー4 - 現代的な設計
* 複合キー設計
* 多対多関係と複合キー
* 整理
6. 論理モデリング2 - 参加度と一対多関係
* 論理的モデリング - 関係
* 参加度
* 一対多(1:N) 多対一(N:1) 関係 - 外部キーの位置1
* 一対多(1:N) 多対一(N:1) 関係 - 外部キーの位置2
* 一対多(1:N) 多対一(N:1) 関係 - 結合と膨張
* 整理
7. 論理モデリング3 - 一対一、多対多関係
* 一対一(1:1)関係 - 開始
* 一対一(1:1)関係 - 外部キーの位置
* 一対一(1:1)関係 - [実習] 関係拡張の柔軟性
* 一対一(1:1)関係 - 主テーブルにFK
* 多対多(M:N)関係 - リレーショナルモデルの限界
* 多対多(M:N)関係 - 連結テーブル
* 多対多(M:N)関係 - 属性
* 多対多(M:N)関係 - 概念的、論理的モデリング
* 整理
8. 論理モデリング4 - 識別関係、非識別関係
* 識別関係 vs 非識別関係 - 概念
* 識別関係 vs 非識別関係 - 一対多(1:N)
* 識別関係の問題点
* 識別関係 vs 非識別関係 - SQLクエリ、パフォーマンス
* 識別関係 vs 非識別関係 - 一対一(1:1)
* 識別関係 vs 非識別関係 - 多対多(M:N) 1
* 識別関係 vs 非識別関係 - 多対多(M:N) 2
* 識別関係 vs 非識別関係 - 現代的な設計トレンド
* 整理
9. 論理的モデリング - 実習
* 実戦論理的モデリング - 開始
* 実践論理モデリング - ERD作成
10. 正規化
* 正規化 - 開始
* 第1正規形
* 第2正規形
* 第3正規形
* BCNF正規形
* 実務と正規化
* 整理
11. 物理的モデリング
* 物理モデリング概要
* テーブルとカラム変換ルール1 - 基本ルール
* テーブルとカラム変換ルール2 - 略語と単数複数
* データタイプ1 - 文字、数字、PKタイプ
* データタイプ2 - 日付と時間タイプ
* 非正規化
* テーブル定義書
* まとめ
12. 物理モデリング - 実習
* 物理モデリング - 実習開始
* インデックス設計 - 実習
* 非正規化 - 実習
* ショッピングモール テーブル定義書
* ショッピングモールのDDLとDB作成
* 物理モデル - ERD自動生成
* ショッピングモール機能確認1
* ショッピングモール機能確認2
* 整理
ありがとうございます。
こんにちは。皆さん
データベース設計1編の講義がついにオープン準備に入りました。今回リリース予定の設計編1は9月16日〜9月19日の間にリリース予定です。
データベースロードマップ - 講座リリース予定スケジュール
設計編1 – 現代的データモデリング完全攻略 - 9月中旬リリース予定
設計編2 - 実務設計パターンと活用技法マスター - 2025年年末リリース予定
パフォーマンス最適化と高度機能編 - 2026年年初リリース予定
タイトル: キム・ヨンハンの実戦データベース設計1編 – 現代的データモデリング完全攻略
講義数:83個
講義時間:16時間11分
講義PDF資料:約400ページ
講義紹介
データベースはすべてのアプリケーションの基盤です。
しかし、適切に設計できなければプロジェクトはすぐに限界にぶつかり、メンテナンスは地獄になります。この講義は単純にテーブルを作る方法ではなく、実務で通用する現代的な設計手法を体系的にお教えします。そして私の数多くの実戦経験と長年の悩みの結果をこの講義に込めました。
講義の核心ポイント
* 概念的 → 論理的 → 物理的モデリング
3段階アプローチでDB設計を完全マスターします。
* 実務ですぐに使える設計ノウハウ
理論だけに留まらず、ショッピングモールプロジェクトを例として活用します。
* 間違った設計の罠を避ける
なぜERDが重要なのか、なぜ正規化が必要なのか、そしていつ非正規化を行うべきなのかを実習を通じて理解できるようになります。
* キーと関係設計の本質
自然キー vs 代理キー、一対一・一対多・多対多関係、識別関係 vs 非識別関係まで深く扱います。
* 最新のDB設計トレンドを反映
数十年前の教科書に留まらず、現代的なデータモデリング方法論を提示します。
学習内容
要件分析と核心エンティティの導出
ERD作成および用語辞書管理
正規化(1NF~BCNF)とその限界
インデックスとパフォーマンスを考慮した物理的モデリング
ショッピングモールプロジェクト全体DB設計実習
講義対象
開発者:コードを書く前にしっかりとしたDBを設計したい方
企画者/アナリスト:データフローと構造を根本的に理解したい方
就職準備生:面接で差別化されたDB設計能力を見せたい方
ジュニア開発者:実務ですぐに使える設計原則を学びたい方
シニア開発者/リード:チームのデータベース設計品質を向上させたい方
講義全体の目次
1. 講義紹介と授業資料
* 1-A. Windows - MySQL インストールガイド
* 1-B. macOS - インストールガイド
2. 設計の重要性
* データベース設計の第一歩
* 間違った設計が招く災難
* 設計の3段階 - 概念、論理、物理
* 整理
3. 概念モデリング
* 要件分析と核心要素の識別
* エンティティとは?
* エンティティ分類1
* エンティティ分類2
* プロパティと識別子
* カーディナリティと参加度
* ERD完成
* 関連エンティティ - 多対多関係の解決
* 用語辞典
* 整理
4. 概念モデリング - 実習
* 実践要件分析
* 実戦概念的モデリング - 開始
* 実戦概念的モデリング - ERD作成
* 実戦概念的モデリング - 用語辞典作成
* 整理
5. 論理モデリング1 - キー
* 様々な種類のキー
* 自然キー vs 代理キー1 - 自然キー
* 自然キー vs 代理キー2 - 代理キー
* 自然キー vs 代理キー3 - パフォーマンストレードオフ
* 自然キー vs 代理キー4 - 現代的な設計
* 複合キー設計
* 多対多関係と複合キー
* まとめ
6. 論理モデリング2 - 参加度と一対多関係
* 論理的モデリング - 関係
* 参加度
* 一対多(1:N) 多対一(N:1) 関係 - 外部キーの位置1
* 一対多(1:N) 多対一(N:1) 関係 - 外部キーの位置2
* 一対多(1:N) 多対一(N:1) 関係 - 結合と膨張
* 整理
7. 論理モデリング3 - 一対一、多対多関係
* 一対一(1:1)関係 - 開始
* 一対一(1:1)関係 - 外部キーの位置
* 一対一(1:1)関係 - [実習] 関係拡張の柔軟性
* 一対一(1:1)関係 - 主テーブルにFK
* 多対多(M:N)関係 - リレーショナルモデルの限界
* 多対多(M:N)関係 - 連結テーブル
* 多対多(M:N)関係 - 属性
* 多対多(M:N)関係 - 概念的、論理的モデリング
* 整理
8. 論理モデリング4 - 識別関係、非識別関係
* 識別関係 vs 非識別関係 - 概念
* 識別関係 vs 非識別関係 - 一対多(1:N)
* 識別関係の問題点
* 識別関係 vs 非識別関係 - SQLクエリ、パフォーマンス
* 識別関係 vs 非識別関係 - 一対一(1:1)
* 識別関係 vs 非識別関係 - 多対多(M:N) 1
* 識別関係 vs 非識別関係 - 多対多(M:N) 2
* 識別関係 vs 非識別関係 - 現代的な設計トレンド
* 整理
9. 論理モデリング - 実習
* 実戦論理的モデリング - 開始
* 実戦論理的モデリング - ERD作成
10. 正規化
* 正規化 - 開始
* 第1正規形
* 第2正規形
* 第3正規形
* BCNF正規形
* 実務と正規化
* 整理
11. 物理的モデリング
* 物理モデリング概要
* テーブルとカラム変換ルール1 - 基本ルール
* テーブルとカラム変換ルール2 - 略語と単数複数
* データタイプ1 - 文字、数字、PKタイプ
* データタイプ2 - 日付と時間タイプ
* 非正規化
* テーブル定義書
* 整理
12. 物理モデリング - 実習
* 物理モデリング - 実習開始
* インデックス設計 - 実習
* 非正規化 - 実習
* ショッピングモール テーブル定義書
* ショッピングモールDDLとDB作成
* 物理モデル - ERD自動生成
* ショッピングモール機能確認1
* ショッピングモール機能確認2
* 整理
ありがとうございます。
こんにちは。皆さん
ついにデータベース入門、基本編の2つの講義がオープンしました。
データベースを初めて学ぶ方でも気軽に学べるように、データベース入門講義を無料で提供することにしました。
キム・ヨンハの実戦データベースロードマップ
キム・ヨンハンの実戦データベース入門 - SQLから丁寧に(オープン)
キム・ヨンハンの実戦データベース - 基本編(オープン)
金英漢の実践データベース - 設計編(2025年後半予定)
金由ハンの実戦データベース - パフォーマンス最適化と上級機能編(2025年下半期予定)
受講対象
ちなみに、今回の講義は開発者だけでなく、プランナーやデータアナリストの方々も聴講できるようにやさしく構成しました。
開発者:データベースの基礎をしっかり固めたいジュニア、未経験者、就職準備中の皆様
企画者/マーケター:データに基づいた意思決定が必要な方
データアナリスト:SQLスキルを身につけたい初心者
[開発者の視点からロードマップを紹介]
開発者の方は、全体のロードマップをすべて追っていただくことをおすすめします。
多くの開発者が共感するでしょうが、結局、優れたアプリケーションは、しっかり設計されたデータベースの上に生まれます。アプリケーションコードだけでは決して解決できない問題が、まさにこのデータベース領域にはあるからです。このロードマップは、残り半分の核心的スキルを補い、皆様を一段高いレベルの開発者へと導いてくれるでしょう。
入門編: まず、「入門編」を通してデータベースとSQLの基礎を固めます。
基礎編:基礎編では、ジュニア開発者に必ず必要なデータベースの基礎知識を扱います。
結合、サブクエリ、UNION、CASE文を通じて、どんな複雑なビジネス要件もSQLで解決できる能力を身につけます。
インデックスの動作原理を正しく理解し、実務に必要なSQLパフォーマンス最適化の基礎をしっかり身につけます。
トランザクションとデータの整合性を深く理解し、データが壊れない安定したアプリケーションを作成できます。
設計編: 設計編では、皆さんの開発者としてのレベルを一段階上のレベルに引き上げます。優れたデータベース設計がどのようにアプリケーションの保守性と拡張性を決定するのかを学び、実務で遭遇する複雑な要件を体系的にモデル化する力を身につけます。
パフォーマンス最適化と上級機能編:パフォーマンス最適化と上級機能編は、大規模トラフィックを扱う上級開発者になるための最後の関門です。誰も解決できないデータベースのパフォーマンスボトルネックを特定し、サービスの限界を押し上げる上級技術を習得します。
このロードマップをマスターすれば、皆さんは「単に機能を実装するだけの開発者」を超え、アプリケーションとデータベースの両方を深く理解し、最適化できるようになります。どんな問題状況でも解決の糸口を見つけ出す、真に実力のある開発者へと成長するでしょう。
[企画・データ分析者の視点からロードマップを紹介]
企画者やデータ分析担当の方は、入門編と次の基本編まで受講することをおすすめします。
入門編:入門編でSQLの基礎を身につけることで、もうデータを依頼して待つ必要はなく、必要な答えをすぐに得られるスピードと自立性が手に入ります。
基礎編:基礎編では、さらに一歩進みます。
JOIN、サブクエリ、UNION、CASE文といった高度なSQLを活用して、複数の場所に散らばったデータを統合し、独自の基準で再加工しながら分析の深さをさらに高めていきます。
この2つのプロセスだけでも、皆さんはデータに基づいてサービスを改善し、組織を説得し、開発チームと円滑にコミュニケーションできるキーパーソンへと成長するでしょう。
データに基づいたプロダクトを直接リードしたい場合は、応用編として「設計編」を学習し、データ構造に関する理解を深めるのも良い選択です。
企画者と分析担当者の皆様、このロ드マップの入門編と基本編は、データを使って仕事をする方法を完全に変えてくれます。
入門編 - セクション目次
1. 講義紹介と授業資料
2. データベースの紹介
3. データベースの開始
4. SQL - データ管理
5. SQL - 検索と並べ替え
6. SQL - データ加工
7. SQL - 集計とグループ化
基礎編 - セクション目次
1. 講義の紹介と授業資料
2. ジョイン1 - 内部ジョイン
3. ジョイン2 - 外部ジョインとその他のジョイン
4. サブクエリ
5. UNION
6. CASE文
7. ビュー(View)
8. インデックス1
9. インデックス2
10. データの完全性
11. トランザクション
12. ストアドプロシージャ、関数、トリガー
ロードマップの進行に関する質問をまとめて回答します。
1. データベースロードマップの進行基本順序
- 基本的な順序は、Java → データベース → Spring → Spring BootとJPAの活用という順序です。
2. データベースロードマップの進行おすすめ順序
最も効果的な学習順序は、データベース入門編と基本編をSpringロードマップのSpring DB1の直前に学習することです。
したがって、次の順序で学習します。
- ...
- Spring MVC2
- データベース入門
- データベース基本編
- Spring DB 1편
- Spring DB 2편
- ...
Spring BootとJPA活用ロードマップを進める際には、最低限データベース基本編までを受講してから進むことをおすすめします。
データベース設計編、パフォーマンス最適化と高度な機能については、リリース後にもう一度整理してお知らせいたします。
3. MySQLをベースに学習を進めますか?それともOracleですか?
実習はMySQLを中心に進めますが、講義内容はMySQLだけでなく、RDBMS全般にわたり普遍的な知識を伝えることに重点を置いています。そのため、特定のデータベースに縛られない幅広い理解を目指します。
たとえるなら、この講義ではMySQLという自動車の運転方法を学ぶことになります。しかし、特定のモデルの自動車の操作方法を覚えるだけではなく、アクセルやブレーキ、ハンドルのように、どんな自動車(RDBMS)を運転する場合でも基本的に理解していなければならない運転の原理(RDBMSの核心概念)を学ぶことに重点を置きます。そのため、他のRDBMSを扱うときにも大いに役立つでしょう。
ありがとうございます。
こんにちは。皆さん
いよいよデータベース入門、基本編2講義がオープン準備に入った。
長い間お待ちいただき、応援していただきありがとうございます!
発売予定日は7月30日~8月1日と予想されます。
キム・ヨンハンの本番データベースロードマップ
キム・ヨンハンの実践データベース入門 - SQLから次々に(オープン)
キム・ヨンハンの本番データベース - 基本編(オープン)
キム・ヨンハンの実戦データベース - 設計編(2025年下半期予定)
キム・ヨンハンの実戦データベース - パフォーマンス最適化と高度な機能編(2025年下半期予定)
講義対象
ちなみに今回の講義は開発者だけでなく、企画者、データアナリストの方々も聞けるように簡単に構成しました。
開発者:データベースの基礎をしっかり固めたいジュニア、非専攻者、就職準備生
企画者/マーケター:データ駆動型意思決定が必要な方
データアナリスト: SQL能力を積み重ねたい入門者
【開発者の観点からロードマップ紹介】
開発者であれば、ロードマップ全体に従うことをお勧めします。
多くの開発者が共感しますが、最終的に優れたアプリケーションは、よく設計されたデータベースの上で誕生します。アプリケーションコードだけでは決して解決できない問題がまさにこのデータベース領域にあるからです。このロードマップは、残りの半分のコアコンピテンシーを満たし、あなたを一次元の高い開発者にします。
入門編:まず、「入門編」を通じてデータベースとSQLの基礎を固めます。
基本編:基本編では、ジュニア開発者に必要なデータベースの基本を扱います。
結合、サブクエリ、ユニオン、ケースステートメントにより、あらゆる複雑なビジネス要件がSQLに解放される能力があります。
インデックスの動作原理をきちんと把握し、実務に欠かせないSQLパフォーマンス最適化の基礎を固めます。
トランザクションとデータの整合性を深く理解することで、データが壊れない安定したアプリケーションを作成できます。
設計編:設計編は、あなたを一歩上のレベルの開発者にするでしょう。優れたデータベース設計がアプリケーションの保守性とスケーラビリティをどのように決定するかを学び、実践に直面する複雑な要件を体系的にモデル化する能力を高めます。
パフォーマンスの最適化と高度な機能編:パフォーマンスの最適化と高度な機能編は、大容量トラフィックを扱う高度な開発者への最後の関門です。誰も解決できないデータベースパフォーマンスのボトルネックを見つけ、サービスの限界を引き上げる高度な技術を習得します。
このロードマップをマスターすると、「単純に機能を実装する開発者」を超えてアプリケーションとデータベースの両方を深く理解し最適化し、あらゆる問題状況でも解決の手掛かりを見つける本当の実力ある開発者に成長することになります。
【企画、データアナリストの観点からロードマップ紹介】
企画者やデータアナリストなら入門編と次の基本編まで聞くことをおすすめします。
入門編:入門編を通じてSQLの基礎を習得すると、もはやデータを要求して待つ必要なく、必要な答えをすぐに得る速度と独立性を持つようになります。
基本編:基本編ではさらに一歩進んでいきます。
結合、サブクエリ、ユニオン、ケースステートメントなどの高度なSQLを活用して、さまざまな場所に散在したデータを合わせ、独自の基準で再加工し、分析の深さを増やします。
この2つのプロセスだけでも、データに基づいてサービスを改善し、組織を説得し、開発チームとスムーズにコミュニケーションをとる重要な人材に生まれ変わります。
データベースのプロダクトを直接リードしたい場合は、深化過程で「設計編」を学習してデータ構造に対する理解を広げることも良い選択になります。
企画者やアナリストにとって、このロードマップの入門編と基本編は、データの取り扱い方法を完全に変えてくれます。
入門編 - セクション目次
1. 講義紹介と授業資料
2. データベースの紹介
3. データベースの起動
4. SQL - データ管理
5. SQL - 照会とソート
6. SQL - データ処理
7. SQL - 集計とグループ化
基本編 - セクション目次
1. 講義紹介と授業資料
2. 結合1 - 内部結合
3. 結合2 - 外部結合とその他の結合
4. サブクエリ
5. UNION
6. CASE 文
7. ビュー(View)
8. インデックス1
9. インデックス2
10. データの整合性
11. トランザクション
12. ストアドプロシージャ、ファンクション、トリガ
ロードマップの進行に関する質問を集めて回答します。
1. データベースロードマップ進行の基本順序
- 基本的な順序は、Java - >データベース - >スプリング - >スプリングブートとJPAの利用順序です。
2. データベースロードマップ進行推奨順序
最も効果的な進行順序は、データベース入門編と基本編をSpringロードマップのSpring DB1の直前に学習することです。
したがって、次の順序で学習することです。
- ...
- Spring MVC2
- データベース入門
- データベース基本編
- Spring DB 1編
- Spring DB 2編
- ...
Spring BootとJPAの活用ロードマップを進めるときは、少なくともデータベースの基本編までは聞いて進めることをお勧めします。
データベース設計編、パフォーマンス最適化と高度な機能は、発売になればもう一度まとめてお知らせします。
3. mysqlベースで学習進行しますか? Oracleに進みますか?
練習はMySQLを中心に行われますが、講義の内容はMySQLだけでなくRDBMS全体を網羅する普遍的な知識を伝えることに焦点を当てます。そのため、特定のデータベースにとらわれない幅広い理解を目指します。
たとえ話をすれば、この講義で私たちはMySQLという自動車を運転する方法を学びます。しかし、単に特定のモデルの車の操作方法だけを習うのではなく、アクセル、ブレーキ、ハンドルのように、どの車(RDBMS)に乗っても基本的に知る必要のある運転原理(RDBMSの核心概念)を学ぶことに重点を置きます。だから他のRDBMSを扱うときも大きな助けになるでしょう。
ありがとうございます。
こんにちは。いよいよJava高級3編 Javaロードマップの最後の講義をオープンしました。
キム・ヨンハンの本番Java - 上級3編、ラムダ、ストリーム、関数型プログラミング
講義時間:16時間40分
講義数:97講義
講義PDF資料:387ページ
【講義紹介】
ラムダ、ストリーム、関数型プログラミングなど、最新のJavaでよく使用される新しい文法とスキルを学びます。今回の講義を通じて、ラムダ、ストリーム、関数型プログラミングなどの技術を単に知ることを超えて、実務にこれらの技術をどのように適用すべきか、深く理解し、また活用できるように教えていきます。
【講義内容まとめ】
主な講義の内容は次のとおりです。
1. ラムダが必要な理由
きちんとした簡潔なコードのために、並列処理などの高度な機能を簡単に活用するために、ラムダが現在のJavaでどのように重要な役割を果たしているかを学びます。
2. ラムダ
実際のコード例では、ラムダの定義と文法、活用のヒントを学びます。既存の方法とどう違うのか、またどんな点が魅力的なのか明確に理解できます。
3. 関数型インタフェース
ラムダと一緒に使われる必須概念である関数型インタフェース!関数型プログラミングが可能な理由と、Java標準APIに組み込まれたさまざまな関数型インタフェースを簡単に活用する方法をお伝えします。
4. ラムダ活用
実務コードでラムダをどのように適用できますか?繰り返しパターンと複雑なロジックを簡素化するラムダの重要な活用法を例と一緒に見てみましょう。
5. ラムダ対匿名クラス
どのような状況でラムダがより効率的で、どのような場合には匿名クラスを書くべきかを比較分析します。
6. メソッドリファレンス
Java 8から追加されたメソッド参照文法は、関数型プログラミングのきれいさを一段階アップグレードします。メソッド参照文法がどのように動作し、実用的な活用例は何かをお知らせします。
7. ストリーム API1 - 基本
ストリームAPIは、ラムダと一緒にJavaコレクションを扱う新しいパラダイムを示しています。初めて接する方もわかりやすく、ストリーム構造と基本使い方をわかりやすくまとめています。
8. ストリーム API2 - 機能
フィルタリング、マッピング、並べ替え、リデュースなど、ストリームが提供する重要な機能を次々に調べます。コードをより直感的で暗黙的に書く方法を学ぶことができます。
9. ストリーム API3 - コレクター
効率的なデータ収集と処理のためにストリームで活用するコレクターの概念を学びます。 collect(), grouping, partitioning など、実務で必須のスキルを習得できます。
10. Optional
null処理をきちんと解決してくれるOptionalをきちんと活用してみましょう。 isPresent(), orElse(), orElseThrow() など、本番で頻繁な NPE 問題を防止するためのさまざまな方法を扱います。
11. デフォルトメソッド
Javaインタフェースの新しい面であるデフォルトメソッドを見てください。
インターフェイスを拡張するときに互換性を維持する方法とともに、正しい使い方を学びます。
12. パラレルストリーム
高性能のための並列処理! ForkJoinプールから、ストリームAPIを介したマルチコア活用ノウハウと並列ストリームで発生する可能性のある注意事項を一緒に学びましょう。
13. 関数型プログラミング
Lambda、Stream API、Optionalなど、Java 8以降に追加された機能はすべて関数型プログラミングパラダイムを反映しています。オブジェクト指向言語と関数型パラダイムの組み合わせにより、より効率的なコードを書く方法を教えてくれます。
ありがとうございます。
こんにちは。いよいよ2年にわたってJavaロードマップを完成しました。
Javaロードマップの最後の講義であるキム・ヨンハンの実践Java - 上級3編、ラムダ、ストリーム、関数型プログラミング
オープン日程が3月25日(火)~3月28(金)の間にオープンすることが確定しました。
講義時間:16時間40分
講義数:97講義
講義PDF資料:387ページ
【講義紹介】
ラムダ、ストリーム、関数型プログラミングなど、最新のJavaでよく使用される新しい文法とスキルを学びます。
今回の講義を通じて、ラムダ、ストリーム、関数型プログラミングなどの技術を単に知ることを超えて、実務にこれらの技術をどのように適用すべきか、深く理解し、また活用できるように教えていきます。
【講義内容まとめ】主な講義の内容は次のとおりです。
1. ラムダが必要な理由
きちんとした簡潔なコードのために、並列処理などの高度な機能を簡単に活用するために、ラムダが現在のJavaでどのように重要な役割を果たしているかを学びます。
2. ラムダ
実際のコード例では、ラムダの定義と文法、活用のヒントを学びます。既存の方法とどう違うのか、またどんな点が魅力的なのか明確に理解できます。
3. 関数型インタフェース
ラムダと一緒に使われる必須概念である関数型インタフェース!
関数型プログラミングが可能な理由と、Java標準APIに組み込まれたさまざまな関数型インタフェースを簡単に活用する方法をお伝えします。4. ラムダ活用
実務コードでラムダをどのように適用できますか?
繰り返しパターンと複雑なロジックを簡素化するラムダの重要な活用法を例と一緒に見てみましょう。5. ラムダ対匿名クラス
どのような状況でラムダがより効率的で、どのような場合には匿名クラスを書くべきかを比較分析します。
6. メソッドリファレンス
Java 8から追加されたメソッド参照文法は、関数型プログラミングのきれいさを一段階アップグレードします。メソッド参照文法がどのように動作し、実用的な活用例は何かをお知らせします。
7. ストリーム API1 - 基本
ストリームAPIは、ラムダと一緒にJavaコレクションを扱う新しいパラダイムを示しています。初めて接する方もわかりやすく、ストリーム構造と基本使い方をわかりやすくまとめています。
8. ストリーム API2 - 機能
フィルタリング、マッピング、並べ替え、リデュースなど、ストリームが提供する重要な機能を次々に調べます。コードをより直感的で暗黙的に書く方法を学ぶことができます。
9. ストリーム API3 - コレクター
効率的なデータ収集と処理のためにストリームで活用するコレクターの概念を学びます。 collect(), grouping, partitioning など、実務で必須のスキルを習得できます。
10. Optional
null処理をきちんと解決してくれるOptionalをきちんと活用してみましょう。 isPresent(), orElse(), orElseThrow() など、本番で頻繁な NPE 問題を防止するためのさまざまな方法を扱います。
11. デフォルトメソッド
Javaインタフェースの新しい面であるデフォルトメソッドを見てください。
インターフェイスを拡張するときに互換性を維持する方法とともに、正しい使い方を学びます。
12. パラレルストリーム
高性能のための並列処理! ForkJoinプールから、ストリームAPIを介したマルチコア活用ノウハウと並列ストリームで発生する可能性のある注意事項を一緒に学びましょう。
13. 関数型プログラミング
Lambda、Stream API、Optionalなど、Java 8以降に追加された機能はすべて関数型プログラミングパラダイムを反映しています。オブジェクト指向言語と関数型パラダイムの組み合わせにより、より効率的なコードを書く方法を教えてくれます。
[全体目次]
1. ラムダが必要な理由
*プロジェクト環境の設定
*ラムダが必要な理由1
*ラムダが必要な理由2
*ラムダが必要な理由3
*関数vsメソッド
*ラムダ開始2. ラムダ
*ラムダ定義
*関数型インターフェース
*ラムダとシグネチャー
*ラムダと省略
*ラムダの配信
*高次関数
*問題と解決策1
*問題と解決策2
*問題と解決3
*整理3. 関数型インタフェース
*関数型インタフェースとジェネリック1
*関数型インタフェースとジェネリック2
*ラムダとターゲットタイプ
*基本関数型インターフェース
* 特化関数型インタフェース
*その他の関数型インターフェース
*問題と解決
*整理4. ラムダ活用
*フィルターの作成1
*フィルターの作成2
*マップを作成1
*マップを作成2
*フィルタとマップの活用1
*フィルタとマップの活用2
*ストリームを作成1
*ストリームを作成2
*ストリームを作成3
*ストリームの作成4
*整理5. ラムダ対匿名クラス
*ラムダ対匿名クラス1
*ラムダ対匿名クラス2
*整理6. メソッドリファレンス
*メソッド参照が必要な理由
*メソッドリファレンス1 - 開始
*メソッドリファレンス2 - パラメータ1
*メソッドリファレンス3 - 任意オブジェクトのインスタンスメソッドリファレンス
*メソッドリファレンス4 - 活用1
*メソッドリファレンス5 - 活用2
*メソッドリファレンス6 - パラメータ2
*整理7. ストリーム API1 - 基本
*ストリームAPIの開始
*ストリームAPIとは?
*パイプライン構成
*遅延演算
*遅延演算と最適化8. ストリーム API2 - 機能
*ストリーム生成
*中間演算
* FlatMap
*オプションの簡単な説明
*最終演算
*基本型特化ストリーム9. ストリーム API3 - コレクター
*コレクター1
*コレクター2
*ダウンストリームコレクタ1
*ダウンストリームコレクタ2
*整理10. Optional
*オプションが必要な理由
* Optionalの作成と値の取得
*Optional値の処理
*即時評価と遅延評価1
*即時評価と遅延評価2
*即時評価と遅延評価3
* orElse() vs orElseGet()
*本番活用1 - 住所を探す
*本番活用2 - 配送
*オプション - ベストプラクティス
*整理11. デフォルトメソッド
*デフォルトメソッドが登場した理由
*デフォルトメソッドの紹介
*デフォルトメソッドの正しい使い方
*整理12. パラレルストリーム
*シングルストリーム
*スレッド直接使用
*スレッドプールの使用
* ForkJoinパターン
* ForkJoinフレームワーク1 - はじめに
* ForkJoinフレームワーク2 - 仕事を盗む
*タスク盗むアルゴリズム
* ForkJoinフレームワーク3 - パブリックプール
* Javaパラレルストリーム
*パラレルストリーム使用時の注意点
*別々のプールを使用
*整理13. 関数型プログラミング
*プログラミングパラダイム
*関数型プログラミングとは?
* Javaと関数型プログラミング1
* Javaと関数型プログラミング2
* Javaと関数型プログラミング3
*整理ありがとうございます。
こんにちは。皆さん^^! Java上級2編講義をいよいよオープンしました。
講義リンク: https://inf.run/puD14
キム・ヨンハンの本番Java - Advanced 2
*講義時間:21時間35分
*講義数:100講義
*講義PDF資料:約400枚
【講義紹介】I/O、ネットワーク、リフレクション、アノテーションを基本機から実務に必要なレベルまで完全にマスターすることを目指します。
そして今回の講義は、特にコードと例を中心とした講義です。
ファイルを介した会員管理、チャット、Webアプリケーションサーバーなど、さまざまな例を直接作成しながら、Java初級、基本、中級1、2、高度な1 - マルチスレッドまで、これまで学習した内容をすべて活用してみます。
これにより、Javaロードマップを使用して、これまで学習したJavaの内容が実際にどのように活用されるかをサンプルコードで深く学ぶことができます。
私の目標は、単にJava文法教育にとどまらず、実務に必要な堅牢なJava基本機能を備えた有能な開発者を養成することです。
これを行うには、Javaの詳細で体系的なJavaロードマップを進めます。お楽しみください。
ありがとうございます。
こんにちは。皆さん
キム・ヨンハンの本番Java - 上級2編、I/O、ネットワーク、リフレクション
オープン日程が10月7日(月)~10月11(金)の間にオープンすることが確定しました。
講義時間:21時間35分
講義数:100講義
講義PDF資料:約400枚
【講義紹介】
I/O、ネットワーク、リフレクション、アノテーションを基本機から実務に必要なレベルまで完全にマスターすることを目指します。
そして今回の講義は特にコードと例中心の講義です。
ファイルを介した会員管理、チャット、Webアプリケーションサーバーなど、さまざまな例を直接作成しながら、Java初級、基本、中級1、2、高度な1 - マルチスレッドまで、これまで学習した内容をすべて活用してみます。
これにより、Javaロードマップを使用して、これまで学習したJavaの内容が実際にどのように活用されるかをサンプルコードで深く学ぶことができます。
[全体目次]
1.文字エンコーディング
*プロジェクト環境の設定
*コンピュータとデータ
*コンピュータと文字エンコーディング1
*コンピュータと文字エンコード2
* 文字セット照会
*文字エンコード例1
*文字エンコード例2
*整理2. IO 基本1
*ストリームスタート1
*ストリーム開始2
* InputStream、OutputStream
*ファイル入出力とパフォーマンスの最適化1 - 1つずつ書き込み
*ファイル入出力とパフォーマンスの最適化2 - バッファの活用
*ファイル入出力とパフォーマンスの最適化3 - Bufferedストリームを書く
*ファイル入出力とパフォーマンスの最適化4 - Bufferedストリームを読む
*ファイル入出力とパフォーマンスの最適化5 - 一度に書き込み
*整理3. IO 基本2
*文字の扱い1 - 開始
*文字を扱う2 - ストリームを文字として
* 文字の扱い3 - Reader, Writer
*文字の扱い4 - BufferedReader
*その他のストリーム
*整理4. IOの活用
*会員管理例1 - メモリ
*会員管理例2 - ファイルにアーカイブ
*会員管理例3 - DataStream
*メンバー管理例4 - ObjectStream
* XML、JSON、データベース
*整理5. File, Files
*ファイル
* Files
*ルート表示
* Filesで文字ファイルを読む
*ファイルコピーの最適化
*整理6. ネットワーク - 基本理論
*クライアントとサーバー
*インターネット通信
* IP(インターネットプロトコル)
* TCP、UDP
*PORT
* DNS7. ネットワーク - プログラム1
*ネットワークプログラム1 - 例
*ネットワークプログラム1 - 分析
*ネットワークプログラム2 - 例
*ネットワークプログラム2 - 分析
*ネットワークプログラム3
*リソースの整理1
*リソース整理2
*リソースの整理3
*リソースの整理48. ネットワーク - プログラム2
*ネットワークプログラム4 - リソースクリーンアップ1
*ネットワークプログラム5 - リソースクリーンアップ2
*ネットワークプログラム6 - リソースの整理3
*ネットワークプログラム6 - リソースの整理4
*ネットワーク例外1 - 接続例外
*ネットワーク例外2 - タイムアウト
*ネットワーク例外3 - 正常終了
*ネットワーク例外4 - 強制終了
*クリーンアップと問題9. チャットプログラム
*チャットプログラム - デザイン
*チャットプログラム - クライアント
*チャットプログラム - サーバー1
*チャットプログラム - サーバー2
*チャットプログラム - サーバー3
*チャットプログラム - サーバー4
*整理10. HTTP - 基本理論
* HTTP基本理論
* HTTPメソッド11. HTTP サーバーの作成
* HTTPサーバー1 - 起動
* HTTP Server2 - 同時リクエスト
* HTTP Server3 - 機能を追加
* URLエンコード
* HTTPサーバー4 - 要求、応答
* HTTPサーバー5 - コマンドパターン
* Webアプリケーションサーバーの歴史
*整理12. リフレクション
*リフレクションが必要な理由
*クラスとメタデータ
*メソッドナビゲーションと動的呼び出し
*フィールドナビゲーションと値の変更
*リフレクション - 活用例
*コンストラクタのナビゲーションとオブジェクトの作成
* HTTPサーバー6 - リフレクションサーブレット
*整理13. アノテーション
*アノテーションが必要な理由
*アノテーション定義
*メタアノテーション
*アノテーションと継承
*アノテーションの活用 - 検証機
* Java基本アノテーション
*整理14. HTTPサーバーの活用
* HTTPサーバー7 - アノテーションサーブレット1 - スタート
* HTTPサーバー8 - アノテーションサーブレット2 - 動的バインディング
* HTTP Server9 - アノテーションサーブレット3 - パフォーマンスの最適化
* HTTPサーバーの活用 - 会員管理サービス
*整理ありがとうございます。

