목록분류 전체보기 (87)
PRESENT

🏄♀️ Kafka와 Python 라이브러리Kafka의 Producer와 Consumer 기능을 Python 코드로 작성해보자. 기존의 Kafka의 쉘 스크립트는 기본적인 기능만을 제공하기 때문에 좀 더 유연하고 정교한 방식으로 kafka 메시징을 하고자 한다면 Python 라이브러리를 이용하면 된다.쉘 스크립트 이용기본 기능만 제공메시지 입/출력Python 라이브러리 이용유연하고 정교한 방식으로 처리 가능로직, 조건문, 예외처리, 자동화, 외부 연동 🧩 Python 라이브러리 설치Python 라이브러리는 kafka에서 만든 confluent-kafka를 사용한다.kafka-python 라이브러리보다 C 기반으로 만들어져 훨씬 안정적이고, Kafka의 최신 기능을 대부분 지원해주기 때문이다. 실무..

🏄♀️ Kafka 설치Docker를 이용하여 Kafka와 클러스터 상태를 모니터링 할 수 있는 UI를 로컬에 설치한다.KRaft로 클러스터를 관리하기 때문에 Zookeeper는 따로 설치하지 않는다.Kafka 도커 이미지 confluentinc/cp-kafka https://hub.docker.com/r/confluentinc/cp-kafka/tagsKafka UI 도커 이미지provectuslabs/kafka-uihttps://hub.docker.com/r/provectuslabs/kafka-ui 1️⃣ Docker hub에서 Kafka 이미지 가져오기Kafka 이미지는 대체로 bitnami/kafka와 confluentinc/cp-kafka를 사용한다. bitnami/kafka는 학습용으로 가..

🏄♀️ Kafka란 대용량 데이터를 빠르고 안정적으로 처리할 수 있는 분산형 이벤트 스트리밍 플랫폼. * 분산형 : 여러 서버에 나누어 처리한다는 의미.* 스트리밍 플랫폼 : 데이터를 실시간으로 주고받는 시스템. 🎏 Kafka의 기본 데이터 흐름Producer → Topic → Consumer(Producer가 데이터를 특정 Topic에 보내면, Broker가 데이터를 Partition에 저장하고, Consumer가 구독해서 가지고 간다)예) 웹 사이트 방문 등의 사용자 이벤트가 발생하면 Producer가 Record(로그데이터)를 만든다 → Record는 Topic에 순서대로 저장된다 → Consumer가 Topic을 구독해서 실시간 분석 시스템 또는 저장소로 전송한다 🧩 Kafka ..

문제 풀기 : 14500번 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 문제 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다. 정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다. 아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 적절히 놓아서 테트로미노가..

문제 풀기 : 12100번 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 문제 한 번의 이동은 보드 위에 있는 전체 블록을 상하좌우 네 방향 중 하나로 이동시킨다. 같은 값을 갖는 두 블록이 충돌하면 두 블록은 하나로 합쳐지게 된다. 한 번의 이동에서 이미 합쳐진 블록은 또 다른 블록과 다시 합쳐질 수 없다. (실제 게임에서는 이동을 한 번 할 때마다 블록이 추가되지만, 이 문제에서 블록이 추가되는 경우는 없다) 보드의 크기는 N×N 이다. 보드의 크기와 보드판의 블록 상태가 주어..
문제 풀기 : 13458번 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 문제 총 N개의 시험장이 있고, 각각의 시험장마다 응시자들이 있다. 총감독관은 한 시험장에서 감시할 수 있는 응시자의 수가 B명이고, 부감독관은 한 시험장에서 감시할 수 있는 응시자의 수가 C명이다. 각각의 시험장에 총감독관은 오직 1명만 있어야 하고, 부감독관은 여러 명 있어도 된다. 각 시험장마다 응시생들을 모두 감시해야 한다. 이때, 필요한 감독관 수의 최솟값을 구하는 프로그..

문제 풀기 : 14499번 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도 www.acmicpc.net 문제 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 가장 처음에 주사위에는 모든 면에 0이 적혀져 있다. 지도의 각 칸에는 정수가 하나씩 쓰여져 있다. 주사위를 굴렸을 때, 이동한 칸에 쓰여 있는 수가 0이면, 주사위의 바닥면에 쓰여 ..

문제 풀기 : 3190번 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 문제 NxN 정사각 보드위에서 진행한다. 몇몇 칸에는 사과가 놓여져 있다. 보드의 상하좌우 끝에 벽이 있다. 뱀은 맨위 맨좌측에 위치한다. 뱀의 길이는 1 이다. 뱀은 처음에 오른쪽을 향한다. 뱀은 매 초마다 이동을 하는데 다음과 같은 규칙을 따른다. 먼저 뱀은 몸길이를 늘려 머리를 다음칸에 위치시킨다. 만약 이동한 칸에 사과가 있다면, 그 칸에 있던 사과가 없어지고 꼬리는 움직이지 않는다. 만약 이동한 칸에 사과가 없다면, 몸길이를 줄여서 꼬..

다트 게임 카카오톡에 뜬 네 번째 별! 심심할 땐? 카카오톡 게임별~ 카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다. 갓 입사한 무지는 코딩 실력을 인정받아 게임의 핵심 부분인 점수 계산 로직을 맡게 되었다. 다트 게임의 점수 계산 로직은 아래와 같다. 다트 게임은 총 3번의 기회로 구성된다. 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다. 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨 시 점수에서 1제곱, 2제곱, 3제곱 (점수1 , 점수2 , 점수3 )으로 계산된다. 옵션으로 스타상(*) , 아차상(#..