오늘 클론코딩 프로젝트를 끝냈습니다.
백엔드 기능 구현이 일찍 완료되어 비교적 한가한 한 주였습니다.
여가 시간에는 미뤄두었던 람다와 스트림에 대해 배웠습니다.
람다 식
Java의 람다 식 클래스 종속 함수의 단순화된 표현로 이해
int max(int a, int b){
return a > b ? a : b;
}
>>>> 이름이 없는 익명 함수
(a,b) -> a > b ? a : b
함수를 사용하려면 객체를 포함하는 참조 변수가 필요하며 람다 식을 처리하는 데 사용되는 공통 기능 인터페이스가 있습니다.
Java에는 이러한 기능적 인터페이스를 수집하는 java.util.function 패키지가 있습니다.
람다식에서 사용할 파라미터와 반환값에 따라 함수 패키지의 인터페이스를 통해 참조하여 람다식을 사용할 수 있습니다.
//선언
Function<String, Integer> f = (String s) -> Integer.ParseInt(s);
각 인터페이스에 포함된 메서드를 사용하여 호출할 수 있습니다.
이 시점에서 람다 식에 사용할 매개 변수와 인수를 알고 있으면 이를 메서드 참조로 변환할 수 있습니다.
//선언
Function<String, Integer> f = (String s) -> Integer.ParseInt(s);
// 메서드 참조
Function<Strirng, Integer> f = Integer::parseInt;
전기
스트림은 다양한 데이터 소스의 표준화된 처리에 사용됩니다.
스트림 작업 프로세스는 다음과 같습니다.
1. 스트림 생성
2. 중간 작업
3. 최종 작업 > 결과
데이터 소스에서 스트림을 만들 때 고유한로 사용할 수 있습니다
소스에서 중간 opcode를 실행하여 결국 스트림의 요소를 소비하고 결과를 내뱉습니다.
결과가 나온 후 스트림이 닫히므로, 재사용을 위해 스트림 재구축해야 할 것
중간 및 최종 작업에 사용되는 여러 기능이 있으므로 필요에 따라 선택하여 사용할 수 있습니다.
디자인에 따라 활용 범위가 무궁무진할 것 같았어요.
나는 그것을 느꼈다
다른 그룹에서 수행한 프로젝트를 살펴보면 추가 조사가 필요한 문제가 많았습니다.
등 누락 된 부분을 확인할 수있었습니다 B. 지난 번에 JPA의 N+1 문제나 CI/CD가 실패했습니다.
이번에는 팀원이 서버를 담당하고 싶어해서 제가 서버를 담당하지 않았는데, 다음 프로젝트에서는 제가 서버를 담당해야 CI/CD도 구현할 수 있습니다.
여행을 시작하고 실제 프로젝트만 보고 달려왔는데 시간이 참 빨리 지나간 것 같습니다. 지금까지 공부한 것이 헛되지 않도록 욕심을 내서 좋은 결과를 얻는 데 집중해야 한다.
![[모던 C++] [모던 C++]](https://high.pageof.kr/wp-content/plugins/contextual-related-posts/default.png)