전체 글 26

메모리 누수: Memory Leak

메모리 누수(Memory Leak)란 프로그램이 동적으로 할당한 메모리를 해제하지 않아서, 사용하지 않는 메모리가 계속해서 점유되는 현상을 의미합니다. 메모리 누수가 발생하면 시스템의 가용 메모리가 줄어들고, 성능 저하 및 심각한 경우 프로그램이 크래시할 수도 있습니다.1. 메모리 누수의 원인메모리 누수는 주로 다음과 같은 이유로 발생합니다.(1) 동적 메모리 할당 후 해제하지 않는 경우C, C++ 같은 언어에서는 malloc(), new 등을 사용하여 동적으로 할당한 메모리를 free(), delete로 해제해야 합니다. 그러나 개발자가 실수로 해제하지 않으면 메모리 누수가 발생합니다.void memoryLeak() { int* ptr = new int[10]; // 동적 메모리 할당 //..

백엔드 2025.02.23

객체지향 설계 원칙 (SOLID) 개념과 적용 방법

객체지향 프로그래밍(Object-Oriented Programming, OOP)은 유지보수성과 확장성이 뛰어난 소프트웨어를 개발하는 데 중요한 패러다임입니다. 이를 효과적으로 활용하기 위해서는 객체지향 설계 원칙(SOLID) 을 이해하고 적용하는 것이 필수적입니다.이번 글에서는 객체지향 설계 원칙의 핵심 개념과 실제 프로젝트에서 이를 적용하는 방법을 알아보겠습니다.1. 객체지향 설계 원칙이란?객체지향 설계 원칙은 소프트웨어를 설계할 때 결합도(Coupling)를 낮추고 응집도(Cohesion)를 높여 유지보수성과 확장성을 개선하는 것을 목표로 합니다. 대표적인 원칙으로 SOLID 원칙이 있으며, 이는 다섯 가지의 핵심 원칙으로 구성됩니다.SOLID 원칙SOLID는 다섯 가지 객체지향 설계 원칙의 약어입니..

백엔드 2025.02.17

WAS와 WEB의 차이점과 역할 정리

웹 애플리케이션을 개발하고 운영할 때 웹 서버(Web Server, WEB) 와 웹 애플리케이션 서버(Web Application Server, WAS) 를 구분하는 것이 중요합니다.이 글에서는 WEB과 WAS의 차이점, 역할, 동작 방식, 그리고 실무에서의 구성 예제를 다룹니다.1. WEB과 WAS의 개념🔹 WEB (웹 서버, Web Server)"정적인 HTML, CSS, JavaScript, 이미지 등의 콘텐츠를 클라이언트(브라우저)에게 제공하는 서버"✅ 정적인 콘텐츠(HTML, CSS, JS, 이미지) 제공✅ 클라이언트(사용자) 요청을 처리하여 응답 반환✅ 대표적인 웹 서버: Apache HTTP Server, Nginx, Microsoft IIS🔹 WAS (웹 애플리케이션 서버, Web Ap..

ETC 2025.02.16