항해 99 – 2023.03.09

오늘 클론코딩 프로젝트를 끝냈습니다.

백엔드 기능 구현이 일찍 완료되어 비교적 한가한 한 주였습니다.

여가 시간에는 미뤄두었던 람다와 스트림에 대해 배웠습니다.

람다 식

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도 구현할 수 있습니다.

여행을 시작하고 실제 프로젝트만 보고 달려왔는데 시간이 참 빨리 지나간 것 같습니다. 지금까지 공부한 것이 헛되지 않도록 욕심을 내서 좋은 결과를 얻는 데 집중해야 한다.