본문 바로가기

외부 활동

4주차 회원가입, 로그인 기능 추가 학습 목표 JWT에 대한 이해 JWT를 활용한 인증, 인가 구현 로그인, 회원가입 로직 이해 1. 회원가입 기능 회원가입 시 이메일, 패스워드를 받아서, DB에 이메일, 패스워드, 회원 가입 시간을 저장해야 한다. 유저에 대한 정보가 저장될 때, id(PK, primary key)도 같이 Auto-increment 형식으로 저장돼야 한다. 이메일에 반드시 @가 1개만 포함되어 있어야 한다. 이메일에 공백이 포함될 수 없다. 중복된 이메일이 존재할 수 없다. 패스워드에 공백이 포함될 수 없다. 패스워드는 8자 이상 15자 이하여야 한다. (비밀번호는 암호화하지 않고 그대로 저장한다. 암호화하는 건 뒤에서 구현하게 된다.) 2. 로그인 기능 로그인 시 이메일, 패스워드 값을 받는다. 로그인에 성공했을 때, .. 더보기
3주차 API 서버 배포(AWS의 Elastic Beanstalk) + CORS세팅+에러처리 학습 목표 환경 변수 분리 CORS 셋팅 예상치 못한 에러에 대한 처리 AWS의 Elastic Beanstalk를 활용한 서비스 배포 ✅ 요구 사항 환경 변수를 분리해라. 로컬 환경, 배포 환경 2가지로 환경 변수를 분리해라. Node.js에서는 .env를 활용해라. Spring Boot에서는 application.yml(또는 application.properties)를 활용해라. CORS를 설정해라. 예상치 못한 에러에 대해, 상태 코드 500과 에러 메시지로 응답하는 전역 예외 처리 설정을 해줘라. Express.js : https://expressjs.com/ko/guide/error-handling.html Nest.js : https://docs.nestjs.com/exception-filter.. 더보기
2회차 익명 게시판 서비스 개발 시작! Level 2 이번 레벨 부터 본격적으로 서비스 개발을 시작한다. 학습 목표 URL, Http Method를 활용한 기본 라우팅 방법 학습 Request Body, Query Params, Path Params 사용해보기 ORM 사용 엔티티(테이블) 생성 기본적인 CRUD 활용 요청부터 응답까지 전체 과정 경험 REST API 설계 HTTP Status Code (상태 코드) Postman 사용법 요구 사항 게시글 작성 기능 게시글은 제목, 내용을 포함한다. 게시글이 저장될 때, id(PK, primary key)도 같이 Auto-increment 형식으로 저장돼야 한다. 게시글 작성에 성공했을 때, 응답값으로 작성된 게시글에 대한 정보를 보여주어야 한다. 게시글 전체 조회 기능 게시글을 조회할 때 id.. 더보기
1회차 기록 Level 1 LEVEL1 레벨은 큰 두개의 목표가 있다. 첫번째로 NSET 프로젝트 환경 세팅 두번쨰로는 GIthub 셋팅이다. 프로젝트 환경세팅에서는 . IDE세팅으로 node부터 nest를 공부하며 설치한 Visual Studio Code가 이미 설치되어있었다. 그후 Nest CLI 를 활용하여 프로젝트를 생성하고 데이터 베이스를 세팅하는 것이다. 그리고 Github Organization 초대 받았는 지 확인을 하고 네이밍 JSCODE-EDU organization에 자신만의 repository를 만들어라. 커밋 컨변션을 지켜서 initial commit, push 하기 main 브랜치에서 develop 브랜치를 생성하고 commit, push하기 PR(Pull Request) 요청하기 마지막으로 리뷰할 팀원의.. 더보기
6주차 - RestfulAPI와 프레임워크 get메소드 ==> 무언가를 조회 할 때 사용이 된다. 클라이언트는 서버에서 어떤 정보를 주어야 할까? ==>어떤 정볼르 조회 할것인지 서버에게 주어야한다. 대표적으로 querystring을이용 회원가입을 할때는 id,비밀번호,휴대전화번호, 이름 들을 보내야한다. 물론 이 많은 정보들을 쿼리 스트링으로 보낼수 있겠지만 매우 비효율적이다. 그래서 post메소드를 회원가입시 주로 사용을 한다. 특히 무언가를 생성해야할떄. 또한 주로 JSON 형태로 데이터를 주고 받는다. API(application Programming Interface) 란? 예를 들어 핵폭탄을 터트리려는데 핵폭탄의 원리를 알 필요 없이 버튼 하나만 누르면 된다. 또한 스테이크를 먹기위해서 스테이크 요리하는법 전체를 알 필요없이 주문하는 .. 더보기
5주차 - aquerytool 사용하여 erd설계 및 데이터베이스 쿼리 실습 이후 위 과정으로 생성한 erd를 rds에 생성을 해보자 ! 원래 FK연결을 해주어야 하지만 난 무료 버전이라 대충 sql문만 따오는 용도로 만듬. 근데 궁금한게 FK연결을 따로 안해줘도 sql문 상에는 차이가 없는데 왜 그런건지 모르겠다. 그저 연결관계만 보여주는게 끝인건가..? 데이터 베이스를 생성 안하고 erd를rds에 생성하려고 하자 오류가 나서 데이트베이스를 생성을 다시 sql을 넣어줌 음 트리플 모니터를 쓰다 보니 카톡 내용이 들어가버렸네 영상 편집 공부 하고 와서 수정 할 예정쓰 퀴리문 실습은 사진과 코드가 날아가서 같은 조 인 슈리의 노션을 참고 하였다. 쿼리문의 경우 기본적으로 SELECT, FROM, WHERE로 구성된다. SELECT : 원하는 요소를 가져온다. FROM : 가져오는 .. 더보기
4주차 -AWS RDS 구축 및 RDS 외부 접속하기 RDS : 데이터 베이스 서버 ===> 여러개의 서버가 하나의 DB를 사용한다. 챌린지 과제 데이터 베이스 생성을 끝냈고 이후 생성되는게 약 15분정도 걸린다 휴식 고고 뒤에서 mysql비밀번호를 친후 터미널이 작동하지 않았다. 그 이유를 정확 히는 모르지만 rds VPC보안그룹의 인바운드 큐칙을 왕창 추가했따..뭐가 문제였을꼬.. 흠 aws에 기능이 너무 많아서 너무 깊게 찾아보는건 아직 무리인것 같아 우선 해결된걸로 만족 하고 넘어가자 ! 아무튼 외부 접속 성공 ! 더보기
3주차 - 도메인과 리다이렉션, AWS 서버 환경 구 현실에서의 위도 경도를 도로명 주소로 인간이 알기 쉽게 표현한것 처럼 IT세계에서도 ip를 인간이 알기 쉽게 표현한것을 도메인이다. 휴대폰으로 네이버에 접속을 하면 주소가 옆의 사진 처럼 되어있다. 이것이 바로 서브 도메인이다. 서브 도메인은 보조 도메인으로 url을 전송하거나 ip주소 디렉토리로 포워딩되는 도메인 이름의 확장자이다. 서브 도메인은 보조 도메인으로 url을 전송하거나 ip주소 디렉토리로 포워딩되는 도메인 이름의 확장자이다. ip는 도메인으로 연결이 되서 http는 https로 연결이 된다.==>리다이렉션 처리가 되어있다. 자 이제 ec2 서버 환경 구축 실습을 진행 할 것이다. 그 순서로 1.리눅스에 nginx,php,mysql설치 2.nginx와 php연동 3.도메인 구입하여 적용하기 .. 더보기