일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 이슈
- 리액트
- kubernetes
- docker
- JavaScript
- 이더리움
- HTML
- TypeScript
- react
- 블록체인
- 웹
- k8s
- es6
- 솔리디티
- 클라우드
- BFS
- VUE
- 백준
- next.js
- AWS
- 컴퓨터공학
- 프론트엔드
- 쿠버네티스
- 파이썬
- 자바스크립트
- CSS
- 알고리즘
- 타입스크립트
- 백엔드
- 가상화
- Today
- Total

목록📖 💻 백엔드 (8)
즐겁게, 코드

API의 엔드포인트를 관리하는 컨트롤러는 URL에 주어지는 파라미터를 어떻게 처리할까요? @Get() getUserById () { // 어떻게 파라미터에서 유저 아이디를 추출할 수 있을까요? return `returned user: ${userId}` } Nest.js는 데코레이터 문법을 적극적으로 활용하는데요, 오늘은 컨트롤러가 URL에서 데이터를 추출할 때 사용하는 데코레이터를 살펴보도록 하겠습니다. @Param 데코레이터 @Param 은 URL의 파라미터를 추출하기 위한 데코레이터입니다. @Get(":파라미터명") getUserById(@Param("파라미터명") userId) { return `returned user: ${userId}` } @Get(), @Post() 등 HTTP 요청 메서드..

Nest.js는 Express.js와 유사한 백엔드 프레임워크인데요, 아마 Express.js를 사용해본 경험이 있다면 한번쯤은 이런 고민을 해본적이 있을 것입니다. npm i express, 프로젝트 준비 끝! 그런데 이젠 뭘 해야하지? Express는 분명 편리하고 강력한 백엔드 프레임워크지만, 미들웨어와 라우팅 등의 기능을 자유도가 매우 높은 메서드로만 구현했기 때문에 프로젝트의 구조화 가 매우 어렵다는 단점이 있었습니다. Nest는 이런 문제를 해결하기 위해 타입스크립트를 기본으로 사용하고 모듈 단위를 통해 백엔드 코드를 보다 구조적으로 작성할 수 있게 해주는 프레임워크인데요, 오늘은 Nest의 소개와 함께 간단한 API 서버를 만들어보도록 하겠습니다. Nest 설치하기 Nest는 자체적인 cli..

서버 편 과 이어지는 글로, 클라이언트 제작 과정을 여기서 정리하려 했지만 너무 분량이 길어져 중요한 부분만 짚기로 하였습니다. 전체 서버 & 클라이언트 코드는 아래 깃허브 저장소 링크에서 확인할 수 있습니다. C17AN/react-socket-chat socket.io와 리액트를 활용한 채팅 어플리케이션. Contribute to C17AN/react-socket-chat development by creating an account on GitHub. github.com 이 글에서는 리액트 클라이언트에서 socket.io-client를 활용하는 팁만을 다룹니다. 1. 클라이언트와 서버 연결하기 - 언제나 훅을 사용하자 클라이언트에서는 socket.io-client에서 불러온 객체를 활용해 서버와 연결..
socket.io를 활용하면 사용자간 실시간 양방향 통신 어플리케이션을 만들 수 있습니다. 오늘은 socket.io / Express / React 스택을 활용해 채팅 어플리케이션을 제작해 보도록 하겠습니다. [제작할 기능] - 방, 유저네임 설정 - 방 입장 시 유저 입장 알림 - 유저간 채팅 - 방 퇴장 시 유저 퇴장 알림 1. 디펜던시 설치 - npm 또는 yarn을 활용해 먼저 express 와 socket.io 를 설치해줍니다. npm i express socket.io // 또는 yarn add express socket.io 2. 코드 작성 이후, server.js 파일을 생성하고 다음과 같이 코드를 작성합니다. // server.js const express = require("expres..

이상한 일이지만 맥에서 Nodemon을 사용할 때는 포트가 이미 점유중이라는 에러가 출력될 때가 있다. 아무튼 이것 때문에 화가 많이 나서 이리저리 검색을 해봤다. (Nodemon에서 동일한 증상을 호소하는 글이 굉장히 많았는데, 결론부터 말하자면 맥과는 관련이 없고 그냥 Case By Case 같다. --; ) 백그라운드 프로세스를 종료하기 위해 먼저 터미널을 열고 다음 명령어를 입력한다. lsof -i :(포트번호) 나의 경우에는 5000번 포트에서 무슨 일이 일어나는지 알고 싶으니 lsof -i : 5000 을 입력해준다. 그럼 이제 5000번 포트에서 구동중인 프로세스 목록이 출력된다. 이제 프로세스를 종료하기 위해 다음 명령어를 입력한다. kill -9 (PID 번호) 내 경우에는 513, 40..

[지난 글 목록] Express.js & MongoDB 기반 REST api 구현하기 - 1편 (서버 만들기) Express.js & MongoDB 기반 REST api 구현하기 - 2편 (몽고디비 연결하기) 이전 단계에서 몽고디비(MongoDB)를 사용할 준비를 마쳤으니, 이제 몽고디비를 사용해 보자. 몽고디비는 행렬 테이블로 이루어진 기존의 관계형 데이터베이스와는 다르게 어떤 값이든 DB에 어떤 형태로든 추가될 수 있다. 이는 NoSQL 방식의 큰 장점이기도 하지만 자칫하면 무질서한 데이터들로 인해 DB의 무결성을 해칠 수도 있다. 그래서 몽구스에서 제공하는 것이 스키마(Schema)로, 스키마는 데이터 포맷을 일종의 템플릿으로 정해줌으로써 몽고디비에서도 MySQL처럼 구조화된 데이터를 관리할 수 있..

지난 글에서 익스프레스를 활용한 간단한 REST api 서버를 만들었다. 서버만 만들고 마치기는 2% 아쉬우니, 몽고디비(MongoDB)와 연계해 CRUD 동작을 구현해 보자. 이번 글에서는 몽고디비를 클라우드 서비스로 제공하는 MongoDB Atlas 사용법을 정리할 예정이다. 먼저 cloud.mongodb.com/ 으로 들어가 회원가입을 마치면 보이는 아래 화면에서 [New Project] 를 선택해주자. 프로젝트의 이름과 접근 권한을 설정해주면 아래 화면이 나타난다. 아직 우리가 만든건 껍데기에 불과하니 [Build a Cluster] 를 선택해 본격적인 데이터베이스를 만들어 보자. 사용량에 따라 플랜을 선택한 다음 서비스 제공자는 AWS로 설정한 다음, 하단 배너의 [Create Cluster] ..