]> Dogcows Code - chaz/talk-event-driven-programming-in-perl/blobdiff - notes.txt
add final slides before presentation
[chaz/talk-event-driven-programming-in-perl] / notes.txt
index 6841507d42e97e238098b325112ac66b54b337b0..7af3f6e27fce1d08ff7cdf8a72493063b0cb1266 100644 (file)
--- a/notes.txt
+++ b/notes.txt
@@ -1,40 +1,74 @@
 
+TODO:
+X Get more knowledge about the Reactor front ends.
+X Throw up some examples in some slides (#5).
+X Add a section at the end to get out of the weeds and put a bit ol' bow on it.
+
 Topics:
 
-Evolution of event-driven programming:
-- Wait for a key press or line of text.
-- Interrupts (hardware and software).
-- Modern event loops
+1. Evolution of event-driven programming:
+X Wait for a key press or line of text.
+X Interrupts (hardware and software).
+X Modern event loops
 
-How to write a modern event-loop.
-- kernel facilities (poll, select, etc.)
+2. Types of events in modern applications:
+X IO
+X Timer
+X User input
+X Signal
+X Anything that can spontaneously happen in the real world.
 
-Event-drive programming in Perl
-- POE
-- AnyEvent
-- IO::Async
+3. How to write a modern event-loop (reactor style).
+X kernel facilities (poll, select, etc.)
 
-List of already-built event loops.
-- EV
-- Glib
+4. List of already-built reactors.
+X EV
+X Glib
+X ...
 
-Types of events in modern applications:
-- Data available
-- Timer
-- User input
-- Signal
-- Anything that can spontaneously happen in the real world.
+5. Event-driven programming in Perl
+X AnyEvent
+X IO::Async
+X Mojo::IOLoop
+X POE
 
-Exceptions in event-driven code.
+6. Special considerations
+X Exceptions in event-driven code.
+X SIGPIPE, EPIPE - might have more to do with long-lived processes rather than
+  just event-driven programming, but still something to watch out for...
+X You should almost always check the return code of your syscalls to see if they succeeded or not.
 
-Promises:
-- Future
-- Future::AsyncAwait
-- Future::Utils
+7. Promises:
+X Future
+X Future::AsyncAwait
+X Future::Utils
 
-Real-world uses for event-driven applications:
+8. Real-world uses for event-driven applications:
 - Webhooks
-- WebSockets
 - PubsubHubbub
 - msg queue
 
+
+
+
+Other topics:
+X What is event-driven programming?
+X Reactor: event loop that can receive multiple types of events and
+  demultiplex them, delivering them to appropriate handlers.
+- C10k problem
+- EDA (event-driven architecture)
+X Benefits of Event-driven
+X How to debug event-driven code.
+
+Traditional programs:
+- CGI - web server calls your program, and your program does its thing and
+  finishes.
+X filters - grep, less, sed, etc. Like a function, the program takes its input
+  and produces some output.
+
+Perl features:
+- first-class subroutines
+
+- Can mix traditional architecture with event-driven (like docker that
+  provides both an http and command-line interface.
+
This page took 0.023993 seconds and 4 git commands to generate.