- Explore OOP concepts for Scala programming.
- See how functional programming changes your Scala code.
- Use concurrency to enhance your Scala coding with the Akka framework.
- Build microservices with Reactive programming.
- Use a pattern to send and receive messages between actors in Akka.
- Master the concurrency problem and unblocking behavior of actor systems using the wait and reply mechanism.
- Develop a ping-pong example application using Actor.
Scala is a powerful multi-purpose programming language that is much appreciated for its simple object-oriented^ functional style. Pattern matching is Scala s tremendous ability to deconstruct data in intuitive and readable ways^ letting you write safely in a few lines of code what other languages can take tens of buggy lines to get across.
With this practical course^ you will begin with exploring core scala recipes which includes topics such as strings^ classes^ types^ methods &, much more. Then you will be mastering how to handle files &, processes^ making use of the Akka framework. Then you will move on to building applications such as building a customer data entry application^ a string processing application to get a word count &, much more.
By the end of the course^ you will not only be empowered by knowing the ins and outs of Scala. Also be able to apply them to solve a variety of problems to successfully build smart^ efficient applications in Scala.
Contents and Overview
This training program includes 2 complete courses^ carefully chosen to give you the most comprehensive training possible.
The first course^ Scala Beginner Programming Recipes starts with recipes that explore core language principles—covering topics such as strings^ classes^ types^ methods^ and arrays—before getting into concepts such as Object Oriented Programming. From there^ you ll learn about functional programming techniques and how to handle files and processes. You ll go on to master concurrency in Scala^ making use of the Akka framework. You ll learn about working with databases^ and then about Reactive programming in Scala and how to use it to build robust microservices and distributed systems. You ll also use the Scala REPL to achieve a better feedback mechanism.
The second course^ Scala Projects you will learn various features of the Play and Akka frameworks by building 5 real-world applications with increasing complexity. Beginning with a simple project^ a product catalog-listing application^ the course will take you through building a customer data entry application^ a string processing application to get a word count^ a message passing app like Ping pong actors example and Dining-philosophers problem-in humus. Each project will help you master the programming and data capabilities of Scala. By the end of the course^ you will not only be empowered by knowing the ins and outs of Scala^ but you will also be able to apply them to solve a variety of problems.
About the Authors:
Antonio 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.
Kapil Sanghvi is a postgraduate with an MSc in Business Information Technology from Middlesex University^ London. He has worked on Java and Scala projects with different multinational organizations for the last^ years in India and UK. His passion is to learn new things and share his expertise with the programming community out there. Currently^ he works as a Scala Developer in a UK-based organization developing an in-house product.