Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Scala Exercises V2

Scala Exercises V2

Scala Exercises is a web based community tool open sourced by 47 Degrees. It contains multiple koan and free form style exercises maintained by library authors and maintainers to help you master some of the most important tools in the Scala Ecosystem. Version 2 comes with a brand new backend and exercise tracking where you can login simply using your Github account and track your progress throughout exercises and libraries. Version 2 will launch with exercises for the stdlib, Cats, Shapeless and other well known libraries and frameworks part of the Scala ecosystem.

Raúl Raja Martínez

March 02, 2016
Tweet

More Decks by Raúl Raja Martínez

Other Decks in Technology

Transcript

  1. 1 — Scala Exercises @raulraja @47deg V2

    View Slide

  2. What is it?
    A browser tool to learn Scala and its coolest libs
    2 — Scala Exercises @raulraja @47deg V2

    View Slide

  3. A bit of History
    > @rafaparadela JS POC for the @47deg labs
    > V1 Went Live on March 2nd, 2015
    > Focused on porting Scala Koans to the web
    > Social component
    3 — Scala Exercises @raulraja @47deg V2

    View Slide

  4. V1 Limitations
    > Serverless
    > "Evaluation" constrained to exact string matches
    > Can't track user progress across devices
    > Can't parse or evaluate more complex exercises
    4 — Scala Exercises @raulraja @47deg V2

    View Slide

  5. V1 Stats
    > 63K sessions
    > 40% Returning
    > 180 PRs
    > 50 Contributors
    > 1 section completed per visit
    5 — Scala Exercises @raulraja @47deg V2

    View Slide

  6. WHAT'S NEW IN
    V2?
    6 — Scala Exercises @raulraja @47deg V2

    View Slide

  7. Libs at a glance
    7 — Scala Exercises @raulraja @47deg V2

    View Slide

  8. Overall Progress
    8 — Scala Exercises @raulraja @47deg V2

    View Slide

  9. Lib Progress
    9 — Scala Exercises @raulraja @47deg V2

    View Slide

  10. Write Exercises with Code!
    10 — Scala Exercises @raulraja @47deg V2

    View Slide

  11. Write Exercises with Code!
    11 — Scala Exercises @raulraja @47deg V2

    View Slide

  12. Write Exercises with Code!
    12 — Scala Exercises @raulraja @47deg V2

    View Slide

  13. Write Exercises with Code!
    13 — Scala Exercises @raulraja @47deg V2

    View Slide

  14. Write Exercises with Code!
    Real evaluation of exercises
    14 — Scala Exercises @raulraja @47deg V2

    View Slide

  15. Contributors are properly credited
    15 — Scala Exercises @raulraja @47deg V2

    View Slide

  16. 16 — Scala Exercises @raulraja @47deg V2

    View Slide

  17. Exercises Compiler Architecture
    17 — Scala Exercises @raulraja @47deg V2

    View Slide

  18. Technologies
    > Client [ScalaJS, Cats]
    > Server [Play, Cats, Doobie]
    18 — Scala Exercises @raulraja @47deg V2

    View Slide

  19. Client Architecture
    19 — Scala Exercises @raulraja @47deg V2

    View Slide

  20. Backend Architecture
    20 — Scala Exercises @raulraja @47deg V2

    View Slide

  21. Backend Architecture
    21 — Scala Exercises @raulraja @47deg V2

    View Slide

  22. Backend Architecture
    22 — Scala Exercises @raulraja @47deg V2

    View Slide

  23. Backend Architecture
    23 — Scala Exercises @raulraja @47deg V2

    View Slide

  24. Backend Architecture
    24 — Scala Exercises @raulraja @47deg V2

    View Slide

  25. Free Monads!
    25 — Scala Exercises @raulraja @47deg V2

    View Slide

  26. Free Monadas Libres!
    26 — Scala Exercises @raulraja @47deg V2

    View Slide

  27. Warning! V2 is under Heavy Development!
    27 — Scala Exercises @raulraja @47deg V2

    View Slide

  28. Actively working on...
    > Improved evaluation / Fork evaluation (Finch)
    > Support for block style exercises (Ex : Implement a
    type class)
    > Docs, contribution guide...
    > Splitting into multiple repositories
    28 — Scala Exercises @raulraja @47deg V2

    View Slide

  29. What would be coming next?
    > Allow Github organizations ?
    > Support other Exercises Format
    > Top level domain / org
    > It really is entirely up to you!
    29 — Scala Exercises @raulraja @47deg V2

    View Slide

  30. Thanks!
    @raulraja
    @47deg
    > Github : https://github.com/47deg/scala-exercises
    > Deck: https://github.com/47deg/scala-exercises-v2-
    deck
    > V1: http://scala-exercises.47deg.com
    30 — Scala Exercises @raulraja @47deg V2

    View Slide