본문 바로가기

기술들/Today I Learned

[Today I Learned] 7월 18일(토)

- 오늘 공부했던 부분.

1) 함수형 프로그래밍의 개념을 살펴보고, 배열 메소드인 reduce, filter, map, forEach에 대해 공부를 했습니다. 

2) 위 메소드들을 이용한 알고리즘 문제 풀이를 하였고 자연스럽게 배열로 함수형 프로그래밍 하는 연습을 했습니다.

 

 

- 공부하면서 생각했던 것.

reduce, filter 등의 메소드를 연습해 보면서 제가 받은 첫 느낌은 '불편하다' 였습니다. 메소드 안에 복잡하게 함수를 만들고 조건을 설정해서 새로운 결과를 반환하는 방법에 조금 복잡함을 느꼈습니다. 그렇지만 "아직까지 이 메소드가 이런식으로 존재하는 이유는 이렇게 표현하는게 가장 편하고 효율적인 방법이기 때문 아닐까?" 라는 생각으로 스스로를 합리화하며 열심히 문제를 풀었습니다. 

 

 

- 이해하고픈 부분.

왜 함수형 프로그래밍을 쓰는지.

 

함수형 프로그래밍의 장점(출저 : medium.com)

  1. 변경 가능한 상태를 불변상태(Immutab)로 만들어 SideEffect를 없앨수 있다.
  2. 모든 것은 객체이다.
  3. 코드를 간결하게 하고 가독성을 높여 구현할 로직에 집중할 수 있다.
  4. 동시성 작업을 보다 쉽게 안전하게 구현한다.

1,2,3,4 모두 완벽하게 이해가 되진 않지만 무슨 느낌인지는 알 것 같다. 이 부분에 대해 더 깊게 공부해서 관련 글을  게시해야겠다.

 

'기술들 > Today I Learned' 카테고리의 다른 글

[Today I Learned] 8월 9일(일)  (0) 2020.08.09
[Today I Learned] 8월 3일(월)  (0) 2020.08.03
[Today I Learned] 7월 26일(일)  (0) 2020.07.26
[Today I Learned] 7월 23일(목)  (0) 2020.07.23
[Today I Learned] 7월 21일(화)  (0) 2020.07.21