작은 도서관
article thumbnail
[유틸리티] postman으로 api 테스트하기

https://www.postman.com/downloads/ Download Postman | Get Started for Free Try Postman for free! Join 17 million developers who rely on Postman, the collaboration platform for API development. Create better APIs—faster. www.postman.com postman은 여기서 다운로드 할 수 있습니다. 회원가입하거나 스킵하여 바로 사용할 수 있습니다. 이런 화면에서 api 테스트를 진행합니다. New를 눌러 http request 외에도 많은 api 테스트 포맷을 지원하나 http request를 가장 많이 사용하게 될겁니다. 간단하게 a..

article thumbnail
[express] 필요한 api 라우팅하기
코딩/Express 2022. 3. 7. 20:38

셀프 레퍼런스 https://flreauniverse.tistory.com/19 (rest API의 사용) https://flreauniverse.tistory.com/22 (postman으로 api 테스트하기) 개요 라우터란? api 구상하기 restful api로 라우팅하기 api 목적에 따라 URI 분리하기 라우터란? 특정 URL이나 메서드에 대해 처리하는 방식을 결정하는 것을 뜻합니다. 쉽게말해, URL이 갈 길을 알려주는 일이라고 보시면 됩니다. api 구상하기 먼저, 게시판답게 게시물을 관리하는 api가 필요합니다. 가장 간단한 CRUD(Create, Read, Update, Delete)만 구상했습니다. Restful API로 라우팅하기 전에 만들어놓은 index.js에 다음 코드를 추가해줍..

article thumbnail
[express] 개요
코딩/Express 2022. 3. 5. 15:49

이 프로젝트에서는 expressjs를 사용해 게시판에서 사용하는 가장 간단한 백엔드 서버를 구현합니다. nodejs의 패키지를 설치하고 관리하는 법을 배웁니다. mongoose를 사용하여 서버와 MongoDB를 연결하고 데이터를 관리하는 법을 배웁니다. 다음 지식이 필요합니다 자바스크립트 문법 프론트엔드와 백엔드의 개념 기초적인 윈도우 명령어 사용법 사용 스택 백엔드: express.js DBMS: MongoDB(mongoose) api 테스트: postman 개요 express 시작하기 express 시작하기 nodejs의 가장 대표적인 패키지 관리자로는 npm이 있습니다. 다만, 이 프로젝트에선 npm대신 yarn을 사용합니다. 제일 먼저, yarn을 설치해줍니다. > npm install yarn ..

article thumbnail
[개념] 백엔드와 프론트엔드의 통신
코딩/웹 개념 2022. 2. 27. 17:38

개요 http란? rest API의 사용 URL 구조(API 디자인) URL PARAMS 매개변수 사용하기 HTTP란? 사용자(프론트엔드)와 백엔드간 일련의 요청과 응답으로 이루어진 인터넷 통신 프로토콜입니다. 단순히 페이지에 접속할때도 이와같은 요청-응답이 이루어지며, 예를들어 www.google.com 이라는 주소에 접속한다면 서버에 구글 페이지를 보여달라고 요청하고, 페이지를 응답받는 통신을 하게되죠. 페이지에 접속할때 가끔 나타나는 '서버가 응답하지 않습니다'같은 오류도 페이지를 보여달라고 요청했으나 여러 문제로 인해 응답이 오지 않는다는 의미입니다. 페이지 뿐 아니라 서버도 http 프로토콜로 통신하고 있습니다. 예를들어 '유저 정보 페이지'를 사용자가 요청하면, 프론트엔드 서버에서는 백엔드 서..

[nestjs] 로그인과 권한 부여
코딩/백엔드 2021. 12. 20. 22:59

사용 라이브러리 "@nestjs/common": "^8.0.0", "@nestjs/core": "^8.0.0", 개요 데코레이터 구현 유저에 rules 추가 로그인과 토큰 발급 처리 구현 데코레이터 구현 먼저, 컨트롤러에 사용할 데코레이터를 구현할 필요가 있다. 그 전에, 서버 내에서 사용할 역할을 나타내는 역할의 열거형을 만들어야한다. src/modules 아래에 /roles 폴더를 만들고 다음을 작성한다. // roles.enum.ts export enum Role { User = 'user', Admin = 'admin', } 필요한 대로 추가해도 되지만, 일단은 예시니까 user와 admin만 추가한다. // roles.decorator.ts import { SetMetadata } from '@..

데미안
서평/고전 문학 2021. 11. 2. 17:44

데미안: 에밀 싱클레어의 청년 시절 이야기 기본 정보 데미안의 초판은 1919년, 독일어로 저자 '헤르만 헤세'의 가명인 '에밀 싱클레어'로 발간되었다. 이에는 이미 작가로서 성공했던 헤르만 헤세가 본인의 작품성을 검증받기 위해 에밀 싱클레어로 발간했다는 설, 제 1차 세계대전 이후 작가로서 비난받아 본인의 이름으로 출간할 수 없었다는 두 가지 설이 있다. 두 가지 어느 쪽 설이 정설이든, 데미안은 당시 자아와 희망을 잃고 살아가던 청년들에게 엄청난 인기를 끌었고, 독자들은 신인 작가 '에밀 싱클레어'가 대체 누구인지 궁금해했다. 어느 평론가가 이 책이 헤르만 헤세의 문체와 같다는 것을 밝혀내고 나선, 1920년부터 '헤르만 헤세'저로 출간되었다. 이후 한국에선 많은 출판사가 번역하여 출간했는데, 필자는..

article thumbnail
[nestjs] socket.io 사용과 테스트
코딩/백엔드 2021. 11. 1. 08:43

사용 라이브러리 "@nestjs/websockets": "^8.1.2", "socket.io": "^4.3.1" 소켓 개념의 이해 우리가 통신할때는 http라는 통신 방법을 사용한다. 이 방법은 클라이언트가 서버에 요청을 보내면 서버가 클라이언트에 응답을 보내주는 방식으로, 일련의 요청과 응답이 끝나면 서버는 더 이상 클라이언트에 정보를 보내지 못한다. 이 방식으로 채팅을 구현하기엔 한 가지 문제가 있다. 클라이언트에서 채팅이 왔는지 확인하는 요청을 1초에 한 번씩 보낼 순 없는 노릇이다. 그래서 등장한 통신 방식이 WebSocket이다. 이 방식은 http와 다르게 request와 response로 통신하는것이 아닌, open과 close의 여부로 통신한다. 클라이언트에서 서버에 Socket을 열어달라..

article thumbnail
[koa] mongoose 연결 / CRUD
코딩/백엔드 2021. 10. 7. 17:52

사용 라이브러리 "@koa/router": "^10.1.0", "@types/dotenv": "^8.2.0", "@types/mongoose": "^5.11.97", "koa": "^2.13.1", 개요 mongoose를 koa 프로젝트에서 사용하기 mongoose를 사용하여 User 모델 제작 restfulAPI로 라우터 구축 UserCRUD 제작 1. mongoose를 koa 프로젝트에서 사용하기 import mongoose from 'mongoose'; // 주로 사용하는 mongoose 연결 템플릿. mongoose.connect( process.env.DB_URI!, { user: process.env.DB_USER, pass: process.env.DB_PASSWORD, useNewUrlPar..