전체 글 24

SSD는 메모리를 대체할 수 없을까?

반도체가 호황인 요즘, 이런 궁금증이 생기더라구요.여러분들도 이런 생각을 한 번쯤 해보지 않으셨을까합니다. 속도가 빠르지만 용량이 적은 메모리, 비교적 저렴한 SSD로 대체한다면 비용도 아끼고 좋지 않나? 본론에 들어가기에 앞서 이 둘의 메모리 대역폭, 레이턴시부터 비교해보겠습니다. 구분RAM (DDR5)SSD (PCIe 5.0)대역폭약 90GB/s약 15GB/s레이턴시약 50ns(나노초 단위)마이크로초 단위 RAM이 SSD보다 대역폭이 6배 이상, 레이턴시(반응속도)로도 1000배 이상 빠릅니다.수치적으로 보면 아직 SSD가 RAM을 대체하기는 힘들어보입니다. 그런데 이러한 성능 수치상의 이유를 제외하고도 다른 이유들이 더 존재한다는 사실 알고 계셨나요? 크게 2가지 이유가 있는데 1. 메모리 읽기/..

이거저거 2026.08.01

Agentic AI

AI가 지금처럼 대중화되기 전까지만 해도 AI를 사용하는 사람은 소수에 불과했습니다. 하지만 지금은 오히려 AI를 전혀 사용하지 않는 사람을 찾기가 더 어려울 정도입니다. 초기에는 ChatGPT나 Gemini 같은 LLM 모델이 AI 활용의 전부였다면, 지금은 개발자뿐만 아니라 다양한 직군의 사람들이 Claude Code, Codex 등 여러 에이전트를 업무와 일상에 자연스럽게 활용하고 있습니다. 혹시 카카오톡에서 제공하는 에이전트인 Kanana를 아시는 분이 계실지 모르겠습니다. 저는 요즘 이 Kanana를 클론 코딩하며 Agentic AI를 공부하고 있습니다. 특히 카카오 현직 개발자분들께 코드 리뷰를 받으면서 공부하다 보니, 혼자 공부할 때는 갖기 어려웠던 시야를 얻게 되었습니다. 제 나름의 좁은 ..

AI 2026.07.20

[OSI 7계층] 데이터 링크 계층(Data Link Layer)

물리 계층과 네트워크 계층 사이에 위치한 "2계층, 데이터링크 계층(Data Link Layer)"에 대해 설명해보겠습니다. 1. 데이터 링크 계층(Data Link Layer)이란?물리 계층이 전송하는 비트 단위의 데이터를 신뢰성 있게 전달하기 위해 프레임 단위로 규격화하고, 인접한 노드 간의 통신을 제어하는 계층입니다. 2. 주요 역할과 기능 데이터 링크 계층의 주요 역할은 4가지정도 있습니다. ① 프레이밍 (Framing)물리 계층에서 올라온 0과 1의 비트 열에 헤더(Header)와 트레일러(Trailer)를 붙여 데이터의 시작과 끝을 구분합니다. 이렇게 만들어진 데이터 단위를 프레임이라고 합니다. ② 물리적 주소 지정 (MAC Addressing)네트워크 카드(NIC)에 할당된 48비트의 ..

CS/네트워크 2026.03.30

[OSI 7계층] 물리 계층(Physical Layer)

오늘은 OSI 7계층 중에서도 가장 기반이 되는 1계층인, "물리 계층(Physical Layer)"에 대해서 설명해보겠습니다. 1. 물리 계층이란?물리 계층은 이름 그대로 네트워크의 물리적인 연결을 담당하는 계층입니다.우리가 컴퓨터에 입력하는 데이터, 영상, 이미지 등은 결국 컴퓨터 내부에서는 0과 1이라는 숫자의 나열로 처리됩니다. 물리 계층은 0과 1의 비트를 전기적, 광학적 신호로 변환하여 실제 케이블을 통해 옆 컴퓨터로 실어 나르는 역할을 합니다. 쉽게 비유하자면 저희가 쿠X이나 무신X에서 상품을 주문했을때 주문한 상품을 실어 이동하는 배송 트럭이나 아스팔트 도로 자체를 의미한다고 볼 수 있습니다. 2. 물리 계층의 특징데이터 단위는 비트(Bit) : 물리 계층은 데이터가 어떤 내용인지,..

CS/네트워크 2026.03.26

[자료 구조] 큐(Queue)

프로그래밍을 공부하다보면 가장 먼저 마주하게 되는 자료구조 중 하나가 바로 "큐(Queue)"입니다. 듣고보면 단순한 개념 같지만, 실제로 백엔드 시스템이나 대용량 트래픽을 처리하는 아키텍처에서 절대 빠질 수 없는 핵심 원리이기도합니다. 오늘은 큐의 기본 개념부터 실제 개발 환경에서 어떻게 활용되는지까지 정리해보겠습니다. 1. 큐(Queue)란?큐는 쉽게 말하면 대기열입니다. 내가 좋아하는 맛집에 가서 줄을 서는 웨이팅, 은행에 가서 번호표를 뽑고 대기하는 상황 등 모두 먼저 온 사람이 먼저 서비스를 받는 것과 동일한 원리로 동작합니다. 이를 컴퓨터 공학 용어로 "FIFO(First In, First Out - 선입선출)"이라고 부릅니다. 먼저 들어간 데이터가 가장 먼저 밖으로 나오는 구조입니다. 흔히..

CS/자료구조 2026.03.23

[OSI 7계층] 세션 계층(Session Layer)

이번에 포스팅할 주제는 데이터를 알맞게 번역하고 암호화하는 세션 계층(5계층)입니다. 1. 세션 계층(Session Layer)이란?세션 계층은 네트워크 상에서 통신하는 두 기기(응용 프로세스) 간에 논리적인 연결인 '세션'을 생성, 유지, 종료하는 역할을 담당합니다. 이 계층부터는 우리가 직접 작성하는 애플리케이션 코드를 벗어나, 운영체제가 적극적으로 개입하여 통신을 관리하기 시작합니다. 2. 세션 계층의 기능세션 계층은 안정적인 데이터 교환을 위해 다음 세 가지 핵심적인 역할을 수행합니다.① 데이터 교환 방식 결정 두 기기가 어떤 방식으로 대화를 주고받을지 통신 방향을 제어하여 데이터의 충돌을 막습니다.단방향 (Simplex): 라디오 방송처럼 한쪽은 보내기만, 한쪽은 받기만 합니다.반이중 (H..

CS/네트워크 2026.03.18

[OSI 7계층] 표현 계층(Presentation Layer)

지난 포스팅에서는 사용자와 가장 가까운 최상단 계층인 7계층(응용 계층)에 대해 알아보았습니다. 데이터의 포맷을 변환하고 암호화하는 "6계층, 표현 계층(Presentation Layer)"에 대해 파헤쳐 알아보겠습니다. 1. 표현 계층(Presentation Layer)이란?표현 계층의 역할을 한마디로 정의하면 '데이터의 형식을 정의하고 변환하는 통역사'입니다.세상에는 윈도우, 맥, 리눅스 등 다양한 운영체제와 시스템이 존재합니다. 송신자와 수신자가 서로 다른 데이터 표현 방식(인코딩)을 사용하더라도, 표현 계층에서 공통된 표준 형식으로 번역해 주기 때문에 문제없이 데이터를 주고받을 수 있습니다.표현 계층은 크게 3가지 핵심 역할을 수행합니다. 2. 표현 계층의 역할 3개 ① 데이터 인코딩 및 형..

CS/네트워크 2026.03.18

[OSI 7계층] 응용 계층(Application Layer)

백엔드 개발을 하거나 CS를 공부하다 보면 무조건 만나게 되는 개념이 바로 OSI 7계층입니다. 오늘은 그 중에서도 우리 개발자들과 가장 친숙하고 코드로 직접 다루게 되는 OSI 7계층 중 가장 꼭대기 층인, "7계층, 응용 계층(Application Layer)" 에 대해 알아보겠습니다. 1. 응용 계층(Application Layer)이란?가장 먼저, 짚고 넘어가면 좋은 질문이 있습니다. 저도 그렇고 제 주변분들도 처음엔 비슷한 의문을 가졌는데요. "크롬 브라우저나 카카오톡 같은 앱 자체가 7계층인가요?" 정답은 X입니다. 크롬 브라우저나 카카오톡, 인스타그램은 그저 응용 프로그램, 저희가 흔히 부르는 "Application"입니다.응용 계층은 이런 어플리케이션들이 네트워크 너머의 다른 컴퓨터와 ..

CS/네트워크 2026.03.18

[서버 구축] 남는 맥북을 로컬 테스트 서버로 만들기

이번 포스팅에서는 맥북(또는 랩탑)을 활용해 직접 로컬 서버를 구축하는 방법에 대해 다뤄보겠습니다.서버를 구축하는 이유는 여러 가지가 있겠지만, 저의 경우 가장 큰 목적은 안정적인 부하 테스트(Load Testing) 환경 구성이었습니다. 로컬(개발용 PC)에서 서버를 띄우고 동시에 부하를 주게 되면, 내 PC의 자원을 나누어 쓰게 되므로 테스트 결과의 신뢰성이 떨어질 수 있습니다. 그렇다고 AWS나 GCP 같은 클라우드 환경에서 대규모 테스트를 진행하자니 청구될 요금이 큰 부담이었습니다.그래서 안 쓰는 남는 맥북을 서버로 만들면 어떨까?라는 생각을 하게 되었습니다. 이렇게 하면 부하를 주는 클라이언트(개발 PC)와 부하를 받는 서버(남는 맥북)의 환경을 물리적으로 분리하여 테스트의 신뢰성을 높이고, 클..

이거저거 2026.03.18

실시간 시세를 초고속으로 처리하는 Redis 캐싱과 Pub/Sub 도입

지난 번에 웹소켓에 대한 설명에 이어 이번에는 저희 프로젝트에서 처리량과 지연 시간 부분에서 큰 역할을 한 Redis에 대해서 설명하겠습니다. 1. 도입 배경: 왜 Redis가 필요했나웹소켓을 통해 실시간 통신 환경을 구축했지만, 또 다른 병목 현상이 기다리고 있었습니다. 바로 데이터베이스(RDB)의 부하였습니다.캐싱의 필요성: 초당 수만 건의 시세 조회 요청을 매번 PostgreSQL 같은 RDB로 처리한다면 응답 속도가 현저히 느려지고 서버는 금방 한계에 도달합니다.서버 간 동기화 문제: 프로젝트 규모가 커지며 모놀리식 구조에서 MSA(Microservices Architecture)로 전환할 때, 여러 대의 서버 인스턴스 간에 실시간 데이터를 어떻게 일관성 있게 공유할 것인가라는 숙제가 생겼습니다...

Project 2026.03.16