외부활동 33

2회차 익명 게시판 서비스 [에러 및 부족한 개념 채우기]

1. port: +process.env.PORT 에서 환경 변수 안되는데 질문 process.env.PORT 3306 에서 string 형식은 number형식에 할당할수 없다는에러. => 1. const port = parseInt(process.env.PORT, 10); // 10진수로 파싱하여 숫자로 변환 2. const port = +process.env.PORT; 2. 컨트롤러 구성시 Get이 먼저 나와야 하는 이유 NestJS의 데코레이터(decorator)의 우선순위는 라우팅 매칭과 미들웨어 실행에 영향을 미친다. NestJS는 데코레이터의 우선순위를 기준으로 요청을 올바른 핸들러 함수로 라우팅하고, 미들웨어를 실행한다. 경로 매칭 우선순위: NestJS에서 경로 매칭은 가장 구체적인 경로와 ..

2회차 익명 게시판 서비스 [API문서 Swagger 만들기]

LEVLE 5 협업의 기본, API 문서 만들기! 학습 목표 API 문서 작성 ✅ 요구 사항 아래 API에 대해 API 문서를 작성해라. 게시글 작성 기능 게시글 전체 조회 기능 특정 게시글 조회 기능 특정 게시글 수정 기능 특정 게시글 삭제 기능 게시글 검색 기능 ✅ 제약 조건 Swagger, Github Wiki, Notion, Postman, Gitbook 중 사용하기 API 문서에 아래의 내용은 반드시 포함시키기 URL 주소 / HTTP 메서드 API 설명 요청 형태 Path Parmas Query Params Body Params 필수 여부 데이터 타입 응답 형태 응답 코드(status code) 각 응답 코드별 설명 응답 형태 (response value) 응답 값에서 각 파라미터의 의미 응답..

2회차 익명 게시판 서비스 [유효성 검사, 예외처리]

Level 4 ‘익명 게시판’의 기능 추가 (유효성 검사, 예외 처리) 학습 목표 유효성 검사 예외 처리 ✅ 요구 사항 게시글 작성 기능 게시글 제목, 내용은 필수적으로 포함해야 한다. 제목은 1글자 이상 15글자 이하여야 한다. 내용은 1글자 이상 1000글자 이하여야 한다. 제목은 공백으로만 이루어질 수는 없다. 특정 게시글 조회 기능 게시글의 id(PK, primary key)로 특정 게시글을 조회했을 때, 존재하지 않는 게시글일 경우 에러 메시지로 응답하기 특정 게시글 수정 기능 게시글 작성할 때의 유효성 검사 조건과 동일하게 가져가야 한다. 특정 게시글 삭제 기능 게시글의 id(PK, primary key)로 특정 게시글을 삭제하기 위해 조회했을 때, 존재하지 않는 게시글일 경우 에러 메시지로 ..

2회차 익명 게시판 서비스 [정렬, 검색, 개수제한]

Level 3 익명 게시판’의 기능 추가 (정렬, 검색, 개수 제한) 학습 목표 정렬 기능 검색 기능 데이터 조회 시 limit 걸기 createdAt 컬럼 배우기 ✅ 요구 사항 게시글 작성 기능 게시글에 생성 시간도 같이 저장한다. 게시글 전체 조회 기능 게시글을 조회할 때 생성 시간의 값도 포함돼야 한다. 최근에 작성된 순으로 게시글이 조회되어야 한다. 데이터 조회 개수는 최대 100개까지만 할 수 있어야 한다. 특정 게시글 조회 기능 게시글을 조회할 때 생성 시간의 값도 포함돼야 한다. 특정 게시글 수정 기능 (추가 요구사항 없음) 특정 게시글 삭제 기능 (추가 요구사항 없음) 게시글 검색 기능 검색 키워드로 게시글을 검색할 수 있어야 한다. 검색 키워드가 포함된 제목을 가진 게시글을 전부 조회한다..

2회차 익명 게시판 서비스 [데이터 베이스 및 ORM 세팅 및 CRUD ]

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회차 NestJS 환경세팅 및 Github세팅

1회차에는 큰 두개의 목표가 있다. 첫번째는 NESTJS 프로젝트 환경 세팅이고 두번째는 Github 셋팅이다. 프로젝트 환경 세팅은 Visual Studio Code IDE세팅을 한 후 NEST CLI를 사용해서 NEST프로젝트를 생성하고 데이터베이스를 세팅해야한다. 그 후 Github Organization 초대 받았는 지 확인을 하고 JSCODE organization에 자신만의 repository를 만들면 된다. 생성한 레포지토리에서는 아래와 같은 4개의 미션을 수행하면 된다. 1. 커밋 컨변션을 지켜서 initial commit, push 하기 2. main 브랜치에서 develop 브랜치를 생성하고 commit, push하기 3. PR(Pull Request) 요청하기 4. 리뷰할 팀원의 PR..

6주차 - RestfulAPI와 Node.js Express 프레임워크

Route : requset가 오면 해당 url 요청에 맞는 controller로 연결 Controller : 형식적 validation, querystring,path variable,body를 받아서 전달 provider(조회)/service(그외):비지니스로직, transaction, 의미적 validation(DB를 거친다) Service의 경우 Dao에게 같은 파라미터를 넘겨줘서 실질적 쿼리를 실행한다. Dao: Query작성 및 실행, Get메소드 ==> 무언가를 조회 할 때 사용이 된다. 클라이언트는 서버에서 어떤 정보를 주어야 할까? ==>어떤 정보를 조회 할것인지 서버에게 주어야한다. 대표적으로 querystring을이용 회원가입을 할때는 id,비밀번호,휴대전화번호, 이름 들을 보내야한다..

5주차 - 인스타그램 erd설계 및 데이터베이스 쿼리 실습 with AQeryTool

User 테이블 Post 테이블 CommentLike 테이블 PostLike 테이블 PostImg 테이블 위 테이블들을 rds에 생성을 해보자 ! 원래 FK연결을 해주어야 하지만 난 무료 버전이라 대충 sql문만 따오는 용도로 만듬. 근데 궁금한게 FK연결을 따로 안해줘도 sql문 상에는 차이가 없는데 왜 그런건지 모르겠다. 그저 연결관계만 보여주는게 끝인건가..? 데이터 베이스를 생성 안하고 erd를rds에 생성하려고 하자 오류가 나서 데이트베이스를 생성을 다시 sql을 넣어줌 쿼리문의 경우 기본적으로 SELECT, FROM, WHERE로 구성된다. SELECT : 원하는 요소를 가져온다. FROM : 가져오는 테이블을 지칭한다. WHERE : 쿼리문에서의 조건이라 생각하면 편하다. SELECT nam..

4주차 -AWS RDS 구축 및 외부 RDS 외부 접속하기 with DataGrip

RDS : 데이터 베이스 서버 ===> 여러개의 서버가 하나의 DB를 사용한다. 데이터 베이스 생성을 끝냈고 이후 생성되는게 약 15분정도 걸린다 휴식 고고 뒤에서 mysql비밀번호를 친후 터미널이 작동하지 않았다. 그 이유를 정확 히는 모르지만 rds VPC보안그룹의 인바운드 큐칙을 왕창 추가했따..뭐가 문제였을꼬.. 흠 aws에 기능이 너무 많아서 너무 깊게 찾아보는건 아직 무리인것 같아 우선 해결된걸로 만족 하고 넘어가자 ! 아무튼 외부 접속 성공 !

3주차 - 도메인/서브 도메인 구매 및 연결

현실에서의 위도 경도를 도로명 주소로 인간이 알기 쉽게 표현한것 처럼 IT세계에서도 ip를 인간이 알기 쉽게 표현한것을 도메인이다. 휴대폰으로 네이버에 접속을 하면 주소가 위 사진 처럼 m.이 붙은 url로 나타난다. 이것이 바로 서브 도메인이다. 서브 도메인은 보조 도메인으로 url을 전송하거나 ip주소 디렉토리로 포워딩되는 도메인 이름의 확장자이다. 서브 도메인은 보조 도메인으로 url을 전송하거나 ip주소 디렉토리로 포워딩되는 도메인 이름의 확장자이다. ip는 도메인으로 연결이 되서 http는 https로 연결이 된다.==>리다이렉션 처리가 되어있다. 1.도메인 구입하여 적용하기 가비아 사이트에 접속한뒤 내가 원하는 도메인을 구매한다. www.moca9012.shop 이라는 도메인을 500원에 구임..