본문 바로가기

전체 글44

Java - 람다란 무엇인가?(Lambda) Lambda의 출현 Java에서는 기존의 @FunctionalInterface를 사용하기 위해서는 새로운 객체를 만들어서 동작 파라미터화를 했었다. 객체를 만들어서 넘기기 때문에 코드 이해가 쉽지 않고 불필요한 코드들이 많이 들어갔다. Java8이 등장하면서 람다표현식을 지원하기 시작했고 동작 파라미터화를 할 때 익명 클래스를 만들어서 객체를 넘기지 않고 람다식을 넘길 수 있게 되면서 코드가 확 줄어들었고 이해하기도 쉽게 되었다. 아래 예시가 람다식을 사용했을 때와 아닐 때의 비교 코드이다. Lambda의 특징 Lambda식은 Parameter List, Body, Return Type, Exception List로 구성되어 있다. 메서드를 전달 할 수 있도록 익명 함수를 단순화시킨 구조이다. 람다의 특.. 2022. 8. 21.
Java - Functional Interface의 예시 (모던 자바 인 액션 참고) 지난 시간에는 Functional Interface에 대해서 알아보았다. Functional Interface는 Java에서 동작 파라미터화의 대표적인 예시로 메서드를 파라미터로 전달하는 것이다. (자바에서는 객체에 메서드를 담아서 전달) 요구사항에 유연하게 대처할 수 있게 코드 간 의존성을 줄여 엔지니어링 공수를 줄일 수도 있다. 자세한 내용은 이전 포스팅을 참고하면 된다. https://today-devstart.tistory.com/28 Java - Functional Interface란? (모던 자바 인 액션 참고) Functional Interface Java로 코딩을 하다보면 Functional Interface를 자주 접할 수 있다. 안드로이드 앱개발을 해봤다면 버튼의 클릭 이벤트를 구현하는.. 2022. 8. 20.
Java - Functional Interface란? (모던 자바 인 액션 참고) Functional Interface Java로 코딩을 하다보면 Functional Interface를 자주 접할 수 있다. 안드로이드 앱개발을 해봤다면 버튼의 클릭 이벤트를 구현하는게 바로 Functional Interaface를 사용한 부분이다. 사실 본인이 개념적으로 Functional Interface를 사용하는지 모르고 사용하는 경우도 많다.(내가 그랬다) Predicate 인터페이스가 가장 대표적인 Functional Interface인데, 하나의 메소드만 가지고 있다는 것이 특징이다. 그러면 예시를 통해 Functional Interacer가 무엇인지 알아보도록 하자. 상황 개발자인 우리가 어부에게 수확량을 관리할 수 있는 프로그램을 만들어 준다고 가정하자. 데이터베이스에 물고기의 크기, 길.. 2022. 8. 19.
Spring - ldap unable to find valid certification path to requested target 에러 규모가 있는 기업에서는 LDAP을 많이 사용한다. LDAP이 단순하면서도 부서를 나누는게 효율적이기 때문이다. 오늘은 LDAP에 대한 이야기가 아니라 Spring에서 ldap을 연동할 때 발생하는 에러에 대해서 원인과 해결하는 방법을 알아보도록하겠다. 사내 LDAP 서버에 평문 통신을 할 때는 문제가 없었는데 SSL 요청을 날렸더니 아래와 같은 에러를 만나게 되었다. javax.naming.CommunicationException: simple bind failed: 서버URL [Root exception is javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBui.. 2022. 8. 18.