Singleton Pattern 제대로 이해하기
Knowledge/Design Pattern 2025. 6. 14. 21:03Singleton Pattern 제대로 이해하기

싱글톤은 애플리케이션 전역에서 단 하나의 인스턴스만 생성되어야 할 때 사용하는 디자인 패턴입니다. 예를 들어, 설정 정보 객체, 로깅 클래스, DB 커넥션 풀, 스레드 풀 관리 등에서 자주 사용됩니다. Java 에서는 이 패턴을 구현하는 방식이 여러 가지 있으며 각각의 장단점과 주의사항이 존재합니다.싱글톤 패턴이란?어떤 클래스의 인스턴스가 오직 하나만 생성되도록 보장하고 전역에서 이 인스턴스에 접근할 수 있도록 제공하는 패턴입니다. 인스턴스의 중복 생성을 방지하여 자원을 절약하고 전역 상태를 일관되게 유지합니다.싱글톤 구현 방식1. Eager InitializationEager Initialization(이른 초기화)는 Singleton 인스턴스를 클래스가 로딩될 때 바로 생성하는 방식입니다. Java ..

HTTP 상태 코드, 정확히 알고 사용 하기
Knowledge/HTTP 2025. 6. 12. 21:47HTTP 상태 코드, 정확히 알고 사용 하기

HTTP 상태 코드는 클라이언트의 요청에 대해 서버가 어떤 응답을 했는지를 알려주는 중요한 지표입니다. 웹 또는 앱 개발을 하다 보면 200 OK 는 익숙해도 204, 301, 422 같은 코드에는 순간 멈칫할 때가 있습니다. 이번 포스팅에서 HTTP 상태 코드의 의미와 자주 쓰는 코드 그리고 모든 상태 코드 목록까지 알아보겠습니다.HTTP 상태 코드란?HTTP 상태 코드는 서버가 클라이언트의 요청을 처리한 결과를 3자리 숫자로 나타낸 응답 코드입니다. 이 코드는 아래와 같은 목적을 가집니다.클라이언트가 요청 결과를 이해하도록 도와줌후속 동작(재요청, 리다이렉션, 에러 처리 등)을 결정하는 기준 제공브라우저, API 클라이언트, 모니터링 시스템 등에서 분석 가능하도록 표준화된 응답 제공모든 HTTP 응답..

가장 웹 다운 API 설계 방식 - RESTful API
Knowledge/HTTP 2025. 6. 7. 21:17가장 웹 다운 API 설계 방식 - RESTful API

RESTful API 는 웹의 기본 원칙을 따르며 자원을 URI 로 표현하고 HTTP 메서드를 통해 자원을 조작하는 방식의 API 설계 스타일입니다. 간결하고 예측 가능한 구조 덕분에 웹다운, 직관적인 API 를 만들 수 있어 많은 웹 서비스에서 표준처럼 사용되고 있습니다.REST 란 무엇일까?REST(Representational State Transfer) 는 2000년 로이 필딩의 박사학위 논문에서 처음 등장한 개념입니다.HTTP 프로토콜의 철학을 기반으로 자원을 URI로 표현하고 상태 전이는 HTTP 메서드로 수행하는 아키텍처 스타일입니다. REST 는 표준이 아닌 스타일입니다. RFC 문서처럼 강제 규약은 아니지만 웹 아키텍처의 일관성을 높이기 위한 원칙으로 자리 잡았습니다.RESTful API..

HTTP Method 종류
Knowledge/HTTP 2025. 6. 5. 20:37HTTP Method 종류

HTTP Method 란?HTTP 메서드는 클라이언트가 서버에게 어떤 작업을 수행하길 원하는지 명시하는 방식입니다. 쉽게 말해 서버에 주어진 리소스에 수행하길 원하는 행동이나 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방법입니다. HTTP 는 REST API 를 설계할 때도 핵심이 되며 올바른 메서드를 사용하는 것은 API 설계의 품질을 결정짓는 중요한 요소입니다.HTTP Method 종류주요 메서드메서드설명GET자원 조회 (Read)POST자원 생성 (Create)PUT자원 전체 수정 (Update - Replace)PATCH자원 부분 수정 (Update - Partial)DELETE자원 삭제 (Delete) 기타 메서드메서드설명HEADGET 과 동일하지만 body 없이 header 만 반환OP..

시간 복잡도(Big-O Notation), 한눈에 이해하기
Knowledge/Algorithm 2025. 5. 8. 20:06시간 복잡도(Big-O Notation), 한눈에 이해하기

알고리즘 문제를 풀 때 자주 접하게 되는 개념 중 하나가 시간 복잡도 입니다.성능이 좋은 알고리즘과 그렇지 않은 알고리즘을 구분하는 기준이 되기 때문에 알고리즘을 공부한다면 꼭 이해하고 있어야 할 개념입니다. 또한 알고리즘이 사용하는 메모리 사용량을 나타내는 공간 복잡도도 함께 고려해야 합니다.효율적인 문제 해결을 위해서는 시간과 공간 모두를 균형 있게 분석하는 것이 중요합니다.시간 복잡도란?시간 복잡도는 입력 크기 n 이 커질 때 알고리즘이 수행하는 연산 횟수의 증가 정도를 나타냅니다.예를 들어 1억 개의 데이터를 처리해야 할 때 O(n^2) 알고리즘과 O(n log n) 알고리즘은 실행 시간에서 엄청난 차이를 보입니다.공간 복잡도란?공간 복잡도는 입력 크기 n 이 커질 때 알고리즘이 사용하는 메모리 ..

URI vs URL vs URN 개념 정리 및 차이점 한눈에 보기
Knowledge/HTTP 2025. 5. 2. 00:04URI vs URL vs URN 개념 정리 및 차이점 한눈에 보기

URI? URL? URN?URI (Uniform Resource Identifier)URI는 통합 자원 식별자로 인터넷에 존재하는 자원을 식별하는 고유한 문자열입니다.우리가 흔히 아는 URL 과 다소 생소한 URN 은 모두 URI 의 하위 개념입니다.U niform: 통일된 방식으로R esource: 자원 (웹 페이지, 이미지, 파일 등 모든 식별 가능한 것)I dentifier: 고유하게 식별하는 값 URL (Uniform Resource Locator)URL 은 리소스의 위치를 나타내는 URI입니다.즉 인터넷 상의 자원이 어디에 있는지를 알려주는 주소 역할을 합니다.웹사이트 주소뿐만 아니라 네트워크 상의 다른 자원도 포함됩니다.우리가 브라우저에 입력하는 대부분의 주소는 URL 입니다.U niform:..

image