본문 바로가기

분류 전체보기6

JPA 핵심 기능 및 주의사항 정리 Spring으로 개발을 하게 되면 자연스럽게 접하게되는 ORM 프레임워크인 Jpa에 핵심 기능 및 주의사항에 대해서 정리해 보았습니다. JPA를 사용하는 이유? JPA를 사용하면 SQL을 객체 지향 프로그래밍에 특징인 "추상화, 상속, 다형성, 캡슐화"에 이점을 살려 코드의 재사용성, 유지보성을 높여 생산성이 좋은 프로그래밍 할 수 있다. 반복적인 CRUD SQL작성을 줄일 수 있고, 특정 DB에 대한 종속성을 줄이고 JPA에서 제공하는 인터페이스를 사용해 다른 DB로 변경해도 큰 수정 없이 그대로 사용할 수 있어 유지보수성이 향상 된다. JPA는 애플리케이션과 데이터베이스 사이에서 동작 하기에 캐시 기능 등. 다양한 성능 최적화 기회를 제공한다. 영속성 컨텍스트 영속성 컨텍스란? 영속성 컨텍스트는 "엔.. 2023. 3. 15.
Spring JUnit5 단위 및 통합 테스트 보통 Srping JUnit 단위 테스트를 검색하게 되면 Mock 또는 Fake 객체를 활용해 테스트하는 것을 보게 됩니다. 특히 Service Layer에서 상당수 의존하는 객체인 Repository를 제외하고 독립적인 테스트를 위해 런타임에서 사용되는 실제 객체가 아닌 가짜 객체를 활용하는 것을 많이 볼 수 있습니다. 하지만 이러한 Test Double 방식은 테스트 대상 객체에 동작 방식을 파악하고 의존하는 로직들을 일일히 구현해야 하는 번거로움이 있습니다. 또한 중간에 의존하는 로직이 추가 되게 되면 기존에 테스트들이 다 깨지게 되는 상황이 발생됩니다. 저는 이러한 부담감을 덜기 위해 빠르게 실행하는 테스트를 포기하고 Spring에서 제공하는 Test 어노테이션을 활용해 안정감 있고 최대한 테스트.. 2023. 1. 27.
Shell Script Open Api 호출 MariaDB insert 기상정보 open api를 shell script와 contab을 설정에 주기적으로 실시간 풍향 풍속 정보를 받아와 mariadb에 저장하도록 구현 하였다. 대표 날씨 open api 목록 공공데이터 포털(무료) - https://www.data.go.kr/data/15084084/openapi.do 기상청_단기예보 ((구)_동네예보) 조회서비스 초단기실황, 초단기예보, 단기((구)동네)예보, 예보버전 정보를 조회하는 서비스입니다. 초단기실황정보는 예보 구역에 대한 대표 AWS 관측값을, 초단기예보는 예보시점부터 6시간까지의 예보를, www.data.go.kr openweathermap(부분 유료) - https://openweathermap.org/ Сurrent weather and forecast .. 2022. 11. 24.