Skip to content

Commit b776bfb

Browse files
committed
챕터 8, 9 신승준
1 parent f081052 commit b776bfb

File tree

2 files changed

+60
-0
lines changed

2 files changed

+60
-0
lines changed

챕터_8/신승준.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# 자바스크립트 MV* 패턴
2+
3+
## MVC 패턴
4+
5+
### 모델
6+
7+
도메인 관련 데이터를 표현. 모델이 변경되면 관찰자에게 알림을 보냄.
8+
9+
모델의 데이터는 지속적으로 유지되길 원하기에 데이터베이스에 저장되곤 한다.
10+
11+
###
12+
13+
모델의 현재 상태 표현. 관찰자 패턴을 통해 모델이 변경되었음을 알아차림. 화면에 보이는 부분만 담당.
14+
15+
### 컨트롤러
16+
17+
키보드 입력이나 클릭 같은 사용자와의 상호작용 처리.
18+
19+
모델을 업데이트하는 작업은 컨트롤러가 처리한다.
20+
21+
### MVC를 사용하는 이유
22+
23+
유지보수 용이
24+
25+
> 하지만 MVC는 양방향 데이터 흐름이라 관리가 어려워질 수 있다고 하네요. vue도 양방향이라서 조금 헷갈릴 떄가 있었던 것이 기억 났어요.
26+
27+
### MVP
28+
29+
컨트롤러 대신 프레젠터
30+
31+
MVC에서 뷰는 모델을 구독하고 있었다. 하지만 MVP에서는 뷰가 모델을 구독하지 않는다. 대신 프레젠터가 모델로부터 받은 데이터를 가공하여 뷰에게 전달한다.
32+
33+
뷰와 모델 간의 결합도가 낮아진다.
34+
35+
### MVVM
36+
37+
> MVP랑 비슷해보이는디... 차이를 잘 모르겠네요..!
38+
39+
### 최신 MV* 패턴
40+
41+
리액트나 Vue는 애플리케이션의 뷰 혹은 프레젠테이션 계층을 담당한다.

챕터_9/신승준.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# 비동기 프로그래밍 패턴
2+
3+
비동기 코드는 오래 실행되는 작업을 수행할 때 유용함. 네트워크 요청, 데이터베이스 읽기/쓰기, 기타 I/O 작업
4+
5+
이 기능을 활용하면 비동기 코드를 동기 코드처럼 쓸 수 있어 코드 가독성과 이해도가 높아짐.
6+
7+
### 배경
8+
9+
콜백 쓰면 콜백 지옥 벌어짐.
10+
11+
### 프로미스 경쟁
12+
13+
> Promise.race를 회사에서 써보신 분..?
14+
15+
### 비동기 반복
16+
17+
for-await-of 반복문을 사용해 순회 가능
18+
19+
> for-await-of 대신 forEach 써서 순서 보장이 안되는 낭패를 봤었네요.

0 commit comments

Comments
 (0)