Wecode - Project 1 (부트캠프)/Project 1 과정 23

Project 1- 3일 차: 경래 멘토님 [코드 리뷰] - app.js 뜯어보기 + Layered Pattern

프로그래밍은 이해와 적용이다. 무슨 함수를 쓰는지 뜯어보아야 한다. 어떤 변수를 쓰는지 보아야 한다. 궁금해 하고. (그리고, 코드가 완벽하면 통신할 때 오류가 날 확률이 적은데 주니어의 경우는 대부분 코드의 문제이기에, 더욱 더 코드를 이해하고 분석해야 한다.) 수학 공식처럼, 함수를 만든 사람이 그렇게 하기로 약속을 하고 공식문서에 넣었기 때문에, 공식 문서에 가서 왜 쓰는지, 어디에 쓰는지 알아야 한다. 자, 이제 app.js를 시작해보자. const http = require("http"); --> http를 가져온다 const jwt = require("jsonwebtoken"); const userServices = require('./Services/userServices.js') const..

Project 1- 3일 차: 코드 리뷰, 비교 - userService / 회원가입 , 로그인

코드 분리를 이미 만든 한 파일에서 해보고, 한 branch에 올렸는데, 그 이후 바로 처음부터 여러 branch에 올리니 app.post("/login", 로 써야 할지, const signup. 으로 써야할지 연결하는 함수는 어디에 들어가야할지 헷갈렸다. 그래서 우선, 깃허브에 올라온 이전 팀의 동기 코드가 로그인 성공했다고 해서 참고했다. 일단, 나는 내 로컬에서 여러 branch를 다 올리기에 분업한 후 merge 하는 팀과는 방식이 달랐다. // 동기 -userservice (연두색 부분은 나에게 없던 것/ const { DataSource } = require('typeorm') const dotenv = require('dotenv') const jwt = require('jsonwebtok..

Project1- 2일차: 초기세팅 PR 후 commit (2), 깃허브에 다 딸려 올라갔을 때

branch 가 push 하기 전까진, remote 깃허브에 안 나오고, 그렇다면, branch가 로컬에만 있고, 로컬에 있는 branch를 확인하기 위한 방법: ls -al 왜냐, 폴더, 파일은 안 나오지 않게 때문에 db에 필수 , 선택 다 구현해도 어짜피 프론트가 정보 안 주면 null 로 나올테니 db에는 칼럼 만들어져 있어도 됨 db에는 키 snake로 언더바로 하고, 프론트에 영향 없음. app.js 파일에서만 그 후에 pr 하는 방법은, new pull request가 아니라, 가장 아래로 내려서, commit 하면 (첫 push 이후 또 push) 아래에 1번 처럼 달리고, 2번처럼, 라벨을 달면 리뷰해주시는 분이 보고 해주실 수 있다. 2번째 push 후! (첫 commit 이후) 초기환..

Project1- 2일 차: 초기세팅 PR 후 commit (1)

팀 레포지토리에 초기세팅 branch 생성 후, push , pr 요청 후 pr리뷰를 받았다. 1. dependencies 설치npm install express 하고나서는, 계속 npm install mysql mysql2 typeorm cors bcrypt dotenv --save-dev 똑같이 해도 된다 설치 후엔 package.json에 무조건 들어왔는지 확인하면서! 2. 이메일의 중복 기입을 막을 수 있게 수정하여주세요! --> mysql 데이터베이스 속성 활용1) 이메일이 중복되지 않기 위해서, 데이터베이스에도 user 테이블에 email에 unique를 추가해야한다. CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, nickname VARCH..

Project 1 - 1일 차: "초기환경" 세팅 [체크리스트]

[[ 프로젝트 초기 세팅 체크리스트를 하면서, 배운 것들]] 1. root 폴더 | 초기세팅시 진행사항 pull_request_template.md 상세하게 작성 .gitignore 에 다음의 자동생성 사이트를 이용하여 vim, macOS, node, linux, visualStudioCode, dotenv 등 포함 동일한 과정 [Express] .gitignore 생성 지금은 멘토님이 만들어주신 .gitignore 으로 들어가지 않아도 될 파일을 하는데, 프로젝트 할 때부터는 내가 직접 새로 .gitignore 생성해야하니. https://www.notion.so/wecode/Git-gitignore-24c8a014f7344c3a8899dd4e65 pm-developer-justdoit.tistory...

Project1 - 1일 차: db mate 설치 및 작동

초기화 세팅 하면서 필요했던 과정 https://pm-developer-justdoit.tistory.com/85 dbmate 배경 테이블 만들 때, 데이터베이스 들어가서 만드는데, mysa데이터베이스 만들다가 문법 에러나거나 다시 수정해야 하면, 다시 처음부터 해야 하는데, 지금은 sql 문법에 익숙해져야 해서 그런건데, 귀찮음. 그것을 파일로 관리하는 방법이 있음. 테이블 100개를 만들 때, 데이터베이스에 들어가서 테이블 100개를 만들어놓으면 관리가 안 되니, 어떤 테이블을 어떻게 만들지 파일에 미리 정리를 해놓을 것! 예시. create table을 할 건데, users table을 만들 거고, id integar, name varchar, email varchar로 not null이다. 이 s..

Project1 - 1일차: 팀과 [목표세팅/Planning Meeting/모델링]

백엔드 팀의 방향과 목표 과정중심적으로 하기로 했다. 우리팀의 목표는, 답 코드를 구하기보다, 구조화 과정중심 첫 프로젝트를 시작하기에 앞서, 과정중심의 사고에 대한 강연을 듣고 팀원들도 모두 과정 중심의 진행에 설득된 거 같았다. Project 1- 1일 차: 포트폴리오 - 과정 중심 사고 기법 (이력서, 면접 때 참고) 개발자 - 과정중심 - 논리 기반 기술적 문제에 푸는 것만 급급하는게 아니라, ‘문제해결완료'라고만 쓸 수 없으니, 잠자는 시간을 쪼개서라도 탐구는 해야 함. 팀원들이 뭐하는거냐고 하더라도. pm-developer-justdoit.tistory.com 나는 과정을 중요시하고, 나머지 팀원들은 기록과 과정을 잘 못해서. 다같이 논리-탐색-예상-결과확인- 차이점 - 회고 를 중심으로 하기..

Project 1- 1일 차: Planning Meeting

멘토님과 함께 백, 프론트 모여서 전달사항과 질문을 주고 받았다. 1차 프로젝트 목표 : 완성 meeting log에 기록 Timeline 동시 진행이 많기에, 요일은 중요하지 않음. process 보드가 중요 --> trello 깃허브에 내가 작성한 pr을 팀에 merge 하면 됨. 더 빠른 진행을 위해 이번 1차 프로젝트의 pr 마다의 코드 리뷰 없을 것. --> 더 빠른 진행을 위해 (2차부터는 리뷰 있음) 백엔드와 프론트 협업은 금요일: 통신 시에. 백엔드가 코드가 어떻게 나올지 화면이 궁금하다 --> 프론트 멘토님들에게 물어보면 구현해주실 것. 요청사항 mock data의 키 그대로 따라 줘야 함. 원래는 mock data도 문서로 해야 함. 구두로만 하는 것은, 오해의 소지가 있기에. 이렇게 ..

Project 1- 1일 차: [백] 프로젝트 초기 세팅

[더 자세한 내용] Project 1 - 1일 차: "초기환경" 세팅 [체크리스트] [[ 프로젝트 초기 세팅 체크리스트를 하면서, 배운 것들]] 1. root 폴더 | 초기세팅시 진행사항 pull_request_template.md 상세하게 작성 .gitignore 에 다음의 자동생성 사이트를 이용하여 vim, macOS, node, linux, pm-developer-justdoit.tistory.com [백] 프로젝트 초기 세팅 Express로 프로젝트 초기 세팅 올바른 패키지 모듈을 설치, 호출. 올바르게 런서버를 할 수 있으며, 기본적인 Health Check (ping-pong)를 진행하여 서버의 정상 작동을 확인 한 명에게 초기 세팅을 전담시키지 말고, 모든 팀원들이 모여 가이드라인에 따라 정..

Project 1- 0일 차: 월요일 + 추후 시작 전 예습 할 것 + 참고할 거

프로젝트 관련 Project 1 - [백엔드] 업무 이해 프로젝트 목표 Threads의 회원가입 기능, 로그인 기능, 게시글 기능을 파악하고 개발합니다. 프론트엔드는 위 기능들을 구현하기 위해, 회원가입 페이지, 로그인 페이지, 게시글 페이지를 개발합 pm-developer-justdoit.tistory.com Project 1 - 월요일 가서 할 일 Timeline 월 - 프로젝트 초기세팅 완료 / erd 모델링 완료 / 회원가입,로그인, 게시글 시작 화 - 회원가입 /로그인 /게시글-목록 확인 / 게시글- 포스팅 수 - 회원가입, 로그인, 게시글-목록, 게시글-포 pm-developer-justdoit.tistory.com 00. 피그마 --> frontended (백엔드의 경우엔, 설명/텍스트만 확..