개인공부/TIL(Today I Learned) 95

TIL 89일차_axios 정리하기

axios 사용법이 워낙 쉬워서 그냥 써오다가 나중에 정리하자 정리하자 했는데, 오늘이 그날이다!! Request method aliases axios.request(config) axios.get(url[, config]) axios.delete(url[, config]) axios.head(url[, config]) axios.options(url[, config]) data가 들어갈 수 있는 method (안들어가도 된다) axios.post(url[, data[, config]]) axios.put(url[, data[, config]]) axios.patch(url[, data[, config]]) 사용예제 config 인자가 들어간 get 요청 axios.get('/user', ..

TIL 88일차_ Sequelize 사용하기

sequelize의 메서드를 통해서 DB에 접근하고, sequelize-cli를 설치하여, CLI에서 모델을 생성해주거나, 스키마 적용, 마이그레이션을 할 수 있다. sequelize-cli init npm install --save-dev sequelize-cli npx sequelize-cli init 위 두 명령어를 실행하여, 마이그레이션에 필요한 폴더 4가지(config, models, migrations, seeders)를 생성해준다. 이후, 첫 모델을 생성해 주자! CLI에서 간단한 명령어로 모델을 생성할 수 있다. npx sequelize-cli model:generate --name url --attributes url:string,title:string,visits:integer mode..

TIL 87일차_ try...catch문을 사용한 예외처리

오늘은 페어프로그래밍을 하면서 try catch문을 다시 알게되서, 꼭 정리를 해야겠다는 생각을 했다. 그동안 try catch문을 꽤 사용해왔지만 항상 비동기처리를 할때에만 써왔고, 다른경우의 예외처리는 늘 조건문을 통해서 처리해왔다. 그런데 오늘 페어분이 서버쪽 로직을 작성하는데 에러가나서 테스트가 넘어가지 않자, try catch문을 사용해서 예외처리를 해주는 걸 보고 여쭤봤더니, 서버쪽 로직을 작성할 때 서버가 다운될 수 있는 경우에 try catch문을 빈번하게 사용한다고 말씀해 주셨다. 그말을 듣고 나의 우매함을 반성하며 try, catch, finally 문에 대해 정리해야겠다는 생각이 들었다. try...catch와 에러핸들링 아무리 프로그래밍에 능한 사람이더라도 에러가 있는 스크립트를 작..

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,..