JVM 동작 원리
JVM 이란? 자바의 큰 장점인 WORA(Write Once, Run Anywhere) 가 가능한 이유는 JVM(Java Virtual Machine) 이라는 플랫폼 소프트웨어 의 도움 덕분입니다. JVM 자체는 OS의 종류에 종속적이지만, 사용자는 JRE(Java Runtime Environment) 를 설치하면,...
JVM 이란? 자바의 큰 장점인 WORA(Write Once, Run Anywhere) 가 가능한 이유는 JVM(Java Virtual Machine) 이라는 플랫폼 소프트웨어 의 도움 덕분입니다. JVM 자체는 OS의 종류에 종속적이지만, 사용자는 JRE(Java Runtime Environment) 를 설치하면,...
서론 예약 메세지 전송 프로젝트를 실제 production 환경에 배포한 이후에서야 문제점을 발견하였습니다. 한 명의 사용자가 의도적으로 메세지 전송을 실패시키는 요청을 보낸 것이 아님에도 불구하고, 문제가 발생하는 하나의 메세지가 수 많은 에러 로그들을 내뱉고 있었습니다. 원인은 재전송 최대 횟수 제한 기존에 작성했던 로직에 재전송의 최대...
Prerequisite 1. 이상 현상 2. 함수 종속 Relation에서 두 개의 attribute 집합 간 제약의 일종 여기서 함수 는 식별 함수를 의미함 \(\textrm{릴레이션 } R\) 에서, attribute의 부분 집합 \(X\), \(Y\) 를 고려할 때 ...
Prerequisite RDBMS(Relational Database Management System) 이란? 관계형 데이터베이스는 데이터가 열과 행의 테이블 (또는 ‘관계’) 하나 이상에 저장되는 사전 정의된 관계로 데이터를 구성하는 정보의 모음 정형화된 데이터를 RDBMS로 관리하면 좋은 이유? ...
문제 링크 사탕상자 아이디어 \[1 \leq \textrm{사탕의 맛} \leq 10^6\] 세그먼트 트리를 구성할 수 있는 메모리 제약 조건 사탕의 맛 각각에 대한 버킷을 생성하고, 버킷에는 해당 버킷(즉, 사탕의 맛)에 해당하는 사탕의 개수 를 저장한다. \(2\) 번 opera...
문제 링크 벽 부수고 이동하기 아이디어 \((1, 1) \rightarrow (N, M)\) 으로 가는 최단 경로를 구하는 문제 인덱스 값과 좌표 정보를 오인하지 않게끔 주의합시다. \(N, M \leq 10^3\) 이므로, Naive한 백트래킹으로는 해결할 수 없습니다. 최대 \(1\)개의 벽을 부술 수 있습니다. ...
문제 링크 음주 코딩 아이디어 특정 구간의 곱의 결과가 음수인지 양수인지 0인지 판단하는 문제 \(1 \leq N, K \leq 10^5\) 의 범위 (\(N = \textrm{배열의 크기}, K = \textrm{쿼리의 수}\)) 쿼리 당 \(O(logN)\) 이하의 시간복잡도를 요구 구간 정보를 이용한 쿼리를...
문제 링크 빗물 아이디어 스위핑 느낌으로 쭉 지나가면서 해당 열에 채울 수 있는 물의 양을 결정할 수는 없을까? 해당 행에 존재하는 블록에 물이 채워지기 위해서는 좌, 우 로 자신보다 높은 높이의 블록이 쌓인 열이 있어야한다. 해당 열에 채워지는 물의 양은 좌, 우 로 자신보다 높은 높이의 블록이 존재해야하고, 그 때...
문제 링크 보석 도둑 아이디어 \(N, K\) 의 범위를 고려하였을 때, \(O(NlogN)\) 이하의 시간 복잡도를 요구 고려해야하는 변수가 \(\textrm{(무게, 가치)}\) 하나의 변인을 고정시킬 수 있을까? 결국, 하나의 보석이 담길 수 있는 가방들의 집합을 고려하였을 때 무게 변인을 고정...
메모리 Prerequisite 메모리는 多 바이트로 구성되고, 각각의 바이트에는 고유한 주소가 할당된다. 하나의 process가 실행될 때, CPU는 PC(Program Counter)에 할당된 주소로 가서 명령어를 추출 명령어를 decode 한 다음, operands를 레지스터나 메모리에서 추출 실행 이후,...