분류 전체보기

· TIL
Node.js 주특기 심화 [8일차] 오늘 한 일 오늘은 어제 prisma로 만든 기본 API 뼈대에서 게시글 API 구현 및 게시글에 해당하는 댓글 API를 구현했다. (게시글, 댓글 CRUD) 거기에 더해 트랜잭션(Transaction)에 대해 배우고 트랜잭션을 이용하여 리팩토링, express-session 패키지를 이용해 jwt대신 session으로 리팩토링하는 작업을 했다. 배운 부분 1. 트랜잭션(Transaction) : 트랜잭션이란 작업의 완전성을 보장해주기 위해 사용되는 개념이다. 특정한 작업을 전부 처리하거나, 전부 실패하게 만 들어 데이터의 일관성을 보장해주는 기능이다. 트랜잭션의 특징으로 ACID가 있는데, Atomicity(원자성), Consistency(일관성), Isolatio..
· TIL
Node.js 주특기 심화 [7일차] 오늘 한 일 오늘은 prisma를 이용한 API 설계 및 쿠키와 세션, 토큰을 직접적으로 보내는 법, winston 패키지를 이용한 로그 미들웨어 만들기를 배웠다. 조금은 큰 단원들을 빠르게 배우다보니 전체적인 정리는 힘들 것 같고, 중간에 중요하고 기억해야 할 필요가 있다고 생각해서 메모해뒀던 부분들을 파편적으로라도 적어두려고 한다. 배운 부분 1. 얼마 전 프로젝트를 구현하며 헷갈렸던 cookie 전달에 관련한 부분 cookie의 key값으로 name, value값으로 sparta를 넣어두었을 때, res.cookies로 보낸 쿠키는 req.headers.cookies로 받을 수 있다. 이 때, 받은 쿠키 값의 형태는 name=sparta와 같은 형태를 지니기 때..
· TIL
Node.js 주특기 심화 [4일차] 기념할 일 사실 오늘은 아니고 어제 프로그래머스 1300점에 도착했다. 집중 안되고 피곤할 때마다 조금씩 풀어봤는데 점수가 꽤나 쌓인 것 같아 기분이 좋다. 오늘 한 일 오늘은 prisma 사용시 기본 설정과 prisma를 이용한 테이블 생성 및 조회, 등록, 수정, 삭제 API를 만들어봤다. 신기했던게 지금까지 사용해왔던 ORM ODM 중에 제일 쉬웠던 것 같다. 실제로 mongoDB나 MySQL을 쓸 때 사용했던 mongoose 나 sequelize 같은 경우에는 스키마와 모델, 마이그레이션과 모델을 굳이 왜 나눴지? 한 번에 조건을 설정해주고 DB와 연동된 javascript 부분을 다루면 되는거 아닌가? 라는 생각이 들었었다. 하지만 prisma는 내가 생각하..
· Error
문제 상황 yarn을 설치했음에도 yarn 명령어를 찾을 수 없다는 에러가 발생했다. npm install -g yarn yarn을 global로 설치해줬음에도 여전히 yarn 명령어를 실행할수도, yarn --version으로 확실하게 깔렸는지, 버전이 얼마인지도 확인할 수 없었다. 해결 우선 다른 블로그를 참고하여 yarn이 깔려있는지부터 확인했다. npm list -g 터미널에 위와 같은 명령어를 치게 되면 npm에서 global로 설치한 모듈을 확인할 수 있다. 내 상황에서는 yarn이 정상적으로 깔렸음에도 실행되지 않는 상황이란 것을 알 수 있었다. window 환경에서의 해결방법 1. window 작업표시줄 왼쪽에서 '시스템 환경 변수 편집'을 검색 후 클릭 2. '시스템 속성' - '고급' ..
· Javascript
들어가며... 각종 알고리즘 문제들을 풀거나 유효성 검사에서 정규표현식을 사용할 일이 생각보다 꽤 많아서 이참에 정리해두려고 한다. 정규 표현식 정규 표현식은 문자열에서 특정 문자 조합을 찾기 위한 패턴이다. Javascript에서는 정규 표현식의 객체로서, RegExp의 exec()와 test() 메서드를 사용할 수 있다. 또한 String의 match(), matchAll(), replace(), search(), split() 메서드와 함께 사용할 수 있다. 정규 표현식 만들기 정규 표현식은 다음과 같은 두 가지 방법으로 만들 수 있다. 1. 정규 표현식 리터럴 const re = /ab+c/; 2. RegExp 객체 생성자 호출 const re = new RegExp("ab+c"); 플래그를 활용..
· TIL
Node.js 주특기 심화 [3일차] 오늘은 sql 구문으로 vscode에서 테이블을 만들고 수정하고 삭제하는 것에 대해서 배웠다 많이 써보긴 했는데 아직 확실하게 머릿속에 들어온 부분은 아니라 내일 완벽해지면 정리해야겠다. 오늘 알고리즘 스터디를 하며 평소에 써보지 못했던 메서드 몇 개를 접하게 되었다. 조금 신기하기도 하고 낯설기도 해서 몇 개 정리해보려 한다. Math.abs() parameter에 들어온 값을 절대값으로 리턴해주는 메서드이다. join() join 메서드는 배열의 모든 요소를 연결해 하나의 문자열로 만들어주는 메서드이다. join안에 특정 문자열을 넣어 배열의 요소를 연결할 때 중간 중간에 join에 넣었던 문자를 끼워넣을 수 있다. const elements = ['Fire', ..
· TIL
Node.js 주특기 심화 [2일차] 지난 주특기 입문주차, 심화주차에 이어 현재는 입문주차 리뉴얼 강의, 심화주차 강의, 숙련주차 강의를 듣고 있다. 오늘은 지난 입문 주차에서 배웠던 mongoose의 Document에 대해서 다시 강의를 듣게 되었는데, 이해가 되지 않던 부분이 한 번에 이해가 되어 적어보려고 한다. 이전에 mongoDB에 대한 강의를 들었을 때 mongoose의 Document는 어떤 의미인지 대략적인 의미만 파악하고 있었을 뿐, Document의 범위, 분류에 대한 부분이 확실하게 와닿지는 않고 있었다. 하지만 RDBMS 중 하나인 My SQL을 사용해보고 실제로 프로그램을 통해 DB나 Table, Rows, Columns를 보고 나니 위 사진을 이해할 수 있었다. 그래도 mong..
· TIL
Node.js 주특기 심화 [1일차] 오늘은 지난 프로젝트에서 빠바서 정리 못했던 부분들을 정리하고 새로운 강의를 보는 시간을 가졌다. 큰 단원으로 tistory에 정리할 수 없는 부분 몇 개를 아래에 적어두려고 한다. 1. middleware에서 설정한 변수는 middleware가 끝날 때 밖으로 빠져나와지지 않는데 res.locals.user에 저장한 변수는 middleware가 종료되더라도 밖으로 빠져나올 수 있다. 2. cookie-parser는 전역으로 된다. 조금 더 자세하게 말하면 app.js에서 middleware로서 cookie-parser를 실행시켜줘도 연결된 라우터들에 전역으로 cookie-parser가 실행된다. 따라서 라우터들 각각에 cookie-parser를 해줄 필요가 없다. ..
· Node.js
nodemon nodemon은 node monitor의 약자로, 노드가 실행하는 파일이 속한 디렉토리를 감시하고있다가 파일이 수정되면 자동으로 노드 애플리케이션을 재시작하는 확장 모듈이다. Node.js 개발 시 자바스크립트 파일들을 수정할 때마다 매번 ctrl +c 를 통해 node를 종료한 후 다시 실행해줘야 하는 번거로움이 있었는데 nodemon을 설치하면 재시작 없이 코드를 반영할 수 있다. nodemon 설치 npm install nodemon --save -dev : nodemon을 '개발 용도로만 사용할 것이다' 라는 의미. dev 옵션으로 local 에서만 사용한다는 것이고 package.json을 확인해보면 다른 모듈과 다르게 dependencies가 아닌 devDependencies에 ..
윤찬님
'분류 전체보기' 카테고리의 글 목록 (6 Page)