| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- 컴퓨터공학
- 네트워크
- 빅데이터
- 알고리즘
- 네트워크보안
- 디자인패턴
- 자료구조
- 자바스크립트
- 클라우드컴퓨팅
- I'm Sorry
- 머신러닝
- 버전관리
- 사이버보안
- springboot
- 프로그래밍언어
- 데이터분석
- Yes
- 보안
- 웹개발
- 인공지능
- 데이터베이스
- 컴퓨터과학
- 딥러닝
- 소프트웨어공학
- 파이썬
- 데이터구조
- 데이터과학
- 컴퓨터비전
- 소프트웨어
- 프로그래밍
- Today
- Total
목록java (10)
스택큐힙리스트
1️⃣ Proxy 패턴, 한마디 정의‘Proxy(프록시)’는 대리인이라는 뜻 그대로, 원본 객체 앞에 서서 호출을 가로채거나 대신 처리하는 구조(Structural) 패턴이다. 클라이언트는 Proxy를 통해서만 원본에 접근하므로, 접근 제어·로깅·캐싱·지연 로딩 등을 가볍게 끼워 넣을 수 있다.2️⃣ 언제 써먹으면 좋은가?로깅·메트릭 수집 – 모든 서비스 메서드 앞뒤에 실행 시간을 재려 할 때보안·권한 체크 – 호출자 정보 확인 후 원본 메서드 실행 허용 여부 결정캐싱 – 동일 파라미터로 반복 호출 시 결과를 캐시해 DB 부하 절감가상 프록시(Virtual) – 고비용 객체를 ‘필요할 때만’ 초기화해 메모리 세이브이처럼 “추가 책임을 원본 코드 수정 없이 붙이고 싶다”는 요구가 나오면 Proxy가 정답이..
수십 만 개가 넘는 도메인 객체를 매번 new로 찍어 내다 보면 GC가 울음 버튼을 누른다. Flyweight 패턴은 “변하지 않는 속성(intrinsic)을 공유”해 객체 수를 획기적으로 줄이는 전략이고, Spring Cache 추상화는 이를 캐싱 한 줄로 구현하게 해 주는 비밀 무기다.1️⃣ 왜 캐시 = Flyweight Factory인가?@Cacheable 메서드는 이미 Flyweight Factory 역할을 한다.Key → 객체를 구분하는 extrinsic 상태Cache Value → 공유되는 intrinsic 객체같은 키로 호출되면 Spring이 이미 생성된 인스턴스를 돌려주므로, 손코딩 Factory·Map 관리가 필요 없다.2️⃣ 세 줄로 끝내는 셋업 org.springframework.b..
1️⃣ Flyweight가 뭐길래?‘Flyweight’는 권투 체급 중 가장 가벼운 무게를 뜻한다. 이름 그대로, 비슷한 객체들을 공유해 애플리케이션의 메모리 부담을 극적으로 줄이는 구조(Structural) 패턴이다. 핵심 아이디어는 변하지 않는 내부 상태(intrinsic)만 재사용하고, 요청마다 달라지는 외부 상태(extrinsic)는 호출 시점에 주입하는 것! 2️⃣ 언제 써야 효과가 클까?그래픽·게임 오브젝트 : 수천 ~ 수백만 개의 파티클·타일·총알·나무 등을 찍어낼 때텍스트 렌더링 : 글리프(폰트 문자) 객체를 문자마다 새로 만들면 메모리 폭발 → Flyweight로 공유UI 테마·아이콘 : 동일 SVG/Icon을 컴포넌트마다 복사하는 대신 캐싱캐시 가능한 DB 룩업 값 : 코드표, 국가·통..
레거시 코드를 뒤흔들지 않고, 로깅·캐싱·보안 같은 부가 기능을 플러그인처럼 꽂고 빼고 싶을 때—Decorator 패턴이 가장 우아한 해답입니다. 스프링 AOP가 동작하는 원리도 결국 데코레이터의 변주죠.1️⃣ 데코레이터 패턴, 5초 요약정의 : ‘원본(Component)’을 래핑해 호출을 위임(delegate)하면서, 전 후처리 로직으로 기능을 확장하는 구조 패턴.구성 요소Component : 클라이언트가 기대하는 인터페이스ConcreteComponent : 실제 핵심 기능Decorator : Component를 보유하며, 부가 기능을 더해 다시 Component 형태로 노출주요 효과 : 상속 없이 런타임에 새 기능 조립, OCP(개방·폐쇄 원칙) 준수.2️⃣ 백엔드에서 언제 빛나나?로깅·트랜잭션 관리..