기본 콘텐츠로 건너뛰기

React SNS 1-1. 프로젝트 구조와 배우는 것들

React SNS 1-1. 프로젝트 구조와 배우는 것들

- 에디터

Visual Studio Code

- 프런트 서버

React, Next

Redux

Redux-saga

Styled Components

- 백앤드 서버

Express

Database(MySQL)

ORM (시퀄라이즈)

패스포트

multer(S3)

Socket.IO

이미지 압축(람다)

프런트 서버와 백앤드 서버의 분리 이유

-장점

서로의 역할이 다르기 때문에 내가 사용하는 웹 서비스 요청이 프런트 서버의 요청이 많아질 경우

프런트 서버를 늘리면 되고, 데이터 처리가 많은 서비스 일 경우 백앤드 서버를 늘려주면 된다.

이러한 방법을 스케일링이라고 합니다.

-단점

CORS 이슈

복잡도가 증가합니다.

서로 주소가 달라 데이터를 주고받기가 어려우며 보안적인 문제도 있습니다.

그렇기 때문에 이 부분의 처리하는 방법도 고민해야 합니다.

왜 Next 인가 ?

웹사이트의 성능 컨텐츠 도 중요하지만 검색 최적화를 위해 리 엑트에서 제공하는 기술이 서버사이드 랜더링 기술인데

리엑트 페이지가 랜더링 할 때 boot들도 콘텐츠를 쉽게 볼 수 있도록 랜더링 합니다.

이러한 서버사이드 랜더링을 React, Angular, Vue 보다는 비교적 쉽게 해 주기 때문에 Next를 사용합니다.

그리고 코드 스플리팅(사용한 페이지만 불러오는)기술이 있다 만약 리 엑트로 100개 이상의 페이지를 제작하였을 경우 싱글 페이지 애플리케이션의 단점이 처음에 모든 페이지를 불러온다 하지만 실제 고객이 사용하는 페이지는 10개만 사용할 수 있다. 이러면 나머지 페이지의 리소스 낭비가 되기 때문에 코드 스플리팅 기술을 사용합니다.

코드 스플리팅, 서버사이드 랜더링을 이슈를 보완 해주는 Next 사용을 권장합니다.

-일단 저는 React 기초를 먼저 배우고 시작하는게 아니고 제로초 님의 프로젝트 강좌에서 나오는 내용만을 정리했기 때문에 다소 설명이 부족할 수 있습니다.

그래서 나중에 자세하게 알아보기위해 강의내용중 필요한 키워드를 설정해 놨습니다.

Keyword : #SEO(search engine optimization) , #서버사이드 랜더링, #코드 스플리팅, #CORS,#싱글페이지애플리케이션

출처 : 제로초 님의 유튜브 강의를 보며 프로젝트를 진행하고 정리한 내용을 포스팅하였습니다. 좋은 강의 감사합니다^^

from http://dog-developers.tistory.com/104 by ccl(S) rewrite - 2020-03-06 19:20:49

댓글

이 블로그의 인기 게시물

[Debugging] AngularJS2 - Can't bind to 'ngModel' since it isn't a...

[Debugging] AngularJS2 - Can't bind to 'ngModel' since it isn't a... - 좋아요 하이 .. !! Angular2 로 개발을 하다가 아래와 같은 에러를 만났다. 흠 .. 이게 뭘까 열심히 구글링을 해봤다. 간단한 내용이다. 모듈을 추가해주기만 하면 된다. app.module.ts를 열어보자. 여기에다가 FormsModule 과 ReactiveFormsModule을 추가해주면 문제가 해결된다 ! 다들 즐거운 코딩하자. from http://devkingdom.tistory.com/106 by ccl(A) rewrite - 2020-03-18 00:54:15

[aws] deploy Angular app with s3 | AWS S3로 angular 앱 배포하기

[aws] deploy Angular app with s3 | AWS S3로 angular 앱 배포하기 angular project를 빌드한다 ng build --prod 그러면 dist 폴더가 생긴다. dist 폴더 안에 있는 아이들을 사용한다. 아마존 s3 콘솔로 이동 https://s3.console.aws.amazon.com/s3/home?region=ap-northeast-2 새로운 Bucket 을 생성한다(Create bucket). 버킷 이름은 고유하게 짓는다. 버킷 생성후 properties tab > static website hosting을 클릭한다. index document는 index.html은 쓴다. properties > static website hosting Permission tab 에서 권한을 수정한다. overview tab 에서 필요한 파일 업로드 dist 폴더 안에 있는 파일들을 업로드 한다. bucket policy 설정 properties > static website hosting > endpoint 클릭하면 서버에 올라간 앱을 확인 할 수 있다 일단 angular 앱을 올리긴 했는데.. 이걸로는 아무것도 할 수 었다. django로 만든 서버를 올리고 database를 연결하고 그것을 지금 이 angular 앱과 연결해야한다. 아직 어떻게 해야 할지는 모르겠음 계속 삽질 중. 그래도 angular app 하나 올라갔는데 재밌네 from http://paigeblog.tistory.com/18 by ccl(A) rewrite - 2020-03-25 16:20:22

Angular2 시작하기

Angular2 시작하기 Angular2 시작하기 1. NodeJS 설치 - https://nodejs.org/ko/ NodeJS 공식 홈페이지 접속하여 Node를 다운 후 설치. 2. NPM 을 통한 Angular-Cli 설치 Window Command 를 통하여 npm install -g @angular/cli 명령어를 실행한다. 위와 같이 정상적으로 angular-cli 가 설치되었다면 Project 가 위치할 폴더를 생성. 참고 사이트 : https://cli.angular.io/ 3. Angular-cli 를 통한 Angular Project 생성. Window Command 를 통한 ng new [폴더명] 위와 같이 Angular 기본 프로젝트가 생성됨. 해당 프로젝트로 폴더로 이동하여 ng serve 명령어 실행 Node 를 통해 Angular 프로젝트 실행. http://localhost:4200 접속하게되면 위와같이 Angular 프로젝트 실행된다. 앞으로 Angular2 의 개념들을 포스팅하면서 Spring-Boot , Spring Project의 Angular-cli 를 이용하여 ng build 하여 포팅하는 글을 올리겠습니다. from http://overclassbysin.tistory.com/3 by ccl(A) rewrite - 2020-03-07 07:55:13