Spring Boot Gradle 프로젝트를 진행하면서 시맨틱 버전을 적용할 경우가 있어서 이에 대한 기록을 남깁니다. 시맨틱 버저닝이란?(Semantic Versioning) 시맨틱 버저닝은 1.0.0-alpha+test // major.minor.patch-prerelease+buildMetaData와 같은 구조를 띄는 버전 기법을 말합니다. 좀 더 자세한 정보는 https://velog.io/@iamjoo/Semantic-Versioning%EC%9D%B4%EB%9E%80 를 참고 부탁드리겠습니다. Gradle을 이용한 시맨틱 버저닝 적용 우리의 Gradle을 Groovy 라는 프로그래밍 언어를 이용하여 마치 코딩을 하듯이 조작할 수 있습니다. 이것이 maven과의 큰 차이점이라 볼 수 있을 것 같..
Spring Boot 프로젝트 중 하나의 log파일에 info,warn,error 들이 모두 표시되어 한눈에 보기가 쉽지 않았기에 log level 별로 별도의 파일로 분리하는 방법을 기록합니다. 참고 Logback 전반적인 설명이 너무 잘 된 포스팅을 발견하여 Logback 사용에 대한 내용은 아래 링크를 참고바랍니다. https://goddaehee.tistory.com/206 logback-spring.xml 파일 생성 info ACCEPT DENY ${LOG_PATTERN} logs/trace/current.log trace ACCEPT DENY ${LOG_PATTERN} logs/trace/trace.%d{yyyy-MM-dd}_%i.gz 200MB 30 logs/debug/current.log ..
Gradle 프로젝트를 진행하면서 의존성 추가 시 version이 명시된 예와, version이 명시되지않은 예 들이 종종 발견되어 둘의 차이를 확인하고자 글을 남깁니다. version 명시의 예 dependencies { implementation 'org.mariadb.jdbc:mariadb-java-client' } version 생략의 예 dependencies { implementation group: 'org.mariadb.jdbc', name: 'mariadb-java-client', version: '2.7.4' } 차이점 version 생략 시 자신이 선택한 저장소 에 서 가장 최신을 유지합니다. 선택된 저장소 repositorie..
try-finally 보다는 try-with-rewsources를 사용하라 /** * 이거 말고!! */ static String firstLineOfFile(String path) throws IOException { BufferedReader br = new BufferedReader(new FileReader(path)); try { return br.readLine(); } finally { br.close(); } } /** * 이거!! * AutoCloseable 구현한 객체는 다 가능! */ static String firstLineOfFile(String path) throws IOException { try (BufferedReader br = new BufferedReader(new F..
머릿말 java 언어로 프로젝트를 진행 중 manifest 내부에 정보를 저장하고 빌드 후 .jar 파일에서 정보를 읽어와야하는 경우가 발생하였습니다. 이에 대하여 해결한 방법을 공유하고자 글을 씁니다. 개발 환경 open jdk 11 vscode spring boot gradle 예시 예시로 gradle 환경에서 manifest에 어플리케이션 버전 정보를 저장하고 REST API와 커맨드 라인 명령어를 통하여 버전 정보를 읽어올 수 있는 코드를 작성해 보겠습니다. 현재 개발중인 또는 테스트를 위한 프로젝트가 생성되어있다고 가정하겠습니다. 1.gradle을 통한 manifest에 버전 정보 저장 build.gradle 을 IDE 또는 본인이 사용하시에 편리한 편집기로 열어서 아래와 같은 코드를 추가합니다..
예시 1. forEach + 람다함수 사용 Map tempMap = new HashMap; tempMap.put("가", "A"); tempMap.put("나", "B"); tempMap.put("다", "C"); tempMap.forEach((key, value)->{ System.out.println(key); // key System.out.println(value); // value }); 2. 향상된 For문 + Set 사용 Map tempMap = new HashMap; tempMap.put("가", "A"); tempMap.put("나", "B"); tempMap.put("다", "C"); for (String key : tempMap.KeySet()) { System.out.println(..
- Total
- Today
- Yesterday
- UE4
- LambdaFunction
- 람다
- Trouble shooting
- coordinate system
- unrealengine
- 람다함수
- c++11
- Lambda
- bug
- rotator
- double free
- C
- UE5
- c++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |