본문 바로가기

전체 글

(60)
KERNEL 최근 들어 문득 커널이 운영체제의 핵심인 것은 알고 있으나 커널이 구체적으로 무엇이고 어떤 식으로 작동하는지 설명하기는 어렵다는 생각이 들었다. (물론 배우고 난 다음 시간이 지나면서 까먹은 게 가장 큰 원인이지만) 오늘은 커널의 개념과 그 작동 원리에 대해서 공부한 내용을 정리해 보고자 한다. 컴퓨터 구성 요소 컴퓨터를 구성하는 요소는 H/W와 S/W고 S/W는 다시 Kernel과 Application으로 나뉜다. 이러한 관점으로 볼 때 컴퓨터는 H/W, Kernel(S/W), Application(S/W) 로 이루어진 3층 집이라고 볼 수 있다. Kernel 이란 커널은 컴퓨터 운영체제의 핵심이 되는 프로그램으로 하드웨어와 응용 프로그램 사이에서 인터페이스를 제공하는 역할을 하며 컴퓨터 자원들을 관리..
DB INDEX 첫 회사에 재직할 당시 은근 자주 들었던 얘기가 있다. “뭐가 문제야?”“이거 쿼리가 인덱스를 안 타는 것 같아요. 인덱스 설정이 안되어 있나?” 특정 데이터를 가져오기 위해 쿼리를 작성하는 사람들은 이 인덱스라는 것이 얼마나 중요한지 잘 알고 있을 것이다. 만약 DB 데이터가 적다면 인덱스는 반드시 필요하지 않을 수도 있다. 하지만 DB에 데이터가 어느정도 쌓이게 되면 인덱스는 더 이상 옵션이 아니라 필수가 된다. 오늘은 이러한 인덱스가 구체적으로 어떤 것이며 어떠한 방식으로 작동하는지 알아보고자 한다.  INDEX란 인덱스란 데이터베이스의 테이블에 대한 검색 속도를 향상시켜주는 자료구조이다. 테이블의 특정 컬럼(Column)에 인덱스를 생성하면, 해당 컬럼의 데이터를 정렬한 후 별도의 메모리 공간에 ..
HTTP 버전별 차이 며칠 전 평소 친하게 지내던 개발자 선배로부터 이런 얘기를 들었다. “근데 너 HTTP 버전이 3.0 까지 나온 거 알고 있어?”“예?” 내가 기억하는 HTTP는 2.0이 마지막 버전인 줄 알았는데 어느새 다음 버전이 나왔다니 다소 당혹스러웠다. 웹 서비스를 다루는 개발자로서 이런 부분을 모르고 있었다니…하지만 모르는 게 있으면 찾아서 배우고 부족한 부분을 메꿔나가면 될 일. 선배와 통화를 마친 후 부랴부랴 관련 내용을 찾아보았다.  오늘은 공부하면서 알아낸 내용을 기반으로 HTTP가 시대를 거치며 어떤 방식으로 변화했는지 알아보고자 한다.  HTTP란 HTTP란 Hypertext Transfer Protocol 의 약자로 하이퍼텍스트를 전송하는 프로토콜이다. 여기서 하이퍼텍스트란 하이퍼링크를 통해 병렬..
에러(Error)와 예외(Exception) try-catch 문에 Exception 처리 과정을 만들고 특정 메소드에서 throws Exception 처리를 하는 건 대부분의 자바 개발자 분들에게는 익숙한 광경입니다. 그런데 정작 예외 처리 방법은 알고 있으면서 에러나 예외의 개념에 대해서는 다소 두루뭉술하게 알고 있는 경우가 많습니다. 오늘은 에러와 예외의 개념을 좀 더 명확하게 짚어보고자 합니다. 에러(Error) 자바에서 에러란 자바 프로그램 밖에서 발생한 문제로 인해 응용프로그램 실행 오류가 발생하는 것을 의미합니다. OS에 문제가 발생해 응용 프로그램에 문제가 발생하는 경우가 이에 해당한다고 볼 수 있습니다. 에러는 아무리 프로그램을 견고하게 만든다 한들 개발자가 직접 대처할 수 있는 방법이 없습니다. 예외(Exception) 잘못된 사..