본문 바로가기

전체 글

(664)
[빅데이터] 검색시스템 간단 요약 검색이란 무엇인가? "책이나 컴퓨터에서 목적에 따라 필요한 자료를 찾아내는 일"검색 시스템 이란 무엇인가? "전자화된 문서로부터 사용자가 원하는 정보"를 찾는 작업을 수행하는 시스템 집합 백그라운드 작업 (수집 / 정제 / 색인): 문서가 새로 생성되고 바뀌므로, 주기적으로 계속 반복해서 일어난다. 리얼타임 작업 (서빙): 사용자가 일회성으로 검색 요청을 보냈을때 응답을 준다. 1) 수집 (전자화된 문서를 모으는 시스템) - 검색할 문서를 수집 - 다양한 문서양식 이해, 문서/사이트 품질 판단 - 수집 시스템 2) 정제 (문서를 검색에 알맞게 가공하는 시스템) - 문서에서 검색에 유효한 부분을 추출하고 가공 - 대규모 데이터 처리, 시스템 가용성 - 저장소 + 정제 플랫폼 + 문서 관리 3) 색인 (가공..
[JVM Internal] JVM 메모리 구조 JVM이란? JVM(Java Virtual Machine)을 어떻게 정의할 것인가 고민하기에 앞서 기본적 JVM 원어로부터 알아보겠습니다. JVM은 물리적인 형태가 아닌 소프트웨어로서 하나의 개념으로 존재합니다. 이것이 "VIRTUAL"을 뜻하는 것입니다. 그리고 JVM은 독자적으로 작동할 수 있는 메커니즘과 구조를 가지고 있습니다. 이는 하나의 축약된 컴퓨터와 같은 의미에서 "MACHINE"이라는 단어가 조합된 것입니다. 그러나 "JVM"이 구체적으로 무엇이냐는 질문에 정확한 정의를 내린다기 보다는, 하나의 개념, 스펙(Specification)에 지나지 않는 즉, 어느 누구도 정확하고 자세한 설계도를 제공하지 않고 단지 이렇게 저렇게 해야 한다는 식의 표준화된 정의만으로 존재할 뿐입니다. 이러한 표준..
[알고리즘] 실수란? 수학에서, 실수(real number)는 주로 실직선 위의 점 또는 십진법 전개로 표현되는 수 체계입니다. 예를 들어, -1, 0, 1/2, , π 등은 모두 실수입니다. 실수에 대하여 사칙 연산(덧셈, 뺄셈, 곱셈, 나눗셈)을 실행할 수 있습니다. 실수는 크기 비교가 가능하며, 실직선에서 더 왼쪽에 있는 수가 더 오른쪽에 있는 수보다 작습니다. 특히, 실수는 0보다 큰 양수, 0보다 작은 음수, 0으로 분류됩니다. 또한, 실수는 정수의 비인 유리수와 그렇지 않은 무리수로도 분류되며, 정수 계수 다항식의 근인 대수적 수와 그렇지 않은 초월수로도 분류됩니다. 실직선은 복소 평면의 일부로 볼 수 있으며, 이 경우 실수는 허수와 함께 복소수를 이룹니다. 공리적으로, 실수는 완비 순서체로 정의되며, 이는 동형 ..
[자바] Future 패턴 future라는 것은 "미래", "(경제 용어로는)선물"이라는 의미입니다. 실행 결과를 얻기까지 시간이 걸리는 메소드가 있다고 합시다. 실행 결과를 얻기까지 기다리는 대신 "교환권"을 받게 됩니다. 교환권을 받는 것에는 시간이 걸리지 않습니다. 이 때의 "교환권"을 Future라고 부릅니다. Future라고 하는 교환권을 받은 쓰레드는 나중에 Future를 사용해서 실행 결과를 받으러 갑니다. 그것은 교환권을 가지고 케이크를 받으러 가는 것과 비슷합니다. 만일 실행 결과가 나와 있으면 바로 그것을 받습니다. 준비가 되지 않으면 준비가 될 때까지 기다리게 됩니다. Future는 케이크의 교환권, 예매권, 정리권, "미래"에 현금으로 바꿀수 있는 약속 어음이라고 생각하면 됩니다. Thread-Per-Mess..
[자바] Thread-Per-Message 패턴 thread per message를 직역하면 "메세지마다의 쓰레드"라는 의미가 됩니다. message라는 것은 여기서는 "명령"이라고 생각해도 좋고 "요구"라고 생각해도 좋습니다. 어떤 명령이나 요구마다 새롭게 하나의 쓰레드가 할당되어 그 쓰레드가 처리를 행합니다. 이것이 바로 Thread-Per-Message 패턴입니다. Thread-Per-Message 패턴을 사용하면 메시지는 "의뢰하는 측"과 메시지를 "처리하는 축"이 다른 쓰레드로 되어 있습니다. 메시지를 의뢰하는 측의 쓰레드가 처리하는 측의 쓰레드에 "이 일 좀 해주세요"라고 맡기는 것입니다. Thread-Per-Message 패턴을 사용한 예제 프로그램을 읽어 보겠습니다. 예제 프로그램에서는 Main 클래스가 Host 클래스로 문자의 표시를 ..