03 : 함수형 인터페이스 함수형 인터페이스(Functional Interface) 람다 표현식은 단일 추상 메서드를 갖춘 인터페이스 객체에 사용 가능 하다. 이러한 인터페이스를 함수형 인터페이스(Functional Interface)라 한다. Arrays.sort 메서드를 고려해 보면 두 번째 파라미터는 단일 메서드를 갖춘 인터페이스인 Comparator의 인스턴스를 필요로 한다. 기존의 구현 방식은 다음과 같다. 1234567class ComparatorTest implements Comparator{ public int compare(String first , String second){ return Integer.compare(first.length(), second.length()); }} Ar..
02 : 람다 표현식 문법 람다 표현식 첫 번째 : 12(String first, String second) -> Integer.compare(first.length(), second.length()) 위의 코드 처럼 변수들의 타입이 정확히 명시된 형태이다. ("매개변수") -> { "함수의 몸통"} 인 구조로 이루어 진다. 이때 함수의 형태가 Anonymous function 형태임을 기억해 두자. 자바의 기존의 Anonymous class 와 유사 한 형태로 사용하면 될 것 같다. 람다 표현식 두 번째 : 람다 표현식이 파라미터를 받지 않으면, 기존 함수와 마찬가지로 파라미터가 없는 메서드처럼 빈 괄호를 사용한다. 1() -> { for(int i = 0 ; i Integer.compare(first..
1003번 피보나치 함수 문제다음 소스는 N번째 피보나치 함수를 구하는 함수이다.1234567891011int fibonacci(int n) { if (n==0) { printf("0"); return 0; } else if (n==1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); }}fibonacci(3)을 호출하면 다음과 같은 일이 일어난다.fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다.fibonacci(2)는 fibonacci(1) (두 번째 호출)과 fibonacci(0)을 호출한다.두 번째 호출한 fibonacci(1)은 1을 출력하고 1을 리턴한다.fi..
Gulp란 ? - 우리의 웹프로젝트 워크 플로우의 자동화와 능률을 향상 시켜주는 툴이다. Gulp를 도입하게 된 계기는? - 프론트 엔드 개발은 정말 힘든 것 같다. 플러그인도 너무 많고 스파게티 소스가 너무 익숙하지 않으며 자바 빈처럼 엔터프라이즈급 프로젝트를 관리해 주는 메이븐같은 무언가가 필요할거 같았다. 그래서 찾아보다 gulp를 알게되었고 도입하게 되었다. Gulp 시작하기 전에 - NPM이 있어야 한다. NPM이 존재한다면 npm init 으로 프로젝트를 초기화 하자(만약 없다면 구글에서 npm 설치 방법을 검색해서 설치해 보면 될 것이다) WebDev Directory: 웹 개발 디렉토리는 사람마다 개인의 취향인 듯하다. 나는 주로 이런 식의 디렉토리를 선호하니 참고 하기 바란다. 12345..