2025/05/01 2

15. 디자인 패턴 요약 - 패스트캠퍼스 백엔드 부트캠프 3기

Singleton : 애플리케이션에서 하나의 객체만 존재하도록 보장하여, 객체를 재사용하고 자원의 낭비를 방지하는데 사용된다. 왜 사용 하는가 : 객체가 여러 번 생성되는 것을 방지하고, 애플리케이션 전체에서 하나의 인스턴스를 공유하기 위해 Flyweight : 객체의 공유를 통해 메모리 사용을 최적화하는 디자인 패턴 왜 사용 하는가 : 메모리낭비를 막기위해 사용, 불필요한 객체를 생성하지 않고 이미 만들어진 객체를 재활용 하기 위해 Prototype(복제) : 객체를 복사하여 사용하는 것 왜 사용 하는가 : 객체의 공유를 막고, 각 객체의 독립적인 상태를 유지하기 위해 하나의 객체를 여러 군데에서 공유해서 사용하면 이 객체의 상태가 공유되기 때문에 다른 곳에서의 상태 변화가 모든 곳에 영향을 미치게..

요약 2025.05.01

14. 시스템 설계 기초 요약 (1) - 패스트캠퍼스 백엔드 부트캠프 3기

시스템 설계 기초 정리 1장 사용자 수에 따른 규모 확장성 1. 단일 서버의 기본 구조와 요청 흐름 - 사용자 요청 시작 : 사용자는 브라우저에 도메인 이름을 입력한다. - DNS 조회 : 도메인 이름을 DNS에서 조회, IP 주소가 반환된다. - HTTP요청 전송 : 해당 IP 주소로 HTTP 요청이 전달된다. - 응답 반환 : 요청을 받은 웹 서버는 HTML 페이지나 JSON 형태로 응답을 반환한다. 2. 사용자 수 증가에 따른 데이터베이스 설계 - 초기 : 단일 데이터베이스(하나의 웹 서버와 데이터베이스가 같이 있다.) - 단일 데이터베이스의 특징 : 낮은 지연시간, 관리 간편, 확장성 거의 없음 - DB 서버 분리 : 웹 서버와 데이터베이스 서버를 물리적으로 분리한다. 3. 어떤 데이터베이스를 사..

요약 2025.05.01