강의 오픈 1차 40% 할인 🔥

정가 $99 ➡ $59 총 40% 할인, 7월 10일 자정까지!

  • 00Days
  • 00Hours
  • 00Minutes
  • 00Seconds

무엇을 배우나요?

  • 나쁜코드 vs 좋은코드

    내가 작성한 코드는 과연 좋은 코드 인걸까? 이렇게 작성하는게 맞는걸까? 어떻게 더 깨끗하게 개선할 수 있을까? 이런 고민을 해오셨나요? 이번 강의가 끝나면 나쁜 냄새가 나는 더러운 코드는 무엇인지 💩 또 어떻게 개선해 나가면 좋은지 ✨ 명쾌하게 알 수 있어요. 가독성과 확장성이 높고 유지보수 하기 좋은 코드를 위해 깨끗한 코드를 작성하는 좋은 습관을 장착해 가세요 🤩

  • 포인트 정리

    깨끗하고 설계가 좋은 코딩을 위한 변수, 함수와 같은 로우레벨 부터 클래스, 모듈 하이레벨까지! 좋은 코딩을 위한 포인트들을 정리해서 차근차근 알려드려요. 함께 책을 읽으며 밑줄 긋기를 통해 정리한 내용과 강의에서 알려드리는 포인트들을 함께 내것으로 만들면 코딩 실력 향상을 위한 든든한 무기를 장착하게 됩니다 ⚔️

  • 실전 연습

    책에 나와있는 예제를 눈으로 따라가기 힘들죠? 이코드는 왜 더러운 코드인지, 어떤 점이 문제인지 차근차근 따져보고, 어떻게 리팩토링 해나가는지 리팩토링 과정을 하나 하나 보여 드립니다. 현업에서 실제로 리팩토링 하는 과정도 확인하고, 책보다 더 나은 방법에 대해서도 알아가 보세요 🚀 저를 테크리더로 만들어준, 코딩 실력 향상에 크게 기여했던 리팩토링 테크닉! 저의 노하우를 녹여서 만들었다고 자부합니다.

강의가 끝나면 여러분들은?

어떤 것을 배우게 되나요? (소개영상)

리팩토링? 매일합니다

개발자라면 리팩토링은 필수 테크닉 🔥

리팩토링은 코드를 더 나은 방향으로 개선하기 위해 개발과정에서 수시로 진행해요. 가독성과 재사용성을 높이기 위해 긴함수를 짧은 함수 단위로 쪼개고, 이해도를 높이기 위해 더 나은 이름을 지어주고 그리고 더 나은 소프트웨어 퀄리티를 위해 캡슐화, 모듈화, 그리고 위임을 사용해요. 이번 강의를 완성하시면, 악취가 진동하는 나쁜 냄새 코드를 💩 바로 알아 볼 수 있고, 어떤 리팩토링 기법을 적용해 깨끗하게 ✨ 개선할 수 있는지 알 수 있는 힘을 가질 수 있어요 💪

깨끗한 코드의 원칙들

중요 포인트들을 재밌게 배워요 ✨

소트프웨어 엔지니어로서 좋은 코드, 깨끗한 코드를 작성하기 위한 중요한 포인트들을 함께 정리합니다.코딩 실력 향상을 위해 필수적으로 가지고 있어야 하는 좋은 코딩 습관을 길러볼 수 있어요. 책에 나와있는 개념을 넘어서 로우레벨, 하이레벨까지 정말 중요한 포인트들을 정리했어요 🚀 강의에서 다룬 내용들만 잘 정리 해두면, 앞으로 달라진 내 코딩 실력을 느끼실 거예요 ✨

코드 개선 과정을 눈으로!

다양한 예제와 챌린지를 통해 온전한 내것으로 🚀

이 코드의 문제점은 무엇인지, 어디서 악취💩가 나는지, 왜 나쁜 코드 인지 함께 코드를 통해 살펴보고, 단계별로 차근차근 함께 리팩토링 하면서 코드를 개선해 봅니다 🧼🫧 책에 있는 유행이 조금 지난 패턴들을 더 모던하게 만들어 보고, 더 이해 하기 쉬운 예제로 추가 설명도 들으며 더 명확하게 정리해 보아요. 엘리가 더 개선한 버전도 덤으로 알아가세요! 그리고 중간 중간 ❰챌린지❱를 통해 배운 테크닉을 써보며, 능동적으로 문제 해결 능력을 키워보세요!

책 밑줄 긋기

중요한 내용을 한톨도 남김 없이 냠냠 ✍️

책을 아우르는 전체적인 중요 포인트와 추가적인 내용을 시각적으로 배우고, 큰 그림을 그리며 강의를 들은뒤, 마지막에 책의 ❛중요 키워드❜에 밑줄을 그으며 책에 나와있는 🍯 꿀같은 문장들을 냠냠 먹어볼거예요. 중요 문장 밑줄 긋고, 강조 키워드 동그라미 ⭕️ 하고, 항상 기억해야 할 중요 문구 ✮ 별표도 하고, 추가 내용 여백에 적어도 보면서 재밌게 공부해 보아요. 그리고 이렇게 책 읽는 방법을 통해 다른 지식들도 재밌게 공부 할 수 있는 공부하는 방법에 대해 알아가 보세요.

깨끗한 코드를 원하는 당신

어떤 레벨에 있던지 들어보세요 🤩

이 강의는 어떤 프레임워크/프로그래밍 언어를 사용하고 있던지 상관없이! 어떤 레벨에 있냐에 상관없이! 개발자라면 꼭 들어보면 좋은 강의예요🔥 이제막 프로그래밍 언어 하나를 마스터한 단계라면 100% 온전히 모든걸 소화하기 어렵겠지만, 한번 듣고 끝내는 강의가 아니라, 내 실력이 향상 될때, 레벨이 업그레이드 될때 주기적으로 들어 볼 수 있어요. 레벨에 따라 가져가는게, 와닿는게, 활용할 수 있는 부분이 새로워 짐을 피부로 느끼실거예요 💡

명확한 진행 계획

제공되는 강의 플래너를 통해 목표 달성

강의를 재밌게 들으실 수 있도록, 더욱! 목표한 기간내에 완성하실 수 있도록 명확한 강의 진행 계획을 알려드려요. 강의와 함께 제공해 드리는 노션 템플릿이나, 교안책(진도표)을 출력 해서 능동적으로 강의를 200% 활용해 보세요 🥷 리팩토링이 뭔지, 언제 어떻게 하는건지 큰 그림을 잡아 놓고, 나쁜 코드💩 유형에 대해 간략히 살펴보고 실전 코드와 함께 강의를 진행해요. 다 끝난후 챌린지를 통해 직접 배운 내용을 써보는, 활용해 보는, 연습해 보는 시간을 가져요. 그리고 마지막으로 모든 나쁜 코드💩 유형별로 어떻게 개선하면 좋은지 정리해 봅니다. 그리고 앞으로 무엇을 더 공부하면 좋은지 안내도 해드려요 ✨

강의 리뷰

강의를 완성하신 드림코더님들 수강평

5 star rating

코딩하기전에 최소 이런 강의 한번은 보고 해야합니다.

개정 개역

리팩토링에서 말하는 주제에 얽메일 필요는 없습니다. 본인 코드에 DRY가 발생해도 되고 함수가 길어져도 됩니다! 그것을 인지할 수 있는 능력이 있느냐 없느냐가 중요한 것 같습니다. 이 강의는 코딩하면서 발생하는 다양한 안좋은 유형에 대한 안목을 키워 줍니다. 파이썬을 사용해서 라...

Read More

리팩토링에서 말하는 주제에 얽메일 필요는 없습니다. 본인 코드에 DRY가 발생해도 되고 함수가 길어져도 됩니다! 그것을 인지할 수 있는 능력이 있느냐 없느냐가 중요한 것 같습니다. 이 강의는 코딩하면서 발생하는 다양한 안좋은 유형에 대한 안목을 키워 줍니다. 파이썬을 사용해서 라이브러리를 제작하고 있는데 이 강의를 보고 리팩토링을 적용하니 뿌듯합니다. 사용자 입장에선 모르겠지만...

Read Less
5 star rating

좋은 코드와 나쁜 코드

안리 광

좋은 코드를 알아볼 수 있는 눈이 있어야 실력을 단단하게 기를 수 있다고 생각합니다. 나쁜 코드로 연습한다면 성장 가능성이 크게 제한된다고 봅니다. 리팩토링 강의를 모두 이해할 만큼의 경험이 있지는 않지만 좋은 코드를 알아보는데 좋은 밑거름이 되었습니다.

좋은 코드를 알아볼 수 있는 눈이 있어야 실력을 단단하게 기를 수 있다고 생각합니다. 나쁜 코드로 연습한다면 성장 가능성이 크게 제한된다고 봅니다. 리팩토링 강의를 모두 이해할 만큼의 경험이 있지는 않지만 좋은 코드를 알아보는데 좋은 밑거름이 되었습니다.

Read Less
5 star rating

결제부터 했습니다~

Yoon Shin

믿고 보는 엘리님 강의! 유튜브에 영상 보자마자 아카데미로 달려와서 바로 그냥 결제했습니다! ㅋㅋ 저는 이제 그냥 충성된 학생입니다! ㅎ

믿고 보는 엘리님 강의! 유튜브에 영상 보자마자 아카데미로 달려와서 바로 그냥 결제했습니다! ㅋㅋ 저는 이제 그냥 충성된 학생입니다! ㅎ

Read Less

내가 들어야 할까?

수업에 적합한지 확인해 보세요

  • 코딩 실력을 향상 하고 싶다! 내가 작성하는 코드가 더러운 코드💩인지 깨끗한 코드✨인지 한눈에 알아보고, 항상 깨끗한 코드를 작성하는 습관을 가지고 싶다.

  • 가독성이 좋고, 유지보수성이 좋고, 확장성이 좋은, 설계가 좋은 프로그래밍을 하고 싶다. ❝개발자 답게 코딩을 하고 싶다❞

  • 코린이라면? 프로그래밍 언어 하나쯤은 마스터 해서 조건문, 반복문, 함수, 기본적인 코딩에는 문제 없다. 내가 올바르게 코딩을 하고 있는지 궁금하다!

  • 주니어/시니어라면? 기능을 구현하긴 하는데, 내가 작성한 코드가 좋은 코드인지 조차 잘 모르겠고, 항상 막혀있는, 정체된 느낌이다. 더 깊이있게 성장하고 싶다

  • 책만으로는 부족하다! 책 그 이상의 내용을 알고 싶다! 선배의 의견과 조언을 더 들으면서 재밌게 공부해 나가고 싶다 👍

15개의 챕터 | 700+분 | 12시간 분량 강의

4주 안으로 완성해 보세요 😊

Course curriculum

  • 1

    1. 강의 소개

  • 2

    2. 리팩토링 원칙

  • 3

    3. 코드에서 나는 악취💩

    • 3.1 코드의 나쁜 냄새란?

    • 3.2 나쁜 냄새 (기본적인 악취)

    • 3.3 나쁜 냄새2 (고급레벨)

    • 3.4 나쁜냄새3 (기타 냄새들)

    • 3.5 챕터3 밑줄긋기 ✍️

  • 4

    4. 테스트 구축

    • 4.1 테스트의 중요성

    • 4.2 챕터4 밑줄긋기 ✍️

  • 5

    5. 프로젝트 셋업 (강의준비)

    • 5.1 소개

    • 5.2 챕터5 밑줄긋기 ✍️

    • 5.3 강의 프로젝트 활용법

    • 5.4 실행환경 설정 (노드)

    • 5.5 실습 영상 따라오는법

    • 5.6 프로젝트 다운받기 ⬇

  • 6

    6. 기본적인 리팩터링

    • 6.1 챕터 소개

    • 6.2 함수 포인트 정리 📙

    • 6.3 함수 추출하기 (책 6.1)

    • 6.4 함수 인라인하기 (책 6.2)

    • 6.5 변수의 포인트 정리 📙

    • 6.6 변수 추출하기 (책 6.3)

    • 6.7 변수 인라인하기 (책 6.4)

    • 6.8 이름짓기 포인트 정리 📙

    • 6.9 변수 이름 바꾸기 (책 6.7)

    • 6.10 함수 선언 바꾸기 (책 6.5)

    • 6.11 함수의 매개변수 포인트 정리 📙

    • 6.12 매개변수 객체 만들기 (책 6.8)

    • 6.13 캡슐화 포인트 정리 📙

    • 6.14 변수 캡슐화하기 (책 6.6)

    • 6.15 여러 함수를 클래스로 묶기 (책 6.9)

    • 6.16 여러 함수를 변환 함수로 묶기 (책 6.10)

    • 6.17 함수 쪼개기 포인트 정리 📙

    • 6.18 단계 쪼개기 챌린지1❓(책 6.11)

    • 6.19 단계 쪼개기 챌린지1 💡

    • 6.20 단계 쪼개기 챌린지2❓

    • 6.21 단계 쪼개기 챌린지2 💡

    • 6.22 챕터6 밑줄 긋기 ✍️

    • 6.23 리팩토링 적용한 코드 ⬇

  • 7

    7. 캡슐화

    • 7.1 챕터 소개 & 포인트 정리 📙

    • 7.2 불변성 포인트 정리 📙

    • 7.3 레코드 캡슐화하기 (책7.1)

    • 7.4 컬렉션 캡슐화하기 (책 7.2)

    • 7.5 기본형을 객체로 바꾸기 (책 7.3)

    • 7.6 임시 변수를 질의 함수로 바꾸기 (책 7.4)

    • 7.7 클래스 추출하기 (책 7.5)

    • 7.8 클래스 인라인하기 (책 7.6)

    • 7.9 위임 숨기기 (책 7.7)

    • 7.10 중개자 제거하기 (책 7.8)

    • 7.11 알고리즘 교체하기 (책 7.9)

    • 7.12 챕터7 밑줄 긋기 ✍️

    • 7.13 리팩토링 적용한 코드 ⬇

    • 7.14 작은 부탁 🎁

  • 8

    8. 기능 이동

    • 8.1 챕터 소개 & 포인트 정리 📙

    • 8.2 함수 옮기기 (책 8.1)

    • 8.3 필드 옮기기 (책 8.2)

    • 8.4 문장을 함수로 옮기기 (책 8.3)

    • 8.5 문장을 호출한 곳으로 옮기기 (책 8.4)

    • 8.6 인라인 코드를 함수 호출로 바꾸기 (책 8.5)

    • 8.7 문장 슬라이드하기 (책 8.6)

    • 8.8 반복문 쪼개기 (책 8.7)

    • 8.9 반복문을 파이프라인으로 바꾸기 (책 8.8)

    • 8.10 죽은 코드 제거하기 (책 8.9)

    • 8.11 챕터8 밑줄 긋기 ✍️

    • 8.12 리팩토링 적용한 코드 ⬇

  • 9

    9. 데이터 조직화

    • 9.1 챕터소개

    • 9.2 변수 쪼개기 (책 9.1)

    • 9.3 필드 이름 바꾸기 (책 9.2)

    • 9.4 파생 변수를 질의 함수로 바꾸기 (책 9.3)

    • 9.5 참조를 값으로 바꾸기 (책 9.4)

    • 9.6 값을 참조로 바꾸기 (책 9.5)

    • 9.7 매직 리터럴 바꾸기 (책 9.6)

    • 9.8 챕터9 밑줄 긋기 ✍️

    • 9.9 리팩토링 적용한 코드 ⬇

  • 10

    10. 조건부 로직 간소화

    • 10.1 챕터 소개 & 포인트 정리 📙

    • 10.2 조건문 분해하기 (책 10.1)

    • 10.3 조건식 통합하기 (책 10.2)

    • 10.4 중첩 조건문을 보호 구문으로 바꾸기 (책 10.3)

    • 10.5 조건부 로직을 다형성으로 바꾸기1 (책 10.4)

    • 10.6 조건부 로직을 다형성으로 바꾸기2 (책 10.4)

    • 10.7 특이 케이스 추가하기 (책 10.5)

    • 10.8 어서션 추가하기 (책 10.6)

    • 10.9 제어 플래그를 탈출문으로 바꾸기 (책 10.7)

    • 10.10 챕터10 밑줄 긋기 ✍️

    • 10.11 리팩토링 적용한 코드 ⬇

  • 11

    11. API 리팩터링

    • 11.1 챕터 소개 & 포인트 정리 📙

    • 11.2 질의 함수와 변경 함수 분리하기(책 11.1)

    • 11.3 함수 매개변수화하기(책 11.2)

    • 11.4 플래그 인수 제거하기(책 11.3)

    • 11.5 객체 통째로 넘기기(책 11.4)

    • 11.6 매개변수를 질의 함수로 바꾸기(책 11.5)

    • 11.7 질의 함수를 매개변수로 바꾸기(책 11.6)

    • 11.8 세터 제거하기(책 11.7)

    • 11.9 생성자를 팩터리 함수로 바꾸기(책 11.8)

    • 11.10 함수를 명령으로 바꾸기(책 11.9)

    • 11.11 명령을 함수로 바꾸기(책 11.10)

    • 11.12 수정된 값 반환하기(책 11.11)

    • 11.13 오류 코드를 예외로 바꾸기(책 11.12)

    • 11.14 예외를 사전확인으로 바꾸기(책 11.13)

    • 11.15 챕터11 밑줄 긋기 ✍️

    • 11.16 리팩토링 적용한 코드 ⬇

  • 12

    12. 상속 다루기

    • 12.1 챕터 소개 & 포인트 정리 📙

    • 12.2 메서드 올리기 (책 12.1)

    • 12.3 필드 올리기 (책 12.2)

    • 12.4 생성자 본문 올리기 (책 12.3)

    • 12.5 메서드 내리기 (책 12.4)

    • 12.6 필드 내리기 (책 12.5)

    • 12.7 타입 코드를 서브클래스로 바꾸기 (책 12.6)

    • 12.8 서브클래스 제거하기 (책 12.7)

    • 12.9 슈퍼클래스 추출하기 (책 12.8)

    • 12.10 계층 합치기 (책 12.9)

    • 12.11 위임 포인트 정리 📙

    • 12.12 타입스크립트 버전 🤩

    • 12.13 서브클래스를 위임으로 바꾸기 (책 12.10)

    • 12.14 슈퍼클래스를 위임으로 바꾸기 (책 12.11)

    • 12.15 챕터12 밑줄 긋기 ✍️

    • 12.16 리팩토링 적용한 코드 ⬇

  • 13

    13. 최종 챌린지

    • 13.1 챕터 소개 및 안내

    • 13.2 챌린지 설명 ❓

    • 13.3 로우레벨 리팩토링 하기1 💡

    • 13.4 로우레벨 리팩토링 하기2 💡

    • 13.5 데이터와 로직 분리하기 ❓

    • 13.6 데이터와 로직 분리하기 💡

    • 13.7 중간정리!

    • 13.8 새로운 기능 + 테스트 추가

    • 13.9 하이레벨 리팩토링 하기 (모듈화) 💡

    • 3.10 다형성 이용하기 💡

    • 3.11 나라면 이렇게 더 개선할듯 🔥

    • 13.12 챕터13 밑줄 긋기 ✍️

    • 13.13 리팩토링 적용한 코드 ⬇

  • 14

    14. 리팩토링과 테스트 (보너스 ✨)

    • 14.1 테스트 구축하기란

    • 14.2 실패하는 테스트 만들기 🔴

    • 14.3 의존성 주입하기 💡

    • 14.4 성공하는 테스트 완성하기 🟢

    • 14.5 이제 본격적인 리팩토링!

    • 14.6 테스트 리팩토링 적용한 코드 ⬇

  • 15

    15. 마무리

    • 15.1 코드에서 나는 악취 최종 정리 🚀

    • 15.2 이제 뭐 공부하지? 🤭 (책추천)

    • 15.3 작은 부탁 💕

지금 엘리와 함께 시작하세요 :)

리팩토링의 모든것 (코딩실력 향상을 위한 개발자 필수 강의)

Instructor(s)

Full-Stack, Mobile Engineer | Engineering Manager

엘리 | 드림 코더

국내 삼성전자에서 연구원으로 4년 임베디드, 안드로이드 개발자로 일했고, 해외에서 8년 넘게 안드로이드, 아이폰 개발자, 백엔드를 거쳐 프론트엔드 개발자로 일했으며, 테크리더부터 시작해서 팀장, 그룹장 (엔지니어링 매니저) 역할을 맡으며 리더쉽 포지션에서 활동하고 있습니다. 회사 내/외부에서 컨퍼런스, 봉사활동을 통해 세미나를 즐겨 하다가, 2020년 부터 드림코딩 유튜브 채널을 통해 코딩을 가르쳐 드리는 엘리로 활동하고 있어요. 드림코딩 아카데미에서 만명이 넘는 수강생들을 이끌어 오면서 저의 지식과 컨텐츠를 나누는것에 큰 열정을 가지고 있습니다 🙆‍♀️ 진정한 개발자란 현재 가지고 있는 지식과 경험, 노하우에 만족하고 멈춰 있는 것이 아니라 끊임없이 배움을 추구하며 열정적으로 살아 가야 한다고 믿고 있어요. 그 열정, 강의를 통해 나눠드리고 싶어요 ✨

FAQ

  • 수업 기간은 어떻게 되나요?

    수강 신청 후 바로 시작하실 수 있고, 한번 결제 하신 강의는 영원히 (최소 3년동안 보장) 보실 수 있는 온라인 클래스 입니다. 여러분들 속도에 맞춰서 복습하면서 들으실 수 있어요. 다만 계획을 세우고 완성하는거 잊지 마세요 🙌

  • 환불은 가능한가요?

    네, 결제일로부터 7일 이내 영상을 5개 미만으로 보셨다면 결제 취소가 가능해요. (챕터 완성 코드나 최종코드 페이지에 있는 코드 다운로드 받으실 경우 환불불가합니다) 하나의 영상을 다 보시지 않더라도, 영상을 클릭해서 보시면 보신걸로 간주합니다. 되도록 커리큘럼 내용과 미리보기 가능한 영상들을 확인해 보셔서 신중하게 결정하세요 🤗

  • 강의에는 어떤것이 포함되나요?

    Address common questions ahead of time to save yourself an email.