
코딩으로 학습하는 GoF의 디자인 패턴
백기선
디자인 패턴을 알고 있다면 스프링 뿐 아니라 여러 다양한 기술 및 프로그래밍 언어도 보다 쉽게 학습할 수 있습니다. 또한, 보다 유연하고 재사용성이 뛰어난 객체 지향 소프트웨어를 개발할 수 있습니다.
초급
디자인 패턴, Java
레거시 Java 코드, “안 깨지게” 고치는 가장 현실적인 방법 리팩토링이 무서운 이유는 원리를 몰라서가 아니라, 어디까지 IDE를 믿어도 되는지 모르기 때문 입니다. 이 강의에서는 👉 *IntelliJ IDEA가 보장해주는 리팩토링*만 사용해 👉 **실무 코드를 빠르고, 안전하게 개선하는 감각**을 만듭니다.

먼저 경험한 수강생들의 후기
5.0
프로이직러 앵과장
안녕하세요 벼 선생님 우선 이렇게 무지했던 여러개발방법에대해서 알려주셔서 감사합니다. 인텔리J를 이용해서 이렇게 여러가지 리펙토링 기법을 사용하는것에 대해서까지는 잘몰랐던것 같습니다. 역시 Springboot 던 intellij Tool이던 메뉴얼을 잘 읽어보는것이 필요하네요 그리고 리펙토링을 하는 방법이나 기법을 통해서 단축키쓰는것도 좋았지만 무엇보다 막연히 TDD가 무엇인지 이론상으로 이해만머리로햇지 코드레벨을 보는것도 좋은것 같네요 리펙토링 방법이나 단축키도 배웠는데 실제로 테스트코드를 구현하는 방법도 있으면 더좋을것같습니다. 정말 개발에 필요한 현실적인 짬에서 나오는 느낌이 느껴집니다. 입개발보다 찐개발자 입니다 앞으로도 벼선생님 좋은 하루되시고 다음번 컨텐츠도 기대할께여 :)
5.0
KimAresen
Intellij 를 쓰면서 IDE에서 지원하는 리팩토링을 듣기만 하고 어떻게 써야하지 라는 생각만 가지고 있었는데, 실제로 예제를 리팩토링 하면서 바뀌는 소스코드와 해당 기능이 어떠한 상황에서 쓰는지 적혀있어 좋았습니다. intellij IDE로 천천히 리팩토링을 진행할 수 있겠다는 자신감이 좀 생기네요. 좋은 강의 감사합니다.
5.0
민구
유익한 강의였습니다
실습을 통해 refactor기능을 조합해서 안전하게 코드를 고치는 법을 배워요.
IntelliJ IDEA에 있는 리팩토링을 빠르게 접근하는 법을 배워요.
예제를 통해 각각 refactor 기법이 어떻게 동작하는 배워요.
리팩토링 기법은 책으로 배웠는데
막상 실무 코드 앞에 서면 이런 생각이 들지 않나요?
“이거 Extract Method 해도 진짜 괜찮을까?”
“이 정도는 IDE가 알아서 해주겠지…?”
“혹시 사이드 이펙트 생기면 내가 책임져야 하는 거 아냐?”
👉 대부분의 리팩토링 실패는
‘도구를 믿지 못해서’가 아니라
‘도구가 보장해주는 범위를 모르기 때문’입니다.
IntelliJ IDEA가 안전하게 보장해주는 리팩토링만 사용해서
실무 코드를 빠르게 개선하는 감각을 만드는 것
이 강의에서는
대신,
✔ IntelliJ IDEA가 컴파일 타임까지 책임져주는 리팩토링
✔ 실제 코드가 어떻게 변하고, 왜 안전한지
✔ 여러 리팩토링 기법을 어떤 순서로 조합해야 하는지
를 실습 중심으로 다룹니다.
모든 과정은
👉 IntelliJ 리팩토링 기능 + 단축키를 기준으로 진행되며
👉 “어디까지 자동화해도 되는지”를 명확히 짚어드립니다.
지금 작성 중인 Java코드를 빠르고 안전하고 쉽게 고치려면 아래의 리팩토링 기법은 꼭!!!! 알고 있어야 합니다.
이 강의에서는 위에서 언급된 각 리팩토링 기법을 모두 배우게 되며,
실습을 통해 각 리팩토링 기법들을 활용해서 코드를 안전하고 빠르게 수정하는 방법을 알려 드립니다.
리팩토링을 통해 코드가 진화 하는 경험을 해보세요. !!!!!
아래와 같이 끝임 없는 if문을 수정해 본 경험이 있으신가요?
IntelliJ IDEA에서 지원되는 refactor를 이용하면, 몇번의 수정을 통해서... 아래와 같이 진화 할 수 있습니다.
Q. 왜 IntelliJ IDEA refactor 기능을 배워야 하나요?
A. 코드를 수정할때, 단순히 "찾아 바꾸기"해서 바꿀수 없는 경우가 더 많습니다. 그래서 각 Java 에디터 별로 이름은 다르지만 리팩토링 하는 기능을 제공하고 있습니다. refactor 기법을 습득하게 되면, 코드를 수정하는데 많은 어려움이 없어 질수 있기 때문에 꼭 배워야 된다고 생각합니다.
Q. 비 전공자도 들을 수 있나요?
A. 네, 선수 지식을 어느정도 갖추셨다면 가능합니다. 개발에 대한 열정이 있다면 전공 유무는 중요하지 않은 것 같아요. :) 하지만, 아주 기초적인 개발경험을 가지고 있어야 이해하는데 도움이 될 수 있습니다. 어렵다고 생각되면 혼자 고민하지 마시고, 언제든 문의 주세요 :)
Q. 특정 플랫폼에 종속적인 강의 인가요?
A. 네, 많은 메이져 회사에서 주로 사용하는 Java 에디터 프로그램인 IntelliJ IDEA에서 지원하는 기능을 소개 하고 있고, MacOS환경에서 강의를 구성하였기 때문에 특정 플랫폼에 종속적일수 있습니다. 하지만, Windows사용자들을 위해서 단축키 같은 경우 녹화된 화면에 표시해서 사용할 수 있도록 구성하였기 때문에 따라 하는데는 전혀 문제가 없을 것 같습니다.
학습 대상은
누구일까요?
Java 문법은 아는데, 리팩토링은 항상 손이 떨리는 분
레거시 코드 수정하다가 사이드 이펙트 낸 경험 있는 분
'Extract Method'는 아는데, 언제 써야 하는지 헷갈리는 분
선수 지식,
필요할까요?
Java 기초 문법
Intellj IDEA에 대한 기본 활용 방법
개발에 대한 열정
112
명
수강생
5
개
수강평
4.8
점
강의 평점
1
개
강의
안녕하세요.
스스로 배우고, 경험한 것을 나누는 것을 즐기며,
프로그래밍을 하는 것을 좋아 하는 개발자 김승겸 입니다.
현) 우아한형제들 - 백엔드 개발자
전) 잡코리아 - 플랫폼 아키텍쳐
전) 11번가 - 백엔드 개발자
전) 위메프 - 백엔드 개발자
전체
28개 ∙ (2시간 30분)
해당 강의에서 제공:
5. Rename
04:28
7. inline
04:48
9. Extract Method
03:38
10. Change Signature
08:34
전체
5개
4.8
5개의 수강평
수강평 1
∙
평균 평점 5.0
5
안녕하세요 벼 선생님 우선 이렇게 무지했던 여러개발방법에대해서 알려주셔서 감사합니다. 인텔리J를 이용해서 이렇게 여러가지 리펙토링 기법을 사용하는것에 대해서까지는 잘몰랐던것 같습니다. 역시 Springboot 던 intellij Tool이던 메뉴얼을 잘 읽어보는것이 필요하네요 그리고 리펙토링을 하는 방법이나 기법을 통해서 단축키쓰는것도 좋았지만 무엇보다 막연히 TDD가 무엇인지 이론상으로 이해만머리로햇지 코드레벨을 보는것도 좋은것 같네요 리펙토링 방법이나 단축키도 배웠는데 실제로 테스트코드를 구현하는 방법도 있으면 더좋을것같습니다. 정말 개발에 필요한 현실적인 짬에서 나오는 느낌이 느껴집니다. 입개발보다 찐개발자 입니다 앞으로도 벼선생님 좋은 하루되시고 다음번 컨텐츠도 기대할께여 :)
@앵과장님, 첫 피드백 감사합니다. 오프라인에서는 주의 개발자 분들에게 편안하게 공유드렸던 내용이였는 데, 처음 온라인 강좌를 만들다 보니, 생각보다 ^^; 동영상을 촬영하면서 (우당탕...) 우왕좌왕 @.@한 부분이 있었던 것 같은데요. 그럼에도 불구하고, 긍정적인 피드백 주셔서 대단히 감사합니다. 현재, 다양한 로드맵을 구상 하면서 초심자 분들에게 어떻게 하면 좋은 가이드라인이 될지 많은 고민을 하고 있습니다. 의견주신 내용도 적극적으로 검토해서 다음 강좌에서는 좀더 좋은 모습으로 강의가 진행될수 있도록 더욱 더 노력하겠습니다. 감사합니다. (꾸벅!!)
수강평 27
∙
평균 평점 5.0
5
Intellij 를 쓰면서 IDE에서 지원하는 리팩토링을 듣기만 하고 어떻게 써야하지 라는 생각만 가지고 있었는데, 실제로 예제를 리팩토링 하면서 바뀌는 소스코드와 해당 기능이 어떠한 상황에서 쓰는지 적혀있어 좋았습니다. intellij IDE로 천천히 리팩토링을 진행할 수 있겠다는 자신감이 좀 생기네요. 좋은 강의 감사합니다.
@KimAresen님, 친절한 수강평 감사드립니다. 오랫동안 프로그래밍을 해오면서, 리팩토링이라는 행위 만큼, 뭔가 답을 찾기 어려운 주제는 없었던것 같아요 ^^ 그래서 인지, 도움이 되셨다고 하니, 저도 힘이 되네요 ^^ 다음 강의도 열심히 준비해서 보답하겠습니다. 다시 한번 감사드립니다.
수강평 8
∙
평균 평점 4.3
수강평 10
∙
평균 평점 5.0
₩33,000
같은 분야의 다른 강의를 만나보세요!