IT / 프로그램 잡다한 이야기

고정 헤더 영역

글 제목

메뉴 레이어

IT / 프로그램 잡다한 이야기

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (133)
    • IT 뉴스 (106)
    • 프로그래밍 (27)
      • Kotlin (4)
      • Flutter (3)
      • Javascript (3)
      • Server (10)
      • Etc (7)

검색 레이어

IT / 프로그램 잡다한 이야기

검색 영역

컨텐츠 검색

프로그래밍

  • Kotlin과 Spring 환경에서 CountDownLatch를 활용한 동시성 제어

    2025.05.15 by 웰치스짱

  • Java PKIX path building failed

    2023.05.03 by 웰치스짱

  • [Docker] 컨테이너 끼리 내부 통신가능하게 설정

    2023.04.10 by 웰치스짱

  • [SQL] 특정 컬럼 값을 변환하기

    2023.04.10 by 웰치스짱

  • [Docker] none 이미지 정리하기 (Dangling Images Remove)

    2023.04.07 by 웰치스짱

  • [Github] GPG key 를 등록해서 Verified 받기

    2023.04.07 by 웰치스짱

  • CRA(Create React APP)에서 캐시 안되는 문제 해결하기

    2023.04.03 by 웰치스짱

  • [Docker] 타임존(Timezone)을 설정해보자

    2023.03.28 by 웰치스짱

Kotlin과 Spring 환경에서 CountDownLatch를 활용한 동시성 제어

Kotlin과 Spring 환경에서 CountDownLatch를 활용한 동시성 제어개발에서 여러 작업을 동시에 처리해야 하는 경우는 흔합니다. 백그라운드에서 대량의 데이터를 처리하거나, 외부 서비스에 병렬적으로 요청을 보내거나, 애플리케이션 시작 시 여러 컴포넌트의 초기화가 완료되기를 기다리는 등 다양한 시나리오에서 동시성(Concurrency) 문제가 발생합니다.자바 플랫폼 (그리고 Kotlin)에서는 이러한 동시성 문제를 해결하기 위한 다양한 도구들을 제공하며, 그 중 java.util.concurrent 패키지에 포함된 CountDownLatch는 특정 작업들이 모두 완료될 때까지 다른 스레드를 기다리게 하는 강력한 메커니즘입니다.이번 블로그 게시물에서는 Kotlin과 Spring 환경에서 Coun..

프로그래밍/Kotlin 2025. 5. 15. 18:36

Java PKIX path building failed

Spring 을 이용해서 원격지 서버 (https) 와 통신을 하다보면 아래와 같은 에러가 발생한다. javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target\n\tat sun.security.ssl.Alert.createSSLException(Alert.java:131)\n\tat sun.security.ssl.TransportContext.fatal(TransportContext.java:324)\n\tat sun.security.s..

프로그래밍/Server 2023. 5. 3. 14:26

[Docker] 컨테이너 끼리 내부 통신가능하게 설정

도커를 사용하다 보면 여러개의 컨테이너끼리 서로간에 통신이 필요한 경우가 있을때 어떻게 설정을 해야 가능한지 정리해보겠습니다. 1) 먼저 내부 네트워크 브릿지를 새로 생성합니다. docker network create --gateway 172.19.0.1 --subnet 172.19.0.0/21 internal_net 생성한 네트워크의 상세 내역을 확인해봅시다. # 네트워크 브릿지 리스트 확인 ubuntu@ip-10-10-10-149:~$ docker network ls NETWORK ID NAME DRIVER SCOPE 639aff3124e1 bridge bridge local 742d3b6b0356 internal_net bridge local db9535f2945b host host local 2d..

프로그래밍/Server 2023. 4. 10. 19:03

[SQL] 특정 컬럼 값을 변환하기

DB를 사용하다보면 특정 값의 일부만 변경해야 하는 경우가 있다. (예를 들어 파일의 업로드된 경로를 변경한다던지) 이럴때는 간단하게 쿼리를 통해서 일괄 변경이 가능하다. UPDATE urls SET url = REPLACE(url, 'domain1.example/images/', 'domain2.example/otherfolder/') 이렇게 하면 해당 경로의 일부만 변경이 가능합니다. 끝

프로그래밍/Etc 2023. 4. 10. 14:30

[Docker] none 이미지 정리하기 (Dangling Images Remove)

내가 원하는 이미지를 빌드 후 이미지 리스트를 출력 해 봤더니, 레포지토리명과 태그가 모두 none으로 되어 있었다. 이는 빌드 할 때, 이미 존재하는 레포지토리:태그명과 중복된 상태로 빌드를 해서 그렇다고 한다. 또한 이미지 빌드중에 에러가 발생하여 온전하게 빌드 되지 못하였을 때 해당 증상이 나타난다. 이런 현상이 나타난 이미지를 Dangling Image라고 표현을 한다. 이런 이미지는 공간만 차지하고 지워지지 않으면 서버의 용량을 모두 채울정도로 커지게 되니 주기적으로 지워야 한다. 삭제방법은 여러가지가 있는데 아래와 같다. $ docker system prune [OPTIONS] # [OPTIONS] # --a, -a: dangling된 것 뿐만 아니라, 모든 사용하지않는 컨테이너 종료 및 이미..

프로그래밍/Server 2023. 4. 7. 17:40

[Github] GPG key 를 등록해서 Verified 받기

Github에 소스를 저장해서 사용하던 중에 이런 표시를 보게 되었습니다. 이 표시는 커밋한 사람의 이메일 주소와 이름이 서버에 등록되었는지 표시해주는 기능입니다. (내 이메일 주소와 비번을 도용할 수도 있으니) 이를 어떻게 설정하는지 설명해보겠습니다. (Mac OS 기준) brew install gpg #gpg 설치 ... gpg --gen-key # 설치 완료후에 키를 생성합니다. gpg (GnuPG) 2.4.0; Copyright (C) 2021 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted..

프로그래밍/Etc 2023. 4. 7. 12:44

CRA(Create React APP)에서 캐시 안되는 문제 해결하기

React App을 배포할때 소스 JS파일이 캐싱이 되면서 갱신이 되지 않는 문제가 발생했습니다. 이는 CRA는 빌드시에 항상 같은 이름으로 파일이름을 생성하게 되서 발생하는 문제입니다. 따라서 WebPack같은 번들러로 배포를 하게되면 해당 JS파일뒤에 타임스탬프를 붙이는 방법으로 강제로 갱신이 되는거죠. 이때 사용할 수 있는게 react-app-rewired입니다. 이걸 설치하고 config-overrides.js 파일 내부에 다음처럼 함수를 정의해줄 수 있습니다. module.exports = { webpack: function (config, env) { config.output.filename = 'static/js/[name].[hash:8].js'; config.output.chunkFile..

프로그래밍/Javascript 2023. 4. 3. 18:49

[Docker] 타임존(Timezone)을 설정해보자

도커 컨테이너를 생성한 후에 보면 그 컨테이너는 서버의 타임존과 상관없이 UTC 시간대를 가지고 있는 것을 알수 있다. # 서버 root@ip-172-31-0-48:/etc# timedatectl Local time: Tue 2023-03-28 10:08:22 KST Universal time: Tue 2023-03-28 01:08:22 UTC RTC time: Tue 2023-03-28 01:08:22 Time zone: Asia/Seoul (KST, +0900) System clock synchronized: yes NTP service: active RTC in local TZ: no # 컨테이너 ubuntu@ip-172-31-42-108:~$ date Tue Mar 28 01:23:34 UTC 2..

프로그래밍/Server 2023. 3. 28. 10:28

추가 정보

인기글

최신글

반응형

페이징

이전
1 2 3 4
다음
TISTORY
IT / 프로그램 잡다한 이야기 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바