Metacoding React 강의 - 1강

어쩌다·2022년 6월 14일
0

React 오프라인 1강


1. HTTP 요청을 하면 view를 돌려준다.

  1. 화면 통째로 그림을 그려서 돌려주게 된다.
  2. 부분 변경을 하고 싶을 때는 AJAX를 쓰게 된다.

2. view에서 부분 변경 요청을 받을 때 AJAX를 사용한다.

  1. 요청을 하려면 javascript로 할 수밖에 없다.
  2. 응답은 JSON으로 하게 된다.
  3. 응답 받은 데이터를 토대로 그림을 그리게 된다.
  4. 이 또한 javascript로 하게 된다.
1번과 2번의 차이점은 1번은 그림만 그려내면 되지만, 2번은 연산을 해야 한다.

3. 페이스북과 같이 화면 UI가 굉장히 복잡한 것에서 부분 변경이 필요하다.

  1. 하지만 AJAX로 응답을 받아서 그림을 그리기엔 복잡하다.
  2. 부분적으로 변경되는 부분이 굉장히 많기 때문에 성능을 신경 쓰기도 그림을 그리기에도 어려워진다.
  3. 클라이언트 측에서 그림을 그려주면 코드를 잘 못 짰을 때 퍼포먼스가 느려지게 된다.
  4. 그래서 부분변경을 하지 말고 AJAX로 html을 통째로 받으면 되지 않을까?
    1. 하지만 이렇게 되면 복잡하진 않지만, 서버에서 연산도 해야되고 html 파일을 불러오기만 하는 것이기 때문에 별다를게 없다.

4. 따라서 페이스북에서 만든 React가 나오게 되었다.

  1. 데이터 변경 감지를 하여 UI가 자동 업데이트 될 수 있도록 프로그래밍이 가능하다.
  2. 따라서 데이터만 변경시키면 되고 데이터를 감지해서 무언가를 trigger 시키는 것이다.
  3. 이를 Observer 패턴이라고 한다.
  4. React는 변경 감지를 하고 UI만 업데이트 하는 엔진이다.
  5. 이러한 엔진이 계속해서 돌아야 변경 감지를 할 수 있을 것이고, 데몬 프로세스를 가지고 있다.
  6. 따라서 엔진을 계속해서 돌리게 할 서버가 필요한데, 이 서버는 node.js 서버이다.
  7. node.js는 javascript로 만들었으며 네트워크 애플리케이션을 개발할 때 주로 사용한다.
  8. node.js가 있기 때문에 React 머신이 무한으로 돌 수 있는 것이다.

npm은 무엇인가?

  1. javascript 엔진으로 만든 의존성 패키지 관리자이다.
    1. npx는 5.2.0 이상 버전으로 사용 가능하다.
  2. gradle, maven과 같이 의존성 관리 도구라고 할 수 있으며 빌드까지 도와준다.
  3. 이러한 도구는 웬만한 언어들은 모두 있다.
  4. 이런게 없으면 라이브러리를 다운로드하고 관리하기가 어렵기 때문에 필요하다.

npm과 npx의 차이

  1. npm : 라이브러리를 다운하고 빌드하면 (프로젝트)로컬에 모두 다운받아서 중복되는 게 많아진다.
    1. 다운받는 것이 항상 유지된다.
    2. 프로젝트마다 다운받을 수 있고(로컬) 글로벌하게 다운받을 수도 있다.
    3. 글로벌하게 다운받는다면 라이브러리 버전 관리가 어려워진다. 이전 버전을 삭제하고 다운받아야 되기 때문이다.
  2. npx : 다운 받은 것을 전역적으로 사용해서 재사용하고 없으면 다운로드 한다.
    1. 실행될 때만 다운로드 받고 삭제하기 때문에 가볍게 사용할 수 있다.

React 시작하기

  1. node.js를 다운받는다.
  2. React를 다운받는다.
npx create-react-app my-app
cd my-app
npm start
  1. ESLint : React의 문법을 디버깅 해주는 플러그인을 다운로드 해준다.
    1. 인터프리터 언어이기 때문에 실행하지 않아도 검사가 가능하다.
  2. Prettier : code 정렬을 해주는 플러그인이다.
  3. Reactjs Code snippets : 코드를 자동완성 해주는 플러그인이다.

출처

react 오프라인 1강 - 설치 및 세팅 메타코딩

profile
혼자 공부하는 공간

0개의 댓글