전체 글
-
[백준 4948] 베르트랑 공준C 프로그래밍/BOJ 2022. 7. 29. 23:30
https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net #include int double_prime(int n) { int flag, cnt = 0; for (int i = n + 1; i i) break; if (!(i % j)) { flag = 1; break; } } if (flag == 0) cnt++; } return cnt; } int main(void) { int n; for (; ;) { scanf("%d", &n); if (n..
-
[백준 2581] 소수C 프로그래밍/BOJ 2022. 7. 29. 23:29
https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net #include void is_prime(int m, int n) { int sum = 0, min = 10000; int flag; for (int i = m; i
-
[백준 1929] 소수 구하기C 프로그래밍/BOJ 2022. 7. 29. 23:28
https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net #include void is_prime(int m, int n) { int flag; for (int i = m; i i) break; if (!(i % j)) { flag = 1; break; } } if (flag == 0) printf("%d\n", i); } } int main(void) { int m, n; //m i) break; 조건을 두어서 j가 i의 제곱근일 때 루프를 빠져나오도록 할 수 있다. (이때 등호 들..
-
Kafka Monitoring with Prometheus & Grafana : 1엔지니어링/Kafka 2022. 4. 28. 17:37
하기 포스팅은 카프카 서버의 status를 모니터링하기 위해 prometheus와 grafana를 구축하는 절차이다. 가장 먼저 프로메테우스가 무엇인지, 관련 애플리케이션에는 어떤 것이 있는지 살펴보겠다. 개요 - 프로메테우스와 그라파나는 현재 가장 많이 사용되고 있는 모니터링 툴이다. - 별도의 agent 개발 없이도, 다양한 export 등을 활용하여 현재 사용하고 있는 서비스에 최적화된 모니터링 환경을 구성할 수 있다. 구성요소 구성요소 역할 Prometheus 메트릭 수집 및 규칙 확인 Grafana 데이터 시각화 Alertmanager 알림발송 Exporter 메트릭 수집 및 포트 오픈 Pushgateway PUSH 방식으로 데이터 수집 좀 더 상세히 살펴보자. - Prometheus : 타겟이..
-
Kafka consumer group엔지니어링/Kafka 2022. 3. 4. 10:47
카프카 컨슈머 그룹을 조작하는 방법 및 특정 오프셋을 리셋하는 방법을 알아보겠다. List Groups 컨슈머 그룹의 리스트를 출력한다. $ pwd /kafka/bin $ ./kafka-consumer-groups.sh --bootstrap-server mybroker:9092 --list kafka-streams-101 sy-consumer1 sy-consumer2 Describe Group 특정 컨슈머 그룹의 정보를 출력한다. $ ./kafka-consumer-groups.sh --bootstrap-server mybroker:9092 --group sy-consumer1 --describe Consumer group 'sy-consumer1' has no active members. GROUP TO..
-
Apache Kafka Streams 예제코드엔지니어링/Kafka 2022. 3. 3. 15:36
1. Initialize the project 스트림 프로젝트를 실행할 새로운 디렉토리를 생성한다. $ pwd /Users/ksy/IdeaProjects $ mkdir creating-first-apache-kafka-streams-application && cd creating-first-apache-kafka-streams-application 2. Configure the project 하기 내용을 Gradle build file을 생성한다. 프로젝트의 이름은 build.gradle로 한다. buildscript { repositories { mavenCentral() } dependencies { classpath "com.github.jengelman.gradle.plugins:shadow:4...
-
Zero copy transfer엔지니어링/Kafka 2022. 2. 24. 11:45
zero-copy transfer란 ? 제로 카피를 사용하면 데이터가 딱 한 번 페이지 캐시에 복사된다. 필요시 재사용되며, 읽을 때 마다 user-space에 복사된다. 캐시에서 데이터를 모두 처리하기 때문에 디스크에서 읽기 작업이 전혀 발생하지 않는다. zero-copy transfer는 왜 빠를까 ? 데이터의 암호화/해제를 위해 브로커(JVM)으로 이동할 필요가 없기 때문이다. SSL 사용 시, zero-copy transfer를 왜 사용할 수 없을까 ? SSL을 사용하면 브로커(JVM)가 데이터를 암호화해야 하기 때문에, 데이터가 캐시에서 바로 consume 될 수 없기 때문이다. - If user enable an SSL endpoint in Kafka, Zero Copy will be lost..