Wecode - Project 2 (부트캠프) 79

Project 2 - 5일 차 (9) : 내가 push 한 '로그인 함수' : pull request 팀원 리뷰 + 수정

올리고 몇 분 사이 바로 올라오는, 팀원분의 빠른 피드백 좋다 추석 연휴 전 일단, commit, push 하는 게 좋겠다 싶어서 올려놓고 보느라 수정 사항이 좀 있지만. 과정에서 배우는 게 중요하니까. 나의 코드와 보면서 비교해보기 이 부분이 models/ dataSource.js에 들어가 있군 (추후 layeredpattern 시에) port 변수 안 해도 도 ㅣ나? 수정 중에 깨달은 사실, pull request 에 이렇게 어떤 파일의 몇번째 줄이라고 나오니, 수정할 때 해당부분을 하나하나 찾지 않아도 돼서 편리하군! 수정 후 코드 const express = require('express'); const morgan = require('morgan'); const cors = require('co..

Project 2- 5일차 (8): 로그인 pull request template.md

1. 본 PR이 우리 팀의 웹 서비스 제품성에 어떠한 기여를 하였고, 사용자에게 어떠한 기대효과를 전달하는지 작성해주세요. 1-1. 내 PR이 제품 내 어떠한 기능적인 배경/전후맥락 가운데 개발되었나요? 회원가입 후 로그인을 위한 기능 1-2. 내 PR이 Merge 됨으로써 유저에게 전달되는 편익/기대효과는 무엇일까요? 로그인을 통해 상품목록 확인, 장바구니 기능 이용, 주문 및 결제까지 이어지는 기대효과 2. 이 브랜치에서 어떤 내용을 개발했는지 큰 제목과 상세 내역을 적어주세요. 회원가입을 한 유저 database에서, 기입한 이메일 주소와 비교 후, 회원가입한 유저인지 판별. 판별 후, 회원가입을 한 유저만 로그인을 하고, 리뷰를 작성할 수 있도록 커뮤니티 관리를 하는 안전장치 고객의 주문 및 결제..

Project 2- 5일차 (7): [로그인 API, 깃허브 PR]

'feature/login' branch의 app.js 전체코드 const express = require('express'); const morgan = require('morgan'); const cors = require('cors'); require('dotenv').config(); const app = express(); app.set('port', process.env.PORT || 8000); app.use(cors()); app.use(morgan('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: true })); app.use((req, _, next) => { const error = new Error(`..

Project 2 - 5일 차: 깃허브의 매력 세계로 풍덩. remote

프론트에드 멘토님 (깃허브 2인자)과 나의 Q&A Q: 내가 프로젝트 2를 하다가, 생각나서, 프로젝트 1 코드 app.js를 수정했다. 그러면 나는 이것을 push하기 위해서는 지금 project 2 에 연결돼 있는 remote를 끊은 뒤에, 다시 project 1 폴더에 remote 를 연결해서 Push 하면 되느냐? A: 아니다. remote를 각각 연결하면 된다. A: git remote -v를 해보면 안다. project 1과 project2의 remote 연결이 각각 다르게 나온다. 이게 보여준다. 하나의 로컬에 하나의 Remote만 가능한 거 아니냐? 하나의 폴더에 하나의 remote가 가능한거지, 각각의 origin변수이다. 아하, origin이라는 변수가 각각 값을 갖는구나, 각각 다른 ..

Project 2 - 5일 차 (6) : 내가 push 한 회원가입 함수 : pull request 팀원 리뷰 + 수정본 ** 해야 함

username === undefined 는 !username 으로 축약 수정본 필수사항 및 선택사항 정보 받아온 거 저장하기 수정본 그런데, 선택사항은 어디서 받아오지? key error는 필수사항에 대한 건데? --> insert into query문에서 선택 + 필수 정보 모두 포함 만약, 유저가 선택 정보 기입을 안 했다면 'Undefined/ -'로 뜨겠지만, 일단 쓸 경우를 대비해서 가져오긴 해야지 [const error = new Error("KEY_ERROR"); error.statusCode = 400; throw error; 해당 부분은 utils 폴더의 throwError(400, 'KEY_ERROR') 함수를 사용해서 축약될 수 있을 것 같습니당] 계속 반복되는 부분이라, 아마 이것..

Project 2 - 5일 차: 깃허브 [local 최신화, git pull origin 하며] 깃허브에 대해 복습, 새롭게 알게 된 사실

github 에서 remote 저장소에서 변경사항을 받으려고 local을 최신화하려고 하면, git pull origin [pull 받으려는 branch 이름] 그런데, 그 pull받으려는 branch로 checkout 가서 받아야 함. branch 간 이동을 위해서는 무조건 변경 사항 저장 , git add. , git commit -m 후에 가능 git add. git commit git pull (Dev. ) (fetch and merge = pull ; 그래서 merge가 자동으로 될 것.) git merge (dev는 dev 대로 최신화) -=> feature에 dev를 Merge시킴 branch를 dev에 merge하는게 아니니까. branch에 dev를 merge 하는 거니까. 그런데, 잘못..

Project 2- 5일차 (3): 회원가입 pull request template.md

1. 본 PR이 우리 팀의 웹 서비스 제품성에 어떠한 기여를 하였고, 사용자에게 어떠한 기대효과를 전달하는지 작성해주세요. 내 PR이 제품 내 어떠한 기능적인 배경/전후맥락 가운데 개발되었나요? 고객의 회원 전환 및 유입을 최우선으로 하여, 우선 회원가입 유저를 늘리고, 회원가입 중 이탈을 줄이기 위해, 주소와 같은 세부 정보들은 결제창에서 받고, 회원가입 시 받는 유저 정보는 간소화 하였습니다. 또한, 비밀번호와 아이디 특수문자와 길이 조건을 보안을 지킬 수 있는 선에서 최소한의 제한을 두었습니다. 내 PR이 Merge 됨으로써 유저에게 전달되는 편익/기대효과는 무엇일까요? 유저는 최소한의 시간을 투자하여, 회원가입을 하고 관심 있는 상품 리스트들을 보며, 동시에 장바구니에 담아둘 수 있습니다. 회원가..

Project 2 - 5일 차 (5): 내가 push 한 회원가입 함수 : standing meeting에서 수정할 부분

[standing meeting 에서 모두가 수정해야 할 부분] Project 2 - 5일 차 (3): standing meeting- [프론트 엔드와 협의] 및 [회원가입 코드 분석] [회원가입] 필수 / 선택 입력값 데이터 - 필수 1)생년월일 프론트: YYYY-MM-DD 형식 백엔드: 생년월일 받아오고, db에 저장하는 코드만 치면 됨. 2) 휴대번호 프론트: 010-****-**** 형식 백엔드: 받아오고, pm-developer-justdoit.tistory.com standing meeting 이후 내가 한 부분에 대해서만. 추천인은 넣지 않기로, 그러면 백엔드가 칼럼 정보를 또 넣어야 해서, standing meeting 후 변동 사항 1. 아이디 제거 1-1. 아이디 중복 api 생성으로 ..

Project 2 - 5일차: Peer Review, Refactoring Checklist, Github PR Review 하는 법

A. Peer Review 팀원들끼리 서로 코드 리뷰를 하는 것 코드 리뷰를 통해서 얻을 수 있는 것은 매우 많다. 더 나은 퀄리티의 코드로 거듭나는 것 뿐 아니라, 새로운 기술적인 지식을 얻을 수도 있고 내가 해결해야 하는 문제에 대해 새로운 관점을 습득 할 수도 대부분의 기업에서는 필수적으로 코드 리뷰 문화가 존재 🚀 학습 목표 코드 리뷰의 필요성과 목적 이해하고, 이를 기반으로 리뷰를 진행 제공 받은 Refactoring Checklist 에 맞춰 자신의 코드를 수정 Github에 PR 을 생성할 수 있고, File Changed 탭을 확인하여 팀원의 코드를 리뷰 할 수 있다. Github PR의 label/ comment 적극 활용하여, 리뷰어와 소통할 수 있다. 나의 경우에는, 1차 프로젝트에 ..

Project 2 - 5일 차 (4): standing meeting- [프론트 엔드와 협의] 및 [회원가입 코드 분석]

[회원가입] 필수 / 선택 입력값 데이터 - 필수 1)생년월일 프론트: YYYY-MM-DD 형식 백엔드: 생년월일 받아오고, db에 저장하는 코드만 치면 됨. 2) 휴대번호 프론트: 010-****-**** 형식 백엔드: 받아오고, db에 저장하는 코드만 치면 됨. 3) 성별 gender가 화면에는 선택지이지만, varchar인 이유는, 오른쪽 화면이 프론트가 나에게 주는 화면인데, 아래와 같이 문자열로 나오기 때문에, 4) 이름 = nickname으로 5) 아이디 빼고, 이메일로 대체하기로 // 이메일 중복 확인, 있으면 에러 const existingUser = await myDataSource.query( `SELECT daterbaseId, email FROM users WHERE email='$..