포스트의 제목은 현재 읽고 있는 책인 "JAVA8 IN ACTION"의 첫 목차입니다.


자바8의 업데이트가 가장 빛나는 이유 중 하나는 함수형프로그래밍을 할 수 있기 때문이라 할 수 있을 것 같습니다. 

이를 지원하기 위해 여러 문법이 추가되었고, 향후 해당 코드들이 많이 쓰일 수 있기 때문에 봐야할 것이라는 생각이 드네요.


안드로이드 (안드로이드 N은 된다고 합니다. ㅡㅡ^) 나, 현재 회사 내에서 사용하는 spring 프레임워크에서는 JAVA8을 사용하고 있지 않지만 향후 몇년 안에 소스 상에 있는 함수형 문법을 많이 보게 될지도 모르죠 ㅎㅎ .

(벌써 자바스크립트는 많이 나왔죠..) 


그러나 해당 문법들이 단순히 알고있던 JAVA 문법으로만 보고 해석하기엔 난해합니다. ㅡㅡ^ (쌩뚱맞는 문법들이 많네용.... 모르면 뭐하는 놈인지 몰라용)


다른 언어들에는 이미 함수형 프로그래밍과 관련된 것들이 나왔는데 (파이썬의 lambda 등...) 자바에서 이번 버전에 이를 지원해주니 한번 주의 깊게 봐야할 필요가 있습니다.


크게 봐야할 내용 중 첫번째는 "메소드에 코드를 전달하는 것"인데요. 

이 개념이 목차만 봤지만 함수형 프로그래밍의 가장 중요한 요소인 것 같아 먼저 적어봤습니다.


"메소드에 코드를 전달한다"는 내용은 생각보다 큽니다. 이는 단순히 코드의 간결성뿐만 아니라, 아랫단(스레드라던지, 메모리라던지...)의 문제를 쉽게 해결할 수 있는 것 처럼 보입니다.


일단 "메소드에 코드를 전달한다" 는 내용은 무슨말인지도 모르겠네요. 

조금 풀어서 설명하면, 여태까지 넘기던 파라미터, 즉 원시값(int, double)이나 참조값(인스턴스에의 참조 값) 외에 함수라는 자체 역시 코드화하여 넘기자는 이야기인데요. 

이러한 기능을 통해 우리는 동작 파라미터화(behavior parameterization) 를 쉽게 처리 할 수 있습니다.


말로하면 어려우니, 자바8의 예제를 조금보자면 


1
2
3
4
5
6
7
public class Apple {
    private String color;
 
    public String getColor(){
        return color;
    }
}
cs


다음과 같이 Apple 클래스를 정의하고, 이를 분류하기 위하여 GetFilterApple 이라는 함수를 정의했다고 합시당.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    /**
     * 사과 객체를 분류하기 위한 함수
     * 
     * @param appleList
     * @return
     */
    public static List<Apple> GetFilterApple(List<Apple> appleList) {
        ArrayList<Apple> resultList = new ArrayList<>();
 
        for (Apple apple : appleList) {
            if ("green".equals(apple.getColor())) {
                resultList.add(apple);
            }
        }
 
        return resultList;
    }
cs


보기에는 단순해 보이는 코드이지만 여러 요구사항에 따라 필터로 하자는 조건이 늘어날 수 있습니다. 

(ㅡㅡ^ 변화를 사랑하는 개발자가 됩시다..)


그때마다 우리는 분류조건을 늘릴 것인가요?  

(선택지가 두개정도 보이네요...)


1. copy&paste


잘하는 것... 


각 메소드의 존재 이유는 해당 역할을 하기 위한 것이니, 위의 GetFilterApple 이라 하지말고,

GetFilterAppleForColor, GetFilterAppleForHeavy 등을 만들고 조건에 맞는 것을 Set으로 넘기면 되지 않나요? 


아래와 같이요..


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    /**
     * 사과 객체를 분류하기 위한 함수
     * 
     * @param appleList
     * @param wannaColor
     * @return
     */
    public static List<Apple> GetFilterApple(List<Apple> appleList, Set<String> wannaColor) {
        ArrayList<Apple> resultList = new ArrayList<>();
 
        for (Apple apple : appleList) {
            if (wannaColor.contain(apple.getColor())) {
                resultList.add(apple);
            }
        }
 
        return resultList;
    }
cs



명확한 해결일 수 있지만, copy&paste의 단점이라 할 수 있는, 한곳에 문제가 생기면 모두 변경해야한다. 아니 좋은 것 같네요....  


또한 이를 위해 끊임없는 메소드 를 정의해야할 것 같아 보입니다.



2. 일을 조금 더 추상화해보자.


일단 GetFilterApple이 filter라는 역할을 한다는 것에 중점을 맞출 때 변경될만한 부분은 필터 조건입니다. 이를테면 이 놈 -> "green".equals(apple.getColor())


이 부분을 추상화하고,  필요할 때마다 구체화시켜주면 해결될 문제자나요. 

OOP 에 많이 나오는 건데.. 


변하는 부분과 변하지 않는 부분을 분리하자.


맞습니다. 저 원리는 객체지향 개발론 책 한번이라도 봤으면 있는 원리 중 하나입니다.. 


이를 테면 다음과 같이 작업해 볼 수 있을 것 같네요.


사과를 분류하기 위한 인터페이스를 정의하고,


1
2
3
4
5
6
7
8
9
10
/**
 * 사과를 분류하기 위한 인터페이스
 * 
 * @author Doohyun
 *
 */
public interface AppleFilterAble {
    public boolean isContain(Apple apple);
}
 
cs


위에서 작성한 GetFilterApple이 해당 인터페이스를 사용하도록 하게 할게요. 이렇게 말이죠..


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    /**
     * 사과 객체를 분류하기 위한 함수
     * 
     * @param appleList
     * @param appleFilter
     * @return
     */
    public static List<Apple> GetFilterApple(List<Apple> appleList, AppleFilterAble appleFilter) {
        ArrayList<Apple> resultList = new ArrayList<>();
 
        for (Apple apple : appleList) {
            if (appleFilter.isContain(apple)) {
                resultList.add(apple);
            }
        }
 
        return resultList;
    }
cs


해당 메소드의 호출은 다음과 같이 익명 클래스를 정의하면 변화에 유연할 수 있을 것 같아 보이는 군요. 아래처럼 말이죠.


1
2
3
4
5
6
GetFilterApple(inventory, new AppleFilterAble(){
    @Override
    public boolean isContain(Apple apple){
        return "green".equals(apple.getColor());
    }
});
cs


좋은 방법입니다. 


하지만 이를 위해 인터페이스를 만들어야하고, 인스턴스를 생성해야합니다. 

귀차니즘......



3. 함수형 프로그래밍을 해보자


함수형프로그래밍에서 언급하는 메서드에 코드를 전달하는 기법의 대표적인 것은 함수 자체도 값으로써, 넘기자는 것입니다. 


여태까지 자바에서는 이를 지원하지 않았고, 자바8에서 비로소 지원을 할 수 있게 되었는데 이렇게 사용이 가능합니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Apple {
    private String color;
 
    public String getColor(){
        return color;
    }
 
    /**
     * 초록색 사과인가를 분류하고자 함.
     * 
     * @param apple
     * @return
     */
    public static boolean IsGreenApple(Apple apple) {
        return "green".equals(apple.getColor());
    }
}
 
cs


다음과 같이 IsGreenApple이라는 static 메소드를 선언 후, 

GetFilterApple을 JAVA8에서 새롭게 추가된 Predicate interface를 이용하여 다음과 같이 작성해줍니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    /**
     * 사과 객체를 분류하기 위한 함수
     * 
     * @param appleList
     * @param p
     * @return
     */
    public static List<Apple> GetFilterApple(List<Apple> appleList, Predicate<Apple> p) {
        ArrayList<Apple> resultList = new ArrayList<>();
 
        for (Apple apple : appleList) {
            if (p.test(apple)) {
                resultList.add(apple);
            }
        }
 
        return resultList;
    }
cs


"JAVA8 IN ACTION"에 따르면, 


Predicate 란 수학에서 true나 false를 반환하는 함수로써, 


이를 사용하는 것이 표준적인 방식이라 합니다. 또한 boolean을 Boolean으로 변환하지 않으니 효율적입니다.


호출은 아래와 같이 진행을 합니다.


1
GetFilterApple(inventory, Apple::IsGreenApple);
cs


매우 simple해졌네요. filter 역할을 해주는 static 메소드를 정의해 사용하면 됩니다. 

그런데, 함수형 프로그래밍을 하려면 static 메소드를 정의해야 하나요? 그렇다면 일일이 static 메소드를 또 만들어야하는데.. 1번의 copy&paste와 같은 문제가 있지 않나요?



4. 람다표현식


변화에 유연하게 대처하기 위해, 2번에서는 익명 클래스를 선언하여 해야할 일을 정의했습니다. 함수형에서는 이를 위해 존재하는 것이 람다 표현식이라 할 수 있을 것 같네요.


다음과 같이 말이죠.


1
GetFilterApple(inventory, (Apple a) -> "green".equals(a.getColor()))
cs


즉 한번만 사용될 메소드를 위해 함수를 정의하지 않고, 간단히 람다로 처리할 수 있습니다. 그러나 식 자체가 복잡해 진다면 함수를 따로 선언하고 넘기는 것을 권장합니다.


* 이로써 나오는 효과들은?


1. 코드가 간결해지고, interface 등을 따로 만들지 않아도 됩니다. (귀찮은 일이 줄었다..) 

이 것은 객체로 메소드를 감지 않고, 자바8의 메소드 레퍼런스 문법을 이용하여 직접 보낼 수 있음을 의미합니다.


2. 함수를 값으로써, 넘기겠다는 말은 프로그램이 실행되는 동안 컴포넌트 간 상호작용이 일어나지 않는다는 뜻이 될 수 있다고 합니다. 

이는 후에 stream에서 언급할 주제로, 병렬성에서 이득을 볼 수 있는 여지를 줄 수 있는 것 처럼 보이네요. 

(자바8에서의 병렬성에 대한 이야기는 매우 중요합니다.) 




Functional_tutorial.zip




자바 8 인 액션
국내도서
저자 : 라울-게이브리얼 우르마(RAOUL-GABRIEL URMA),마리오 푸스코(MARIO FUSCO),앨런 마이크로프트(ALAN MYCROFT) / 우정은역
출판 : 한빛미디어 2015.04.01
상세보기





반응형
Posted by N'

요새 SNS에서 팔로우한 개발자 커뮤니티 이야기를 들어보면, 

함수형 프로그래밍이라는 개발 방법론이 많이 나오는 것을 봤습니다.


대학교 때 (아직도 대학생이지만 ㅡㅡ^), 객체 지향 개발론을 가르치시던 

교수님도 언급을 했었고, 멤버십 시절에도 이야기만 들어봤지만 

애써, 이리바쁘다 저리바쁘다 외면했었습니다. (좋은 것은 아닌데....)


최근 SNS에서 이를 풍자한 만화의 비유에 따르면

"나무를 도끼로 잘 베던 나무꾼이 전기톱이 나왔음에도 불구하고 전기톱을 사용하질 못하는 이야기" 가 있었는데요.


풍문으로는 "객체지향과 상극이다" 라는 이야기도 있었지만 함수형 프로그래밍이 자바8에 도입이 되었고, 향후 코딩하는 것으로 밥먹고 살아야한다면 한번쯤을 거쳐가야할 것이 아닌가라는 생각이 들었습니다.


실제 전기톱의 역할이 되어줄 지는 모르겠으나, 천천히 하자는 시작으로 책 한 권 "JAVA8 IN ACTION"을 바탕으로 블로그를 해보며 전기톱 설명서를 읽어보려 합니다.


많이 읽어주십쇼 (꾸벅)


자바 8 인 액션
국내도서
저자 : 라울-게이브리얼 우르마(RAOUL-GABRIEL URMA),마리오 푸스코(MARIO FUSCO),앨런 마이크로프트(ALAN MYCROFT) / 우정은역
출판 : 한빛미디어 2015.04.01
상세보기

 


반응형
Posted by N'

0. "대한항공 박 사무장 징계 시도한 적 없다…단순 안내 메일" similar words 

   ---> 원본
   ---> 대한항공
   ---> 진단서
   ---> 사무장
   ---> 박

1. "[뉴욕개장] 스위스 최저환율제 폐지 충격 벗어나 상승 개장" similar words 

   ---> 대비
   ---> 지수
   ---> 전장
   ---> 상승
   ---> 증시

2. "강남, 데뷔 초 공개 나 진짜 잘생겼네 스타일 변신" similar words 

   ---> 강남
   ---> 모습
   ---> 머리
   ---> 나 혼자 산다
   ---> 데뷔

3. "美 12월 cpi 전월比 0.4% ↓…6년래 최대 하락폭" similar words 

   ---> 대비
   ---> 기록
   ---> 하락
   ---> 전월
   ---> 이후

4. "성인 adhd 증상 주의력 결핍 과잉 행동 장애 방치하면 나타나" similar words 

   ---> adhd
   ---> 성인
   ---> 환자
   ---> 사람
   ---> 원인

5. "美 12월 산업생산 전월比 0.1% ↓…월가 예상 0.2%" similar words 

   ---> 생산
   ---> 감소
   ---> 산업
   ---> 지난해
   ---> 대비

6. "나혼자 산다 강남, 데뷔초 모습공개 ‘세련된 댄디남’…반전" similar words 

   ---> 강남
   ---> 모습
   ---> 혼자
   ---> 나
   ---> 머리

7. "영화 ‘국제시장’ 열풍…‘변호인’ 넘을까?" similar words 

   ---> 변호인
   ---> 국제시장
   ---> 관객
   ---> 영화
   ---> 시대

8. "[뉴스쇼 판] 전재국, 고가 그림 숨겨뒀다 덜미…檢 구상권도 행사" similar words 

   ---> 검찰
   ---> 재국
   ---> 시공사
   ---> 작품
   ---> 그림

9. "공운위, 장석효 가스공사 사장 해임결의" similar words 

   ---> 사장
   ---> 해임
   ---> 이상
   ---> 대통령
   ---> 사실

10. "[미리보는 동아일보]거리로 내몰린 ‘베이비붐 세대’" similar words 

   ---> 대통령
   ---> 전직
   ---> 거리
   ---> 스위스
   ---> 가치

11. "[뉴스쇼 판] 1달러=1유로 시대 임박…유럽 여행객 급증" similar words 

   ---> 유럽
   ---> 유로화
   ---> 여행
   ---> 가치
   ---> 여행객

12. "[뉴스쇼 판] 육군 일병, 총기 소지한채 근무지 이탈…일대 수색" similar words 

   ---> 일병
   ---> 수색
   ---> 목포
   ---> 군
   ---> 근무

13. "안산 인질범 김상훈, 딸 성폭행시도까지? 경악" similar words 

   ---> 김상훈
   ---> 작은딸
   ---> a
   ---> 서울신문
   ---> 인질범

14. "野 자문단 야당 대안 못 돼...국민들 답답" similar words 

   ---> 국민
   ---> 정당
   ---> 회의
   ---> 자문
   ---> 구성

15. "이준석 미숙한 일처리 반성…공식 경로로 보고 김무성 대표에 전달" similar words 

   ---> 청와대
   ---> 위원
   ---> 대표
   ---> 음
   ---> 그

16. "美 12월 산업생산 전월比 0.1% 감소..예상 웃돌아" similar words 

   ---> 생산
   ---> 산업
   ---> 감소
   ---> 지난해
   ---> 전월

17. "뉴욕 증시, 장 초반 약세..12월 cpi 대폭 하락" similar words 

   ---> 하락
   ---> 대비
   ---> 폭
   ---> cpi
   ---> 발표

18. "가스공사 장석효 사장, 결국 해임될 듯" similar words 

   ---> 해임
   ---> 사장
   ---> 보수
   ---> 동안
   ---> 건의안

19. "항공 유류할증료 한달만에 74%, 항공사 울상 소비자 활짝" similar words 

   ---> 할증료
   ---> 유류
   ---> 하락
   ---> 항공
   ---> 노선

20. "대통령 지지율 35%, 취임 후 최저치…도대체 왜?" similar words 

   ---> 평가
   ---> 대통령
   ---> 부정
   ---> 지지
   ---> p

21. "열차 속 노란풍선" similar words 

   ---> 열차
   ---> 세월호
   ---> 용산역
   ---> 서울
   ---> 청년

22. "北 김여정 키 오빠와 엇비슷…엄마 유전자?" similar words 

   ---> 김여정
   ---> 김정은
   ---> 키
   ---> 북한
   ---> 공장

23. "김재원 세금도둑 발언 “세월호 진상규명위 세금도둑 작태” 무슨 이유?" similar words 

   ---> 도둑
   ---> 세금
   ---> 규명
   ---> 진상
   ---> 급

24. "檢, ‘조사위 사건’ 수임 민변 변호사 수사" similar words 

   ---> 변호사
   ---> 조사
   ---> 위
   ---> 민변
   ---> 규명

25. "‘차량의전 로비 의혹’ 김광두는 누구?" similar words 

   ---> 동영상
   ---> 대통령
   ---> 자세
   ---> 국가
   ---> 정치부

26. "문재인 “민심을 보라” vs 박지원 “당심 내편”" similar words 

   ---> 후보
   ---> 당
   ---> 문재인
   ---> 박지원
   ---> 인터뷰

27. "새정치연합 첫 국정자문회의…올드보이 귀환" similar words 

   ---> 인터뷰
   ---> 새정치민주연합
   ---> 야당
   ---> 국민
   ---> 국정자문회의

28. "박 대통령 지지율 35%…무너진 ‘콘크리트층’" similar words 

   ---> 지지
   ---> 대통령
   ---> 기자회견
   ---> 평가
   ---> 신년

29. "함안군, 구제역·ai 방역 활동에 총력" similar words 

   ---> 사진
   ---> 영상
   ---> 뉴시스
   ---> 함안군
   ---> 제보

30. "우크라 대통령 동부지역으로 새 전투부대 배치" similar words 

   ---> 대통령
   ---> 우크라이나
   ---> 지역
   ---> 징집
   ---> 반군

31. "이준석 고자질이라는 비판도 달게 받겠다" similar words 

   ---> 위원
   ---> 비대
   ---> 생각
   ---> 음
   ---> 전달

32. "만나고 싶었습니다" similar words 

   ---> 세월호
   ---> 서울
   ---> 용산역
   ---> 열차
   ---> 기자

33. "파리 우체극 인질극 종료…인명피해 없어 (상보)" similar words 

   ---> 현지
   ---> 시간
   ---> 김
   ---> 인질
   ---> 인질극

34. "어린이집 가해 교사 영장…뺨 가격 2건-베개 투척 등 추가 폭력 4건 추가" similar words 

   ---> a
   ---> 아동
   ---> 추가
   ---> 어린이집
   ---> 경찰

35. "[나침반]르네상스 서울 호텔 “딸기 뷔페 문턱 낮췄어요. 맘껏 즐기세요”" similar words 

   ---> 딸기
   ---> 호텔
   ---> 서울
   ---> 디저트
   ---> 르네상스

36. "“종말의 날처럼…” 中 ‘최악 스모그’ 한반도 습격" similar words 

   ---> 스모그
   ---> 베이징
   ---> 중국
   ---> 이번
   ---> 공항

37. "2015 청춘열차 출발합니다" similar words 

   ---> 서울
   ---> 용산역
   ---> 세월호
   ---> 열차
   ---> 청년

38. "북한, 범죄자 소탕 ‘100일 전투’ 왜?" similar words 

   ---> 김정은
   ---> 탁
   ---> 북한
   ---> 동영상
   ---> 자세

39. "농해양수산위원회, 합천군 구제역 방역현장 방문" similar words 

   ---> 사진
   ---> 뉴시스
   ---> 영상
   ---> com
   ---> newsis

40. "2015 청춘열차 출발합니다" similar words 

   ---> 열차
   ---> 서울
   ---> 용산역
   ---> 세월호
   ---> 청년

41. "2015 청춘열차 출발합니다" similar words 

   ---> 열차
   ---> 세월호
   ---> 서울
   ---> 용산역
   ---> 시간

42. "세월호 청춘열차" similar words 

   ---> 세월호
   ---> 사진
   ---> 열차
   ---> 유가족
   ---> 팽목항

43. "박상학 “전단 살포 신중히 고려”…北 화답할까?" similar words 

   ---> 북한
   ---> 살포
   ---> 전단
   ---> 통일부
   ---> 대표

44. "미끄럼틀부터 생리대까지…軍이 다 만드는 北" similar words 

   ---> 북한
   ---> 군부대
   ---> 미끄럼틀
   ---> 제작
   ---> 자체

45. "北 “영화 ‘인터뷰’ 막아라”…미얀마에 압력" similar words 

   ---> 복제
   ---> 인터뷰
   ---> 단속
   ---> 본
   ---> 미얀마

46. "미국 12월 소비자물가 0.4%↓…6년간 최대폭 하락" similar words 

   ---> 지난해
   ---> cpi
   ---> 상승
   ---> 폭
   ---> 하락

47. "뜻깊은 기차여행 나선 세월호 세대들" similar words 

   ---> 열차
   ---> 세월호
   ---> 서울
   ---> 용산역
   ---> 청년

48. "2015 청춘열차 발대식" similar words 

   ---> 서울
   ---> 세월호
   ---> 용산역
   ---> 열차
   ---> 청년

49. "어린이집 가해 교사 영장-추가 학대 확인, 따귀 때리고 밀고…너무 사랑해서" similar words 

   ---> 추가
   ---> 경찰
   ---> 확인
   ---> 어린이집
   ---> 교사

50. "미국 12월 소비자물가 0.4%↓…6년 만에 최대폭 하락" similar words 

   ---> 하락
   ---> 소비자물가지수
   ---> 미국
   ---> 폭
   ---> 전

51. "용산역에 모인 세월호 세대들" similar words 

   ---> 서울
   ---> 용산역
   ---> 세월호
   ---> 열차
   ---> 기자

52. "양미리 효능, 숙취 해소-골다공증 예방-다이어트 도움" similar words 

   ---> 양미리
   ---> 효능
   ---> 때
   ---> 효과
   ---> 칼슘

53. "흰개미 집어먹은 이태임… 경악" similar words 

   ---> 흰개미
   ---> 이태임
   ---> 장동우
   ---> sbs
   ---> kr

54. "어린이집 가해 교사 영장, 폭행은 아니다?" similar words 

   ---> 추가
   ---> 어린이집
   ---> a
   ---> 교사
   ---> 학대

55. "보험사 가계대출 74조원, 보험사 아파트담보대출 상품 주목해 금리비교 해 봐야..." similar words 

   ---> 대출
   ---> 금리
   ---> 담보
   ---> 비교
   ---> 보험사

56. "정치권, 뒤늦게 “안심 보육”…법안은 낮잠" similar words 

   ---> 어린이집
   ---> 보육
   ---> 대표
   ---> 대책
   ---> 의원

57. "아파트담보대출금리비교 사이트 “변동금리·고정금리 담보대출상품 맞춤 설계”" similar words 

   ---> 금리
   ---> 대출
   ---> 은행
   ---> 담보
   ---> 변동

58. "연이은 기준금리 동결에 아파트담보대출 금리비교 문의 늘어" similar words 

   ---> 대출
   ---> 금리
   ---> 비교
   ---> 주택
   ---> 담보

59. "프랑스서 또 인질극…유럽 ‘테러와의 전쟁’" similar words 

   ---> 테러
   ---> 파리
   ---> 인질극
   ---> 프랑스
   ---> 준비

60. "화성탐사선 `비글2호` 11년 만에 화성표면서 확인" similar words 

   ---> 화성
   ---> 표면
   ---> 착륙
   ---> 비글 2호
   ---> 영국

61. "김재원 세월호 세금도독 발언 눈길… 우리 국회가 절대 용서 안해" similar words 

   ---> 세금
   ---> 도둑
   ---> 김재원
   ---> 위
   ---> 규명

62. "맥아피 창업자 소니해킹 북한소행 아니다 단언" similar words 

   ---> 북한
   ---> 피
   ---> 맥아
   ---> 주장
   ---> fbi

63. "용산역에 모인 세월호 세대들" similar words 

   ---> 세월호
   ---> 서울
   ---> 용산역
   ---> 열차
   ---> 기자

64. "미국 작년 물가상승률 6년래 최저" similar words 

   ---> 미국
   ---> 하락
   ---> 물가
   ---> 대비
   ---> 기록

 

 

 

중복되는 url을 걸러내고, 기사 대비 주요단어를 추출할 수 있었다. 비교적 만족할 수 있는 결과이다.

 


0. "대한항공 박 사무장 징계 시도한 적 없다…단순 안내 메일" similar doucments 


1. "[뉴욕개장] 스위스 최저환율제 폐지 충격 벗어나 상승 개장" similar doucments 


2. "강남, 데뷔 초 공개 나 진짜 잘생겼네 스타일 변신" similar doucments 

  --> 나혼자 산다 강남, 데뷔초 모습공개 ‘세련된 댄디남’…반전 [0.7353]


3. "美 12월 cpi 전월比 0.4% ↓…6년래 최대 하락폭" similar doucments 

  --> 미국 작년 물가상승률 6년래 최저 [0.4622]

  --> 뉴욕 증시, 장 초반 약세..12월 cpi 대폭 하락 [0.4675]

  --> 미국 12월 소비자물가 0.4%↓…6년간 최대폭 하락 [0.5228]


4. "성인 adhd 증상 주의력 결핍 과잉 행동 장애 방치하면 나타나" similar doucments 


5. "美 12월 산업생산 전월比 0.1% ↓…월가 예상 0.2%" similar doucments 

  --> 美 12월 산업생산 전월比 0.1% 감소..예상 웃돌아 [0.7586]


6. "나혼자 산다 강남, 데뷔초 모습공개 ‘세련된 댄디남’…반전" similar doucments 

  --> 강남, 데뷔 초 공개 나 진짜 잘생겼네 스타일 변신 [0.7353]


7. "영화 ‘국제시장’ 열풍…‘변호인’ 넘을까?" similar doucments 


8. "[뉴스쇼 판] 전재국, 고가 그림 숨겨뒀다 덜미…檢 구상권도 행사" similar doucments 


9. "공운위, 장석효 가스공사 사장 해임결의" similar doucments 

  --> 가스공사 장석효 사장, 결국 해임될 듯 [0.6112]


10. "[미리보는 동아일보]거리로 내몰린 ‘베이비붐 세대’" similar doucments 


11. "[뉴스쇼 판] 1달러=1유로 시대 임박…유럽 여행객 급증" similar doucments 


12. "[뉴스쇼 판] 육군 일병, 총기 소지한채 근무지 이탈…일대 수색" similar doucments 


13. "안산 인질범 김상훈, 딸 성폭행시도까지? 경악" similar doucments 


14. "野 자문단 야당 대안 못 돼...국민들 답답" similar doucments 

  --> 새정치연합 첫 국정자문회의…올드보이 귀환 [0.5232]


15. "이준석 미숙한 일처리 반성…공식 경로로 보고 김무성 대표에 전달" similar doucments 

  --> 이준석 고자질이라는 비판도 달게 받겠다 [0.6923]


16. "美 12월 산업생산 전월比 0.1% 감소..예상 웃돌아" similar doucments 

  --> 뉴욕 증시, 장 초반 약세..12월 cpi 대폭 하락 [0.4590]

  --> 美 12월 산업생산 전월比 0.1% ↓…월가 예상 0.2% [0.7586]


17. "뉴욕 증시, 장 초반 약세..12월 cpi 대폭 하락" similar doucments 

  --> 美 12월 산업생산 전월比 0.1% 감소..예상 웃돌아 [0.4590]

  --> 美 12월 cpi 전월比 0.4% ↓…6년래 최대 하락폭 [0.4675]


18. "가스공사 장석효 사장, 결국 해임될 듯" similar doucments 

  --> 공운위, 장석효 가스공사 사장 해임결의 [0.6112]


19. "항공 유류할증료 한달만에 74%, 항공사 울상 소비자 활짝" similar doucments 


20. "대통령 지지율 35%, 취임 후 최저치…도대체 왜?" similar doucments 

  --> 박 대통령 지지율 35%…무너진 ‘콘크리트층’ [0.5375]


21. "열차 속 노란풍선" similar doucments 

  --> 만나고 싶었습니다 [0.9594]

  --> 2015 청춘열차 발대식 [0.9803]

  --> 용산역에 모인 세월호 세대들 [0.9713]

  --> 2015 청춘열차 출발합니다 [0.9594]

  --> 2015 청춘열차 출발합니다 [0.9594]

  --> 2015 청춘열차 출발합니다 [0.9594]

  --> 세월호 청춘열차 [0.4536]

  --> 뜻깊은 기차여행 나선 세월호 세대들 [0.9796]

  --> 용산역에 모인 세월호 세대들 [0.9713]


22. "北 김여정 키 오빠와 엇비슷…엄마 유전자?" similar doucments 


23. "김재원 세금도둑 발언 “세월호 진상규명위 세금도둑 작태” 무슨 이유?" similar doucments 

  --> 김재원 세월호 세금도독 발언 눈길… 우리 국회가 절대 용서 안해 [0.8310]


24. "檢, ‘조사위 사건’ 수임 민변 변호사 수사" similar doucments 


25. "‘차량의전 로비 의혹’ 김광두는 누구?" similar doucments 


26. "문재인 “민심을 보라” vs 박지원 “당심 내편”" similar doucments 


27. "새정치연합 첫 국정자문회의…올드보이 귀환" similar doucments 

  --> 野 자문단 야당 대안 못 돼...국민들 답답 [0.5232]


28. "박 대통령 지지율 35%…무너진 ‘콘크리트층’" similar doucments 

  --> 대통령 지지율 35%, 취임 후 최저치…도대체 왜? [0.5375]


29. "함안군, 구제역·ai 방역 활동에 총력" similar doucments 

  --> 농해양수산위원회, 합천군 구제역 방역현장 방문 [0.6797]

  --> 세월호 청춘열차 [0.4357]


30. "우크라 대통령 동부지역으로 새 전투부대 배치" similar doucments 


31. "이준석 고자질이라는 비판도 달게 받겠다" similar doucments 

  --> 이준석 미숙한 일처리 반성…공식 경로로 보고 김무성 대표에 전달 [0.6923]


32. "만나고 싶었습니다" similar doucments 

  --> 2015 청춘열차 발대식 [0.9765]

  --> 용산역에 모인 세월호 세대들 [0.9877]

  --> 열차 속 노란풍선 [0.9594]

  --> 2015 청춘열차 출발합니다 [0.9756]

  --> 2015 청춘열차 출발합니다 [0.9756]

  --> 2015 청춘열차 출발합니다 [0.9756]

  --> 세월호 청춘열차 [0.4604]

  --> 뜻깊은 기차여행 나선 세월호 세대들 [0.9594]

  --> 용산역에 모인 세월호 세대들 [0.9877]


33. "파리 우체극 인질극 종료…인명피해 없어 (상보)" similar doucments 


34. "어린이집 가해 교사 영장…뺨 가격 2건-베개 투척 등 추가 폭력 4건 추가" similar doucments 

  --> 어린이집 가해 교사 영장-추가 학대 확인, 따귀 때리고 밀고…너무 사랑해서 [0.7072]

  --> 어린이집 가해 교사 영장, 폭행은 아니다? [0.6953]


35. "[나침반]르네상스 서울 호텔 “딸기 뷔페 문턱 낮췄어요. 맘껏 즐기세요”" similar doucments 


36. "“종말의 날처럼…” 中 ‘최악 스모그’ 한반도 습격" similar doucments 


37. "2015 청춘열차 출발합니다" similar doucments 

  --> 만나고 싶었습니다 [0.9756]

  --> 2015 청춘열차 발대식 [0.9765]

  --> 용산역에 모인 세월호 세대들 [0.9877]

  --> 열차 속 노란풍선 [0.9594]

  --> 2015 청춘열차 출발합니다 [1.0000]

  --> 2015 청춘열차 출발합니다 [1.0000]

  --> 세월호 청춘열차 [0.4604]

  --> 뜻깊은 기차여행 나선 세월호 세대들 [0.9594]

  --> 용산역에 모인 세월호 세대들 [0.9877]


38. "북한, 범죄자 소탕 ‘100일 전투’ 왜?" similar doucments 


39. "농해양수산위원회, 합천군 구제역 방역현장 방문" similar doucments 

  --> 세월호 청춘열차 [0.4965]

  --> 함안군, 구제역·ai 방역 활동에 총력 [0.6797]


40. "2015 청춘열차 출발합니다" similar doucments 

  --> 만나고 싶었습니다 [0.9756]

  --> 2015 청춘열차 발대식 [0.9765]

  --> 용산역에 모인 세월호 세대들 [0.9877]

  --> 열차 속 노란풍선 [0.9594]

  --> 2015 청춘열차 출발합니다 [1.0000]

  --> 2015 청춘열차 출발합니다 [1.0000]

  --> 세월호 청춘열차 [0.4604]

  --> 뜻깊은 기차여행 나선 세월호 세대들 [0.9594]

  --> 용산역에 모인 세월호 세대들 [0.9877]


41. "2015 청춘열차 출발합니다" similar doucments 

  --> 만나고 싶었습니다 [0.9756]

  --> 2015 청춘열차 발대식 [0.9765]

  --> 용산역에 모인 세월호 세대들 [0.9877]

  --> 열차 속 노란풍선 [0.9594]

  --> 2015 청춘열차 출발합니다 [1.0000]

  --> 2015 청춘열차 출발합니다 [1.0000]

  --> 세월호 청춘열차 [0.4604]

  --> 뜻깊은 기차여행 나선 세월호 세대들 [0.9594]

  --> 용산역에 모인 세월호 세대들 [0.9877]


42. "세월호 청춘열차" similar doucments 

  --> 만나고 싶었습니다 [0.4604]

  --> 2015 청춘열차 발대식 [0.4496]

  --> 용산역에 모인 세월호 세대들 [0.4661]

  --> 열차 속 노란풍선 [0.4536]

  --> 2015 청춘열차 출발합니다 [0.4604]

  --> 농해양수산위원회, 합천군 구제역 방역현장 방문 [0.4965]

  --> 2015 청춘열차 출발합니다 [0.4604]

  --> 2015 청춘열차 출발합니다 [0.4604]

  --> 함안군, 구제역·ai 방역 활동에 총력 [0.4357]

  --> 뜻깊은 기차여행 나선 세월호 세대들 [0.4536]

  --> 용산역에 모인 세월호 세대들 [0.4661]


43. "박상학 “전단 살포 신중히 고려”…北 화답할까?" similar doucments 


44. "미끄럼틀부터 생리대까지…軍이 다 만드는 北" similar doucments 


45. "北 “영화 ‘인터뷰’ 막아라”…미얀마에 압력" similar doucments 


46. "미국 12월 소비자물가 0.4%↓…6년간 최대폭 하락" similar doucments 

  --> 미국 12월 소비자물가 0.4%↓…6년 만에 최대폭 하락 [0.5420]

  --> 美 12월 cpi 전월比 0.4% ↓…6년래 최대 하락폭 [0.5228]


47. "뜻깊은 기차여행 나선 세월호 세대들" similar doucments 

  --> 만나고 싶었습니다 [0.9594]

  --> 2015 청춘열차 발대식 [0.9803]

  --> 용산역에 모인 세월호 세대들 [0.9713]

  --> 열차 속 노란풍선 [0.9796]

  --> 2015 청춘열차 출발합니다 [0.9594]

  --> 2015 청춘열차 출발합니다 [0.9594]

  --> 2015 청춘열차 출발합니다 [0.9594]

  --> 세월호 청춘열차 [0.4536]

  --> 용산역에 모인 세월호 세대들 [0.9713]


48. "2015 청춘열차 발대식" similar doucments 

  --> 만나고 싶었습니다 [0.9765]

  --> 용산역에 모인 세월호 세대들 [0.9886]

  --> 열차 속 노란풍선 [0.9803]

  --> 2015 청춘열차 출발합니다 [0.9765]

  --> 2015 청춘열차 출발합니다 [0.9765]

  --> 2015 청춘열차 출발합니다 [0.9765]

  --> 세월호 청춘열차 [0.4496]

  --> 뜻깊은 기차여행 나선 세월호 세대들 [0.9803]

  --> 용산역에 모인 세월호 세대들 [0.9886]


49. "어린이집 가해 교사 영장-추가 학대 확인, 따귀 때리고 밀고…너무 사랑해서" similar doucments 

  --> 어린이집 가해 교사 영장…뺨 가격 2건-베개 투척 등 추가 폭력 4건 추가 [0.7072]

  --> 어린이집 가해 교사 영장, 폭행은 아니다? [0.6861]


50. "미국 12월 소비자물가 0.4%↓…6년 만에 최대폭 하락" similar doucments 

  --> 미국 12월 소비자물가 0.4%↓…6년간 최대폭 하락 [0.5420]


51. "용산역에 모인 세월호 세대들" similar doucments 

  --> 만나고 싶었습니다 [0.9877]

  --> 2015 청춘열차 발대식 [0.9886]

  --> 열차 속 노란풍선 [0.9713]

  --> 2015 청춘열차 출발합니다 [0.9877]

  --> 2015 청춘열차 출발합니다 [0.9877]

  --> 2015 청춘열차 출발합니다 [0.9877]

  --> 세월호 청춘열차 [0.4661]

  --> 뜻깊은 기차여행 나선 세월호 세대들 [0.9713]

  --> 용산역에 모인 세월호 세대들 [1.0000]


52. "양미리 효능, 숙취 해소-골다공증 예방-다이어트 도움" similar doucments 


53. "흰개미 집어먹은 이태임… 경악" similar doucments 


54. "어린이집 가해 교사 영장, 폭행은 아니다?" similar doucments 

  --> 어린이집 가해 교사 영장-추가 학대 확인, 따귀 때리고 밀고…너무 사랑해서 [0.6861]

  --> 어린이집 가해 교사 영장…뺨 가격 2건-베개 투척 등 추가 폭력 4건 추가 [0.6953]


55. "보험사 가계대출 74조원, 보험사 아파트담보대출 상품 주목해 금리비교 해 봐야..." similar doucments 

  --> 아파트담보대출금리비교 사이트 “변동금리·고정금리 담보대출상품 맞춤 설계” [0.7973]

  --> 연이은 기준금리 동결에 아파트담보대출 금리비교 문의 늘어 [0.8306]


56. "정치권, 뒤늦게 “안심 보육”…법안은 낮잠" similar doucments 


57. "아파트담보대출금리비교 사이트 “변동금리·고정금리 담보대출상품 맞춤 설계”" similar doucments 

  --> 보험사 가계대출 74조원, 보험사 아파트담보대출 상품 주목해 금리비교 해 봐야... [0.7973]

  --> 연이은 기준금리 동결에 아파트담보대출 금리비교 문의 늘어 [0.8305]


58. "연이은 기준금리 동결에 아파트담보대출 금리비교 문의 늘어" similar doucments 

  --> 보험사 가계대출 74조원, 보험사 아파트담보대출 상품 주목해 금리비교 해 봐야... [0.8306]

  --> 아파트담보대출금리비교 사이트 “변동금리·고정금리 담보대출상품 맞춤 설계” [0.8305]


59. "프랑스서 또 인질극…유럽 ‘테러와의 전쟁’" similar doucments 


60. "화성탐사선 `비글2호` 11년 만에 화성표면서 확인" similar doucments 


61. "김재원 세월호 세금도독 발언 눈길… 우리 국회가 절대 용서 안해" similar doucments 

  --> 김재원 세금도둑 발언 “세월호 진상규명위 세금도둑 작태” 무슨 이유? [0.8310]


62. "맥아피 창업자 소니해킹 북한소행 아니다 단언" similar doucments 


63. "용산역에 모인 세월호 세대들" similar doucments 

  --> 만나고 싶었습니다 [0.9877]

  --> 2015 청춘열차 발대식 [0.9886]

  --> 용산역에 모인 세월호 세대들 [1.0000]

  --> 열차 속 노란풍선 [0.9713]

  --> 2015 청춘열차 출발합니다 [0.9877]

  --> 2015 청춘열차 출발합니다 [0.9877]

  --> 2015 청춘열차 출발합니다 [0.9877]

  --> 세월호 청춘열차 [0.4661]

  --> 뜻깊은 기차여행 나선 세월호 세대들 [0.9713]


64. "미국 작년 물가상승률 6년래 최저" similar doucments 

  --> 美 12월 cpi 전월比 0.4% ↓…6년래 최대 하락폭 [0.4622]

 


문서 대비 문서에서 유사결과값 포착 이것역시 만족할 수 있는 결과이다.

 


비음수행렬 인수분해를 사용했었지만, 교체한 알고리즘이 성능이 더 좋기 때문에 이 알고리즘으로 밀고 나가도록 한다.

반응형
Posted by N'