목록스트림 (2)
개발자는 기록이 답이다

자바의 신 책에는 DTO에 Serializable를 꼭 구현해야 된다고 되어 있다. 하지만 나는 Spring boot 프로젝트를 했을때 한번도 구현하지 않았는데도, 문제가 없었던것 같다. 어떤 관련이 있는지 "직렬화"라는 개념에 대해서 더 정확히 이해하고자 한다. 본 포스팅을 이해하기 위해서는 사전에 IO에 대한 배경지식이 필요하다. 1. 직렬화란? 직렬화라는 개념은 wiki에서 나오는 것처럼"데이터의 구조"나 객체의 "상태"를 지속되게 만드는 프로세스이다. 우리가 만든 데이터와 객체는 이미 비트로 표현되어 있으며, 해당 객체가 네트워크로 전송되거나 데이터베이스에 저장되기 위해 객체의 상태를 연속적인 바이트 형태로 유지하는 것이 바로 직렬화이다. 여기서 마샬링이라는 개념도 나오는데, 직렬화랑 비슷하지만 ..

1. 수집(collect()) collect() : 스트림은 요소들을 필터링 또는 매핑한 후 요소들을 수집하는 최종 처리 메소드 이 메소드를 이용하면 필요한 요소만 컬렉션으로 담을 수 있고, 요소들을 그룹핑한 후 집계(리덕션)할 수 있다. 필터링한 요소 수집 Stream의 collect(Collector collector) 메소드는 필터링 또는 매핑된 요소들을 새로운 컬렉션에 수집하고, 이 컬렉션을 리턴한다. 매개값인 Collector(수집기)는 어떤 요소를 어떤 컬렉션에 수집할 것인지 결정한다. Collector의 타입 파라미터 T의 요소이고, A는 누적기(accumulator)이다. 그리고 R은 요소가 저장될 컬렉션이다. 풀어서 해석하면 T요소를 A 누적기가 R에 저장한다는 의미이다. Collecto..