스터디노트/Back-end
-
Node.js watch 기능 업데이트스터디노트/Back-end 2022. 10. 25. 08:51
Node.js 18.11.0 버전 이상부터 코드 변경 사항이 있을 시 프로세스를 재시작 해주는 watch 기능이 추가됐다. nodemon을 사용하는 경우가 대부분인데 새 프로젝트에 이 기능을 사용해봐도 좋을거같다. 참고자료 https://nodejs.org/en/blog/announcements/v19-release-announce/ https://pawelgrzybek.com/til-node-v18-11-0-comes-with-a-watch-mode-so-you-might-not-need-nodemon/
-
JavaScript와 Node.js에 대해서스터디노트/Back-end 2022. 5. 27. 15:08
요새 기업에서 백엔드를 구축할 때 사용하는 기술스택을 보면 Java 말고 Node.js도 굉장히 많은 추세이다. 우리 팀에서도 Node.js를 사용하여 백엔드를 구축하고있다. 단순히 JavaScript라는 언어에 익숙했기 때문에 Node.js가 어떤 것이다 Express가 어떤 것이다라는 것을 학습하면서 Node.js로 백엔드를 구축하고 있었는데 Node.js가 왜 만들어졌고 Node.js를 사용하여 서버를 만들었을 때의 장단점과 어떤 경우에 Node.js를 사용하는게 좋은지 좀 더 근본적인 이유가 궁금했고 JavaScript라는 언어 자체의 근본적인 특징에 대해서도 궁금해졌다. 또한 우리나라 기업 백엔드 기술 스택에서 Java가 90% 이상 차지하고 있다고 생각하는데 많은 기업들이 신규 서버와 기존 서..
-
Joi()로 Validation Check하기스터디노트/Back-end 2022. 5. 25. 14:16
Validation이란?? Client에서 Server에 요청을 보낼 때 정확한 데이터를 보내고 있는지 확인해야한다. 유효성 검사는 Router에서 처리한다. Joi란?? Validation 라이브러리 npm i joi 사용 예 const joiExample = { body: Joi.object().keys({ exampleId: Joi.number().required(), exampleName: Joi.string().required(), exampleArray: Joi.array().items( Joi.object().keys( { exampleObjectId: Joi.number(), } ) ) }), }; 참고자료 https://www.npmjs.com/package/joi
-
express.Router().METHOD스터디노트/Back-end 2022. 5. 11. 09:24
Router란?? 미들웨어 및 라우팅 기능만 수행하는 미니 어플리케이션 express 어플리케이션에는 router 기능이 내장되어있다. 사용방법 : https://expressjs.com/ko/4x/api.html#express.routerconst router = express.Router([options]); router.route() router.router(path) 형태로 사용 가능하다.router.route('/') // root router.route('/auth') // auth router.METHOD(path, [callback, ...] callback) METHOD에는 소문자로 HTTP 메서드를 작성한다. get, post, patch, delete 등등..
-
Node : require() vs import스터디노트/Back-end 2022. 4. 8. 13:47
require() CommonJS Node 문법 프로그램 내 어느 지점에서도 호출할 수 있다. 예시 const httpStatus = require('http-status'); const { userService } = require("../services"); const createUser = async (req, res) => { const user = await userService.createUser(req.body); res.status(httpStatus.CREATED).json(user); } module.export = { createUser }; import ES6에서 사용되는 문법 import는 소스 최상단에 작성한다. 필요한 모듈 부분만 선택할 수 있어서 선호도가 높다 ..
-
Express에서 유용한 내부, 외부 Middleware스터디노트/Back-end 2022. 3. 24. 10:25
내부 Middleware express.json() : Rest API에서 req.body를 파싱할 때 사용 express.urlencoded() : HTML Form이라는 UI요소에서 발생된 request를 body로 자동으로 파싱 (SSR 구현에 유용) express.static() : public에 있는 리소스에 대해서 접근이 가능하게 함 참고자료 : https://expressjs.com/en/4x/api.html#express import express from "express"; app.use(express.json()); app.use(express.urlencoded({extended : false})); app.use(express.static("public") 외부 Middleware ..
-
Java - Abstract, Interface스터디노트/Back-end 2021. 11. 19. 15:14
Abstract class란?? 추상 메서드를 포함하는 클래스 객체를 만들 수 없다. 추상 메서드 구현을 위한 서브 클래스가 필요하다 Interface란?? 상수 + 추상 메서드의 집합 변수를 가질 수 없다. 모든 메서드는 public 모든 메서드는 추상 메서드 extends 부모 클래스에서 선언/정의를 하고 자식 클래스에서 메서드/변수를 그대로 사용할 수 있다. implements 부모는 객체만 선언하며 정의는 자식 클래스에서 오버라이딩한다. abstract extends + implements 일부는 재정의, 일부는 그대로 사용