Day 1: Data You Can’t Get Wrong

This week we’ll be building a social news aggregation site called Rumble. Sites focused on user-generated content, like Rumble, have a history of being vulnerable to attack, because they combine dynamic page generation with untrusted, user-submitted content. Developers have combatted these attacks by sanitizing and restricting user input, but dynamic languages offer little help or assurance that every possible case is covered.

Today we’ll get a sample app up and running and we’ll start to see how Yesod uses Haskell’s type system to alleviate these problems. At the end of the day we’ll build the models of Rumble, and hopefully you’ll start to get a sense of how much work the compiler is doing to keep your code ...

Get Seven Web Frameworks in Seven Weeks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.