전체 글 111

TIL 86일차_쿠키와 세션

인증(authentication)을 공부하면서 배우게 되는 쿠키와 세션에 대해 정리해봤다. 특히 express-session 라이브러리를 사용하여 쿠키설정을 하는 부분은 까먹을게 분명하니까 꼭 적어놔야지! 쿠키 쿠키란??? 쿠키는 클라이언트(브라우저) 로컬에 저장되는 키와 값이 들어있는 작은 데이터 조각이다. 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재 요청 할 때, 저장된 데이터 조각(쿠키)를 함께 전송한다. 쿠키는 주로 두 요청이 동일한 브라우저에서 들어왔는지를 판단할 때 사용한다. 쿠키는 http의 무상태성을 상태를 가질 수 있게 만들어주기때문에, 사용자의 로그인 상태를 유지하는 등에 쓰인다. 쿠키의 동작 방식 서버에서 HTTP요청을 수신할 때, 서버는 응답과 함께 Set-Co..

TIL 85일차_Express res.json과 res.send

Express를 통해서 JSON 응답을 보낼 때, Express의 res.json 함수를 쓰기도 하고, res.send 함수를 쓰기도 하는데 이 둘의 차이가 궁금해졌다. res.json을 써도, res.send를 써도 JSON 응답을 보낼 수 있는데, 둘의 차이는 뭘까??? 둘의 함수 내부 코드를 살펴본 글이 있어서 감사히 잘 알 수 있었다. res.json res.json 소스코드의 일부는 다음과 같다. res.json = function json(obj) { var val = obj; // 생략... var app = this.app; var escape = app.get('json escape') var replacer = app.get('json replacer'); var spaces = app..

TIL 84일차 Error(npm install, storybook)

npm install 오류 code ERESOLVE 오류! npm install시 package.json에 기록된 모듈의 버전과 로컬에 설치된 모듈의 버전이 달라서 생기는 오류인 듯하다. 오류메시지 해결 다운그레이드하여 설치해준다. npm install --save --legacy-peer-deps StoryBook babel-loader 오류 npx sb init 실행 후 스토리북을 실행시켰을 때, 설치되어 있는babel-loader의 버전이 storybook이 요구하는 버전보다 높아서 생기는 오류인듯 하다. 오류 메시지 There might be a problem with the project dependency tree. It is likely not a bug in Create React App,..

TIL 83일차_ORM: Sequelize

요즘 날씨가 완전 봄이다.🌸 봄이오면서 나른~해지고 춘공증도 오구, 아침에 일어나기두 힘들구, 운동도 잘 안하게되구... 점점 생활루틴이 많이 망가진다는 느낌을 받는다. 😭 내일 일어나면 아침꼭먹고, 틈틈이 철봉만이라도 해야지.. 잡설은 그만하고, 내일 배울 ORM에 대해서 미리 공부해봤다. ORM (Object-relational Mapping) 이란? ORM(Object-relational Mapping)이란 OOP 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법으로 쉽게 말해 객체로 관계형 데이터베이스를 관리하는 기술이다. 대부분의 개발 언어 platform마다 제공되고 있으며, 대표적으로 spring에는 JPA가, node의 sequalize, 또 Django에는 orm이 내장되어있다. OR..

TIL 82일차_리액트(CRA) 프로젝트 초기세팅하기

프로젝트를 시작하기 전에, 작은페이지라도 처음부터 만들어봐야겠다는 생각이 들어서 CRA로 시작하는 초기세팅을 해보려한다. CRA 설치 npx create-react-app 이후 public폴더안의 index.html과 src폴더 안의 index.js 를 제외하고 다 삭제해준다. 라이브러리 설치 (예시: React Router) React Router 설치 npm install --save react-router-domsrc 폴더 안에 Router.js파일 생성 Router.js 파일 세팅 요청 경로와 렌더링할 컴포넌트 설정한다. 하위 라우터 중 하나를 선택한다. 요청 경로를 다른 경로로 리다이렉션 한다. (아래의 경우로 예를 들면, 설정하지 않는 경로 요청 시 "/" Home 경로로 이동한다는 말이다. ..

TIL 81일차_SQL: 두가지 key와 group by

본격적으로 DB를 배우기 시작하면서 마주한 SQL! 공부하면서 정리가 필요하다고 생각했던 두가지 key와 group by 문법에 대해 정리해보려고 한다. 두가지 key, Primary Key와 Foreign Key Key는 기본적으로 테이블에서의 중복된 데이터가 삽입되는 것을 방지하기 위한 제한조건이다. 이 Key에는 Primary Key 와 Foreign Key 두가지가 있다. Primary Key가 하나의 테이블에서의 고유한 값이라면, Foreign Key는 여러개의 테이블을 다룰 때 테이블간의 관계를 참조해주는 Key라고 할 수 있다. 필드명특성sid기본키last_name first_name 필드명특성order_id기본키order_date customer_sid외래키amount 위의 에제에서, or..