4 1. Evolution of event-driven programming:
5 X Wait for a key press or line of text.
6 X Interrupts (hardware and software).
9 2. Types of events in modern applications:
14 X Anything that can spontaneously happen in the real world.
16 3. How to write a modern event-loop (reactor style).
17 X kernel facilities (poll, select, etc.)
19 4. List of already-built reactors.
24 5. Event-driven programming in Perl
30 6. Special considerations
31 X Exceptions in event-driven code.
32 X SIGPIPE, EPIPE - might have more to do with long-lived processes rather than
33 just event-driven programming, but still something to watch out for...
34 X You should almost always check the return code of your syscalls to see if they succeeded or not.
41 8. Real-world uses for event-driven applications:
50 X What is event-driven programming?
51 - Reactor: event loop that can receive multiple types of events and
52 demultiplex them, delivering them to appropriate handlers.
54 - EDA (event-driven architecture)
55 X Benefits of Event-driven
56 X How to debug event-driven code.
59 - CGI - web server calls your program, and your program does its thing and
61 X filters - grep, less, sed, etc. Like a function, the program takes its input
62 and produces some output.
65 - first-class subroutines
67 - Can mix traditional architecture with event-driven (like docker that
68 provides both an http and command-line interface.