리액트 웹앱 제작 총론 2/e: 리액트와 리덕스를 이용한 웹앱 개발 가이드, 2019

그냥 간단하게 잘 나와있다

jquery, jsp, php, asp 등등 구닥다리 웹프론트 기술을 좀 알고 있고
angular, typesript, express 정도는 조금 만져본 상태의 지식수준에서
볼 때는 대충 넘기면서 한두시간 보면 되는 정도..
요약을 잘 해 놓으면 네다섯페이지도 안되는 분량

리엑트나 웹 프레임웤을 처음 접하는 사람이 볼 수 있을지는 모르겠다
난 이 책을 보기전에 리엑트로 된 어드민사이트를 며칠 살짝 만져보긴 한 상태라서 좀 더 쉬웠는지도 모르겠다.
아예 프로그래밍 초보자라면 따라하고나서 남는거 하나도 없을 듯 하고

React

생명주기 메서드

  • componentWillMount
  • componentDidMount
  • componentWillUnmount
  • componentWillUpdate
  • componentDidUpdate
  • shouldComponentUpdate
    • if ~~~ return true else false
      true면 업데이트, false면 무시
  • componentWillReceiveProps
  • componentDidCatch

동작

초기 렌더링

  • 기본 속성 설정
  • 기본 상태 설정
  • componentWillMount
  • render
  • componentDidMount

상태변경

  • shouldComponentUpdate
  • componentWillUpdate
  • render
  • componentDidUpdate

속성변경

  • componentWillReceiveProps
  • shouldComponentUpdate
  • componentWillUpdate
  • render
  • componentDidUpdate

언마운트

  • componentWillUnmount

scaffold

npm i -g create-react-app
create-react-app hellowork-app

Redux, HOC

Frontend 계열 기술정리

너무 많아서 뭘 쓸지 모르겠다
정리가 분류가 맞는지도 모르겠다.

블로깅 솔루션

Jekyll

마크다운을 텍스트로 저장하고
변환라이브러리를 이용해서 html을 만들어내는 방식인데
블로깅 용도로 쓰기에는 워드프레스나 도쿠위키보다 나아보인다
dokuwiki, mediawiki같은걸 개인용위키로 쓰기도 했는데… 개인용위키는 히스토리보다 현재상태가 더 중요하기도 하니까
디비에 꼭 저장힐필요도 없고
git로 버전을 관리하는게 괜찮아보인다.

wordpress

dokuwiki

mediawiki

뷰 프레임워크

Angular1, Angular2, Blaze, React, MeanStack, vue.js, cycle.js, ember, polymer, riot

App

Cordova, Phonegap

빌드

Gulp, Grunt, Webpack

의존성 관리

npm, yarn, bower, browserify

라이브러리

latex : 수식 보여주는 문법..라이브러리라고 분류하기는 좀 다를 수 있다

FrontEnd개발 – Angular2 개발시작

node 기술혐오

node진영은 비슷한 기술이 너무 많아 선택장애가 생긴다.

angular, react, backbone, ember polymer

왓 시바 다섯개다.

https://gist.github.com/makmanalp/9b7f50aa16d21c2f9d37

당신이 ~~를 선택해야 하는 이유같은 글 많이 읽어봤는데 뭐 다 비슷했다.
결국, 구글과 TypeScript 때문에 Angular를 선택

(처음 나올때는 angularJS였는데 이제 TypeScript를 쓰고 앱을 만들때도 쓰기 때문일까…
영역을 확장하기 위해 Angular라고 이름이 바뀐 것 같다.)

Angular2 설치과정


npm -g install @angular/cli

이렇게 하면 설치가 된다고 하는데… 그리고 분명 되어야 하는데… 먼가 오류가 난다.
뭔가 이상했는데

node -v
0.xx

윈도우에서도 다시 설치하면서 찾아보니 2013년이었나..?
node 가 주력이 아닌 사람들은 다들 비슷한 상황일거다.

이거보고 삭제진행(Mac)
http://stackoverflow.com/questions/11177954/how-do-i-completely-uninstall-node-js-and-reinstall-from-beginning-mac-os-x

아래 명령 둘중에서 하나 실행시키면 되는데.. 오타나면 컴퓨터가 맛이갈수도 있겠다.

$ sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}

$ sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* /usr/local/lib/dtrace/node.d ~/.npm ~/.node-gyp /opt/local/bin/node opt/local/include/node /opt/local/lib/node_modules

한다음에 공식사이트에서 재설치했다.
https://nodejs.org

튜토리얼 진행

https://angular.io/docs/ts/latest/cli-quickstart.html


npm install -g @angular/cli

ng new my-app

angur2 기본프로젝트를 생성하고 나니….

의존성 관리를 npm으로 하고 karma라는게 깔린다.
빌드는 ng-cli가 하는 것 같고…

그리고 모르는게 추가돼있다.

karma, e2e ???

karma는 자바스크립트 테스트 러너 라고 한다
https://blog.outsider.ne.kr/1020

e2e도 유닛테스트 관련 프레임워크인 것 같다.

Anguar개발에 익숙해지고 최적환경을 구성하려면 시간이 좀 더 걸릴 듯 하다.

서버단이 아닌 프론트엔드 라이브러리가 npm에서 싸잡아 관리되는게 못마땅하니
Bower를 적용해야겠고
빌드도 일관성을 위해 gulp를 적용하는게 나을지 npm을 써야할지

며칠지나서 다시보니
bower는 Deprecated된 것 같다.
gulp, grunt도 대세에서 밀려난 것 같은데…
빌더가 아닌 Bundler라는 개념으로 webpack이 사용되고
의존성관리는 yarn과 npm으로 하고 있다.
yarn과 npm은 기능이 중복되는것같은데 왜 따로 있는건지