Rx is a library for composing asynchronous and event-based programs using observable collections.
|
|
- Branden Atkinson
- 6 years ago
- Views:
Transcription
1 Slides license: Creative Commons Attribution Non-Commercial Share Alike See
2 Too hard today (f g)(x) = f(g(x)) Rx is a library for composing asynchronous and event-based programs using observable collections. Queries? LINQ? MSDN DevLabs.NET 3.5 SP1,.NET 4.0 Silverlight 3, Silverlight 4 JavaScript (RxJS) XNA 3.1 for XBOX and Zune Windows Phone 7
3 interface IEnumerable out IEnumerator Get C# 4.0 covariance interface IEnumerator out IDisposable bool void Move get You could get stuck
4 (Waiting to move next) C# 4.0 covariance moving on You could get stuck
5 Because the Dutch are (said to be) cheap A B A B A B A B
6 Because the Dutch are (said to be) cheap A B A B A B A B
7 The recipe to dualization Making a U-turn in synchrony Reversing arrows Input becomes output and vice versa
8 interface IEnumerable IEnumerator interface IEnumerator IDisposable bool void get
9 interface IEnumerable IEnumerator void interface IEnumerator IDisposable bool void void throws Exception get void C# didn t borrow Java checked exceptions
10 interface IEnumerable<T> IEnumerator<T> GetEnumerator(void); interface IEnumerator IDisposable bool void throws Exception void
11 interface IEnumerable<T> (IDisposable & IEnumerator<T>) GetEnumerator(void); interface IEnumerator We really got an enumerator and a disposable bool void throws Exception void
12 interface IEnumerable<T> IDisposable IEnumerator<T> ) GetEnumerator( void interface IEnumerator Will only dualize the synchrony aspect bool void throws Exception void
13 interface IEnumerableDual<T> Set IDisposable void IEnumerator interface IEnumerator bool void throws Exception void
14 interface IEnumerableDual IDisposable IEnumerator<T> x interface IEnumerator This is an output too bool void throws Exception void
15 interface IEnumerableDual IDisposable IEnumerator<T> x interface IEnumerator bool Exception void void Discrete domain with true and false
16 interface IEnumerableDual IDisposable IEnumerator<T> x interface IEnumerator T true false Exception void void If you got true, you really got a T
17 interface IEnumerableDual IDisposable IEnumerator<T> x interface IEnumerator void false Exception void If you got false, you really got void
18 interface IEnumerableDual IDisposable IEnumerator<T> x); interface IEnumerator<T> (T void Exception) MoveNext( void
19 interface IEnumerableDual IDisposable IEnumeratorDual<T>); interface IEnumeratorDual<T> Got void (T void Exception)); But C# doesn t have discriminated unions Let s splat this into three methods instead!
20 interface IEnumerableDual IDisposable IEnumeratorDual<T> interface IEnumeratorDual void void void Exception void
21 interface IObservable IDisposable IObserver<T> observer interface IObserver void void void Exception Source:
22 interface IObservable out IDisposable Do you really know C# 4.0? IObserver<T> observer Used to detach the observer interface IObserver in void void void Exception
23 interface IObservable out IDisposable IObserver<T> observer interface IObserver in void void void Exception (*) Visit
24 interface IObservable out IDisposable Subscribe IObserver interface IObserver in C# 4.0 contravariance void On void On Exception void On You could get flooded
25 Interactive MoveNext Application Got next? IEnumerable<T> IEnumerator<T> OnNext IObservable<T> IObserver<T> Have next! Reactive Environment
26
27 OnCompleted.Empty<int>() new int[0] OnNext.Return(42) new[] { 42 } OnError.Throw<int>(ex) Throwing iterator.never<int>() Notion of time Iterator that got stuck
28 OnNext OnError OnCompleted.Range(0, 3) OnNext(0) OnNext(1) OnNext(2).Range(0, 3) yield 0 yield 1 yield 2
29 A variant with time notion exists (GenerateWithTime) Observable Hypothetical anonymous iterator syntax in C# new IEnumerable int for int yield return Asynchronous Console Synchronous foreach var in Console
30 IObservable int Observable int // Assume we introduce concurrency (see later) IDisposable C# 4.0 named parameter syntax Console "Next: " Console "Oops: " Console "Done" C# doesn t have anonymous interface implementation, so we provide various extension methods that take lambdas.
31 IObservable int Observable int // Assume we introduce concurrency (see later) IDisposable Console "Next: " Console "Oops: " Console "Done" Thread.Sleep(30000); // Main thread is blocked F10
32 IObservable int Observable int // Assume we introduce concurrency (see later) IDisposable Console "Next: "
33 IObservable int Observable int // Assume we introduce concurrency (see later) IDisposable Console "Next: " Console "Oops: " Console "Done" Thread.Sleep(30000); // Main thread is blocked F5
34 IObservable int Observable int // Assume we introduce concurrency (see later) Breakpoint got hit IDisposable Console "Next: " Console "Oops: " Console "Done" Thread.Sleep(30000); // Main thread is blocked
35
36 .MouseMove args if ( == ) // I d like to raise another event Lack of composition -= /* what goes here? */ Resource maintenance?
37 IObservable<Point> Observable.FromEvent "MouseMove" var.where( ) Can define operators var.dispose() Resource maintenance!
38 Exceptions? FileStream File "data.txt" byte new byte new AsyncCallback int Cancel? // Do something with bs[0..bytesread-1] null State? Lack of composition Synchronous completion?
39 FileStream File "data.txt" Func IObservable< > Observable.FromAsyncPattern byte new byte // Do something with bs[0..bytesread-1]
40
41 Cold.Return.Subscribe( ).Subscribe( ) Hot.FromEvent " "
42
43 IScheduler.Return Scheduler.ThreadPool
44 duality.toobservable();.toenumerable() reactive.amb( )
45 .Return Scheduler.ThreadPool " ".ObserveOn(frm) " "
46 push based notion of time // Producing an IObservable<Point> using Select select.location // Filtering for the first bisector using Where where
47 Asynchronous request React TextChanged Reaction Reactive Reactor Data binding on UI thread
48 // IObservable<string> from TextChanged events var Observable EventArgs "TextChanged" var from in select TextBox TimeSpan // Bridge with the dictionary web service var new DictServiceSoapClient var Observable string DictionaryWord // Compose both sources using SelectMany var from in from in select input.selectmany(term => lookup(term))
49
50 Re Rea Reac React Reactive Reacti Reactiv R Reactive Reaction Reactive Reactor input Service call 1 Service call 2 UI data binding
51 Re Rea Reac React Reactive Reacti Reactiv R Reactive Reaction Reactive Reactor input Service call 1 Service call 2 UI data binding Source:
52 Re Rea Reac React Reactive Reacti Reactiv R Reactive Reaction Reactive Reactor input Service call 1 Service call 2 UI data binding Source:
53 Re Rea Reac React Reactive Reacti Reactiv R Reactive Reaction Reactive Reactor input Service call 1 Take Until Service call 2 UI data binding Source:
54 Re Rea Reac React Reactive Reacti Reactiv R Reactive input Service call 1 Service call 2 UI data binding
55 // IObservable<string> from TextChanged events var Observable EventArgs "TextChanged" var from in select TextBox TimeSpan // Bridge with the dictionary web service var new DictServiceSoapClient var Observable string DictionaryWord // Compose both sources using SelectMany Very local fix var from in from in.takeuntil(input) select
56 // IObservable<string> from TextChanged events var Observable EventArgs "TextChanged" var from in select TextBox TimeSpan // Bridge with the dictionary web service var new DictServiceSoapClient var Observable string DictionaryWord // Alternative Compose both approach sources for using composition SelectMany using: // var IObservable<T> from Switch<T>(IObservable<IObservable<T>> in sources) var res = (from term in input.takeuntil(input) select select lookup(term)) Hops from source to source.switch();
57
58 Fixed (MSIL) Homo-iconic AsQueryable AsQbservable Translatable (Expression trees) How? IQueryable<T> E.g. LINQ to SQL ToQbservable IQbservable<T> E.g. LINQ to PowerShell ToQueryable LINQ to *.* AsObservable AsEnumerable ToObservable IEnumerable<T> E.g. LINQ to Objects IObservable<T> E.g. LINQ to Events ToEnumerable Pull (interactive) Duality Push (reactive) What? Threads Worker pools Message loops Distributed
59
60 Way simpler with Rx (f g)(x) = f(g(x)) Rx is a library for composing asynchronous and event-based programs using observable collections. Queries! LINQ! MSDN DevLabs.NET 3.5 SP1,.NET 4.0 Silverlight 3, Silverlight 4 JavaScript (RxJS) XNA 3.1 for XBOX and Zune Windows Phone 7
61
Rx: Curing your Asynchronous Programming Blues Bart J.F. De Smet
Rx: Curing your Asynchronous Programming Blues Bart J.F. De Smet Microso' Corpora,on bartde@microso'.com Why Should I Care? GPS RSS feeds Stock,ckers Social media Server management Mission Statement Too
More informationLINQ, Take Two Realizing the LINQ to Everything Dream. Bart J.F. De Smet Software Development Engineer
LINQ, Take Two Realizing the LINQ to Everything Dream Bart J.F. De Smet Software Development Engineer bartde@microsoft.com A Historical Perspective 5 years ago Little recent innovation Censored Where s
More informationErik Meijer Wes Dyer Jeffrey van Gogh Bart de Smet Matthew Podwysocki
Volta Quo Vadis? Erik Meijer Wes Dyer Jeffrey van Gogh Bart de Smet Matthew Podwysocki What? Fundamentally change the way you think about coordinating and orchestrating asynchronous and event-based programming
More informationVS08 This One Goes to Going Parallel with PFX, PLINQ, TPL and Async Keywords
VS08 This One Goes to Going Parallel with PFX, PLINQ, TPL and Async Keywords Brian Noyes Chief Architect, IDesign Inc (www.idesign.net) brian.noyes@idesign.net, @briannoyes About Brian Chief Architect
More informationProgramming C# 5.0. Ian Griffiths O'REILLY' Beijing Cambridge * Farnham Kbln Sebastopol Tokyo
Programming C# 5.0 Ian Griffiths O'REILLY' Beijing Cambridge * Farnham Kbln Sebastopol Tokyo Preface xvii 1. Introducing C# 1 Why C#? 1 Why Not C#? 3 C#'s Defining Features 5 Managed Code and the CLR 7
More informationMEAP Edition Manning Early Access Program Rx.NET in Action Version 11
MEAP Edition Manning Early Access Program Rx.NET in Action Version 11 Copyright 2016 Manning Publications For more information on this and other Manning titles go to www.manning.com Manning Publications
More informationC# s A Doddle. Steve Love. ACCU April 2013
C# s A Doddle Steve Love ACCU April 2013 A run through C# (pronounced See Sharp ) is a simple, modern, object-oriented, and type-safe programming language. C# has its roots in the C family of languages,
More informationHow to be a C# ninja in 10 easy steps. Benjamin Day
How to be a C# ninja in 10 easy steps Benjamin Day Benjamin Day Consultant, Coach, Trainer Scrum.org Classes Professional Scrum Developer (PSD) Professional Scrum Foundations (PSF) TechEd, VSLive, DevTeach,
More informationCourse Hours
Programming the.net Framework 4.0/4.5 with C# 5.0 Course 70240 40 Hours Microsoft's.NET Framework presents developers with unprecedented opportunities. From 'geoscalable' web applications to desktop and
More informationCOPYRIGHTED MATERIAL. Contents. Part I: C# Fundamentals 1. Chapter 1: The.NET Framework 3. Chapter 2: Getting Started with Visual Studio
Introduction XXV Part I: C# Fundamentals 1 Chapter 1: The.NET Framework 3 What s the.net Framework? 3 Common Language Runtime 3.NET Framework Class Library 4 Assemblies and the Microsoft Intermediate Language
More informationSAMPLE CHAPTER. Tamir Dresher. FOREWORD BY Erik Meijer MANNING
SAMPLE CHAPTER Tamir Dresher FOREWORD BY Erik Meijer MANNING Rx.NET in Action by Tamir Dresher Sample Chapter 2 Copyright 2017 Manning Publications brief contents PART 1 GETTING STARTED WITH REACTIVE EXTENSIONS...
More information10266 Programming in C Sharp with Microsoft Visual Studio 2010
10266 Programming in C Sharp with Microsoft Visual Studio 2010 Course Number: 10266A Category: Visual Studio 2010 Duration: 5 days Course Description The course focuses on C# program structure, language
More informationComputation at the Speed of Monads July Computation at the Speed of Monads. Brigham Young University - Idaho.
Computation at the Speed of Monads Samuel McAravey Brigham Young University - Idaho mcaravey@live.com 7/14/2014 Abstract Parallelism has been an issue as of late because of the rise of multi-core computers.
More informationC# in Depth THIRD EDITION
C# in Depth THIRD EDITION JON SKEET MANNING SHELTER ISLAND brief contents PART 1 PREPARING FOR THE JOURNEY...1 1 The changing face of C# development 3 2 Core foundations: building on C# 1 29 PART 2 C#
More informationMCSA Universal Windows Platform. A Success Guide to Prepare- Programming in C# edusum.com
70-483 MCSA Universal Windows Platform A Success Guide to Prepare- Programming in C# edusum.com Table of Contents Introduction to 70-483 Exam on Programming in C#... 2 Microsoft 70-483 Certification Details:...
More informationLearn to Love Lambdas
Learn to Love Lambdas An overview of Lambda Expressions by JeremyBytes.com Overview Lambda expressions can be confusing the first time you walk up to them. But once you get to know them, you ll see that
More informationLinQ Why we have to teach functional programmming
LinQ Why we have to teach functional programmming Axel T. Schreiner http://www.cs.rit.edu/~ats/talks/linq/ http://www.cs.rit.edu/~ats/cs-2006-1/14_linq.pdf Principles Map a query language to cascading
More informationProgramming in C# with Microsoft Visual Studio 2010
Programming in C# with Microsoft Visual Studio 2010 Course 10266; 5 Days, Instructor-led Course Description: The course focuses on C# program structure, language syntax, and implementation details with.net
More information9 A Preview of.net 2.0
473 9 A Preview of.net 2.0 Microsoft.NET is an evolving system that is continuously improved and extended. In late 2003 Microsoft announced.net 2.0 (codename Whidbey) as a major new version of.net; a beta
More informationReactive programming: origins & ecosystem. Jonas Chapuis, Ph.D.
Reactive programming: origins & ecosystem Jonas Chapuis, Ph.D. Timeline Functional Reactive Animation (Fran Library, Haskell) Rx 1.0 for.net, Erik Meijer & team at Microsoft Elm language Rx for Java, Netflix
More informationC # 7, 8, and beyond: language features from design to release to IDE support. Kevin
C # 7, 8, and beyond: language features from design to release to IDE support Kevin Pilch kevinpi@microsoft.com @Pilchie Stack Overflow - most popular technologies http://stackoverflow.com/insights/survey/2017#most-popular-technologies
More informationPrevious C# Releases. C# 3.0 Language Features. C# 3.0 Features. C# 3.0 Orcas. Local Variables. Language Integrated Query 3/23/2007
Previous C# Releases C# 3.0 Language Features C# Programming March 12, 2007 1.0 2001 1.1 2003 2.0 2005 Generics Anonymous methods Iterators with yield Static classes Covariance and contravariance for delegate
More informationProgramming in Visual Basic with Microsoft Visual Studio 2010
Programming in Visual Basic with Microsoft Visual Studio 2010 Course 10550; 5 Days, Instructor-led Course Description This course teaches you Visual Basic language syntax, program structure, and implementation
More informationPROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led
CENTER OF KNOWLEDGE, PATH TO SUCCESS Website: PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO 2010 Course: 10550A; Duration: 5 Days; Instructor-led WHAT YOU WILL LEARN This course teaches you
More informationMicrosoft. Microsoft Visual C# Step by Step. John Sharp
Microsoft Microsoft Visual C#- 2010 Step by Step John Sharp Table of Contents Acknowledgments Introduction xvii xix Part I Introducing Microsoft Visual C# and Microsoft Visual Studio 2010 1 Welcome to
More informationBE PROACTIVE USE REACTIVE
BE PROACTIVE USE REACTIVE This morning we re going to talk about reactive programming. We ll cover some of the what, why, and how, hopefully with a bend towards grasping the fundamentals. We ll have some
More informationFunctional programming in C#
Functional programming in C# A quick approach to another paradigm Nacho Iborra IES San Vicente This work is licensed under the Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License.
More informationMicrosoft Visual C# Step by Step. John Sharp
Microsoft Visual C# 2013 Step by Step John Sharp Introduction xix PART I INTRODUCING MICROSOFT VISUAL C# AND MICROSOFT VISUAL STUDIO 2013 Chapter 1 Welcome to C# 3 Beginning programming with the Visual
More informationC# in Depth SECOND EDITION JON SKEET. MANNING Greenwich (74 w. long.)
C# in Depth SECOND EDITION JON SKEET II MANNING Greenwich (74 w. long.) brief contents PART 1 PREPARING FOR THE JOURNEY 1 The changing face of C# development 2 Core foundations: building on C# 1 27 PART
More informationReactive Programming in Java. Copyright - Syncogni Consulting Pvt Ltd. All rights reserved.
Reactive Programming in Java Copyright - Syncogni Consulting Pvt Ltd. All rights reserved. Prerequisites: Functional Programming as in Java 8 Streams of Java 8 Lambda expressions Method references Expectations
More informationHands-On Lab. Lab Manual ILL-054 Creating and Using Iterators in the.net Framework
Hands-On Lab Lab Manual ILL-054 Creating and Using Iterators in the.net Framework Please do not remove this manual from the lab The lab manual will be available from CommNet Information in this document
More informationApplied object oriented programming. 4 th lecture
Applied object oriented programming 4 th lecture Today Constructors in depth Class inheritance Interfaces Standard.NET interfaces IComparable IComparer IEquatable IEnumerable ICloneable (and cloning) Kahoot
More informationLearn to Love Lambdas
Learn to Love Lambdas An overview of Lambda Expressions by JeremyBytes.com Overview Lambda expressions can be confusing the first time you walk up to them. But once you get to know them, you ll see that
More informationSpring MVC 4.x Spring 5 Web Reactive
Part 1 Spring MVC 4.x Spring 5 Web Reactive Rossen Stoyanchev @rstoya05 Spring MVC 4.3 Reactive programming for Java devs Spring 5 Web Reactive Shortcut Annotations @RequestMapping @GetMapping @PostMapping
More informationConcurrency: An Overview
CHAPTER 1 Concurrency: An Overview Concurrency is a key aspect of beautiful software. For decades, concurrency was possible but difficult. Concurrent software was difficult to write, difficult to debug,
More informationReactive Programming in Java. Copyright - Syncogni Consulting Pvt Ltd. All rights reserved.
Reactive Programming in Java Copyright - Syncogni Consulting Pvt Ltd. All rights reserved. Prerequisites: Core Java Lambda Expressions Method references Functional Programming Web - application development
More informationMSSQL and.net. Using SQL in.net, running.net code in SQL Server
MSSQL and.net Using SQL in.net, running.net code in SQL Server Brief Intro to C# Specific Concepts Properties public int SomeInt { get; private set; } Generics Interfaces public interface IQueryable
More informationC# Asynchronous Programming Model
Spring 2014 C# Asynchronous Programming Model A PRACTICAL GUIDE BY CHRIS TEDFORD TABLE OF CONTENTS Introduction... 2 Background Information... 2 Basic Example... 3 Specifications and Usage... 4 BeginInvoke()...
More informationWhy do you want to know about functional programming?
Why do you want to know about functional programming? A look at LinQ in C# and (perhaps) Java Axel T. Schreiner RIT Computer Science http://www.cs.rit.edu/~ats/talks/linq-ieee/ http://www.cs.rit.edu/~ats/cs-2006-1/14_linq.pdf
More informationObjectives. Introduce static keyword examine syntax describe common uses
Static Objectives Introduce static keyword examine syntax describe common uses 2 Static Static represents something which is part of a type rather than part of an object Two uses of static field method
More informationC# Programming. Unit 1: Introducing C# and the.net FrameworkThis module explains the.net Framework, and using C# and
C# Programming 1. Sound Knowledge of C++. Course Summary: This course presents Microsoft's C# programming language and the use of Visual Studio 2008 or 2010 to develop Windows applications using the.net
More informationUI-Testing, Reactive Programming and some Kotlin.
UI-Testing, Reactive Programming and some Kotlin anders.froberg@liu.se Load up your guns, and bring your friends This is the end, My only Friend, the end Äntligen stod prästen i predikstolen I ll be back
More informationAsynchronous Functions in C#
Asynchronous Functions in C# Asynchronous operations are methods and other function members that may have most of their execution take place after they return. In.NET the recommended pattern for asynchronous
More informationDOT NET SYLLABUS FOR 6 MONTHS
DOT NET SYLLABUS FOR 6 MONTHS INTRODUCTION TO.NET Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate
More informationAsset tracking: Monitoring high-value mobile assets like locomotives, marine vessels and industrial equipment. Condition based Maintenance.
1 The Internet of Things (IoT) - expansion of the Internet to include physical devices; thereby bridging the divide between the physical world and cyberspace. These devices or \things" are uniquely identifiable,
More informationC# COMO VOCÊ (TALVEZ) NUNCA VIU
C# COMO VOCÊ (TALVEZ) NUNCA VIU CÓDIGO LIMPO, EXPRESSIVO, SÓLIDO & FUNCIONAL. ELEMAR JR falecom@elemarjr.com elemarjr@ravendb.net elemarjr.com @ayende ARE YOU A PROFESSIONAL? Abstrato Concreto EXPRESSIVIDADE
More informationAdvanced Programming C# Lecture 13. dr inż. Małgorzata Janik
Advanced Programming C# Lecture 13 dr inż. Małgorzata Janik majanik@if.pw.edu.pl Winter Semester 2017/2018 Project C# 2017/2018, Lecture 13 3 / 24 Project part III Final Date: 22.01.2018 (next week!) Today
More informationIndex. Cambridge University Press Functional Programming Using F# Michael R. Hansen and Hans Rischel. Index.
(),23 (*,3 ->,3,32 *,11 *),3.[...], 27, 186 //,3 ///,3 ::, 71, 80 :=, 182 ;, 179 ;;,1 @, 79, 80 @"...",26 >,38,35
More informationCHAPTER 1: INTRODUCING C# 3
INTRODUCTION xix PART I: THE OOP LANGUAGE CHAPTER 1: INTRODUCING C# 3 What Is the.net Framework? 4 What s in the.net Framework? 4 Writing Applications Using the.net Framework 5 What Is C#? 8 Applications
More informationProgramming in C#
Course Outline 20483- Programming in C# Duration: 5 days (30 hours) Target Audience: This course is intended for experienced developers who already have programming experience in C, C++, JavaScript, Objective-C,
More informationDOT NET Syllabus (6 Months)
DOT NET Syllabus (6 Months) THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate Language (IL) Just- In- Time Compilation and CLS Disassembling.Net Application to IL
More information.NET Database Technologies. Entity Framework: Queries and Transactions
.NET Database Technologies Entity Framework: Queries and Transactions ORMs and query languages l With an ORM, queries must define data to be returned and criteria in terms of domain model objects and their
More informationProduced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar
Design Patterns MSc in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie)! Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie
More informationOptiQL: LINQ on Delite
OptiQL: LINQ on Delite What is LINQ? Language Integrated Query (LINQ) is a set of language and framework features for writing structured typesafe queries over local object collections and remote data sources.
More informationLINQ Language-Integrated Query Introduction
LINQ Language-Integrated Query Introduction Contents Introduction... 1 The var Keyword... 2 IEnumerable... 2 Anonymous Classes... 3 Extension Methods Part I... 3 The this Parameter... 4 Extension Methods
More informationRxJava. and WHY you should care. Jeroen Tietema
RxJava and WHY you should care Jeroen Tietema Overview intro of RxJava why? some tips What is RxJava? Java implementation of Reactive Extensions Reactive Extensions is.net implementation of Reactive Programming
More information1 de :02
1 de 6 02-12-2005 18:02!" $%$&&$ ' ( ) ) * +,"* (-)( )(*) ) ). /) %) ( ( -( *)% ) (0 ( " ' * ) *) *)(%* % ) (!%12%! ( ) ( ( )*)3 *) ( *(-)( %. )(( ) *(!() 2 ( (6 &)*7 8 ( 1( -(! ", % ' ( *.() (%) )() (
More informationReaktive Anwendungen mit RxJava. Dr. Michael Menzel
Reaktive Anwendungen mit RxJava Dr. Michael Menzel DIGITALIZATION DIGITALIZATION DIGITALIZATION DIGITALIZATION REACTIVE ARCHITECTURES How can we build highly interactive (responsive) systems, which are
More informationRepository Pattern and Unit of Work with Entity Framework
Repository Pattern and Unit of Work with Entity Framework Repository pattern is used to create an abstraction layer between the data access layer and the business logic layer. This abstraction layer contains
More informationLecture 21 Concurrent Programming
Lecture 21 Concurrent Programming 13th November 2003 Leaders and followers pattern Problem: Clients periodically present service requests which requires a significant amount of work that along the way
More information20483BC: Programming in C#
20483BC: Programming in C# Course length: 5 day(s) Course Description The goal of this course is to help students gain essential C# programming skills. This course is an entry point into the Windows Store
More informationM/s. Managing distributed workloads. Language Reference Manual. Miranda Li (mjl2206) Benjamin Hanser (bwh2124) Mengdi Lin (ml3567)
1 M/s Managing distributed workloads Language Reference Manual Miranda Li (mjl2206) Benjamin Hanser (bwh2124) Mengdi Lin (ml3567) Table of Contents 1. Introduction 2. Lexical elements 2.1 Comments 2.2
More informationAn Introduction to What s Available in.net 4.0 PARALLEL PROGRAMMING ON THE.NET PLATFORM
An Introduction to What s Available in.net 4.0 PARALLEL PROGRAMMING ON THE.NET PLATFORM About Me Jeff Barnes.NET Software Craftsman @ DAXKO Microsoft MVP in Connected Systems ALT.NET Supporter jeff@jeffbarnes.net
More informationEdulinq: Reimplementing LINQ to Objects
Part 1 - Introduction Part 2 - Where Part 3 - Select (and a rename...) Part 4 - Range Part 5 - Empty Part 6 - Repeat Part 7 - Count and LongCount Part 8 - Concat Part 9 - SelectMany Part 10 - Any and All
More informationSeminar 11 week 11 (11-15 December 2017)
Seminar 11 week 11 (11-15 December 2017) 1. Discuss LINQ from C# using the following examples. 2. Solve the following problems: 2.1. Display the number and frequency of number from given array. 2.2. find
More informationBart De Smet C# 4.0 UNLEASHED
Bart De Smet C# 4.0 UNLEASHED Table of Contents Introduction Who Should Read This Book? 2 What You Need to Know Before You Read This Book 2 How This Book Is Organized 3 Part I Introduction 1 Introducing
More informationAdvanced Programming C# Lecture 12. dr inż. Małgorzata Janik
Advanced Programming C# Lecture 12 dr inż. Małgorzata Janik malgorzata.janik@pw.edu.pl Winter Semester 2018/2019 Project Project part III Final Date: 22.01.2018 (next week!) Presentations (max 5 min per
More informationThe course introduces many of the techniques and technologies employed by modern desktop and enterprise applications, including:
Programming in C# OD20483B; On-Demand, Video-based Course Description This training course teaches developers the programming skills that are required for developers to create Windows applications using
More informationComet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios
Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Simone Bordet sbordet@intalio.com 1 Agenda What are Comet web applications? Impacts of Comet web applications WebSocket
More informationThis module reviews the core syntax and features of the C# programming language. It also provides an introduction to the Visual Studio 2012 debugger.
Course Outline Module 1: Review of C# Syntax This module reviews the core syntax and features of the C# programming language. It also provides an introduction to the Visual Studio 2012 debugger. Overview
More informationC# 6.0 in a nutshell / Joseph Albahari & Ben Albahari. 6th ed. Beijin [etc.], cop Spis treści
C# 6.0 in a nutshell / Joseph Albahari & Ben Albahari. 6th ed. Beijin [etc.], cop. 2016 Spis treści Preface xi 1. Introducing C# and the.net Framework 1 Object Orientation 1 Type Safety 2 Memory Management
More informationCourse Description. Audience. Module Title : 20483B: Programming in C# Duration : 5 days. Course Outline :: 20483B ::
Module Title : 20483B: Programming in C# Duration : 5 days Course Description This training course teaches developers the programming skills that are required for developers to create Windows applications
More informationThe next section discusses when and how to design abstractions that might or might not support some features.
9.6 LINQ Support 337 3 CONSIDER naming factory types by concatenating the name of the type being created and Factory. For example, consider naming a factory type that creates Control objects ControlFactory.
More informationA modern programming language focused on integration
A modern programming language focused on integration Sanjiva Weerawarana, Ph.D. Founder, Chairman & Chief Architect; WSO2 James Clark Independent Joint work with Sameera Jayasoma, WSO2; Hasitha Aravinda,
More informationFunctions & First Class Function Values
Functions & First Class Function Values PLAI 1st ed Chapter 4, PLAI 2ed Chapter 5 The concept of a function is itself very close to substitution, and to our with form. Consider the following morph 1 {
More informationAsynchronous Programming - Done right
Asynchronous Programming - Done right ZWEI14. ZWEI14 - A DIGITAL AGENCY WITH CREATIVE DNA. Idea, concept, design, technology and engage in perfectly together. We are young but experienced, creative but
More informationProgramming with the Service Control Engine Subscriber Application Programming Interface
CHAPTER 5 Programming with the Service Control Engine Subscriber Application Programming Interface Revised: July 28, 2009, Introduction This chapter provides a detailed description of the Application Programming
More informationEEE-425 Programming Languages (2013) 1
2 Computer programming: creating a sequence of instructions to enable the computer to do something Programmers do not use machine language when creating computer programs. Instead, programmers tend to
More informationAdvanced C# Delegates.
4 Advanced C# In this chapter, we cover advanced C# topics that build on concepts explored in Chapters 2 and 3. You should read the first four sections sequentially; you can read the remaining sections
More informationSTARCOUNTER. Technical Overview
STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation
More informationThe results for a few specific cases below are indicated. allequal ([1,1,1,1]) should return true allequal ([1,1,2,1]) should return false
Test 1 Multiple Choice. Write your answer to the LEFT of each problem. 4 points each 1. Which celebrity has not received an ACM Turing Award? A. Alan Kay B. John McCarthy C. Dennis Ritchie D. Bjarne Stroustrup
More informationLearning C# 3.0. Jesse Liberty and Brian MacDonald O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo
Learning C# 3.0 Jesse Liberty and Brian MacDonald O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo Table of Contents Preface xv 1. C# and.net Programming 1 Installing C# Express 2 C# 3.0
More informationAdvanced Programming C# Lecture 10. dr inż. Małgorzata Janik
Advanced Programming C# Lecture 10 dr inż. Małgorzata Janik majanik@if.pw.edu.pl Winter Semester 2017/2018 Project (part II) Project part II Date: 18.12.2017 (next week!) Prepare the presentation that
More informationWhat s new in ASP.NET 3.5? Mike Ormond Developer & Platform Group Microsoft Ltd
What s new in ASP.NET 3.5? Mike Ormond Developer & Platform Group Microsoft Ltd Mike.Ormond@microsoft.com http://mikeo.co.uk What we ll look at... ASP.NET AJAX Data Access Silverlight ASP.NET Futures Release
More information"Charting the Course... MOC Programming in C# with Microsoft Visual Studio Course Summary
Course Summary NOTE - The course delivery has been updated to Visual Studio 2013 and.net Framework 4.5! Description The course focuses on C# program structure, language syntax, and implementation details
More informationThreads are lightweight processes responsible for multitasking within a single application.
Threads Threads are lightweight processes responsible for multitasking within a single application. The class Thread represents an object-oriented wrapper around a given path of execution. The class Thread
More informationMultithreading and Interactive Programs
Multithreading and Interactive Programs CS160: User Interfaces John Canny. This time Multithreading for interactivity need and risks Some design patterns for multithreaded programs Debugging multithreaded
More informationMultiple processes can run in parallel on a single computer and multiple threads can run in parallel in a single process.
EE 356 Notes on Threading A process is a program in execution. In an operating system a process has a well-defined state. A five-state model of a process includes: New a process is admitted for high-level
More informationProgramming in C# (20483)
Programming in C# (20483) Overview This training course teaches developers the programming skills that are required for developers to create Windows applications using the C# language. During their five
More informationIntroduce C# as Object Oriented programming language. Explain, tokens,
Module 2 98 Assignment 1 Introduce C# as Object Oriented programming language. Explain, tokens, lexicals and control flow constructs. 99 The C# Family Tree C Platform Independence C++ Object Orientation
More informationReactive Programming with Vert.x
Reactive Programming with Vert.x Embrace asynchronous to build responsive systems Clement Escoffier Principal Software Engineer, Red Hat Reactive The new gold rush? Reactive system, reactive manifesto,
More informationSystem.Collections.Generic.SortedSet: who needs another collection anyway?
System.Collections.Generic.SortedSet: who needs another collection anyway? By Bill Wagner The.NET 4.0 library includes an additional collection class: The SortedSet. At first glance, it doesn t seem
More information20-CS Programming Languages Fall 2018
20-CS-4003-001 Programming Languages Fall 2018 Answer all questions Be sure to put your name on the paper in the space provided! Name Signature 1. It is claimed in https://docs.oracle.com/javase/tutorial/extra/generics/fineprint.html
More informationVisual C# 2012 How to Program by Pe ars on Ed uc ati on, Inc. All Ri ght s Re ser ve d.
Visual C# 2012 How to Program 1 99 2-20 14 by Pe ars on Ed uc ati on, Inc. All Ri ght s Re ser ve d. 1992-2014 by Pearson Education, Inc. All 1992-2014 by Pearson Education, Inc. All Although commonly
More informationToday. Continue our very basic intro to JavaScript. Lambda calculus
JavaScript (cont) Today Continue our very basic intro to JavaScript Lambda calculus Last lecture recap JavaScript was designed in 10 days Lots of unsatisfactory parts (in retrospect); many due due to the
More informationProgramming in C# for Experienced Programmers
Programming in C# for Experienced Programmers Course 20483C 5 Days Instructor-led, Hands-on Introduction This five-day, instructor-led training course teaches developers the programming skills that are
More informationComprehensive Angular 2 Review of Day 3
Form Validation: built in validators: added to template: required minlength maxlength pattern form state: state managed through NgModel classes: control has been visited: ng-touched or ng-untouched control
More informationCS 6112 (Fall 2011) Foundations of Concurrency
. CS 6112 (Fall 2011) Foundations of Concurrency. 20 October 2011 Scribe: Alec Story.. Actors are a fairly old idea for concurrency, but a lot of the old work is confusing and hard to read. Actors have
More informationProgramming with the Service Control Engine Subscriber Application Programming Interface
CHAPTER 5 Programming with the Service Control Engine Subscriber Application Programming Interface Revised: November 20, 2012, Introduction This chapter provides a detailed description of the Application
More informationINTRODUCTION TO.NET. Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.)
INTRODUCTION TO.NET Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate Language (IL) Just- In-
More information