분류 전체보기 24

스트림

스트림이란 ? : 스트림은 '데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소'이다. 컬렉션과 스트림의 차이를 물어본다면 가장 큰 차이는 '목적'이라고 할 수 있을 것 같다. 컬렉션이 관련된 요소의 저장 및 접근 연산이 주를 이룬다면, 스트림은 filter, sorted, map 등과 같이 표현 계산식이 주를 이룬다. 즉, 컬렉션의 주제는 데이터 및 저장이고, 스트림의 주제는 계산이라고 볼 수 있다. 컬렉션 vs 스트림 : 아직 이해가 잘 안가는 사람들을 위해 한 번더 비유를 하자면, DVD에 어떤 영화가 저장되어 있다고 가정하면, DVD는 일종의 컬렉션이라고 볼 수 있다. 반면에 같은 비디오이지만 인터넷 스트리밍으로 비디오를 시청한다면, 이때는 스트림에 가깝다고 볼 수 있다. 스트리밍으로 비디..

Java 2020.07.28

동작 파라미터화

한 농장의 사과 재고 관리를 도와주는 애플리케이션을 작성중이다고 가정하자. 사과의 정보는 다음과 같다. 어제는 농부가 빨간색 사과만 필터링해서 보여달라고 요청해서 다음과 같이 코드를 작성했다. 하지만 오늘은 갑자기 무게가 150g이 넘는 사과만 필터링해 달라고 요청했다. 번거롭지만 다음과 같이 새로 코드를 작성했다. 기껏 작성했더니, 농부가 갑자기 색깔은 빨간색이면서 무게가 150g이 넘는 사과를 필터링해달라고 한다. 이와같이 요구사항이 변경될 때 마다 새로운 메서드를 작성하는 것은 매우 비효율적이다. 심지어 위 두 함수를 보면, if 의 조건부분을 제외한 나머지 코드는 모두 중복된다. 변화하는 요구사항에 좀 더 유연하게 대응할 수 있는 방법이 필요해 보인다. 이를 해결할 수 있는 방법이 바로 '동작 파..

Java 2020.07.27

1주차

Q. 지원서는 어떻게 작성하는 것이 좋은가 ? 거창한 커리어보다는 개발에 대한 나의 열정과 노력 기술적 문제 해결 경험, 한 가지 일을 끝까지 파고들었던 경험 개발자로서의 성장의지를 보여줄 수 있는 스토리 내가 무엇을 할 수 있는지 드러나는 지원서 GitHub 꾸준히 관리하고 업데이트 할 것 '잘했다', '못했다' 등의 결과보다는 '무엇을 했는지' .'무엇을 알게 됐는지' 협업 스토리 Q. 필독서 Effective Java 클린 코드 대학 교과서 Pro Git Q. 네이버가 강조하는 기본기란 무엇인가 업무에 관심을 가지고, 업무를 하기 위해 필요한 것이 무엇인지 이해하고 노력하는 것 OS, 네트워크, 자료구조 이해하는 것 모든 기술을 경험해 보겠다는 태도는 그다지 효율적이지 않다. 기본기에 충실하여 새로..

Naver Open Class 2020.07.23