한화시스템 BEYOND SW 캠프 19기 - 10주차 회고

후라이드·2025년 9월 20일

회고록

목록 보기
11/28

✨BEYOND SW 캠프 19기 10주차 회고

야호!!! 벌써 10번째 회고록이다! 🎉

회고의 넘버가 두 자리 수가 되다니 정말 마음이 싱숭생숭하다.

첫 회고록 쓸 때만 하더라도 끝날 때까지 열심히 쓰겠다고 다짐했었는데…

어느 순간 부터는 귀찮아서 대충 대충 썼던 적도 있었던 것 같다.

그래도 오늘을 기점으로 다시 회고도 열심히 써 볼 수 있게 노력해야겠다.

그리고 요즘 학원에 아픈 사람들이 늘고 있는 것 같다…

저번주의 나도 그렇고…. 아무튼 건강을 위해 저녁에 런닝을 하기 시작했다! 💪🏻

매일은 하지 못하더라도 꾸준히 하는것을 목표로 나아가보자!!!

📕 새롭게 얻은 지식

Spring JPA

이번주에는 드디어 JPA를 배웠다. JDBC부터 시작해 Mybatis를 거쳐

JPA를 배우게 되었다. JPA는 예전에 김영한 강사님의 강의영상을 보고

맛을 본 적이 있었는데, 솔직히 그때는 전체적인 개념도 제대로 모르고

코드만 따라쳤다 보니 왜 JPA를 사용하는지, 이 코드는 왜 이런식으로

작동하는지 모른채 그냥 시간만 보냈던 것 같다.

그래서 JPA는 무엇이고, 왜 쓰는지에 대해 이야기 해보자면.

JPA란?

자바 진영의 ORM(Object-Relational Mapping) 표준 인터페이스

→ 객체(클래스)와 관계형 데이터베이스 테이블을 자동으로 매핑해 주는 기술.

  • JDBC, SQL을 직접 다루지 않고 객체 중심 개발 가능
  • 구현체: Hibernate, EclipseLink, OpenJPA 등이 있음
  • 스프링에서는 주로 Spring Data JPA + Hibernate 조합을 많이 사용

특징

  • 객체와 관계형 데이터베이스를 매핑해주는 ORM 기술
  • SQL을 직접 작성하지 않고도 데이터베이스 조작이 가능
  • Entity 클래스만 정의하면 테이블과 자동으로 매핑됨

장점

  • 생산성 향상: CRUD 코드를 직접 안 써도 됨 (findById(), save() 등)
  • 객체지향적 개발: 데이터베이스 테이블이 아닌 객체 중심으로 생각할 수 있음
  • 데이터베이스 독립성: MySQL에서 Oracle로 바꿔도 코드 수정이 거의 없음
  • 1차 캐시와 지연 로딩: 성능 최적화 기능들이 내장되어 있음

결국 JPA의 핵심은 DB를 직접 만지는 게 아니라 객체 단위로 생각하면서

개발할 수 있다는 점인 것 같다. 덕분에 SQL 쿼리를 짜는 부담이 줄고,

코드도 훨씬 객체지향적으로 짤 수 있게 된 것 같다.

그리고 JPA의 단점인 조회가 쉽지 않은 점을, MyBatis를 함께 사용함으로써

프로젝트의 성능을 개선할 수 있다는 것을 알게 되고 나서, 지금까지 배운

일련의 내용들을 왜 그렇게 심도 있게 배워왔는지 알게 되었다! 😄

🏆 좋았던 점

모두가 열심히 하는 분위기

잘 하는 분들과 한 팀이 된 탓인지, 나도 뒤쳐지지 않으려고 그만큼

열심히 했던 것 같다. 저번주 DDD에 이어 이번주는 ERD 설계, 논리모델링,

DB 설계와 더미데이터 제작을 하게 되었는데, 다 같이 역할을 맡아서 본인

맡은 바를 척-척 하니 진행도 매우 수월하게 된 것 같다.

그리고 다 같이 으쌰으쌰 하면서 작업하다 보니 더 친해진 것 같고,

프로젝트 작업도 나름 재밌었던 것 같다.

📋 아쉬운 점

아쉬웠던 하브루타 시간

아…이게 확실히 내용이 어렵고, 실제 코드를 타이핑하면서 실습하는 시간이

많다 보니, 그날 배운 내용을 토대로 이야기하는 하브루타 시간이 꽤 버거웠다.

그래서 최소한의 하브루타를 하려면 ai를 통해서라도 내용 정리를 해놓아야

겨우 대화를 할 수 있었던 것 같다… 그래도 프로젝트를 하면서 JPA에 좀 더

친해지게 되면 하브루타를 좀 더 수월하게 할 수 있지 않을까…?

📌 앞으로의 목표

프로젝트 멋지게 마무리 하기

이제 본격전인 개발을 위한 DB설계나, 더미데이터 제작까지는 완료했으니

다음주는 본격적으로 쿼리를 짜고, 개발을 하게 될텐데, 배운바 내용을

최대한 활용하고, 도전도 해보면서 재밌고, 멋지게 프로젝트를 마무리 할 수

있으면 좋을 것 같다.

profile
라이언을 좋아하는 초보 개발자의 보금자리

0개의 댓글