반응형 관심키워드(AI)13 Binary Search 알고리즘: 개념, 동작 방식, 비교 횟수 실전 예제 📌 본문**이진 탐색(Binary Search)**은 정렬된 데이터에서 원하는 값을 빠르고 효율적으로 찾는 알고리즘입니다.이번 포스팅에서는 알고리즘의 개념 정리와 함께 실제 기출 예제를 통해 비교 횟수를 확인해보겠습니다.✅ 이진 탐색 알고리즘 정리전제: 데이터는 반드시 오름차순 정렬되어 있어야 함방식: 중간값 기준으로 범위 분할비교 기준: arr[mid]와 target시간 복잡도: O(log n)✅ 기출 예제 분석배열: [1, 2, 3, ..., 15], target: 14mid = (0+14)//2 = 7 → arr[7] = 8 → 오른쪽mid = (8+14)//2 = 11 → arr[11] = 12 → 오른쪽mid = (12+14)//2 = 13 → arr[13] = 14 → 찾음📌 총 3번의 비.. 2025. 5. 6. 📘 GoF 디자인 패턴 – 생성, 구조, 행동으로 구분하는 23가지 설계 전략 📌 목차GoF 디자인 패턴 개요생성(Creational) 패턴구조(Structural) 패턴행동(Behavioral) 패턴구조 패턴이 아닌 예시1. GoF란?GoF(Gang of Four)는 디자인 패턴 책 『Design Patterns: Elements of Reusable Object-Oriented Software』의 저자 네 명을 의미합니다. 이들이 정리한 23가지 패턴은 현재까지도 객체지향 프로그래밍에서 필수적으로 활용됩니다.2. 생성 패턴 (Creational)Abstract Factory: 관련 객체를 일관성 있게 생성Builder: 단계별 복잡한 객체 생성Factory Method: 인스턴스 생성을 서브클래스에 위임Prototype: 기존 객체를 복제Singleton: 인스턴스를 하나로 .. 2025. 5. 6. MVC(Model-View-Controller) 아키텍처에서 가장 흔한 오해 한 가지 본문**MVC(Model-View-Controller)**는 소프트웨어 아키텍처에서 UI와 로직을 분리하는 대표적인 설계 패턴입니다.아래는 MVC 관련 대표적인 기출문제 중 하나입니다:Q. 다음 중 틀린 설명은?MVC는 UI 응집도를 높이고 UI 간 결합도를 낮출 수 있다.모델은 뷰 및 컨트롤러 사이의 전달자이며, 뷰마다 모델이 하나씩 있다.뷰는 모델의 데이터를 UI에 보여주는 역할을 한다.컨트롤러는 모델의 상태를 바꿀 수 있다.✅ 정답: 2번❗ 왜 틀렸을까?전달자 역할은 모델이 아닌 컨트롤러의 몫입니다.하나의 모델에 대해 **여러 뷰(View)**를 붙일 수 있으며, 뷰마다 별도 모델이 필요한 구조가 아닙니다.✅ 핵심 요약요소역할Model데이터 처리, 상태 관리View사용자 인터페이스Controller.. 2025. 5. 6. [소프트웨어 테스트] 상향식 vs 하향식 통합 테스트 구분법 (기출 포함) 📌 본문**통합 테스트(Integration Test)**는 개별 모듈을 결합했을 때 그 인터페이스와 동작이 잘 되는지를 점검하는 과정입니다. 기출문제에서 아래와 같은 오류가 자주 나옵니다.💬 기출문제 분석❌ 3번. 상향식 테스트는 최상위 모듈부터 시작한다.→ 이 설명은 틀렸습니다. 상향식 통합 테스트는 말 그대로 하위 모듈에서 상위 모듈로 Bottom-Up 방식으로 진행됩니다.📚 구분 정리구분방향특징상향식하위 → 상위클러스터 중심 테스트, 드라이버 필요하향식상위 → 하위stub 사용, 시스템 구조 조기 확인에 유리 💡 정리통합 테스트는 인터페이스 안정성 검증이 핵심!테스트 시작 위치에 따라 상향식/하향식을 정확히 구분합시다. 2025. 5. 6. 유스케이스 다이어그램의 관계, '구체화'는 왜 틀린 걸까? 🧩 유스케이스(Use Case)란?유스케이스란 사용자(액터)가 시스템과 어떻게 상호작용하는지를 표현한 UML(Unified Modeling Language) 모델입니다.일반적으로 요구사항을 시각적으로 설계할 때 사용되며, 시스템이 수행해야 할 기능을 액터의 입장에서 이해할 수 있게 해줍니다.🕹 유스케이스 다이어그램의 주요 구성 요소액터(Actor): 시스템 외부에서 상호작용하는 사용자 또는 외부 시스템유스케이스(Use Case): 사용자가 시스템을 통해 달성하려는 목표(기능)시스템 경계(System Boundary): 유스케이스와 액터를 구분하는 경계🔗 유스케이스 구성 요소 간 주요 관계관계명설명방향성연관 (Association)액터와 유스케이스 간의 상호작용 표현액터 ↔ 유스케이스포함 (Inclu.. 2025. 5. 6. 메시지 지향 미들웨어(MOM)란? – 비동기 메시지 통신의 핵심 개념 정리 💡 MOM이란?Message-Oriented Middleware, 줄여서 MOM은서로 다른 시스템끼리 메시지를 교환할 수 있도록 도와주는 미들웨어입니다.직접 연결 없이 메시지를 주고받으며,시스템 간 결합도를 낮추고 안정성은 높이는 방식이죠.🔍 핵심 개념비동기 메시지 처리 방식**메시지 큐(Message Queue)**를 사용해, 수신자가 없어도 메시지 유실 방지송신자와 수신자의 타이밍이 달라도 문제 없음실시간보다는 안정성과 유연성이 중요한 시스템에 활용❌ 헷갈리는 오답 포인트"즉각적인 응답이 필요한 온라인 업무에 적합하다."→ ❌ 틀린 설명입니다. MOM은 빠른 응답을 보장하지 않습니다.👉 대신 신뢰성 높은 처리를 목적으로 사용됩니다.🔧 MOM이 쓰이는 곳백엔드 서버 간 통신주문 처리 시스템로그 .. 2025. 5. 6. 이전 1 2 3 다음 반응형