Table of Contents: 00:00 Intro 00:17 Chore: refactoring 03:59 Injecting dependencies on the method level instead of on the constructor level 06:59 The Reader way 09:32 ZIO.environment 11:14 ZIO.access & ZIO.accessM 20:41 More FP 21:51 ZEnv
This video is a demo of a script helper called gum created by a company called charm @Charm CLI This demo also includes another one of their tools called glow.
Charm:
https://charm.sh/
Scala:
https://scala-lang.org
Gum:
https://github.com/charmbracelet/gum
Giter8:
https://github.com/foundweekends/giter8
My Giter8 templates:
https://g8.devinsideyou.com
Get the script here:
https://github.com/DevInsideYou/install-diyg8
Nix:
https://nixos.org/download
My install scripts:
https://install.devinsideyou.com
GitHub CLI:
https://cli.github.com
Glow:
https://github.com/charmbracelet/glow
Work with me at AvantStay:
Send me a direct email - vpekker [at] avantstay [dot] com
Job description - https://functional.works-hub.com/jobs/remote-backend-engineer-c82a6
Table of Contents:
00:00 Intro
02:50 Demo
07:20 Bash & Gum Script
09:25 Glow
10:26 Final Words
Website: https://devinsideyou.com
Patreon: https://patreon.devinsideyou.com
Discord: https://discord.devinsideyou.com
Telegram: https://telegram.devinsideyou.com
Twitter: https://twitter.devinsideyou.com
GitHub: https://github.devinsideyou.com
LBRY: https://lbry.devinsideyou.com
Install scripts: https://install.devinsideyou.com
Giter8 templates: https://g8.devinsideyou.com
Spotify concentration playlist: https://code.radio.devinsideyou.com
Cheers and Happy Coding!
#charm #gum #glow
...
https://www.youtube.com/watch?v=u2UZp--vFog
In this video we will learn about Monoids which are lurking everywhere and are therefore worth knowing about. We will also cover a bit more of the Group Theory and write a small library for it. This video got too long and so I split it into two.
The code for the entire project is here:
https://github.com/DevInsideYou/homegrown-collections
The commits from this video are here:
https://github.com/DevInsideYou/homegrown-collections/commit/84a7d2e998f22b394376a20205e311aebf991642
https://github.com/DevInsideYou/homegrown-collections/commit/daa60aaaf9e7d2462c0ff86f02895e75fb981ecf
Make sure to visit the links at the top right corner of the page (Group, Ring, etc)
https://en.wikipedia.org/wiki/Algebraic_structure
Spire is a numeric library for Scala which is intended to be generic, fast, and precise.
https://typelevel.org/spire/
This video is part of the following playlist:
https://www.youtube.com/playlist?list=PLJGDHERh23x-4bTASKbtwhhAuP6rYQJqE
Website: https://devinsideyou.com
Patreon: https://patreon.devinsideyou.com
Discord: https://discord.devinsideyou.com
Twitter: https://twitter.devinsideyou.com
Github: https://github.devinsideyou.com
Install scripts: https://install.devinsideyou.com
Giter8 templates: https://g8.devinsideyou.com
Spotify concentration playlist: https://code.radio.devinsideyou.com
Cheers and Happy Coding!
#Monoid #tutorial
...
https://www.youtube.com/watch?v=bT9qRjRuwCc
This video covers the arguably most complicated feature of sbt - the scope axes. This is part 2/2.
Work with me at AvantStay:
https://functional.works-hub.com/jobs/remote-backend-engineer-c82a6
sbt is not an acronym and is therefore spelled in all lowercase letters:
https://www.scala-sbt.org/1.x/docs/Faq.html
Scope Delegation Rules:
https://www.scala-sbt.org/1.x/docs/Scope-Delegation.html#Scope+delegation+rules
Table of Contents:
00:00 Defining your own Keys (next video?)
01:30 Defining Settings/Tasks aka HAVING Keys aka adding Nodes to the DAG
03:21 USING Keys aka adding Edges to the DAG
06:43 Recursive Keys
09:15 The .value macro and running tasks in sequence
14:01 The fallback strategy aka delegate rules aka .value lookup
23:16 Conclusion
Website: https://devinsideyou.com
Patreon: https://patreon.devinsideyou.com
Discord: https://discord.devinsideyou.com
Telegram: https://telegram.devinsideyou.com
Twitter: https://twitter.devinsideyou.com
GitHub: https://github.devinsideyou.com
LBRY: https://lbry.devinsideyou.com
Install scripts: https://install.devinsideyou.com
Giter8 templates: https://g8.devinsideyou.com
Spotify concentration playlist: https://code.radio.devinsideyou.com
Cheers and Happy Coding!
#scala
...
https://www.youtube.com/watch?v=7AmTdqSTiOs
In this video we are going to play around with Chimney - a Scala library for boilerplate-free data transformations. It uses macros behind the scenes and therefore reports all errors at compile time.
Chimney website:
https://scalalandio.github.io/chimney/
My .dotfiles:
https://github.com/agilesteel/.dotfiles
This video is part of the following playlist:
https://www.youtube.com/playlist?list=PLJGDHERh23x9Wzcbc7j9ZDl03tKQF5QDN
Table of Contents
02:17 SBT project setup
06:31 Chimney tutorial
29:07 Larger example
33:42 Limitations
37:53 Validation with Cats
56:00 Use chimney for Isomorphisms
Website: https://devinsideyou.com
Patreon: https://patreon.devinsideyou.com
Discord: https://discord.devinsideyou.com
Twitter: https://twitter.devinsideyou.com
Github: https://github.devinsideyou.com
Install scripts: https://install.devinsideyou.com
Giter8 templates: https://g8.devinsideyou.com
Spotify concentration playlist: https://code.radio.devinsideyou.com
Cheers and Happy Coding!
#Scala #tutorial
...
https://www.youtube.com/watch?v=ezz0BpEHEQY
In this video we will continue implementing our own version of ZIO. This video focuses on the second parameter slot (the error channel) of ZIO.
The code is here:
https://github.com/DevInsideYou/zionutshell
Table of Contents:
00:00 Intro
01:07 Total functions
03:08 Inserting the error channel into our ZIO
12:29 Variance
15:28 Covariance
22:52 Contravariance
29:36 ZIO.effect
32:10 Type inference
32:47 catchAll - the flatMap for the error channel
36:00 fold
38:00 mapError - the map for the error channel
Website: https://devinsideyou.com
Patreon: https://patreon.devinsideyou.com
Discord: https://discord.devinsideyou.com
Telegram: https://telegram.devinsideyou.com
Twitter: https://twitter.devinsideyou.com
GitHub: https://github.devinsideyou.com
LBRY: https://lbry.devinsideyou.com
Install scripts: https://install.devinsideyou.com
Giter8 templates: https://g8.devinsideyou.com
Spotify concentration playlist: https://code.radio.devinsideyou.com
Cheers and Happy Coding!
#scala #tutorial
...
https://www.youtube.com/watch?v=oKaQXxEa7a8