리액트는 컴포넌트 단위로 개발할 수 있어 가독성이 높고 간단하여 캡슐화, 확장성, 재사용성 등 여러 장점이 있고 다른 프레임워크나 라이브러리와 함께 사용하기 쉽다는 점 그리고 관련해서 많은 커뮤니티와 참고 자료, 라이브러리 등을 활용할 수 있고 공부할 수 있는 내용이 많기 때문에 선정하게 되었습니다.
Virtual Dom : 만약에 뷰에 변화가 있다면, 그 변화는 실제 DOM 에 적용되기전에 가상의 DOM 에 먼저 적용시키고 그 최종적인 결과를 실제 DOM 으로 전달해준다. 브라우저 내에서 발생하는 연산의 양을 줄이면서 성능이 개선된다.
AWS
CodeCommit : Private git repository를 호스팅하는 코드 제어 서비스로 소스코드가 업데이트 될때마다 자동으로 codecommit이 빌드 및 배포를 수행합니다. 코드를 안전하게 저장하고 공동으로 작업할 수 있고 버전 관리 프로젝트로 쉽게 확장시킬 수 있습니다.
Amplify CLI : AWS 리소스들을 사용하여 프론트 - 백엔드, 호스팅, 배포까지 풀스택으로 개발하도록 돕는 서비스의 집합.
프론트와 백엔드를 분리하여 배포할 때 사용할 수 있고 모바일, 웹앱에 모두 이용가능하다. Git repository와 연동시킨 뒤 Git에 소스코드를 Push 하는 것만으로 프로젝트가 빌드되고 그 결과물을 호스팅 해준다.
리엑트에서ccp생성함. 웹앱에 추가하여 amplify를 초기화 할 수 있음. 기보설정과 권한설정을 하면 amplfy의 관련 라이브러리가 추가됨.
메인 라이브러리, ui 관련 라이브러리를 추가
amplfy 라이브러리를 사용할 수 있도록 import해준다.
가장 기본적인 웹앱 생성됨
amazon connect 인스턴스를 설치
계정관리 옵션에 기본으로 SAML 선택하고 amazon connect 의 도메인을 지정함
백엔드에서 만들어진 서비스가 amplify에 의해 접근 가능해짐
로그인 / 회원가입 보안문제 → 환경 변수 설정 (envs)
Amazon cognito : 유저 계정 관리 및 토큰 관리를 통한 자격 증명을 제공해주는 AWS 서비스
로그인 방식 설정 (직접 ID / PW 사용하거나, 구글, 페이스북 등 타사 로그인 기능)
사용자 손쉽게 관리
안전성 (AWS의 안전, 이메일 또는 MFA 인증을 통한 보안 강화)
Pools
사용자 풀 : 회원가입 및 로그인 옵션 제공
자격증명 풀 : 사용자 풀에 저장된 정보를 바탕으로 사용자에게 서비스에 액세스할 수 있는 권한 부여