原创 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