| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
- 사이버보안
 - 데이터구조
 - 자료구조
 - 컴퓨터과학
 - 데이터분석
 - 알고리즘
 - 프로그래밍
 - 소프트웨어
 - 소프트웨어공학
 - 웹개발
 - 프로그래밍언어
 - 인공지능
 - I'm Sorry
 - 클라우드컴퓨팅
 - 자바스크립트
 - 버전관리
 - 머신러닝
 - 컴퓨터비전
 - 컴퓨터공학
 - Yes
 - 데이터베이스
 - 데이터과학
 - 파이썬
 - 딥러닝
 - 빅데이터
 - 네트워크보안
 - 네트워크
 - springboot
 - 디자인패턴
 - 보안
 
- Today
 
- Total
 
목록개발 (114)
스택큐힙리스트
왜 또 커맨드 패턴인가?버튼 하나에 기능을 자꾸 갈아끼워야 할 때마다 if-else 덩어리를 늘리는 대신, “명령 자체를 객체로 포장”하면 된다. 요청(함수 이름·인자·수행 시점)을 통째로 캡슐화해 큐에 쌓거나, 로그로 남기거나, 실행 ↔ 취소까지 자유자재로 다룰 수 있다는 얘기다. 국내 인기 블로그들도 “요청을 객체로 만들어 느슨한 결합을 얻는다”는 점을 1순위 장점으로 꼽는다.패턴 한 줄 정의Invoker(요청자)가 Command(명령 객체)를 실행하면, 명령은 Receiver(실제 작업자)에게 일을 시킨다.Invoker는 “누가 어떻게 일하느냐”에 전혀 관여하지 않는다. 때문에 실행 시점 지연, 일괄 처리, undo/redo, 트랜잭션 롤백 같은 고급 기능을 끼워 넣기 쉽다.핵심 구성 요소Comma..
큰 그림 먼저두 패턴 모두 코드 중복을 줄이고 역할을 쪼개기 위한 도구지만, 초점이 다르다.Factory Method는 “어떤 객체를 만들지?”에 대한 생성 책임을 서브클래스에 넘긴다. API 사용자는 “어떤 구체 클래스인지” 모르는 채로 인스턴스를 받아 쓴다.Template Method는 “만들어진 객체가 어떻게 일할까?”에 대한 행위 흐름을 부모가 고정하고, 변동 단계만 자식에게 맡긴다.둘을 조합하면 “공통 알고리즘 뼈대”는 Template Method로 잡고, 그 과정에서 필요한 “구체 객체”는 Factory Method로 생성하도록 설계할 수 있다. 예컨대 스프링 DispatcherServlet이 요청 흐름(Template) 안에서 View 객체를 뽑아낼 때 ViewResolver가 Factory..
왜 또 커맨드 패턴인가?버튼 하나에 기능을 자꾸 갈아끼워야 할 때마다 if-else 덩어리를 늘리는 대신, “명령 자체를 객체로 포장”하면 된다. 요청(함수 이름·인자·수행 시점)을 통째로 캡슐화해 큐에 쌓거나, 로그로 남기거나, 실행 ↔ 취소까지 자유자재로 다룰 수 있다는 얘기다.패턴 한 줄 정의Invoker(요청자)가 Command(명령 객체)를 실행하면, 명령은 Receiver(실제 작업자)에게 일을 시킨다.Invoker는 “누가 어떻게 일하느냐”에 전혀 관여하지 않는다. 때문에 실행 시점 지연, 일괄 처리, undo/redo, 트랜잭션 롤백 같은 고급 기능을 끼워 넣기 쉽다.핵심 구성 요소Command 인터페이스: execute()·undo() 같은 동작 규약ConcreteCommand: 실제 로..
Mock이냐, E2E냐? 당신의 테스트 전략을 점검하라애플리케이션을 개발할 때, 프론트엔드와 백엔드가 잘 통신하고 있는지 테스트하는 건 아주 중요합니다.그런데 테스트 방식에는 다양한 전략이 존재하죠.그중 가장 대표적인 것이 Mock 기반 테스트와 E2E(End-to-End) 테스트입니다.✅ Mock 테스트: 빠르고 단위별로 확인 가능Mock은 실제 서버를 사용하지 않고, 가짜 데이터를 반환하는 서버나 객체를 통해 테스트하는 방식입니다.장점빠른 속도: 실제 서버 요청 없이 테스트 가능안정성: 백엔드 변경에 영향받지 않음다양한 예외 상황 쉽게 시뮬레이션 가능 (ex. 500 에러, 응답 지연)단점실제 API와의 연동은 보장되지 않음프론트와 백엔드의 계약이 어긋나도 모를 수 있음실제 운영 환경과 다른 환경에서..