728x90
반응형
SMALL
백엔드를 개발하고
API를 테스트 할때
프런트에서 테스트를 하는게 아니라
https://www.postman.com/downloads/
Download Postman | Get Started for Free
Try Postman for free! Join 25 million developers who rely on Postman, the collaboration platform for API development. Create better APIs—faster.
www.postman.com
포스트맨을 사용하여 테스트를 하는거다
사용하기
왜 우리 라우트 경로에 뭐 다 만들어 놨지 않음?
저 하면 됨
![]() |
![]() |
get으로 / 기본 경로 불러오면 이래 나옴 | |
![]() |
![]() |
get /login | |
![]() |
![]() |
get /registe | |
![]() |
POST /login |
![]() |
POST /register |
사용법은 이미 알고 있음. .
개발하면서 이거 사용 해봤기 때문에. .ㅎㅎ
클라우드를 이용해서 데이터베이스 구축 하기
https://aws.amazon.com/ko/?nc2=h_lg
클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services
aws.amazon.com
계정을 만들고 로그인을 하면된다
그런데 계정만들때 신용카드로 뭔 인증? 그런게 좀 필요
![]() |
루트 사용자로 로그인을 할건데 계정 하나로 여러 아이디를 부여해 줄수 있다 그게 IAM 사용자다 그럼 그 둘의 차이는 내가 우리 기업의 루트계정 ID를 갖고 있음. 이때 각각 하휘 팀에 권한을 줄건데 이때 IAM계정을 만들어 주는거다 |
![]() |
RDS 서비스를 검색 클릭 |
![]() |
서비스 제공 지역은 서울로 설 |
![]() |
결제 대시보드 에선 뭔 서비스를 이용했고 얼마를 썻다가 나옴 |
![]() |
자 그래서 RDS가 뭐냐면 클라우드 기반 데이터베이스를 말한다 |
DB만들자 - AWS 로 만드는건데 이거 그냥 넘어가..
지우려다가 언젠간 쓸일 있겠지 싶어 놔둠
![]() |
DB 인스턴스 라고 누르면 이런 화면이 나오는데 우리가 만드는 데이터 베이스들의 목록이 나열되는곳 |
![]() |
데이터베이스 생성을 누르면 생성방식이 나온다 표준 생성 ㄱㄱ |
![]() |
엔진 옵션 선택 화면이 나온다 MySQL사용 ㄱㄱ |
![]() |
여기서 템플릿 선택이 있다 연습용인데 무료 써야지 프리 티어 ㄱㄱ |
![]() |
사용할 DB인스턴스의 식별자로 ASW에서 고유한 값이다 임의로 써 넣고 마스터 사용자명은 절때 까먹으면 안됨 마스터 암호도 있는데 얘도 까먹음 안 |
![]() |
이대로 패스 |
![]() |
스토리지 자동 조정 활성화 저거 체크하면 돈나간다니깐 체크 해제 |
![]() |
연결 정보 여긴 다른건 다 디폴트값 쓰고 저기 퍼블릭 엑세스 만 예로 체크 저게 뭐냐면 너 아마존꺼 퍼블릭IP쓸거냐? 아님 로컬에서도 사용되게 할거냐를 묻는 |
![]() |
VPC 보안 이건 데이터베이스에서 접속하는 트레픽을 지정해 줄수 있 |
![]() |
MySQL은 기본으로 3306번 포트를 제공한다 |
![]() |
암호 인증으로 하고 아까 까먹으면 안된다가 이거 할라고 한 |
![]() |
아까 DB인스턴스 식별자와 동일하게 해놓고 넘어가 |
![]() |
저거 자동 백업 활정화 화면을 캡쳐해서 사진으로 스냅샷을 찍는건데 공부가 다끝나고 테이블이든 뭐든 삭제를 해도 저건 남아 있어서 돈이 지불되게 된다 해제해 |
![]() |
삭제 방지 활성화 저건 나중에 실제 서비스를 진행 할땐 체크를 해야 함 그리고 체크를 해두면 나(루트계정자)도 삭제를 못하는데 직접 |
mysql 워크밴치에서 DB도 만들고 테이블도 만들고 해보자고
![]() |
테이블 만들기... 전에 DB부터 만들어야지 워크밴치 들어가면 상단 메뉴들 중 드럼통 하나 있음 거 누르라 |
![]() |
테이블 명 글 셋팅은 이대로 해야 한글임 Apply ㄱㄱ |
![]() |
만들었음 테이블 폴더 안에 뭐 만들어야지 |
![]() |
use DB명; 만든다 테이블을 테이블면 ( id 필드 문자형(30자) null 삽입 금지, name 필드 문자형(30자) null 삽입 금지, psword 필드 문자형(30자) null 삽입 금지, 데이터 생성시 현재 날짜와 시간을 자동으로 입력하도록 설정, PK는 id로 지정 ); 이란 의미 |
![]() |
users 테이블을 만들었으니 쟤들 넣어줘야지 |
![]() |
![]() |
![]() |
![]() |
![]() |
테이블 생성 잘 됬고.. 테이블 정보도 잘 입력 됬고.. 이렇게 데이터도 직접 입력을 해주니 |
![]() |
![]() |
잘 들어가 졌넹
만든 DB 설정 하고 연결 해야지
![]() |
소스 폴더에 user.json은 필요 없다 config 폴더를 만들고 db접근을 위해 코드를 넣어주자 |
![]() |
얘 설치하고 |
![]() |
이렇게 불러다 넣어주면 됨 |
UserStroage 지금 user.json이랑 연결되있으니깐 이거 전부 걷어 내야 함!!
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
getUserInfo() 여긴 데이터 베이스에 접근 한 다음 데이터를 갖고오기만 하면 됨! 먼저는 테스트.. |
![]() |
에..? 에러가 뜨는데 이건 |
![]() |
User 에서 저기 빈값을 넣었을때 그냥 undefined가 떠서 그런건데 뭔 구조분해 할당이란걸 해줘야 한다 됬고.. |
![]() |
집어 넣었던 데이터는 다 나옴 |
![]() |
자 근데 쿼리 부분 에 특정 id를 넣어야 하니 이렇게 WHER절을 쓰고 id = ? 인걸 갖고와라, [id] 라고 쓰면 해당하는 값을 불러오게 되 있 |
![]() |
![]() |
![]() |
값을 리턴 해줘야 하는데 그냥 return data; 하게 되면 보안상 안된다 일단 구조를 생각 해보자 fs 을 썻을땐 자체적으로 Promise를 지원해서 썻으나 mysql은 그런게 없다 때문에 직접 이 Promise를 만들어줘야 한다 쿼리를 실행 하는데 성공하면 resolve()를 실행시키고 실패하면 reject()를 실행 시켜라 그럼 저 안에 들어갈건 각각 data와 err이다 |
![]() |
실행... 왜???????????? |
![]() |
data 안에 뭐가 들었나 콘솔찍어보니 배열이 들어있음 그럼 |
![]() |
data[0] 번째꺼 가져오라 하면 될듯..? 성공 |
※ 중요
함수는 한 가지 기능만 수행하게 구현 해야함.
Promise로 만들어주지 않으면 하나의 함수에서 DB조회, 로그인검증, 클라이언트에 응답 까지
하는 "이도 저도 아닌 코드"가 됨
클래스는 User와 UserStroage 처럼 각자의 역할을 분명히 구분 해줘야 함
UserStroage는 DB의 CRUD를 수행하고
해당 데이터의 검증은 User가 수행하게 역할 구분 해야 함
이걸 바탕으로 좀 더 나은 코드를 짜보는게 좋음
![]() |
회원 정보 가져오는거 query 따로 분리해 관리하고 save에 복붙 해서 쿼리만 수정 해주 |
![]() |
query문은 저장을 하는거니깐 INSERT INTO를 썼고 던져줄 갑으로 userInfo 안에 id, name, psword 가 있으니 연결하고 저장 하는것 뿐이니 data 값은 필요가 없음.. 빼 에러는 reject()에 err 넣고 resolve()안에는 success: true 라고 Object를 넣어주자 |
![]() |
새로운 값 넣어 저장 잘 됨 |
Web Server와 WAS의 차이점
클라이언트에서 데이터가 넘어왔을때
서버에서 데이터를 가공을 한다?
WAS
아니 그냥 정적 데이터 그대로 보여준다
WS
728x90
'Back-End Frameworks > Node.js' 카테고리의 다른 글
15) Nodejs - 백앤드 넓고 얕게 맛보기_정리_로그 관리하기(출처 유튭 강의)★★★ (0) | 2023.11.05 |
---|---|
14) Nodejs - 백앤드 넓고 얕게 맛보기_정리_환경변수로 보안 관리(출처 유튭 강의) (0) | 2023.11.03 |
12) Nodejs - 백앤드 넓고 얕게 맛보기_정리_데이터를 파일에 저장하기(출처 유튭 강의)★★ (0) | 2023.11.01 |
11) Nodejs - 백앤드 넓고 얕게 맛보기_정리_데이터 파일로 관리하기(출처 유튭 강의)★★★ (0) | 2023.11.01 |
10) Nodejs - 백앤드 넓고 얕게 맛보기_정리_회원가입 요청 기능 구(출처 유튭 강의) (0) | 2023.10.31 |