TIL 60

노드 숙련 수업

수업을 따라 진행하는 와중 강의에서는 statuse가 200번인 방면 저는 304번이라 왜 다른가 싶어 찾아보았습니다. 찾아보니 제가 잘못한게 아니라 해당 요청이 변경되지않으면 알아서 저장되있는 캐시를 보여주라는 거였습니다. 설정이 많은거 같아서 정리를 했습니다. #npm 먼저 설치 npm init -y #express, sequelize, mysql2, cookie-parser, jsonwebtoken 라이브러리 설치 npm install express sequelize mysql2 cookie-parser jsonwebtoken #sequelize-cli, nodemon 라이브러리를 DevDependency로 설치 npm install -D sequelize-cli nodemon #설치한 sequel..

TIL/6주차 2023.06.20

노드 숙련 2주차 수업

수업을 듣는 와중 오전에 에러가 나서 뭐가 문제인지 못찾다가 튜터님께 물으러갔었습니다. 잠이 덜깨서인지 post를 하는데 get으로 설정을 해놔서 난 오류를 찾지 못하고 헤맸어서 당황했습니다. 그리고 쿠키와 세션을 수업과 같이 작성해볼 줄 알았는데 아니어서 잠시 멈추고 작성하고 돌려보는 시간을 가졌습니다. 이번엔 세션을 확인해보려고 했는데 오류가 떠서 뭐가 문제일까 참고자료를 확인해보니, npm install cookie-parser 쿠키파서를 사용하기 위해서는 위와 같이 install을 받아야 한다는 것을 알았습니다. 그래서 일단 다운 받은 후 확인해보았습니다. 잘 나오는 것을 확인했습니다. 쿠키와 세션보다 jwt가 많이 사용한다고 해서 수업중에 같이 하고있습니다. 아래 코드는 위 token같은 경우 ..

TIL/6주차 2023.06.19

mysql 설치 및 dbeaver 연동

처음에 dbeaver를 실행했을 때 저번 수업에 sparta 서버를 연결해서 사용했는데, 다른 db를 추가하려하니 문제가 생겨서 도저히 어떻게 수정할지 몰라 고민하다 mysql을 설치 후 dbeaver에 연동을 하면 서버호스트를 로컬호스트로 놔두고도 사용가능하다고 해서 mysql을 설치중입니다. mysql을 설치 후 dbeaver에서 연결하기에 서버 호스트로 localhost로 설정해도 연결이 되는것을 확인할 수 있습니다. 연결을 하니 databases에 sakila, sys, world 가 기본으로 있었고, 추가를 해보니 추가(test)가 잘 되는것을 확인 할 수 있었습니다. 테이블에 값을 넣으려는데 어떻게 할지 몰라 고민하다 검색을 해보았습니다. 테이블에 값 넣기 이 사이트에서 친절히 알려주셔서 처음..

TIL/5주차 2023.06.16

node.js 입문주차 개인과제 1, 댓글 작성 중

먼저 댓글 입력부터 작성했습니다. API 중 ApiUrl을 보니 /comments/:_postId 즉 어제 작성했던 게시글의 postId가 필요해서 라우터의 comments.js 파일에는 스키마폴더중 포스트와 코멘트 둘다 받아왔습니다. 그래서 받아온 _postId params와 post데이터에 있는 _id 값이 일치할 경우만 값을 저장하고, 해당 params값도 comments 데이터에 string으로 저장해줬습니다. 그리고 get을 해주는데 받아온 params와 comment DB에 저장된 postId가 같아서 있을경우 해당 댓글들만 출력해주고, 그렇지 않고 comment DB에 저장되지않은 _postId를 받아올 경우 잘못된 _postId값과 같은 오류메세지를 내보내고 있습니다. 수정부분을 작성후 시..

TIL/5주차 2023.06.15

과제 시도

오늘은 과제를 시도하고있습니다. 하지만 아직 헷갈리는게 많고 해매기도 합니다. 그래도 일단은 하나씩 쳐보며 시도중입니다. 시도중 postId값을 고유번호로 설정할수 있게 uuid를 찾아봤지만, 과제를 내준 페이지에서는 값이 달라 아닌거 같아 다시 찾아보았습니다. 찾아보니 uuid가 아닌 studio 3t에 저장되는 데이터에 자동으로 _id값과 _v값이 붙게 되는데 그중 _id값이라는것을 알게되었습니다. postId를 스키마폴더의 post.js파일에 타입과 유무 등 저장해줬는데, 이것때문인지 계속 값이 하나 이상은 들어가지지 않고 오류만 났습니다. 찾아보니 이게 문제인게 맞아서 해당 파일에서 지워줬습니다. 그 뒤로 node_modules에 빨간 줄이 뜨길래 뭔가 했더니 계속 버전이 달라 사용할 수없다며 떳..

TIL/5주차 2023.06.14

노드 입문 1주차 강의

코드에서 mongoDB응용 부분을 듣고 따라하고 있었는데 썬더 클라이언트에서 POST로 콜라에 대한 정보를 studio 3t에 보내려고 했습니다. 하지만 오류가 계속나서 mongooes를 지웠다 다시 깔아도 똑같이 오류가 나길래 뭘까 했더니 생각해보니 슬랙에 튜터님이 localhost:27017 때문에 오류가 나니 127.0.0.1:27017 로 변경하라는것이 생각나 찾아서 아래 코드와 같이 변경해주고 실행하니 잘 작동되었습니다. git을 ssh키를 받아 연동해서 올리는것을 해보았습니다. 여태 명령어를 사용하지않고 마우스로 클릭해서 사용해왔는데, 명령어로 간단히 바로 올릴 수 있는것을 해보고 놀랐습니다. 하지만 아직 명령어로만 사용하는것은 두려워서 일단 1회독 이후 한번 더 돌때 연습해보려합니다. 그리고..

TIL/5주차 2023.06.13

노드 입문 수업 강의

수업을 따라 듣고 작성하는데 mongoDB를 다운받는곳에서 문제가 생겼습니다. 똑같이 따라 하는데 아래 사진과 같은 부분이 나오지 않고 그냥 지나갔습니다. 그리고 계속 진행하는 와중 cmd를 켜서 하고있는데 첫번째 코드는 잘 넘어가나 싶었는데 mongo 만 친 후에는 안됩니다. 그래서 일단 여기서 멈추고 저녁먹고 난 뒤 튜터님께 물어보러 가야겠습니다. 물어보니 저 전에도 똑같은 일이 있었다며 성민님을 부르셔서 설명을 들었습니다. 먼저 파일없음 문제해결 이 사이트에 들어가서 mongosh를 설치한 다음, 수업중 만들어뒀던 파일에 압축을 풀어주었습니다. (파일 경로 : C:\data\db) 그리고 아래 사진과 같은 경로에 들어가서 bin 파일에 들어가 mongosh.exe 파일을 실행해주었습니다. 거기에서 ..

TIL/5주차 2023.06.12

팀프로젝트, 프로그래머스

어제 끄기 전에 팀장인 조원님이 git으로 배포를 하려는데 문제가 생겨 되지않다고 하셨습니다. 하지만 다행히 오늘 오전에는 해결하셨다고 말씀했는데, 페이지는 뜨나 이제 로컬에서 들어가지지않는다고 하셨습니다. 어제 배포시 문제가 됬다고 했던 부분은 Jekyll에서 _config.yml 부분을 건들어야 한다고 하셨는데, 저는 잘 몰라서 인터넷에 검색해보았습니다. jekyll 이란? 여기에서 설명을 잘해줘서 도움이 됬습니다. 직접 해보지않아서 동작하는거나 사용하는 방법은 모르나 무엇인지는 알게되었습니다. 팀프로젝트를 하면서 어려웠던점을 작성하게되었는데, 저같은 경우는 유효성 검사를 하면서 처음으로 정규식표현 을 작성하게되었습니다. 처음엔 어찌 해야할까 생각하면서 유효성 검사라고 검색을 해봤는데 정규식표현을 사..

TIL/4주차 2023.06.09

프로그래머스 문제 풀이 및 팀프로젝트 확인

팀프로젝트 확인을 하고 나서 프로그래머스 문제들을 풀었습니다. 그런데 직각삼각형 출력하기 문제를 푸는데 평상시 풀었던 solution함수가 아닌 다른 모양을 하고 있어 당황했습니다. 궁금해서 redaline을 검색해보니 자바스크립트 콘솔에서 값 입출력 에서 설명을 잘해주셔서 이해할 수 있었습니다. 그래서 마저 문제를 풀어 나갔습니다. 문제를 풀고 저녁시간에는 코드리뷰시간을 가졌습니다. 먼저 태영님이 작성하신 sort파일 부분입니다. 아래 함수에서 a와 b가 들어가져서 어떤 역할을 하는지 궁금했습니다. 알고보니 sort함수에서 앞쪽이 0번째면 뒤로 오는 값은 1번째로 서로 비교를 하면서 가져오는 거였습니다. sort 함수를 값을 안넣고만 사용해봐서 이런식으로도 가능하다는것을 알게되었고, 아래 함수처럼 fo..

TIL/4주차 2023.06.08

팀프로젝트 시도중

localstorage 를 시도하던 중 매니저님이 오셔서 한분씩 진도체크를 하셨는데, 제가 유효성 검사를 맡았어서 xss 취약점에 대해 알려주셨습니다. 꺽쇠()를 이용해서 테러를 한다고 하셔서 알아두면 좋다고 하셔서 일단 꺽쇠만 방지할 수 있게 수정했슴니다. 그리고 localstorage내의 값들과 비교해서 같은 이름을 작성했을 경우 작성되지않게 코드를 수정했습니다. 비밀번호 정규식이 있어 그걸로 변경해줬습니다. 영화를 하나만 생각했어서 다른영화포스터에 들어가서 리뷰를 입력해보려는데 다른 영화의 리뷰 이름이 같다며 작성이 되지않았습니다. 그래서 영화 아이디값을 가지고 비교해서 해당 영화 리뷰에 같은 이름이 있는지 확인하는 절차를 넣었습니다. localstorage로 crud를 만들어주기로 하신 예림님이 ..

TIL/4주차 2023.06.07