분류 전체보기 337

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

MYSQL 비밀번호 이슈 access denied for user 'root'@'localhost' (using password: yes)

access denied for user 'root'@'localhost' (using password: yes) 는 root계정의 비밀번호가 다를시 나오는 에러 이다.   비밀번호 초기화 방법1.C:\Program Files\MySQL\MySQL Server 8.0\bin // mysql.exe가 있는 폴더로 이동// 첫번째 CMD터미널 생성2.Window+r을 눌러 services.msc검색 후 서비스에 들어가서 mysql 을 종료3. C:\Temp 해당 경로에 mysql_init.txt 에 ALTER USER 'root'@'localhost' IDENTIFIED BY '0000'; 작성 4. 관리자 권한의 cmd를 키고서비스의 mysql을 더블클릭한 후 실행 파일 경로를 확인.끝에 서비스명은 복사하..

JOIN - FrontEnd 개발자 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/276035 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr select ID,EMAIL,FIRST_NAME,LAST_NAME from DEVELOPERS where ID IN ( select ID from DEVELOPERS AS D left join SKILLCODES AS S on D.skill_code & S.code = code where S.CATEGORY='Front End' ) order by ID

JOIN - 상품을 구매한 회원 비율 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/131534 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr select DATE_FORMAT(SALES_DATE,'%Y') as YEAR,DATE_FORMAT(SALES_DATE,'%m') AS MONTH ,count(distinct S.user_ID) as PUCHASED_USERS , round((count(distinct S.user_ID)/ (select COUNT(USER_ID) from USER_INFO WHERE JOINED LIKE '20..

JOIN - 상품 별 오프라인 매출 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/131533 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT PRODUCT_CODE,sum(SALES_AMOUNT*PRICE) as SALES from PRODUCT AS P JOIN OFFLINE_SALE AS O ON P.PRODUCT_ID=O.PRODUCT_ID group by PRODUCT_CODE order by SALES DESC,PRODUCT_CODE

JOIN - 오랜 기간 보호한 동물(1)

https://school.programmers.co.kr/learn/courses/30/lessons/59044 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT I.NAME,I.DATETIME from ANIMAL_INS AS I left join ANIMAL_OUTS AS O on I.ANIMAL_ID=O.ANIMAL_ID where O.ANIMAL_ID IS NULL order by DATETIME limit 3