
编写可组合、高性能、纯函数式应用程序,并使用 Cats Effect 提高工作效率,Cats Effect 是 Scala 最强大的库之一
什么是猫效应?
Cats Effect 是一个 Scala 库,它允许我们使用纯函数式编程编写可组合的高性能应用程序。
什么?!
Cats Effect 附带了一个名为 IO monad 的强大工具,它使我们能够编写任何类型的动作,也就是“效果”。除此之外,我们还获得了对并发、并行和协调的强大支持,所有这些都具有强类型系统(当然是 Scala)。
更一般地说,Cats Effect 带有一组抽象,可以清楚地区分不同种类的效果,因此我们可以编写更多可组合的代码。
最终结果是更强大的表现力、更高的性能、更少的错误、更少的样板代码,最重要的是,我们作为 Scala 工程师的快乐和生产力更高。
这就是您将在本课程中学到的内容。
这个猫效应课程是如何运作的
两个字:写代码。
本课程将尽可能地让您亲身实践。我们从第一原则学习一切,不假设任何预先存在的猫效应经验,我们从那里建立起来。我们发现了什么是效果,我们如何使用它们,如何编写代码,如何设计并行和并发应用程序以及如何概括和使代码模块化,所有这些都是通过实际示例进行的。我们从头开始编写 3000 行代码。
在本课程中,我们既有理论又有实践,因此您不仅可以将猫效应作为一种工具来学习,还可以将纯函数式编程和高性能应用程序的永恒原则内化。
该课程经过专门设计,通过解构猫效应并仔细排列主题,为您提供平滑的学习曲线。没有什么太陡峭或太无聊。
在这门猫效应课程中,我们从实践到理论,直到纯函数式编程深入您作为 Scala 开发人员的骨子里。
本课程与 Scala 2 和 Scala 3 100% 兼容。
此 Cats Effect 课程面向经验丰富的 Scala 开发人员
别搞错了——Cats Effect 可能很难,本课程面向高级开发人员。
扎实的计算机科学基础知识是必须的:内存如何工作、线程如何工作以及关于并行性的一些一般概念,以便您了解猫效应的神奇机制。
在高级课程的水平上,您应该非常熟悉 Scala 作为一种语言。
作为奖励,如果您熟悉 Cats,那将会有很大帮助,尤其是在课程的后面部分。
即使您很有经验,独自学习 Cats Effect 也可能需要几个月的时间(我刚开始时确实这样做了)。如果您愿意,本课程会将您的学习时间压缩到 2-3 天。
课程结束后你将获得的技能
首先,本课程将为您提供使用 Cats Effect 提高工作效率所需的一切
您将深刻理解纯函数式编程以及什么是“效果”
您将知道如何使用 IO 构建各种可组合程序
您将能够使用 IO、Fiber 和基于它们的工具编写并行和并发代码
您将能够使用诸如取消之类的工具来管理精确的程序控制
你将能够使用并发原语编写并发的纯函数式程序
你将能够根据 Cats Effect 中的工具设计你自己的并发工具
你将管理以纯功能方式获取资源
您将能够编写异步代码并无缝地组合同步和异步效果
您将能够为任何效果类型概括您的代码,并仍然保持其属性和含义
在本课程之后,您将能够阅读和编写任何代码,无论多么复杂,其中包含带有 Cats Effect 的 Scala。
但最重要的是,无论您最终使用哪种语言或工具,您都将培养贯穿整个职业生涯的永恒技能
您将深刻理解纯函数式编程在日常项目中的实际好处
您将对可组合性的含义有一个新的
认识您将内化关于可重用性、效果即值、通用和可组合代码的永恒原则,功能性设计模式等
作为开发人员,您将变得更有效率、更快乐
Write composable, high-performance, purely functional applications and become productive with Cats Effect, one of the most powerful libraries for Scala
Last updated 12/2022
MP4 | Video: h264, 1280×800 | Audio: AAC, 44.1 KHz, 2 Ch
Genre: eLearning | Language: English | Duration: 44 Lessons (15h 6m) | Size: 1.6 GB
What is Cats Effect?
Cats Effect is a Scala library that allows us to write composable and high-performance applications with pure functional programming.
What?!
Cats Effect comes with a powerful tool called the IO monad, which gives us the power to compose any kind of actions, aka “effects”. Besides that, we get great support for concurrency, parallelism and coordination, all with a strongly typed system (it’s Scala of course).
On more general terms, Cats Effect comes with a group of abstractions that make clear distinctions between different kinds of effects, so we can write more composable code.
The end result is more expressive power, higher performance, fewer bugs, less boilerplate, and most importantly, more happiness and productivity for us as Scala engineers.
This is what you’ll learn in this course.
How this Cats Effect course works
Two words: writing code.
This course is as hands-on as you can get. We learn everything from first principles, not assuming any pre-existing Cats Effect experience, and we build up from there. We discover what effects are, how we can use them, how to compose code, how to design parallel and concurrent applications and how to generalize and make the code modular, all through practical examples. We write 3000 lines of code from scratch.
In this course, we have both theory and practice, so you can not only learn Cats Effect as a tool, but you internalize timeless principles for pure functional programming and high-performance applications.
The course was specifically designed to give you a smooth learning curve by deconstructing Cats Effect and sequencing the topics carefully. Nothing too steep or too boring.
In this Cats Effect course, we go from practice to theory, until pure functional programming gets deep in your bones as a Scala developer.
This course is 100% compatible with Scala 2 and Scala 3.
This Cats Effect course is for experienced Scala developers
Make no mistake – Cats Effect can be difficult, and this course is for advanced developers.
Solid computer science fundamentals are a must: how memory works, how threads work, and some general concepts about parallelism so that you understand the magic machinery of Cats Effect.
You should be very comfortable with Scala as a language, at the level of the advanced course.
As a bonus, if you are familiar with Cats, that’ll help a lot, especially in the later parts of the course.
Even if you’re experienced, learning Cats Effect on your own can take months (I certainly did when I started). This course will compress your learning time to 2-3 days if you’re committed.
Skills you’ll get after the course
First of all, this course will give you everything you need to be productive with Cats Effect
You’ll deeply understand pure functional programming and what “effects” are
You’ll know how to build all sorts of composable programs with IO
You’ll be able write parallel and concurrent code with IOs, Fibers and the tools on top of them
You’ll be able to manage pinpoint program control, with tools like cancellation
You’ll be able to write concurrent, purely functional programs with concurrency primitives
You’ll be able to design your own concurrency tools based on those from Cats Effect
You’ll manage resources in a purely functional way
You’ll be able to write asynchronous code and compose synchronous and asychronous effects seamlessly
You’ll be able to generalize your code for any effect type and still maintain its properties and meaning
After this course, you’ll be able to read and write any code, however complex, that has Scala with Cats Effect in it.
But most importantly, you’ll develop timeless skills that you’ll carry with you for your entire career, regardless of which language or tool you’ll end up using
You’ll deeply understand the practical benefits of pure functional programming in day-to-day projects
You’ll get a new perspective on what composability means
You’ll internalize timeless principles about reusability, effects-as-values, generic and composable code, functional design patterns and more
You’ll become more productive and happier as a developer
原创文章,作者:steven,如若转载,请注明出处:https://rr3d.cn/39540.html