Skip to content

diegopacheco/Book_Building_applications_with_Scala

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Building applications with Scala

Buy the book: https://www.amazon.com/Building-applications-Scala-Diego-Pacheco-ebook/dp/B01F7HCAYY

Chapters Code

Chapter 1

  1. Setting up a Scala development environment with Eclipse Scala IDE
  2. Basic Constructs of the language like: var, val, for, if, switch, operator overload.
  3. Difference between Functional Programing and Object Oriented Programing
  4. Principles of Functional Programing: Immutability, No Side Effects, State Discipline, Composition and High Order Functions.
  5. Concepts of Functional Programing such as: Lambda, Recursion, For Comprehensions, Partial Functions, Monads, Currying and functions.
  6. Pattern Matcher, Recursion, Reflection, Package Objects, implicits and Concurrency.

https://github.com/diegopacheco/Book_Building_applications_with_Scala/tree/master/Chap1

Chapter 2

  1. Overall Architecture
  2. SBT Basics: Installation, structure and dependencies
  3. Creating your SBT Application

https://github.com/diegopacheco/Book_Building_applications_with_Scala/tree/master/Chap2

Chapter 3

  1. Principles of Web Development in Scala
  2. Anatomy of a Play Framework Application
  3. Creating our Models
  4. Creating our Views
  5. Adding Validations
  6. Working with Session

https://github.com/diegopacheco/Book_Building_applications_with_Scala/tree/master/Chap3/ReactiveWebStore

Chapter 4

  1. Reactive Programing principles and the Reactive Manifesto.
  2. Understand the importance of Non-blocking- IO.
  3. Observables, Functions and Error Handling with Rx.
  4. Refactoring our controllers and models to call our services.
  5. Adding Rx Scala to our Services
  6. Adding Logging

https://github.com/diegopacheco/Book_Building_applications_with_Scala/tree/master/Chap4

Chapter 5

  1. Testing Principles with Scala and JUnit.
  2. Behavior Driven Development principles.
  3. Using ScalaTest Specs and DSL in our tests
  4. Running our Tests with SBT

https://github.com/diegopacheco/Book_Building_applications_with_Scala/tree/master/Chap5

Chapter 6

  1. Principles database persistence with Slick
  2. Working with Functional Relational Mapping in our application
  3. Creating the Queries we need with SQL support
  4. Improving the code with Async database operations

https://github.com/diegopacheco/Book_Building_applications_with_Scala/tree/master/Chap6

Chapter 7

  1. Understanding Jasper Reports
  2. Adding Database reports to our application

https://github.com/diegopacheco/Book_Building_applications_with_Scala/tree/master/Chap7

Chapter 8

  1. Understanding the Actor Model
  2. Actor Systems, Actor Routing and Dispatchers
  3. Mailboxes, Actor Configuration and Persistence
  4. Creating our Chat Application
  5. Testing our Actors
  6. Adding the new UI

https://github.com/diegopacheco/Book_Building_applications_with_Scala/tree/master/Chap8

Chapter 9

  1. REST and API Design
  2. Creating our API with REST and JSON
  3. Adding Validations
  4. Adding Back Pressure
  5. Creating a Scala client

https://github.com/diegopacheco/Book_Building_applications_with_Scala/tree/master/Chap9

Chapter 10

  1. Architecture Principles
  2. Scalling up the UI
  3. Reactive Drivers and Discoverability
  4. Midd-tier load-balancer, timeouts, back pressure and caching
  5. Scalling up Microservices with Akka Cluster
  6. Scalling up the Infrastructure with Docker and AWS Cloud.

Note: Chapter 10 Talks about scalability including: Akka Cluster, Docker, MySQL Server, AWS Cloud, NetflixOSS Stack(Eureka, Hystrix, Zuul, Dynomite)

https://github.com/diegopacheco/Book_Building_applications_with_Scala/tree/master/Chap10

About the author

Diego Pacheco is an experienced Software Architect and DevOps practitioner with over 10 years of solid experience. He has led architecture teams using Open Source solutions such as Java, Scala, AWS Cloud, Akka, Cassandra, Redis, ActiveMQ, NetflixOSS Stack: Simian Army, RxJava, Karyon, Eureka, and Ribbon on Big Customers in Brazil, London, Barcelona, India, and the USA. Diego has a passion for functional programming and is currently working as a Software Architect/Agile Coach with Scala, Akka, and NetflixOSS. During his free time he enjoys playing wicked tunes on guitar, gaming, and blogging. You can check out his blog http://diego-pacheco.blogspot.in/.

Some of his core skills include:

  • Architecture Design and Architecture Coding for high scalable systems
  • Distributed Systems using SOA and Microservices Principles, tools, and techniques
  • Performance Tuning & DevOps Engineering
  • Functional Programming and Scala
  • Agile Coaching & Servant Leadership for Architecture Teams
  • Consultancy on Development Practices with XP / Kanban

Links

More about him can be found at the following:

Recent Lectures

His recent lectures include:

Acknowledgements

First of all I'm very thankful for everything God did to me during my life. So I need say thank you to God at least 3 times. Thank you God, Thank you God, Thank you God. I’m very glad to finish this book and I also need say a big thank you for all my family and supportive friends specially to: Andressa Bicca my true love, to my mother Denise Maris, to my Grandmother Walkyria and my dear friends Margarida Avila, Adão Avila, Israel Prestes, Tais da Rosa for all the love and support they provided me. I need say thanks for Packt specially to Kirk D'costa and Rohit Kumar Singh for being a great editor. Also need say a thank you to ilegra.com and specially to Ivã Boesing and Romulo Dornelles for all the space, trust and support. Also could not forget to say thank you to my co-workers, customers and friends are great people to work and I’ve learned a lot from: Sam Sgro, Daniel Wildt, Anibal Rojas, Alexandre Poletto, Jeferson Machado, Nilseu Padilha, Jackson Santos, Christophe Marchal, Joel Correa and Rafael Souza. Finally Thank you who bought this book and read it - you are awesome!

Primeiro de tudo eu sou muito grato por tudo o que Deus fez para mim durante a minha vida. Então eu preciso de dizer obrigado a Deus pelo menos 3 vezes. Obrigado Deus, obrigado Deus, obrigado Deus. Estou muito contente de terminar este livro e eu também preciso mandar um grande obrigado a todos os meus amigos da família pelo apoio especialmente para: Andressa Bicca meu verdadeiro amor, a minha mãe Denise Maris, a minha avó Walkyria e meus queridos amigos Margarida Avila , Adão Avila, Israel Prestes, Tais da Rosa por todo o amor e apoio que me deram. Eu preciso dizer obrigado a Packt especialmente para Kirk D'Costa e Rohit Kumar Singh por ser um grande editor. Também preciso dizer um obrigado a ilegra.com e especialmente para Ivã Boesing e Romulo Dornelles para todo o espaço, confiança e apoio. Também não poderia esquecer de dizer obrigado aos meus colegas de trabalho, clientes e amigos são grandes pessoas para trabalhar e eu aprendi muito com: Sam Sgro, Daniel Wildt, Anibal Rojas, Alexandre Poletto, Jeferson Machado, Nilseu Padilha, Jackson Santos, Christophe Marchal, Joel Correa e Rafael Souza. Finalmente Obrigado a você que comprou este livro e por telo lido - você é incrível!