일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 라이프해킹스쿨
- Optional 사용법
- java Optional
- 스트림 예제
- AWS 키페어
- 창업 마인드
- 비주얼 스튜디오 코드
- github CI/CD
- java null 처리
- AWS
- @async
- vscode
- AWS EC2
- ssh
- 창업형인간되기
- 창업형인간
- dockerfile
- 자바 스트림
- 창업
- optional
- AWS S3
- AWS 프로젝트 올리기
- CI/CD
- spring multi thread
- Visual Studio Code
- AWS 프로젝트
- AWS ssh
- java stream
- spring async
- 마인드
- Today
- Total
목록programming language/Java (14)
Wookim
스프링 비동기 메소드 적용하기 스프링에 비동기 메소드를 적용해보자. 적용 이유 더보기 특정 데이터를 매우 비효율적으로 조회하여 특정 로직을 태워야 하는 상황이다. 가능 하다면 다른 방식으로 해결해야 하는 상황이지만, 여건상 성능도 고려하며 빠르게 해결해야 했다. 이런 상황에서 해당 메소드를 비동기(멀티스레드) 처리하고 기존에 다른 기능에 문제가 없도록 설정해야 했다. 미리 알고 가기 스프링의 @Async 애너테이션으로 비동기 처리를 할 때 주의점부터 알고가자 1. @Async를 적용한 메소드는 public 이어야 한다. 2. @Async 메소드를 구현한 class에서 내부 호출(self-invocation )은 불가하다. 이유는? 더보기 참고한 문서에 자세한 내용은 설명되있지 않지만 문맥상 추측하자면 다..
yyyy-MM-dd hh:mm:ss 양식의 시간을 추출가능한 정규식 예제 예제) \d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01]) ([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]) 날짜 년 : 4글자의 숫자 월 : 01, 02, ..., 09, 10, 11, 12 일 : 01, 02, ... 30, 31 시간 시 : 00, 01, 02, ... 21, 22, 23 분 : 00, 01, 02, ... 57, 58, 59 초 : 00, 01, 02, ... 57, 58, 59 regexr.com/ RegExr: Learn, Build, & Test RegEx RegExr is an online tool to learn, build, & tes..
업무 중 lombok 관련 문제가 발생했다. 현상은 다음과 같다. front -> back 프론트에서 data를 json 형태로 post 요청 백앤드에서 해당 데이터를 @RequestBody SomeDataDTO 로 받음 스프링이 해당 데이터를 자동으로 파싱하면서 dto에 데이터가 매핑되어야 함 대부분 잘 매핑이 되었으나 특정 멤버(객체)만 매핑이 되지 않는 문제 발생 특정 멤버(객체)의 공통점은 sData, bData 와 같은 객체명의 형태임을 확인 back -> DB back 에서 db에 넣을 데이터 dto 클래스에 매핑 쿼리 실행 특정 컬럼만 들어가지 않거나 null 관련 예외가 발생함 해당 컬럼들의 공통점은 sData, bData와 같은 형태임을 확인 원인 분석 위와 같은 현상의 원인은 대부분 l..
junit으로 테스트를 작성 중 service(bean)의 private method를 테스트는 어떻게 하나 찾아봤다. 이를 정리해 본다. 테스트 내용은 다음과 같다. 미성년자임을 확인하기 위한 메소드 @Service public class ComonUtilServiceImpl implements CommonUtilService{ private void verifyIsAdult(String birth){ LocalDate now = LocalDate.now(); // birth ex) 19930306 LocalDate birth = LocalDate.parse(birth, DateTimeFormatter.ofPattern("yyyyMMdd"); if(Period.between(birth, now).get..
해당 태그에 명시된 프로젝트의 자식 프로젝트임을 명시 예제 {부모 그룹 아이디} {부모 아티펙트 아이디} {부모 버전} {부모 그룹 아이디}.{부모 아티펙트 아이디}> {해당 프로젝트 아티펙트 아이디} {해당 프로젝트 버전} 위 태그들 중 자기 자신의 를 잘 볼것. "부모 그룹아이디 + . + 부모 아티펙트 아이디" 로 구성했다. 이렇게 하면 nexus에 jar를 배포할 때 트리구조로 예쁘게 배포된다. 자식 프로젝트들을 명시 = 자식 프로젝트들의 부모임을 명시 에제 common core module1 위 태그들에 명시된 common, core, module1은 현재 프로젝트들의 자식(sub module) 프로젝트 들이다. 패키지 되는 형식을 지정하는 태그 예제 ex 1). jar ex 2). pom 1)..
회사에서 작업하던 java 프로젝트를 maven 프로젝트로 변환하는 업무를 맡았다. 생 java 프로젝트라 lib들을 파일로 관리하고 있어서... 회사 내 nexus와 maven으로 lib를 관리하기로 결정했다. 상황은 core가 되는 프로젝트와 core에 jar로 말려들어가는 plugin들의 구조를 바로 잡아야 하는 것. 문제가 되는게 core와 plugin들이 서로 circular dependency(상호 의존) 관계였던것.. (때문에 mavne build 과정 중 애를 많이 먹었다.) 해당 프로젝트들을 하나로 통합하고 mavne multi module 프로젝트로 변환하기로 결정했다. 구조는 다음과 같다. template (껍데기) pom.xml ---- common ---- pom.xml ---- ..