• IntelliJ 단축키

    IntelliJ 단축키 정보 IntelliJ 단축키 정보로 편의성 제공을 위해 작성 단축키 Description Ctrl + D 라인 복사 Ctrl + Y, Ctrl + Backspace 줄 삭제 Ctrl + X 잘라내기 Ctrl + Z 되돌리기 Ctrl + Shift + Z 되돌리기 취소 Ctrl + Alt + 위, 아래 현재 선택한 라인이동 Ctrl...


  • Spring Validation Annotation

    Spring Validation Annotation @Valid를 통해 데이터의 유효성 검사를 수행 할 수 있는 javax.validation과 org.hibernate.validation 패키지가 제공하는 Validation Annotation @AssertFalse 주석이 달린 요소는 거짓어야 합니다. 지원되는 타입은 boolean과 Boolean 입니다. null 요소는 유효한 것으로 간주 됩니다. @AssertTrue 주석이 달린 요소는 참이어야 합니다. 지원되는 타입은 boolean과 Boolean 입니다. null 요소는 유효한 것으로...


  • Java Lambda & Stream(2)

    Java Stream & Lambda (2) 동작 순서 다음 스트림에서는 최종 작업인 findFirst 메소드를 호출합니다. 과연 출력 결과는 어떨까요? list.stream() .filter(el -> { System.out.println("filter() was called."); return el.contains("a"); }) .map(el -> { System.out.println("map() was called."); return el.toUpperCase(); }) .findFirst(); 요소는 3개인데 결과는 다음처럼 filter 두 번, map 이 한 번 출력됩니다....


  • Java Lambda & Stream(1)

    Java Stream & Lambda (1) Streams Java 8에서 추가 한 스트림(Streams)은 람다(Lambda)를 활용할 수 있는 기술 중 하나입니다. Java 8 이전에는 배열(Array) 또는 컬렉션 인스턴스(Collection Instance)를 다루는 방법은 for 또는 foreach 문을 돌면서 요소 하나씩을 꺼내서 다루는 방법이었습니다. 간단한 경우라면 상관없지만 로직이 복잡해질수록 코드의 양이 많아져 여러 로직이 섞이게 되고,...


  • Apache Zookeerper

    대규모 분산 시스템과 코디네이션 시스템의 필요성? 과거에는 한 대의 컴퓨터에서 동작하는 단일 프로그램이 대다수였지만, 현재 빅데이터와 클라우드 환경에서 대규모의 시스템들이 동작하고 있습니다. 이 대규모 시스템은 수많은 서버와 인프라로 구성되어 있죠. 또한 이 시스템들은 보통 다양하고 수많은 어플리케이션들로 이루어져 있습니다. 결국 이 개별적인 시스템들을 각각 조율해야하는 코디네이션 시스템의 수요가 생기게 되었습니다....