일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 |
- 정수형타입
- oracle
- 오라클
- 컬렉션프레임워크
- 사용자예외클래스생성
- 환경설정
- 제네릭
- 인터페이스
- 자동차수리시스템
- NestedFor
- exception
- 집합_SET
- abstract
- 예외미루기
- 어윈 사용법
- 객체 비교
- 예외처리
- cursor문
- 참조형변수
- 대덕인재개발원
- 생성자오버로드
- 추상메서드
- 다형성
- EnhancedFor
- GRANT VIEW
- 한국건설관리시스템
- 자바
- 컬렉션 타입
- 메소드오버로딩
- Java
- Today
- Total
목록2024/02/20 (11)
거니의 velog
7. 데이터 생성과 조회 * 우리는 지난 시간 REST API를 학습하면서 임시적으로 자바스크립트 배열을 사용하여 기능을 구현했다. 자바스크립트 배열 데이터는 시스템 메모리 쪽에 위치하기 때문에 서버를 재시작하면 초기화된다. 이번에는 배열 대신에 MongoDB에 데이터를 등록하여 데이터를 보존해 보겠다. (1) 데이터 생성 * 기존에 작성했던 로직을 모두 새로 작성할 것이므로 posts.ctrl.js에서 기존 코드를 모두 지우고 다음 코드를 입력하자. import Post from '../../models/post'; export const write = (ctx) => {}; export const list = (ctx) => {}; export const read = (ctx) => {}; expor..
5. 데이터베이스의 스키마와 모델 * mongoose에는 스키마(schema)와 모델(model)이라는 개념이 있는데, 이 둘은 혼동하기 쉽다. 스키마는 컬렉션에 들어가는 문서 내부의 각 필드가 어떤 형식으로 되어 있는지 정의하는 객체이다. 이와 달리 모델은 스키마를 사용하여 만드는 인스턴스로, 데이터베이스에서 실제 작업을 처리할 수 있는 함수들을 지니고 있는 객체이다. (1) 스키마 생성 * 모델을 만들려면 사전에 스키마를 만들어 주어야 한다. 우리는 블로그 포스트에 대한 스키마를 준비할 텐데, 어떤 데이터가 필요할 지 한번 생각해 보자. (1) 제목 (2) 내용 (3) 태그 (4) 작성일 * 포스트 하나에 이렇게 총 네 가지 정보가 필요하다. 각 정보에 대한 필드 이름과 데이터 타입을 설정하여 스키마..
4. esm으로 ES 모듈 import/export 문법 사용하기 * 기존 리액트 프로젝트에서 사용해 오던 ES 모듈 import/export 문법은 Node.js에서 아직 정식으로 지원되지 않는다. Node.js에 해당 기능이 구현되어 있기는 하지만 아직 실험적인 단계이기 때문에 기본 옵션으로는 사용할 수 없으며, 확장자를 .mjs로 사용하고 node를 실행할 때 --experimental-modules 라는 옵션을 넣어 주어야 한다. * Node.js에서 import/export 문법을 꼭 사용해야 할 필요는 없지만, 이 문법을 사용하면 VS Code에서 자동 완성을 통해 모듈을 자동으로 쉽게 불러올 수 있고 코드도 더욱 깔끔해진다. 그래서 우리는 esm이라는 라이브러리의 도움을 받아 해당 문법을 사..
3. mongoose의 설치 및 적용 * mongoose는 Node.js 환경에서 사용하는 MongoDB 기반 ODM(Object Data Modeling) 라이브러리이다. 이 라이브러리는 데이터베이스 문서들을 자바스크립트 객체처럼 사용할 수 있게 해준다. * 이전에 만든 백엔드 프로젝트를 이어서 진행해 보겠다. 프로젝트 디렉터리에서 다음 명령어를 입력하여 mongoose와 dotenv를 설치하자. $ yarn add mongoose dotenv * dotenv는 환경변수들을 파일에 넣고 사용할 수 있게 하는 개발 도구이다. mongoose를 사용하여 MongoDB에 접속할 때, 서버에 주소나 계정 및 비밀번호가 필요할 경우도 있다. 이렇게 민감하거나 환경별로 달라질 수 있는 값은 코드 안에 직접 작성하..
2. MongoDB 서버 준비 (1) 설치 * MongoDB 서버를 사용하려면 우선 설치부터 해야 한다. [Windows] * Windows 환경에서는 MongoDB 공식 사이트의 다운로드 페이지에서 인스톨러를 내려받아 설치해야 한다. https://www.mongodb.com/try/download/community Try MongoDB Community Edition Try MongoDB Community Edition on premise non-relational database including the Community Server and Community Kubernetes Operator for your next big project! www.mongodb.com * 설치하는 도중에 Compl..
* 이 장에서는 우리가 만들 Node.js 서버와 MongoDB를 연동할 수 있도록 MongoDB 기초 지식을 알아보자. 그리고 mongoose를 이용하여 서버에서 직접 데이터를 추가, 조회, 삭제, 수정하는 방법도 알아보자. * 이번 실습은 다음 흐름으로 진행한다. 1. 소개하기 * 서버를 개발할 때 데이터베이스를 사용하면 웹 서비스에서 사용되는 데이터를 저장하고, 효율적으로 조회하거나 수정할 수 있다. 기존에는 MySQL, OracleDB, PostgreSQL 같은 RDBMS(관계형 데이터베이스)를 자주 사용했다. * 그런데 관계형 데이터베이스에는 몇 가지 한계가 있다. * 첫 번째는 데이터 스키마가 고정적이라는 것이다. 여기서 스키마란 데이터베이스에 어떤 형식의 데이터를 넣을지에 대한 정보를 가리킨..
(3) REST API * 웹 애플리케이션을 만들려면 데이터베이스에 정보를 입력하고 읽어 와야 한다. 그런데 웹 브라우저에서 데이터베이스에 직접 접속하여 데이터를 변경한다면 보안상 문제가 되지 않을까? 그래서 REST API를 만들어서 사용한다. * 클라이언트가 서버에 자신이 데이터를 조회, 생성, 삭제, 업데이트 하겠다고 요청하면, 서버는 필요한 로직에 따라 데이터베이스에 접근하여 작업을 처리한다. * REST API는 요청 종류에 따라 다른 HTTP 메서드를 사용한다. HTTP 메서드는 여러 종류가 있으며, 주로 사용하는 메서드는 다음과 같다. 메서드 설명 GET 데이터를 조회할 때 사용한다. POST 데이터를 등록할 때 사용한다. 인증 작업을 거칠 때 사용하기도 한다...
4. nodemon 사용하기 * 서버 코드를 변경할 때마다 서버를 재시작하는 것이 꽤 번거로울 것이다. 이 때, nodemon이라는 도구를 사용하면 코드를 변경할 때마다 서버를 자동으로 재시작해 준다. * 우선 이 도구를 개발용 의존 모듈로 설치하자. $ yarn add --dev nodemon * 그 다음에는 package.json에 scripts를 다음과 같이 입력하자. { "name": "blog-backend", "version": "1.0.0", "main": "index.js", "license": "MIT", "dependencies": { "eslint-config-prettier": "^9.1.0", "koa": "^2.15.0" }, "devDependencies": { "eslint"..
3. Koa 기본 사용법 (1) 서버 띄우기 * 먼저 서버를 여는 방법부터 알아보자. 기존 index.js 파일에 작성한 코드를 지우고, 다음 코드를 입력하자. const Koa = require('koa'); const app = new Koa(); app.use((ctx) => { ctx.body = 'hello world'; }); app.listen(4000, () => { console.log('Listening to port 4000'); }); * 서버를 포트 4000번으로 열고, 서버에 접속하면 'hello world' 라는 텍스트를 반환하도록 설정했다. 서버를 한 번 실행해 보자. $ node src * 원래 node를 통해 자바스크립트 파일을 실행할 때는 node src/index.js..
2. 작업 환경 준비 (1) Node 설치 확인 * Node.js 개발을 하기 위해서는 당연히 Node.js 런타임이 설치되어 있으야 한다. 우리는 이미 이전에 설치했다. Node.js가 잘 설치되어 있는지 터미널에서 다시 버전을 확인해 보자. $ node --version (2) 프로젝트 생성 * 이번에 만들 백엔드 프로젝트는 우리가 마지막으로 다룰 블로그 서비스와 연동할 서버이다. blog 디렉터리를 만들고, 그 내부에 blog-backend 디렉터리를 만들자. 해당 디렉터리에서 yarn init -y 명령어를 실행하여 패키지 정보를 생성한다. $ mkdir blog $ cd blog $ mkdir blog-backend $ cd blog-backend $ yarn init -y * 이 작업을 하고 ..