inflearn logo
知識共有
inflearn logo

スプリングセキュリティ

初級から中級、高級に至るまで、Spring Securityの基本概念からAPIの使い方と内部アーキテクチャを学習することになり、これをもとに本番プロジェクトを完成させていくことで、Spring Securityの認証と認可に関する核心的な技術を身につけることになります。

難易度 中級以上

受講期間 無制限

Java
Java
Spring Boot
Spring Boot
Spring Security
Spring Security
Java
Java
Spring Boot
Spring Boot
Spring Security
Spring Security

お知らせ

6 件

  • leaven님의 프로필 이미지

    こんにちは。知識共有者の浄水院です。 ^^

    私の講義を愛していただき、力になってくださる受講生の方々に、今やオープン予定の新しい講座関連のお知らせをお伝えしたいと思います。

    今回オープンする講座は

    Java 同時実行プログラミング (Java Concurrency Programming)
    (サブタイトル:リアクティブプログラミングPart.1)

    です。

    Javaの並行性プログラミングは、Javaのさまざまな技術の中でも困難で複雑で、進入障壁が高い領域と言えます。

    しかし、現代のソフトウェア開発では、マルチスレッドと並行性開発の分野は、システムの規模が巨大になり、技術が発展するにつれて、より重要な要素として浮上しています。

    ですから、バックエンド開発者なら、必ず並行性プログラミングは越えなければならない山であり、自分の力量をさらに一歩引き出すために不可欠に経なければならない関門といえます。

    今回の講義は、今後作成される予定のリアクティブプログラミングロードマップに含まれている最初のシリーズ講義であり、SpringのWebフラックスなどの非同期ノンブロッキングの概念を深く正確に理解するための重要な基礎と基本を固める基礎となります。

    どうぞ、今回のJava同時性プログラミング講義が、皆さんに同時性プログラミングの世界に案内する良いアシスタントになることを願っています。

    オープンおよび講義情報は次のとおりです。

    - 講義オープン日: 1121以降〜28程度と予想
    -講義名Java同時プログラミング-リアクティブプログラミングPart.1
    -講義80講義
    -講義資料PPT:420

    今回の講義で取り上げる内容は次のとおりです。

    セクション 1. オペレーティングシステムの基本
    オペレーティングシステムの基本原理とマルチタスク、プロセスとスレッドの違いを学びます。
    また、Parallel & Concurrent、Context Switch、CPU Bound & I/O Bound、ユーザーモード&カーネルモードなど、コアなオペレーティングシステムの概念を通じて同時実行プログラミングの基礎を理解し、スケジューリングの基本原則を学びます。

    セクション2. Java Thread Fundamentals - スレッドの作成と実行構造
    Javaでスレッドを作成、実行、終了する方法を詳しく学びます。スレッドのライフサイクルを各状態ごとにシミュレートしながら、各状態ごとにどのような特徴と実行フローで持っているかを段階的に学習します。

    セクション3. Java Thread Fundamentals - スレッド基本API
    Javaのスレッド関連APIの詳細な概念と構造について説明します。
    sleep、join、interrupt、priority などマルチスレッド実装において必ず知るべき概念とネイティブメソッド実行による JVM と OS 間の接続構造およびフローについて深く学習します。

    セクション4. Java Thread Fundamentals - スレッドの活用
    実際のプロジェクトでスレッドを効果的に使用する方法を学びます。
    中断や復旧などのトピックを扱い、スレッドグループとスレッドローカル、スレッド例外処理などについて学習します。

    セクション 5. Synchronization Fundamentals - 同期の概念
    同期の基本概念とマルチスレッド環境での重要性を深く学びます。
    同期とCPUとの関係、Critical Seciton、安全なスレッド構成など、同期技術​​を理解するための基本的な概念を深く学習します。

    セクション 6. Synchronization Fundamentals - 同期技術
    同期のさまざまな手法とその適用方法を詳しく説明します。
    同期技術であるミューテックス、セマフォ、モニター、Spin Lockなど、ロックの概念と同期を使用したデータ保護と一貫性の維持戦略を学びます。

    セクション7. Java Synchronization
    Javaが提供する同期メカニズムを詳細に学習します。
    Synchronizedの概念、条件変数、volatile、デッドロックなどを含むJavaが提供するさまざまな同期メカニズムをカバーします。

    セクション8. Java Locks
    Javaのロックインタフェースとさまざまな種類のクラスを学び、Lockの使い方とLockによる同期の問題を解決する方法を学びます。
    特に、書き込みロックと読み取りロックの特徴と長所と短所などを調べて、ロックの条件変数活用法と実務例を通じた正確な使用方法を習得できるようにします。

    セクション9. Java同期ツール
    Javaが提供するさまざまな同期ツールを学びます。
    Atomic Variables(シングルオペレーション変数)、Atomic * FieldUpdater(シングルオペレーションフィールドアップデート)、カウントダウンラッチ、サイクリックバリアなどのツールを使用した実用的な適用方法を学びます。

    セクション10. Java同時実行フレームワーク
    Javaが提供するExecutor、ExecutorService、およびExecutorsクラスの概念と特徴を理解し、スレッドプールを使用してマルチスレッドアプリケーションを効率的に管理および最適化する方法を学びます。
    また、Futureインターフェースを介して非同期操作の結果をどのように処理し管理するかについての実践的な知識を提供します。
    これらの概念を実際の事例と実践を通して適用することで、複雑な並行性の問題を解決し、応答性とパフォーマンスに優れたJavaアプリケーションを開発することができます。

    セクション 11. ThreadPoolExecutor
    ThreadPoolExecutorの原理と使い方を詳しく学びます。
    このセクションでは、スレッドプールの作成、管理、最適化の方法について説明し、スレッドプールを使用した効率的なリソース管理と例外処理の管理方法などについて学び、アーキテクチャとフローチャート全体について説明します。

    セクション 12: CompletableFuture
    Javaの非同期プログラミング機能であるCompletableFutureについて詳しく説明します。
    Java 8で導入されたこの強力なクラスにより、非同期プログラミングの基本概念から始めて、実際のワークフローを構成および管理する方法を学ぶことができます。
    各セッションは、CompletableFutureのさまざまなメソッドとユースケースを詳細に説明し、例外処理、結果の組み合わせ、および非同期タスクの連鎖などの実用的なテクニックを学びます。

    11
  • leaven님의 프로필 이미지

    こんにちは^^

    Spring Security OAuth2 (Spring Boot ベースで開発する Spring Security OAuth2)

    講座がようやくオープンしました

    予想よりやや遅くなりましたが、オープンニュースがもっと嬉しいです^^

    オープン記念で新しい講義を含め、私のすべての講義を30%割引イベントが進行中ですので、割引価格で受講してください。

    今回のSpring Security OAuth2講座は、インターネット標準で指定されたOAuth 2.0の技術を取り上げています。

    このコースを完成した後は、 OAuth 2.0の基本的な技術だけでなく、 OAuth 2.0技術を活用して、さらに拡張された機能を実装できる能力を養うことに重点を置いたといえます。

    OAuth 2.0技術を活用したアプリケーション開発に関心があるか、実務的に事業でプロジェクトを進行するすべての受講生の皆様にこの講座が役立つことを心から願っています。

    ありがとうございます。

    4
  • leaven님의 프로필 이미지

    こんにちは。 ^^

    Spring Security OAuth2講義はまもなくオープン予定です。

    スプリングセキュリティ1編講義に続く2編講義といえます。

    共通分母が存在するものの、主題は明らかに異なり、1編講義の事前知識を必要とします。


    講義を制作しながら毎回感じるのですが、今回の講義も初めて設計したよりも多くの時間とエネルギーがかかったようです。
    一生懸命準備しただけに、今回の講義が受講生の皆さんに良い結実に近づいてほしいと思います。

    オープン予定日は10月14~16日頃程度予想しています。

    - 講義名:Spring Security OAuth2
    - 講義数:110講内外
    - 講義資料PPT:420枚

    今回の講義で取り上げる内容は次のとおりです。

    1. Spring Security OAuth2 コアの理解

    OAuth2.0標準技術とそれに基づいて、Spring Security OAuth2の重要な概念であるOAuth2 Client、Resource Server、Authorization Serverの3つの軸を中心に講義が行われます。

    1) OAuth 2.0 Authorization Framework
    RFC標準技術であるOAuth 2.0認可フレームワークの全体的な概念と原理、構造などの内容を調べます。
    Spring Security OAuth2の本格的な技術を学ぶ前に、OAuth 2.0の標準技術の基礎と基本的な理論をまず理解し、実践を通じて正確な概念を熟知することで、Spring Security OAuth2の内容を困難なく追いつくことができます。

    2) OAuth2 Client
    OAuth 2.0のクライアントモジュールとして、クライアントで認可サーバーと連動できるさまざまなタイプの認可タイプとリクエストAPIを紹介し、認可サーバーから発行されたトークンを使用してリソースサーバーへのアクセス制御をどのように実装するかについて学習します。
    また、Google、Facebook、FagHet、Naver、Cacaoなど、OAuth 2.0 Authorization Serverサービスプロバイダとの連携を通じてソーシャルログイン機能を実装する方法を紹介します。
    認証プロトコルであるOpenID Connectを紹介し、認証処理のためのさまざまなオプション設定方法とフローを理解します。

    3) OAuth2 Resource Server
    ユーザーのリソースを保護しているサーバーとして、APIサーバーとしての役割を果たします。
    リソースサーバーがリソースを保護する方法を調べて、Access Tokenを含む要求に対してトークンを検証する方法と権限システムを制御する流れについて学びます。

    OAuth2サービスプロバイダによって発行されたAccess TokenがJWT形式で生成されたトークンである場合は、Scope(範囲)を抽出する内容を調べて、リソースサーバーでAccess Tokenに含まれているScopeを分析して権限の有無を判断する方法を学びます。 。

    4) OAuth2 Authorization Server
    市場には、オープンソースを含む様々なAuthorization Serverの商用製品やサービスがあります。
    このため、Spring Security Development チームは Authorization Server フレームワーク プロジェクトを中断することもありましたが、多数の開発者の櫛打ち要求により、Authorization Server プロジェクトがまったく新しい設計に再び誕生しました。
    本講座では、新しいアーキテクチャで再誕生した Authorization Server プロジェクトを基準に講義を制作し、OAuth2 Client と Resource Server との連動を通じた認可サーバとしての機能の詳細を見て、自ら認可サーバを構築してサービスできる。知識を備えるようにすることに重点を置きました。

    Authorization Server機能を処理する主なクラスを学び、カストマイズする方法を学びます。
    また、OAuth 2.0標準エンドポイントの仕様を調べて、各エンドポイントに設定されているフィルタの構造と処理を学習します。

    2. 学習カリキュラム

    Spring Security Fundamentals
    Spring Securityの重要な基礎を見てください。
    初期化プロセスの詳細と原理を学び、HttpBasic、Corsなどの要素を扱います。

    OAuth 2.0 Authorization Framework
    OAuth 2.0 標準技術の詳細仕様について学習します。
    OAuth 2.0 で表現されるさまざまな用語をまず理解し、権限付与フローのタイプに関する概念整理と keycloak オープンソースを活用して認可フレームワークの全体的な流れを理解します。

    OAuth 2.0 Client - oauth2Login()
    クライアントアプリの機能を自動化し、権限付与フローのタイプであるAuthorization Code方式で認可サーバとの連動方法を学習し、ユーザ承認と承認からAccess Tokenを受け取り、認証/認可処理に至るまでの全過程を見て、内部構造について学びます。

    OAuth 2.0 Client - oauth2Client()
    oauth2Login() API が提供する権限付与フローのタイプである Authorization Code の他に、Resource Owner Password と Client Credentials タイプで認可サーバーと連動する方法を見て、 DefaultOAuth2AuthorizedClientManager, @RegisteredOAuth2AuthorizedClient の使い方します。

    OAuth 2.0 Client - OAuth 2.0 Social Login
    OAuth2サービスプロバイダーとして、Google、Facebook、FatHet、Naver、Cacaoなどがあります。

    OAuth 2.0 Resource Server API - jwt()
    リソースサーバーの構成方法とAccess Token要求を処理するJwtDecoderの機能を調べて、トークン検証の成功後に生成される認証関連オブジェクトの構造と使用方法を学習します。
    また、Access Tokenの検証に使用されるMAC&RSAアルゴリズムの仕組みとは何ですか?どの処理手順によって検証が行われるのかを調べます。

    OAuth 2.0 Resource Server - リソースサーバー権限の実装
    Access Token 要求を処理するフィルタと、JwtDecoder によって抽出された Scope を権限に変換し、変換された権限でリソースのアクセス可否を制御する方法について学習します。

    OAuth 2.0 Resource Server - opaque()
    リモートトークンチェックプロセスとして、Access Tokenが有効かどうかを認可サーバーと直接通信して調べる方法を学習します。

    Spring Authorization Server - 主要ドメインクラス
    認可サーバーを構成する主要ドメインクラスの種類と概念、役割などを学習し、これらのクラスがSpring MVCでどのように参照および利用できるかを学習します。

    Spring Authorization Server - エンドポイントプロトコル
    認可サーバーの重要な機能であるさまざまなタイプのエンドポイントプロトコルについて学びます。
    承認要求を開始したエンドポイントからユーザー情報を要求するエンドポイントまでの全体のプロセスを図式とフローで詳しく見ていきます。

    OAuth 2.0 Client + Resource Server + Authorization Serverの連携
    Spring Securityが提供する各OAuth2のモジュールを連携および連携する方法を学び、それを使用してOAuth2サービスプロバイダとして機能する具体的な項目を例に示します。

    3. アーキテクチャ/フロー/原理の理解

    Spring Frameworkのプロジェクトの中で、Spring Securityは、技術アーキテクチャ、動作原理、フロー理解などの内部ソースレベルの実装に関する全体的な理解が非常に重要です。

    与えられたAPIを中心に使用しても予期しないエラーや問題に遭遇すると、Googleで検索して解決策を見つけることができますが、Spring Security OAuth2に関する資料が多くなく、ほとんど同様のケースが繰り返し出てくるレベルなので、Spring Security OAuth2の内部構造と動作原理を正確に理解できない場合や分析できない場合は、サービス運営に多くの困難を経験します。

    そのため、本講座では様々な図式やFlowとデバッグによる正確で詳細な説明を通じて、単純なAPIの使い方や機能例を超えて、Spring Security OAuth2の構造と流れを完全に分析し理解することで、どんな状況でも柔軟な対処が可能な知識を備えています。そうすることに重点を置いており、本講師が開設した講義のパターンや共通の特徴といえます。

    14
  • leaven님의 프로필 이미지

    こんにちは

    Spring Batch (Spring Boot ベースで開発する Spring Batch)

    講座がオープンしました

    予想よりやや遅くなりましたが、オープンニュースが嬉しいです^^

    オープン記念で30%割引イベントが進行中ですので、割引価格で受講してください。

    今回のスプリング配置講座は、スプリング配置のFundamentalに力点を置いて講義を準備しました。

    つまり、魚を捕まえる方法について多くの時間を費やしました。

    そこで、この講座を修了した後は、スプリング配置の基本的な技術だけでなく、スプリング配置の技術を活用して

    より拡張された機能を実現できる能力を育てることに重点を置いたといえます。

    どういうわけか、バッチアプリケーションの開発に興味を持っているか、実務的にプロジェクトでプロジェクトを進行しているすべての受講生の皆さんに、このコースが役立つことを心がけてください。

    ありがとうございます。

     

    0
  • leaven님의 프로필 이미지

    [浄水源]スプリング配置(Spring Bootベースで開発するSpring Batch)

    こんにちは。皆さん

    スプリング配置講座がまもなくオープンします。

    • タイトル: Spring Batch (Spring Boot ベースで開発する Spring Batch)
    • 講義数:108
    • 講義資料:約400個ppt画面
    • 講義時間:約45時間

    講義目標

    今回のSpringデプロイメントコースは、初級から中級から上級まで、Springデプロイメントの基本的な概念から、APIの使用法と内部アーキテクチャ構造を深くカバーしています。そして、スプリング配置各機能の流れと原理を学習することになり、これをもとに様々な配置アプリケーション開発のための実務的感覚を身につけることになります。

    講義のテーマ

    • Springバッチコアドメインの理解
      • 各ドメインの用語概念とドメイン間の関係を理解することで、簡単なジョブから複雑なジョブまで、目的のジョブを体系的に整理する方法を学びます。
    • Spring Deploy Job、Step、Flowの理解とAPIの活用
      • Job と Step のさまざまなタイプについて調べて、Job、Step、Flow を組み合わせて配置ジョブを構成する方法を学習することで、スプリング配置の最も基本となる Job の構成および活用を自由自在に実装する能力を養うことになります。

    • SpringバッチChunkベースのプロセスの理解と活用
      • チャンクベースの処理の基本的な概念と原理を学び、内部アーキテクチャまで把握します。
      • そして、さまざまな例でチャンクベースの処理によるデータ処理の活用法を征服します。

    • Springバッチ例外とエラー制御
      • フォールトトレランスを備えたバッチアプリケーションをどのように設定できるかを学びます。
      • これに関連する技術である Skip と Retry 機能の詳細と実習を進めます

    • Springバッチマルチスレッド処理の理解と活用
      • Javaのスレッドモデルの基本的な概念と、スプリング配置で提供されるマルチスレッド関連技術を最初に理解し、複数のマルチスレッドタイプの配置処理技術を習得します。

    • Springバッチイベントリスナーの取り扱い
      • リスナーの概念とリスナーの作成、登録、活用などの内容を学習します。
    • SpringバッチTDDと運用APIの活用
      • SpringバッチでTDD環境を構成する方法と活用について学習し、バッチのリアルタイム起動、中断、および再起動のためのクラスについて学習します。
    • スプリングバッチ実戦プロジェクト
      • コースで学んだ内容に基づいて、実践で応用できるプロジェクト例を作成します。
        これにより、さまざまなバッチアプリケーションを構築する上で、各機能と技術的な内容を実務的な観点から眺める能力を育てることになります。

    ありがとうございます。

    7
  • leaven님의 프로필 이미지

    こんにちは

    新しいコースがまもなくオープン予定です。

    講義テーマはスプリング配置(スプリングブートベースで開発するスプリング配置) です

    予定された計画よりやや遅くオープンしますが、それだけ良い内容で皆さんに提供しようと努力しました。

    予想日程は9月中旬頃と見ています。

    どうぞこの講座を受講されるすべての方々に有益で役立つことを心から願います。

    もう少しお待ちください

    ありがとうございます。^^

    9

公開していない講座のため、受講が制限されます。