일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 도커
- JPA
- docker
- java9
- React
- spring
- generate entity
- spring boot
- NextJS
- 헤더 설정
- swagger
- java8
- MySQL
- memcached
- custom valid
- docker 설치
- generate pojos
- 초기 구축
- jvm
- dto valid
- jpa entity자동
- CentOS6
- JavaScript
- Java
- 초기 세팅
- ollama langflow
- 리눅스
- SpringBoot
- header setting
- Next.js 14
- Today
- Total
개발자의 길
업무를 하다보니, 한개 프로젝트에 다중의 db를 연결 할 일이 많다. 대부분의 구글링을 찾다보면, 가장 자주 보이는 예제가 Transactional(readonly=true) 같은 어노테이션으로 master/slave를 나눠서 쓰는 예제가 많이 보인다... 근대 나는 사실 트랜잭션과 상관없이, 다중의 db를 쓰고 싶고.. 3개 이상의 다른 connection db 를 사용하고 싶었다.. 고민에 고민을 거듭하고, 검색에 검색을 하여서.. custom annotation을 따로 만들어서, 해당 값을 AbstractRoutingDataSource에 determineCurrentLookupKey() 에서 값을 받아 오면 될거 같았다 기본 springboot 셋팅은 했다 치고.. application.yml sp..
spring security 의 설정중에 중복 로그인을 막는 설정이 있다. 찾아보면, sessionManagement maximumSessions maxSessionsPreventsLogin expiredUrl sessionRegistry 뭐 이런 설정을 하라고 나와있을 거다. 그런데, 설정 하라는대로 다 했는데 안되면 막막하다. 우리가 로그인쪽에 셋팅한 부분에서 implements UserDetailsService 를 설정한 파일에 @Override public UserDetails loadUserByUsername(String loginId) throws UsernameNotFoundException { return ~~~ } 이런 소스가 있을거다. 기본적으로 springsecurity는 유저 정보를..
자바 스트림(Stream) 자바의 스트림(Stream)은 'Java 8'부터 지원되기 시작한 기능이다. 컬렉션에 저장되어 있는 엘리먼트들을 하나씩 순회하면서 처리할 수 있는 코드패턴이다. 람다식과 함께 사용되어 컬렉션에 들어있는 데이터에 대한 처리를 매우 간결한 표현으로 작성할 수 있다. 또 한, 내부 반복자를 사용하기 때문에 병렬처리가 쉽다는 점이 있다. 'Java 6' 이전까지는 컬렉션의 엘리먼트들을 순회하기 위해서 Iterator 객체를 이용했다 ArrayList list = new ArrayList(Arrays.asList("a", "b", "c")); Iterator iterator = list.iterator(); while(iterator.hasNext()) { String value = i..

EhCache란? EhCache란 자바 기반 캐시로 오픈 소스이다. 클러스터 기능도 지원하며 로컬 오픈 소스 캐시 라이브러리라고 이해하면 좋다. 즉, 기본으로 스프링부트의 기본 캐싱 기능처럼 스프링 어플리케이션과 함께 존재하는 캐시로 사용할 수도 있고 별도 프로세스 외 배포까지 지원하는 등 메모리, 디스크 저장을 지원하며 멀티 CPU도 동시 접근하도록 할 수 있다. 기본 JVM 메모리에 저장된다. redis처럼 별도 서버 설치 없이 기본 사용할 수 이써 가볍게 사용하기 좋은 캐시 엔진이다. EhCache 2 구현하기 EhCache는 현재 버전 2와 버전 3가 있다. 버전 3의 경우 JSR-107과의 호환성이 좋아졌고 javax.cache 지원 등으로 ehcache 2보다 좀 더 발전했지만 ehcache에..

개발을 하다보면 어라? 이 데이터 계속 똑같이 사용되고 업데이트 될 일이 없는데? 하는 것들이 보인다. 데이터 업데이트가 자주 이뤄지지도 않고 자주 호출되는 데이터인데 계속 DB에 가서 데이터를 가져온다. DB에 한 번 갔다 하는데도 적은 데이터의 경우는 매우 그 시간이 짧지만 많은 데이터면 데이터일 수록 그 시간이 점점 늘어나 나중에는 사용자가 불편을 느낄 정도로 데이터를 가져오는 시간이 길어진다. 그럴 때 캐싱(Caching) 기능을 사용해서 똑같은 데이터는 DB에서 가져오지 않고 미리 캐싱해놓은 데이터를 가져오고 만일 데이터 업데이트가 이뤄지면 캐싱된 데이터를 업데이트하고 캐싱된 데이터가 너무 자리를 많이 차지하면 아예 캐싱된 데이터를 지워버리는 등 DB에 가서 데이터를 가져오지 않고 그보다 가깝고..