Skip to content

Commit

Permalink
Merge pull request #2 from polyvariant/kubukoz-patch-1
Browse files Browse the repository at this point in the history
New links / markdown cleanup
  • Loading branch information
kubukoz authored Apr 22, 2024
2 parents 46195c6 + d713f58 commit b989548
Showing 1 changed file with 33 additions and 3 deletions.
36 changes: 33 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,27 @@

This 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.

The list is still incomplete, any additional resources for existing sections or whole sections are welcome, just rise a pull request.
The list is still incomplete, any additional resources for existing sections or whole sections are welcome, just raise a pull request.

---

## General trainings and books

- Scala exercises https://www.scala-exercises.org/scala_tutorial/terms_and_types
- Scala at Light Speed https://www.youtube.com/watch?v=-8V6bMjThNo&list=PLmtsMNDRU0BxryRX4wiwrTZ661xcp6VPM
- Hands on Scala by Li Haoi https://www.handsonscala.com/chapter-1-hands-on-scala.html
- (paid) Rock The JVM https://rockthejvm.com
- (paid, free preview) Hands on Scala by Li Haoi https://www.handsonscala.com/chapter-1-hands-on-scala.html
- Scala with Cats by Underscore https://www.scalawithcats.com/dist/scala-with-cats.html
- Functional Programming in Scala by Martin Odersky https://www.coursera.org/learn/progfun1
- Strategic Scala Style: Principle of Least Power by Li Haoi https://www.lihaoyi.com/post/StrategicScalaStylePrincipleofLeastPower.html
- Lightbend Scala Language - Professional https://academy.lightbend.com/courses/course-v1:lightbend+LSL-P-Scala-Language-Professional+v1/about
- Foundations of Functional Programming in Scala https://www.youtube.com/watch?v=OdPaWmRnAc4&list=PLiYD0LWExCDkXGpYRY3WjNscDfhe4D0ND
- (paid) Inner-product training https://www.inner-product.com/services/training/

---

## Blogs, newsletters and channels

- Softwaremill
- Scala Times newsletter https://scalatimes.com/
- Blog https://softwaremill.com/blog/
Expand All @@ -40,41 +45,50 @@ The list is still incomplete, any additional resources for existing sections or
- https://blog.michalp.net/

---

## Language aspects

### Type system hierarchy

- https://docs.scala-lang.org/tour/unified-types.html
- https://www.artima.com/scalazine/articles/scalas_type_system.html

### Case classes

- https://docs.scala-lang.org/tour/case-classes.html
- https://docs.scala-lang.org/overviews/scala-book/case-classes.html

### Traits

- https://docs.scala-lang.org/tour/traits.html
- https://docs.scala-lang.org/overviews/scala-book/traits-interfaces.html

### Pattern matching

- https://docs.scala-lang.org/tour/pattern-matching.html
- https://alvinalexander.com/scala/how-to-use-pattern-matching-scala-match-case-expressions/
- https://data-flair.training/blogs/scala-pattern-matching/

### Option and Either

- https://xebia.com/blog/try-option-or-either/
- https://alvinalexander.com/scala/best-practice-eliminate-null-values-from-code-scala-idioms/
- https://danielwestheide.com/blog/the-neophytes-guide-to-scala-part-7-the-either-type/

### Collections, for comprehension

- https://docs.scala-lang.org/overviews/scala-book/collections-101.html
- https://docs.scala-lang.org/tour/for-comprehensions.html

### Implicits

- https://www.artima.com/pins1ed/implicit-conversions-and-parameters.html
- https://www.lihaoyi.com/post/ImplicitDesignPatternsinScala.html
- https://scala-fmi.github.io/scala-fmi-2019/lectures/08-implicits.html
- https://apiumhub.com/tech-blog-barcelona/scala-implicits/

### Future - asynchronous and parallel operations

- https://docs.scala-lang.org/overviews/scala-book/futures.html
- https://docs.scala-lang.org/overviews/core/futures.html
- https://danielwestheide.com/blog/the-neophytes-guide-to-scala-part-8-welcome-to-the-future/
Expand All @@ -86,76 +100,92 @@ The list is still incomplete, any additional resources for existing sections or
### Databases

#### Slick

- https://scala-slick.org/doc/3.3.1/introduction.html
- https://books.underscore.io/essential-slick/essential-slick-3.html

#### Doobie

- https://tpolecat.github.io/doobie/

#### Quill

- https://getquill.io/
- https://zio.dev/zio-quill/
- https://github.com/zio/zio-protoquill

### Working with Json

#### Circe
#### Circe

- https://circe.github.io/circe/

#### Jsoniter Scala

- https://github.com/plokhotnyuk/jsoniter-scala
- https://blog.lambdaspot.dev/the-fastest-and-safest-json-parser-and-serializer-for-scala

### IO

- https://typelevel.org/cats-effect/datatypes/io.html
- https://typelevel.org/blog/2017/05/02/io-monad-for-cats.html
- https://medium.com/walmartlabs/understanding-io-monad-in-scala-b495ca572174

### ZIO

- https://zio.dev/

### Monix

- https://monix.io/

### Messaging

#### pass4s

- https://ocadotechnology.github.io/pass4s/
- https://blog.michalp.net/posts/scala/pass4s-basics/

### Type classes

- https://tpolecat.github.io/2013/10/12/typeclass.html
- https://scalac.io/typeclasses-in-scala/
- https://www.scala-exercises.org/scala_tutorial/type_classes

### Cats

- https://underscore.io/books/scala-with-cats/
- https://typelevel.org/cats/
- https://www.scala-exercises.org/cats/semigroup

### Higher-kinded types

- https://medium.com/bigpanda-engineering/understanding-f-in-scala-4bec5996761f
- https://dzone.com/articles/scalafp-the-mystery-of-scalas-higher-kinded-types
- https://www.stephanboyer.com/post/115/higher-rank-and-higher-kinded-types

### Tagless final

- https://blog.rockthejvm.com/tagless-final/
- https://blog.softwaremill.com/final-tagless-seen-alive-79a8d884691d
- https://blog.softwaremill.com/bake-your-bread-tagless-final-style-dea9448b3dc3
- https://www.basementcrowd.com/2019/01/17/an-introduction-to-tagless-final-in-scala/
- https://scalac.io/tagless-final-pattern-for-scala-code/

### FP in general

- https://github.com/mmenestret/fp-resources
- http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html

### Streaming

#### FS2

- https://fs2.io/

### OAuth2

#### sttp-oauth2

- https://ocadotechnology.github.io/sttp-oauth2/
- https://blog.michalp.net/posts/scala/oauth2-app-p1/

0 comments on commit b989548

Please sign in to comment.