From 57e2017d081abca30dc93c79bfff7675439a0b3c Mon Sep 17 00:00:00 2001 From: WooWan Date: Sat, 19 Oct 2024 23:53:31 +0900 Subject: [PATCH] week 2 --- .../\354\232\260\354\260\275\354\231\204.md" | 10 +++++++ .../\354\232\260\354\260\275\354\231\204.md" | 28 +++++++++++++++++++ .../\354\232\260\354\260\275\354\231\204.md" | 27 ++++++++++++++++++ 3 files changed, 65 insertions(+) create mode 100644 "\354\261\225\355\204\260_4/\354\232\260\354\260\275\354\231\204.md" create mode 100644 "\354\261\225\355\204\260_5/\354\232\260\354\260\275\354\231\204.md" create mode 100644 "\354\261\225\355\204\260_6/\354\232\260\354\260\275\354\231\204.md" diff --git "a/\354\261\225\355\204\260_4/\354\232\260\354\260\275\354\231\204.md" "b/\354\261\225\355\204\260_4/\354\232\260\354\260\275\354\231\204.md" new file mode 100644 index 0000000..4abd96a --- /dev/null +++ "b/\354\261\225\355\204\260_4/\354\232\260\354\260\275\354\231\204.md" @@ -0,0 +1,10 @@ +# 4장 안티패턴 + +안티패턴을 적절히 아는 것은 중요하다. 안티패턴을 아는 것만으로, 이게 왜 안티패턴인지 인지하는 것만으로 함정을 적절히 피해갈 수 있는 것 같다. + +또, 코드 리뷰를 하다 보면 뭔가 이상한 것 같은데.. 왜 이상한 것인지 설명을 하기 힘들 때가 있는데, 잘 알아두면 코드리뷰도 원활히 진행가능! + + + + + diff --git "a/\354\261\225\355\204\260_5/\354\232\260\354\260\275\354\231\204.md" "b/\354\261\225\355\204\260_5/\354\232\260\354\260\275\354\231\204.md" new file mode 100644 index 0000000..6f46085 --- /dev/null +++ "b/\354\261\225\355\204\260_5/\354\232\260\354\260\275\354\231\204.md" @@ -0,0 +1,28 @@ +# 최신 자바스크립트 문법과 기능 + + + +JavaScript는 태생적으로 모듈을 지원하는 언어가 아니었다. JavaScript가 점점 많은 역할을 하면서 AMD, CommonJS와 같은 방법을 이용하여 모듈화를 진행하였다. + +ES6(ES2015)부터는 ESM이라는 방식으로 모듈을 native하게 지원한다. 그래도 번들러는 성능 상 사용한다. + + + +### 동적으로 모듈 가져오기 + +기능상으로 보면 +동적 import = require + tree shaking + async 와 비슷하다 + + + +### 서버에서 모듈 사용하기 + +Node >= 15.3 부터 `type: module` 을 지원한다. + +자동으로 defer와 같이 지연로딩되는 게 장점인 것 같다. + + + +### 5.9 생성자, 게터, 세터를 가진 클래스 + +class의 메서드들은 function키워드를 사용하지 않는다. 남용하지 않기 위해서라는데, function키워드를 붙이는 게 명시적이라고 느끼는데, 왜 이게 남용이라고 생각하는지는 궁금하다. \ No newline at end of file diff --git "a/\354\261\225\355\204\260_6/\354\232\260\354\260\275\354\231\204.md" "b/\354\261\225\355\204\260_6/\354\232\260\354\260\275\354\231\204.md" new file mode 100644 index 0000000..2e93424 --- /dev/null +++ "b/\354\261\225\355\204\260_6/\354\232\260\354\260\275\354\231\204.md" @@ -0,0 +1,27 @@ +# 6 디자인 패턴의 유형 + + + +### 6.1 배경 + +#### 생성 패턴 + +객체를 생성하는 방법에 중점을 둔다. + +예: 생성자, 팩토리, 추상, 프로토타입, 싱글톤, 빌더 패턴 등 + + + +#### 구조 패턴 + +객체의 구성과 각 객체 간의 관계를 인식하는 방법에 중정을 둔다. + +예: 데코레이터, 퍼사드, 플ㄹ이웨이트, 어댑터, 프록시 패턴 등 + + + +#### 행위 패턴 + +객체 간 커뮤니케이션을 개선하거나 간소화하는 방법에 중점을 둔다. + +예: 이터레이터, 중재자, 관찰자, 방문자 패턴 등 \ No newline at end of file