본문 바로가기

전체 글

(87)
아파치 카프카 실습 (Apache Kafka) / JAVA로 프로듀서 생성 및 데이터 보내기 토픽 생성 bin/kafka-topics.sh --bootstrap-server my-kafka:9092 --create \ > --topic test \ > --partitions 3 Create topic test. SimpleProducer 코드 작성 메시지 키 없이 전송 public class SimpleProducer { private final static Logger logger = LoggerFactory.getLogger(SimpleProducer.class); // 전송하기 위한 토픽 이름 설정 private final static String TOPIC_NAME = "test"; // 전송하고자하는 카프카 클러스터의 서버의 host, ip private final static Stri..
아파치 카프카 실습 (Apache Kafka) / 데이터 주고 받기 프로듀서 (kafka-console-producer.sh) 생성된 토픽에 데이터를 넣을 수 있는 kafka-console-producer.sh 명령어로 데이터를 넣어보겠다. 토픽에 넣는 데이터는 레코드(record), 메시지 key와 value 값으로 이루어져 있다. 메시지 키 없이 메시지 값만 보내게 될 경우 자바의 null로 기본 설정되어 브로커로 전송된다. bin/kafka-console-producer.sh --bootstrap-server my-kafka:9092 \ > --topic test.kafka >hello >kafka >0 >1 >2 >3 >4 >5 kafka-console-producer.sh로 전송되는 레코드 값은 UTF-8을 기반으로 Byte변환되고 ByteArraySeriali..
아파치 카프카 실습 (Apache Kafka) / 토픽 생성 및 조회 카프카 커맨드 라인 툴 카프카에서 제공하는 카프카 커맨드 라인 툴들은 카프카 운영 시 가장 많이 접하는 도구다. 이를 이용해 카프카 브로커 운영에 필요한 다양한 명령을 내릴 수 있다. 카프카 클라이언트 애플리케이션을 운영할 때는 클러스터와 연동하여 데이터를 주고 받는 것도 중요하지만 토픽이나 파티션 개수 변경과 같은 명령을 실행해야 하는 경우도 자주 발생한다. 그러므로 카프카 명령어를 손에 익히자 토픽 (kafka-topics.sh) 토픽이란 카프카에서 데이터를 구분하는 가장 기본적인 개념이다. 예를들어 RDBMS에서 사용하는 테이블과 유사하다고 볼 수 있다. 클러스터에 토픽은 여러 개 존재할 수 있다. 토픽 내 파티션은 최소 1개 이상이다. 파티션을 통해 한 번에 처리할 수 있는 데이터양을 늘릴 수 있..
아파치 카프카 실습 (Apache Kafka) / EC2 서버 구축, 카프카, 주키퍼 설치하기 평소에 대용량 시스템이나 분산화 시스템 말만 많이 들어봤지, 현재 내가 속해있는 현업에서조차 경험하지 못해 고민하여 독학으로 진행하기로 했다. 평소에 아파치 카프카(Apache Kafka) 에 대하여 관심이 많았던 나여서 유튜브로 카프카에 대해 찾아보다가 데브원영님의 채널을 알게되고 그 이후로 채널 구독까지 하여 카프카에 대한 전반적인 영상을 보았다. 그러던 어느날 데브원영님께서 아파치 카프카 애플리케이션 프로그래밍 with 자바 라는 교재를 출판하셨고, 이소식을 들은 나는 '아! 이제 나도 진짜 공부를 시작해야겠다!' 라는 마음이 들어 책을 구입하였다. 카프카에 대한 전반적인 구조 및 예제 실습등을 포스팅 하며 복습할 예정이다. 개념 설명에 관한 포스팅은 내가 정확히 이해를 했을 때 포스팅을 할 예정이..
EFFECTIVE JAVA 3/E(이펙티브 자바 3/E 정리) - 1. 객체 생성과 파괴 어느 정도 자바 개발에 익숙해졌다면 한 번쯤 생각해보는 주제이다. 자기가 직접 구성한 코드 및 로직이 얼마나 효율적일까? 같은 결과를 도출하면서도 어느 게 더 성능적으로 우수한 프로그래밍일까 하는 생각 말이다. 물론 나도 현재 개발일을 하고 있지만 일의 데드라인이 있기 마련.. 그 기한까지 요구한 기능을 어떤 방식을 사용하던 그 기능이 잘 돌아가는 것에만 포커스를 두었지, 내가 짠 코드가 올바르고 효율적인가에 대해서 생각을 많이 하지 않았었다. 기존에 선임개발자들이 짜놓은 코드가 좋은지 나쁜지 구별도 하지 않은 채복붙만 하던 코더 입장에서 좀 더 좋은 자바 개발자가 되겠다는 마음으로 이 책을 사서 챕터별로 이해하고 포스팅하도록 하겠다. http://www.kyobobook.co.kr/product/det..
백준 알고리즘 2525번 오븐 시계 JAVA 백준 알고리즘 풀이중 if문과 while 문을 동시에 사용할 예제가 나와 기록해본다. 오븐시계 계산인데 시, 분 그리고 거기에 더할 값을 계산하는 간단한 문제이다. 분 >= 60 일시 0으로 리셋 그리고 시 를 1씩 더해주면 되고 시 >= 24 일 때 0으로 리셋 해주면 된다. JAVA 풀이 방식으로는 이렇다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int hh = in.nextInt(); int mm = in.nextInt(); int plus = in.nextInt(); in.close(); mm = mm+plus; if..
백준 알고리즘 10950번 A+B - 3 JAVA 백준 알고리즘 10950번 A+B - 3 JAVA 언어로 풀이 해보았다. 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 형식인데 예제를 한번에 다 입력하는 것이 아니고 첫째줄의 수는 테스트 케이스의 수이고 한줄당 하나의 테스트를 거쳐 값을 도출해내는 형식이다. 간단히 for문 안에 테스트케이스 수까지 반복 수행중 입력받고 결과 출력하고 반복계산 하기만 하면 되는 간단한 문제이다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int line = in.nextInt(); for(int i = 1; i
스프링으로 웹페이지 만들기 - 6. 카카오오븐 사용하여 UI UX 정의하기 - 부트스트랩 무료 템플릿 사용하기 (이전 포스팅 참고) https://biesil.tistory.com/9 스프링으로 웹페이지 만들기 - 5. 부트스트랩 무료템플릿 사용하기 이번 포스팅엔 나의 허접한 UI를 아름답게 바꿔줄 부트스트랩 템플릿을 사용할 예정이다. 여기서 부트스트랩이란? 프론트엔드 영역의 웹개발을 빠르고 쉽게 만들어 주기 위한 템플릿 오픈소스 biesil.tistory.com 저번 포스팅에선 부트스트랩 무료 템플릿을 내 프로젝트에 적용하였다. 마냥 템플릿을 그대로 사용하기엔 방향성이 잘 잡히지 않아 UI/UX 에 대한 정의를 카카오오븐을 통해 구성하겠다. -카카오오븐이란? 카카오에서 제공하는 연구실 프로젝트라고 Oven에서 정의하며, HTML5 기반 무료 웹/앱 프로토타이핑 툴이라고 한다...

반응형