더 자바, 코드를 조작하는 다양한 방법
더 자바, 코드를 조작하는 다양한 방법
수강정보
(74개의 수강평)
1396명의 수강생
스킬태그 #Java, #Spring, #Spring Data JPA
25% 할인, 4시간 남음
37,120원
49,500원
지식공유자 : 백기선
24회 수업 · 총 4시간 36분 수업
기간 : 평생 무제한 시청
수료증 : 발급 강의
수강 난이도 : 초급

이 강의는

여러분이 사용하고 있는 많은 자바 라이브러리와 프레임워크가 "어떻게" 이런 기능을 제공할 지 궁금한적 있으신가요? 이번 강좌를 통해 자바가 제공하는 다양한 코드 또는 객체를 조작하는 방법에 대해 학습하고 여러분의 자바 기술을 한 단계 업그레이드 하세요.

이런 걸 배워요

  • JVM 구조를 이해할 수 있습니다.
  • 바이트코드 조작은 무엇인지 어떻게 사용할 수 있는지 학습합니다.
  • 리플렉션이 무엇인지 어떻게 사용할 수 있는지 학습합니다.
  • 프록시가 무엇이며 어떻게 사용할 수 있는지 학습합니다.
  • 애노테이션 프로세서가 무엇인지 어떻게 사용할 수 있는지 학습합니다.


이번 강좌는 자바 개발자라면 한 번쯤은 사용해보거나 들어봤을 스프링, 스프링 데이터 JPA, 하이버네이트, 롬복 등의 기반이 되는 자바 기술에 대해 학습합니다.


스프링은 어떻게 @Autowired라는 애노테이션을 사용한 필드 또는 매개변수 타입의 객체를 가져와 주입해 주는 것일까? 롬복은 어떻게 @Data라는 애노테이션을 붙였더니 게터, 세터, hashCode, equals 등의 메소드를 만들어 준 걸까? 궁금하신 적이 있으신가요?

이 강좌는 자바가 제공하는 기술 중에 소스 코드, 바이트 코드 그리고 객체를 조작하는 기술에 대해 학습합니다. 그러려면 우선 JVM의 기본적인 구조와 클래스로더의 동작 방식에 대해 이해하는 것이 좋습니다. 따라서 이번 강좌는 "JVM", "바이트코드 조작", "리플렉션", "다이나믹 프록시 기법" 그리고 "애노테이션 프로세서"에 대해서 학습합니다. 따라서, 자바 기초 학습 이후에 어떤 것을 학습하면 좋을지 고민이었던 분들께 추천합니다.

이번 강좌를 학습하고 나면 여러분은 한층 더 자바에 대해 깊이 있는 지식을 습득할 수 있으며 자바를 둘러싼 여러 기술을 학습할 때에도 더 쉽게 이해할 수 있을 것으로 기대합니다. 또한 이 강좌에서 학습한 기술에서 파생해서 GC, 서비스 프로바이더, 프로파일러 등 보다 다양한 자바 기술에도 관심을 두는 계기가 되길 바랍니다.

감사합니다.

THE JAVA,
코드를 조작하는 다양한 방법

도움 되는 분들

  • 코드 또는 객체를 조작하는 라이브러리 또는 프레임워크를 학습하거나 개발하고 싶은 학생 또는 개발자
  • 자바를 조금 더 깊이 있게 이해하고 사용하고 싶은 학생 또는 개발자
  • 롬복, QueryDSL, 코드 커러비지 툴, 스프링이 제공하는 여러 기능(DI, AOP)이 어떻게 구현이 된건지 학습하고 싶은 학생 또는 개발자

선수 지식

  • 자바의 기본적인 문법에 대한 이해 (클래스, 필드, 메소드, Generic, 컴파일, 접근 지시자 등)

지식공유자 소개

네이버와 아마존을 거쳐 현재 Microsoft에서 시니어 소프트웨어 엔지니어로 일하고 있습니다.

유튜브: '백기선' 채널에서 개발자 고민 상담 및 개발자에게 유용한 지식 공유
블로그: whiteship.me 운영중
번역: 스프링 및 하이버네이트 관련 서적 다수 번역
저술: 쉽게 따라하는 자바 웹 개발

주로 자바와 스프링을 사용해서 웹 애플리케이션을 개발하는 것을 좋아하지만 딱히 기술을 가리지는 않습니다.

교육과정

모두 펼치기 24 강의 4시간 36분
섹션 0. JVM 이해하기
4 강의 45 : 15
강좌 문서
자바, JVM, JDK 그리고 JRE
15 : 34
JVM 구조
16 : 42
클래스 로더
12 : 59
섹션 1. 바이트코드 조작
4 강의 46 : 57
코드 커버리지는 어떻게 측정할까?
08 : 54
모자에서 토끼를 꺼내는 마술
13 : 09
javaagent 실습
13 : 39
바이트코드 조작 정리
11 : 15
섹션 2. 리플렉션
6 강의 64 : 03
스프링 Dependency Injection은 어떻게 동작할까?
03 : 01
리플렉션 API 1부: 클래스 정보 조회
16 : 37
애노테이션과 리플렉션
12 : 32
리플렉션 API 2부: 클래스 정보 수정 또는 실행
12 : 06
나만의 DI 프레임워크 만들기
15 : 08
리플렉션 정리
04 : 39
섹션 3. 다이나믹 프록시
5 강의 53 : 21
스프링 데이터 JPA는 어떻게 동작할까?
07 : 03
프록시 패턴
15 : 25
다이나믹 프록시 실습
09 : 32
클래스의 프록시가 필요하다면?
12 : 22
다이나믹 프록시 정리
08 : 59
섹션 4. 애노테이션 프로세서
5 강의 67 : 06
롬복(ProjectLombok)은 어떻게 동작할까?
13 : 13
애노테이션 프로세서 실습 1부
25 : 16
애노테이션 프로세서 실습 2부
14 : 34
애노테이션 프로세서 정리
07 : 51
마무리
06 : 12

공개 일자

2019년 8월 21일 (마지막 업데이트 일자 : 2019년 8월 21일)

수강 후기

4.9
74개의 수강평
default_profile.png
Sangmin Kim 2019.08.28
Spring 의 DI, AOP 나 Lombok 기술들을 사용하면서 항상 신기해 하면서도 어떻게 동작 하는지 정확히 이해를 못했는데 이번 강의를 통해서 많이 이해가 되었습니다. 강의 시간도 길지 않아서 집중하기 좋았던거 같습니다.
default_profile.png
D3F4ULT 8달 전
나같은 찌끄레기가 들을 수 있는 강의가 아니었다. 뭔가 유익할 것 같은 얘기를 막 하는데 못알아 먹겠다. 내년 이맘때쯤에 다시 보러 오겠습니다.
default_profile.png
김윤철 7달 전
안드로이드 공부 부터 시작해서, 스프링 보면서 느낀게,, 이런 애노테이션들은 어떻게 동작할까? 였는데, 내부 동작을 할게 되니, 속이 시원하고, 프레임워크 이해에 굉장히 큰 도움이 될것 같습니다. 감사합니다
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스