분류 전체보기 654

Project 1- 5일차: 통신 완료! 마지막날 (jwt 토큰, bcrypt, hash)

통신 결과 프론트엔드 사진 / 프론트, 백엔드 화면 녹화 영상 Project 1 - 백엔드와 프론트엔드 통신 결과 Project 1- 5일차: 통신 완료! 마지막날 통신 하기 전에 실수 1. datasource 를 잘못 정의 했다. 2. 회원가입을 하고 나서, 토큰이 안 돼서 알고보니, 해쉬 함수가 로그인 함수에만 들어가는게 아니라, 회 pm-developer-justdoit.tistory.com 통신 하기 전에 실수 1. datasource 를 잘못 정의 했다. 2. 회원가입을 하고 나서, 토큰이 안 돼서 알고보니, 해쉬 함수가 로그인 함수에만 들어가는게 아니라, 회원가입 함수에서부터 해야 한다. 위치는 데이터베이스에 저장되기 전에. 회원가입할 때에도 비밀번호 암호화 돼서 넣어야 함. 데이터베이스에 넣..

Project1: 5일차 아침: 통신 전, 마지막날 코드 수정 (self 코드 리뷰)

코드를 완벽히 하기 위해. 셀프로 코드리뷰를 해보았다. 그리고 실수로 누르는 바람에 덕분에 또 알게 된 사실 timeline별로 수정 사항을 비교분석 가능 1. portNumber를 정의하기 전에 require("dotenv").config()를 호출해야 환경 변수를 로드한 후에 포트 번호를 설정해야 chatgpt openAI의 도움을 받은 것 1-2. portNumber와 같은 환경 변수를 .env 파일에 저장하고 Node.js에서 사용 1 )require('dotenv').config()를 사용하여 .env 파일을 로드 2) .env 파일에 PORT 환경 변수를 추가 PORT=3000 PORT 변수에 3000이라는 값을 할당한 것 3) Node.js 애플리케이션의 코드(app.js)에서 .env 파일..

Project 1: 5일 차 오후: 깃허브 branch 문제 해결 [2차 시도] (체리픽까지 나옴)

수요일부터 해결하고자 하였다. 나이트 멘토님과의 고군분투 심화과정 rebase까지 나왔다. 목요일에 경래 멘토님과 문제 정리 수요일 새로 생긴 오류를 해결하기 위해서는, 월요일의 이전 오류부터 다 고려 해야 한다! 나의 상황들을 다 정리해놓았다. Project 1 - 4일차 문제해결 내가 거의 깃허브 관리 담당이였다. 제대로 말하자면, 깃허브 branch에 분리해서 코드를 올리는 사람. 즉, 코드도 치고 올리는 사람. 팀원들이 코드를 주긴 하는데, 틀린 코드도 있고 실행하는 사 pm-developer-justdoit.tistory.com 그런데 말로는 쉬운데 혼자 하다보니, 그 구체적 과정이 어려웠다. 어디에다가, 어디에 가서 하는지. branch! 폴더! 나의 현재 위치! 금요일에 승윤 멘토님과 다시,..

Project 1- 5일 차: chat gpt AI와 상생하기 2탄

통신 전, 코드 리뷰를 할 때에 활용해 보았다. 2탄. 아는 게 많아지니, 더 잘 활용하고 잘 물어보고 내가 원하는 정보를 얻을 수 있었다. 정말 상생이 가능한. 멘토님께 merge 후 수정하기 위해 branch 새로 생성해서 거기에 pull 받아서 수정 후 push하라고 했는데 실제 해보려고 하니 구체적으로 알고 싶어서 그런데 나의 상황은, 이미 내가 로컬에 수정한 뒤이기에 나의 상황을 알려주었다. 그렇다면 이렇게 하면 된단 말이지? 하고 branch main으로 checkout 하려는데 에러가 떠서 commit을 해야 한다고 하니, 그럼 기왕 commit 할 거면 수정을 다 하고 해야 하니, 내친 김에 내가 수정해야 할 사항 jwt token sigature 까지 물어봄 jwt token의 signa..

Project 1 - 4일차 : 깃허브 branch 문제해결 [1차 시도]/ 코드 질문 / '본질에 집중'

내가 거의 깃허브 관리 담당이였다. 제대로 말하자면, 깃허브 branch에 분리해서 코드를 올리는 사람. 즉, 코드도 치고 올리는 사람. 팀원들이 코드를 주긴 하는데, 틀린 코드도 있고 실행하는 사람은 나이고 pr 후 commit 을 하는 사람은 나이고, merge 후 복잡한 문제를 안고, branch copy /생성 후에 새로운 branch를 생성할 사람은 나 이기에, 문제를 꼼꼼히 보는 사람은 나였고, 결국 내가 처음부터 끝까지 하는 양상이였다. 코드를 치는게 어려운 게 아니라, 수정하고 commit하고 merge, merge 이후 수정 하는 것이 어려웠다. 늘 말하지만, 깃허브는 개발자의 편의를 위해 만들어지는 것이라고 들었는데.. 개발자라면 push pull push 반복작업을 100번씩 하는 거..

Project 1- 3일차 : 코드 리뷰, 비교 - threadService / 포스트 Posting 목록 조회, 생성

const { DataSource } = require('typeorm') const dotenv = require('dotenv') const jwt = require('jsonwebtoken') dotenv.config() // const myDataSource = new DataSource({ type : process.env.DB_TYPE, host : process.env.DB_HOST, port : process.env.DB_PORT, username : process.env.DB_USER, password : process.env.DB_PASSWORD, database : process.env.DB_NAME }) myDataSource.initialize() .then(() => { cons..

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..

Foundation 2- 좋은 코드란; 코드 분리

깃허브가 아니라, vscode에서 하는 것 app.js가 들어있는 폴더에, services라는 폴더를 만들고, 1. 그 안에 userService 파일 만든다. 이제 이 userService 파일 안에, 1-1. 회원가입 함수를 넣을 건데, app.post("/users", async (req, res) => { try { // 1. user 정보를 frontend로부터 받는다. (프론트가 사용자 정보를 가지고, 요청을 보낸다) const me = req.body; console.log(me); // 2. DATABASE 정보 저장. const { password, email } = me; //구조분해할당 (위랑 같은 거) // const password = req.body.password // emai..

Project1- 2일 째 한 것, 2일 차 회고 <나의 가치관>

1. stand meeting 원래 10시에 하기로 했는데, 프론트분들이 늦게 오시거나 안 오셔서 점심 이후 2시에 했다. 어짜피 위워크에 있을 거니까 "아무때나 아무곳에서 보시죠" 라는 방식으로는, 나의 업무 우선순위와 계획에 어려웠다. 이동 동선도. "저 지금 1층에 있으니, 1층 오시죠 되실때." 로 하면 안 된다. 팀원들이 언제 어디로 움직일지 모르고, 나 또한 기다리고만 있는 처지가 되었다. 움직일 수가 없고. 그러기에, 시간 약속이 중요함을 깨달았다. 1-1. 장소는 몰라도, 시간을 꼭 정해놓을 것. 그래서 헤어지기 전에, "내일은 몇시에?"로 2시로 정해두었다. 구두로 얼굴 보고 약속을 정해두었으니 모든 팀원들이 지켜야지! 안 지킬 때 할 말이 있다. 1-2. 하지만, 10시에 standin..