22
33This repository is intended as a helper for everyone who wants to improve their Scala knowledge, be it beginners or more advanced users. Links in the sections are provided in no specific order.
44
5- The list is still incomplete, any additional resources for existing sections or whole sections are welcome, just rise a pull request.
5+ The list is still incomplete, any additional resources for existing sections or whole sections are welcome, just raise a pull request.
66
77---
88
99## General trainings and books
1010
1111 - Scala exercises https://www.scala-exercises.org/scala_tutorial/terms_and_types
1212 - Scala at Light Speed https://www.youtube.com/watch?v=-8V6bMjThNo&list=PLmtsMNDRU0BxryRX4wiwrTZ661xcp6VPM
13- - Hands on Scala by Li Haoi https://www.handsonscala.com/chapter-1-hands-on-scala.html
13+ - (paid) Rock The JVM https://rockthejvm.com
14+ - (paid, free preview) Hands on Scala by Li Haoi https://www.handsonscala.com/chapter-1-hands-on-scala.html
1415 - Scala with Cats by Underscore https://www.scalawithcats.com/dist/scala-with-cats.html
1516 - Functional Programming in Scala by Martin Odersky https://www.coursera.org/learn/progfun1
1617 - Strategic Scala Style: Principle of Least Power by Li Haoi https://www.lihaoyi.com/post/StrategicScalaStylePrincipleofLeastPower.html
1718 - Lightbend Scala Language - Professional https://academy.lightbend.com/courses/course-v1:lightbend+LSL-P-Scala-Language-Professional+v1/about
19+ - Foundations of Functional Programming in Scala https://www.youtube.com/watch?v=OdPaWmRnAc4&list=PLiYD0LWExCDkXGpYRY3WjNscDfhe4D0ND
20+ - (paid) Inner-product training https://www.inner-product.com/services/training/
1821
1922---
23+
2024## Blogs, newsletters and channels
25+
2126- Softwaremill
2227 - Scala Times newsletter https://scalatimes.com/
2328 - Blog https://softwaremill.com/blog/
@@ -40,41 +45,50 @@ The list is still incomplete, any additional resources for existing sections or
4045 - https://blog.michalp.net/
4146
4247---
48+
4349## Language aspects
4450
4551### Type system hierarchy
52+
4653 - https://docs.scala-lang.org/tour/unified-types.html
4754 - https://www.artima.com/scalazine/articles/scalas_type_system.html
4855
4956### Case classes
57+
5058 - https://docs.scala-lang.org/tour/case-classes.html
5159 - https://docs.scala-lang.org/overviews/scala-book/case-classes.html
5260
5361### Traits
62+
5463 - https://docs.scala-lang.org/tour/traits.html
5564 - https://docs.scala-lang.org/overviews/scala-book/traits-interfaces.html
5665
5766### Pattern matching
67+
5868 - https://docs.scala-lang.org/tour/pattern-matching.html
5969 - https://alvinalexander.com/scala/how-to-use-pattern-matching-scala-match-case-expressions/
6070 - https://data-flair.training/blogs/scala-pattern-matching/
6171
6272### Option and Either
73+
6374 - https://xebia.com/blog/try-option-or-either/
6475 - https://alvinalexander.com/scala/best-practice-eliminate-null-values-from-code-scala-idioms/
6576 - https://danielwestheide.com/blog/the-neophytes-guide-to-scala-part-7-the-either-type/
6677
6778### Collections, for comprehension
79+
6880 - https://docs.scala-lang.org/overviews/scala-book/collections-101.html
6981 - https://docs.scala-lang.org/tour/for-comprehensions.html
7082
7183### Implicits
84+
7285 - https://www.artima.com/pins1ed/implicit-conversions-and-parameters.html
7386 - https://www.lihaoyi.com/post/ImplicitDesignPatternsinScala.html
7487 - https://scala-fmi.github.io/scala-fmi-2019/lectures/08-implicits.html
7588 - https://apiumhub.com/tech-blog-barcelona/scala-implicits/
7689
7790### Future - asynchronous and parallel operations
91+
7892 - https://docs.scala-lang.org/overviews/scala-book/futures.html
7993 - https://docs.scala-lang.org/overviews/core/futures.html
8094 - https://danielwestheide.com/blog/the-neophytes-guide-to-scala-part-8-welcome-to-the-future/
@@ -86,76 +100,92 @@ The list is still incomplete, any additional resources for existing sections or
86100### Databases
87101
88102#### Slick
103+
89104 - https://scala-slick.org/doc/3.3.1/introduction.html
90105 - https://books.underscore.io/essential-slick/essential-slick-3.html
91106
92107#### Doobie
108+
93109 - https://tpolecat.github.io/doobie/
94110
95111#### Quill
112+
96113 - https://getquill.io/
97114 - https://zio.dev/zio-quill/
98115 - https://github.com/zio/zio-protoquill
99116
100117### Working with Json
101118
102- #### Circe
119+ #### Circe
120+
103121 - https://circe.github.io/circe/
104122
105123#### Jsoniter Scala
124+
106125 - https://github.com/plokhotnyuk/jsoniter-scala
107126 - https://blog.lambdaspot.dev/the-fastest-and-safest-json-parser-and-serializer-for-scala
108127
109128### IO
129+
110130 - https://typelevel.org/cats-effect/datatypes/io.html
111131 - https://typelevel.org/blog/2017/05/02/io-monad-for-cats.html
112132 - https://medium.com/walmartlabs/understanding-io-monad-in-scala-b495ca572174
113133
114134### ZIO
135+
115136 - https://zio.dev/
116137
117138### Monix
139+
118140 - https://monix.io/
119141
120142### Messaging
121143
122144#### pass4s
145+
123146 - https://ocadotechnology.github.io/pass4s/
124147 - https://blog.michalp.net/posts/scala/pass4s-basics/
125148
126149### Type classes
150+
127151 - https://tpolecat.github.io/2013/10/12/typeclass.html
128152 - https://scalac.io/typeclasses-in-scala/
129153 - https://www.scala-exercises.org/scala_tutorial/type_classes
130154
131155### Cats
156+
132157 - https://underscore.io/books/scala-with-cats/
133158 - https://typelevel.org/cats/
134159 - https://www.scala-exercises.org/cats/semigroup
135160
136161### Higher-kinded types
162+
137163 - https://medium.com/bigpanda-engineering/understanding-f-in-scala-4bec5996761f
138164 - https://dzone.com/articles/scalafp-the-mystery-of-scalas-higher-kinded-types
139165 - https://www.stephanboyer.com/post/115/higher-rank-and-higher-kinded-types
140166
141167### Tagless final
168+
142169 - https://blog.rockthejvm.com/tagless-final/
143170 - https://blog.softwaremill.com/final-tagless-seen-alive-79a8d884691d
144171 - https://blog.softwaremill.com/bake-your-bread-tagless-final-style-dea9448b3dc3
145172 - https://www.basementcrowd.com/2019/01/17/an-introduction-to-tagless-final-in-scala/
146173 - https://scalac.io/tagless-final-pattern-for-scala-code/
147174
148175### FP in general
176+
149177 - https://github.com/mmenestret/fp-resources
150178 - http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html
151179
152180### Streaming
153181
154182#### FS2
183+
155184 - https://fs2.io/
156185
157186### OAuth2
158187
159188#### sttp-oauth2
189+
160190 - https://ocadotechnology.github.io/sttp-oauth2/
161191 - https://blog.michalp.net/posts/scala/oauth2-app-p1/
0 commit comments