DevLog 3

병원 예약 시스템 Part 3 - 데이터베이스 리팩토링과 API 연동

예약 기능을 완성하고 테스트까지 성공했는데 데이터베이스 구조가 너무 비효율적이라 생각해서 수정을 하기로 결심했다.기존 DOCTOR_SCHEDULE 테이블에는 의사 1명당 5개의 근무 데이터가 필요했다. 하지만 모든 의사의 진료 시간은 평일 9-6, 주말 9-2로 고정되기 때문에 굳이 시간을 DB에 저장할 필요가 없었다.그래서 DOCTOR_SCHEDULE 테이블을 제거하고 병원 운영 시간은 application.yml 설정 파일로 관리하고 의사 휴무일은 DOCTOR 테이블에 day_off 컬럼을 추가하는 방식으로 변경했다.이렇게 하면 의사 1명당 데이터가 1개로 줄어들고 휴무일이 변경 시 dayOff 컬럼만 업데이트하면 돼서 유지보수성도 좋아진다. 결과적으로 중복 데이터는 사라지고 운영 시간 관리는 더 유..

DevLog 2025.12.15

병원 예약 시스템 Part 2 - 예약 비즈니스 로직 구현과 프론트엔드 연동

지난 글에서는 Oracle DB 설계와 JPA 엔티티 매핑을 통해 데이터의 구조 부분을 정리했다. 이번에는 실제 사용자가 예약을 요청했을 때 DB에 저장하고 처리하는 비즈니스 로직과 API를 구현하고 이를 프론트엔드와 연동하는 과정을 정리할 거다. 학원 다닐 때 TypeScript 찍먹해봤는데(사실 찍먹도 아님 그냥 냄새만 맡은 정도임) 이번 기회에 더 공부해보면 좋을 것 같아서 JavaScript 대신 TypeScript 써봄(하지만 굉장히 후회했다죠,.,, 왜냐고요? IntelliJ Community 버전에서는 타입스크립트 지원이 안된다죠,,,, 나는 그냥 아니 편하다며?! 타입스크립트 편하다며!!! 하나도 안편한데 왜 씀?? 이러면서 꾸역꾸역 해냄,,, 어쨌든 해냄) Service 계층컨트롤러..

DevLog 2025.12.09

병원 예약 시스템 Part 1 - 프로젝트 세팅과 기술 선정 이유 (MyBatis vs JPA)

풀스택 개발자 취업 캠프를 수료한지 이제 4개월 차^_ㅠ 취준생 기간이 짧으면 좋겠지만 내 마음대로 되는 건 아니니 이 기간을 좀 알차게 쓰고 싶어서 개인 프로젝트를 진행하기로 마음먹었다. 면접 보러 다니면서 백엔드 쪽이 약하다는 걸 계속 느꼈다. 그래서 이번 프로젝트는 익숙한 MyBatis + JSP 대신 Spring Boot + JPA 로 도전해보기로 했다. 1. MyBatis vs JPA 일단 프로젝트 시작 전에 MyBatis랑 JPA 아키텍처 차이를 비교해봤음(따봉 클로드야 고마워) MyBatis + JSP 구조: Controller ➡ Service ➡ DAO ➡ Mapper.xml (SQL) ➡ DBMyBatis로 팀프로젝트를 진행했을 때 테이블을 수정하면 DTO, SQL 쿼리, DAO를 전..

DevLog 2025.12.08