backend/Scala_Play_Akka 7

[Akka] Akka Document - Actor Architecture (3) - Failure handling

이 글은 원문 : https://doc.akka.io/docs/akka/current/guide/tutorial_1.html 글을 읽고 간략하게 정리한 내용입니다. (생략된 내용도 있습니다.) Akka Version 2.5.12 Failure handling 부모와 자식은 라이프 사이클 전반에 걸쳐 연결된다. actor가 실패 할 때마다 (예외를 던지거나 처리되지 않은 예외가 receive에서 끊어지면) 일시적으로 일시 중단된다. 앞서 언급했듯이, 실패 정보는 부모에게 전달되며, 부모는 자식 actor에 의해 발생한 예외를 처리하는 방법을 결정합니다. 이런 식으로 부모는 자식을 감독하는 역할을 한다. 기본 수퍼바이저 전략은 자식을 중지했다가 다시 시작하는 것이다. 기본 전략을 변경하지 않으면 모든 실패로..

[Akka] Akka Document - Actor Architecture (2) - actor lifecycle

이 글은 원문 : https://doc.akka.io/docs/akka/current/guide/tutorial_1.html 글을 읽고 간략하게 정리한 내용입니다. (생략된 내용도 있습니다.) Akka Version 2.5.12 The actor lifecycle actor가 만들어지면 존재하게되고 나중에 사용자 요청에 따라 멈추게 된다. actor가 멈추면 모든 자식도 재귀적으로 멈춘다. 이 동작은 리소스 정리를 크게 단순화하고 열린 소켓 및 파일로 인해 발생하는 리소스 유출을 방지하는 데 도움이 된다. 사실 저수준 멀티 스레드 코드를 처리 할 때 일반적으로 간과되는 어려움은 다양한 동시 자원의 라이프 사이클 관리하는 것이다. actor를 정지 시키려면, actor 내에서 getContext().sto..

[Akka] Akka Document - Actor Architecture (1)

이 글은 원문 : https://doc.akka.io/docs/akka/current/guide/tutorial_1.html 글을 읽고 간략하게 정리한 내용입니다. (생략된 내용도 있습니다.) Akka Version 2.5.12 Part 1: Actor Architecture Akka를 사용하면 actor system 을 위한 인프라를 만들고 기본 동작을 제어하는 데 필요한 저수준 코드를 작성하지 않아도 된다. 이를 이해하기 위해 코드에서 생성한 actor와 Akka가 생성하고 관리하는 actor 사이의 관계, actor 라이프 사이클 및 오류 처리를 살펴본다. The Akka actor hierarchy Akka의 actor는 항상 부모에게 속한다. 일반적으로 context.actorOf ()를 호출하..

[Scala] Mac에서 Scala 설치

Mac에서 Scala 설치 설치 환경os : mac / jdk : 1.8 / 설치할 scala : 2.11.8 0. JDK 설치 확인 및 미설치시 먼저 설치할 것. 1. Scala 공식 홈페이지로 접속http://www.scala-lang.org/ 2. Download 버튼 클릭 후 현재 안정화 된 버전의 Scala 버전 다운로드 3. 다운받은 zip 파일을 적당한 곳(예: /usr/local)에 압축을 푼다. 4. SCALA_HOME Path 설정(예: ~/.profiles)아래와 같이 압축해제한 scala 폴더의 위치 HOME으로 설정후 bin 폴더를 PATH에 추가한다.export SCALA_HOME=/usr/local/scala-2.11.8 export PATH=$PATH:$SCALA_HOME/b..

[Play] Play설치(activator)

글 작성 기준 버전 : Play 2.5.x 참고 : https://www.playframework.com/documentation/2.5.x/Installing Prerequisites Play 2.5.x 버전은 java 1.8 을 필요로 한다. Play 설치 activator 다운로드 https://playframework.com/download에서 Offline Distribution 클릭하여 다운로드 받는다. /usr/local이나 쓰기권한있는 원하는 위치에 압축을 풀어준다. Path에 activator 추가. 자신의 profile 파일에 path를 추가한다. MacOS/Linux는 보통 $HOME/.profile 에 추가한다. (/etc/paths에 추가하기도 하고 자신이 쓰는 path 지정하면 ..

[Scala] Scala에서의 객체 동등성

Scala에서의 객체 동등성 동등성 : 두 객체의 내용이 같은지 비교. String Equality 테스트 == operator를 이용한 두개의 String instance 비교. val s1 = "hello" val s2 = "hello" val s3 = "h" + "ello" s1 == s2 res0: Boolean = true s1 == s3 res1: Boolean = true == 메소드는 String 이 null로 할당하여도 NullPointerException발생하지 않음. val s4: String = null s3 == s4 res2: Boolean = false s4 == s3 res3: Boolean = false 대문자나 소문자로 변환한 두개의 string도 == method를 이용..