Thumbnail
BEST 개발 · 프로그래밍 웹 개발
함수형 프로그래밍과 JavaScript ES6+
(4.9)
132개의 수강평 ∙ 2251명의 수강생

55,000원

지식공유자 : 유인동
총 71개 수업˙총 8시간 7분
평생 무제한 수강
수료증 발급 강의
입문 초급 대상 중급이상
내 목록 추가 1678 공유
초급자를 위해 준비한
[웹 개발, 프로그래밍 언어] 강의입니다.

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

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

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

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

도움이 되는 분들

  • 함수형 프로그래밍을 배우고 싶은 분
  • ES6+의 기술들을 깊게 다뤄보고 싶은 분
  • 이터러블/이터레이터/제너레이터가 어려웠던 분
  • 비동기 프로그래밍을 능숙하게 하고 싶은 분
  • 지연성/동시성/병렬성에 대해 상세히 알고 싶은 분
  • 에러 핸들링을 어떻게 해야 하는지 어려웠던 분
  • 간결하고 우아한 코드를 작성하고 싶은 분

지식 공유자 한마디

'SICP(컴퓨터 프로그램의 구조와 해석)'나, '프로그램 디자인 어떻게 할 것인가' 같은 책들은 리스프의 매력과 함수형 프로그래밍의 이점을 한 껏 전달주며, '클로저 프로그래밍의 즐거움]'은 클로저와 함수형 프로그래밍이 즐겁다 말합니다. 저는 ES6+도 못지 않게 매력적인 언어라고 생각합니다. ES6+에서의 함수형 프로그래밍이 가진 매력과 이점을 전달하고 싶어 이 강의를 제작하게 되었습니다. 자바스크립트가 ES6+가 되면서 개발자들이 언어를 가지고 놀 수 있는 재밌는 규약들이 많이 만들어졌습니다. 또한 ES6+는 높은 수준의 함수형 프로그래밍을 할 수 있는 많은 기반을 갖추고 있습니다.

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

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

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

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

연관된 강좌



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

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

55,000원

내 목록 추가 1678 공유
지식공유자 : 유인동
총 71개 수업˙총 8시간 7분
평생 무제한 수강
수료증 발급 강의
입문 초급 대상 중급이상
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의를
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스