코스 이미지

함수형 프로그래밍과 ES6+

코스 히어로 이미지

함수형 프로그래밍과 ES6+

Course by 유인동

🙆‍️ 이런걸 확실히 알려드릴 수 있어요.
  • ES6의 Iterable Iterator Generator Promise async await
  • 비동기, 동시성, 병렬성, 에러 핸들링에 대한 실무적인 대응 방식
  • 함수형 프로그래밍 자체에 대한 지식
🤷 어떤 사람이 들으면 되나요?
  • 동시성 프로그래밍을 효율적으로 구현하는 방법에 목마른 모든 분.
  • ES6+ 의 최신 기술을 실용적인 사례와 함께 배우고 싶은 분.
  • 함수형 프로그래밍을 실무에 적용하는 방법을 아직 모르는 분.
🙋 수강에 꼭 참고하세요.
  • 강의 예제 코드는 여기서 확인할 수 있습니다.
  • 한 번 구매하면 프로그래머스에서 평생 열람하실 수 있습니다.
  • 질문란은 강사님이 직접 답변해주십니다.
  • 강의가 마음에 드신다면, 평가도 꼭 남겨주세요!
  • 이메일 문의: learn@programmers.co.kr
💯 오프라인에서 검증이 이루어진 강의입니다.
지난 수강생들 사진
2018년 5월~6월 7주 간 진행했던 오프라인 강의 내용을 크게 강화한 버전이 이 온라인 강의입니다. 22명의 실제 웹 개발자 수강생들의 강의 평가, 후기를 통해 검증된 믿고 보는 강의입니다!
  • 김훈일님 인터뷰

    제 업무에 함수형 프로그래밍을 도입하고 나서 에러가 확연히 줄어서 좋습니다. FP는 결국 데이터 처리에 대한 패러다임이고, 데이터를 좀 더 제너럴하게 처리하는 것에 대해 한 번 더 생각을 하게 된 부분이 특히 도움이 되고 있습니다.

    수강생 김훈일님 ― GroundX 개발자
  • 김승미님 인터뷰

    언어를 다루고 바라보는 관점이 많이 달라졌습니다. 이제는 뭐 하나를 사용하더라도 왜 사용해야하고, 어떤 장단점이 있는지 알고 사용하게 되었습니다. 또한 문제를 만났을 때 어떤 방식으로 접근해야할지 인사이트가 생겼어요. 만들어내는 것 자체보다 조금 더 완성도가 높은 것을 만드는 방향으로 생각이 전환된 강의였습니다.

    수강생 김승미님 ― 후오비코리아 개발자
  • 김훈일님 인터뷰

    남들이 쉽게 설명하지 못하는 '왜 이렇게 해야하는지'에 대한 답변을 명쾌하게 해주십니다. 강의 목차 또한 어디서도 들을 수 없는 내용이었고요. 강의 내내 보고 학습하고 실제로 평가 시점을 마음대로 다루고, 여러 함수를 조합하고 함수에 대한 다형성, 추상화를 높이는 코드를 작성하며 성장하는 느낌을 받았습니다.

    수강생 조현우님 ― Naver Clova 소속 개발자
💎 왜 웹 개발에 함수형, 동시성을 강조하나요?

HTTP2로의 전환, 더 많고 다양한 양상을 보이는 데이터 통신, 더욱 중요해지는 실시간성, 애니메이션이 가미된 UI, UX 등으로 인해 웹 개발은 점차 복잡해지고 있습니다. 이런 상황에서 동시성에 대한 중요성이 크게 대두된 지 오래죠. 이를 잘 구현하는 것은 현재 많은 웹 개발자들이 직면한 과제이기도 합니다. 함수형 프로그래밍을 하면 동시적으로 일어나는 복잡한 일들을 간결하고 안전하게 제어할 수 있으며, 이를 통해 더 나은 동시성 프로그래밍을 할 수 있습니다.

👱🏼 강사 유인동 소개

이 강의는 다음의 세 도서를 참고하며 제작했습니다. SICP(컴퓨터 프로그램의 구조와 해석), 프로그램 디자인 어떻게 할 것인가, 클로저 프로그래밍의 즐거움. 이 책들은 함수형 프로그래밍과 리스프, 그리고 클로저 프로그래밍의 매력에 대해 잘 말해주고 있습니다. 저는 ES6+도 이들 못지 않게 매력적인 언어라고 생각합니다. ES6+에서의 함수형 프로그래밍이 가진 매력과 이점을 전달하고 싶어 이 강의를 제작하게 되었습니다.

자바스크립트가 ES6+가 되면서 개발자들이 언어를 가지고 놀 수 있는 재밌는 규약들이 많이 만들어졌습니다. 또한 ES6+는 높은 수준의 함수형 프로그래밍을 할 수 있는 기반도 갖추고 있습니다. 함수형 프로그래밍은 복잡성을 간결한 코드로 해결하는 동시에 함수/비동기/지연성/동시성 등을 값으로 다뤄 적절한 시점에 평가하는식으로 높은 효율성을 얻는 특별한 아이디어들을 가지고 있습니다. 그리고 이것들은 너무나 재밌습니다.

이 강의에도 재밌는 코드들을 많이 담았습니다. 그 중 제너레이터를 통해 만든 지연된 이터레이터와 Promise를 합성한 코드가 특히 그렇다고 생각합니다. 이를 기반으로 Clojure의 코어 라이브러리인 reducers 같은 함수 세트도 ES6+로 구성했습니다. 이 자바스크립트 코드들은 아주 짧고 간결하며 잘 동작합니다!

유인동 강사 이미지
유인동 강사 이미지

우리, 카카오톡 친구해요!

  • 프로그래머스 교육 카카오 채널을 만들었어요. 여기를 눌러, 친구 추가를 해주세요. 신규 교육 과정 소식은 물론 다양한 이벤트 소식까지 가장 먼저 알려드립니다.

파트1. 함수형 자바스크립트 기본기

질문 & 답변