Spring MVC 1編 - バックエンドWeb開発の中核技術
Webアプリケーションを開発する際に必要なすべてのWeb技術を基礎から理解し、完成させることができます。 Spring MVCの重要な原則と構造を理解し、より深いバックエンド開発者に成長することができます。
キム・ヨンハンの実践Java - 上級3編、ラムダ、ストリーム、関数型プログラミング - 公開日確定
こんにちは。いよいよ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
*整理
ありがとうございます。




