HTTP 통신 HTTP 는 Hyper Text Transfer Protocol의 약자로 두 컴퓨터간의 텍스트 데이터를 주고 받는 길 입니다.
Express 공식 홈페이지Express는 Node.js에서 쉽게 웹 서버를 개발할 수 있도록 도와주는 프레임워크 입니다.
이번에는 Apollo Server 를 활용해 GraphQL-API 를 제공하는 서버를 개발해 보겠습니다.
Axios 는 브라우저, Node.js 를 위한 HTTP 비동기 통신 라이브러리입니다.
브라우저에서 백엔드 서버로 API 요청을 보냅니다. 요청을 받은 백엔드가 DB로 데이터를 저장하거나, 가져오는 등의 행동을 하기 위해 ORM(Object-Relational Mapper)이나 ODM(Object-Document Ma
MongoDB는 문서지향(Document-Oriented) 저장소를 제공하는 NoSQL 데이터베이스 시스템입니다.MongoDB에서는 데이터가 Document 로 불리며, 이 데이터의 집합을 Collection(RDMS에서는 Table) 이라고 합니다.
어떤 특정한 웹 사이트에 가서 그 사이트의 html을 긁어오는 것을 말합니다. 긁어온 정보를 잘 정리해서 DB에 저장할 수 있습니다.
class는 객체 지향 프로그래밍에서 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀로, 객체를 정의하기 위한 상태(멤버 변수)와 메소드(함수)로 구성됩니다.
SW에서 결합을 "둘 이상의 객체"로 해석했을 때, 느슨한 결합(Loose-Coupling)이란 "객체들 간에 결합이 되어있긴 하는데 헐겁게 됐다." 로 해석할 수 있습니다.느슨한 결합(Loose-Coupling)은 다른 클래스를 직접적으로 사용하는 클래스의 의존성을
brew 를 이용해 설치해보겠습니다.터미널을 열어 brew update 입력 후, brew install mysql 을 입력해 설치해주세요.설치가 완료되면 brew services start mysql 을 입력해주세요.
백엔드 개발자는 데이터를 다루는 일이 굉장히 중요합니다.쇼핑몰을 만들어야 한다고 생각해보겠습니다.여기에 들어갈 데이터는 양도 많고, 종류도 많습니다.그렇기 때문에 처음부터 설계를 잘해서 데이터를 정의해야합니다.
13-05-nestjs-with-graphql-docker-compose 폴더를 복사해 사본을 만들어주고 폴더명을 16-01-mysql-one-to-one 으로 변경해주세요.board.entity.ts 파일을 보면, 우리는 게시판 클래스를 만들어놨습니다.이번에는 상품과
이번에는 TypeORM과 GraphQL을 사용해 CRU API를 구현하겠습니다. 이전에는 실제 데이터와 연결만 진행했지만 이번에는 데이터베이스에 저장하고 저장한 데이터를 읽어와서 수정까지 진행해보겠습니다.
이번엔 Delete를 해보겠습니다.17-05-product-crud-update-with-error 폴더를 복사해 사본을 만들고 폴더명을 18-01-product-crud-delete 로 변경해줍니다.먼저 상품 삭제를 위한 비즈니스 로직을 작성하겠습니다.
N:M 등록 18-05-product-crud-delete-cascade 폴더를 복사해서 사본을 만든 후 폴더명을 19-01-product-crud-create-many-to-many 로 변경해주세요.
이번에는 비밀번호를 암호화 작업을 해보겠습니다.통상저으로 암호화는 회원가입 유저의 비밀번호를 암호화해서 데이터베이스에 저장해야합니다.만약 비밀번호를 암호화하지 않고 비밀번호가 저장되었고 데이터베이스가 노출되었다면 타인이 유저의 계정을 이용하는 최작의 상황이 발생합니다.
로그인 요청을 하고 나서, 서버에 토큰을 프론트에게 넘겨줄 때, 토큰을 하나 더 만들어서 넘겨줍니다.하나 더 만든 토큰을 refresh token 이라고 하고 기존에 발행하던 토큰을 access token 이라고 합니다.