javascript+node.js58 11/21 뉴스피드 팀 프로젝트 1 내일배움캠프 오늘 학습 내용 노드로 뉴스피드 만들기 팀 프로젝트 진행 : api 명세서, ERD 작성, git 작성, 역할 분담, wireframe 등 제작 뉴스피드 만들기 팀프로젝트로 뉴스피드를 만들기로 하였다. 기본 CRUD에 회원 가입 인증 기능, 마이페이지 기능 등이 추가가 되었다. 이번에 팀 프로젝트를 시작하게 되면서 나는 책을 서로 추천해줄 수 있는 사이트를 만들고 싶어 의견을 내었고, 팀원들도 동의해주어 주제를 빠르게 정할 수 있었다. 책 장르를 항목에 추가로 넣어 원하는 장르별로 책을 분류해 그것만 확인할 수 있을 것이다. 또, 유저의 내용도 수정할 수 있도록 요구사항이 추가가 되어 새로 ERD와 api 명세서로 미리 어떻게 구현하면 좋을지 상의해보았다. 나는 이번에 회원가입과 로그인, 로.. 2023. 11. 21. 11/20 노드 숙련 수업 10 내일배움캠프 오늘 학습 내용 개인과제 제출 노드 수업 리뉴얼 듣기 과제 제출 과제를 설명하는 Readme.md를 작성하여 과제를 최종 제출하였다. 추가 질문도 대답하여 최종 push한 것을 올렸다. 또, 내일 팀프로젝트를 대비하여 리뉴얼된 수업을 듣는 중이다. 해당 수업에선 npm 대신 yarn을 쓰는 중이며 CommonJS가 아닌 ESModule을 사용한다. 팀프로젝트를 할 때 어느 것을 사용할 수 있을지 모르니 해당 방식도 배워두는 것이 좋을 것이다. ESModule은 require가 아닌 모듈처럼 import로 불러온다. 조금 더 안정성 있기 때문에 필요한 방식을 선택해 사용하는 것이 좋을 것이다. 2023. 11. 20. 11/17 노드 숙련 수업 9 (AWS 서버 배포) 내일배움캠프 오늘 학습 내용 node 개인과제 : 실제 서버 배포 및 nodemon, pm2 사용 aw2 서버 배포하는 법 정리, 추가 .http 파일 등을 제작하여 업데이트. 기타 마이너 코드수정 AWS 서버 배포 입문주차 때도 했었지만, 이번에 단계를 정리해두려 한다. 먼저 cmd를 켜 aws에서 받은 키페어가 있는 폴더로 이동해 aws에 있는 우분투 서버컴퓨터를 실행시킨다. ssh -i 키페어_keypair.pem ubuntu@서버IP 그리고 실행시킬 파일을 다운로드 받는다. 이번에 만든 파일 역시 git에 올려두었으니 거기서 git clone으로 받으면 된다. (추가 업데이트를 한다면 pull로 받는다.) 다만 이렇게 된다면 gitignore로 숨겨둔 환경변수가 당연히 없다. 따라서 서버를 시작하.. 2023. 11. 17. 11/16 노드 숙련 수업 8 내일배움캠프 오늘 학습 내용 node 숙련주차 개인 과제 : 수정과 삭제를 작성한 user만 할 수 있도록 수정, 비밀번호를 해쉬로 저장, query를 이용한 sort, nodemon 설치 과제 업데이트 먼저 현재 로그인한 유저의 userId와 product에 들어간 author를 비교하여 같을 때만 가능하도록 바꾸었다. 어제는 content와 status를 출력하지 않기도 했는데 지금은 그것 역시 추가하였다. 또, 비밀번호를 보안을 위해 hash로 저장할 수 있도록 바꿨다. saltroundkey를 넣어 더 해독되기 쉽지 않도록 하였다. => 추가 수정 env파일의 환경변수들은 문자열취급이기 때문에 저렇게 쓰면 에러가 나 나중에 숫자로 바꾸어주었다. 그 외에도 요구사항에 맞도록 여러 사소한 문제들을 수.. 2023. 11. 16. 11/15 노드 숙련 수업 7 내일배움캠프 오늘 학습 내용 node 숙련주차 개인 과제 : 로그인 인증 구현, user와 product의 join 로그인 성공 시 토큰을 헤더로 옮기기 어제 로그인에 성공하면 성공적으로 jwt 토큰을 발행하였지만, 다른 곳에서는 확인할 수 없었다. 오늘 원인을 찾았는데, 우리가 인증을 하기 위해서 header의 authorization를 보고 로그인이 되어 있는지 아닌지를 확인하여야 하지만, 내가 토큰을 넣는 것은 쿠키에만 넣고 헤더엔 넣지 않아 그렇게 된 것이었다. 전에 강의를 들을 때 받은 프론트엔드 asserts 파일을 찬찬히 읽어본 결과 해당 프로젝트에서는 localstorage를 사용하여 토큰을 저장하고 가져와 header의 authorization에 넣어주는 것을 확인하였다. 그렇지만 나는 .. 2023. 11. 15. 11/14 노드 숙련 수업 6 내일배움캠프 오늘 학습 내용 node 숙련주차 개인 과제 : 상품 관련 api 완료, 회원가입, 로그인 DB 접근 구현 validate 해결 어제 mySQL에 저장할 때 validate가 잘 실행되지 않는 이슈가 있었다. 그래서 오늘은 그것을 해결하였다. 기존에는 데이터 model에서 isIn으로 해당하는 값만 적용하도록 validate를 만들어주었는데 잘 적용되지 않았었다. 따라서 특정 값만 들어갈 수 있도록 하는 ENUM을 이용하여 status 값을 저장하도록 하였다. 그렇게 하니 이 둘 값이 아니면 아예 값이 들어가지 않는 것을 확인할 수 있었다. 만약 값이 정확하지 않을 때는 로직을 통해 미리 방어하였지만 이렇게 이중으로 데이터 무결성을 지킬 수 있었다. 또, 이메일이 이메일 형식인지 확인하기 위.. 2023. 11. 14. 이전 1 ··· 3 4 5 6 7 8 9 10 다음