카테고리 없음

[23.06.12.] 내배캠 5주차 1일

heediv 2023. 6. 12. 17:49
반응형

강의중 기억하고싶은 내용 작성

1. SEO가 무엇인지?

SEO(Search Engine Optimization,설치 엔진 최적화)

 

2. 리액트의 단점 : SEO가 약하다. index.html파일 하나뿐이고 내용이 없어서 (SPA, single page a.    )

후에 next.js를 배워 보완하는것이 좋다

 

3. SPA프레임워크의 종류

React JS - 많은 자료보유, 페이스북 만들고 유지보수

Vue JS - 배우기 쉽지만 자료가 적음

Angular JS - 안정적, 배우기어려움

NPMtrends  

 

4. 컴포넌트 = 벽돌

 렌더링 = 컴포넌트 단위로 변경사항부분만 반영 하므로 깜빡임이 없다.

 

 

 

5. ES6문법

상수와 변수

상수 : const(constant : 변함없는 수)

변수 : let 

 

6. JS에서의 Object

key-value pair

{

    key : 'value',

    key1 : 'value1',

}

 

7. 객체를 선언하는 방법

const testObj = {

    name : 'Hee',

    age : 20,

    company : 'home',

    doSomething : function () {},

value에는 어떠한 것도 올수 있다.

위에 상수 선언된 것과 객체의 key와 같으면 한단어로 생략가능

 

8. 복사 주의!!!(얕은 복사)

spread operator

map

filter

배워보면서 지킬것은 지킬것

 

 

9. 배열/객체 비구조화(Array/Object Destructuring) = 구조분해할당

 

10. 전개연산자(Spread Operator)

... 전개연산자  

 

11. 함수

function (매개변수) {

    내용

    return 내용2

}

기본에 충실하고 변경하기

화살표함수에서 내용2가 한줄일경우 return생략가능 그러나 {}중괄호도 생략을 반드시 해줘야한다.

 

 

12. 리액트 들어가기

리액트 초기개발환경 설치하기

(1) 크롬브라우저 설치

(2) VScode 설치

(3) git 설치

(4) node js 설치

    - npm 자동설치 (Node Pakage Manager)

(5) yarn 설치하기

 npm install -g yarn (-g : global 내 컴퓨터 전반에 yarn 명령어 사용가능)

 에러 해결하기

Error: EACCES: permission denied mkdr 'usr/loca/~~'

''내부 파일에 대한 권한이 없어서 생기는 오류 메시지입니다.

 

가장간단한 해결방법은 권리자 권한인 sudo로 설치하면되지만

npm 공식사이트에서는 npm기본 경로를 변경해서 사용할 것을 권장함.

참고 : npm 사이트 

 

해결방법

홈디렉터리에서 전역 설치를 위한 디렉터리를 만든다.

mkdir ~/.npm-global

새 디렉토리 경로를 사용하도록 npm구성한다.

npm config set prefix '~/.npm-global'

텍스트 편집기에서 ~/.profile 파일을 열거나 만들고 다음 줄을 추가한다.

export PATH=~/.npm-global/bin:$PATH

시스템 변수를 업데이트 합니다.

soursce ~/.profile

 

테스트, 전역적으로 패키지 설치

npm install -g yarn

설치완료, 해결

 

yarn 과 npm 과 패키지매니저 : 패키지를 설치할수 있는 명령어

npm install ~

yarn add ~ 

형태로 패키지 설치가능

 

* npm과 yarn의 차이점 :

npm install --save dev[패키지명]

모든 프로젝트에는 package.JSON파일 있음

npm은 이 프로젝트에 담겨있는 dependency(프로젝트가 의존하고있는 패키지 들의 목록)을 넣어주기 위해 --save를 입력해줘야 하는데

yarn은 add만 해도 안에 모두 담겨있으므로 따로 --save를 할 필요가 없다

주로 yarn을 사용할 예정이다

 

* JS런타임 환경의 종류

런타임이란? 프로그래밍언어(JS)가 구동되는 환경을 말한다.

2가지의 종류

(1) 브라우저(ex: Chrome. Microsoft Edge, Firefox) 

(2) node환경

즉,  javascript파일을 실행할 수 있는 방법이 2가지가 있다는 것

 

alert() : 브라우저에서 동작하는 함수, 노드환경에서는 동작하지않는다.

 

우리는 브라우저 환경을 이용합니다.

개발자 도구 열기 option + cmd + i

 

5강. CRA(Create React App)

한줄의 명령어 입력으로 React프로젝트 개발에 필요한 필수요소를 자동으로 구성하는 방법

보일러플레이트 : 똑같이 사용하는 코딩을 한꺼번에 찍자

 

CRA프로젝트 만들기(terminal)

ls 모든 폴더 보여줌

mkdir sparta : 스파르타 폴더만들기

(참고 rm -r sparta 폴더지우기)

/Desktop/sparta/react 폴더 만들고

 

cd sparta : 스파르타폴더로 가기

 

yarn create react-app week-1 입력

에러

zsh: command not found: yarn

1. npm으로 설치하기

위에서 yarn설치 한것과 같이

npm install --global yarn 다시실행

다시 에러

2. brew로 설치하기(node 설치되어있는 상태)

brew install yarn

yarn 실행됨 해결완료

만약 node가 설치되어있지 않다면

brew install yarn --without-node

 

VScode에서 week-1파일열고 확인

 

cd week-1

yarn start

 리액트 프로젝트 웹사이트가 열림

 

 

* public 아래 index.html

SPA이므로 SEO가 약하다고 위에서 설명

원리

index.html 31번째줄 <div>태그의 id="root

index.js 7번째~13번째줄 App.js를 그려줘라

App.js 여기가 우리의 playground

 

선택사항

app.js 에서 상대경로가 아닌 절대경로로 세팅할수 있는 방법

root경로에 jsconfig.json 파일만들기

{
"compilerOptions": {
"baseUrl": "src"
},
"include": ["src"]
}

src폴더 밑에 있는것은 다 절대경로로 써주세요

 

6강. 컴포넌트 소개

1.React Component란?

 

함수형 컴포넌트

클래스형 컴포넌트

주로 함수형 컴포넌트 사용

컴포넌트를 통해 UI를 재사용이 가능한 개별적인 여러 조각으로 나누고, 각 조각을 개별적으로 살펴볼 수 있습니다.

개년적으로는 컴포넌트는 JavaScript함수와 유사합니다.

"props"라고 하는 임의의 입력을 받은 후, 화면에 어떻게 표시되는지를 기술하는 React엘리먼트를 반환한다.(input 과 output)

 

1)함수형 컴포넌트

function Welcome(props) {
  return <h1>Hello, {props.name}</h1>;
}

//훨씬 쉬운 표현
function App () {
  return <div>hell</div>
}

 

2) 클래스형 컴포넌트

 

 

app.js에서

function App() {

//여기가 자바스크립트 쓸 수 있는 영역

  return (

//JSX문법 (JavaScript + XML - HTML) : 쟉스~

//html요소들을 return문 안에서 쓸수있다.

//{JS요소들도 쓸수있다 중괄호 내에서}

  );

}

 

주의! 컴포넌트의 이름 첫번째는 무조건 대문자!

 

terminal 다시 실행

ctrol + c 

yarn start

 

에러 : app.js에서 실습중 <button onclick = {function(){alert("클릭")}>

에서 onclick 을 카멜케이스로 작성하지 않아 alert실행이 안되었음

작성에 주의!! onClick으로 작성할 것!!!

 

7강. 부모자식 컴포넌트

8강.

react snippets 확장프로그램 설치

app.js에서 rfc(또는 rfce) 쓰면 저절로 만들어짐

 

 

 

 

 

 

 

 

 

 

 

반응형