原创 Coursera Scala 5-2:Pairs和Tuple

Coursera Scala 5-2:Pairs和Tuple pair: (x,y) scala> val (label,value) = (1,"s") label: Int = 1 value: String = s scal

原创 Coursera Scala 4-7:Lists

Coursera Scala 4-7:Lists Lists val nums = List(1,3,4) val empty = List() val fruit = List("apples","oranges") val d

原创 Coursera Scala 4-3:子類型和泛型

Coursera Scala 4-3:子類型和泛型 Type Bounds def assertAllPos[S <: IntSet](r: S): S = ... S <: T 表示S是T的子類S >: T表示S是T的父類 也

原创 Coursera Scala 5-4:List的高階函數

Coursera Scala 5-4:List的高階函數 Recurring Patterns for Computations on Lists 重複出現的Lists計算模式 lists的很多函數有相似的結構,重複出現的模式

原创 Akka學習筆記(三):什麼是Actor

Akka學習筆記(三):什麼是Actor 上一節講到actor是actor system最基本的單元。這一節詳細的講講actor.更詳細here。actor是一個擁有state,behavior,mailbox,children,

原创 Akka學習筆記(五):Akka與Java的內存模型

Akka學習筆記(五):Akka與Java的內存模型 Akka簡化了編寫併發軟件的過程,本文主要討論Akka如何在併發應用中訪問共享內存。 Java內存模型 Java5之前的JMM是相當混亂的。多線程訪問共享內存很有可能會得奇

原创 Akka學習筆記(一):創建Hello World工程

Akka學習筆記(一):創建Hello World工程 創建工程 使用IDEA,創建SBT工程,在build.sbt中添加akka依賴: name := "My Project" version := "1.0" scala

原创 Hive與Hbase整合

Hive與Hbase整合 我們這邊開始使用hbase做實時查詢,但是分析的任務還是得交給hive,hive計算的結果導入到hbase. hive提供了幾個jar包,幫助我們實現: 創建與hbase共享的表,數據(數據和表兩邊都有)映射

原创 Akka TestKit測試包的使用

Akka TestKit測試包的使用 TestKit,測試類必須繼承幾個接口: class SendingActor01Test extends TestKit(ActorSystem("testsystem")) //TestK

原创 Akka學習筆記(四):監督和監控

Akka學習筆記(四):監督和監控 Supervision是什麼 supervision表示actors之間的關係。監督者分配任務給下屬,因此需要處理反饋的錯誤。根據不同的錯誤,監督者supervisor可以做如下操作: 恢復下

原创 Coursera Scala 5-3:Implicit

Coursera Scala 5-3:Implicit 歸併排序 上一節課的排序函數不夠通用,類型只適用Int: object mergesort{ def msort(xs: List[Int]):List[Int]

原创 Akka學習過程的疑問

- actor要如何分解才合適,在一個JVM上隨意爲每個功能啓動多個actor?那遠程actor一般作爲其中的一個功能還是服務? - actor和線程的關係 actor數和線程數不是一一對應的。2.7 million actor

原创 Akka學習筆記(六):消息傳遞可靠性

Akka學習筆記(六):消息傳遞可靠性 一般規則 關於消息發送,有兩條基本規則: 最多一次,即不保證消息傳遞可靠性message ordering per sender–receiver pair 消息傳遞機制 最多一次,意味消

原创 Coursera Scala 2-5,6:類

Coursera Scala 2-5,6:類 class Rational(n: Int, d: Int) { require(d != 0) private val g = gcd(n.abs, d.abs) //將構

原创 Coursera Scala 4-6:模型匹配

Coursera Scala 4-6:模型匹配 匹配值 val times = 1 times match { case 1 => "one" case 2 => "two" case _ => "some othe