scala

Scala에서 val, var 차이

August 4, 2017 Code

요세 Java를 공부하기는 싫고 JVM에서 도는 걸 찾다가. Scala쪽으로 어떤분이 약을 파셔서 약을먹었다. 초기 공부는 역시 홈페이지에 있는 문서를 기반으로… Scala Tour 를 보다 Classes에 갔더니 예제로 다음 과...

Reactive Programming 5, Actor

December 27, 2014 Blog

(http://prabhubuzz.wordpress.com) Actor 는 원래 1973년에 인공지능 연구를 위해 개발되었는데, 1995년에는 Erlang/OTP 에서 텔레커뮤니케이션 플랫폼을 위해 사용되기도했다. 2006년에는 스칼라 스탠다드 라이브러리로 구현되었고, 2009년에는 Akka 가 만들어졌다. Why Actors? 액터가...

Reactive Programming 4, Observable, Rx

December 26, 2014 Blog

지난시간엔 단일 데이터에 대해 latency 를 지원하는 Future, Promise 에 대해서 알아봤다. 이번에는 컬렉션에서 latency 를 지원하는 방법인 Observable 을 배워보자. One Many Synchronous T/Try[T] Iterable[T] Asynchronous Future[T]...

Reactive Programming 3, Futures, Promises

December 21, 2014 Blog

이번시간엔 Try, Future, Awaitable, Async, Promise 에 대해 알아본다. 모나드가 삶을 윤택하게 하리라 Monads and Effects 프로그래밍에서 4가지 본질적 effects 는 One Many Synchronous T/Try[T] Iterable[T] Asynchronous Future[T]...

Reactive Programming 2, Stateful

December 21, 2014 Blog

지금까지 우리가 작성한 프로그램은 side-effect free 였기 때문에, time 이 중요한 요소가 아니였다. 무슨말인고 하니, 모든 프로그램은 sequence of actions 에 대해 항상 같은 결과를 주게 되어있었다. 이건...

Reactive Programming 1, Monads

December 17, 2014 Blog

What is Reactive Programming? reactive 란 뜻은 React to events (event-driven) React to load (scalable) React to failures (resilient) React to users (responsive) Event-driven event-driven 을 통해 scalable,...

Functional Programming in Scala, Chapter 7

November 5, 2014 Blog

7주차에 걸친 대장정의 마지막이다. 이번시간에는 stream, lazy evaluation 에 대해 배우고 이걸 이용해 길이가 무한인 컬렉션을 만들어 보기도 하고 계산을 늦추는 것을 다양한 예제에 적용해 본다. Structural Induction...

Functional Programming in Scala, Chapter 6

October 24, 2014 Blog

지난 시간에는 referential transparency (참조투명성) 과 함수형 언어에서의 귀납법인 structural induction 에 대해서 배우고, 몇 개의 예제를 증명했었다. 이번 시간에는 스칼라의 컬렉션인 Seq, Set, Map 을 알아보고 마지막...

Functional Programming in Scala, Chapter 5

October 14, 2014 Blog

지난주엔 Scala 가 리스코프 치환 원칙 을 지키기 위해 어떻게 Variance(공변성) 을 문법적으로 지원하는지 알아보았다. 직접 List 컨테이너를 구현해 보면서 함수의 인자는 Covariant, 리턴타입은 Contravariant 란 것도 알게...

Functional Programming in Scala, Chapter 4

October 7, 2014 Blog

2014-10-07, Functional Programming in Scala, Coursera Types and Pattern Matching Functions as Objects In fact function values are treated as objects in Scala trait Function1[A, B] { def...

Partial Functions, Scala

October 4, 2014 Blog

Case? case 는 match 가 없어도 쓰일 수 있다. 예를 들어 val m1 = Map(1 -> "one", 2 -> "two") m1 foreach { case(k, v) => println(s"k ->...

new to Play Framework 2

October 2, 2014 Blog

Play Framework 를 배우기로 마음먹었다. 새로운 무언가를 마주쳤을때, 어떻게 해결할까를 위주로 서술했다. Installation 우선 설치를 해야했다. Play 를 배포하는 Typesafe 의 Getting Started 에 들어가서, 확인해보니 activator 라는...

Functional Programming in Scala, Chapter 3

September 30, 2014 Blog

2014-09-29, Functional Programming in Scala, Coursera 3.1 Class Hierarchies Abstract Classes abstract class 는 다른 언어의 그것과 같다. abstract class IntSet { def contains(x: Int): Boolean def incl(x:...

Functional Programming in Scala, Chapter 2

September 30, 2014 Blog

2014-09-27, Functional Programming in Scala, Coursera 2.1 Higher-Order Functions Higher-Order Functions Functional PL 에서는 함수를 first-class 로 다루는데, 이는 함수를 파라미터로 넘기거나 결과로 리턴할 수 있다는 소리다. 이렇게...

Scala for the Impatient, Chapter 1, 2, 3

September 26, 2014 Blog

Chapter 1 (1). 스칼라의 REPL 은 엄밀히 말해서 인터프리터가 아니다. 입력받은 코드를 자바 바이트코드로 컴파일 한 후 자바 가상머신에서 실행시킨뒤 결과를 돌려준다. (2). 스칼라는 문자열을 위한 추가적인 연산들을...

Functional Programming in Scala, Chapter 1

September 16, 2014 Blog

2014-09-16, Functional Programming in Scala, Coursera 1.1 Programming Paradigms Imperative Programming modifying mutable variables using assignment and control str such as if-then-else, loop breakl continue, return 절차적인 프로그래밍은...