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