Skip to content

Commit

Permalink
챕터 8, 9 신승준
Browse files Browse the repository at this point in the history
  • Loading branch information
metacode22 committed Nov 19, 2024
1 parent f081052 commit b776bfb
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 0 deletions.
41 changes: 41 additions & 0 deletions 챕터_8/신승준.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# 자바스크립트 MV* 패턴

## MVC 패턴

### 모델

도메인 관련 데이터를 표현. 모델이 변경되면 관찰자에게 알림을 보냄.

모델의 데이터는 지속적으로 유지되길 원하기에 데이터베이스에 저장되곤 한다.

###

모델의 현재 상태 표현. 관찰자 패턴을 통해 모델이 변경되었음을 알아차림. 화면에 보이는 부분만 담당.

### 컨트롤러

키보드 입력이나 클릭 같은 사용자와의 상호작용 처리.

모델을 업데이트하는 작업은 컨트롤러가 처리한다.

### MVC를 사용하는 이유

유지보수 용이

> 하지만 MVC는 양방향 데이터 흐름이라 관리가 어려워질 수 있다고 하네요. vue도 양방향이라서 조금 헷갈릴 떄가 있었던 것이 기억 났어요.
### MVP

컨트롤러 대신 프레젠터

MVC에서 뷰는 모델을 구독하고 있었다. 하지만 MVP에서는 뷰가 모델을 구독하지 않는다. 대신 프레젠터가 모델로부터 받은 데이터를 가공하여 뷰에게 전달한다.

뷰와 모델 간의 결합도가 낮아진다.

### MVVM

> MVP랑 비슷해보이는디... 차이를 잘 모르겠네요..!
### 최신 MV* 패턴

리액트나 Vue는 애플리케이션의 뷰 혹은 프레젠테이션 계층을 담당한다.
19 changes: 19 additions & 0 deletions 챕터_9/신승준.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# 비동기 프로그래밍 패턴

비동기 코드는 오래 실행되는 작업을 수행할 때 유용함. 네트워크 요청, 데이터베이스 읽기/쓰기, 기타 I/O 작업

이 기능을 활용하면 비동기 코드를 동기 코드처럼 쓸 수 있어 코드 가독성과 이해도가 높아짐.

### 배경

콜백 쓰면 콜백 지옥 벌어짐.

### 프로미스 경쟁

> Promise.race를 회사에서 써보신 분..?
### 비동기 반복

for-await-of 반복문을 사용해 순회 가능

> for-await-of 대신 forEach 써서 순서 보장이 안되는 낭패를 봤었네요.

0 comments on commit b776bfb

Please sign in to comment.