NEW
개발 · 프로그래밍

/

웹 개발

TS/JS 디자인 패턴 with Canvas: 제로초에게 제대로 배우기

타입스크립트/자바스크립트로 그림판을 만들어보며 다양한 디자인 패턴의 쓰임과 장단점을 알아봅니다. canvas api를 배울 수 있는 것은 보너스!

115명 이 수강하고 있어요.

Thumbnail

중급자를 위해 준비한
[디자인 패턴, canvas] 강의입니다.

이런 걸
배워요!

  • 타입스크립트 디자인 패턴

  • 자바스크립트 디자인 패턴

  • canvas로 그림판 만들기

디자인 패턴 배워서 저한테 도움이 되는 게 맞나요? 🤔

라고 질문하시는 분을 정말 많이 봤습니다. 저는 이렇게 답합니다.

네 모르고 사는 것보다는 도움이 됩니다!

저는 항상 "디자인 패턴은 배우는 게 아니다. 나의 코드를 최적화하다보면 저절로 디자인 패턴 모양이 된다"라고 말해왔습니다. 하지만 객체지향 개념과 class를 적극적으로 사용하지 않는 자바스크립트/타입스크립트 특성상 디자인 패턴을 적극적으로 사용하지 않는 분들을 많이 볼 수 있었습니다. 그래서 적어도 디자인 패턴이 어떤 것인지, 어떤 종류가 있는지 여러분들께 소개하려고 합니다.

이 강의를 보시면 여러분들이 이미 디자인 패턴 몇 가지를 쓰고 있다는 사실을 깨달을 수 있고, 디자인 패턴을 통해 코드를 이렇게 최적화할 수 있다는 사실도 알 수 있게 됩니다.

다양한 디자인 패턴이 있지만 전부 유용한 것은 아닙니다. 다만 서너 개의 유용한 디자인 패턴이 여러분의 코드 퀄리티를 바꿀 것입니다

디자인 패턴의 유용함, 간단한 예시를 보시죠!

혹시 여러분의 코드에 이렇게 여러 함수에 걸쳐 동일한 if문이 반복되지는 않으신가요? 이러면 새로운 if문이 추가될 때마다 함수를 세 개나 수정해야 합니다

팩토리 패턴과 상태 패턴을 활용하면 이렇게 깔끔하게 수정할 수 있습니다! 수정 사항이 생길 때 함수 하나만 수정해도 돼요.

이 강의의 특징

📌 본 강의에서는 GoF 책에 나오는 23가지 디자인 패턴과 그 외의 디자인 패턴을 JavaScript/TypeScript에 맞게 배워봅니다.

📌 디자인 패턴은 SOLID 원칙과 떼어놓을 수 없습니다. SOLID 원칙도 같이 소개합니다.

📌 실무와 유사한 예시를 위해 그림판HTML canvas API를 사용해 만들어봅니다(개발자도구 Debugger를 사용하는 꿀팁도 조금 들어있습니다!)

📌 타입스크립트로 진행되나, 자바스크립트에서의 차이점도 다룹니다(언어적인 특성 때문에 일부 디자인 패턴에서 차이가 있습니다)

이런 분들께 추천해요

디자인 패턴을 배워보고 싶은 분

클린 코드, 객체 지향에 관심이 있어 디자인패턴을 배우려 하시는 분

JS/TS 예시가 필요한 분

시중의 디자인 패턴 책/강의가 다른 언어로 되어 있어 자바스크립트, 타입스크립트 예제가 필요하신 분

실전적인 예제로 이해하고 싶은 분

매번 나오는 동물, 고양이, 자동차 클래스 대신 실무에서 쓰이는 코드로 디자인 패턴을 이해하고 싶은 분

수강 후에는

  • 지금 내가 쓰고 있는 코드가 어떤 디자인 패턴인지 알게 돼요.

  • 배운 디자인 패턴을 적용해서 현재 코드를 깔끔하게 리팩토링할 수 있어요.

  • 다른 사람에게 코드를 설명할 때 구구절절 설명하는 대신 "이 디자인 패턴을 썼어요!"라고 간단하게 의사소통할 수 있게 돼요.

  • 새로운 코드를 작성할 때 어떤 디자인 패턴을 쓰면 효율적일까 판단할 수 있게 돼요.

  • 자바스크립트/타입스크립트 언어 특성을 사용해서 패턴을 보다 더 간단하게 만들 수 있어요

이런 내용을 배워요.

타입스크립트 문법으로 배워요

자바 등의 다른 객체지향 언어와는 차이점이 있어요. 구조적 타이핑, 인터페이스, 추상 클래스 등을 먼저 알려드릴게요.

자바스크립트 문법으로도 배워요

대부분의 경우엔 타입스크립트와 자바스크립트 코드가 거의 같아요. 다만 차이가 있는 부분은 따로 알려드릴게요.

강의 교안에는 요약과 UML이 있어요

코드가 점점 복잡해지니까 디자인 패턴이 적용된 부분만 따로 UML로 표시해봤어요. UML은 강의에서 알려드려요

간단한(코드는 안 간단한) 그림판을 만들어봐요

잘 안 와닿는 예시 대신에 진짜 프로그램을 만들면서 디자인 패턴을 배워봐요. 25가지 디자인 패턴을 집어넣느라 힘들었어요...

수강 전 참고 사항

실습 환경

  • 강의는 Windows 11에서 Visual Studio Code Live Server로 진행합니다. 다만 운영 체제, IDE는 상관 없습니다.

  • 타입스크립트는 5.5버전 이상이면 됩니다.

선수 지식 및 유의사항

  • 기본적인 자바스크립트, 타입스크립트 문법

  • 타입스크립트를 모른다면 타입스크립트 코드에서 타입 부분을 제거하면 자바스크립트입니다(다만 자바스크립트라서 디자인 패턴이 달라지는 부분이 있습니다)

  • 그림판 만들기는 보조적인 역할이고 이 강의의 주 목적은 디자인 패턴 학습입니다.



이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 자바스크립트로 더 효율적인 코드를 짜고 싶으신 분

  • 디자인 패턴이 어디에 쓰일 수 있나 궁금한 분

  • 자바스크립트에서 클래스의 쓰임이 궁금한 분

  • 타입스크립트에서 인터페이스, 추상클래스의 쓰임이 궁금한 분

선수 지식,
필요할까요?

  • 자바스크립트

  • 타입스크립트

제 강의의 장점은 Q&A입니다(인프런 답변왕 2회 수상). 24시간 이내에 최대한 답변드립니다! 같이 고민한다는 느낌으로 답변 드릴게요!

https://www.zerocho.com/lecture

제로초 강의 전체 로드맵

 

– Node.js교과서, 코딩자율학습 제로초의 자바스크립트, Let's Get IT 자바스크립트, 타입스크립트 교과서 저자 
– ZeroCho.com 운영자
– 현) 유튜브에서 ZeroCho TV로 개발 관련 방송중 
– 현) 스모어톡 CTO 
– 전) 오늘의픽업 CTO(카카오모빌리티에 엑싯 후 카카오모빌리티 최연소 개발파트장)

커리큘럼

전체

34개 ∙ (6시간 16분)

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

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!