Skip to content

Commit 97a3904

Browse files
committed
initial version
1 parent 1347aac commit 97a3904

File tree

2 files changed

+145
-0
lines changed

2 files changed

+145
-0
lines changed

.github/workflows/page.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Simple workflow for deploying static content to GitHub Pages
2+
name: Deploy static content to Pages
3+
4+
on:
5+
# Runs on pushes targeting the default branch
6+
push:
7+
branches: ["main"]
8+
9+
# Allows you to run this workflow manually from the Actions tab
10+
workflow_dispatch:
11+
12+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
13+
permissions:
14+
contents: read
15+
pages: write
16+
id-token: write
17+
18+
# Allow one concurrent deployment
19+
concurrency:
20+
group: "pages"
21+
cancel-in-progress: true
22+
23+
jobs:
24+
deploy:
25+
environment:
26+
name: github-pages
27+
url: ${{ steps.deployment.outputs.page_url }}
28+
runs-on: ubuntu-latest
29+
steps:
30+
- name: Checkout
31+
uses: actions/checkout@v3
32+
- name: Convert Markdown to HTML
33+
uses: natescherer/markdown-to-html-with-github-style-action@v1
34+
with:
35+
path: README.md
36+
- name: Create index file
37+
run: |
38+
mv README.html index.html
39+
- name: Setup Pages
40+
uses: actions/configure-pages@v3
41+
- name: Upload artifact
42+
uses: actions/upload-pages-artifact@v1
43+
with:
44+
path: 'index.html'
45+
- name: Deploy to GitHub Pages
46+
id: deployment
47+
uses: actions/deploy-pages@v1

README.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# Learn Scala
2+
3+
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.
4+
5+
The list is still incomplete, any additional resources for existing sections or whole sections are welcome, just rise a pull request.
6+
7+
---
8+
9+
## General trainings and books
10+
11+
- Scala exercises https://www.scala-exercises.org/scala_tutorial/terms_and_types
12+
- 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
14+
- Scala with Cats by Underscore https://www.scalawithcats.com/dist/scala-with-cats.html
15+
- Functional Programming in Scala by Martin Odersky https://www.coursera.org/learn/progfun1
16+
- Dev inside you - various scala lessons https://www.youtube.com/channel/UCSBUwLT9zXhUalKfJrc2q2A/videos
17+
- Strategic Scala Style: Principle of Least Power by Li Haoi https://www.lihaoyi.com/post/StrategicScalaStylePrincipleofLeastPower.html
18+
- Lightbend Scala Language - Professional https://academy.lightbend.com/courses/course-v1:lightbend+LSL-P-Scala-Language-Professional+v1/about
19+
20+
## Language aspects
21+
22+
### Type system hierarchy
23+
- https://docs.scala-lang.org/tour/unified-types.html
24+
- https://www.artima.com/scalazine/articles/scalas_type_system.html
25+
26+
### Case classes
27+
- https://docs.scala-lang.org/tour/case-classes.html
28+
- https://docs.scala-lang.org/overviews/scala-book/case-classes.html
29+
30+
### Traits
31+
- https://docs.scala-lang.org/tour/traits.html
32+
- https://docs.scala-lang.org/overviews/scala-book/traits-interfaces.html
33+
34+
### Pattern matching
35+
- https://docs.scala-lang.org/tour/pattern-matching.html
36+
- https://alvinalexander.com/scala/how-to-use-pattern-matching-scala-match-case-expressions/
37+
- https://data-flair.training/blogs/scala-pattern-matching/
38+
39+
### Option and Either
40+
- https://xebia.com/blog/try-option-or-either/
41+
- https://alvinalexander.com/scala/best-practice-eliminate-null-values-from-code-scala-idioms/
42+
- https://danielwestheide.com/blog/the-neophytes-guide-to-scala-part-7-the-either-type/
43+
44+
### Collections, for comprehension
45+
- https://docs.scala-lang.org/overviews/scala-book/collections-101.html
46+
- https://docs.scala-lang.org/tour/for-comprehensions.html
47+
48+
### Implicits
49+
- https://www.artima.com/pins1ed/implicit-conversions-and-parameters.html
50+
- https://www.lihaoyi.com/post/ImplicitDesignPatternsinScala.html
51+
- https://scala-fmi.github.io/scala-fmi-2019/lectures/08-implicits.html
52+
- https://apiumhub.com/tech-blog-barcelona/scala-implicits/
53+
54+
### Future - asynchronous and parallel operations
55+
- https://docs.scala-lang.org/overviews/scala-book/futures.html
56+
- https://docs.scala-lang.org/overviews/core/futures.html
57+
- https://danielwestheide.com/blog/the-neophytes-guide-to-scala-part-8-welcome-to-the-future/
58+
59+
60+
## Advanced Scala usage
61+
62+
### Slick
63+
- https://scala-slick.org/doc/3.3.1/introduction.html
64+
- https://books.underscore.io/essential-slick/essential-slick-3.html
65+
66+
### Circe - working with Json
67+
- https://circe.github.io/circe/
68+
69+
### IO
70+
- https://typelevel.org/cats-effect/datatypes/io.html
71+
- https://typelevel.org/blog/2017/05/02/io-monad-for-cats.html
72+
- https://medium.com/walmartlabs/understanding-io-monad-in-scala-b495ca572174
73+
74+
### Type classes
75+
- https://tpolecat.github.io/2013/10/12/typeclass.html
76+
- https://scalac.io/typeclasses-in-scala/
77+
- https://www.scala-exercises.org/scala_tutorial/type_classes
78+
79+
### Cats
80+
- https://underscore.io/books/scala-with-cats/
81+
- https://typelevel.org/cats/
82+
- https://www.scala-exercises.org/cats/semigroup
83+
84+
### Higher-kinded types
85+
- https://medium.com/bigpanda-engineering/understanding-f-in-scala-4bec5996761f
86+
- https://dzone.com/articles/scalafp-the-mystery-of-scalas-higher-kinded-types
87+
- https://www.stephanboyer.com/post/115/higher-rank-and-higher-kinded-types
88+
89+
### Tagless final
90+
- https://blog.rockthejvm.com/tagless-final/
91+
- https://blog.softwaremill.com/final-tagless-seen-alive-79a8d884691d
92+
- https://blog.softwaremill.com/bake-your-bread-tagless-final-style-dea9448b3dc3
93+
- https://www.basementcrowd.com/2019/01/17/an-introduction-to-tagless-final-in-scala/
94+
- https://scalac.io/tagless-final-pattern-for-scala-code/
95+
96+
### FP in general
97+
- https://github.com/mmenestret/fp-resources
98+
- http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html

0 commit comments

Comments
 (0)