일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자료구조
- Yes
- 딥러닝
- 파이썬
- 컴퓨터과학
- 컴퓨터비전
- 데이터분석
- 컴퓨터공학
- 프로그래밍
- 버전관리
- 네트워크
- 인공지능
- springboot
- 디자인패턴
- 알고리즘
- 데이터베이스
- 웹개발
- 클라우드컴퓨팅
- 데이터과학
- 소프트웨어
- 머신러닝
- 데이터구조
- I'm Sorry
- 보안
- 자바스크립트
- 빅데이터
- 프로그래밍언어
- 네트워크보안
- 소프트웨어공학
- 사이버보안
- Today
- Total
목록Kotlin (18)
스택큐힙리스트
1. Sequence가 List·Set과 다른 진짜 이유Sequence는 데이터를 담지 않고 “필요할 때 만들어” 내보냅니다. filter → map → take 같은 여러 단계도 요소당 한 번씩 흐르기 때문에 중간 컬렉션이 전혀 생기지 않죠. Kotlin 공식 문서가 강조하듯, 이는 eager 컬렉션과 구조적으로 다릅니다.한마디로: 이터레이터를 감춘 파이프라인.2. 파이프라인 안쪽: TransformingSequence · FilteringSequence모든 중간 연산(map / filter 등)은 새 Sequence 구현체를 리턴합니다.map()을 호출하면 TransformingSequence가 생성되어 원본 sequence와 lambda를 보관만 합니다.실제 변환은 내부 Iterator의 next(..
“for-each 없이도, 내부 구조 몰라도, 끝까지 한 번에!”왜 Iterator인가?코드가 커질수록 자료구조가 제각각입니다. 배열, 연결 리스트, 트리, 그래프…Iterator 패턴은 데이터 구조를 감추고 “다음 요소를 주세요” 라는 단일 프로토콜로 순회(Traversal)를 통일합니다.즉, 컬렉션 구현을 몰라도 같은 방식으로 next() / hasNext()만 호출하면 끝. 책임이 깨끗하게 나뉘니 테스트·유지보수·확장성이 모두 좋아집니다.핵심 아이디어Iterable(집합) – “Iterator를 하나 주세요!”를 요청받으면 해당 컬렉션에 맞는 반복자를 반환Iterator(반복자) – 순회 상태를 보유하며 hasNext()와 next()를 통해 한 걸음씩 이동클라이언트 – 내부 구조를 몰라도 동일한 ..
1. 큰그림두 패턴 모두 객체를 일렬로 연결해 요청을 전달하는 “재귀적 합성(체이닝)” 구조를 쓴다. 그래서 UML만 보면 “거의 같은데?” 싶지만, 의도와 결과가 완전히 다르다.2. 공통점 ― 왜 비슷해 보일까?재귀 합성: 객체가 자기 안에 같은 타입을 보관하고 다음 객체로 위임한다.런타임 조립: 체인 순서를 코드를 수정하지 않고 동적으로 바꿀 수 있다.결합도 ↓: 클라이언트는 “얼마나 많은 객체가 연결돼 있는지” 모른다.3. 결정적 차이점 포인트 책임 연쇄(CoR) 데코레이터(Decorator) 목적“누가 요청을 처리할지 찾는다” – 책임 위임“객체에 기능을 덧붙인다” – 행위 확장흐름 제어핸들러가 처리를 중단할 수 있음 (다음으로 패스 여부 결정) 데코레이터는 반드시 내부 객체를 호출해 흐름을 ..
1. 패턴 한 줄 요약“여러 처리자(handler) 를 체인처럼 묶어, 요청을 순차적으로 건네며 해당 단계가 책임을 지면 거기서 끝·못 하면 다음으로 패스한다.”2. 왜 써야 할까?결합도↓ : 클라이언트가 ‘누가 처리할지’를 몰라도 된다.확장성↑ : 새 규칙이 생겨도 체인에 핸들러만 끼워 넣으면 끝.실행 흐름 제어 : 요청 로깅→인증→권한→비즈니스 로직 같은 가변 파이프라인을 우아하게 다룬다.3. 구조 감 잡기Handler 인터페이스 – handle(request) + next 보관ConcreteHandler – 조건 확인 후 처리·패스 결정Client – 첫 번째 핸들러에게만 요청하고, 나머지는 체인이 알아서4. 코틀린 예제 – API 필터 체인interface ApiFilter { fun doF..