컴퓨터 지식 5

[Database] 인덱스(Index) (feat. Mysql)

들어가며데이터베이스의 성능, 특히 데이터 검색 속도를 높이기 위해 만들어진 것이 인덱스(Index)라고 합니다. 이 글에선 전반적인 인덱스의 개념과 동작 원리에 대해 설명합니다. 인덱스?? 사실 인덱스라는 개념은 책에 있는 목차, 즉 인덱스와 매우 비슷한 개념입니다. 책의 앞 부분엔 목차 페이지가 있습니다. 원하는 내용을 찾을 때 색인을 먼저 보고, 해당 페이지로 바로 이동하는 것처럼, 데이터베이스에서도 인덱스를 활용하면 테이블 전체를 처음부터 끝까지 읽지 않고도 원하는 데이터를 빠르게 찾을 수 있습니다.인덱스 구조와 종류가장 널리 사용되는 인덱스 구조는 B+ Tree입니다. 이 외에도 Hash 인덱스, 비트맵 인덱스 등 다양한 방식이 있습니다. 이 글에선 자주 사용되는 B+ Tree 기준으로 설명드리겠..

[운영체제]우선 순위 스케줄링와 교착상태

들어가며PintOS라는 교육용 OS를 공부하면서 많은 운영체제에서 우선순위 스케줄링을 많이 사용한다는 것을 알게 되었습니다.이 글에선 CPU 스케줄링 중에서 왜 우선 순위 스케줄링을 많이 사용하고, 우선 순위 스케줄링에서 교착 상태가 일어나는 경우랑 이를 해결하는 방법에 대해 공부한 내용을 서술하고 있습니다. 많이 들어 본 우선 순위 스케줄링.. 그게 뭔가요?CPU 스케줄링의 한 종류로 각각의 프로세스(스레드)에게 우선 순위를 부여한 뒤에 대기 열에 있는 프로세스(스레드)들 중에서 가장 우선 순위를 높은 것을 골라 실행하는 방식입니다. 우선 순위를 부여했다는 말은 다르게 보면 프로세스마다 중요도가 다르다고 생각하는 겁니다. 이건 실생활에서도 자주 일어나는 일이죠. 지금 내가 해야할 것들 중에서 가장 급한..

[운영체제] 가상 메모리(Virtual Memory)

들어가며가상 메모리는 OS의 주 역할이자 현대 컴퓨터에서 가장 중요한 메커니즘이다.가상 메모리란?메인 메모리의 추상화로 각 프로세스에 하나의 크고 통합된, 사적인 주소 공간을 제공하는 것을 의미.그렇다면 사적인 주소 공간 제공이 왜 중요한 걸까?? 가상 메모리가 없으면 어떻게 되는 걸까?먼저, 알아야 할 것이 있는데 바로 물리 주소라는 개념이다. 컴퓨터 시스템의 메인 메모리는 M개의 연속적인 바이트 크기 셀의 배열로 구성된다. 각 바이트는 고유의 물리 주소(Physical Address)를 가진다. 그렇다면 우린 자연스럽게 물리 주소를 통해 메인 메모리에 접근하여 데이터를 꺼낼 수 있다. 이를 물리 주소 방식 이라고 한다. 물리 주소 방식의 문제점만약 물리 주소 방식만 사용한다면, 우린 프로그램을 개발할..

[알고리즘]크루스칼 알고리즘 자바 구현법

들어가며1197번: 최소 스패닝 트리위 문제를 풀면서 최소 스패닝 트리를 만드는 크루스칼 알고리즘을 작성해보았다. 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;public class 크루스칼 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in))..

HTTPS에 대하여

🌱 해당 포스트는 한걸음 스터디에서 발표한 내용입니다. 발표 내용을 아래 영상에서 확인하실 수 있습니다!  🌱한걸음은 각자 학습한 내용을 토대로 블로그 글을 작성하고, 대면으로 모여서 발표하며, 녹화해 유튜브에 업로드하는 스터디입니다. 한걸음 알아보기 들어가며 인터넷은 HTTP 기반으로 동작합니다. 하지만 HTTP는 대학 및 연구소끼리의 문서를 교환하기 위해 제작된 것으로 이렇게 현재와 같이 많은 사람들이 사용할 것을 고려하지 않았습니다. 따라서, 보안 취약점이 있었습니다. 이를 보완하기 위해 여러 가지 방안들이 나왔는데 그중 현재 대중화된 것은 HTTP에 SSL/TLS 계층을 추가한 HTTPS입니다. 이 글에선 HTTPS에 대해 제가 공부했던 것을 정리해보았습니다.  간략하게 알아보는 HTTPHTT..