Scala Expert Recipes

Course

Online

£ 13 + VAT

Description

  • Type

    Course

  • Methodology

    Online

  • Start date

    Different dates available

Become an expert with the most useful Scala recipes.To push your applications from good enough to great, we look at a variety of more complex topics. We start with optimization in the world of Scala, covering a few handy features in the language that let you reduce the overhead of for certain operations. We also take a thorough look at Scala’'s implicit keyword and the various ways it can be used to employ the Scala's smart compiler’s smarts to make your code easier to extend. Scala’'s interactions with Java can be a sticking point during debugging, profiling, and in more advanced scenarios where Java libraries have useful functions you want to use from Scala; we look at all of these scenarios to get a better understanding of this interaction point. We then look at Scala’'s support for mutability and immutability, and the best ways to decide between the two in practical scenarios. Finally, we touch on a few more advanced tips and tricks---—a grab-bag of useful knowledge that can come in handy any time.About the AuthorAntonio Salazar Cardozo is a developer who has led small teams from his classes at Georgia Tech and through each company he has contributed to. He is a software pragmatist and perfectionist who values great software that is written for humans first, and loves to help teams find the development and interaction styles that make them deliver the best software to solve the problems they are solving. Between startups and larger companies, he has worked on most aspects of web and non-web systems, and loves to see how each piece of software is received and how it can improve. When he's not leaving honest, extensive code review, he's been known to travel and enjoys visiting both new and old places far from home.

Facilities

Location

Start date

Online

Start date

Different dates availableEnrolment now open

About this course

Use operations to optimize your codeDebug
Profile your code using useful Java libraries
Incorporate Scala support in practical scenarios

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Emagister S.L. (data controller) will process your data to carry out promotional activities (via email and/or phone), publish reviews, or manage incidents. You can learn about your rights and manage your preferences in the privacy policy.

Reviews

This centre's achievements

2021

All courses are up to date

The average rating is higher than 3.7

More than 50 reviews in the last 12 months

This centre has featured on Emagister for 6 years

Subjects

  • Web
  • Java
  • Information Systems
  • Information Systems management
  • Programming
  • Programme Planning
  • Programming Application
  • IT
  • IT Management
  • Management

Course programme

Scala Optimizations 4 lectures 38:49 The Course Overview This video provides an overview of the entire course. Recursion and the tailrec Annotation Ensuring recursive code is optimized by the Scala compiler. • Understand the issues with regular recursion • Write a tail recursive function • Apply tailrec annotation to check compiler optimization Switch Annotation Ensuring pattern matches are optimized by the Scala compiler. • Understand the basics of jump tables • Write a pattern match that is optimized to a jump table • Apply switch annotation to check compiler optimization Value Classes Creating zero-overhead class abstractions. • Understand the concept of value classes • Write a value class • Understand how Option is implemented as value class Scala Optimizations 4 lectures 38:49 The Course Overview This video provides an overview of the entire course. Recursion and the tailrec Annotation Ensuring recursive code is optimized by the Scala compiler. • Understand the issues with regular recursion • Write a tail recursive function • Apply tailrec annotation to check compiler optimization Switch Annotation Ensuring pattern matches are optimized by the Scala compiler. • Understand the basics of jump tables • Write a pattern match that is optimized to a jump table • Apply switch annotation to check compiler optimization Value Classes Creating zero-overhead class abstractions. • Understand the concept of value classes • Write a value class • Understand how Option is implemented as value class The Course Overview This video provides an overview of the entire course. The Course Overview This video provides an overview of the entire course. The Course Overview This video provides an overview of the entire course. The Course Overview This video provides an overview of the entire course. This video provides an overview of the entire course. This video provides an overview of the entire course. Recursion and the tailrec Annotation Ensuring recursive code is optimized by the Scala compiler. • Understand the issues with regular recursion • Write a tail recursive function • Apply tailrec annotation to check compiler optimization Recursion and the tailrec Annotation Ensuring recursive code is optimized by the Scala compiler. • Understand the issues with regular recursion • Write a tail recursive function • Apply tailrec annotation to check compiler optimization Recursion and the tailrec Annotation Ensuring recursive code is optimized by the Scala compiler. • Understand the issues with regular recursion • Write a tail recursive function • Apply tailrec annotation to check compiler optimization Recursion and the tailrec Annotation Ensuring recursive code is optimized by the Scala compiler. • Understand the issues with regular recursion • Write a tail recursive function • Apply tailrec annotation to check compiler optimization Ensuring recursive code is optimized by the Scala compiler. • Understand the issues with regular recursion • Write a tail recursive function • Apply tailrec annotation to check compiler optimization Ensuring recursive code is optimized by the Scala compiler. • Understand the issues with regular recursion • Write a tail recursive function • Apply tailrec annotation to check compiler optimization Switch Annotation Ensuring pattern matches are optimized by the Scala compiler. • Understand the basics of jump tables • Write a pattern match that is optimized to a jump table • Apply switch annotation to check compiler optimization Switch Annotation Ensuring pattern matches are optimized by the Scala compiler. • Understand the basics of jump tables • Write a pattern match that is optimized to a jump table • Apply switch annotation to check compiler optimization Switch Annotation Ensuring pattern matches are optimized by the Scala compiler. • Understand the basics of jump tables • Write a pattern match that is optimized to a jump table • Apply switch annotation to check compiler optimization Switch Annotation Ensuring pattern matches are optimized by the Scala compiler. • Understand the basics of jump tables • Write a pattern match that is optimized to a jump table • Apply switch annotation to check compiler optimization Ensuring pattern matches are optimized by the Scala compiler. • Understand the basics of jump tables • Write a pattern match that is optimized to a jump table • Apply switch annotation to check compiler optimization Ensuring pattern matches are optimized by the Scala compiler. • Understand the basics of jump tables • Write a pattern match that is optimized to a jump table • Apply switch annotation to check compiler optimization Value Classes Creating zero-overhead class abstractions. • Understand the concept of value classes • Write a value class • Understand how Option is implemented as value class Value Classes Creating zero-overhead class abstractions. • Understand the concept of value classes • Write a value class • Understand how Option is implemented as value class Value Classes Creating zero-overhead class abstractions. • Understand the concept of value classes • Write a value class • Understand how Option is implemented as value class Value Classes Creating zero-overhead class abstractions. • Understand the concept of value classes • Write a value class • Understand how Option is implemented as value class Creating zero-overhead class abstractions. • Understand the concept of value classes • Write a value class • Understand how Option is implemented as value class Creating zero-overhead class abstractions. • Understand the concept of value classes • Write a value class • Understand how Option is implemented as value class The Implicit Keyword 3 lectures 40:56 Basic Implicit Parameters Applying implicit parameters and seeing how the compiler resolves them. • Write a function with implicit parameters • Understand the basics of implicit resolution • Understand why implicit can be useful Implicit Parameters and Typeclasses Using implicit parameters to implement the typeclass pattern. • Understand implicit parameters for typeclasses • Implement a typeclass hierarchy • Extend your existing typeclass hierarchy Implicit Classes and Object Extensions Extending objects via implicit classes and implicit value classes. • Use an implicit class to extend StringOps • Use an implicit class to extend a regular object • Understand how implicit classes work with value classes The Implicit Keyword 3 lectures 40:56 Basic Implicit Parameters Applying implicit parameters and seeing how the compiler resolves them. • Write a function with implicit parameters • Understand the basics of implicit resolution • Understand why implicit can be useful Implicit Parameters and Typeclasses Using implicit parameters to implement the typeclass pattern. • Understand implicit parameters for typeclasses • Implement a typeclass hierarchy • Extend your existing typeclass hierarchy Implicit Classes and Object Extensions Extending objects via implicit classes and implicit value classes. • Use an implicit class to extend StringOps • Use an implicit class to extend a regular object • Understand how implicit classes work with value classes Basic Implicit Parameters Applying implicit parameters and seeing how the compiler resolves them. • Write a function with implicit parameters • Understand the basics of implicit resolution • Understand why implicit can be useful Basic Implicit Parameters Applying implicit parameters and seeing how the compiler resolves them. • Write a function with implicit parameters • Understand the basics of implicit resolution • Understand why implicit can be useful Basic Implicit Parameters Applying implicit parameters and seeing how the compiler resolves them. • Write a function with implicit parameters • Understand the basics of implicit resolution • Understand why implicit can be useful Basic Implicit Parameters Applying implicit parameters and seeing how the compiler resolves them. • Write a function with implicit parameters • Understand the basics of implicit resolution • Understand why implicit can be useful Applying implicit parameters and seeing how the compiler resolves them. • Write a function with implicit parameters • Understand the basics of implicit resolution • Understand why implicit can be useful Applying implicit parameters and seeing how the compiler resolves them. • Write a function with implicit parameters • Understand the basics of implicit resolution • Understand why implicit can be useful Implicit Parameters and Typeclasses Using implicit parameters to implement the typeclass pattern. • Understand implicit parameters for typeclasses • Implement a typeclass hierarchy • Extend your existing typeclass hierarchy Implicit Parameters and Typeclasses Using implicit parameters to implement the typeclass pattern. • Understand implicit parameters for typeclasses • Implement a typeclass hierarchy • Extend your existing typeclass hierarchy Implicit Parameters and Typeclasses Using implicit parameters to implement the typeclass pattern. • Understand implicit parameters for typeclasses • Implement a typeclass hierarchy • Extend your existing typeclass hierarchy Implicit Parameters and Typeclasses Using implicit parameters to implement the typeclass pattern. • Understand implicit parameters for typeclasses • Implement a typeclass hierarchy • Extend your existing typeclass hierarchy Using implicit parameters to implement the typeclass pattern. • Understand implicit parameters for typeclasses • Implement a typeclass hierarchy • Extend your existing typeclass hierarchy Using implicit parameters to implement the typeclass pattern. • Understand implicit parameters for typeclasses • Implement a typeclass hierarchy • Extend your existing typeclass hierarchy Implicit Classes and Object Extensions Extending objects via implicit classes and implicit value classes. • Use an implicit class to extend StringOps • Use an implicit class to extend a regular object • Understand how implicit classes work with value classes Implicit Classes and Object Extensions Extending objects via implicit classes and implicit value classes. • Use an implicit class to extend StringOps • Use an implicit class to extend a regular object • Understand how implicit classes work with value classes Implicit Classes and Object Extensions Extending objects via implicit classes and implicit value classes. • Use an implicit class to extend StringOps • Use an implicit class to extend a regular object • Understand how implicit classes work with value classes Implicit Classes and Object Extensions Extending objects via implicit classes and implicit value classes. • Use an implicit class to extend StringOps • Use an implicit class to extend a regular object • Understand how implicit classes work with value classes Extending objects via implicit classes and implicit value classes. • Use an implicit class to extend StringOps • Use an implicit class to extend a regular object • Understand how implicit classes work with value classes Extending objects via implicit classes and implicit value classes. • Use an implicit class to extend StringOps • Use an implicit class to extend a regular object • Understand how implicit classes work with value classes Understanding Scala Behind the Scenes 3 lectures 26:17 Java Interoperation Understanding how Scala is exposed to Java and how Java’s collections interop with Scala’s. • Wrap a Java collection in a Scala collection API • Wrap a Scala collection in a Java collection API • Understand how Java sees Scala code Profiling Scala Understanding how Scala is visible in the YourKit profiler. • Attach YourKit to a running Scala application • Capture a performance snapshot of a Scala application • Understand how to read a Scala performance snapshot in YourKit Debugging Scala in an IDE Understanding how Scala is visible to the IntelliJ IDEA debugger. • Fire up a Scala application in the IDEA debugger • Explore Scala stack traces and variables in the IDEA debugger • Understand the manifestation of Scala properties in the IDEA debugger Understanding Scala Behind the Scenes. 3 lectures 26:17 Java Interoperation Understanding how Scala is exposed to Java and how Java’s collections interop with Scala’s Parameterized Types and Generic Programming Knowing when to apply parameterized types and manifests. • Identifying use cases for parameterized methods • Applying manifests to capture erased types • Applying type...

Additional information

Java developers who are comfortable in working with Scala, buddying data scientists, web developers, who want to learn how to overcome various obstacles in their quest to build robust applications in Scala

Scala Expert Recipes

£ 13 + VAT