]> Dogcows Code - chaz/talk-event-driven-programming-in-perl/blob - notes.txt
add slides on exception handling
[chaz/talk-event-driven-programming-in-perl] / notes.txt
1
2 Topics:
3
4 1. Evolution of event-driven programming:
5 X Wait for a key press or line of text.
6 X Interrupts (hardware and software).
7 X Modern event loops
8
9 2. Types of events in modern applications:
10 X IO
11 X Timer
12 X User input
13 X Signal
14 X Anything that can spontaneously happen in the real world.
15
16 3. How to write a modern event-loop.
17 X kernel facilities (poll, select, etc.)
18
19 4. List of already-built event loops.
20 - EV
21 - Glib
22
23 5. Event-driven programming in Perl
24 - POE
25 - AnyEvent
26 - IO::Async
27 - Mojo::IOLoop
28
29 6. Special considerations
30 - Exceptions in event-driven code.
31 - SIGPIPE, EPIPE - might have more to do with long-lived processes rather than
32 just event-driven programming, but still something to watch out for...
33 - You should almost always check the return code of your syscalls to see if they succeeded or not.
34
35 7. Promises:
36 - Future
37 - Future::AsyncAwait
38 - Future::Utils
39
40 8. Real-world uses for event-driven applications:
41 - Webhooks
42 - PubsubHubbub
43 - msg queue
44
45
46
47
48 Other topics:
49 X What is event-driven programming?
50 - Reactor: event loop that can receive multiple types of events and
51 demultiplex them, delivering them to appropriate handlers.
52 - C10k problem
53 - EDA (event-driven architecture)
54 - Benefits of Event-driven
55 - How to debug event-driven code.
56
57 Traditional programs:
58 - CGI - web server calls your program, and your program does its thing and
59 finishes.
60 - filters - grep, less, sed, etc. Like a function, the program takes its input
61 and produces some output.
62
63 Perl features:
64 - first-class subroutines
65
66 - Can mix traditional architecture with event-driven (like docker that
67 provides both an http and command-line interface.
68
This page took 0.037653 seconds and 4 git commands to generate.