728x90

분류 전체보기 260

[카프카, 데이터 플랫폼의 최강자] 1장. 카프카란 무엇인가

1.2 카프카의 동작 방식과 원리 카프카는 기본적으로 메시징 서버로 동작함. 프로듀서에서 카프카에 토픽이라는 각각의 메시지 저장소에 데이터를 저장하면, 컨슈머가 원하는 토픽에서 데이터를 가져가는 방식으로 동작 pub-sub 모델 중앙에 메시징 시스템 서버를 두고 메시지를 보내고 받는 형태의 통신. 비동기 메시징 전송 방식 발신자의 메시지에는 수신자가 정해져있지 않음. 구독한 수신자만이 정해진 메시지를 받음. 수신자는 발신자에 대한 정보가 없어도 원하는 메시지만을 수신 할 수 있음. 프로듀서가 중간의 메시징 시스템에 메시지를 전달(메시지 데이터와 수신처 id 정보를 포함시킴) -> 메시징 시스템의 교환기가 메시지의 수신처 id를 확인해 컨슈머들의 큐에 전달 -> 컨슈머는 자신의 큐를 모니터링하다가 큐에 메..

Message Queue/Kafka 2023.04.20

[intelliJ] Mac 단축키 정리

기존엔 이클립스만 사용을 해왔는데, 이제는 인텔리제이를 사용하게 되었습니다. 일단 이클립스에 비해 정말 예뻐서 개안이 되는 느낌이네요! 코드 짜고 싶어지는 마음이 무럭 무럭 생기게 해줍니다. 뭐든 예쁜게 좋아요! 저는 뭐든 편하게 쓰려면 단축키를 알아둬야 한다 는 생각을 갖고 있어서 intelliJ의 단축키들에 대해서 정리해 두려고 합니다. 단축키 표 우선 jetbrains에서 공개한 단축키 리스트 입니다. 회색 표시된 것들이 주로 많이 쓰이는 것들인거 같아요. 이중에서도 가장 많이 쓰이는 몇가지에 대해서만 정리해 두려고 합니다. 자주 보고 쓰면서 익히면 좀 더 편하게 인텔리제이 이용이 가능해 질 것 같습니다~ 자동 완성 Control + space (맥 단축키랑 겹쳐서 둘 중 하나 수정해야 가능) 생성..

[백준 6603 - Java] 로또

https://www.acmicpc.net/problem/6603 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 것이다. 예를 들어, k=8, S={1,2,3,5,8,13,21,34}인 경우 이 집합 S에서 수를 고를 수 있는 경우의 수는 총 28가지이다. ([1,2,3,5,8,13..

[백준 16472 - Java] 고냥이

https://www.acmicpc.net/problem/16472 16472번: 고냥이 고양이는 너무 귀엽다. 사람들은 고양이를 너무 귀여워했고, 결국 고양이와 더욱 가까워지고 싶어 고양이와의 소통을 위한 고양이 말 번역기를 발명하기로 했다. 이 번역기는 사람의 언어를 고 www.acmicpc.net 문제 고양이는 너무 귀엽다. 사람들은 고양이를 너무 귀여워했고, 결국 고양이와 더욱 가까워지고 싶어 고양이와의 소통을 위한 고양이 말 번역기를 발명하기로 했다. 이 번역기는 사람의 언어를 고양이의 언어로, 고양이의 언어를 사람의 언어로 바꾸어 주는 희대의 발명품이 될 것이다. 현재 고양이말 번역기의 베타버전이 나왔다. 그러나 이 베타버전은 완전 엉망진창이다. 베타버전의 번역기는 문자열을 주면 그 중에서 최..

[백준 1806 - Java] 부분합

https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net 문제 10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며..

[백준 2565 - Java] 전깃줄

https://www.acmicpc.net/problem/2565 2565번: 전깃줄 첫째 줄에는 두 전봇대 사이의 전깃줄의 개수가 주어진다. 전깃줄의 개수는 100 이하의 자연수이다. 둘째 줄부터 한 줄에 하나씩 전깃줄이 A전봇대와 연결되는 위치의 번호와 B전봇대와 연결되는 www.acmicpc.net 문제 두 전봇대 A와 B 사이에 하나 둘씩 전깃줄을 추가하다 보니 전깃줄이 서로 교차하는 경우가 발생하였다. 합선의 위험이 있어 이들 중 몇 개의 전깃줄을 없애 전깃줄이 교차하지 않도록 만들려고 한다. 예를 들어, 과 같이 전깃줄이 연결되어 있는 경우 A의 1번 위치와 B의 8번 위치를 잇는 전깃줄, A의 3번 위치와 B의 9번 위치를 잇는 전깃줄, A의 4번 위치와 B의 1번 위치를 잇는..

[백준 17406 - Java] 한 줄로 서기

https://www.acmicpc.net/problem/1138 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 www.acmicpc.net 문제 N명의 사람들은 매일 아침 한 줄로 선다. 이 사람들은 자리를 마음대로 서지 못하고 오민식의 지시대로 선다. 어느 날 사람들은 오민식이 사람들이 줄 서는 위치를 기록해 놓는다는 것을 알았다. 그리고 아침에 자기가 기록해 놓은 것과 사람들이 줄을 선 위치가 맞는지 확인한다. 사람들은 자기보다 큰 사람이 왼쪽에 몇 명 있었는지만을 기억한다. N명의 사람이 있고, 사람들의 키는 1부터 N까..

[백준 11404 - Java] 플로이드

https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 문제 n(2 ≤ n ≤ 100)개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 m(1 ≤ m ≤ 100,000)개의 버스가 있다. 각 버스는 한 번 사용할 때 필요한 비용이 있다. 모든 도시의 쌍 (A, B)에 대해서 도시 A에서 B로 가는데 필요한 비용의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다..

[백준 2156 - Java] 포도주 시식

https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 문제 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규칙이 있다. 포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고, 마신 후에는 원래 위치에 다시 놓아야 한다. 연속으로 놓여 있는 3잔을 모두 마실 수는 없다. 효주는 될 수 있는 대로 많은 ..

[Java] 가비지 컬렉션의 여러가지 동작 알고리즘

[Java] 메모리 구조와 가비지 컬렉션 Java의 메모리 구조 가비지 컬렉션에 대해 알아보기에 앞서 java의 메모리 영역에 대해 간단하게 다뤄보겠습니다. static / stack / heap 이렇게 세 영역으로 구분됩니다. Static 영역 하나의 JAVA 파일은 excited-hyun.tistory.com 위 게시물에 설명한 기본적인 GC 방식 외에도 여러가지 알고리즘을 이용한 방식들이 있습니다. 이번 게시물에서는 이러한 여러가지 방식들에 대해 다뤄보도록 하겠습니다. Serial GC Java SE 5, 6에서 사용되는 방식입니다. 가장 단순한 방식의 GC동작 방식으로 싱글 스레드로 동작합니다. 그렇기 때문에 다소 느려, Stop the world 시간이 비교적 긴 방식입니다. Old 영역에서 M..

Java/Java 기타 2021.11.16
728x90
반응형