반응형

React 7

[Next.js] create-next-app 환경에서 next.js, typescript, redux 세팅하기

먼저, create-next-app 명령어를 이용해서 기본 프로젝트를 생성합니다. --typescript 명령어를 이용하여 typescript 프로젝트로 설정했습니다. yarn create next-app --typescript nextjs-typescript-redux 그 다음은 필요한 패키지들을 설치합니다. yarn add redux redux-thunk next-redux-wrapper react-redux @type/react-redux 패키지 설치가 완료되었으면, 프로젝트 루트(root)에 redux라는 이름의 폴더를 생성합니다. 그리고 그 내부에 store.ts, types.ts 파일과 actions, reducers라는 이름의 폴더를 생성합니다. 아래 그림과 같이 생성되면 됩니다. types..

React 2021.10.15

[프론트엔드 서버] Docker란?

Docker란? 컨테이너 기반의 오픈소스 가상화 플랫폼 컨테이너 격리된 공간에서 프로세스가 동작하는 기술. 하나의 서버에 여러개의 컨테이너를 실행하면 서로 영향을 미치지 않고 독립적으로 실행 이미지 컨테이너 실행에 필요한 파일과 설정값등을 포함하고 있는 것. 이미지를 실행한 것이 컨테이너! 같은 이미지에서 여러개의 컨테이너를 생성할 수도 있다. 레이어 저장 방식 도커 이미지는 컨테이너를 실행하기 위한 모든 정보를 갖고 있기 때문에 보통 용량이 수백메가에 이름. 기존 이미지에 파일 하나를 추가했다고 모든 이미지를 교체하는 것은 너무 비효율적 이미지는 여러개의 읽기 전용 레이어로 구성되고 파일이 추가되거나 수정되면 새로운 레이어가 생성됨. 이미지에서 수정된 레이어만 다운받으면 되는 형식으로 사용. Docke..

React 2021.10.07

[프론트엔드 서버] Amazon S3 + CloudFront에 대해

Amazon S3 확장성, 데이터 가용성 및 보안과 성능을 제공하는 객체 스토리지 서비스. 특징 모든 종류의 데이터를 원하는 형식으로 저장 저장할 수 있는 데이터의 전체 볼륨과 객체 수에는 제한이 없음 Amazon S3는 간단한 Key 기반의 객체 스토리지이며, 데이터를 저장 및 검색하는데 사용할 수 있는 고유한 객체 키를 할당. Amazon S3는 간단한 표준 기반 REST 웹 서비스 인터페이스를 제공 안전함 CloudFront Amazon CloudFront는 개발자 친화적 환경에서 짧은 지연 시간과 빠른 전송 속도로 데이터, 동영상, 애플리케이션 및 API를 전 세계 고객에게 안전하게 전송하는 고속 콘텐츠 전송 네트워크(CDN) 서비스 CDN(Content Delivery Network) CDN(콘..

React 2021.10.07

[env-cmd] next.js에서 각 환경에 맞는 환경변수 설정하기

개인 프로젝트를 개발할 때는 딱히 신경쓰지 않아도 될 수도 있지만, 실무에서는 개발 환경, QA 환경, 운영 환경등 각 환경마다 서버 주소나 변수들이 다른 경우가 많습니다. 그래서 각각 환경에 맞게 변수들을 등록해두고 환경에 맞게 변수가 자동적으로 적용되도록 해야합니다. 오늘은 env-cmd 패키지를 이용하여 환경변수를 설정해보겠습니다. 먼저, env-cmd를 설치합니다. npm install env-cmd or yarn add env-cmd 설치를 했다면, 환경변수 파일을 생성합니다. 저는 아래와 같은 이름과 내용으로 두 개의 파일을 생성하겠습니다. .env.dev NEXT_PUBLIC_MODE=dev .env.prod NEXT_PUBLIC_MODE=prod 그리고 package.json 파일을 수정합..

React 2021.09.27

[Next.js] ESLint, Prettier 설정하기 (Typescript/VSCode)

ESLint란? JavaScript 코드에서 발견 된 문제 패턴을 식별하기위한 정적 코드 분석 도구. Prettier란? 코드 포멧터(Code Formatter) Next.js 프로젝트에 ESLint/Prettier 적용하기 (VSCode) 프로젝트 생성 npx create-next-app --typescript 저는 typescript를 사용할 예정이므로 —typescript 옵션을 추가했습니다. ESLint 설치 npm i eslint --save-dev ESLint 설정하기 eslint --init 위 명령어를 터미널에 실행하면 eslint 설정이 시작됩니다. 여러가지 질문들이 나오는데, 저는 아래와 같이 설정했습니다. ❯ eslint --init ✔ How would you like to use ..

React 2021.09.13

[Next.js] 시작하기

시스템 요구사항 Node.js 12.0 이상 MacOS, Windows 그리고 Linux 세팅 새로운 next.js 앱을 생성하기 위해서는 'create-next-app'을 사용하길 추천한다. 'create-next-app'은 프로젝트의 필요한 모든 것을 세팅해 줍니다. npx create-next-app # or yarn create next-app 만약 TypeScript 프로젝트로 시작하기 원한다면 '—typescript' 플래그를 사용하면 됩니다. npx create-next-app --typescript # or yarn create next-app --typescript 위 명령어를 이용하여 typescript를 사용하는 프로젝트를 만들어보았습니다. 프로젝트 이름은 'next-test-app'..

React 2021.09.09

React 클래스형 컴포넌트 생명주기

constructor() 컴포넌트 생성 시점에 호출 constructor 함수는 생명주기 함수는 아니지만, 클래스형 컴포넌트가 생성될 시점에 호출되므로 생명주기에 포함. render() 컴포넌트가 그려질 때 호출 componentDidMount() 컴포넌트가 처음 화면에 그려지면 호출 componentDidUpdate() 화면이 업데이트되면(새로 그려지면) 호출 componentWillUnmount() 컴포넌트가 사라질때 호출. 아래 diagram을 참고하시면 좀 더 이해하기가 좋을 것 같습니다. https://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/ React Lifecycle Methods diagram Fully interactive and ..

React 2020.07.22
반응형