일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 |
- OS
- python
- linux
- css
- Express
- Kotlin
- DATABASE
- TypeScript
- typeorm
- sequelize
- React
- Android
- Util
- AWS
- docker
- mongoose
- Network
- postman
- OOAD
- node.js
- Scheduling
- wireshark
- S3
- mysql
- Crawling
- ubuntu
- HTML
- MongoDB
- algorithm
- macos
- Today
- Total
목록
반응형
Express (10)
SW

들어가기 이전 포스팅 글에서는 S3에 텍스트 파일을 업로드하는 내용을 다루었다. 이번에는 node.js에서 AWS S3에 이미지를 업로드하는 내용을 다룰 예정이다. IAM 사용자 생성 AWS S3 버킷에 접근할 때 해당 버킷이 퍼블릭하지 않은 경우 IAM 사용자 권한이 필요하다. IAM 사용자를 생성함으로써 accessKey, secretAccessKey 를 발급받을 수 있으며 2개의 키를 이용해서 외부에서 버킷에 접근할 수 있다. [node.js] AWS S3에 텍스트 파일 업로드 및 다운로드 기능 구현하기 해당 포스팅 글에 IAM 사용자를 추가하는 내용을 다루었으므로 위 포스팅 글을 참고하면 좋을 것 같다. S3 Bucket 생성하기 S3 서비스에 들어간 후 버킷 만들기 를 통해서 버킷을 생성한다. ..

What is Postman? Postman은 사용자가 구축한 API를 테스트 할 수 있으며 API 라이프 사이클의 각 단계를 간소화시켜 API 개발의 생산성을 높여주는 플랫폼이다. 주로 서버사이드 개발을 하는 개발자들이 본인이 구현한 API를 테스트할 때 많이 사용된다. How to install Postman? https://www.postman.com/downloads/ 포스트맨 공식 사이트에서 해당 플랫폼을 다운받을 수 있다. 이메일을 이용해서 직접 계정을 생성할 수 있으며 구글 계정으로도 가입이 가능하다. 필자는 MacOS 운영체제를 사용중이기 때문에 다운로드 페이지에 접속하면 위와 같은 화면이 나온다. 옛날에는 Intel 칩과 Apple 칩의 구분이 없었던 것 같은데 M1이 출시하면서 세분화 ..

What is Routing? 네트워크 안에서 통신 데이터를 보낼 때 최적의 경로를 선택하는 과정이다. 라우팅의 의미를 조금 쉽게 설명해보자면 예를 들어 https://www.youtube.com 주소가 있다고 가정해보면 유튜브 홈페이지 하위에는 구독, 탐색, 보관함 등과 같이 다양한 하위 페이지가 존재한다. 예를 들어, http://www.youtube.com/feed/explore는 유튜브의 탐색 경로이며 http://www.youtube.com/feed/subscriptions는 유튜브의 구독 경로 http://www.youtube.com/feed/library는 유튜브의 보관함 경로이다. 이렇게 최상위 디렉토리 밑에 여러가지 하위 디렉토리가 있을 수 있으며 하위 주소로 연결을 가능하게 해주는 과정..

해당 포스팅은 Node.js mongoose를 이용한 MongoDB 다루기 마지막 글이다. 이번 글에서는 MongoDB CRUD 예제를 다룰 예정이므로 스키마 및 모델 정의가 되지 않은 분들은 위 포스팅 글을 참고하면 좋을 것 같다. 서론 이전 글에서는 find() 메서드를 이용한 조회 기능과 save() 메서드를 이용하여 Document를 저장하는 예제를 살펴보았다. 이번 CRUD에서 다루고자 하는 내용은 다음과 같다. find() 메서드에 조건을 추가하여 전처리 된 Document 조회 findOne() 메서드를 이용한 데이터 단일 조회 스키마를 수정 후 Document 저장 시 이름 중복 확인하기 update() 메서드를 이용한 Document 수정 remove() 메서드를 이용한 Document ..

서론 몽고디비는 비정형 데이터베이스의 특징을 가지고 있다. 따라서 Collection에 들어갈 수 있는 데이터는 어떠한 것도 올 수 있다는 장점이 있지만 데이터 조회 시 조건을 명시하기가 어렵다는 단점도 있다. 이러한 단점을 보완하고자 mongoose모듈은 스키마(Schema) 라는 인터페이스를 제공하고 있다. 스키마를 이용하면 컬렉션의 Document에 어떤 형태의 데이터가 들어가는지 쉽게 정의할 수 있다. 또한 MongoDB는 스키마가 JSON 형태로 작성되는 특징을 가지고 있다. 모델(Model)은 스키마를 감싸주는 역할로 스키마에서 정의된 형태를 실제 데이터베이스에 적용이 가능하도록 바뀐 형태를 뜻한다. 스키마와 모델의 개념 이해를 돕기 위해 예제로 살펴보고자 한다. 스키마(Schema) 정의하기..

1. 패키지 초기 설정 프로젝트 정보 및 의존성을 구성하는 packages.json 파일을 생성한다. npm init 명령어를 통해 설치할 수 있다. 필자는 ts-express라는 디렉토리에서 패키지를 생성했다. 패키지를 초기화 할 때는 다른 옵션을 건드리지 않고 엔터를 눌러 넘어갔다. 2. 필요 모듈 설치하기 익스프레스 모듈을 타입스크립트를 이용하여 사용하기 위해서는 몇가지 모듈이 필요하다. express, typescript, ts-node, @types/node, @types/express 5개의 모듈을 설치하여 개발에 필요한 모듈을 설치한다. 그리고 추가적으로 nodemon 모듈도 설치하여 서버를 껐다 키지 않아도 알아서 서버를 다시 시작해주는 모듈을 추가로 설치한다. npm install exp..

서론 이전 포스팅 글에서는 index.ts 파일에서 User 테이블에 CRUD를 하는 미들웨어를 모두 구현했었다. 그러나 실제 프로젝트를 진행하는 경우 테이블의 개수가 더욱 많아지고 프로젝트 구조는 더욱 복잡해진다. 따라서 우리는 프로젝트를 진행할 때 테이블(혹은 기능)별로 파일을 분리하는 습관을 가져야 한다. 그래서 이번 포스팅 글에서는 자바스크립트와 달리 타입스크립트 환경에서는 어떻게 라우팅을 하는지 간단하게 알아보고자 한다. 시리즈 1,2 내용에서 다룬 내용을 기반으로 진행하는 내용이므로 개발환경 설정이 되지 않은 분들은 시리즈1, 시리즈2를 참고하면 좋을 것 같다. 또한 타입스크립트 기반이 아닌 Javascript + Express 기반 라우팅 사용법을 알아보고자 하는 분들은 여기를 참고하면 좋을..

서론 이전 시간에는 Express 개발 환경에서 TypeORM을 구성하는 방법을 알아보았다. 이번 글에서는 스키마에 생성되어 있는 테이블에 데이터를 삽입, 삭제, 수정, 조회 하는 방법을 예시를 통해서 알아보고자 한다. TypeORM 개발 환경을 세팅하지 않은 분들은 여기를 참조하면 좋을 것 같다. 먼저 이전 포스팅 글에서 구현했던 index.ts 파일의 코드를 다음과 같이 수정했다. app.listen() 함수 수정하기 app.listen(3000, () => { console.log('Starting Server with 3000 port'); createConnection().then(async connection => { console.log("디비 연결 성공"); }).catch(error =>..

서론 이번 포스팅 글에서는 Express 환경에서 타입스크립트를 이용하여 서버를 구축하고, 타입스크립트에서 사용할 수 있는 ORM인 TypeORM을 이용하여 관계형 데이터베이스를 구축하는 예제를 살펴보고자 한다. 개발환경 구성하기 npm install typeorm -g 명령어를 통해 typeorm을 설치한다. 다음으로 typeorm init --name typeorm-example --database mysql 명령어로 typeorm을 기반으로 하는 환경을 초기화한다.위와 같이 입력하면 typeorm-exmaple 이름의 디렉토리가 생성되며 데이터베이스 종류는 Mysql로 지정한다는 의미이다. 디렉토리 구조는 다음과 같다. typeorm-example ├── src │ ├── entity │ │ └──..

미들웨어(MiddleWare)? 미들웨어는 양 쪽을 연결하여 데이터를 주고 받을 수 있도록 중간에서 매개 역할을 하는 소프트웨어, 네트워크를 통해서 연결된 여러 개의 컴퓨터에 있는 많은 프로세스들에게 어떤 서비스를 사용할 수 있도록 연결해 주는 소프트웨어를 말한다. 쉽게 생각하면 미들웨어는 클라이언트로부터 요청이 오고, 해당 요청을 다시 응답으로 보내기 위해 목적에 맞게 작성된 함수들의 연속이라고 생각할 수 있다. app.use() 를 통해서 미들웨어를 정의할 수 있다. 미들웨어는 본인의 함수가 끝나면 next()를 통해서 다음 함수를 호출해야 한다. 미들웨어의 특징 각 미들웨어에 정의된 코드를 실행한다. 다음 미들웨어를 순차적으로 실행한다. res.send() 등의 메서드를 이용하여 클라이언트와 서버간..