[DEV] 기록 170

Lombok) 상속받는 부모 클래스 필드도 빌더 패턴을 적용하고 싶을 경우

개발을 진행하다가 Lombok @Builder 어노테이션을 사용하여 부모 클래스 필드 값을 세팅했는데도 불구하고 로그를 찍어보면 부모 클래스 필드가 전부 null 인 문제점이 발생했습니다. 간단하게 예시를 들자면 아래와 같습니다. Parent.class @Builder public class Parent { protected String a; protected String b; } Child.class @Builder public class Child extends Parent { private String c; private String d; private String e; } Controller.class @Slf4j @RestController public class Controller { @Api..

[DEV] 기록 2020.08.07

@Pattern 어노테이션을 통해 전화번호가 유효한 형태인지 검증

Input 값이 유효한 전화번호 형식인지 검증하기 위해 @Pattern 어노테이션을 사용했습니다. 정규문법을 이용하여 확인하는 것이고 작성방법은 아래와 같습니다. DTO @Data @Builder @NoArgsConstructor @AllArgsConstructor public class Temp { // 전화번호 @NotNull @Pattern(regexp = "^01(?:0|1|[6-9])[.-]?(\\d{3}|\\d{4})[.-]?(\\d{4})$", message = "10 ~ 11 자리의 숫자만 입력 가능합니다.") String telephoneNumber; } 여기서 핵심은 regexp = "^01(?:0|1|[6-9])[.-]?(\\d{3}|\\d{4})[.-]?(\\d{4})$" 이 부분입..

[DEV] 기록 2020.07.28

Jenkins ERROR: Labels must follow required specs

Jenkins build를 진행할 때 아래와 같은 에러메시지가 발생했습니다. ERROR: Labels must follow required specs - https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set: 상황마다 다르겠지만 저 같은 경우 CI yaml 파일 내 label 길이가 너무 길어서 발생하는 에러였습니다. 해당 에러가 발생할 경우 레이블 길이를 줄인다면 쉽게 해결이 될 것입니다!

[DEV] 기록 2020.07.20

Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'

회사에서 타 솔루션을 쓰기 위해 다른 버전의 java를 설치한 결과 아래와 같은 에러가 발생했습니다. Error: opening registry key 'Software\JavaSoft\Java Runtime Environment' Error: could not find java.dll Error: Could not find Java SE Runtime Environment. 위와 같은 에러는 Java가 설치되어있더라도 경로를 찾지 못할 경우 발생하는 에러입니다. 저 같은 경우 자바 관련 실행 파일이 시스템 폴더에 존재하고 시스템 폴더가 PATH보다 앞에 위치해서 우선권을 가지다 보니 충돌이 나서 문제가 발생했었습니다. 따라서, 저는 C:\Windows\SysWOW64 폴더 내 java.exe, java..

[DEV] 기록 2020.07.20

java.lang.AssertionError: org.xml.sax.SAXParseException

wsdl 파일을 stub 코드로 변환할 때 에러와 함께 아래와 같은 에러메시지가 떴습니다. java.lang.AssertionError: org.xml.sax.SAXParseException; systemId: jar:file:/path/to/glassfish/modules/jaxb-osgi.jar!/com/sun/tools/xjc/reader/xmlschema/bindinfo/binding.xsd; lineNumber: 52; columnNumber: 88; schema_reference: Failed to read schema document 'xjc.xsd', because 'file' access is not allowed due to restriction set by the accessExter..

[DEV] 기록 2020.07.16

css) div 내 div들을 가로로 동일한 간격으로 배치하는 방법

서비스 UI를 개발하는 도중 화면 하단에 공지사항, 개인정보처리방침과 같은 문구를 추가해달라는 요청사항을 받았습니다.그래서 저는 초기에 하단에 div 레이어를 만들고 추가해야하는 메뉴만큼 자식 div로 만들고 배치하는 식으로 진행했는데 생각한대로 잘되지 않아서 고민이었습니다.대부분의 stackoverflow 답변에서는 display를 inline-block으로 설정하고 float: left로 설정하면 원하는대로 될 것이라고 했는데 퍼블리셔분이 전체적인 body display를 block으로 설정하셨기 때문에 하단 div display를 inline-block으로 설정할 경우 깨지는 문제점이 있었습니다.저는 결국 display flex를 통해 이와 같은 문제점을 해결했는데 css 코드는 대충 아래와 같습니..

[DEV] 기록 2020.07.08

STS(Spring Tool Suite) ini 파일 설정

현재 개발을 STS를 사용하여 진행하고 있는데 컴퓨터 성능에 비해 이클립스가 사용하는 메모리가 적은 것 같아 ini 파일을 수정하는 김에 내용을 공유합니다. * STS 말고 Eclipse를 사용하는 경우 STS.ini가 아닌 Eclipse.ini 에서 설정해주시면 됩니다. STS.ini -startup plugins/org.eclipse.equinox.launcher_1.5.500.v20190715-1310.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1100.v20190907-0426 -product org.springsource.sts.ide --launcher.defaultAction openFi..

[DEV] 기록 2020.07.03