inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

인프런 워밍업 클럽 스터디(BE) 0기 / 3주차 발자국

optional94
2

일주일 간의 학습 내용에 대한 간단한 회고📕

어느덧 마지막 3주차 회고 작성입니다. 인프런 워밍업 클럽 스터디 0기(BE)에 참여하면서, 어설프게 할 생각이었다면 시작조차 안 하는 것이 백배 낫다고 생각하며 진정성 있는 참여를 하기 위해 미션과 미니 프로젝트를 수행하기 위해 최선을 다하려고 끊임없는 도전과 열정을 코드로 보이기 위해 노력했습니다. 3주의 시간이 정말 짧게 느껴질 정도로, 수많은 고민과 반복적인 공부를 통해 스스로의 객관화를 가질 수 있는 매우 유익한 시간이라고 확신합니다.

🔥미니 프로젝트 4단계까지 구현을 성공했습니다. 비록💡한 걸음 더! 는 마감 기간 내에 구현하지 못했지만, 처음 시작할 때의 열정과 목표를 잊지 않으면서 강의를 통해 멘토님께서 전달하고자 하는 지혜와 경험을 바탕으로 3주 동안 스스로 많이 성장한 모습에 놀라며 끊임없는 도전으로 구현 능력의 한계를 극복할 수 있게 된 특별한 경험이었습니다. 이 경험으로 취업에 성공하여 회사에 의미를 더해줄 훌륭한 개발자로 성장을 목표로 오늘도 어김없이 정진하겠습니다.

학습 내용 정리

미니 프로젝트 1단계

API 에 따라 정상적인 동작을 수행하는지 과정을 검증하는 공간입니다. 직원과 팀 엔티티 확인하기 #4 직원과 팀의 컨트롤러, 서비스, 리포지토리 확인하기 #6

커밋 메세지와 코드 확인은 위의 이슈로 이동하면 확인할 수 있습니다.

0. 데이터 API

팀 등록하기

모든 팀 조회하기

직원 등록하기

모든 직원 조회하기


1. 테이블 생성

직원과 팀 테이블은 다음과 같은 쿼리를 통해 자동으로 생성됩니다.

image

팀 테이블

image

직원 테이블

image


2. 데이터 추가

팀 테이블에 여신관리팀, 영업1팀, 전산팀 을 등록합니다. 직원 테이블에 다수의 직원 데이터를 등록합니다.

2.1 팀 등록하기

팀 등록(POST / /api/v1/team)을 통해 여신관리팀, 영업1팀, 전산팀 데이터를 팀 테이블에 저장합니다.

image

image

image

팀 테이블

여신관리팀, 영업1팀, 전산팀 데이터를 성공적으로 저장한 것을 확인합니다.

image


2.2 직원 등록하기

직원 등록(POST / /api/v1/members)을 통해 다수의 직원들을 등록합니다.

image

image

image

image

image

image

직원 테이블

team_id 를 통해 해당 팀에 알맞게 데이터를 성공적으로 저장합니다. 팀에 속하지 못한 경우에는 null 으로 표시됩니다.

image

팀 테이블

회원 등록과 함께 직원이 팀에 포함되면 member_count 를 증가합니다. manager 는 회원 등록 roleMANAGER 만 가능합니다. 이미 MANAGER 가 존재하는 팀에다가 MANAGER 인 직원을 포함하려고 하면 예외가 발생합니다.

image


3. 데이터 조회

3.1 직원 조회

모든 직원 조회(GET / /api/v1/members)으로 정보를 출력합니다. 팀에 속하지 못한 직원은 teamNamenull 으로 출력됩니다.

image

3.2 팀 조회

모든 팀을 조회합니다.

image


미니 프로젝트 2단계

0. 데이터 API


1.테이블 미리보기

출퇴근 동작 확인을 위해 미리 팀과 직원 데이터를 작성합니다.

팀 테이블

image

직원 테이블

image

출퇴근 테이블

image


2. 출근하기

-http://localhost:8080/api/v1/commute/start?memberId=1 으로 id1인 회원이 출근 처리됩니다.

image

출퇴근 테이블

image


3. 퇴근하기

-http://localhost:8080/api/v1/commute/end?memberId=1 으로 id1인 회원이 퇴근 처리됩니다.

image

출퇴근 테이블

image


4. id=1 직원에게 2024-03 근무한 데이터 추가하기

출퇴근 테이블

image


5. id=1 직원의 2024-03 출퇴근 조회하기

image


미니 프로젝트 3단계

0. 데이터 API


1.테이블 미리보기

휴가 동작 확인을 위해 데이터를 작성합니다. 참고하기 바랍니다.

직원 테이블

image

팀 테이블

image

출퇴근 테이블

image

휴가 테이블

image

휴가룰 테이블

image


1. 휴가 정책

image

휴가룰 테이블

image


2. 휴가 등록

image

휴가 테이블

image


3. 남은 휴가 개수

imageimage


4. 특정 직원의 날짜별 근무시간 조회

imageimageimage


미니 프로젝트 4단계

0. 데이터 API

1.테이블 미리보기

초과 근무 계산 동작 확인을 위해 데이터를 작성합니다. 참고하기 바랍니다.

직원 테이블

image

팀 테이블

image

출퇴근 테이블

image


2. 초과 근무 계산

  1. 2024-03 의 공휴일과 주말은 총 11 일입니다. 따라서 88시간 = 5280분

  2. 2024-03 의 전체 평일은 총 20 일입니다. 따라서 20일 * 8시간 = 160시간 = 9600분

  3. 2024-03 의 직원 (id = 1) 의 전체 근무 시간은 345 시간입니다. 따라서 345시간 * 60분 = 20,700분

  4. 포스트맨의 결과 동일하게 초과 근무 시간 = 20,700 - 9600 = 11000 으로 정상적으로 출력되는 것을 확인할 수 있습니다.

  5. 2024-03 의 직원 (id = 2) 는 초과 근무 시간 이 없으므로 0 으로 출력됩니다.

  6. 이름은 첫 글자와 마지막 글자를 제외한 모든 글자는 * 으로 표시합니다.

  7. 직원 테이블로부터 이름을 조회한 것으로 데이터베이스 안에는 정확한 이름이 존재합니다. * 는 서비스 로직에서 처리되어 연**1 처럼 응답합니다.

image


백엔드 Spring Java

답변 0