# scala
[Scala] WartRemover
scala 의 lint tool 에는 대표적으로 Scalastyle, Wartremover, Scalafix 등이 있다.그 중 Wartremover 에 대해 알아보자.wart 란 '사마귀' 라는 뜻이다.사마귀 제거제 라는 이름부터가 lint 를 확실하게 해줄 것 같다.

[Scala] Generic
이 글은 Manning Functional Programming in Scala의 2.5절 Polymorphic functions를 읽고 작성한 글입니다.Manning Functional Programming in Scala 책에서 이전까지의 챕터에서는 단일형, 즉 동

[Scala] 고차 함수
이 글은 Manning Functional Programming in Scala의 Chapter2.4를 보고 작성한 글입니다. 고차 함수(High-Order Functions)란 함수 내의 인자로 함수로 받으며, 리턴값으로 함수를 리턴할 수 있는 것을 고차함수라고 한
scala compile
컴파일.... jar 아카이브.... 실행....(by scala) + 저장된 파일(README.wordcount_scala) 내용 확인....

[Scala] Type 키워드
우리는 type 키워드를 통해 복잡한 타입을 간단하게 선언할 수 있도록 도와준다.위는 type 키워드를 사용한 예시이다. row라는 새로운 타입은 List\[Int]를 축약한 키워드로 선언하였으며, matrix는 Listrow, 즉 List\[List\[Int]]를 축

[Scala] Partial Function
직역하면 Partial Function은 부분 함수이다. 이를 풀어 쓰면 다음과 같다. f:X → Y인 함수에 대한 부분 함수는 g:X' → Y이다. 이때, X'는 X의 subset이다.라는 것이 Partial Function의 정의이다.스칼라의 partial func

[Scala 오류]클래스에서 기본 메소드가 static이 아닙니다. 해결
문제 상황 프로젝트를 run시키는 과정에서 다음과 같은 오류를 만났다. `클래스에서 기본 메소드가 static이(가) 아닙니다. 다음 형식으로 기본 메소드를 정의하십시오. public static void main(String[] args)`라는 오류였다. 분명

[Scala] Persistent data structures
Akka Concurrency라는 책에서 persistenet data structures에 대해 간략적으로 다루었지만, 알아두는 것이 좋을거 같아 이렇게 따로 정리해둔다.함수형 프로그래밍 패러다임의 핵심적인 측면들 중 하나는 순수 함수들을 통해 불변의 값들을 변환하는

[Scala] 직렬화(Serialization)
직렬화는 Java에서 주로 사용되는 것으로 알고 있지만, Scala나 Akka에서도 사용된다. 그렇다면 직렬화가 무엇인지 정리할 예정이다.객체를 저장하거나 메모리, DB 혹은 파일로 옮기려면 직렬화 과정을 거쳐야 한다. 직렬화란 객체를 바이트 스트림으로 바꾸는 것으로,

[Scala] Generic
Scala는 Java 5(즉, JDK 1.5)와 같이 파라미터화된 클래스의 빌트인 자원을 제공한다. 즉, 클래스 내부에서 사용할 데이터 타입을 외부에서 지정할 수 있도록 하는 제네릭 클래스를 사용하면 유용하게 개발이 가능하다. 특히, 컬렉션 클래스의 개발에 유용하다.

[Scala] 예외 처리
Scala에서는 JVM 기반 언어의 최대 적인 NullPointerException을 functional하게 다룰 수 있는 다양한 수단을 제공하고 있다. 이러한 Exception handling 방법에는 Option, Either, Try가 존재한다.Scala에서는 O

[Scala] implicit
Akka를 공부하다가 예제에서 implicit라는 키워드를 사용하는 것을 보았다. 이 키워드가 정확하게 의미하는 것이 무엇인지 몰랐다. 따라서 implicit에 대해 정리하려고 한다. 또한, 이 내용은 Programming in Scala 4/e Chapter.21

[Scala] case object
앞쪽에서 case class는 class를 선언할 때 컴파일러에 몇 가지 부가기능을 추가하라는 명령어임을 공부하고 정리했었다. 그리고, 이 클래스는 패턴 매칭, 데이터의 모델링으로 사용되기도 했었다.그러면 case class와 유사해보이는 case object는 무엇일