Wecode -Foundation 2 (부트캠프) 36

Foundation Test를 위한, [백엔드 프론트 연결] 프론트엔드에게 '로그인' 시키기

[jwt, token] 토큰 개념, 토큰 코드 만들기, 토큰 발행 / 프론트와 연결하는 법 (엔드포인트, api) 토큰? 백엔드가 매번 프론트에게 사용자의 로그인 기록을 주는데, 비밀번호를 암호화해서 줌 --> 로그인 기록 유지 하는 기능 (다른 거 하는 동안) 로그인 성공한 시점에 토큰을 발급. 그 토큰의 pm-developer-justdoit.tistory.com 프론트엔드에게 회원가입 정보 받기 프론트와 백엔드 연결 (회원가입) 회원가입으로 프론트와 백엔드를 연결해볼 것이다. 백엔드 입장에서만 썼는데, 프론트는 무엇을 하는가를 생각해보는 시간. http 통신과 인터넷에 대한 이해가 pm-developer-justdoit.tistory.com 로그인도 시도해볼까? 아직 지금은 하드코딩이긴한데 (id를..

Foundation Test를 위한, [회원가입] - 아이디 패스워드 중복 확인

최종 '회원가입' '로그인' 코드 ** (코드 완성하면 다시 복붙, 수정) - 회원가입 - 에러 핸들링 - 회원가입 - 중복확인 - 로그인 - 토큰 발행 이런 식으로 진행되었다. 처음에 회원가입은 유저 데이터 받아오기 유저 데이터를 데이터베이스에 저장하는 과정이였고 두 pm-developer-justdoit.tistory.com 회원가입을 해보자 일반적으로 생각해보면 일단, 이미 회원가입한 사람은 회원가입할 수 없다. 그렇다면 이미 회원가입했는지 어떻게 알까? 가입하려는 아이디 패스워드를 우리가 데이터베이스(DB)에 있는지 보면 된다. 어떻게 볼까? 비교해보는 것이다. 바로 중복! 중복확인을 해보자. 컴퓨터는 한번에 하나밖에 할 수 없으니, 아이디/이메일부터 중복 확인 후 패스워드 중복 확인을 하고 이 ..

Foundation Test를 위한, [백엔드 프론트 연결] 프론트엔드에게 '회원가입' 정보 받기

[jwt, token] 토큰 개념, 토큰 코드 만들기, 토큰 발행 / 프론트와 연결하는 법 (엔드포인트, api) 토큰? 백엔드가 매번 프론트에게 사용자의 로그인 기록을 주는데, 비밀번호를 암호화해서 줌 --> 로그인 기록 유지 하는 기능 (다른 거 하는 동안) 로그인 성공한 시점에 토큰을 발급. 그 토큰의 pm-developer-justdoit.tistory.com 프론트와 백엔드 연결 (회원가입) 회원가입으로 프론트와 백엔드를 연결해볼 것이다. 백엔드 입장에서만 썼는데, 프론트는 무엇을 하는가를 생각해보는 시간. http 통신과 인터넷에 대한 이해가 있으면 좋다. 프론트에도 함수가 있고 백엔드에도 함수가 각각 있다. 프론트에 있는 함수를 fetch로 백엔드에 있는 함수를 호출한다. Http 통신으로 ..

Foundation 2- 초보 입문자의 개발 공부법 - 다시 회고

공부법 머리써서 골라서 공부할 생각말고 그냥 해! 그게 더 빨라! 하다가 넘기면 되니까 . 그리고 물어볼거면, 애매하게 얕게 아는 사람보다, 1개월 3개월 앞선 사람말고 3년 된 사람에게. 신입으로 입사 시, 회사에서 경력직에게 물어봐야하는것과 같다. 1개월 선배보다. 그리고 코드 봐 달라햇으면 한 명한테만. 각자 스타일 달라서 코드 더럽혀짐 과정, 익히기 일단 성공 시킬 생각에 급하지 말고 중간중간 에러 일부러 만들어보며 내가 만든 코드가 맞는지 되는지 차근차근 에러 핸들링 되는게 문제가 아니라 그 뒤 다 하고 나서복기하면서 기록하고, 또 까먹으면 다시 물어보면 됨. 코드 다 일단 성공 시키고 나서 블로그는 여유 될 때 회고 하면서 그렇게 하면, 완벽하진 않겠지만 다시 복기 물어보며 하면 된다. 코딩하..

Foundation Test 위한, 회원가입 (에러 확인, postman 실행, try- catch 구조)

이번엔 중복했는지 확인하면서 회원가입 보는 것. 코드를 만들면서 이 코드가 맞는지 확인을 하면서 가야한다. 하나할 때마다 실행시켜서 확인을 해 봐야한다. 코드를 다 짜고 나서 한번에 오류 수정하려고 하면 찾기 힘들거 어려우니까. (오류는 어짜피 위에서부터 내려가는거니까. 위에서 한줄씩 실행시키면서 오류를 수정해나가는게 편하다는 것) 그렇다면, 회원가입할 때 첫번째 단계가 키가 다 있는가 이니까,(코드에는 키 email, password가 다 들어와야 한다고 썼다. 일부러 키를 하나 오류를 내는 방법, 1) key값을 다 줬는지에서 email를 postman body에서 지워보고, 쳐보면, postman 오류로, keyerror 메세지가 나온다 (에러 나왔을 떄 내가 설정한 메세지) (프론트와 json으로..

Foundation Test 앞서, 회원가입, 로그인, 토큰발행 [전반적인 흐름] 구조화

https://pm-developer-justdoit.tistory.com/37 [Westagram Backend Project] 3. mysql Database로 유저 회원가입 하기 (주황색) -Westagram Backend Project - 여기에서 body가 없는거고, 배열 안에 있는 건 더미 데이터 [Node.js] Express, postman 활용 - 유저 생성, 추가 (회원가입) 이거를 배열로 추가하는게 아니라, Express로 server 연결하는 pm-developer-justdoit.tistory.com 여기에서 이어지는 과정 위에서는 데이터베이스와 mysql 연결 후 user정보 저장, user 추가, 데이터베이스에 정보 저장 과정이였다. 이후 배운 것은, error handling..

Foundation Test 위한, 로그인 + token 발행 [개념]

이후 공부한 자세한 내용 [jwt, token] 토큰 개념, 토큰 코드 만들기, 토큰 발행 / 프론트와 연결하는 법 (엔드포인트, api) 토큰? 백엔드가 매번 프론트에게 사용자의 로그인 기록을 주는데, 비밀번호를 암호화해서 줌 --> 로그인 기록 유지 하는 기능 (다른 거 하는 동안) 로그인 성공한 시점에 토큰을 발급. 그 토큰의 pm-developer-justdoit.tistory.com token에 담긴 id는 userId이다. 1) 로그인 성공했을 때 token을 어떻게 만드느냐 -> jwt 2) 비밀번호 암호화 (다음주에, Project1하면서) -> bcrypt 유저가 id (이메일 / db id 아님) , pw 준다 백엔드가 확인 (키가 다 잘 왔는지) 이메일 중복 확인 (가입했는지? 있는 ..

Foundation 2- 개발은 효율을 따지는게 아니구나

효율성을 평생 중시하던 나인데 에러 찾고 구동할때마다 하나씩 에러 나서 산넘어 산이고, 수업시간에 조금씩 추가된 코드가 뭔지 이전 코드랑 하나하나 비교하는데, 아 이걸 이렇게 해야 하나 그냥 다 복붙할까 하는데 복붙했더니 처음 보는 또 다른 에러가 나고 이걸 이렇게 해야하나.. 코드 문제를 푸는게 아니라 이거를 비교하면서 차이점 찾는데 이럴 일이야?하며 시간 아까운데 다들 그러고 있었다. 차분하게 해야 하는, 에러가 뭔지 찾고 ㅇㅇ 마음이 급하거나 성격이 급해지면 안 되는 듯하다 효율 따지면 안 되고..

Foundation 2- 'Client does not support authentication protocol requested by server; consider upgrading MySQL client', sqlState: '08004', / mysql, node.js 연동 오류

찾아보면 mysql version 문제로 down grade하거나 mysql2를 설치하라고 했는데, 나는 이미 mysql가 설치 되어 있었다. 도대체 무엇이 문제인가. 매우 많은 사람들이 이 문제를 동일하게 겪었고, 심지어 동시간대에 백엔드 동기들 2명이나 더 이 문제를 겪었다. 다들 caching_sha2_password 문제라고 하는데 이 한줄로 해결된다. ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root_password'; 위에서 'root_password'에서 비밀번호만 바꿔쓰면 된다! 이거를 터미널에 그대로 쓰고, 비밀번호 자리에 내 비밀번호 쓰면 된다. 그러면, 터미널에서 mysql이 정상작동하고 다시 node 파일명.j..

Foundation 2 - 인증 : token, session,

그래서 인가 어떻게 하는건데? 백은 프론트에게 무엇을 전달 받아야하고, 백은 프론트에게 무엇을 받아서 무엇을 줘야 하는지 → 기술 스택 명확하게 알아야 함. (기술적 펼처짐 이해) unless, 변수, 에러 → 전체 flow 이해 (내가 작성한 소스 코드가 어떠한 결과를 내기 위해 존재하는지 알아야 함) HTTP 사용 : 웹 환경에서 사용자 - 시스템 사이 데이터 교환 HTTP의 대표적 특징 : stateless (“상태없음”: 독립적, 과거 통신에 대한 이력이 저장되지 않는다: 언제? 한번의 request, response 생애 주기가 끝나면, 소멸됨 → 그래서 header에 다양한 메타 정보_과거 이력 동봉해서 보냄 ) 그럼, 인증 인가 어떻게 해? Stateless인데? → 매번 요청할때마다 인증 ..