/tags/ko
#Backend
글 42개 · 최신순
내부망 환경에서 /etc/hosts 기반 DNS Resolution이 동작하는 이유
내부망 환경에서 DNS 레코드가 없을 때 /etc/hosts를 통한 DNS Resolution이 어떻게 이루어지는지, 이름 해석 우선순위와 Host 헤더, SNI까지 실제 요청 흐름을 기준으로 설명합니다.
Amazon EFS
AWS EFS(Elastic File System)의 개념과 사용법, 그리고 실제 프로젝트에서 어떻게 활용할 수 있는지 자세히 알아봅니다.
TDD 예제: Red-Green-Refactor 사이클로 회원가입 기능 구현하기 (TypeScript + Jest)
TDD의 핵심 사이클인 Red-Green-Refactor 과정을 TypeScript와 Jest 환경에서 단계별로 구현해봅니다. 실패하는 테스트에서 시작해 점진적으로 완성되는 코드를 통해 테스트 주도 개발의 실제 흐름을 이해합니다.
QUIC(Quick UDP Internet Connections)
QUIC은 전송 계층의 한계를 보완하기 위해 설계된 프로토콜로, 빠르고 안전한 연결 수립을 위한 핸드셰이크 메커니즘을 제공합니다. 이 글에서는 QUIC의 1-RTT 및 0-RTT 핸드셰이크 방식을 중심으로 연결과 암호화 과정의 구조를 정리합니다.
Network - Switch
네트워크 통신의 필수 장비인 스위치(Switch)의 종류를 OSI 7계층을 기준으로 L2, L3, L4, L7 스위치로 나누어 알아봅시다.
NFS(Network File System) 개념과 활용법
분산 환경에서 효율적인 파일 공유를 가능하게 하는 네트워크 파일 시스템(NFS)의 개념과 실무 활용법에 대해 알아봅시다.
API Rate Limiting
서비스의 안정성을 유지하고 시스템을 보호하는 API Rate Limiting의 개념과 다양한 알고리즘을 알아봅시다.
BullMQ - Queue
BullMQ를 사용하여 Node.js 환경에서 효율적이고 신뢰성 높은 작업 큐(Queue)를 생성하고 관리하는 방법을 알아봅니다.
PyArmor로 Python 코드 난독화하기
Python 프로젝트를 안전하게 보호하고 배포할 때 사용하는 PyArmor의 난독화 방법과 주요 옵션을 알아봅시다.
TCP 4-Way Handshake
TCP 연결을 종료할 때는 연결 설정보다 복잡한 4단계 과정을 거칩니다. 이 글에서는 TCP 4-Way 핸드셰이크 구조를 통해 안전하고 신중하게 연결을 해제하는 방법을 알아봅니다.
TCP 3-Way Handshake
TCP 연결이 어떻게 수립되는지 3단계 메시지를 중심으로 구조와 역할, 실무 활용까지 자세히 설명합니다.
TLS Handshake
TLS Handshake는 HTTPS의 보안 통신을 가능하게 해주는 중요한 절차입니다. 이 글에서는 TLS Handshake의 원리와 절차를 알아봅시다.
웹 동작 원리: www.google.com을 입력하면 무슨 일이 일어날까?
브라우저 주소창에 도메인을 입력하면 네트워크 내부에서 무슨 일이 일어나는지, DNS 조회부터 TCP 연결, HTTP 요청과 브라우저 렌더링까지의 전 과정을 단계별로 설명합니다.
Error.captureStackTrace로 디버깅 하기
Node.js 환경에서 Error.captureStackTrace 메서드를 활용해 불필요한 스택 정보를 정리하고 디버깅을 간편하게 하는 방법을 알아봅니다.
Serverless 아키텍처 설계 핵심 구성 요소
실무에서 Serverless 아키텍처를 설계할 때 필수적으로 고려해야 하는 핵심 요소들을 정리합니다.
대표 Serverless 서비스 비교
AWS Lambda, GCP Cloud Functions, Azure Functions의 특징과 차이점을 실무 관점에서 구체적으로 비교합니다.
Serverless란 무엇인가?
Serverless에 대해 알아봅시다.
서버용 GPU vs 소비자용 GPU: 무엇이 다른가?
서버 인프라를 설계할 때 고려해야 할 서버용 GPU와 소비자용 GPU(GeForce) 간의 차이점을 알아봅시다.
GPU 모델별 특징과 용도
GPU의 주요 구성 요소와 Tesla T4, L4, Quadro RTX, RTX A4000~A6000 모델의 특징과 실무 활용법을 전공하는 대학생 수준으로 자세히 설명합니다.
Git 오류: error: could not detach HEAD 해결 방법
Git 사용 중 "error: could not detach HEAD" 오류가 발생하는 원인과 이를 안전하게 해결하는 방법을 정리해봅니다.
Git 오류: Not possible to fast-forward, aborting. 해결 방법
Git에서 "Not possible to fast-forward, aborting." 에러가 발생하는 이유와, 이를 해결하는 방법을 단계별로 알아봅니다.
child_process.spawn
Node.js에서 외부 명령어나 실행 파일을 실행할 수 있는 spawn 함수의 사용법과 예제를 통해 실전 활용법을 익혀봅니다.
fs.readdirSync
Node.js에서 디렉토리 내 파일 목록을 동기적으로 가져오는 함수인 fs.readdirSync의 사용법과 주의사항을 알아봅니다.
child_process.fork
Node.js의 child_process 모듈에서 제공하는 fork 함수로 멀티 프로세스를 생성하고 메시지를 주고받는 방법을 배워봅니다.
fs.readdir
Node.js에서 디렉토리 내 파일 목록을 비동기적으로 가져오는 함수인 fs.readdir의 사용법과 실전 활용법을 알아봅니다.
fs.promises.unlink
Node.js에서 파일을 비동기적으로 삭제하는 fs.promises.unlink 함수의 사용법과 에러 처리, 활용 예시를 자세히 알아봅니다.
fs.promises
Node.js에서 파일 시스템을 Promise 기반으로 다루기 위한 fs.promises API의 활용법과 다양한 예제를 살펴봅니다.
fs.statSync
Node.js에서 파일의 크기, 타입, 수정 시간 등 메타 정보를 확인할 수 있는 fs.statSync 함수의 사용법과 활용법을 알아봅니다.
fs.lstatSync
Node.js의 fs.lstatSync 함수로 파일과 심볼릭 링크 구분 및 속성 확인하는 방법을 알아봅니다.
Layered Architecture
소프트웨어 아키텍처의 기본 중 하나인 Layered Architecture(계층형 아키텍처)는 시스템을 계층(Layer)로 구성하는 방법 중 하나입니다.
의존 역전 원칙(DIP: Dependency Inversion Principle)
구체적인 구현 클래스에 의존하지 말고 추상화된 인터페이스나 추상 클래스를 통해 의존 관계를 설정하라는 뜻인 의존 역전 원칙에 대해 알아봅시다
인터페이스 분리 원칙 (Interface Segregation Principle, ISP)
하나의 인터페이스가 너무 많은 책임을 갖지 않도록 기능을 분리하는 인터페이스 분리 원칙(ISP)에 대해 자세히 알아봅니다.
리스코프 치환 원칙 (Liskov Substitution Principle, LSP)
객체 지향 설계에서 하위 클래스는 언제나 상위 클래스를 대체할 수 있어야 한다는 리스코프 치환 원칙에 대해 알아봅니다.
개방 폐쇄 원칙(Open Closed Principle, OCP)
소프트웨어 요소는 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다는 개념을 가진 개발 폐쇄 원칙에 대해 알아봅시다.
단일 책임 원칙 (Single Responsibility Principle, SRP)
한 클래스는 변경되어야 하는 오직 하나의 이유만을 가져야 한다는 개념을 가진 단일 책임 원칙에 대해 알아봅시다.
Hexagonal Architecture (헥사고날 아키텍처)
애플리케이션 내부가 외부의 영향을 최소한으로 받으며 독립적으로 존재할 수 있도록 설계가능한 Hexagonal Architecture에 대해 알아봅시다.
DNS
도메인을 IP 주소로 변환해주는 시스템, DNS의 기본 원리부터 실제 요청 흐름, 개발 중 마주칠 수 있는 DNS 문제까지 쉽고 체계적으로 정리합니다.
nvm(Node Version Manager)
Node.js 버전을 효율적으로 관리하고 변경할 수 있는 nvm(Node Version Manager)의 기본 사용법과 실전 예제를 확인해 봅시다.
NestJS에서 JWT를 이용한 인증(Authentication) 구현하기
NestJS에서 JWT(JSON Web Token)를 이용한 인증 방식을 구현하는 방법을 알아봅시다.
CSRF 공격이란?
CSRF(Cross-Site Request Forgery) 공격의 개념과 원리를 이해하고, 방어하기 위한 방법을 알아봅시다.
TLS란 무엇인가?
웹사이트 보안에 필수적인 TLS(Transport Layer Security)에 대해 알아봅시다.
메시지 큐(Message Queue)
메시지 큐(Message Queue, MQ)는 현대적인 시스템에서 서비스 간의 데이터를 효율적으로 전달하고 관리하기 위한 필수적인 도구입니다. 이 글에서는 메시지 큐를 도입해야 하는 이유와 동작 원리를 친절하고 쉽게 소개합니다.