본문 바로가기

전체 글

(170)
jdk 17 에서 spark 애플리케이션 실행 시 IllegalAccessError 해결법 제목 그대로 jdk 17 이상에서 spark 애플리케이션 실행 시 아래와 같은 에러 발생한다면 Exception in thread "main" java.lang.IllegalAccessError: class org.apache.spark.storage.StorageUtils$ (in unnamed module ...) cannot access class sun.nio.ch.DirectBuffer (in module java.base) because module java.base does not export sun.nio.ch to unnamed module ... 해결법. 실행 시 vm 옵션으로 '--add-exports java.base/sun.nio.ch=ALL-UNNAMED' 추가해주면 (내 경우에..
Kafka cmd 간편 사용 위한 batch 스크립트 작은 뇌용량 탓에 가끔씩 kafka 명령어 쓰려고 할 때마다 구글링하는게 귀찮아서 간단한 배치 스크립트 만들어보았습니다. @echo off set BROKER=KAFKA_IP set CURR_PATH=%cd% set KAFAK_BIN=KAFKA_HOME\bin\windows cd %KAFAK_BIN% :start set t= cls echo. echo ============================== echo 1. producer echo 2. consumer echo 3. topic list echo 4. topic describe echo H. kafka cmd cheat sheet echo 0. Exit echo ============================== echo. set /p x..
[python, julia]python 에서 julia 스크립트 파일 실행하기 예전에 julia 구현 해놓았던걸 python 에서 호출해서 써야할 일이 생겨서. 검색해보니 python에서 julia 콜하려면 PyJulia, julia에서 python 콜 하려면 PyCall 사용하면 된다고 해서. 우선 PyJulia 설치. https://github.com/JuliaPy/pyjulia % pip install julia 설치 후 그냥 import julia 해서 테스트해보려니 모듈 인식 못하고 에러. 일단 위 링크의 페이지에 나온대로 julia.install() 구문을 소스에 넣고 실행해보니 julia 에 PyCall 을 포함한 라이브러리들을 설치하는게 보인다. 그리고 뭔가 된다 ㅎ import julia julia.install() from julia import Main t1 =..
[Kotlin]Kotlin, Spring boot, Reactive Programming 조합으로 간단한 Rest API 구현해보기 Kotlin으로 Reactive Programming 개념 익혀보려다 엄한 짓 해본 후 사내 개발자들과 공유하려고 기록했던 것 옮겨 적어본다. --- 시작 --- - Rest API 구현 : Kotlin, Spring boot, Reactive Programming(R2DBC) ## 프로젝트 생성. start.spring.io 에서 kotlin-gradle 프로젝트 선택해서 build.gradle.kts 파일이 생성. - xml 제약을 넘어서기 위해 groovy 스크립트 활용 가능한 gradle 이 나왔는데 코트린 풀젝에서는 여기서 한 걸음 더 나아가 코틀린 스크립트(kts)를 사용할 수 있다. 아래는 java 17, jpa, reactive(r2dbc), postgresql 를 사용하기 위한 기본적인 ..
[java]r2dbc 와 jpa/jdbc 같이 사용 시 에러 해결법 R2DBC 와 jpa/jdbc 를 같이 사용할 일이 생겨서 설정 변경 후 실행하는 과정에서 몇 가지 문제에 부딪혔다. Interoperability between R2DBC and JPA/JDBC configurations #28025 완벽한 해결책은 아닐 듯 싶지만 위 이슈 페이지 참고해서 급한 문제는 아래 방식으로 해결. ( 당연히 설정 파일에 r2dbc, jpa/jdbc 용 설정 두 가지 다 해줘야 하고 이건 별다를거 없으니 생략. ) 1. '... Repository' that could not be found' 또는 'Reactive Repositories are not supported by JPA' 에러 R2DBC 와 JPA/JDBC 용 repository 를 같은 패키지 내에 배치하면 둘 ..
[go] postgresql 연동 테스트용 go 코딩 샘플 외부 서버에 postgresql 설치 후 원격 접속 확인 하기 위해 프로그램 급조. 원격 접속 확인하기 위해 DB 클라이언트 툴 설치한다거나 테스트용 프로그램 실행 환경을 추가 설치(가령 jre 같은거)한다는게 어려운 여건이어서 근 이 년여 넘게 안써서 기초 문법 조차 다 잊어먹은 go 언어를 간만에 소환. 소스 빌드해서 실행 파일 하나와 db 정보 설정 위한 yaml 파일, 이렇게만 배포하면 되도록 구생했고 접속 확인 및 권한 부여 제대로 되었나 확인하는 차원에서 임시 테이블 생성, insert, select 후 결과 출력, 임시 테이블 drop 순으로 동작하도록 구현. 온라인에서 필요한 기능들의 샘플 코드 찾아 조합한거고 구문도 설명 필요 없을 정도로 간단한지라 코딩했다 하기 민망하지만 애매한 테스트..
[python]엑셀 파일에서 데이터 추출해서 소스 생성하기 사내 자바 개발자들에게 공유한 가벼운 팁 옮겨 적어 봅니다. 엑셀 파일에서 추출한 정보로 템플릿 엔진을 이용하여 소스 파일을 만들어주는 python 프로그램을 만들어보았습니다(이하에서는 평어체로) 사용 라이브러리 : jinja2 (템플릿 엔진), openpyxl(엑셀 라이브러리) 1. JSON RPC i/f 스펙을 정의해놓은 엑셀 파일이 있다. 2. 엑셀 파일에는 시트별로 각 메시지에 대한 기본 정보와 JSON 형태의 메시지에 포함되는 속성들에 대한 정보가 기술되어 있다. 내가 해야할 작업은 다음과 같다. 2에 정의된 속성 정보들 중 '속성명', '데이터 타입(길이)'로 DB 테이블 생성 DDL 스크립트 작성, JPA 를 쓰기 때문에 메시지별 엔티티 파일 작성. 메시지 종류가 늘어나니 수작업으로 하던 이..
[kotlin]애기 걸음, reactive 구구단 프로그램 처음 배울 때 다들 한 번쯤 해보는 구구단 코딩을 해봤습니다 ㅎ import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.kotlin.subscribeBy fun main(args: Array) { val observable = Observable.range(2,8) observable.flatMap { number -> Observable.create { it.onNext("$number Times Table") for (i in 1..9) { it.onNext(" $number * $i = ${i * number}") } it.onComplete() } }.subscribeBy ( onNext = { item -> pri..