본문 바로가기

전체 글94

[CS 운영체제] 가상 머신과 컨테이너 가상 머신과 컨테이너가상 머신? 컨테이너? 들어는 봤지만 그게 뭔지 잘 모르겠다❓그렇다면 잘 찾아오셨습니다!! 오늘은 가상 머신과 컨테이너에 대해 차근차근 알아보도록 하겠습니다. 😊 가상 머신과 컨테이너란 간단히 말해, 서로 다른 환경에서 애플리케이션을 실행하고, 배포하기 위한 배포 기술입니다. 가상 머신(Virtual Machine) 가상 머신은 이름 그대로 소프트웨어적으로 만들어진 가상의 컴퓨터입니다.실제 하드웨어처럼 동작하지만, 물리적인 컴퓨터 없이 소프트웨어적으로 환경을 구성합니다. 하이퍼바이저(Hypervisor)가상 머신을 만들고 실행하기 위해 사용하는 소프트웨어가 바로 하이퍼바이저입니다.하이퍼바이저는 물리적 하드웨어 위에서 여러 개의 가상 머신을 독립적으로 실행할 수 있도록 관리합니다. 흐.. 2024. 12. 14.
[이론] 병합 정렬 알고가기 인류 역사상 최고의 천재는 누구인가. 바로 나야  그렇다, 인류 역사상 최고의 천재, 천재 중의 천재로 불리는 존 폰 노이만❗이번에는 그가 고안한 병합 정렬(Merge Sort)에 대해서 알아보자. 병합 정렬이란❓병합 정렬(Merge Sort)은 분할 정복 방식을 사용하여 데이터를 처리하는 정렬 알고리즘입니다.즉, 데이터를 작게 나누고, 나눈 데이터를 다시 정렬하고 합쳐서 최종적으로 정렬된 결과를 얻는 방식입니다. 병합 정렬의 시간 복잡도 평균값은 O(nlogn)입니다. ⌛ 병합 정렬의 동작 과정 정리 📝분할(Divide)배열을 더 이상 나눌 수 없을 때까지 쪼갠다.정복(Conquer)각 부분 배열을 정렬한다.병합(Merge)정렬된 두 배열을 합쳐 하나의 정렬된 배열로 만든다. 병합 정렬 그림으로 이해.. 2024. 12. 12.
[Review] 왜 당신은 다른 사람을 위해 살고 있는가 "Why do you scarifice your life for others?" 철학과 인문학, 어디서부터 시작할까? 📖철학과 인문학에 관심이 생겼지만, 어떤 책부터 읽어야 할지 망설이고 있다면 이 책을 추천합니다.며칠 전, 사당역 근처 카페에서 약속이 있어 지하철을 내려 이동하던 중 우연히 영풍문고를 발견했습니다.시간이 조금 남아 들어가 보니, 매장 정면 가장 눈에 띄는 자리에 이 책이 산처럼 쌓여 있는 모습을 발견했죠.그 광경만으로도 얼마나 많은 사람들에게 사랑받고 관심받는 책인지 느껴졌습니다. 2주 동안 느낀 책의 매력 이 책을 읽는 데 약 2주 정도 걸렸습니다.챕터 하나당 2~3장으로 짧아 부담 없이 읽기 좋았고, 작고 가벼운 구성 덕분에 지하철 이동 중, 점심시간, 공부하다 쉬는 시간에 틈틈이.. 2024. 12. 8.
[운영체제] 운영체제, 이름만 알던 그것의 정체 당신은 운영체제가 무슨 일을 하는지 알고 있는가. 운영체제, 이름은 알겠는데 그게 뭔데 ❓우리는 윈도우, 맥OS, 리눅스, 안드로이드 같은 운영체제의 이름을 쉽게 떠올릴 수 있습니다. 하지만 운영체제가 실제로 어떤 일을 하는지를 정확히 아는 사람은 많지 않을 겁니다. 왜냐하면 제가 그랬거든요 😊 그래서 오늘은 운영체제가 어떤 역할을 하는지에 대해 알아보도록 하겠습니다! 운영체제의 핵심 기능 우리가 흔히 사용하는 운영체제에는 데스크탑용, 모바일용 등 다양한 종류가 있습니다.데스크탑 OS: 윈도우, 맥 OS, 리눅스 🖥️모바일 OS: 안드로이드, iOS 📱이 외에도 서버용, 임베디드용 등 다양한 목적의 운영체제가 있지만, 운영체제가 제공하는 핵심 기능은 모두 유사합니다. 운영체제는 어디에 저장될까?.. 2024. 12. 7.
[이론] 버블 정렬 알고가기 버블 정렬은 왜 버블 정렬일까? 🤔버블 정렬이라는 이름은 딱 들었을 때 뭔가 귀엽고 친근한 느낌을 받았습니다. 처음 들었을 때 이름이 너무 매력적이라 "왜 이런 이름이 붙었을까?" 궁금했는데, 그 이유를 알고 나니 정말 딱 맞는 이름이라는 생각이 들었습니다! "버블"의 의미 🫧버블 정렬(Bubble Sort)은 배열의 요소들이 거품처럼 위로 보글보글 올라가는 모습과 비슷하다고 해서 붙여진 이름입니다.오름차순 기준 큰 값이 반복적으로 비교되어 점점 위로 올라가고, 가장 큰 값이 맨 끝에 위치하게 됩니다.마치 물속의 거품이 위로 올라가며 터지는 것과 유사하죠! 버블 정렬의 작동 원리 ✍️버블 정렬은 인접한 두 값을 비교하여 잘못된 순서를 가진 값들을 서로 교환합니다.가장 큰 값이 배열의 끝으로 밀려나면서.. 2024. 12. 5.
[백준 2018] 문제로 이해하는 투 포인터 JAVA 투 포인터 투 포인터(Two Pointers)는 두 개의 포인터를 이용해 문제를 효율적으로 해결하는 알고리즘 기법입니다.이 기법은 주로 정렬된 배열이나 연속적인 구간에서 조건을 만족하는 값을 찾을 때 사용됩니다. 투 포인터 사용 이유 🤔투 포인터는 O(N) 또는 O(N log N)의 시간복잡도로 문제를 해결할 수 있으며, 특히 정렬된 배열에서 최적화된 탐색이 가능하다는 점이 큰 장점 입니다. 투 포인터의 기본 동작 방식 🎯 포인터 초기화보통 시작점 left 와, 끝점 right 를 배열의 양 끝에 둡니다. 조건 확인두 포인터가 가리키는 값이 조건을 만족하는지 확인합니다. 포인터 이동조건에 따라 왼쪽 포인터 또는 오른쪽 포인터를 이동시킵니다. 포인터가 서로 교차할 때까지 반복두 포인터가 교차하면 탐색을.. 2024. 12. 5.