분류 전체보기 306

[Linux] sftp 사용법

원격으로 리눅스 서버에 접속하여 파일을 전송하고 싶을때, sftp 서비스를 사용하면 간편하게 파일 및 폴더를 전송가능하다. sftp 서비스 사용 방법 1. sftp 접속 : sftp {원격 주소} 로컬에서 sft 원격IP로 접속시, 파일을 전송하고 싶은 로컬의 경로에서 sftp 접속을 시도한다. PS D:\log> sftp log@192.168.0.2 log@192.168.0.2's password: Connected to log@192.168.0.2. 2. put 명령어로 파일을 전송 : put {filename} put 명령어로 전송하고 싶은 파일명으로 입력하여 전송한다. sftp> put test-copy.txt Uploading test-copy.txt to /home/log/test-copy.t..

Programming/Server 2020.05.14

[kafka][용어정리] ISR : In Sync Replica

카프카를 사용하기 위해선 필수적으로 알아야할 개념 중 하나가 ISR 이다. 카프카에서 리더와 팔로워는 각자 역할이 나뉘는데 가장 중요한 것은 리더는 Read/Write를 하고, 팔로워는 주기적으로 리더의 데이터를 보며 복제만 한다는 것이다. 만약 리더가 있는 브로커가 장애가 난다면 팔로워는 새로운 리더가 될 수 있다. 이때 데이터의 정합성을 유지하기 위해 등장한 개념이 카프카의 ISR이다. ISR은 In Sync Replica의 약어로 현재 리플리케이션이 되고 있는 리플리케이션 그룹(replication group)을 의미한다. # 1 ISR이 가지고 있는 중요한 규칙 중 하나가 ISR에 속해 있는 구성원만이 리더의 자격을 가질 수 있는 것이다. Replica 그룹으로 관리하며 ISR 그룹안에 구성원이 ..

Programming/Kafka 2020.05.14

[Cassandra] select 쿼리 작성시 참고사항

Cassandra 디자인 하면서 데이터를 가져오는 Select 쿼리 실행시 참고하면 좋을 내용을 정리해보았다. 1. 대소문자 구분 안함 카산드라는 대소문자를 구문 안하므로, CamelCase와 같은 문자 표기법을 사용할 수 없다. 대문자로 입력해도 무조건 소문자로 저장한다. 대문자를 사용하고 싶다면 큰따옴표를 사용하면 강제로 실행할수 있다. [공식 다큐먼트] 2. 복합키 사용 (Compund Primary key) 카산드라에서는 Primary key가 Partition key와 Clustering key로 구분된다. 이는 테이블 생성시 Primary key 항목에 , 로 구분하여 입력하면된다. 기억해야할 점은 Partition key는 필수적으로 지정해줘야하고, 복수개 설정이 가능하다. Clusterin..

Database/Cassandra 2020.05.14

[kafka] JVM Heap size

카프카는 자바 기반의 JVM을 사용하는 애플리케이션이므로 메모리가 할당되는 영역인 힙(heap)이 만들어진다. # 카프카 메모리 하지만 카프카는 힙 공간을 주의해서 사용하기 때문에 힙 크기를 6GB이상으로 설정하지 않아도 된다. 적은 힙 공간으로도 구동이 가능한 이유는 메세지를 저장하고 캐싱할때, 파일 시스템에 크게 의존하기 때문이다. 모든 데이터는 disk에 flush 할 필요 없이 파일 시스템에 영구적인 로그로 즉시 기록된다. 사실 이것은 커널의 페이지 캐시로 전송된다는 것을 의미한다. 최신 OS는 메모리를 회수할 때 사용가능한 모든 메모리를 디스크 캐싱으로 전환하기 때문에 성능저하가 거의없다. 그렇기 때문에 카프카의 힙 크기는 6GB이상으로 설정하지 않아도 된다. 이 결과 32GB 머신에서 28-3..

Programming/Kafka 2020.05.13

[git] Your branch is up to date with 'origin/master'

git init으로 저장소를 정상적으로 만들고, yml 파일을 github에 push 실행 시 발생했던 내용이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 PS D:\docker-compose\cassandra> git commit -m "upload docker-compose.yml file" On branch master Your branch is up to date with 'origin/master'. Untracked files: docker-compose.yml nothing added to commit but untracked files present PS D:\docke-compose\cassandra> git status On branch maste..

[kafka] default partition replication-factor option

카프카 운용시 브로커내에 생성되지 않는 토픽 이름으로 메시지를 보낼때, 카프카에서는 자동으로 토픽을 생성하게 해줄수 있다. 아래 옵션은 존재하지 않는 토픽에 메타데이터를 패치하거나 메세지를 생성하면 자동으로 토픽을 생성한다. 운영에서는 false로 설정하기를 가이드 하고 있다. # 기본값은 true로 설정. auto.create.topics.enable = true 토픽을 자동으로 생성하는 과정에서 partition 수와 replication-factor 값도 기본값을 설정할 수있다. # 기본 partition수 설정. # 기본값은 3이다. num.partitions # 기본 replication-factor 수 설정. # kafka version 2.12.x버전에는 해당 옵션이 없긴하지만, 항목을 그대..

Programming/Kafka 2020.05.12

[백준] 9019번 자바 DSLR

문제 출처 https://www.acmicpc.net/problem/9019 9019번: DSLR 문제 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 저장된 n을 다음과 같이 변환한다. n의 네 자릿수를 d1, d2, d3, d4라고 하자(즉 n = ((d1 × 10 + d2) × 10 + d3) × 10 + d4라고 하자) D: D 는 n을 두 배로 바꾼다. 결과 값이 9999 보다 큰 경 www.acmicpc.net 접근 방식 및 풀이 - BFS를 활용한다. - 명령어를 한번씩 실행하면서 결과값을 저장하고, 계속 돌다가 출력해야하는 값이 나..

[알고리즘] 자료구조 LinkedList

LinkedList 구현을 위해 노드클래스를 생성하고, `노드 추가, 노드 삭제, 노드 출력` 메소드를 생성하였다. main 메소드안에서는 노드클래스를 테스트하는 코드를 작성하였다. 아래의 코드는 첫번째 노드를 삭제할수 없는 한계가 있지만, 기본적으로 노드클래스를 생성하고 기본적인 기능의 이해를 돕는다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 public class Example { public static void main(String[] args) { Syst..

Study/Alogorithm 2020.05.11

[백준] 3108번 자바 로고

문제 출처 https://www.acmicpc.net/problem/3108 3108번: 로고 문제 로고는 주로 교육용에 쓰이는 프로그래밍 언어이다. 로고의 가장 큰 특징은 거북이 로봇인데, 사용자는 이 거북이 로봇을 움직이는 명령을 입력해 화면에 도형을 그릴 수 있다. 거북이는 위치와 각도로 표현할 수 있다. 거북이는 입에 연필을 물고 있는데, 연필을 내리면 움직일 때 화면에 선을 그리고, 올리면 선을 그리지 않고 그냥 지나가기만 한다. 제일 처음에 거북이는 (0,0)에 있고, 거북이가 보고 있는 방향은 y축이 증가하는 방향이다. 또한 연필은 내 www.acmicpc.net 접근 방식 및 풀이 - 어떻게 접근 해야할 지 도저히 감이 안와서.. 처음부터 다른 블로그를 참고했다. - 참고 : 백준 3108..

[백준] 2632번 자바 피자

문제 출처 https://www.acmicpc.net/problem/2632 2632번: 피자판매 첫 번째 줄에는 손님이 구매하고자 하는 피자크기를 나타내는 2,000,000 이하의 자연수가 주어진다. 두 번째 줄에는 A, B 피자의 피자조각의 개수를 나타내 는 정수 m, n 이 차례로 주어진다 ( 3≤m, n≤1000). 세 번째 줄부터 차례로 m 개의 줄에는 피자 A의 미리 잘라진 피자조각의 크기를 나타내는 정수가 주어진다. 그 다음 n 개의 줄에는 차례로 피자B의 미리 잘라진 피자조각의 크기를 나타내는 정수가 주어진다. 각 종류의 피자조각의 크기 www.acmicpc.net 접근 방식 및 풀이 - A피자, B피자의 부분합의 배열을 구한다. - 두 부분합의 배열을 투포인트 알고리즘을 통해 목표값을 찾..