목록Backend (25)
HEROJOON 블로그(히로블)

gRPC란?gRPC는 Google Remote Procedure Call의 약자로, Google에서 개발한 고성능 오픈소스 범용 RPC 프레임워크입니다. gRPC의 간단한 특징Protocol Buffers(Protobuf)를 인터페이스 정의 언어(IDL: Interface Definition Language)로 사용Protocol Buffers(Protobuf)는 다른 메시지 방식과 비교해 압축률이 좋고 빠른 속도의 장점을 제공다양한 프로그래밍 언어 지원 (.proto 파일을 다양한 언어의 소스파일로 생성 해줌)지원 언어 참고 URL: https://grpc.io/docs/languages/HTTP/2 기반 전송을 통한 양방향 스트리밍 지원SSL/TLS, ALTS, Google을 이용한 토큰 인증 등 ..

목표Java에서 제공하는 CountDownLatch를 이해하고 CountDownLatch를 이용하여 Thread 대기 예제 해보기 이해하기CountDownLatch란?: CountDownLatch는 Java에서 일련의 스레드 작업이 끝난 후 다음 작업이 진행될 수 있도록 대기 기능을 제공해줍니다.멀티스레드 환경에서 어떠한 작업들이 수행 된 후 다른 작업이 수행될 수 있도록 하기 위하여 사용됩니다.latch의 영어사전 의미: 자물쇠, 걸쇠, 걸쇠를 걸다. CountDownLatch 설명Java 1.5부터 제공된 기능입니다.java.util.concurrent 패키지에 포함되어 있습니다.다른 스레드에서 수행 중인 일련의 작업이 완료될 때까지 하나 이상의 스레드를 대기할 수 있도록 기능을 제공합니다.[대기 방..

Zookeeper란: Zookeeper는 Apache 재단에서 만든 분산 애플리케이션을 위한 중앙 집중식 고성능 조정 서비스입니다. Zookeeper 특징Zookeeper 공식 문서에 나와있는 Zookeeper의 특징은 아래와 같습니다.1. ZooKeeper is simple. Zookeeper는 단순하다.주키퍼는 표준 파일시스템 기반과 유사한 트리 구조의 공유 계층적 데이터 모델을 제공합니다.이 구조는 데이터 저장과 접근방식에 대해 직관적으로 이해 가능하게 합니다.2. ZooKeeper is replicated. Zookeeper는 복제된다.주키퍼는 서비스 일관성과 안정성, 높은 가용성을 위해 리더 서버가 나머지 서버에 데이터와 상태 정보를 복제합니다.3. ZooKeeper is ordered. ..

배포 환경이 Spring Boot 3.2.4에 해당하는 필수 스펙이 맞는지 확인해본다. https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html Getting Started If you are getting started with Spring Boot, or “Spring” in general, start by reading this section. It answers the basic “what?”, “how?” and “why?” questions. It includes an introduction to Spring Boot, along with installation instructions. docs.spr..
오류명 java.lang.UnsupportedOperationException: null at java.base/java.util.AbstractList.add(AbstractList.java:153) ~[na:na] at java.base/java.util.AbstractList.add(AbstractList.java:111) ~[na:na] ..... 원인 // data map (예시용) Map userMap = new HashMap(); userMap.put("userIds", Arrays.asList(1L, 2L, 3L, 4L, 5L)); // 에러 나는 경우 List userIds = userMap.get("userIds"); userIds.add(6L); 해결 new ArrayList()로 선..

목표 업비트에서 제공하는 RSI 값 계산식을 Java언어를 이용하여 구현해본다. "파이썬의 경우 Pandas 라이브러리를 이용하여 해당 라이브러리에서 제공하는 ewm 함수로 쉽게 RSI값을 구할 수 있으나 Java의 경우 계산식 라이브러리가 오래되었고, 업비트에서 제공하는 RSI값과 차이가 있었습니다. 그래서 RSI에 관련된 공식들에 대한 이론 공부와 Pandas 라이브러리의 ewm 함수를 참고하여 업비트 RSI 계산식을 만들어보았습니다. 결과는 해당 계산식으로 업비트의 RSI 값과 일치하는 값을 가져올 수 있습니다." 먼저 이해하기 RSI (Relative Strength Index: 상대강도지수) 란? 주식, 선물, 옵션 등의 기술적 분석에 사용되는 보조 지표이다. RSI는 가격의 상승압력과 하락압력..
환경 // Spring Boot 2.7.3 // Java 17 // Gradle Dependency -> Apache POI (SXSSF, XSSF) implementation 'org.apache.poi:poi:5.0.0' implementation 'org.apache.poi:poi-ooxml:5.0.0' 에러명 org.apache.poi.ooxml.POIXMLException: java.io.EOFException: Unexpected end of ZLIB input stream 기존 존재하는 파일명으로 파일을 workbook.write(fileOutputStream) 쓰려고 할 때 발생. 수정 전 (에러) ClassPathResource resource = new ClassPathResource(..