Thumbnail
BEST
개발 · 프로그래밍 프로그래밍 언어

함수형 프로그래밍과 JavaScript ES6+ 대시보드

(4.9)
273개의 수강평 ∙  5,099명의 수강생

55,000원

지식공유자: 유인동
총 71개 수업 (8시간 7분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

초급자를 위해 준비한
[웹 개발, 프로그래밍 언어] 강의입니다.

ES6+와 함수형 프로그래밍을 배울 수 있는 강의입니다. 이 강좌에서는 ES6+의 이터러블/이터레이터/제너레이터 프로토콜을 상세히 다루고 응용합니다. 이터러블을 기반으로한 함수형 프로그래밍, map/filter/reduce, 파이프라인, 제너레이터를 통한 지연 평가, Promise 합성, 동시성/병렬성, async/await와 비동기 에러 핸들링 등을 배울 수 있습니다. 이 강좌를 습득하고 연습하여 중급 자바스크립트 개발자로 성장하세요!

✍️
이런 걸
배워요!
함수형 프로그래밍 방법론
최신 Javascript 프로토콜들의 의미와 사용법
동시성, 지연성, 함수 합성.. 등 고급 프로그래밍 기법들
비동기, 에러 핸들링 방법론

함수형 프로그래밍을 익히기 위한 최고의 강의!
중급 자바스크립트 개발자로 성장하세요!

함수형 프로그래밍과 JavaScript ES6+

ES6+와 함수형 프로그래밍을 배울 수 있는 강의입니다.

이 강의에서는 ES6+의 이터러블/이터레이터/제너레이터 프로토콜을 상세히 다루고 응용합니다.
이터러블을 기반으로한 함수형 프로그래밍, map/filter/reduce, 파이프라인, 제너레이터를 통한 지연 평가, Promise 합성, 동시성/병렬성, async/await와 비동기 에러 핸들링 등을 배울 수 있습니다.

이 강의를 통해 습득하고 연습하여 중급 자바스크립트 개발자로 성장하세요!

이런 분들에게 도움됩니다

함수형 프로그래밍
배우고 싶은 분

ES6+의 기술들을
깊게 다뤄보고 싶은 분

간결하고 우아한 코드를 작성하고 싶은 분

비동기 프로그래밍
능숙하게 하고 싶은 분

지연성/동시성/병렬성
자세히 알고 싶은 분

에러 핸들링을 하는 게
어려웠던 분

이터러블/이터레이터/제너레이터가 어려웠던 분

중급 JS개발자
성장하고 싶은 분

지식공유자의 한 마디


SICP(컴퓨터 프로그램의 구조와 해석)나, 프로그램 디자인 어떻게 할 것인가 같은 책들은 리스프의 매력과 함수형 프로그래밍의 이점을 한 껏 전달주며, 클로저 프로그래밍의 즐거움은 클로저와 함수형 프로그래밍이 즐겁다 말합니다.

저는 ES6+도 못지 않게 매력적인 언어라고 생각합니다. ES6+에서의 함수형 프로그래밍이 가진 매력과 이점을 전달하고 싶어 이 강의를 제작하게 되었습니다. 자바스크립트가 ES6+가 되면서 개발자들이 언어를 가지고 놀 수 있는 재밌는 규약들이 많이 만들어졌습니다. 또한 ES6+는 높은 수준의 함수형 프로그래밍을 할 수 있는 많은 기반을 갖추고 있습니다.

함수형 프로그래밍은 복잡한 문제를 간결한 코드로 해결하는 동시에 함수/비동기/지연성/동시성 등을 값으로 다뤄 적절한 시점에 평가하는식으로 높은 효율성을 얻는 특별한 아이디어들을 가지고 있습니다. 그리고 이것들은 너무나 재밌습니다. 이 강의에도 재밌는 코드들을 많이 담았습니다. 그 중 제너레이터를 통해 만든 지연된 이터레이터와 Promise를 합성한 코드가 특히 그렇다고 생각합니다. 이를 기반으로 Clojure의 코어 라이브러리인 reducers 같은 함수 세트도 ES6+로 구성해봅니다.

함수형 프로그래밍
제네레이터와 이터레이터
함수형 프로그래밍
reduce에서 nop 지원

이 자바스크립트 코드들은 아주 짧고 간결하며 잘 동작합니다! 좋은 표현력으로 무장한 ES6+와 간결하고 유연한 코드를 제공하는 함수형 프로그래밍을 즐겨보세요. :)


이 강의와 연관된 강의


강의 Q&A

Q. 기존에 올라온 무료 강의와 무엇이 다른가요?

약 8시간 7분의 내용 중 기존 강의와 중복되는 내용은 총 62분 정도이며, 나머지 7시간의 내용은 모두 새로운 내용입니다. 집필한 책에도 없는 내용이며, 모두 완전히 새로운 코드들 입니다. 그렇다고 기존 강의를 들으실 필요는 없습니다. 기존 강의 내용에서 군더더기를 덜어내고 62분으로 압축했습니다. 62분의 내용에서도 코드는 완전히 새로운 코드입니다. 커리큘럼을 통해 확인해보시면 됩니다! :)


이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
함수형 프로그래밍을 배우고 싶은 분
ES6+의 기술들을 깊게 다뤄보고 싶은 분
이터러블/이터레이터/제너레이터가 어려웠던 분
비동기 프로그래밍을 능숙하게 하고 싶은 분
지연성/동시성/병렬성에 대해 상세히 알고 싶은 분
에러 핸들링을 어떻게 해야 하는지 어려웠던 분
📚
선수 지식,
필요할까요?
JS 에 대한 기본 지식이 있는 분
고급 프로그래머로 성장하고 싶은 분
비동기, 에러 처리에 어려움을 느끼는 개발자

안녕하세요
유인동 입니다.
유인동의 썸네일
커리큘럼 총 71 개 ˙ 8시간 7분의 수업
이 강의는 영상, 수업 노트가 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 함수형 자바스크립트 기본기
강의자료
평가와 일급 02:37
일급 함수 미리보기 02:16
고차 함수 05:46
섹션 1. ES6에서의 순회와 이터러블:이터레이터 프로토콜
기존과 달라진 ES6에서의 리스트 순회 03:22
Array, Set, Map을 통해 알아보는 이터러블/이터레이터 프로토콜 15:42
사용자 정의 이터러블, 이터러블/이터레이터 프로토콜 정의 10:09
전개 연산자 01:51
섹션 2. 제너레이터와 이터레이터
제너레이터와 이터레이터 04:17
odds 미리보기 07:30
for...of, 전개 연산자, 구조 분해, 나머지 연산자 02:30
섹션 3. map, filter, reduce
map 미리보기 05:53
이터러블 프로토콜을 따른 map의 다형성 1 05:33
이터러블 프로토콜을 따른 map의 다형성 2 02:33
filter 05:12
reduce 06:46
reduce 2 미리보기 01:52
map+filter+reduce 중첩 사용과 함수형 사고 07:34
섹션 4. 코드를 값으로 다루어 표현력 높이기
go 04:37
pipe 04:13
go를 사용하여 읽기 좋은 코드로 만들기 01:55
go+curry를 사용하여 더 읽기 좋은 코드로 만들기 07:28
함수 조합으로 함수 만들기 02:45
섹션 6. 지연성 1
range와 느긋한 L.range 12:49
range와 느긋한 L.range 테스트 미리보기 02:00
take 06:20
제너레이터/이터레이터 프로토콜로 구현하는 지연 평가 04:12
L.map 03:44
L. filter 02:11
range, map, filter, take, reduce 중첩 사용 15:46
L.range, L.map, L.filter, take 의 평가 순서 미리보기 13:57
엄격한 계산과 느긋한 계산의 효율성 비교 05:06
map, filter 계열 함수들이 가지는 결합 법칙 03:13
ES6의 기본 규악을 통해 구현하는 지연 평가의 장점 01:47
섹션 7. 지연성 2
결과를 만드는 함수 reduce, take 03:25
queryStr 함수 만들기 미리보기 03:40 Array.prototype.join 보다 다형성이 높은 join 함수 미리보기 07:58
take, find 07:39
L.map, L.filter로 map과 filter 만들기 06:01
L.flatten, flatten 06:05
yield *, L.deepFlat
L.flatMap, flatMap 11:53
2차원 배열 다루기 05:33
이터러블 중심 프로그래밍 실무적인 코드 12:51
섹션 8. 비동기:동시성 프로그래밍 1
callback과 Promise 06:34
비동기를 값으로 만드는 Promise 05:45
값으로서의 Promise 활용 08:09
합성 관점에서의 Promise와 모나드 15:44
Kleisli Composition 관점에서의 Promise 15:51
go, pipe, reduce에서 비동기 제어 12:53
promise.then의 중요한 규칙 02:39
섹션 9. 비동기:동시성 프로그래밍 2
지연 평가 + Promise - L.map, map, take 12:14
Kleisli Composition - L.filter, filter, nop, take 16:36
reduce에서 nop 지원 09:15
지연 평가 + Promise의 효율성 03:35
지연된 함수열을 병렬적으로 평가하기 - C.reduce, C.take [1] 11:08
지연된 함수열을 병렬적으로 평가하기 - C.reduce, C.take [2] 13:53
즉시 병렬적으로 평가하기 - C.map, C.filter 03:35
즉시, 지연, Promise, 병렬적 조합하기 07:46
코드 간단히 정리 03:06
Node.js에서 SQL 병렬 평가로 얻은 효율 06:50
섹션 10. 비동기:동시성 프로그래밍 3
async:await 10:50
[QnA] Array.prototype.map이 있는데 왜 FxJS의 map 함수가 필요한지? 미리보기 11:11
[QnA] 이제 비동기는 async:await로 제어할 수 있는데 왜 파이프라인이 필요한지? 20:35
[QnA] async:await와 파이프라인을 같이 사용하기도 하는지? 02:14
[QnA] 동기 상황에서 에러 핸들링은 어떻게 해야하는지? 04:51
[QnA] 비동기 상황에서 에러 핸들링은 어떻게 해야하는지? 04:07
[QnA] 동기/비동기 에러 핸들링에서의 파이프라인의 이점은? 09:23
마무리하며
강의 게시일 : 2018년 12월 09일 (마지막 업데이트일 : 2023년 01월 17일)
수강평 총 273개
수강생분들이 직접 작성하신 수강평입니다.
4.9
273개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
임성훈 thumbnail
5
강의는 짧고 간결하고 군더더기가 없습니다. 근데 그깊이는 정말 최고입니다... 이짧은강의에 얼마나 많은 고민과 준비가 있는지 느껴지며 근본적으로 접근하여 이해하기도 매우좋습니다.
2019-09-24
지식공유자 유인동
ㅠㅡㅠ 감동이네요. 감사합니다!
2019-09-26
큰돌 thumbnail
5
최고 중의 최고입니다. 정말.. 함수형 프로그래밍을 책을 2권정도 보았는데 솔직히 모나드 어렵잖아요.. 근데 모나드 정말 쉽게 알려주시고.. promise 예도 잘들어주시고.. 질문답변도 최고세요..! 근데 정말 아쉬운점은 정말 목소리가 작아요..ㅠ 다음 강좌때는 목소리좀 올려주세요! 스피커 최대치로 해도 작더라구요..
2019-06-10
지식공유자 유인동
극찬이네요. 정말 감사합니다. 목소리를 좀 더 키워보겠습니다. : )
2019-06-10
sugbong2 thumbnail
5
제 코드는 구대기였다는 것을 깨달았습니다.
2020-05-28
지식공유자 유인동
아이고 자학 리뷰네요ㅋㅋ 흐흐 잼난 코딩하세요!
2020-05-28
만금 thumbnail
5
마른 오징어같은 강의.. 씹고 넘기려는데 조금 더 씹어보니 엑기스가 계속 나옴.. JS 기초를 다시 보고 이빨 보강한 뒤에 더 씹으러 와야겠다 엑기스를 더 뽑기엔 내 이빨이 부실함
2020-09-01
지식공유자 유인동
재밌는 극찬 리뷰 정말 감사합니다. ㅠㅠ 최대한 적은 시간에 함축적으로 많은 이야기를 담고 싶었는데 그렇게 느껴주셔서 정말 기쁩니다. 또 들려주세요 :)
2020-09-01
Haegul PYUN thumbnail
5
만약 노아가 살아있었다면 이 강의를 방주에 실었을 것이다.
2020-01-07
지식공유자 유인동
ㅋㅋㅋ 감사합니다. 정말 재미도 있고 힘도 나는 수강평이네요 ㅋ 감사해요 ㅋ
2020-01-08