람다 함수에 대한 고찰 - 포프TV '람다, 그냥 쓰지 마세요'를 보고...

시작하며: 뜨거운 감자, 람다(Lambda)https://www.youtube.com/watch?v=knASr7oQNTk 평소 즐겨보는 개발 유튜브 채널인 '포프TV'에 매우 도발적인 제목의 영상이 올라왔다. "람다 함수, 그냥 쓰지 마세요. 회사에 해가 됩니다."Java, C#, Python 등 현대적인 언어에서 함수형 프로그래밍의 핵심 요소로 자리 잡은 람다. 간결하고 우아한 코드를 작성하게 해주는 강력한 도구로 칭송받는 이 기능을 쓰지 말라니, 심지어 회사에 해가 된다니. 개발자로서 그냥 지나칠 수 없는 주제였다. 영상을 끝까지 본 후, 포프 님의 주장에 대한 요약과 현업 개발자로서의 내 생각을 정리해보고자 한다.포프가 말하는 '람다를 쓰지 말아야 할 이유'영상에서 포프 님은 람다 함수를 남용했을..

썸네일

DI 프레임워크를 사용하여 동적으로 빈을 생성하는 방법

요구 사항은 다음과 같습니다. 사용자 입력은 'A 1 2', 'B 3 4 5', 'C 1' 등과 같은 정수 배열이 뒤따르는 단일 문자입니다. 단일 문자는 구성할 클래스를 의미하고 정수는 다음과 같습니다. 해당 생성자에 매개변수를 입력합니다. 다른 클래스에는 다른 수의 정수가 필요할 수 있습니다. 그런 다음 사용자 입력을 구문 분석하고 그에 따라 개체를 생성하는 프로그램을 작성해야 합니다. 내 접근 방식은 구문 분석에 정규식을 사용하고 호출할 클래스를 하드 코드하는 것이었습니다. 그러나 다른 수석 개발자는 종속성 주입을 사용하여 사용자 입력을 기반으로 개체를 자동으로 생성하는 것이 더 나은 아이디어라고 말했습니다. 그는 인터페이스를 만들고 스프링 프레임워크 종속성 주입(스프링 부트가 아님)을 사용하라는 또..

Spring expression 언어: SpEL에서 맵 조회를 위한 키로 변수 사용

변수를 키로 사용하여 맵에서 값을 조회하려고 합니다. 변수를 직접 참조할 수 있기를 원 jobTitle하지만(이 경우 ), 어떤 이유로 변수 를 작동시키려면 #root.또는 를 접두사로 사용해야 #this.합니다. 그래서 이것은 작동합니다: parser.parseExpression("{ \"Manager\":\"37.5\", \"CEO\":\"40\"}[#root.jobTitle]" ("37.5"로 해결) 하지만 이것은하지 않습니다 parser.parseExpression("{ \"Manager\":\"37.5\", \"CEO\":\"40\"}[jobTitle]" (널로 해석됨) jobTitle컨텍스트 개체의 루트 속성입니다. SpEL 문서를 보면 속성을 직접 참조할 수 있어야 하는 것 같습니까? 내가 ..

네이티브 이미지에 대한 Spring Boot 빌드 이미지 실패

java17과 함께 스프링 부트 2.6.2를 사용하여 기본 이미지를 생성하려고 시도하지만 아래 오류와 함께 실패합니다. 도커 데스크탑이 설치된 Windows 11 시스템에서 빌드 중입니다. mvnw 스프링 부트:빌드 이미지 [INFO] [creator] [/layers/paketo-buildpacks_native-image/native-image/com.example.shoppinglist.ShoppinglistApplication:204] classlist: 10,121.42 ms, 1.20 GB [INFO] [creator] 20:58:34.611 [main] DEBUG org.jboss.logging - Logging Provider: org.jboss.logging.Log4j2LoggerProvi..