강의

멘토링

로드맵

BEST
Programming

/

Back-end

Spring Boot TDD - 入門から実践まで正確に

より早く、より堅牢に Spring Boot アプリケーションを開発しましょう。正確な理論の説明と、実務レベルの連携した実習を通じて、HTTP API アプリケーション開発に TDD を使う効果的な方法を自然に習得できます。

  • gyuwon2187
스프링프레임워크
스프링부트
실습 중심
TDD
Spring Boot
JUnit
Architecture

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

こんなことが学べます

  • TDD による Spring Boot Web API アプリケーション開発 実践

  • 正確で核心的な TDD 理論

  • 過度なツールと設計なしに TDDを使う方法

  • 要件を満たした後に設計を改善する方法

  • シンプルな設計から構造化されたアーキテクチャへ安全にリファクタリング

  • TDDに関する誤解の解消

コードの実装を超えて
製品の価値を生み出す力

AIコーディングツールが注がれ、「コードは自動的に編む時代」という言葉が出てきます。しかし、本当に重要なのはコード自体ではありません。要件を正確に検証し、安定してシステムを改善できる設計とテスト能力です。

TDD(Test-Driven Development)は、自動化されたテストに基づいてシステムを確実に改善するのに役立つ強力なツールです。コードを超えて、ソフトウェアが「正しく動作しているか」を継続的に検証し、正しい方向に開発を導くことができます。

今、TDDは「良い」開発習慣ではありません。
コードを超えて製品の価値を実装する強力な武器です。

このような経験があればお勧めします。

例や講義をそのまま行ったが、本気TDDの必要性を体感できずにいる。

TDDをスキルと道具中心だけで身につけてみると、
実戦プロジェクトでは限界を感じている。

TDDを導入しようとすると、テストを考慮していないコードベースのために幕詰まりを感じた。

プロジェクトに急にTDDを適用したが、テストが全部壊れて結局あきらめたことがある。

そこで、様々な組織にTDD文化を定着させてきた
CTOの10年の経験を講義に入れました。

TDD理論を正確に説明します。

TDDを正しく書くためには、スキル中心の単純なテスト作成法ではなく、コア概念と設計原理を正確に理解することがまずです。この講義は、TDDと健全な設計のための理論的基盤をしっかりと固め、実務でよく見られる誤解や誤りを避けるための概念中心の学習を提供します。

Spring BootだけでもTDDで十分です。

途方もないアーキテクチャがなくても、Spring BootはTDDを正しく使用できます。このレッスンは、おなじみのSpring Boot環境でTDDの重要な手順に従い、TDDの全体的な流れがどのように機能するかを豊富な実践中心に体感するのに役立ちます。

実コードフローでTDDを獲得します。

実務で使用するコード作成フローにそのまま従います。要件の理解→テストシナリオの導出→機能の実装→設計管理など、実際の事業開発者が経験するTDDの流れを実習で体得します。また、Copilotを活用したAIコラボレーションも間接的に体験できます。

10年の経験、TDDに心からの開発者が伝えます。

10年以上、様々なチームや組織からTDD文化を直接導入し、実務に定着させた経験を持っています。コラボレーションからコードレビュー、デザインまで! TDDを実際のプロジェクトにどのように溶かすかは、その現実的なプロセスと洞察を講義にまとめました。

このような効果を得ることができます。

この講義を通じて、受講者の皆さんはそれぞれの状況に応じて様々な効果を得ることができます。

ソフトウェア開発を初めて学ぶ方は

Spring Bootを使ってWebサーバアプリケーションを開発するプログラマになるために就職を準備している方は、ソフトウェア開発学習の初期からTDDを基本能力で揃えることができます。他の経験が積み重なる前に正確な情報に基づいてTDDを学習すれば、むしろキャリアのある方よりも抵抗なく簡単に習得できます。

実務で安定してアプリケーションを開発したい人

実務では、Spring Boot Webサーバーアプリケーションを開発していますが、新機能を作成する際にバグが発生する恐れで不安を感じる人は、自動化されたテストを使用して要件を満たしていることを確認し、システムに段階的にコードを追加する方法を学ぶことができます。そして、この能力により、より価値のあるエンジニアに一歩進むことができます。

TDDを学びましたが、実務の適用に苦労している人は

TDDとテストオートメーションを勉強しましたが、実務でSpring Boot Webサーバーアプリケーションを開発するときは、さまざまな困難でTDDを適用できない方は、TDDに関する知識をもう一度取り組んで十分に準備された実習を進行しながら、実戦で経験する問題を解決できる手がかりを得ることができます。

講義内容

TDDに関する理論の説明から始めて、断絶なく続く一連の実習に従い、自然にTDDに馴染み、アーキテクチャの改善、要件の変更、コラボレーションケースまで連続的に経験できるよう講義を構成しました。

TDDコア理論

TDDを正しく使用するために必要な重要な理論を説明します。 Kent Beckが定義したTDD手順と効果的なテスト作成と管理に必要な基盤設計理論を説明し、実践と同様の実習を通じて理論の効果を体感します。

TDDを使用したWebサーバーアプリケーションの開発

実務で利用可能なレベルのTDD学習には、理論の説明と簡単な例では不足しています。このレッスンでは、本番に近いレベルのSpring Boot Webサーバーアプリケーションをプロジェクトが初期化された状態で開始し、すべての機能をTDDを使用して開発します。

効果的なテストを書く

要件を忠実に検証するテストコードを読みやすく書く方法を体験してください。テストはソフトウェア要件を正しく検証する必要があり、要件文書の一種であるため、テストコードの読みやすさは非常に重要です。機能に忠実でありながら読みやすいテストコードの書き方を考え、JUnitを使って自分で書いてみます。

アーキテクチャの改善

TDDを使用して開発されたアプリケーションの設計品質を向上させるために、単純なアーキテクチャから構造化アーキテクチャに改善します。モデルを他のコンポーネントから分離し、Command Query Responsibility Segretation(CQRS)パターンを適用します。

知識共有者の紹介

  • さまざまな分野でさまざまな技術を使用してソフトウェアを開発しました。

  • 10年以上にわたり、複数のスタートアップでCTOの役割を果たし、複数のチームにTDDを定着させました。

  • TDDをはじめ、様々なテーマで様々な技術イベントで講師として知識と経験を共有してきました。

  • テストデータの生成JUnit拡張ライブラリAutoParamsを運営しています。

受講前の注意

練習環境

  • 練習ビデオはWindowsオペレーティングシステムを使用します。しかし、macOSをお使いの方も問題なく受講できます。

  • IntelliJ Community Editionを使用してください。 IntelliJ Ultimate エディションもそのまま使用できます。

学習資料

  • 500ページ以上のスライドを提供します。

  • 100を超えるコミットで構成されたすべての練習コードは、GitHubリポジトリを介して提供されます。

  • Discordでは、知識共有者や他の受講生とTDDや講義の内容をテーマに自由にコミュニケーションできます。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • ソフトウェア開発の学習初期からTDDを基本スキルとして身につけたい方

  • 安定して要件を満たし設計を改善するプログラマーとして成長したい方

  • Spring Boot Webアプリケーション開発の実務にTDDを使いたい方

  • TDDに関する基本知識は習得したが、実務導入に難しさを感じている方

  • TDDに関する誤解を解消したい方

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

  • Javaコーディングに不自由なくできる程度のJava言語の文法理解

  • HTTP基礎知識

  • リレーショナルデータベース基礎知識

こんにちは
です。

1,097

受講生

51

受講レビュー

22

回答

4.9

講座評価

3

講座

여러 스타트업에서 CTO로 활동하며 기술팀의 역량 성장을 이끌어왔습니다.

코딩만큼이나 기술 지식과 경험을 나누는 일에서도 큰 즐거움을 느낍니다.

カリキュラム

全体

109件 ∙ (14時間 9分)

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

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

受講レビュー

全体

39件

5.0

39件の受講レビュー

  • denia park님의 프로필 이미지
    denia park

    受講レビュー 6

    平均評価 4.8

    修正済み

    5

    100% 受講後に作成

    강의를 정말 잘 들었습니다. 최근에 본 강의 중 가장 큰 도움이 되었습니다. 이렇게 정성스러운 강의를 준비해 주셔서 정말 감사드립니다. 저도 테스트에 관심이 많아 단위 테스트, TDD 등의 테스트 관련 강의와 책을 여러 권 구매하여 학습했으나, 배운 내용을 실제 프로젝트에 어떻게 적용해야 할지 매번 막막했습니다. 그래서 프로젝트에 TDD나 테스트를 제대로 도입하는 방법을 알려 주는 강의가 있으면 좋겠다고 생각했는데, 이 강의를 통해 TDD에 대한 큰 방향성을 잡을 수 있었습니다. 덕분에 저도 이제 제 프로젝트에 조심스럽게 TDD를 도입해 볼 수 있을 것 같습니다. 그리고 마지막에 짧게나마 말씀해주신 레거시 관련 강의도 꼭 나오면 좋겠네요 강의 구매를 고민하시는 분께 드리는 말씀: TDD를 도입해보고 싶은데 어떻게 해야할지 막막하신 분들이라면 이 강의가 분명 큰 도움이 될 것입니다.

    • 이규원
      知識共有者

      denia park님 완강 축하드리고 또 감사드립니다. 제가 강의를 준비하게 된 큰 계기 중 하나가 마지막에 말씀해주신 TDD 도입이 막막하다는 분들을 많이 만났고 이런 문제를 해결해드리고 싶었던 거라서 수강평이 저에게 특별한 의미가 됩니다. 실무 프로젝트에도 안정적으로 TDD를 도입하셔서 더 좋은 제품을 더 빠르게 만드실 수 있기 바랍니다. 🙏

  • 뜨어어님의 프로필 이미지
    뜨어어

    受講レビュー 5

    平均評価 5.0

    修正済み

    5

    67% 受講後に作成

    이 강의는 우리가 하는일이 단순 설계 및 코드 작성이 아니라, 현실세계의 고객의 문제 파악 및 소프트웨어를 통한 해결 이라는 것을 명확히 알려줍니다. 서버, API, 데이터베이스만 배운 사람에게 “고객 지향적으로 개발 하라” 라고 얘기해도 그게 무슨 이야기 인지 이해하기 쉽지 않고, 또 누군가는 “클린 아키텍쳐” 혹은 “Ports and Adapters” 아키텍처를 사용 하면 변화하는 요구사항을 처리하기 쉽다고 누군가 알려줍니다. 힘들게 공부해서 패턴을 적용해도 내가 고객 지향적으로 개발하고 있다고 느끼기는 쉽지 않습니다. 이 강의는 그러한 사람들에게 명확한 가이드라인을 제공 합니다. 강의에서 알려주는 내용은 고객의 요구사항을 잘 정리하고 이를 충족하는 코드를 작성하는 것 입니다. 그리고 이 과정에서 ”테스트 주도 개발“이 얼마나 효과적인지 알게 해줍니다. 강의를 끝까지 따라하고 취지에 귀 기울이다 보면 TDD에 대한 물음표가 느낌표로 바뀌게 될 것입니다.

    • 이규원
      知識共有者

      뜨어어님 강의 들어주시고 좋은 평까지 남겨주셔서 정말 고맙습니다. 제가 말하고 싶었던 생각이 뜨어어님에게 잘 전달이 된 것처럼 느껴져서 참 다행입니다. 학습하신 내용들이 실제로 개발할 때 긍정적인 영향을 미치고 사용자에게도 도움이 되기를 바라겠습니다!

  • 꼬꼬록님의 프로필 이미지
    꼬꼬록

    受講レビュー 7

    平均評価 5.0

    5

    100% 受講後に作成

    TDD를 현학화되지 않고 실질적인 소프트웨어의 가치에 집중하며 생산성도 올려줄수 있는 방향으로 코드실습을 통해 체득할 수 있었습니다. 강의에서 다루는 예시가 현업에 있을법하면서도, 강의에서 필요한 지식을 커버하도록 세심하게 정제하여 구성하신게 느껴졌습니다. 저처럼 막 만들다 디버깅에 시간을 쏟다 실패해서 다시 처음부터 만들거나, 어설픈 테스트 작성으로 오히려 생산성을 떨어뜨리는 코딩습관을 가지신분들에게 이 강의는 충분히 적확한 해법이 될수 있을것이라고 생각합니다.

    • 이규원
      知識共有者

      꼬꼬록님 짧지 않은 강의인데 완강까지 정말 수고 많으셨습니다. 👍 좋은 평가 감사드리고요, 강의로 얻으신 내용으로 실무에서 충분한 효과를 만들어 내시기를 바랍니다!

  • 박준혁님의 프로필 이미지
    박준혁

    受講レビュー 1

    平均評価 5.0

    5

    30% 受講後に作成

    흔히 접하는 TDD의 방법론, 적용 방식에서 품던 의문이 해결되는 강의입니다. TDD가 우리에게 어떤 도움을 주는지, 그것이 문제 해결 관점에서 어떤 의미를 가지는지 강사님의 철학이 잘 전달되는 강의입니다.

    • 이규원
      知識共有者

      준혁님 후기 감사드립니다. 기법 뿐만 아니라 제가 가진 생각이 전달되는 것 같아서 다행입니다. 어려운 내용이 있으면 주저하지 마시고 인프런이나 디스코드에 질문 남겨주세요!

  • 망고님의 프로필 이미지
    망고

    受講レビュー 1

    平均評価 5.0

    5

    27% 受講後に作成

    TDD라는 개발 방법론을 배워 나간다는 것을 넘어서서, 소프트웨어 설계 및 구현을 진행할 때 어떤 관점에서 바라보고, 어떤 영역을 중요하게 여기는지 등 중요한 이야기 또한 담겨 있습니다. 또한, 실습 난이도 자체는 꽤나 쉽게 여겨질 수 있겠지만, 단순해 보이는 시나리오에 실제 개발하는 과정에서 나올 수 있는 복잡한 문제 혹은 현상들을 쉽고 단순해 보이는 형태로 환산하여 강의에 담았다고 느껴졌습니다. TDD입문 뿐만 아니라 소프트웨어 엔지니어로 입문하거나 기존 관성을 넘어선 새로운 관점에서의 성장을 원하시는 분들이 꼭 들었으면 합니다.

    • 이규원
      知識共有者

      좋은 평가와 추전 감사드립니다. 강의 후반부의 내용도 도움이 되시면 좋겠습니다!

¥18,430

似ている講座

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