인프런의 무료 강의를 보고 따라해 보았다. 강의링크 강의는 1시간20분짜리이고, 실습까지 포함하여 2시간 정도 걸렸다. firebase가 실시간 db만 제공하는 것이 아니라 정적 웹 페이지 호스팅도 제공하고 있었다. 사용방법도 쉽고 여러 언어의 sdk가 제공되고 있어, 간단한 웹페이지를 만들때 활용할 수 있을 것 같다. fireba...
엄격한 함수와 엄격하지 않은 함수 엄격한 함수는 자신의 인수들을 항상 평가한다. 스칼라에서 기본적으로 모든 함수 정의는 엄격한 함수이다. def square(x: Double): Double = x * x square(41.0, + 1.0)으로 호출하면, 함수 square는 엄격한 함수이므로 평가된 값인 42.0을 받게된다. square(sys...
함수적 자료구조의 정의 순수 함수만으로 조작되는 자료구조. list a와 b 를 연결하면 두 list에는 변경이 일어나지 않고 새로운 list가 생성된다. 객체 복사가 많이 일어나는 것을 걱정하지 않아도 된다. List자료형은 singly linked list와 개념적으로 동일하다. trait는 추상 인터페이스로, 메서드의 구현을 담을 수도 ...
간단한 예제 object MyModule { def abs(n: Int): Int = if (n < 0) - n else n private def formatAbs(x: Int) = { val msg = "The absolute value of %d is %d" msg.format(x, abs(x)) } ...
함수형 프로그래밍이란 프로그램을 순수 함수(pure function)들로만, 다시 말해서 부수 효과(side effect)가 없는 함수들로만 구축한다는 것이다. 부수 효과 결과를 돌려주는것 이외의 어떤 일을 수행하는 함수. 예를 몇가지 들자면 다음과 같다. 변수를 수정한다. 예외(exception)를 던지거나 오류를 내면서 실행을 중단...
A new version of content is available.