generated from muhandojeon/study-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f081052
commit b776bfb
Showing
2 changed files
with
60 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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는 애플리케이션의 뷰 혹은 프레젠테이션 계층을 담당한다. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 써서 순서 보장이 안되는 낭패를 봤었네요. |