---
# System prepended metadata

title: Week 1 Peer Session

---

# Week 1 Peer Session 
> 참여자 : J003_강동훈, J079_박수연, J186_정수원, J200_지화영

## 활동목적 
- 한 주 돌아보기
- 좀 더 성장하기(화이팅🙌🏻)
- 아쉬운 점, 배울만 한 점 피드백!  

## 진행순서
- 일주일동안 커밋한거 보면서 뭐했는지 브리핑
- 헤로쿠 배포 한거에서 시연 해보기
- 코드 리뷰

### 커밋브리핑
#### J003_강동훈
- 커밋을 매번 하지 않으니 해당 PR과 커밋에서 어떤 기능이 구현됐는지 정확히 파악이 어렵다.
- 커밋 메시지를 더 정확히 해야겟다.

#### J079_박수연
- 커밋 컨밴션을 잘 지키지 못한 것 같아 지키도록 노력해야겠다.

#### J186_정수원
- 커밋하는데 시간과 에너지를 너무 쓴다..
- 익숙해지면 빨라지겠죠?

#### J200_지화영
- 이번주는 하지말라는것을 하고 하라는것을 하지않은 일주일이였다.(메시지 컨벤션 안지키기, 커밋 맘대로 하기,브랜치 안나누기)
- 하지말라는것을 해보니 왜 하라는게있는지 알게되었다.

### 시연
- [J003](https://j003-airbnb.herokuapp.com/)
- [J079](https://w1airbnb.herokuapp.com/)
- [J186](https://clone-airbnb-j186.herokuapp.com/)
- [J200](https://j200.herokuapp.com/)


### 코드 리뷰
#### J003_강동훈
- (강동훈) 
    - 여러분들이 쿠키&세션 확인을 어떤 라우트에서 어떻게 진행하는지 알고싶어요 ㅎ
    - 코드를 깔끔하게 해야할 필요가..!
- (지화영) 
    - 세션을 db에 저장한 이유?
    - 다른 상황들을 위해서 예약정보 클래스를 만드는건 어떤가요?(살짝 개인 취향인거 같기도 하고...)
- (박수연)
    - 세션을 db에 저장하는거 좋은거 같아요!
    - room_empty, room_flag 두 개의 변수를 사용하지 않고 한개로 통합하여 사용할 수도 있을거 같아요. - search.js, index.js
    - 모듈에서 함수를 export 할 때, 아래에서 한꺼번에 선언하는 것보다 함수명 앞에 exports.를 붙여주면 코드를 더 줄일 수 있어 좋을거 같아요.
    - 쿠키 expires 설정할 때 date에 900000를 더해주는 이유가 무엇인가요? - sign_in.js
    - salt 값을 user_info.db에 저장한 이유는 무엇인가요? crypto 자체가 비밀번호 암호화에 사용할 수 있는 모듈이 아닌가요? 단순 해싱만 해주는 것인가요? - sign_up.js
- (정수원) 
    - `res.redirect('../');` 뒤로가기 인가요?? - logout.js 
    -  sid를 유저메일로 하셨네요! 저와 함께 랜덤값으로 고쳐보실까여 😜 (저도고쳐야하니깐..) : sign_in.js
    -  동훈님도 해시에 소금도 치고 안전하게 가셨네요..👍


#### J079_박수연
- (강동훈)
    - 경로 나눈 걸 본받겠습니다... (정수원2222)
    - 로그인 모달 띄우는거 설명 듣고싶어요
    - 커밋 메시지(공통 로직을 모든 요청에 대해 수행하도록 하는 기능) 구현 은 어떻게 동작하는건가요?
- (정수원) 
    - DOM이라고 하나요? model, module. db 나누는거에서 무릎을 탁.. 저는 고민하다 패스한 부분 ㅠ
    - 전 심지어 view, js를 같은 폴더에.. 프로젝트 폴더구조 많이 배우고 갑니다 ㅠㅠ  
    - 전체적으로 깔끔한 코드 잘 보았습니다
- (지화영)
    - session을 req에 저장하는 방법이 있었군요
    - module model 차이?

#### J186_정수원
- (정수원)
    - 세션 아이디를 랜덤값으로 줘야겠어요
    - 프로젝트 폴더구조 정리..!
- (박수연)
    - 검색 정보들을 쿠키로 저장한 이유가 무엇일까요? - search.js
    - app.js 에서 라우터 등록할 때 경로를 작성해주면 그게 고정 경로로 해서 routes 폴더에서는 /로도 요청을 처리가 되는가보네요! 처음 알았습니다. 경로가 복잡해지면 이 방법으로 라우터 처리를 하는 방법이 더 나을 수 있을거 같다는 생각이 드네요!
    - pug에서 document.cookie로 쿠키 값을 가져올 수 있는건가요? - search_layout.pug
    - toISOString는 toString이랑 다른 함수인가요? - search_layout.pug
- (강동훈)
    - 로그인 인증 확인은 `res.locals.auth` 로 줘서 확인하면 되는군요...!
    - search.pug 에서 case 언디파인드로 하면 되는군요..! if는 언디파인드도 false로 체크하길레..
- (지화영)
    - routes/index.js:8 &&를 쓰신 이유?
    - module/session 함수안에 함수? -> 수연님 질문이었네여...;


#### J200_지화영
- (정수원)
    - `console.log(+req.body.search_person);` 여기서 `+`는 뭔가요😲? 처음보는 콘솔로그코드.. : search.js
    - 정말 안전한 해시값을 저장하셨군요 🌝 .. 아주 기본 해시값 저장한 1인.. 찔림.. 

- (강동훈)
    - controller 와 models는 어떤 구분에 의해 나뉘는건가요?
    - 가입할 때 이미 가입된 이름이 있어도 가입 못하나요..?
- (박수연)
    - 라우터 경로를 용도에 따라 나누어주면 더 좋을 것 같아요.
    - models의 user, room, reservation는 어떨 때 사용하는 건가요
    - login 폼에 각 요소를 하나의 div로 묶고 lable이랑 input 태그 사용해서 요소를 만든 점 좋은 것 같아요!

## 활동결과 

- 강동훈
    - 커밋의 중요성을 깨달았어요.
    - 제 코드에서 어떤게 부족하고 어떤 처리를 하지 않았는지를 깨달을 수 있었습니다
    - 경로(model,controller)를 구분해서 코드를 넣는 것, 그리고 그로 인해 깔끔해지는 코드를 배웠어요
    - 공통 로직을 모든 요청에 처리를 배웠습니다
    - modal이란 것의 존재를 알았어요..!
    - 매번 껐다 키고 있었는데 nodemon을 알게 됐어요. 해피개발 시작?
    - 지금 쓰고 있는 HackMD 굿굿
    - 제가 어떤 코드를 이해하지 않고 사용하고 있었는지 알았어요
    - 코드 리뷰 엄청 도움되네요...좋아요 ㅎ
    - 좋은 만큼 3명의 개발한 코드를 이해를 하면서 읽는다는 건 체력적으로 엄청 힘이 드는 것 같습니다.
    
- 박수연
    - 코드 리뷰를 하면서 좀 더 다양한 함수를 알게되고, 구현을 다향한 방법으로 할 수 있다는 것을 알게되어서 좋았습니다.
    - 다른 분들의 커밋 메세지를 보고 커밋 메세지를 좀 더 깔끔하고 잘 정리할 수 있게 신경써야겠다는 생각이 들었습니다.
    - 아직까지는 코드리뷰가 어색해서 좀 더 잘 읽을 수 있도록 연습해야겠다는 생각이 들었습니다.
    - 좀 더 본인의 코드를 잘 설명하지 못한다는 느낌을 받아 더 노력해야겠다는 생각이 들었습니다.


- 정수원
    - 프로젝트 폴더구조를 준수하게 구성하는데 큰 힌트를 얻었어요
    - 앞으로 프로젝트를 어떻게 진행하면 좋을지 방향을 잡았어요
    - 조금의 부끄러움과 숙제를 얻었어요 (그렇게 이슈가 close될 수 없었다)
    - 길고 널럴한 시간이 될 줄 알았는데, 꽉 채워서 활용할 수 있는 좋은 시간이었습니다.
    - 역시 HackMD, 평생쓸거에여 넘편함
    - 아쉬운점은 왜 내 코드는 더러운가...22

- 지화영
    - 커밋의 중요성을 배웠습니다.이제는 하라는것만 할게요....
    - 모든 경로에 로그인 처리를 어떻게 해야할 지 감을 잡았습니다.
    - 다른 분들의 코드를 보고 많이 배웠습니다.
    - 로그인이나 검색기능에서 입력값에 예외처리를 어떻게 해야할지 알게된것같아요
    - 아쉬운점은 왜 내 코드는 더러운가... 
