25 Jan 2021
|
React
React.js 개발환경 구축 및 component,props
리액트의 장점 : 빠른 업데이트 & 렌더링 속도
리액트에서 쓰이는 언어는 페이스북에서 만든 유사 자바스크립트 언어인 JSX 이다.
JSX = JavaScript + XML/HTML
but, 필수로 JSX를 써야하는건 아니지만 쓰면 편하다.
HTML 태그 안에 { 중괄호 } 안에 Javascript 코드를 쓴다.
-
Component
-
개발환경 구축 (Windows 기준)
- reactjs.org - 공식사이트
- create React App - Toolchain 개발 도구 모음
- node.js의 npm으로 설치
- npm install -g create-react-app

- 공식 메뉴얼 npx 설치방법
- npx : 임시로 설치해서 한 번만 실행하고 삭제하는 방법, 사용시마다 최신버젼 설치
- npx create-react-app
- create-react-app을 이용한 개발환경 구축
- cmd 상에서 workspace 경로로 이동 후 create-react-app .
- npm run start 시작
- ctrl + c 종료
- npm run build 빌드하기
- npm install -g serve serve 설치
- npx serve -s build 빌드한 build 폴더를 root로 웹서버 배포
-
컴포넌트 제작

-
props
- HTML의 태그 속성(attribute)을 리액트에서는 props라 한다.
- props는 Read-only 속성으로 props를 직접 바꿀 수 없고 같은 props에 대해서는 같은 결과만을 보여주어야 한다.
- js의 function처럼 리액트의 component는 props를 입력받아 element를 출력한다.
- APP에서 컴포넌트 호출시 컴포넌트에 사용자가 정의한 속성을 부여하고자 할 때, 컴포넌트에서 ‘{this.props.속성명}’으로 사용 -> 컴포넌트의 재사용성

-
React Developer Tools
- 크롬 확장앱
- 리액트의 각 컴포넌트 및 props 열람 가능
- 개발자 모드 상에서 수정도 가능
-
컴포넌트 파일로 분리하기
- 컴포넌트에서 ‘export default 컴포넌트클래스명’
- APP(컴포넌트를 사용할 곳)에서 ‘import 클래스명 from ‘컴포넌트path(확장자 생략)’‘
참고 자료
생활코딩-React.js
reactjs.org - 공식홈페이지
goormedu - 처음 만난 React
22 Jan 2021
|
로그포스
2021-01-22 TIL - 개인 프로젝트 최종 완성
- 오늘 한 것
- 개인 프로젝트 채팅 최적화 - 학원 시험을 보기 위해 네트워크 파트를 공부하던중에 알게된 정보가 있었다. javaFX에서 스레드 구현시 사용자가 정의한 스레드에서 UI를 변경하면 JavaFX Application Thread와 충돌이 일어난다는 것이었다. JavaFX Application Thread가 UI생성 및 변경을 담당하는 녀석인데 내가 채팅 작업 스레드상에서 서버로부터 받은 정보를 UI에 출력하려고 해서 예외가 발생했던 것. 서버와 클라이언트 스레드에서 문제가 발생하는줄알고 온갖 시도를 하며 디버깅에 힘썼는데….결론은 Platform.runLater() 메소드에서 UI 변경을 나중으로 미루어서 네트워크 통신시간을 벌어주니 해결되었다.
- 학원 비대면 수업(15:30~22:00)
- 개인프로젝트 PPT 완성 - 문서화? 라고하면 문서화지만 발표 준비를 위한 PPT 작업이었다. 개발환경과 요구사항 분석, DB 및 클래스 구조 설명, 시연 설명, 개선사항이 들어있으니 문서화 맞네.
- 내일 할 것
- 학원 시험 - 네트워크 채팅 프로그램 구현
- 신년 모임
개인프로젝트가 끝난 것도 있고 여차여차해서 내일은 오전중으로 학원 시험을 다 끝내고 신년 모임을 가져야겠다.
오늘의 한 줄 총평 : 아무튼 개인 프로젝트 완료
21 Jan 2021
|
로그포스
2021-01-21 TIL
- 오늘 한 것
- 개인 프로젝트 최적화 및 2차 완성 - 아쉬운 부분이야 많지만 기한이 있는 작업이라 오늘 채팅쪽 버그들을 잡고 여러번의 테스트를 거친 후 마무리를 짓기로 했다. 코딩 이외에도 문서화, 발표준비 등 여러 해야할 일들이 있기에 마냥 코딩만 잡고있을 순 없기때문이다. 완벽한 코드는 아닐지라도 2주동안 힘겹게 쌓아올린 결과물을 보니 뿌듯하긴하다.
- 학원 비대면 수업(15:30~22:00) oracle 활용
- 내일 할 것
- 개인 프로젝트 - ppt 완성
- 학원 비대면 수업(15:30~22:00)
- 리액트 공부?
이제 ppt 만들어야지….끝날때까지 끝난게 아니다…
오늘의 한 줄 총평 : 코딩은 완성