리액트는 facebook.com에서 ui를 더 잘 만들기 위해서 페이스북에서 만든 자바스크립트 ui라이브러리다.
리액트를 한마디로 정의하기는 쉽지만 그 정의를 이해하는 것은 굉장히 어려운 일이다.
웹사이트는 매우빠른 속도로 복잡해진다.
정보가 조금만 증가해도 그 정보를 표현하는 html 태그는 기하급수적으로 복잡해진다.
페이스북 페이지에서 개발자도구를 열어 Element탭에서
sidebar에 해당하는 부분의 태그들을 복사해서 가져온 후 sidebar.html에 붙여넣기 해보자.
겨우 하나의 sidebar를 만들기 위해서 매우 복잡한 구성이 필요하다.
그런데 만약
페이스북에서sidebar부분을 차지하는 무수히 많은element(tag)를 우리가 정의한 사용자 정의 태그(sidebar태그를 만들어서) 안에 넣은 후 sidebar태그를 만든 html 파일을 다른 파일(index.html)로 로딩한 다음에 <sidebar></siderbar> 이렇게 간단하게
우리가 정의한 사용자 태그의 이름을 적어주면
이 태그가 실질적으로 웹브라우저에게 전달되고 표현될때 siderbar의 복잡한 코드로 바뀔 수 잇다면 얼마나 좋을까?
이렇게사용자 정의 태그를 만들어 주는 여러가지 기술이 있는데 리액트 역시도 그런 기술 중의 하나이다.
리액트에서는 이렇게 사용자가 정의해서 태그를 만드는 것을 사용자정의 태그라고 하지 않고 컴포넌트라고 부른다.
1.가독성이 오른다
2.재사용성
3.유지보수
2.공부전략
처음 중간 끝으로
가장 본질 적인 것 3개를 꼽았다.
첫번째(coding)
우리가 개발환경을 세팅하고 어디에 코드를 바꿔야 되는가를 살펴보는 것
두번째(run)
그 다음에 그렇게 작성한 것을 실행해서 결과를 보는 것
세번째(deploy)
첫번째 두번째를 반복하다가
모든작업이끝난다음에최종적으로소비자에게전달하는 하는 것.
(서비스바닥에서는 이걸 디플로이라고 한다.)
3.개발환경의 종류
Create react app이라고 하는 프로그램을 컴퓨터에 깔 것이다.
그러기 위해선 npm이라고 하는 프로그램이 필요하다.
npm은 Node js라고 하는 기술을 이용해서 만들어진 여러 앱들을 우리가 명령어 환경에서 아주 손쉽게 설치할 수 있도록 도와주는
도구이다.
말하자면 Node js계의 앱스토어,구글플레이같은 역할을 하는 소프트웨어이다.
4.npm을 이용해서 create react app설치
npm과 npx의 차이
npm은 프로그램을 설치하는 프로그램
npx는 create react app이라는 프로그램을 임시로 설치해서 딱 한 번만 실행시키고 지우는 녀석이다.
왜냐하면 여러종류의 파라미터를 순서없이 무작위로 생성하면 함수는 어떤 파라미터에 어떤 값을 받아야 할지
정할 수 없기 때문이다.
그렇기 때문에 이 순서를 지키지 않으면 파이썬에서 오류가 발생한다!
파라미터를 받는 순서는 다음과 같다.
def example(a, b, c=None, r="배고파", d=[], *args, **kwargs):
(a,b) 는 positional parameter(non-default value parameter)
(c=none) 는 optional parameter
(r="배고파") 는 keyword parameter(default value parameter)
(d=[]) 는 list parameter
(*args) 는 keyword-only(Variable Length Arguments)
(**kwargs) 는 var-keyword parameter(Variable Length Keyword Arguments)
다음과 같은 순서를 유의하여 이어지는 2,3,4번 문제를 해결하자.
2.위치인수(positional arguments)와가변인수(variable length arguments)의 위치를 참고 자료를 통해 조사해서 어떤 에러가 발생 하는지 확인하고, 에러를 고쳐 정상적으로 출력되는 결과를 블로그에 정리해 주세요.