ORM(Object-Relational Mapping)은 객체지향 패러다임을 활용하여 관계형 데이터베이스(RDB)의 데이터를 조작하게 하는 기술이다. 이를 활용하면 쿼리를 작성하지 않도고 객체의 메서드를 활용하는 것처럼 쿼리 로직을 작성할 수 있다. 백엔드를 구축하다가 RDB에 단순 쿼리를 날리는 것이 비효율적 => Node.js의 대표적인 ORM인 Sequelize를 사용 Sequelize는 MySQL, PostgreSQL, MariaDB 등 많은 RDBMS를 지원하고 Promise기반으로 구현되었기 때문에 비동기로직을 편리하게 작성할 수 있다. (이전에 MongoDB a.k.a noSQL 에서는 mongoose를 사용한 것처럼) 자바스크립트 구문을 알아서 SQL로 변환해주는 모듈이다. 다른 데이터베이..
Authentication (인증) `the process of verifying who someone is.` 인증은 사용자의 신원을 검증하는 행위로서 보안 프로세스에서 첫 번째 단계이다. 유저가 로그인(아이디와 패스워드 입력)하는건 인증 과정에 있는 것이다. Authorization (권한 부여) `the process of verifying what resources a user has access to.` 시스템 보안에서 인가란, 사용자에게 특정 리소스나 기능에 액세스할 수 있는 권한을 부여하는 프로세스를 말한다. JSON Web Tokens JWT는 사용자 인증(로그인 과정)이 이미 수행되었음을 확인하며, 사용자는 요청 인증 헤더에 JWT를 전송하여 REST API 엔드포인트에 대한 권한이 부여..
[명령어 순서] 1. 우선 GitHub의 저장소에 새로운 커밋이 있는 지 status 명령어로 확인해줍니다. git status #원격 리포와 로컬의 변경사항이 있는지 없는지 확인합니다. 2. fetch 명령어는 변경된 데이터를 확인만합니다. pull의 경우는 해당 최신 데이터를 가져와 로컬과 동기화시키죠. 아래의 변경사항을 로컬로 가져온다는 의미는 Git에게 원격 저장소의 최신 메타데이터를 확인하라고 지시했기 때문입니다. (Git: 어! 변경사항이 있긴하네!!! 내PC: 엇 뭐지 나도 알려줭) git fetch #pull하기 전에 원격저장소의 변경사항을 로컬로 가져옵니다. 3. diff 명령어를 통해서 로컬PC에서도 변경점을 확인할 수 있습니다. (물론 변경내용을 터미널로 보기때문에 시각적으로 좀 불편..
사용 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
- getServerSideProps
- 원티드 프리온보딩 FE 챌린지
- D 플래그
- 타입스크립트 DT
- reactAPI
- 항해99프론트후기
- 항해99추천비추천
- text input pattern
- 원티드 3월 프론트엔드 챌린지
- && 셸 명령어
- nvm 설치순서
- grid flex
- Prittier
- fs모듈 넥스트
- nvm경로 오류
- aspect-ratio
- 틸드와 캐럿
- 부트캠프항해
- 원티드 프리온보딩 프론트엔드 챌린지 3일차
- is()
- 타입스크립트 장점
- getStaticPaths
- 항해99프론트
- 프리렌더링확인법
- ~ ^
- 원티드 FE 프리온보딩 챌린지
- 프리온보딩 프론트엔드 챌린지 3월
- float 레이아웃
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |