이 강의는 함수형 프로그래밍이 처음인 개발자들을 대상으로, 기존의 사고 체계를 조금씩 바꿔나가는 데에 도움을 드리고자 이론과 실습으로 구성한 강의입니다.
함수형 프로그래밍의 기본 개념
Swift를 사용한 실무 프로젝트 구현
기존 프로그램을 함수형 프로그래밍 스타일로 리팩토링
동시성 문제 해결을 위한 함수형 프로그래밍 기법
위 강의 소개 동영상을 통해 어떤 내용을 배우게 될지 미리 파악하세요.
파트1 : 함수형 프로그래밍의 개념 파트2 : 자주 사용되는 기술을 실습을 통해 익힐 수 있도록 구성 파트3 : 이미 작성된 프로그램을 함수형 프로그래밍으로 변경해보기 파트4 : UI를 적용하는 iOS앱 개발
이제는 많은 개발자들이 배우고 싶어하는 함수형 프로그래밍
최근 몇 년간 함수형 프로그래밍, Functional Programming(FP)에 대한 관심이 무척이나 높아졌습니다. 각종 분야의 밋업이나 세미나에 갔을 때 FP에 대해 논하는 것은 흔한 풍경이 되었습니다. 특히 기존 코드를 FP 방식으로 리팩토링하는 모습을 보여주며, 이 좋은 것을 널리널리 쓰라는 이야기도 많이 들립니다. 하지만 많은 개발자들이 객체지향 프로그래밍 패러다임에 익숙한 상황에서, 새로운 패러다임으로 넘어가는 데에는 많은 노력이 필요합니다. 이것은 어떤 새로운 언어를 배우고 그 문법을 익혀서 쓰는 것과는 다른 이야기입니다.함수형 프로그래밍 패러다임으로 넘어가는 것은 왜 어려울까?
한 프로그래머가 가진 인식 체계(패러다임)은 프로그램의 구조를 설계하는 것 부터 소스코드를 짜기까지 모든 과정에 깊게 관여합니다. 이 프로그래머가 객체지향 프로그래밍 패러다임 속에서 평생을 프로그래밍 해온 사람이라고 가정할 때, 함수형 프로그래밍을 새롭게 배우는 데 있어서 이런 어려움이 따를 수 있습니다:
- 변수의 값을 변경하지 않는다는 것 자체가 이상하게 느껴집니다. 조금 더 개발자 친화적으로 표현하자면, state 없이 프로그래밍을 하라는 설명 자체가 너무나도 어색합니다.
- FP에서 등장하는 Currying 이라는 개념도 이상합니다. 함수를 만드는 함수를 만드는 함수를 만든다는 것(오타 아님)이 도대체 무슨 말인지 이해가 되질 않습니다.
- 데이터를 바꾸지 않으면서 프로그램의 행동을 제어한다는 것이 이상합니다. 그냥 다 이상하게 느껴집니다.
학습 대상은
누구일까요?
Swift 언어에 익숙한 분
프로그래밍 패러다임의 진화를 이해하고 싶은 분
실무 프로젝트에 함수형 프로그래밍을 적용하고 싶은 분
기존 코드베이스를 함수형 프로그래밍으로 전환하고 싶은 분
전체
29개 ∙ (1시간 25분)
강의 소개
02:57
프로그래밍 패러다임
02:03
FP가 재조명 받는 이유
02:23
FP에 대한 오해들
02:40
FizzBuzz(FP) - 1
05:33
FizzBuzz(FP) - 2
06:54
Low-High (FP) -1
12:10
Low-High (FP) - 2
06:42