
1. 프로젝트 발할라(Project Valhalla)를 통해 알아보는 자바 언어의 진화 [ 프로젝트 발할라(Project Valhalla) 란? ]프로젝트 발할라는 객체 지향 프로그래밍의 추상화와 원시 타입의 뛰어난 성능 특성을 결합한 값 객체(value objects)의 도입과 제네릭(generic)에 대한 원시 타입의 지원을 강화하는 등의 작업을 통해 많은 개선을 이뤄내고자 하고 있다. 대표적으로 다음과 같은 기능들이 여러 배포에 걸쳐 추가될 것이다.Value Classes and Objects: 객체에 identity를 부여하지 않음으로써 최적화된 인코딩을 가능하게 하는 값 클래스와 객체를 도입함Null-Restricted and Nullable Types: 널-인지 타입에 대한 언어적 지원과 널-..

1. 올바른 카프카 컨슈머(KafkaConsumer) 설정 가이드와 내부 동작 분석[ group.protocol ]설정에 대한 설명group.protocol은 consumer가 사용할 그룹 프로토콜을 지정하는 설정으로 현재 classic과 consumer 두 가지 값을 지원한다. 해당 값을 consumer로 설정하면, consumer 그룹 프로토콜이 사용되며 다른 값을 설정하거나 생략하면 classic 그룹 프로토콜이 사용된다.classic 그룹 프로토콜은 Kafka 0.9 이후 기본 제공되어온 전통적인 Kafka consumer group 관리 방식이다. session.timeout.ms, heartbeat.interval.ms 등이 기존 방식 그대로 작동하며 consumer coordinator가 리..

1. 기부 멘토링 신청 가이드[ 자기 소개 ]안녕하세요, MangKyu라는 닉네임으로 ‘망나니개발자’라는 개인 기술 블로그를 운영중인 조민규입니다. 저는 현재 비바리파블리카의 토스 코어에서 소프트웨어 엔지니어(SWE)로 근무중이며, 과거 네이버 클라우드(with 웍스 모바일)에서 일한 경험이 있습니다. 저 역시도 직/간접적으로 많은 도움을 선배 개발자분들께 받아왔는데, 부족하지만 이러한 부분을 사회에 조금이나마 환원하고자 ‘기부 멘토링’에 참여하게 되었습니다. 현재 비바리퍼블리카의 토스 코어에서 근무중, 과거 네이버 클라우드(with 웍스 모바일)에서 근무함월 10만, 누적 700만 PV의 개인 기술 블로그 운영중(망나니개발자, mangkyu.tistory.com)다양한 기술 공유 활동 및 멘토링 진행h..

1. COW(CopyOnWrite) 기법과 이를 활용하는 자바와 레디스의 예시들(COW on Java and Redis)[ COW(CopyOnWrite) 기법이란? ]Copy-on-write(CoW, 복사 시 쓰기)는 컴퓨터 프로그래밍과 운영체제에서 데이터 복사를 최적화하기 위해 사용되는 전략이다. COW 방식은 데이터를 복사할 때 전체 데이터를 즉시 복제하는 대신, 기존 데이터에 대한 새로운 참조만 생성해두고, 원본이나 복사본 중 어느 하나가 데이터를 수정하려고 할 때 실제 복사를 진행한다.예를 들어 부모 프로세스 A가 존재하는 상황에서 fork() 메서드를 통해 자식 프로세스 B를 생성했다고 하자. 이때 두 프로세스가 공유하는 페이지들이 다음과 같이 존재할 수 있다. COW 기법은 두 프로세스가 동..

1. Flowise에 대하여 & LLM 연동 준비하기[ Flowise에 대하여 ]Flowise란 시각적인 인터페이스를 제공하는 오픈 소스 LLM(대형 언어 모델) 워크플로 빌더로, 코드를 작성하지 않고도 다양한 LLM 기반 애플리케이션을 쉽게 구성하고 배포할 수 있도록 설계되어 있다. 예를 들어 우리가 애플리케이션에 LLM을 연동하여 계산기를 만드는 상황이라고 하자. 대부분의 애플리케이션은 연동을 위해 HTTP 프로토콜과 JSON 형태의 자료구조를 사용할 것인데, LLM의 응답은 다음과 같이 대화형인 경우가 많다. 서비스에 JSON 형태로 응답하려면, 위와 같은 응답 형식이 아닌, Key-Value 형태로의 응답 전환 등이 필요한데, Flowise는 이렇듯 서비스에 LLM을 연동하기 위해 필요한 컴포..