일을 하면서 stream을 사용하였고, 절차지향적인 언어를 stream을 사용해서 한줄로 작성된 코드를 읽기가 어색했다.

 

함수형 프로그래밍을 처음본것은 2017년쯤 Hadoop에서 데이터를 가져와서 spark, scala를 통해서 데이터를 가지고 놀때였던것 같다. 회사일에 대한 공부는 했지만, map, reduce를 써서, 데이터를 나눠서 동시에 처리하여 데이터 분석을 하였다. 그때는 http://www.postechx.kr/ko 에서 가입하여 강의도 듣고 그랬는데, 현재 들어가보니, 없어진것 같기도하고 MOOC로 변경된것 같기도 하다.

 

Java8을 이유는 회사일을 하면서 동시성을 제어해야하는 이슈가 있었다. 하나의 자원을 여러곳에서 사용하면서도 효율적으로 사용하는 것. Spring Boot와 Akka 라이브러리를 사용하여, Atomic 단위로 lock을 걸어 사용하는 부분도 있지만, 언어차원에서 해당 내용을 컨트롤 할수있다.(Akka에서 사용하는 동시성 제어와 Java8에서 사용하는 동시성 제어가 어느 레이어에서 차이점이 있고, 아니면 같은 역할을 하는지 좀더 공부후에 추후에 다뤄야겠다.)

 

또한, filter를 통해 if의 사용을 줄이려는 의도도 있다.

 

 

https://engineering.linecorp.com/ko/blog/functional-programing-language-and-line-game-cloud/

 

함수형 프로그래밍 언어에 대한 고찰 - LINE ENGINEERING

안녕하세요, LINE에서 게임 플랫폼을 개발하는 주니어 개발자 김부성, 이재호입니다. 저희는 LINE Game Cloud가 함수형 프로그래밍 언어 중 하나인 Clojure로 구현되어 있는 것을 보고 함수형 프로그래

engineering.linecorp.com

https://github.com/JKKorea/jkStudy/tree/master/java-8-study

 

JKKorea/jkStudy

Contribute to JKKorea/jkStudy development by creating an account on GitHub.

github.com

 

 

 

https://download.hanbit.co.kr/exam/2179/

'개발 > Java8' 카테고리의 다른 글

#4 FunctionalInterface  (0) 2021.06.08
#3 Optional  (0) 2021.06.08
#2 final, 람다  (0) 2021.05.31
Posted by 커다란꼬꼬마

블로그 이미지
커다란꼬꼬마

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함