강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

トビーの春6 - 理解と原理

スプリングフレームワークの作成プロセスを見ながら、スプリングをよく理解して使用するのに役立つ原理を見つけます。これにより、開発者が作成するアプリケーションのコードをどのように作成する必要があるかを確認できます。

  • tobyilee
토비의스프링
스프링_원리
저자 직강
Java
Spring

学習した受講者のレビュー

受講後に得られること

  • スプリング技術の核心原理

  • オブジェクト指向設計原則とデザインパターン

  • テストを用いたコードの検証方法

  • リファクタリングによるコードの継続的な改善

  • 依存関係の注入、テンプレート、例外、サービスの抽象化

スプリングGuru(グル)の帰還!
14年ぶりに戻ってきたトビーのSpring6

長い間愛され続けてきた『トビーのSpring 3』が14年ぶりに帰ってきました!多くの開発者に愛されてきたこの名著が、ついに復活です!

<토비의 스프링 3.1> 書籍で扱った核心内容はそのまま含め、Spring 6とJavaの最新バージョンに合わせて再構成した講義です。特に最近多く使用されているアプローチと技術を含んだサンプルコードを中心に、最新のSpringフレームワークを深く体験することができます。


もしかして、こんな悩みを抱えていませんか?🤔

✅ Springは非常に広範囲で多様な技術を提供しているため、毎回必要な機能を探して使用方法を習得するのに多くの時間を投資することになります。

✅ Springが柔軟なフレームワークである分、様々な選択肢を提供するのは良いことですが、最適な方法を見つけるために多くのことを考慮するのが負担になります。

✅ Springフレームワークの機能が正常に動作するかを簡単に検証したり、予期しない問題により迅速かつ正確に対応する能力を身につけたいです。


使用方法ではなく
動作原理を学ぶべき理由

Spring柔軟で拡張性に優れたフレームワークです。開発するアプリケーションの特性に応じて必要な技術とSpringの機能を選択することが重要で、時には開発するアプリケーションに合わせてSpringが提供する機能を拡張する必要もあります。もちろんSpring Bootの助けを借りれば簡単に開発を始めることができますが、Springをより効果的に使用するためには基本的にSpringが提供する技術の動作方式と開発原理を知っていることが非常に有利です。

より重要なことは、SpringがJavaエンタープライズおよびサーバー開発のためのベストプラクティスと柔軟な開発原則を説明する書籍から始まったという点です。つまり、Springは生まれながらにしてオブジェクト指向設計原則とパターン、優秀な開発方式を考慮して開発されたフレームワークです。このような理由で、Springの基本原理をSpringを使用するアプリケーションコードに適用することは当然のアプローチであり、まさにこれがSpringの根本原理から学習すべき理由です。

良いSpring開発者になるための
思考の力を育てる

講義はリファクタリングで良いコードを作る過程を経てSpringの原理を理解できるように構成しました。

単純な例ですが、講義で扱うコードの変化に注目してください。現在のコードに対してどのような質問をし、どのような問題提起をし、どのような試みをするのか。そのようにリファクタリングされたコードがもたらす効果は何で、Springがどのように自ら適用したのかを見ることができます。

また、自らコードを磨き改善する過程で学ぶSpringの原則とパターンは、受講生の皆さんにより深く響くものと思います。講義を通じてSpring開発者に何を求め、どのようなコードを期待するのかインサイトを得る時間になることを願っています。

学習内容 📚

この講義では、Springの膨大な技術をより効果的に学習し理解するのに役立つ主要な原理を説明し、その同じ原理を私たちが開発するアプリケーションにも適用する方法について一緒に説明します。


オブジェクトと依存関係

Springは、Javaを使用してオブジェクト指向設計と実装、開発原理、デザインパターンを忠実に適用し、その効果を得ることができるコードを作成することを支援するフレームワークです。

最も核心となる依存関係注入(Dependency Injection)とこれを支援するSpringコンテナの動作原理を、オブジェクト指向的なコードを作成する過程を通して見ていきます。

Springが提供する最も基本的で重要な機能が何なのか、そしてこれをうまく活用するためにはアプリケーションコードをどのように作成すべきなのかを、サンプルコードを改善しながら学んでいきます。


テスト

テストを作らないなら、なぜSpringを使うのでしょうか?Springが提供する多くの機能と恩恵がありますが、開発するコードに対するテストを簡単で便利に作成でき、テストしにくい対象を手軽にテストできる構成を可能にしてくれることは、Springが提供する最大の恩恵です。

アプリケーションコードに対するテスト作成の様々な方法を学び、APIを利用するコードに対するテスト、コントロールしにくい時間テストなどはどのようにすべきかを見ていきます。

技術を身につける際に役立つ学習テストも扱います。


テンプレート

オブジェクト依存関係の柔軟性は、Springが提供する各種テンプレートを活用する方法でも体験できます。デザインパターンとSpringコンテナを一緒に活用して、再利用性と拡張性に優れたテンプレートとコールバックを作成し、Springに適用されたテンプレートも見てみます。

固定されたワークフローを持つ複雑で反復的なコードを、テンプレートを利用して簡潔にする方法を学ぶことができます。


例外

例外を処理するコードの種類と問題点、守るべき基本原則をまず説明します。DBデータアクセス機能を利用するコードで発生する例題を扱うスプリングの例外処理方式を調べ、JPAコードを作成してスプリングのDataAccessExceptionがどのように動作するか確認してみます。

体系的な例外構造を作成し、適切な例外処理方法を説明します。


サービス抽象化

サービスの種類と特徴をまず見てみます。

技術を提供するインフラサービスを利用する際に、アプリケーションサービスコードが特定の技術に依存しないように作ってくれるSpringのサービス抽象化を、トランザクションの例を通して見ていきます。

特定の技術に縛られない抽象化されたコードでありながら、ビジネスロジックと共に現れる技術コードを分離するプロキシを利用する効果的な方法についても説明します。


Springの学習方法

スプリングの基本原理を理解し、これを適用するためには、スプリングフレームワークと共にアプリケーションを構成する様々な方法を身につけ、スプリングが提供するライブラリなどを効果的に活用できるようになる必要があります。

Springの技術を学習する基本戦略と学習すべき技術の種類について説明します。


受講前の参考事項

実習環境

  • オペレーティングシステムおよびバージョン(OS):Windows、Mac、Linuxなど、Java技術を使用できるデスクトップオペレーティングシステムが必要です。

  • 使用ツール:JDK 17またはJDK 21バージョンをインストールし、Javaプロジェクトを開発・実行できる開発環境であるIDEが必要です。

    • 講義ではIntelliJ IDEA Ultimateバージョンを使用します。

    • 例題実習にはIntelliJ IDEA UltimateバージョンまたはCommunityバージョンを使用できます。

    • Eclipse、STSなどのJava IDEを使用することもできますが、IntelliJ IDEAの使用を強く推奨します。

学習資料

  • GitHubでサンプルコードを受け取ることができます。各授業段階ごとにコミットされているので、お好みの部分をチェックアウトして確認することができます。

  • 講義で使用するスライドを230ページ分のスライドをPDFファイルでダウンロードできます。

  • 各授業で説明する内容に関する参考資料を含んだ講義ノートをPDF形式で提供します。参考資料講義ノートは受講生の皆様からの質問などを参考にして継続的にアップデートする予定です。

前提知識および注意事項

  • Javaで書かれるコードを理解できる程度の言語知識が必要です。少なくともJava5のアノテーションや、匿名クラス、Java8のラムダ式の使用法を習得してください。以降のJavaバージョンで追加された文法やJavaクラスライブラリの使用法などは、講義で簡単に説明いたします。Java17または21バージョンまで追加された文法を習得されると役立つでしょう。

  • 全体の流れが気になる場合は、まずは例題に従わずに動画をすべて視聴しても良いです。その後で再びじっくりと例題に従って進め、自分でコードを改善したり応用してみることをお勧めします。


  • 追加的な説明が必要な部分があれば、関連する動画を追加する予定です。

予想質問 Q&A

Q. トビーのSpring 3または3.1の本を持っているのですが、本を先に読んでから講義を見るべきでしょうか?それとも逆に学習する方が良いでしょうか?もし講義を見るなら、わざわざ本は読まなくても大丈夫でしょうか?

まだ本を購入していない、または勉強していない場合は、講義を先に見ることをお勧めします。サンプルコードが最近多く使用されている方式と技術を利用して作成されているため、昔(2010-2021年)に出版された本を見るよりも理解しやすいです。また、含蓄的に必ず知っておくべき内容を集中して説明しているため、講義を先に見ることをお勧めします。

講義内容を十分に勉強された後に、トビのSpring本を見るのも良いです。本にはより詳細に多くの内容と説明が含まれています。詳細技術説明が含まれた2巻ではなくても、1巻は講義内容を思い出しながら再度読まれても役に立つ部分がたくさんあります。しかし他に学習することが多い場合は、わざわざ本を見なくても大丈夫です。それでも参考のために本を購入されるのは悪くないでしょうね。😄

知識共有者紹介

経歴事項

  • 韓国とアメリカを経て、現在はオーストラリアでコンサルタントと開発者として働いています。

  • 実務開発31年、Springフレームワーク開発21年の経験を持っています。

  • 製造、物流、金融、移動通信、コマース、教育、サービスドメインで様々なシステムとサービスを開発してきました。

  • トビーのSpring 3.0と3.1の本を執筆しました。

  • 韓国Springユーザー会(KSUG)を設立し、開発者コミュニティで長期間活動しています。


こんな方に
おすすめです

学習対象は
誰でしょう?

  • スプリングをよりよく理解して活用したい方

  • スプリングを実務で使用している方

  • 柔軟で拡張性に優れた開発方法を身につけたい方

前提知識、
必要でしょうか?

  • Java言語

  • Web APIとDBプログラミングの理解

こんにちは
です。

15,514

受講生

965

受講レビュー

410

回答

5.0

講座評価

8

講座

호주에 살고 있는 소프트웨어 개발자입니다. 30년간 다양한 분야의 시스템과 서비스를 개발해본 경험이 있습니다. 

스프링 프레임워크와 관련 기술을 좋아하고 JVM 기반 언어를 주로 사용합니다.

한국스프링사용자모임(KSUG)을 설립하고 활동했고, 토비의 스프링이라는 책을 쓰기도 했습니다.

개발과 관련된 다양한 주제에 관해 이야기하는 것을 좋아합니다. 

 

 

カリキュラム

全体

58件 ∙ (12時間 27分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

220件

5.0

220件の受講レビュー

  • parksangdonews님의 프로필 이미지
    parksangdonews

    受講レビュー 17

    平均評価 4.8

    5

    100% 受講後に作成

    淡白で、講義の時間を増やそうとする修飾語句と空白でいっぱいのオンライン講義用の言い方が一切ない。おそらく、大部分の受講生が講義をより見ると、川の流れに空き隙がないことを最も大きく感じられると思われる。 最後まで、スプリングの説明が始まらなかった。感心が混ざっている。 非常に簡単な例から始めて、クラスとオブジェクトを説明し、関係を通してより快適でスタイリッシュな方法を探す旅をそのまま見せる。多くのパターンを目の前に置いて暗記式で学んだ過去の時間に涙が出る。 むしろ、変化にどのようなパターンを書くべきかを心配することができるようになる。 まるで…生徒たちがクカナマ・アル・アペニー…(K Ca Na Mg Al Zn Fe Ni Sn Pb H Cu Hg Ag Pt Au)銀(朝鮮王志保)を覚えているように、開発本を置いてSOLIDを覚えてはいけない。できなかった内容を直接必要な機能を作り出すコード変更過程で説明するのに理解できない理由がなかった。 開発者なら、本人のコードを素早く信頼性を高めるためにテストを進める必要がありますが、テストが必要な理由と方法を2時間にわたって見せてくれます。時期に、本講義ではちょうど必要なだけ見せてくれる。テストは、どのように実行し、どのように何を検証するかがより重要であるというラインでテスト部分を仕上げます。 コードの再使用の必要性は誰にも話し過ぎることはありませんが、どのコードを再使用する必要があるのか​​、そして変化が必要な部分はどのように区別するのかを示し、これをテンプレートにする過程を見せてくれます。これは、すべてのプロセスがスプリングでどのように完成しているかを示しています。 初心者のための講義ではありませんが、例外を説明したいと思っていました。彼らが実際にこれまで学んだ概念を網羅した技術の総合という仕上げをする。 草食を通じてアクセスし、機能が追加されても、最終的にオブジェクトとの関係、パターンとテンプレート、そしてテストに基づく信頼性の確保と抽象化による依存性の脱皮まで..意志が見える講義だった。 インフラの仕事をしましょう~~ 相手のインフラストラクチャアカウントのメールアドレスを知っている場合は、贈り物をする機能が必要です!!!! 高コストを出して少数だけ聞く講義を拒否し、インフラですべての開発者のために2年以上の時間の間に無林秘法書を作り出したトビー様に感謝を申し上げ、後期を終えて.. .皆さん!! # 1等できたのに… 100%受講しなくて受講坪残した人たち 全て反則..悪い!! #ドメイン部分の講義クリップだけを見ても、この川の全体のコストをカバーするのに十分なビルドアップが支えられている。

    • tobyilee
      知識共有者

      最初の100%受講後作成文なので感動です。良く評価していただきありがとうございます。 ところで、受講評は何か残したいときに自由に作成してください。 :) インフラに講義プレゼントする機能は私もあればいいと思ったのにないなんて残念ですね!

    • こんにちは。Inflearnです! 良い講義を周りの方に共有したいと思われていたなら、Inflearnの講義プレゼント機能で直接プレゼントできるようになりました! 受講レビューから感じられる温かい心が、知人、同僚、周りの方の成長に繋がることを願っています。 🎁 講義プレゼントに関するお知らせ > https://www.inflearn.com/notices/1649873 ありがとうございます。

  • choicore님의 프로필 이미지
    choicore

    受講レビュー 2

    平均評価 5.0

    5

    59% 受講後に作成

    先発隊です。私はトビーの春本を会社と家にそれぞれ備えています。本が出てからもう14年になりましたが、まだスプリングの動作原理とスプリングが提供する抽象化を理解するのに大きな助けになります。 講義を発売するとすぐに始まりました。 サンプルコードを通じて機能要件を満たす状況で問題点を提示し、デザインパターンと設計原則を適用していきながら変更可能なコードに変える過程があります。簡単に理解でき、没入感のある受講しました。 途中で投げてくださるキーワードをただ渡すことなく探してみることをお勧めします。 スプリングは20年以上にわたり発展してきましたが、その基盤技術は依然として堅牢であるという点で、オブジェクト指向設計の大変さを感じます。 本でも、今回の講義でもトビ様は魚を捕まえる方法を教えてくれるようです。 トビー様が大好きです。

    • tobyilee
      知識共有者

      スプリングが変わらずしっかり守っているそのインフラと、そこに反映された原則が時間がかなり長く流れても変わらず維持されているというのが私にとっても大きな感動です。初受講ありがとうございます。

    • zin
      知識共有者

      先発隊の現状はどうなりますか? 受講完了後の後期も気になりますね!

    • ああ! 受講を通して多くの準備をして、なめらかな講義を作っていたと感じました。 無理な問題ではなく問題を提示して次曲次曲ボトムアップされて解決していく過程でどのように解放するか? こうしないか?楽しかったです。 普段私が知らないコード、あるいは設計が羨望の対象となる部分を警戒しなければならないと思いますが。 トビー様の知識伝授に力を入れて情報の海で弁別力をもって受け取ることができる根拠がたまっているようです。 おもしろくてお得に見ました。 P.S 今回のインフコンのときにほっとしたかったのですがㅜㅜインフコン落ちました天추のひとつです。

  • hyunwookim11085590님의 프로필 이미지
    hyunwookim11085590

    受講レビュー 4

    平均評価 5.0

    5

    31% 受講後に作成

    いったん動画講義がADHDを持った私が一日で30%を見るほど吸引力がありました。 SOLIDの原則やオブジェクト指向など、ジュニア開発者に多少抽象的に近づく概念も分かりやすく解いてくれ、例とともに説明してくれて母親が連想されました。 今回の講義で確かに知っているマエストロの方々は、むしろ文章が簡潔で淡白であることを感じました。 オブジェクトのチョ・ヨンホ様のオフライン講義を聞いた時も感じた感動なのに、トビー様の講義も台本を用意されたようだという勘違いがあるほど、流れが自然で論理力を持った文章が快適でした。 もちろん、開発の勉強には王道はないと思いますが、この程度のコンパスといえば道を失わないようですね。自信を持ってアクセスできるようになりました。 そして余談で本だけに触れて予想外の部分ですが、トビ様の声が集中力を高め、没入させる力がありました。

    • tobyilee
      知識共有者

      どんな点が良かったのか気になりますね。良く評価していただきありがとうございます。スプリングをうまく活用する素敵な開発者として働く姿を楽しみにしています。

    • tobyilee
      知識共有者

      詳しい受講評も書いてくれてありがとう。

  • modelso9312님의 프로필 이미지
    modelso9312

    受講レビュー 1

    平均評価 5.0

    5

    34% 受講後に作成

    まだ全部聞くことはできませんでしたが、これまで聞いただけでも修能1打講師よりさらに説明を上手くするという考えを持つようになり、急に先に受講評を残します。常に "スプリング" を勉強する際に通っていた文でしか説明されていないものを正確に誰が聞いても分かりやすく解いて動作する原理を理解させてくれるのが私の考えにはスプリングが水能種目だったというなら一打講師しておられたようです。 その程度で正確に脱毛にDI(理解しようとしなくても理解が注入される)をしてくださるようです。 このレッスンを見てからSpring 3.1も読んでみたいと思います。 書かれている硬いのが嫌いで先延ばしだけでしたが、今回の機会にちゃんとした勉強をしてみたいという気がしますねㅎㅎ いつも感謝しています。 受講評を修正できるとしたら、すべて読んで後期追加するようにします。 どうぞ健康になって良い講義を作っていただきたいです。

    • tobyilee
      知識共有者

      わかりやすくなると言ってくれてありがとう。残りの内容もお得であればと思います。本は量が多いですが、できるだけ親切に解いて説明しようとしました。限られた時間の講義で作るためにもっと説明したくなかった内容がありますが、本にはもっと説明を入れようとしましたので、余裕があれば1冊程度はご覧になることをお勧めします。

    • 100% 受講後 講義の進行も100%満たしてからもやはり聞いて良かったという考えを着実にしながら講義を聞いたようです。 講義を聞きながら感じるのがご飯を食べるものと比べると、料理を醸し出して食べると言って食べるだけではない材料はこんなに必要で、どのように調理しなければならないし、それを通してこんなに組み合わせて食べればおいしい料理を作れるだろうという感じをたくさん受けたこと同じです。 開発関連で初めてのスタートを間違えてレガシープロジェクトにメンテナンスするだけでインフラというところで講義を通じてトビ様も知り、スプリングについてさらに一歩近づくことができたようで、インターネットに浮かぶグローだけ見てはこう理解できるないほど確実に理解させていただきありがとうございます。 他の講義もたくさん作っていただきたいです。 本1冊をすべて読んでからスプリングリファレンスも一度読んでから再び講義復習兼聞いてみようと思います。 もしその時になればもう一度返事で私の感じた点を残してみるよう努力します。 追加でインフコンに当たって今回直接お会いできたら本当にいいようです。 良い川のありがとう。

  • daejoon님의 프로필 이미지
    daejoon

    受講レビュー 58

    平均評価 4.9

    5

    100% 受講後に作成

    より良い開発者になるのを手伝ってくれてありがとう。 'トビーの春3.0'ハードカバーをまだ読んでいます。 初めて読んだときは、1章から8章までの内容をめくって実務的な部分だけ見たようです。 しかし、時間が経つにつれて、むしろ前の部分の1枚から8枚までを見直しました。 講座はこの前半の内容を中心に、スプリング実装の難しい部分を最大限排除し、原理を説明する方法で進められました。 トビー様の特有の原理を覚醒させるためのビルドアップ方式の説明も依然として有効でした。 本を通しては感じられなかった部分ですが、講座を通して感じた点は次のとおりです。 - コードを変更の理由と時期によって分離しなければならない点 - リソース解放が必要なコードを書くとき、Openと同時にCloseする良い習慣 - IntelliJ IDEAからキャメルケースでインテリセンスを動作させる方法 - Thread.sleepを便利に使用できるTimeUnitクラスの使い方 - DIP(Dependency Inversion Principle)を基準にパッケージを分離すれば依存性を減らすことができる点 - Clock.fixedを使用して環境を調整する方法 - Spring Configuration構成時に便利に使用できるダブルブラケット技術 事実上に挙げた学んだことは、追加の部分であり、 講座を見ながら、私の頭の中には、継続して&#x27;どのようにメンテナンスが楽な構造を作るのか&#x27;への悩みでした。 このような部分が講座をみなしても完全には解決されませんでしたが、一定の部分方向性を提示していただき、今後さらに一生懸命悩んでみましょう。 ありがとうございます。 最後に、コースごとに体調が違うのが感じられました。 健康です。 もう一度、より良い開発者になるのを手伝ってくれてありがとう。

    • tobyilee
      知識共有者

      最初の本から見ましたね。役に立ったのは嬉しいですね。良い評価ありがとうございます。

期間限定セール、あと7日日で終了

¥10,706

29%

¥15,167

tobyileeの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

同じ分野の他の講座を見てみましょう!