본문 바로가기
반응형

spring boot24

JPA에서 대량의 데이터를 삭제할때 주의해야할 점 안녕하세요? 이번 시간엔 JPA에서 대량의 데이터를 삭제할때 주의해야할 점을 샘플예제로 소개드리려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 발단 업무중에 배치로 일괄 데이터 삭제 기능을 작업하였습니다. 테스트를 진행하는데 삭제 성능이 너무나 안나오는 것이였습니다. 단순 삭제에서 왜이렇게 성능이 안나오나 slow query를 확인해보는데 이상한 점을 발견하였습니다. 이를 샘플예제로 소개드리겠습니다. 예제 샘플 코드 작성을 위해 다음과 같은 의존성들을 사용할 예정입니다. Gradle을 사용할 예정이며, 테스트 프레임워크로 S.. 2017. 10. 16.
2017.2 버전에 추가된 기능 정리 IntelliJ 2017.2 버전에서 추가된 기능에 대한 소개가 IntelliJ 블로그에 올라와 정리하였습니다. Endpoints TabEndpoints Tab이 추가되었습니다. Run/Debug 실행시 등장하는 화면에는 이제 SpringBoot Actuator의 Beans, Health, Mapping 정보들이 같이 노출됩니다. 단, 해당 기능은 compile('org.springframework.boot:spring-boot-starter-actuator')과 같이 프로젝트에 spring-boot-starter-actuator 의존성이 포함되어있어야만 합니다. (spring-boot-starter-actuator가 없을 경우) (spring-boot-starter-actuator가 있을 경우 - He.. 2017. 8. 31.
Spring OAuth + Spring Session시 HTTP URL must not be null 발생 원인 및 해결 안녕하세요? 이번 시간엔 Spring OAuth + Spring Session시 HTTP URL must not be null 발생의 원인 및 해결방안을 소개드리려 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 문제 상황Spring Session과 Spring OAuth2를 조합해서 로그인 시스템을 구축한다고 가정해보겠습니다.Spring OAuth2 적용가장 먼저 Spring OAuth2를 프로젝트에 적용시켜보겠습니다.build.gradlebuildscript { ext { springBootVersion = '1.5.6.REL.. 2017. 8. 19.
Spring Security & 구글 OAuth & 테스트코드로 진행하는 계정 권한 관리 - 1 안녕하세요? 이번 시간엔 Spring Security & 구글 OAuth로 진행하는 계정 권한 관리 예제를 진행해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 1. 구글 로그인최근 많은 회사에서 사내 백오피스 시스템의 로그인을 구글 OAuth로 진행하고 있습니다. 구글 메일을 사내 메일로 사용하면 많은 백 오피스의 로그인 시스템을 구글 계정 하나로 관리할 수 있기 때문입니다. 하지만, 백 오피스가 각각 용도에 따라 구별되어있으면 괜찮지만, 보통은 하나의 백오피스를 여러 팀에서 사용할때가 많습니다. 그럴 경우 각각의 팀마다.. 2017. 8. 5.
SpringBoot + Ehcache 기본 예제 및 소개 팀내 신입사원들이 입사하게 되어 간단하게나마 참고할 수 있도록 Spring Cache에 대해 샘플예제와 소개를 정리하게 되었다. 아주 간단한 예제이기도 하고, 웬만한 경력 웹 개발자분들은 다 아는 이야기라 한번도 캐시를 사용해보지 않은 분들에게 도움이 될것 같다. 여기서 사용할 CacheManager는 EhCache 이다. Spring Cache의 대표격이라고 생각했다. Redis나 Memcached를 선택하지 않은 이유는 Cache 본연의 기능에 초점을 맞추기가 힘들어 여러가지 한눈팔기 쉬울것 같아서였다. (물론 우리회사 시스템은 Ehcache/Redis/Memcached를 다 쓰고 있다.) 그럼 이제 시작하겠다. 소개 캐시란 동일한 요청이 들어오면 복잡한 작업을 수행해서 결과를 만드는 대신 이미 보관.. 2016. 10. 28.
SpringBoot에서 template, static resource 실시간 반영하기 (spring-boot-devtools) Intellij + SpringBoot + Template Engine 조합으로 웹 개발을 하다보면 정말 노가다라고 느껴지는게 정적 리소스 갱신을 위한 서버 restart이다. 무슨 말이냐하면 SpringBoot로 프로젝트를 생성하면 이전처럼 webapp 폴더에 html/css/js (정적 리소스)들을 담당하는게 아니라 resources 폴더 아래에서 관리하다보니 정적 리소스들 갱신을 하기 위해선 tomcat을 restart 해야만 한다.아마 루비와 같은 스크립트 언어 개발하시는 분들은 Java & Spring 으로 이런 일이 벌어지는거에 너무 놀래실것 같긴 하다.. (Spring Boot의 일반적인 리소스 Path) 여튼 Javascript를 중점적으로 개발/수정할 때에는 이게 생각보다 너무 귀찮아서 .. 2016. 10. 10.

728x90
반응형