ORM(Object-Relational Mapping)은 객체지향 패러다임을 활용하여 관계형 데이터베이스(RDB)의 데이터를 조작하게 하는 기술이다. 이를 활용하면 쿼리를 작성하지 않도고 객체의 메서드를 활용하는 것처럼 쿼리 로직을 작성할 수 있다. 백엔드를 구축하다가 RDB에 단순 쿼리를 날리는 것이 비효율적 => Node.js의 대표적인 ORM인 Sequelize를 사용 Sequelize는 MySQL, PostgreSQL, MariaDB 등 많은 RDBMS를 지원하고 Promise기반으로 구현되었기 때문에 비동기로직을 편리하게 작성할 수 있다. (이전에 MongoDB a.k.a noSQL 에서는 mongoose를 사용한 것처럼) 자바스크립트 구문을 알아서 SQL로 변환해주는 모듈이다. 다른 데이터베이..
사용 Node.js 라이브러리 🌝express-async-handler Express.js에서 비동기식 요청 핸들러를 처리하기 위한 미들웨어(async error handleing middleware for Express) Express.js의 기본 요청 핸들러는 예외 처리를 하지 못하는 경우가 많기 떄문에, 이를 해결하기 위해 만들어진 미들웨어 라이브러리이다. 이 라이브러리를 사용하면 예외 처리가 가능한 비동기식 요청 핸들러를 쉽게 작성할 수 있다. async를 쉽게 사용할 수 있고, Request Handler를 처리하는데 공통적으로 오류처리를 할 수 있거나 간단하게 구현할 수 있다. 1-1. request handler의 오류처리 Q. What is request handler in Express?..
몽고디비는 유명하고 널리사용되는 noSQL 중 하나이다. node.js 서버에 mongoDB를 연결하려면, 몽고디비 공식홈페이지에서 가입 후, 클러스터를 생성해줘야 한다. 클러스터가 생성되었으면 connect 버튼을 눌러 Connect to your application의 `Drivers`를 눌러주면 된다. Connection with MongoDB Driver 스텝에서 2번째에 보면 `npm install mongodb` 라는 명령어와 함께 몽고디비 라이브러리를 설치하라고 나와있지만 `mongoose` 를 설치해주면 된다. 3번째 스텝에 Add your connection string into your application code라고 붙여넣을 코드가 있는데 복사해서 password부분만 내가 지정한 ..
프론트엔드로서 백엔드와 처음 협업할 때 가장 무서워했던 게 바로 CORS 에러였다. 뭔진 모르겠지만 우선 빨간색에 API요청이 안되는 게 혼란 그 자체였는데 MERN 프로젝트를 진행하면서 백엔드의 cors 라이브러리를 사용해보게 됐다. CORS는 Cross-Origin Resurece Sharing의 약자로, 자신이 속하지 않은 다른 도메인/ 프로토콜/ 포트에 있는 리소스를 요청하는 cross-origin HTTP 요청방식이다. 중요한 점은 서버는 기본적으로 CORS 방식을 제한해둔다. 왜냐하면 특정 서버 리소스에 다른 임의의 웹 사이트들이 request를 보낼 수 있다면 악의적으로 특정 서버의 세션을 탈취하거나 서버에 무리가 가는 행위를 일으킬 수 있기 때문이다. 그렇다면 서버가 직접 특정 도메인들만 ..
date-fns 는 많은 JS 날짜 관련 라이브러리 중 tree shaking을 지원하고 fucntional pattern으로 동작하는 라이브러리이다. yarn add date-fns 위의 명령어를 통해 내 프로젝트에 date-fns를 설치해준다. date-fns도 moment.js나 day.js처럼 date-fns 모듈 객체를 불러와서 사용이 가능하다. 위의 두 가지 라이브러리와 다르게 tree shaking 지원, functional하게 사용 가능하다는 장점이 있다. 장점을 살려 사용에 필요한 함수를 import하여 사용하는 것이 불필요한 함수에 용량을 사용하지 않을 수 있다. //logger.js const { format } = require("date-fns"); //159.7k // v4를 u..
🐱👤Express는 Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크이다. 웹 및 모바일 어플리케이션을 지원 API : 자유롭게 활용할 수 있는 수많은 http 유틸리티 메서드 및 미들웨어 제공 성능: 웹 어플리케이션 기능으로 구성된 얇은 계층을 제공하여, Node.js 기능을 모호하게 만들지 않음 Framworks: 많은 유명한 프레임워크들이 Express를 기반으로 하고있다. 🐱👤Express와 Node란? Node는 오픈소스, 크로스 플랫폼이며, 개발자가 모든 종류의 서버 사이드 도구들과 어플리케이션을 JS로 만들수 있또록 해주는 런타임환경이다. 런타임은 브라우저 영역 밖에서도 사용할 수 있도록 의도했다.(e.g. 서버 OS 또는 컴퓨터에서 직접적으로 실행되는 어플리케이션) 이와 같이,..
- Total
- Today
- Yesterday
- tilde caret
- nvm경로 오류
- 원티드 프리온보딩 프론트엔드 챌린지 3일차
- 원티드 프리온보딩 FE 챌린지
- 항해99추천비추천
- Prittier
- 프리온보딩 프론트엔드 챌린지 3월
- 부트캠프항해
- grid flex
- aspect-ratio
- D 플래그
- 항해99프론트후기
- text input pattern
- getStaticPaths
- float 레이아웃
- 타입스크립트 장점
- 틸드와 캐럿
- 원티드 3월 프론트엔드 챌린지
- nvm 설치순서
- && 셸 명령어
- reactAPI
- ~ ^
- 프리렌더링확인법
- 원티드 FE 프리온보딩 챌린지
- fs모듈 넥스트
- 형제 요소 선택자
- 항해99프론트
- is()
- getServerSideProps
- 타입스크립트 DT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |