반응형

전체 글 297

리팩토링 개정판 _ Chapter 01 리팩터링 : 첫번째

1. 리팩터링 1장 1 . 자. 시작해보자! Json 으로 필요한 값을 정의하여 들고있고 청구서를 출력하는 걸 function statement 로 필요한 값을 출력하는 함수를 보여줌 2. 예시 프로그램을 본 소감 코드 자체는 나쁘지 않게 쓰였졌음 단, 확장성에는 어려움을 가지고 있을 수 있음 3. 리팩터링의 첫 단계 리팩터링은 이미 구현된 기능을 다시 조립하는 경우가 많기 때문에 테스트의 역할이 중요하다는 걸 강조함 4. statement() 함수 쪼개기 Switch 문을 함수로 쪼개는 걸 먼저 설명해줌 -> 앞으로 이걸 함수쪼개기 라고 한다고 정의함. 그리고 무언가 변경점이 있으면 바로 바로 테..

@Controller 에서 @RequestMapping 어노테이션 안 타던 이슈

👌이슈 내용로그인 시 -> 로그인을 해야한다는 팝업을 만들기 위해서 AlertController 생성 후 @RequestMapping("/front/show") 이런식으로 어노테이션 추가함 👍원인서블릿 맵핑에서 들어오는 조건이 걸려있어서 JSP 를 통해서 Controller 호출이 안되었음 action org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/config/egovframework/springmvc/dispatcher-servlet.xml 1 action *.do action *.ajax - 이런 식으로 URL 패턴이 *.do 로 되어있어서 정상적으로 M..

생성 패턴 _ 프로토타입 패턴

🧬 프로토타입 패턴 (Prototype Pattern)1. 패턴 개요프로토타입 패턴은 객체를 new 키워드로 새로 생성하지 않고, 기존 객체를 복제(clone)하여 새 객체를 생성하는 생성 패턴입니다.📌 목적: 객체 생성 비용을 줄이고, 런타임 중에 유연하게 객체를 복사해서 사용하기 위함2. 언제 사용하나요?new를 통한 객체 생성 비용이 큰 경우비슷한 객체를 여러 개 생성해야 할 때런타임 동적 구성 기반 객체 생성을 원할 때생성자 대신 유연한 복제 로직이 필요할 때3. 장단점 비교장점 👍단점 👎객체 생성 비용 절감깊은 복사 vs 얕은 복사 문제 발생new 없이 동적으로 객체 생성clone 메서드 구현 필요기존 객체 상태 유지 가능객체 구성 따라 복잡도 증가복잡한 생성자 제거 가능모든 클래스가 C..

생성 패턴 _ 빌더 패턴

🧱 빌더 패턴 (Builder Pattern)1. 패턴 개요Builder 패턴은 복잡한 객체의 생성 과정을 분리하여, 같은 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 해주는 생성 패턴입니다.📌 목적: 생성자가 너무 많거나 복잡할 때, 생성 절차를 메서드 체이닝 방식으로 분리하여 가독성과 안정성을 확보2. 언제 사용하나요?파라미터가 많은 생성자 대신 가독성 있는 객체 생성을 원할 때필수/옵션 필드를 구분하고 싶을 때생성 순서를 조절하거나, 다양한 설정 조합이 필요한 객체일 때불변 객체를 만들고 싶을 때3. 장단점 비교장점 👍단점 👎필드가 많을 때 가독성이 높아짐클래스 수가 증가할 수 있음객체 생성 절차를 캡슐화복잡도 증가 가능불변 객체 생성 가능단순한 객체에는 과할 수 있음메서드 체이닝으로..

생성 패턴 _ 추상 팩토리 패턴

🏭 추상 팩토리 패턴(Abstract Factory Pattern)1. 패턴 개요추상 팩토리 패턴(Abstract Factory Pattern)은 관련된 객체들의 집합(제품군)을 생성하는 인터페이스를 제공합니다.구체적인 클래스를 지정하지 않고도 서로 연관된 객체들을 일관성 있게 생성할 수 있습니다.📌 한 문장 요약:"구체적인 클래스에 의존하지 않고, 관련 있는 객체들을 일관되게 생성할 수 있게 해주는 패턴"2. 언제 사용하나요?서로 관련 있는 객체들(제품군)을 함께 생성해야 할 때객체 간의 호환성을 보장해야 할 때구체 클래스에 의존하지 않고 추상적으로 객체를 생성하고 싶을 때팩토리 메서드가 여러 개 필요할 때예시: 윈도우용 버튼/체크박스와 맥용 버튼/체크박스는 동시에 만들어야 하는 제품군입니다.3...

생성 패턴_팩토리 메서드 패턴

1. 🏭 팩토리 메서드 패턴이란?Factory Method Pattern은 객체 생성 코드를 별도의 팩토리 메서드로 분리하여, 상위 클래스에서는 객체 생성 방식만 정의하고, 실제 생성은 하위 클래스에서 담당하게 하는 패턴입니다.즉, 객체 생성에 대한 책임을 서브클래스에게 위임합니다.핵심 목적: 객체 생성 코드와 객체 사용 코드를 분리 2. 🔧 언제 사용하나?다음과 같은 경우에 유용합니다:객체 생성 로직이 복잡하거나 다양한 형태의 객체를 생성해야 할 때코드의 유연성(확장성) 을 높이고 싶을 때인터페이스/추상 클래스만 알고 구체 클래스를 몰라도 되는 구조가 필요할 때기존 코드를 변경하지 않고 새로운 객체를 쉽게 추가하고 싶을 때예: 로그 기록 방식이 ConsoleLogger → FileLogger → D..

CDN(Content Delivery Network)

CDN (Content Delivery Network) – 빠르고 안정적인 콘텐츠 전달의 핵심CDN은 사용자의 위치와 가까운 서버를 통해 정적 콘텐츠(이미지, 영상, CSS 등)를 빠르게 전달함으로써 웹 성능을 극대화하는 핵심 기술입니다.🌍 CDN 개념CDN (Content Delivery Network)은전 세계에 분산된 Edge 서버를 통해 콘텐츠를 캐싱하고, 사용자의 요청을 가장 가까운 서버가 처리하도록 하여 지연 시간을 최소화합니다.📌 주요 특징기능설명🔁 캐싱정적 콘텐츠(이미지, JS, CSS 등)를 Edge 서버에 저장 후 재사용🌐 지리적 분산다양한 지역에 Edge 서버를 두어 사용자 근접성 향상🚀 성능 향상요청 응답 속도 개선, 로딩 시간 단축📶 트래픽 분산트래픽을 여러 서버에 분산..

Monolith, MSA(Microservice) 아키텍쳐

모놀리식 아키텍처 vs 마이크로서비스 아키텍처 (MSA) 비교 정리서비스 아키텍처는 애플리케이션의 구조와 유지보수, 확장성에 큰 영향을 미칩니다.이번 글에서는 대표적인 두 가지 아키텍처인 모놀리식 아키텍처(Monolithic Architecture)와 마이크로서비스 아키텍처(Microservice Architecture, MSA)를 비교 정리해보겠습니다.🧱 모놀리식 아키텍처 (Monolithic Architecture)📌 정의이름 그대로, 모든 기능이 하나의 통합된 코드베이스에 포함된 구조입니다.모든 컴포넌트가 단일 프로세스 내에서 실행됩니다.✔️ 특징단일 배포코드베이스가 일관됨초기 개발 구조가 간단함✅ 장점초기 설정 및 배포가 간편함성능 오버헤드가 적음 (단일 프로세스)디버깅 및 로깅이 상대적으로 ..

로드 밸런싱 _ Load Balancer

로드 밸런싱과 API 게이트웨이 – 분산 시스템의 핵심 컴포넌트🧭 개요분산 시스템에서 트래픽 분산과 API 요청 관리는 시스템의 성능과 안정성을 좌우하는 중요한 요소입니다.이 역할을 담당하는 두 핵심 컴포넌트는 Load Balancer와 API Gateway입니다.⚖️ Load Balancer vs API Gateway기능Load BalancerAPI Gateway역할트래픽 분산, 서버 부하 분산API 요청 라우팅, 인증, 정책 처리계층L4 (TCP/UDP), L7 (HTTP/HTTPS)애플리케이션 계층 (L7)주요 기능헬스 체크, 부하 분산, 세션 유지인증, 트래픽 제한, 데이터 변환사용 목적시스템 가용성 유지, 부하 최적화클라이언트 요청 처리 및 보안 관리🧱 Load Balancer 상세주요 목적..

분산시스템 _ CAP 이론

CAP 이론 – 분산 시스템 설계의 첫 단추분산 시스템을 설계할 때 반드시 고려해야 할 개념이 있습니다. 바로 CAP 이론입니다.CAP 이론은 시스템이 어떻게 동작해야 하는지, 무엇을 우선시해야 하는지를 결정하는 설계의 방향성을 잡아주는 나침반 같은 역할을 합니다.🔷 CAP 이론이란?CAP 이론은 다음 세 가지 속성 중 최대 두 개만 동시에 만족할 수 있다는 이론입니다.요소설명Consistency (일관성)모든 클라이언트가 동일한 데이터를 읽을 수 있어야 한다.Availability (가용성)모든 요청에 대해 항상 응답을 반환해야 한다.Partition Tolerance (파티션 허용성)네트워크 장애(파티션)가 발생해도 시스템이 계속 동작해야 한다.CAP 이론의 핵심은 네트워크가 분리되었을 때 어떤 속..

반응형