JAVA
-
kotlin operator invoke 로 데이터 검증 하기!JAVA 2024. 7. 30. 18:14
상황 설명Price의 경우 0원 생성할 수 없지만, 시작값을 위해서는 1개는 존재 해야 합니다.이를 어떻게 처리 할까 고민했었는데 아래와 같은 해법이 있네요.코드 구현data class Price private constructor (private val value: Double) { // 생성자를 비공개로 처리 override fun toString() = value.toString() operator fun plus(price: Price) = Price(this.value + price.value) operator fun times(num: Int) = Price(this.value * num) companion object { val identity = P..
-
java ArrayList의 동작JAVA/in 기초 2024. 7. 22. 17:31
테스트용 코드 전체import java.lang.reflect.Fieldfun main() {// val list = MutableList(1000) { null } // 초기 크기 설정 val list = mutableListOf() println("list size : ${list.size} / list capacity:: ${getCapacity(list)}") // # 1 초기 생성 for ( i in 0..25) { list.add(i+1) println("list size : ${list.size} / list capacity:: ${getCapacity(list)}") // # 2 출력 }}// arraylist의 capacity 출력 fu..
-
최신 JDK 21과 Kotlin 1.9.22 조합에서 발견된 오류 및 주의 사항JAVA 2024. 7. 12. 17:30
최신 JDK 21과 Kotlin 1.9.22 조합을 사용하면서 몇 가지 오류와 주의 사항을 발견했습니다.불변 컬렉션에서 addFirst와 addLast 사용 가능놀랍게도, 불변 컬렉션인 List에 addFirst와 addLast 메서드를 사용할 수 있습니다. 예를 들어, 다음 코드는 오류 없이 실행됩니다.fun foo(x: List) { x.add("") // 예상대로 오류 x.addFirst("") // 허용됨}이는 기존 Kotlin 버전과 다른 동작이며, 명확한 문서화가 이루어지지 않아 혼란을 야기할 수 있습니다.null 허용 처리null 값을 처리할 때 주의가 필요합니다. null 허용되지 않은 상황에서 addFirst와 addLast 메서드는 null 값을 허용합니다.val mySet ..
-
spring boot jar 파일 실행시 application.yml 주입 하기JAVA 2024. 7. 5. 17:27
spring boot 실행시 설정 파일 외부 주입 방법실행 명령어를 이용한 주입$ java -jar app.jar --spring.config.location=file:///Users/home/config/jdbc.properties디렉토리 기반 주입$ java -jar app.jar --spring.config.name=application,jdbc --spring.config.location=file:///Users/home/config마치며다른 여러가지 방법이 있지만 위의 2가지 방법으로 대부분 처리가 가능합니다.참고자료Spring Properties File Outside jar
-
jdk5와 https tls1.2 연동 삽질 후기JAVA/LIBRARY 2021. 7. 9. 00:04
우선 jdk5에서 tls1.2 연결을 위해서 bouncy castle를 사용해보았습니다. TlsClientTest 소스로 테스트를 해보았지만, 결국 아래와 같은 오류를 만나고 말았습니다. TLS client negotiated TLS 1.2 TLS client received server certificate chain of length 3 fingerprint:SHA-256 83:9E:08:A5:4F:CC:73:F7:F8:DE:2E:23:89:DB:40:E1:B5:E1:E4:9E:6C:33:4C:A8:EE:30:68:01:76:4F:ED:69 (C=KR,ST=Seoul,L=Yeongdeungpo-gu,O=GS Ho me Shopping Inc.,OU=IT Team,CN=*.gsshop.com) fing..
-
Srping Batch Meta 정보를 조회하는 기능입니다.JAVA/LIBRARY 2021. 6. 28. 23:56
Spring Batch Meta Dashboard Spring Batch의 Meta 정보 검색 기능을 개발했습니다. 기존 Spring Batch Admin이 종료되었으며, spring-cloud-dataflow 사용을 권장합니다. spring-cloud-dataflow를 잠시 보았는데, 배보다 배꼽이 크게 생겨서 Spring Batch Meta Dashboard 프로젝트를 진행하였습니다. 이 프로젝트의 목적은 Spring Batch 실행 Metat 정보 조회를 위해 개발되었습니다. Screen Dashboard 기간동안 발생한 Job Execute의 성공/실패를 Job Name 기준으로 합산하여 표현합니다. Job Instance List 실행된 Job Instance 목록 Job Execute List..
-
R에서 rJava 사용하기 위한 설치 진행JAVA 2019. 11. 14. 04:26
R에서 rJava 사용하기 위한 설치 진행 동시출현 단어에 대한 분석이 필요하여, 검색을 해보았다. R언에에서 간단하게 함수 호출로 처리가 가능하다는 것을 확인하였다. R 설치 하기 How To Install R on Ubuntu 18.04 를 참조해서 R을 설치 했다 명령어를 따라만 해도 쉽게 설치가 된다. # 서버 키값 추가 $> sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 # repository 추가 $> sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cra..
-
Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:2.6:jarJAVA 2019. 11. 11. 03:23
Maven을 이용한 Springboot 프로젝트 repackage 하기 다른 분이 작성한 Springboot 프로젝트를 패키징하게 되었다. 해당 프로젝트는 maven으로 되어 있었기에 큰 문제가 없을꺼라 생각했다. 내 업무 환경은 JDK 12가 설치되어 있었는데, spring-repackage를 하면 다음과 같은 오류가 발생하였다. ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar (default-jar) on project my-test-utils: Execution default-jar of goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar failed: An ..