Computer Science

전체글

(12)

함수형 프로그래밍(Functional Programming)이란?

프로그래밍을 하다보면 어디서부터 버그가 생겼고 상태가 어디서 부터 변경되었는지 알기 어려운 경우가 있다. 이런 문제를 해결하기 위한 하나의 접근 방식이 바로 함수형 프로그래밍이다. 함수형 프로그래밍이 어떤 철학과 원칙을 가지고 있는지, 자바스크립트에서는 이를 어떻게 구현할 수 있는지 간단히 알아보자.

Language

2025-07-24 01:05

카드이미지

[운영체제] UNIX 파일 시스템과 FAT 파일 시스템

우리가 컴퓨터를 사용할때 파일을 생성하고 저장하는데 이 파일들은 하드디스크나 SSD 같은 저장장치에서 어떻게 관리되고 있을까? 이러한 관리를 담당하는 것이 바로 파일 시스템이다. 파일 시스템은 단순히 데이터를 저장하는 것을 넘어서 효율적인 데이터 관리와 안정적인 OS 시스템 운영의 핵심을 담당하고 있다. 이번 포스팅은 가장 널리 사용되고 있는 UNIX 파일 시스템과 FAT 파일 시스템에 대해 알아보자.

운영체제

2025-07-23 01:43

카드이미지

힙 메모리의 단편화 fragmentation 발생 이유와 해결방법

개발을 하다보면, 메모리 누수, GC, 힙 메모리 등의 용어를 들어본 적이 있을 것이다. 단순히 메모리가 부족하거나 프로그램이 무거우면 느려진다고 생각할 수 있겠지만, 사실 힙(Heap) 메모리 영역의 단편화 문제 때문에 발생할 수 있다. 힙 메모리가 단편화 문제가 왜 발생하고 어떻게 GC가 이 문제를 해결하고 있는지 작동 방식에 대해 알아보자.

운영체제

2025-07-20 11:45

카드이미지

프로세스 메모리 구조

우리가 매일 사용하는 컴퓨터와 스마트폰에서 수많은 프로그램이 동시에 실행되고 있다. 프로그램, 즉 프로세스들은 대체 어떻게 메모리를 사용하여 동작하는 걸까? 뇌가 정보를 저장하고 처리하는 방식처럼, 프로세스 또한 자신만의 규칙적인 메모리 공간을 가지고 효율적으로 작동하고 있다.

운영체제

2025-07-18 00:40

카드이미지

컴파일러와 AST - 코드가 실행되는 과정

우리가 작성한 코드는 컴퓨터에서 어떻게 실행하고 있을까? 개발자가 작성한 코드 한 줄이 어떤 과정을 거쳐서 컴퓨터가 읽고 실행할 수 있는지 컴파일러와 AST에 대해 자세히 알아보자.

Language

2025-06-29 21:29

카드이미지

[가상메모리] 운영체제가 메모리 관리를 하는 방법

개발자로서 프로그램을 만들다 보면 이 프로그램에 대한 메모리는 얼마나 사용하는지 궁금할 때가 있다. 다른 프로그램과 동시에 실행이 되어도 충돌 나지 않고 잘 실행되는 이유가 뭘까? 바로 운영체제가 메모리를 잘 관리하고 있기 때문이다.

운영체제

2025-06-18 18:26

카드이미지

[응용 계층] 주소창에 www.google.com 입력하면 무슨일이 일어날까?

지난 포스팅에서는 DNS가 어떤 역할을 하고, 왜 필요한지 간단히 알아보았다. 이번에는 우리가 브라우저에 `www.google.com` 같은 주소를 입력했을 때 실제로 어떤 일이 일어나는지를 DNS 구조를 중심으로 자세히 살펴보자.

네트워크

2025-06-17 14:20

카드이미지

[응용계층] DNS 정의와 역할

우리가 네이버에 접속할 때, 인터넷 주소창에 `www.naver.com` 과 같은 주소를 입력하면 쉽게 접속할 수 있다. 이처럼 네이버의 IP 주소를 외우지 않아도 도메인 주소만으로 접근할 수 있는 이유는, 사람이 기억하기 쉽게 만든 도메인 이름을 실제 서버의 IP 주소로 변환해주는 시스템이 있기 때문이다.

네트워크

2025-06-17 14:11

카드이미지

TCP 연결 과정

이전 포스팅에서 TCP 는 OSI 4계층에서 신뢰성을 보장한 프로토콜이라고 소개했었다. TCP가 어떻게 연결을 수립하고 데이터를 주고 받은 후 종료하는지 그 과정을 차례대로 이해해보자.TCP 정의 TCP(Transmission Control Protocol) 는 연결 지향적이고, 신뢰성 있는 전송을 보장하는 프로토콜이다.

네트워크

2025-06-17 14:04

카드이미지

[DHCP] Wi-Fi에 연결하면 어떻게 인터넷을 쓸 수 있을까?

우리가 노트북이나 스마트폰으로 와이파이를 연결만 하면 바로 인터넷을 쓸 수 있다. 어떻게 노트북이나 스마트폰이 인터넷과 연결되는 것일까? 우리는 와이파이 비밀번호만 치면 끝이라고 생각하지만, 그 내부에서는 많은 일들이 일어난다. 인터넷을 쓰기 위한 정보를 받아야 하기 때문에 그걸 대신 해주는 녀석인 **DHCP**가 있다. DHCP가 어떤 일을 하고 어떤 과정을 거쳐 우리가 인터넷을 쓸 수 있는지 알아보자.

네트워크

2025-06-15 16:53

카드이미지

Transport Layer 전송 계층이 없다면 일어나는 일

네트워크는 여러 계층 구조로 동작한다. 흔히 말하는 OSI 7계층 중 전송 계층(L4)에 대해 알아보고 이 계층의 역할과 데이터가 어떻게 특정 애플리케이션에 각각 전달되는지 살펴보자.

네트워크

2025-06-12 17:55

카드이미지

운영 체제(OS)란 무엇일까?

OS(Operating System)라는 단어는 한 번쯤 들어보셨을 텐데요. 저 역시 익숙한 용어임에도 불구하고, 정확히 무엇을 의미하고 어떤 역할을 하는지 명확히 알지 못했던 적이 있었습니다. 이번 기회에 운영체제가 무엇인지, 어떤 일을 하는지 자세히 알아보려 합니다.지금 이 글을 쓰고 있는 제 Mac 노트북 역시 OS가 탑재되어 있기 때문에, 제가 이렇게 글을 작성하고 여러 작업을 자유롭게 할 수 있는 것이겠죠.

운영체제

2025-06-11 17:41

카드이미지