-
[2025.02.17] 코틀린 함수형 프로그래밍 - 입문편 (인프런)후기/인터넷 강의 2025. 2. 17. 23:19728x90반응형
<코틀린 & 함수형 프로그래밍 입문, 제목이 딱 맞다>
목차
- 섹션 1. 강의소개 / 5개 ∙ (36분)
- 섹션 2. 코틀린 함수형 프로그래밍 문법 / 13개 ∙ (2시간 16분)
- 섹션 3. 함수형 프로그래밍 기초 / 4개 ∙ (55분)
- 섹션 4. 실무에 사용하는 함수형 프로그래밍 / 8개 ∙ (2시간 1분)
- 섹션 5. 마무리 / 1개 ∙ (2분)
잡설
함수형 프로그래밍을 들어본 건 2018년쯤이었던 것 같다(아마 그즈음 나는 프로그래머다 팟캐스트에서 많이 다뤘던 거 같기도 하고). 스칼라가 한창 인기를 타고, 자바스크립트가 그 뒤를 이었던 것 같다. 그러다 스칼라는 지고 더 쉬운 코틀린이 그 자리를 차지하였다. 불변성, 고차함수, 커링, 모나드 등의 용어가 유행하였고 (아직도 모나드는 잘 모르겠다) 개발자의 기본 지식처럼 인식이 되어 갔다. 자바 8에 들어온 함수형 정도만 다뤄 보았지 제대로 공부하거나 활용해보지는 않았다. 2021년 이직을 하면서부터 코틀린을 주력 언어로 사용하게 되었으니 코틀린으로 넘어온지 4년쯤 되어간다. 그럼에도 여전히 자바보다 조금 더 편리한 언어 수준으로 사용하고 있는 듯 느꼈다. 그러다 링크드인에 우연히 본 강의 홍보글을 보게 되었고 할인기간에 구입하게 되었다.
후기
함수형 프로그래밍의 특징으로 부수효과(side effect)가 없음은 많이 들어보았는데, 참조 투명성(referential transparency)은 생소했다. 이 두 요소를 가지고 순수 함수까지 설명해 주는 부분이 좋았다.
순수 함수의 특징
- 참조 투명성을 가짐: 동일한 입력에 대해 항상 동일한 결과를 반환합니다.
- 부수효과가 없음: 외부 상태를 변경하거나 상호작용을 하지 않음
(섹션 3 함수형 프로그래밍 기초 - 9_순수한 함수(Pure Function) 2:11 부분에서 발췌)또한 고차함수(Higher-Order Function)와 커링(currying)에 대해서도 코틀린으로 설명해 주어 좋았다. 함수를 인자로 받음, 함수의 결과로 함수를 반환은 참 재밌는 것 같다. 가독성을 해치지 않으면서도 유연하고 유지보수 좋은 코드를 작성할 수 있을지 고민이 된다.
뒷 부분에 Retry와 Cache를 구현하는 예시도 좋았다. 사실 해당 강의를 사게 된 결정적 이유가 Redis를 활용한 분산락 관련해서 서칭 하던 중에 카카오페이 기술블로그와 if kakao 발표를 보았기에 사도 되겠구나 판단을 하고 구입했다. AOP의 단점들을 손쉽게(?) 해결할 수 있는 강력한 언어임에 틀림없다. (자바도 버전이 빠르게 올라오고 있으나 잘 모르겠다)
다음 중급편도 기대가 된다. 조금 더 어렵고 실무에 활용할 만한 많은 내용들을 풀어주면 좋겠다.
반응형'후기 > 인터넷 강의' 카테고리의 다른 글
[2023.03.20] 토비의 스프링 부트 - 이해와 원리 (인프런) (0) 2023.03.20 [2022.07.14] 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (인프런) (0) 2022.07.14 [2021.08.16] 스프링 핵심 원리 - 기본편(인프런) (0) 2021.08.17 [2021.03.14] 모든 개발자를 위한 HTTP 웹 기본 지식 (인프런) (0) 2021.03.15 [2020.03.23][제작] 실무자가 알려주는 Git - 입문편 (인프런) (0) 2020.04.06