맵리듀스라는건 리스프 계열에선 흔한 테크닉으로 후에 구글에서 검색엔진 구조를 이거로 했다고 하면서 급 조팝들까지 들어보게 된 웃기는 물건이지
함슬람 들에겐 익숙한 두가지 개념 맵+리듀스 합쳐서 맵리듀스 라고 부름
맵 연산은 다수의 값들과 연산을 입력으로 해서 가깍에 대해 연산을 수행하고 그 결과를 다시 리턴해 주는 거지. n개 입력되면 n개 출력.
리듀스란 다수의 값과 연산을 입력받아 하나의 결과값 리턴. 즉, n개 입력에 1개 출력.
이걸로 뭘 하느냐? 니가 존나 많은 값들에 대해 맵 연산 파이프라인을 통해 여러번 값들을 변경시키고 마지막에 리듀스 연산을 해서 하나의 답을 구하는데 사용한다.
클로져에서는 한발 더 나가서 트랜스듀서라는 것이 있어서 다수의 입력, 다수의 연산들, 리듀스 연산 이런 패턴임.
한줄요약: 함슬람이면 걍 자연스레 알고있는 개념
함슬람 들에겐 익숙한 두가지 개념 맵+리듀스 합쳐서 맵리듀스 라고 부름
맵 연산은 다수의 값들과 연산을 입력으로 해서 가깍에 대해 연산을 수행하고 그 결과를 다시 리턴해 주는 거지. n개 입력되면 n개 출력.
리듀스란 다수의 값과 연산을 입력받아 하나의 결과값 리턴. 즉, n개 입력에 1개 출력.
이걸로 뭘 하느냐? 니가 존나 많은 값들에 대해 맵 연산 파이프라인을 통해 여러번 값들을 변경시키고 마지막에 리듀스 연산을 해서 하나의 답을 구하는데 사용한다.
클로져에서는 한발 더 나가서 트랜스듀서라는 것이 있어서 다수의 입력, 다수의 연산들, 리듀스 연산 이런 패턴임.
한줄요약: 함슬람이면 걍 자연스레 알고있는 개념
즈어는 reduce 대신 foldr 씁니다.
트랜스듀서 신기해서 찾아봤는데 고차함수 커링하는거랑 무슨차이?
이걸로 묶은다음에 전에 진법변환기처럼 ->써서 풀고 그런건가
클로져의 트랜스듀서 구현은 병렬처리가 되는 부분