~/talk

Web Programming and Streaming Data in Haskell - Part 2 of 2

Talkat LambdaConf 2017 · 2017-05-25..05-27· [haskell, concurrency]
slides:none on file

Conduit claims practical streaming but is coroutine based so Conduit is single-threaded and requires explicit concurrency — use async + STM for concurrent read/write; chunking matters (process ByteString chunks, not byte-by-byte) for big data; leftovers exist so a naive takeWhileC drops the boundary value (one through five then seven through ten) and using leftover preserves that value; Yesod scaffolds type-safe routes, session-in-cookie defaults, selectRep and streaming responses, file uploads hook into Conduit and Warp runs the app.

AI-written summary · about

  1. 0:00Intro
  2. 0:51AVERAGE GOOD
  3. 2:57TAKEAWAYS
  4. 8:57MONADIC FOLDS
  5. 9:21CHUNKED DATA
  6. 11:12MUCH BETTER
  7. 13:59LET'S IMPLEMENT TAKEWHILEC
  8. 15:10LET'S FIX THAT
  9. 15:51MORE LEFTOVERS EXAMPLES
  10. 19:29OUTPUT FROM PREVIOUS SLIDES
  11. 21:29LEFTOVER LESSONS
  12. 21:49LIBRARY ECOSYSTEM
  13. 22:23MY RECOMMENDATION
  14. 22:44STRETCH
  15. 25:36HOW IT WORKS
  16. 28:27FLEXIBILITY
  17. 29:17STANDARD WORKFLOW
  18. 30:11WHAT WE'LL COVER TODAY
  19. 30:39COMMON STUFF
  20. 31:00LANGUAGE EXTENSIONS
  21. 31:56IMPORTS
  22. 32:42ROUTE DEFINITION AND
  23. 33:35ROUTE EXAMPLE
  24. 35:45YESOD TYPECLASS
  25. 36:41DEFINING YOUR HANDLERS
  26. 38:05RUN IT!
  27. 38:49HELLO WORLD
  28. 39:40JSON OUTPUT
  29. 40:14WHY NOT BOTH?
  30. 43:20ARBITRARY MIME TYPES
  31. 44:20ROUTE PARAMETERS
  32. 46:32QUERY STRING PARAMETERS
  33. 48:27POST PARAMETERS
  34. 49:26POST FILES
  35. 51:29JSON REQUEST BODY
  36. 52:37HEADER ECHO
  37. 53:11PERMISSIONS
  38. 55:21SESSION VALUES
  39. 56:12REAL WORLD AUTH
  40. 56:25STREAMING REQUEST BODY
  41. 56:47STREAMING RESPONSE BODY
  42. 57:47CONVENIENT STREAMING
  43. 58:01CONFIG FILES (1)
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.