Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[서준환] 챕터 4,5,6 #36

Merged
merged 3 commits into from
Oct 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions 챕터_4/서준환.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# 4장 안티 패턴

겉으로 보기에 해결책처럼 생긴 패턴으로 실제로는 *잘못된* 해결책인 것이다.

안티 패턴은 결국 반면교사로 활용하기 위해 문서화하여 기록해야 하는 나쁜 디자인 패턴이다.

> 어 이 패턴 여기에 사용하기엔 안 좋은 패턴인데 이 사람이 사용하네? <- 바로 1on1 ㄱㄱ

> 지금 느끼기엔 모든 것이 다 경험인 것 같다.
40 changes: 40 additions & 0 deletions 챕터_5/서준환.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# 최신 자바스크립트 문법과 기능

## 5.1 애플리케이션 분리의 중요성

잘게 분리된 모듈을 사용하면 애플리케이션 내부의 기능간 결합을 낮추어 유지보수를 용이하게 만든다.

옛날에는 모듈을 가져오는 방법이 없어서 AMD, CommonJS 모듈을 사용했네요.

그러던 어느날 ES6에서 ESM이라는 모듈 시스템을 도입했읍니다.

## 5.2 모듈 가져오기와 내보내기

자주 사용하시는 import, export 문법이 바로 ESM을 사용하는 방법이에요.

> export문을 사용하면 직속 하위 모듈은 내보낼 수 있지만 다른 외부에서 정의된 모듈을 내보낼 수 없습니다.
>
> 요것 가능하지 않나요?,, ex) export * from "some-module";

> `nomodule` 속성은 또 처음 배워갑니다.. pollyfill 을 추가할 생각만 했었지 조금 다른 접근이네요.

## 5.3 모듈 객체

> 뭐 이렇게 쓰면 트리셰이킹이 잘 안 된다고 하던데 저는 잘 되네용,, 정확한 문서(?) 알고 계신분?,,

## 5.4 외부 소스로부터 가져오는 모듈

> Deno 최근에 조금 사용해보았는데 얘는 타입을 어떻게 받아오는지 궁금하네요,,

## 5.6 동적 가져오기

보통 저희 Next.js(Dynamic Import), React(Lazy)에서 자주 사용하던 방법이네요!

이전에 대상조님께서 설명 함 해주셨던 기억이 , ,

### tree-shaking vs dynamic import

tree shaking의 경우 빌드타임에 실제 파일에 존재하지 않는 것이고,\
dynamic import의 경우 빌드는 하오나 다른 청크로 나뉘어서 런타임에 가져올 때 분리되어 가져오는 것이다.

결론은 둘 다 브라우저가 리소스를 받아올 때 최적화는 동일하다. 다만 빌드 타임에 최적화가 되는지 안되는지 차이가 있는 것 같습니다.
43 changes: 43 additions & 0 deletions 챕터_6/서준환.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
> 드디어 본론이군요!

# 디자인 패턴의 유형

디자인 패턴은 어떤 문제를 해결하느냐에 따라 다음 세 가지 유형으로 분류된다.

- 생성 패턴
- 구조 패턴
- 행위 패턴

## 6.2 생성 패턴

기본적인 디자인 패턴을 사용하지 않은 객체 생성 방식은 프로젝트의 복잡성을 증가시킬 수도 있기에 *이 과정을 제어하여 문제를 해결*한다.

- 생성자 패턴
- 팩토리 패턴
- 추상 팩토리 패턴
- 싱글톤 패턴
- 프로토타입 패턴
- 빌더 패턴

## 6.3 구조 패턴

객체의 구성과 각 객체 간의 관계를 인식하는 방법에 중점을 둡니다.

- 데코레이터 패턴
- 퍼사드 패턴
- 플라이웨이트 패턴
- 어댑터 패턴
- 프록시 패턴

## 6.4 행위 패턴

객체 간의 책임 분배와 협력 방법에 중점을 둡니다.

- 이터레이터 패턴
- 중재자 패턴
- 옵저버 패턴
- 방문자 패턴

완전 초입이니까 디자인 패턴 종류만 알아두고 넘어가도 될 것 같습니다. 껄껄

되게 기대됩니다. 모르는 것이 많아서 얻어갈 것도 많네요 ㅎ.ㅎ
Loading