본문 바로가기

분류 전체보기46

ASUS PN50 MINI PC WITH AMD RYZEN7 4700U 리뷰 개발 업무에 사용할 적절한 성능의 데스크탑 구매 계획을 가지고 있었다. 이미 데스크탑 한 대를 사용 중이고, 부피와 소음에 있어서 항상 거슬렸기 때문에 이번에는 작은 크기의 조용하고 적절한 성능의 미니 PC를 구매하고자 한다. 게임은 하지 않기 때문에 외장 그래픽카드는 필요 없고, 고성능의 데스크탑은 하나를 보유 중이었기 때문에 고성능의 CPU를 장착할 필요도 없었다. 그래서 가성비가 좋은 AMD 라이젠 CPU를 장착한 70만원 대의 미니 PC(혹은 베어본 PC)를 검색해보니 아래의 두 가지 조합이 적당하다고 생각되었다. Asrock Deskmini X300 모델과 라이젠 3세대 르누아르 계열의 고성능 APU(4650G) A300은 메모리 대역폭의 최대치가 2666Mhz(X300은 3200Mhz)이고 확.. 2020. 10. 18.
LENOVO SLIM5-15ARE R7 4700U 선택 이유 / 보급형 중저가 노트북의 선택 방법 이번 포스팅에서는 제품에 대한 리뷰가 아닌, 필자가 노트북 구매(사전예약)를 하는 과정에서 모델 비교 및 선택 이유에 대해서 정리한 글입니다. 노트북 리뷰는 추후 제품이 도착한 이후에 진행할 예정입니다. 1년 전에 구입한 레노버 15인치 모델 게이밍 노트북을 개발과 업무 보조용으로 사용 중이었다. 개발 업무에는 차고 넘치는 성능의 노트북이었으나 무게(2.3Kg)와 배터리(1.5시간) 성능으로 이동성과 외부 사용성에 큰 제약을 받았다. 그리하여 해당 노트북을 처분하고 현재 큰 인기를 얻고 있는 AMD 르누아르 시리즈의 노트북을 구입하고자 한다. 필자가 필요한 노트북의 사양을 아래와 같이 정리하였다. CPU AMD, RYZEN 3세대 4000번대 고성능 저전력 모델. 메인 노트북으로 고성능을 요구하며, 개발.. 2020. 9. 4.
Java Invocation API를 사용한 JVM 내장화(Embedded) / Native 프로그램에서 Java 코드 호출하기 기존에 C언어 기반으로 개발된 프로그램에서 NoSQL, 메시지 서버, 분산 저장소 등에 데이터를 저장해야 할 일이 생겼다. 이들 저장소는 C언어 기반의 인터페이스(라이브러리)를 제공하긴 하지만, 대부분이 인터프리터 기반 언어의 API를 기본으로 제공하기 때문에 기능 확장과 안정성 측면에서 자바 기반의 인터페이스를 사용하고자 한다. 대부분의 기능(데이터 추출 및 가공)이 C 기반의 애플리케이션(프로세스)에서 수행되고 그 결과를 자바 자바 기반의 프로그램(프로세스)을 사용하여 목적(Target) 저장소에 데이터를 저장하고자 한다. 이 두 프로세스 간의 통신을 위해서 파일, 소켓, 표준입출력(Standard Input/Output) 채널, 그 밖의 운영체제에서 제공하는 IPC 기능을 사용할 수 도 있다. 하지.. 2020. 7. 23.
How to handle aborted transactions by Apache Kafka Broker and Consumer / 카프카 브로커와 컨슈머의 취소된 트랜잭션 처리 방법에 대한 이해 [편집 중] [편집 중] [편집 중] Apache Kafka 0.11부터 Idempotent producer와 Transaction 기능이 소개되었다. Idempotent producer는 메시지의 중복과 누락 없이 정확히 한번만 카프카 서버에 저장하는 방식(Exactly-Once Semantic)이며 Transaction은 여러 개의 메시지를 여러 파티션에 걸쳐서 원자적(Atomicity)으로 저장할 수 있는 방법을 제공한다. 이 두 가지 기능에 대해서 알아보다 보니 Kafka에서 ‘Aborted Transaction’을 처리하는 방법을 다루는 글이 많지 않아서 이를 정리하고자 포스팅을 하게 되었다. 이 글에서는 아래와 같은 질문에 답을 구하기 위한 내용을 다루고자 한다. 프로듀서가 KafkaProdu.. 2020. 7. 10.