Principles of Reactive Programming

开始时间: 04/22/2022 持续时间: 7 weeks

所在平台: CourseraArchive

课程类别: 计算机科学

大学或机构: École Polytechnique Fédérale de Lausanne(洛桑联邦理工学院)

授课老师: Erik Meijer Martin Odersky Roland Kuhn

课程主页: https://www.coursera.org/course/reactive

课程评论: 1 个评论

评论课程        关注课程

课程简介

Learn how to write composable software that is event-driven, scalable under load, resilient and responsive in the presence of failures. Model systems after human organizations or inter-human communication.

课程大纲

Week 1: Review of Principles of Functional Programming: substitution model, for-expressions and how they relate to monads. Introduces a new implementation of for-expressions: random value generators. Shows how this can be used in randomized testing and gives an overview of ScalaCheck, a tool which implements this idea.

Week 2: Functional programming and mutable state. What makes an object mutable? How this impacts the substitution model. Extended example: Digital circuit simulation.

Week 3: Futures. Introduces futures as another monad, with for-expressions as concrete syntax. Shows how futures can be composed to avoid thread blocking. Discusses cross-thread error handling.

Week 4: Reactive stream processing.  Generalizing futures to reactive computations over streams. Stream operators.

Week 5: Actors. Introduces the Actor Model, actors as encapsulated units of consistency, asynchronous message passing, discusses different message delivery semantics (at most once, at least once, exactly once) and eventual consistency.

Week 6: Supervision. Introduces reification of failure, hierarchical failure handling, the Error Kernel pattern, lifecycle monitoring, discusses transient and persistent state.

Week 7: Conversation Patterns. Discusses the management of conversational state between actors and patterns for flow control, routing of messages to pools of actors for resilience or load balancing, acknowledgement of reception to achieve reliable delivery.

课程评论(1条)

0

要有光LTBL 2014-01-08 09:54 0 票支持; 0 票反对

这门课有三个老师讲,总觉得第二个老师。。。啊,有些奇怪。而且总体来说PA很复杂而且挺难的,老去看讨论版。。。
首先Martin cover了var和monad什么的吧,记不太清了。
第二个老师上来痛批了一通recursive function然后讲future和observable,在这儿基本monad是弄明白了,但是future这些没做作业之前我是肯定很糊涂的。。。
最后一个老师讲actor,讲的还是相当清楚明白的,最后还涉及了一些distributed system的东西,挺好的。

课程详情

Learn how to write composable software that is event-driven, scalable under load, resilient and responsive in the presence of failures. Model systems after human organizations or inter-human communication.

课程标签

EPFL Scala reactive Monads 洛桑联邦理工学院

9人关注该课程

主题相关的课程