1. B-Tree란? B-Tree는 탐색 성능을 높이기 위해 균형 있게 높이를 유지하는 Balanced Tree의 일종이다. 모든 leaf node가 같은 level로 유지되도록 자동으로 밸런스를 맞춰준다. 자식 node의 개수가 2개 이상이며, node 내의 key가 1개 이상일 수 있다. node의 자식 수 중 최댓값을 K라고 하면, 해당 B-Tree를 K차 B-Tree라고도 한다. B-Tree의 조건은 다음과 같다. 1. node의 key의 수가 k개라면, 자식 node의 수는 k+1개이다. 2. node의 key는 반드시 정렬된 상태여야 한다. 3. 자식 node들의 key는 현재 node의 key를 기준으로 크기 순으로 나뉘게 된다. 4. root node는 항상 2개 이상의 자식 node를 갖..
쿠키,세션과 JWT의 특징과 차이점을 알아보겠습니다. 1. HTTP 특성 쿠키와 세션, JWT를 이해하기 위해서는 먼저 HTTP의 비연결성 및 무상태성 이라는 특성을 알아야합니다. [ 비연결성 (Connectionless) ] 클라이언트와 서버가 요청과 응답을 한 번 주고받으면 연결을 끊어버리는 특징 [ 무상태성(Stateless) ] 통신이 끝나고 연결이 끊어지면 서버에서는 클라이언트의 상태정보를 유지하지 않는 특징 만약 서버가 다수의 클라이언트와 연결을 계속 유지한다면, 이에 따른 자원 낭비가 심해집니다. 비연결성 및 무상태성의 특징을 가진다면 불필요한 자원 낭비를 줄일 수 있다는 장점이 있습니다. 그러나 서버는 클라이언트를 식별할 수 없다는 단점 또한 존재합니다. 로그인을 하더라도 다음 요청에서는 ..
쉘이란? 사용자 명령어 해석기 사용자가 프롬프트에 입력한 명령을 해석해서 운영체제에게 전달 쉘은 커널과 사용자간의 다리역할(인터페이스)을 하는 것으로 사용자로부터 받은 명령을 해석하고 프로그램을 실행하는 역할 쉘의 기능 사용자와 커널 사이에서 명령을 해석해 전달하는 명령어 해석기 기능 쉘 자체 내에 프로그래밍 기능이 있어 프로그램을 작성할 수 있다. 쉘 프로그래밍 기능을 이용하면 여러 명령을 반복적으로 수행하는 작업을 하나의 프로그램으로 제작 할 수 있다. 이런 쉘 프로그램을 쉘 스크립트 라고 부른다. 사용자 환경 설정의 기능 - 초기화 파일 기능을 이용해서 사용자의 환경을 설정할 수 있다. 로그인 할 때 이 초기화 파일이 실행되어 사용자의 초기 환경이 설정된다. 쉘을 공부하는데 있어 가장 중요한 것 중..
공부를 하다보면 모르는 것이 생기기 마련입니다. 그럴때 우리는 다른분들에게 질문을 통해 도움을 구하곤 하는데요. 그런데 질문에도 잘 하는 방법이 있습니다. 이번글은 내 질문에는 왜 답변이 달리지 않을까? 개발자가 질문하는 방법 이라는 주제로 코드스쿼드 호눅스님의 질문 잘 하는 법 영상을 보고 정리한 글입니다. [ 질문을 하기 전에 해야 할 것들 ] 5 Why 원칙에 따라 생각해보기(도대체 왜 이런 문제가 생겼을까? 생각해보기) 해결이 될 법한 다른 방법을 세 가지 시도해보고 추후에 질문할 때 시도했던 내용들을 포함한다. 만약 해결이 되었다면 겪었던 문제와 해결 방법을 공유해서 같은 문제를 겪을 분들에게 도움이 되자. 대 부분 위의 과정에서 50% 해결이 되지만, 해결하지 못했다면? [ 검색을 해보자 ] ..