인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
BEST

토비의 스프링 6 - 이해와 원리

스프링 프레임워크가 만들어지는 과정을 살펴보면서 스프링을 잘 이해하고 사용하는데 도움이 되는 원리를 찾아봅니다. 이를 통해 개발자가 작성하는 애플리케이션의 코드는 어떻게 만들어져야 하는지도 살펴봅니다.

초급자를 위해 준비한
[백엔드, Spring] 강의입니다.

이런 걸 배울 수 있어요

  • 스프링 기술의 핵심 원리

  • 객체지향 설계 원칙과 디자인 패턴

  • 테스트를 이용한 코드의 검증 방법

  • 리팩터링을 통한 코드의 지속적인 개선

  • 의존관계 주입, 템플릿, 예외, 서비스 추상화

스프링 구루(Guru)의 귀환!
14년만에 돌아온 토비의 스프링6

오래 전 출간되어 많은 개발자들에게 사랑을 받았던 <토비의 스프링 3>이 14년 만에 돌아왔습니다!

<토비의 스프링 3.1> 책에서 다룬 핵심 내용은 그대로 담아, 스프링 6와 자바 최신 버전에 맞게 재구성한 강의입니다. 특히 최근에 많이 사용되는 접근 방식과 기술을 담은 예제 코드를 중심으로 최신 스프링 프레임워크를 깊이있게 경험할 수 있습니다.


혹시 이런 고민을 하고 있지 않나요? 🤔

스프링이 매우 방대하고 다양한 기술을 제공하고 있다보니, 매번 필요한 기능을 찾아 사용방법을 익히는데 시간을 많이 투자하게 돼요.

스프링이 유연한 프레임워크인 만큼 다양한 선택지를 제공하는 건 좋지만, 최적의 방법을 찾기 위해 많은 것을 고려하는 것이 부담돼요.

스프링 프레임워크 기능이 잘 작동하는지 쉽게 검증하거나, 예상치 못한 문제에 좀 더 빠르고 정확하게 대응하는 능력을 키우고 싶어요.


사용 방법이 아닌
동작 원리를 배워야 하는 이유

스프링유연하고 확장성이 뛰어난 프레임워크입니다. 개발하는 애플리케이션의 특성에 따라서 필요한 기술과 스프링의 기능을 선택하는 것이 중요하고, 때로는 개발하는 애플리케이션에 맞게 스프링이 제공하는 기능을 확장해야 할 필요도 있습니다. 물론 스프링 부트의 도움을 받으면 손쉽게 개발을 시작할 수 있지만, 스프링을 보다 효과적으로 사용하기 위해서는 기본적으로 스프링이 제공하는 기술의 동작 방식과 개발 원리를 알고 있는 것이 매우 유리합니다.

더 중요한 것은 스프링이 자바 엔터프라이즈 및 서버 개발을 위한 베스트 프랙티스과 유연한 개발 원칙을 설명하는 서적에서 시작되었다는 점입니다. 즉, 스프링은 태생부터 객체지향 설계 원칙과 패턴, 우수한 개발 방식을 고려하여 개발된 프레임워크입니다. 이러한 이유로 스프링의 기본 원리를 스프링을 사용하는 애플리케이션 코드에 적용하는 것은 당연한 접근이며, 바로 이것이 스프링의 근본 원리부터 학습해야 하는 이유입니다.

좋은 스프링 개발자가 되기 위한
사고의 힘을 키우다

강의는 리팩토링으로 좋은 코드를 만드는 과정을 거치며 스프링의 원리를 이해할 수 있도록 구성하였습니다.

단순한 예제이지만 강의에서 다루는 코드의 변화에 주목해주세요. 현재 코드에 대해서 어떤 질문을 하고, 어떤 문제제기를 하고, 어떤 시도를 하는지. 그렇게 리팩터링 된 코드가 주는 효과가 무엇이고 스프링 스스로 어떻게 적용했는지 살펴볼 수 있습니다.

또한 스스로 코드를 다듬고 개선하는 과정에서 배우는 스프링의 원칙과 패턴은 수강생 여러분에게 좀 더 깊이있게 다가올 것이라고 생각합니다. 강의를 통해 스프링 개발자에게 무엇을 요구하고 어떤 코드를 기대하는지 인사이트를 얻는 시간이 되기를 바랍니다.

학습 내용 📚

강의는 스프링의 방대한 기술을 좀 더 효과적으로 학습하고 이해하는데 도움이 될 만한 주요 원리들을 설명하고, 그 동일한 원리를 우리가 개발하는 애플리케이션 안에도 적용하는 방법에 대해 함께 설명합니다.


오브젝트와 의존관계

스프링은 자바를 이용해서 객체지향 설계와 구현, 개발 원리, 디자인 패턴을 충실하게 적용해서 그 효과를 얻을 수 있는 코드를 만드는 것을 도와주는 프레임워크입니다.

가장 핵심이 되는 의존관계 주입(Dependency Injection)과 이를 지원하는 스프링 컨테이너의 동작원리를 객체지향적인 코드를 작성하는 과정을 통해서 살펴봅니다.

스프링이 제공하는 가장 기본적이면서 중요한 기능이 무엇인지, 그리고 이를 잘 활용하려면 애플리케이션 코드를 어떻게 작성해야 하는지 예제 코드를 개선하면서 알아봅니다.


테스트

테스트를 안 만들거면 왜 스프링을 쓰는 거죠? 스프링이 주는 많은 기능과 혜택이 있지만, 개발하는 코드에 대한 테스트를 쉽고 편하게 작성할 수 있고, 테스트 하기 어려운 대상을 손쉽게 테스트 할 수 있는 구성이 가능하게 만들어주는 것은 스프링이 제공하는 가장 큰 혜택입니다.

애플리케이션 코드에 대한 테스트 작성의 다양한 방법을 알아보고, API를 이용하는 코드에 대한 테스트, 컨트롤하기 어려운 시간 테스트 등은 어떻게 해야하는지 살펴봅니다.

기술을 익힐 때 유용한 학습 테스트도 다룹니다.


템플릿

오브젝트 의존관계의 유연성은 스프링이 제공하는 각종 템플릿을 활용하는 방법으로도 체험할 수 있습니다. 디자인 패턴과 스프링 컨테이너를 함께 활용해서 재사용성과 확장성이 뛰어난 템플릿과 콜백을 만들어보고, 스프링에 적용된 템플릿도 살펴봅니다.

고정된 워크플로우를 가지는 복잡하고 반복적인 코드를 템플릿을 이용해서 간결하게 만드는 방법을 배울 수 있습니다.


예외

예외를 처리하는 코드의 종류와 문제점, 지켜야 할 기본 원칙을 먼저 설명합니다. DB 데이터 액세스 기능을 이용하는 코드에서 발생하는 예제를 다루는 스프링의 예외 처리 방식을 알아보고, JPA 코드를 만들고 스프링의 DataAccessException이 어떻게 동작하는지 확인해봅니다.

체계적인 예외 구조를 만들고 적절한 예외 처리 방법을 설명합니다.


서비스 추상화

서비스의 종류와 특징을 먼저 살펴봅니다.

기술을 제공하는 인프라 서비스를 이용할 때 애플리케이션 서비스 코드가 특정 기술에 의존하지 않도록 만들어주는 스프링의 서비스 추상화를 트랜잭션의 예를 통해 살펴봅니다.

특정 기술에 매이지 않는 추상화된 코드이지만 비즈니스 로직과 함께 등장하는 기술 코드를 분리하는 프록시를 이용하는 효과적인 방법도 설명합니다.


스프링 학습 방법

스프링의 기본 원리를 이해하고 이를 적용하려면 스프링 프레임워크와 함께 애플리케이션을 구성하는 다양한 방법을 익히고 스프링이 제공하는 라이브러리 등을 효과적으로 활용할 수 있어야 합니다.

스프링 기술을 학습하는 기본 전략과 학습해야 할 기술의 종류를 설명합니다.


수강전 참고사항

실습환경

  • 운영 체제 및 버전(OS): 윈도우와 맥, 리눅스 등의 자바 기술을 사용할 수 있는 데스크톱 운영체제가 필요합니다.

  • 사용 도구: JDK 17 또는 JDK 21 버전을 설치하고 자바 프로젝트를 개발, 실행할 수 있는 개발 환경인 IDE가 필요합니다.

    • 강의에서는 IntelliJ IDEA Ultimate 버전을 사용합니다.

    • 예제 실습에는 IntelliJ IDEA Ulimate 버전 또는 Community 버전을 사용할 수 있습니다.

    • Eclipse, STS 등의 자바 IDE를 사용할 수 있으나 IntelliJ IDEA 사용을 적극 권장합니다.

학습자료

  • 깃허브에서 예제 코드를 받아볼 수 있습니다. 각 수업 단계마다 커밋되어 있어서 원하는 부분을 체크아웃해서 살펴볼 수 있습니다.

  • 강의에 사용하는 슬라이드를 230페이지 분량의 슬라이드를 PDF 파일로 다운받을 수 있습니다.

  • 각 수업에서 설명하는 내용에 대한 참고 자료를 담은 강의 노트를 PDF 형태로 제공합니다. 참고 자료 강의 노트는 수강생 분들의 질문 등을 참고해서 지속적으로 업데이트할 계획입니다.

선수지식 및 유의사항

  • 자바 언어로 작성되는 코드를 이해할 수 있을 만큼의 언어 지식이 필요합니다. 적어도 자바5의 애노테이션이나, 익명 클래스, 자바 8의 람다식의 사용법을 숙지해주세요. 이후 자바 버전에 추가된 문법이나 자바 클래스 라이브러리 사용법 등은 강의에서 간단히 설명드립니다. 자바 17 또는 21버전까지 추가된 문법을 익히시면 도움이 될 것입니다.

  • 전체 흐름이 궁금하시면 일단 예제를 따라 하지 않고 영상을 모두 시청해도 좋습니다. 이후에 다시 차근차근 예제를 따라 해보고, 스스로 코드를 개선하거나 응용해보는 것을 추천합니다.


  • 추가적인 설명이 필요한 부분이 있으면 관련된 영상은 추가할 계획입니다.

예상 질문 Q&A

Q. 토비의 스프링 3 또는 3.1 책을 가지고 있는데 책을 먼저 보고 강의를 봐야할까요? 혹은 반대로 학습하는 것이 좋을까요? 혹시 강의를 본다면 굳이 책은 보지 않아도 될까요?

아직 책을 구입하지 않거나 공부하지 않으셨다면 강의를 먼저 보는 것을 추천드립니다. 예제 코드가 최근 많이 사용되어지는 방식과 기술을 이용해서 작성되어 있어서 오래 전(2010-20211)에 출간된 책을 보는 것보다 이해하기 쉽습니다. 또, 함축적으로 꼭 알아야할 내용을 집중해서 설명하고 있기 때문에 강의를 먼저 보시는 것이 좋습니다.

강의 내용을 충분히 공부하신 뒤에 토비의 스프링 책을 보시는 것도 좋습니다. 책에는 보다 상세하게 많은 내용과 설명이 담겨 있습니다. 상세 기술 설명이 담긴 2권은 아니더라도, 1권은 강의 내용을 기억하면서 다시 읽으셔도 도움이 될 부분도 많이 있습니다. 하지만 다른 학습할 게 많으시다면 굳이 책을 보지 않으셔도 괜찮습니다. 그래도 참고를 위해서 책을 구입하시는 것은 나쁘지 않겠지요. 😄

지식공유자 소개

이력 사항

  • 한국과 미국을 거쳐, 현재는 호주에서 컨설턴트와 개발자로 일하고 있습니다.

  • 실무 개발 31년, 스프링 프레임워크 개발 21년의 경험을 가지고 있습니다.

  • 제조, 물류, 금융, 이동통신, 커머스, 교육, 서비스 도메인에서 다양한 시스템과 서비스를 개발해왔습니다.

  • 토비의 스프링 3.0과 3.1 책을 저술했습니다.

  • 한국 스프링 사용자모임(KSUG)을 설립했고, 개발자 커뮤니티에서 오랜 기간 활동해오고 있습니다.


이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 스프링을 더 잘 이해하고 활용하고 싶은 분

  • 스프링을 실무에서 사용하고 있는 분

  • 유연하고 확장성이 뛰어난 개발 방법을 익히고 싶은 분

선수 지식,
필요할까요?

  • 자바 언어

  • 웹 API와 DB 프로그래밍에 대한 이해

안녕하세요
토비입니다.

10,993

수강생

546

수강평

264

답변

5.0

강의 평점

3

강의

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

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

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

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

 

 

더보기

커리큘럼

전체

58개 ∙ (12시간 27분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

142개

5.0

142개의 수강평

  • 오늘도 열심히님의 프로필 이미지
    오늘도 열심히

    수강평 1

    평균 평점 5.0

    5

    34% 수강 후 작성

    아직 전체 다 듣지는 못하였으나, 지금까지 들은것만으로도 수능1타 강사보다 더욱 설명을 잘한다는 생각을 가지게되어 다급하게 먼저 수강평을 남깁니다. 항상 "스프링"을 공부할때 따라다녔던 글로만 설명되던 것들을 정확하게 누가 들어도 알기쉽게 풀어서 동작하는 원리를 이해시켜주는 것이 제 생각에는 스프링이 수능종목 이였다고 한다면 일타강사 하고 계셨을 것 같습니다. 그정도로 정확하게 제머리에 DI(이해하려 하지않아도 이해가 주입됨) 를 해주시는 것 같습니다. 이 강의를 보고나서 스프링 3.1 도 정독해보려고 합니다. 글로 되어있는 딱딱한게 싫어서 미루고만 있었으나, 이번 기회에 제대로된 공부를 해보고 싶다는 생각이 드네요 ㅎㅎ 항상 감사하게 생각하고있습니다. 수강평을 수정할 수 있다고 한다면, 다 읽고 후기 추가하도록 하겠습니다. 아무쪼록 건강하셔서 좋은강의 더 만들어주셨으면 좋겠습니다.

    • 토비
      지식공유자

      이해가 잘 된다고 해주시니 감사하네요. 남은 내용도 유익했으면 좋겠습니다. 책은 양은 많지만 최대한 친절하게 풀어서 설명하려고 노력했습니다. 제한된 시간의 강의로 만드느라 더 설명하고 싶어도 못했던 내용들이 있는데 책에는 좀 더 많은 설명을 담으려고 했으니 여유가 있으시면 1권 정도는 보시는 걸 추천드립니다.

    • 100% 수강 후기 강의 진행도 100% 채우고 나서도 역시 듣길 잘했다 라는 생각을 꾸준하게 하면서 강의를 들었던 것 같습니다. 강의를 들으면서 느끼는게 밥을 먹는걸로 비교한다면 요리를 다차려주고 먹어 라고해서 먹기만 하는게 아닌 재료는 이런게 필요하고 어떻게 조리해야하고 그것을 통해서 이렇게 조합해서 먹으면 맛있는 요리를 만들 수 있을 거야 라고 하는 느낌을 많이 받은 것 같습니다. 개발관련해서 처음 시작을 잘못하여 레거시 프로젝트에 유지보수만 하다가 인프런이라는 곳에서 강의를 통해 토비님도 알게 되고 스프링에 대해서 한걸음 더 다가갈 수 있었던 것 같으며 인터넷에 떠도는 글로만 보아서는 이렇게 이해할 수 없을만큼 확실하게 이해시켜주는점에 다시한번 감사 드립니다. 다른 강의도 많이 만들어주셨으면 좋겠습니다. 책 1권을 다 읽고나서 스프링 레퍼런스도 한번 읽어보고나서 다시 강의 복습겸 들어보려고해요. 만약 그때가 된다면 다시한번 답글로 저의 느낀점을 남겨보도록 노력하겠습니다. 추가로 인프콘에 당첨되서 이번에 직접 뵐수 있으면 정말 좋을것 같습니다. !! 좋은강의 감사합니다.

  • 최재형님의 프로필 이미지
    최재형

    수강평 1

    평균 평점 5.0

    5

    59% 수강 후 작성

    선발대입니다. 저는 토비의 스프링 책을 회사와 집에 각각 비치하고 있습니다. 책이 나온 지 벌써 14년이 되었지만, 여전히 스프링의 동작 원리와 스프링이 제공하는 추상화를 이해하는 데 큰 도움이 됩니다. 강의 출시하자마자 보기 시작했는데 홀린 듯 다음 강의 보기를 누르다보니 자야 할 시간이 됐습니다. 예제 코드를 통해 기능 요구사항을 만족하는 상황에서 문제점을 제시하고, 디자인 패턴과 설계 원칙 들을 적용해 나가면서 변경 가능한 코드로 탈바꿈하는 과정이 있는데요. 쉽게 이해할 수 있고 몰입감 있게 수강했습니다. 중간중간 던져 주시는 키워드들을 그냥 넘기지 않고 찾아보는 것을 추천드립니다. 스프링이 20년 넘게 발전해왔지만, 그 기반 기술은 여전히 견고하다는 점에서 객체지향 설계의 대단함을 느낍니다. 책에서도, 이번 강의에서도 토비님은 물고기를 잡는 법을 알려주시는 것 같습니다. 토비님 사랑합니다.

    • 토비
      지식공유자

      스프링이 바뀌지 않고 견고하게 지키고 있는 그 기반 구조와 거기에 반영된 원칙들이 시간이 꽤 오래 흘러도 변함없이 유지되고 있다는 게 저에게도 큰 감동입니다. 첫 번째 수강평 감사합니다.

    • Zin
      지식공유자

      선발대 현황이 어떻게 되나요 ㅎㅎ 수강 완료 후의 후기도 궁금하네요!

    • 아! 수강평 작성 후 바로 완강 했었는데 완료 후기도 남겨봅니다. 수강 내내 많은 준비를 하셔서 매끄러운 강의를 만드셨다고 느꼈습니다. 억지스러운 문제가 아닌 문제를 제시하시고 차곡차곡 바텀 업되어 해결해나가는 과정에서 어떻게 풀어내실까? 이렇게 하지 않으실까? 이런 생각을 하면서 토비님의 생각과 제가 풀고자하는 방향이 겹치는지(?) 확인하는 재미가 있었습니다. 평소 제가 모르는 코드, 혹은 설계가 선망의 대상이 되는 부분을 경계해야된다고 생각하곤 하는데요. 토비님의 지식 전수에 힘 입어 정보의 바다에서 변별력 있게 받아 드릴 수 있는 근거들이 쌓이고 있는 것 같습니다. 재밌고 유익하게 봤습니다. 감사합니다. 사랑합니다. P.S 이번 인프콘 때 봽고 싶었는데 ㅜㅜ 인프콘 떨어졌습니다 천추의 한 입니다.

  • Sang Do Park님의 프로필 이미지
    Sang Do Park

    수강평 17

    평균 평점 4.8

    5

    100% 수강 후 작성

    담백하다. 강의 시간을 늘리려는 수식어구와 빈말로 가득한 온라인강의용 말투가 일절 없다. 몇 번의 리허설을 통해 압축하고 채우고 정리한 담백하고 진하다. 빠르게 보기 위해 점프하며 넘어가는 다른 강의와는 농도에서 확연히 차이난다. 아마 대부분 수강생이 강의를 보다 보면 강의 흐름에 빈 틈이 없다는 것을 가장 크게 느껴질 것으로 생각된다. 끝까지 스프링 설명이 시작되지 않았다. 그런데 다 듣고 나니 개발생태계의 초식을 통해 스프링이 어떻게 돌아가는지 핵심을 알게 되었다. 대상자는 입문부터 중급이상 모두 포함이다. 초급이라며 !! 의 아우성과 이런 내용까지?? 라는 감탄이 섞여 있다. 아주 간단한 예제로부터 시작하여, 클래스와 객체를 설명하고, 관계를 통해 더 편하고 세련된 방법을 찾아가는 여정을 그대로 보여준다. 어느 순간 변화에 대응하기 위해 시작된 고민이 디자인 패턴에 이르게 된다. 디자인 패턴 책을 펴놓고 많은 패턴들을 눈 앞에 두고 암기식으로 배우던 지난 시간에 눈물이 난다. 오히려 변화에 어떤 패턴을 써야 하는지를 고민하게 될 수 있게 된다. 그렇게 디자인 패턴의 입구에 도착할 즈음.. 스프링은 DI 를 쉽게 지원하는 프레임워크라는 말을 증명하듯 의존성 역전 원칙에 대해 정리한다. 마치 ... 학생들이 크카나마알아페니... (K Ca Na Mg Al Zn Fe Ni Sn Pb H Cu Hg Ag Pt Au)를 외우거나, 태정태세문단세예성연중인명선광인효현숙경영정순헌철고순은 (조선왕 시호) 를 외우듯이, 개발 책을 두고 SOLID 를 외우고는 한다. 마찬가지로 시험을 위해 외우듯 하다보니 이해 못한 내용을 직접 필요한 기능을 만들어내는 코드 변화 과정으로 설명하는데 이해하지 못할 이유가 없었다. 감탄사 크게 한 번 하고 가자. 개발자라면 본인의 코드를 빠르게 그리고 신뢰성을 높이기 위해 테스트를 진행해야 하는데, 테스트가 필요한 이유와 방법을 2시간에 걸쳐 보여주는데, TDD 라는 타이틀을 걸고 메뉴얼에나 있을 법한 내용으로 침소붕대하는 강의들을 보며 질려 있을 시기에, 본 강의에서는 딱 필요한만큼 보여 준다. 테스트 코드의 의미가 어떻고 어떤 것이 진정한 테스트 코드라는 식의 구구절절보다 테스트는 어떻게 실행하고 어떻게 무엇을 검증해야 하는가가 더 중요하다는 선에서 테스트 부분을 마무리한다. 코드의 재사용 필요성은 누차 이야기해도 과함이 없지만, 어떤 코드를 재사용해야 하는지 그리고 변화가 필요한 부분은 어떻게 구분하는지를 보여주고, 이를 템플릿으로 만들어내는 과정을 보여 준다. 이때 자연스럽게 콜백이라는 개념을 눈으로 확인 할 수 있고, 이 모든 과정이 스프링에서 어떻게 완성되어 있는지를 보여준다. 초보자를 위한 강의가 아닌데, 예외를 설명한다고 싶어 궁금했는데, 당부에 당부까지 얹어 예외 처리에 대한 유의사항을 설명하면서 마지막에 추상화에 대한 개념과 실체, 그리고 스프링에서 다양한 추상화된 기능들을 보여 준다. 그리고 그것들이 사실 이렇게 지금까지 배운 개념들을 망라한 기술들의 총 합이라는 마무리를 한다. 초식을 통해 접근하며, 기능이 추가 되더라도 결국 객체와 관계, 패턴과 템플릿, 그리고 테스트를 기반으로 한 신뢰성 확보와 추상화를 통한 종속성 탈피까지.. 개발자가 알아야 될 거의 모든 것을 스프링강의 타이틀 안에 넣어버리겠다는 의지가 보이는 강의였다. 이건 도시락 싸들고 다니며 추천하고 소중한 이에게 선물해야 하는 명강의다. 인프런 일 좀 하자 ~~ 상대방 인프런 계정 이메일 주소를 알면 선물을 할 수 있는 기능이 있어야 된다 !!!! 고 비용을 내고 소수만 듣는 강의를 거부하고 인프런에서 모든 개발자를 위해 2년 넘는 시간동안 무림 비법서를 만들어 내신 토비님께 감사를 드리며 후기를 마치니 .. .여러분 !! 여기에요 달려요 !!! # 1등할 수 있었는데... 100% 수강 안하고 수강평 남긴 사람들 다 반칙 .. 나빠 !! # 도메인 부분 강의 클립 하나만 봐도 이 강의 전체 비용을 커버할만큼 완벽한 빌드업이 뒷받침된다. 다른 강의 클립은 둘째치고 안 보면 후회한다. 화룡점정

    • 토비
      지식공유자

      첫 100% 수강후 작성 글이라서 감동입니다. 좋게 평가해주셔서 감사합니다. 그런데 수강평은 뭔가 남기고 싶을 때 자유롭게 작성하시면 됩니다. :) 인프런에 강의 선물하기 기능은 저도 있으면 좋겠다고 생각했는데 없다니 아쉽네요!!

  • Hyunwoo Kim님의 프로필 이미지
    Hyunwoo Kim

    수강평 3

    평균 평점 5.0

    5

    31% 수강 후 작성

    일단 동영상 강의가 ADHD를 가진 제가 하루 만에 30%를 볼 정도로 흡입력이 있었습니다. SOLID 원칙과 객체 지향 등 주니어 개발자에게 다소 추상적으로 다가오는 개념들도 알기 쉽게 풀어주시고 예제와 함께 설명해주셔서 어미새가 연상되었습니다. 이번 강의에서 확실히 알고 계신 마에스트로분들은 오히려 문장이 간결하고 담백하다는 점을 느꼈습니다. 마치 잘 차려진 한정식을 먹는 기분이 들었습니다. 오브젝트의 조영호님의 오프라인 강의를 들을 때도 느낀 감동인데, 토비님의 강의도 대본을 준비하신 것 같다는 착각이 들 정도로 흐름이 자연스럽고 논리력을 가진 문장들이 편안했습니다. 물론 개발 공부에 왕도는 없다고 생각합니다. 그렇지만 이 정도의 나침반과 함께라면 길을 잃지 않을 것 같네요. 또한, 복잡한 개념들을 쉽게 설명해주는 방식이 공부에 큰 도움이 되었습니다. 이 강의를 통해 어려운 개념들도 자신감을 가지고 접근할 수 있게 되었습니다. 그리고 여담으로 책으로만 접해서 예상치 못한 부분인데, 토비님의 음성이 집중력을 높이고 몰입하게 하는 힘이 있었습니다. 차분하면서도 힘 있는 목소리가 아주 좋았습니다.

    • 토비
      지식공유자

      어떤 점이 좋으셨는지 궁금하네요. 좋게 평가해주셔서 감사합니다. 스프링을 잘 활용하는 멋진 개발자로 일하시는 모습을 기대합니다.

    • 토비
      지식공유자

      자세한 수강평도 적어주셔서 감사합니다.

  • 고대준님의 프로필 이미지
    고대준

    수강평 54

    평균 평점 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 구성 시 편리하게 사용할 수 있는 더블 브라켓 기법 사실 위에 나열한 배운 점들은 부가적인 부분이고, 강좌를 보면서 제 머릿속에는 계속해서 '어떻게 유지보수가 편한 구조를 만들 것인가'에 대한 고민이었습니다. 이러한 부분들이 강좌를 다 본다고 해서 완전히 해결되지는 않았지만, 일정 부분 방향성을 제시해 주셔서 앞으로 더 열심히 고민해 보겠습니다. 감사합니다. 마지막으로, 강좌마다 컨디션이 다른 것이 느껴졌습니다. 건강하세요. 다시 한번, 보다 나은 개발자가 될 수 있게 도와주셔서 감사합니다.

    • 토비
      지식공유자

      첫 책부터 보셨군요. 도움이 되었다니 기쁘네요. 좋은 평가 감사합니다.

비슷한 강의

같은 분야의 다른 강의를 만나보세요!

월 ₩24,200

5개월 할부 시

₩121,000