Голосов: 0
#1
Simple Build Tool: sbt. The idea of a high quality build tool for Scala is indeed simple, but sbt itself is richly-featured and powerful. Documentation for sbt is sparse, and the blogs, tutorials, and other bits scattered across the web leave you wanting a comprehensive, accurate picture of how to build Scala projects effectively and efficiently. This book will help you transform ugly, complex builds into a streamlined, automated, and repeatable process.
SBT in Action is first and foremost a tutorial about effectively building Scala projects. It introduces the sbt tool with a simple project that establishes the fundamentals of running commands and tasks. Next, it shows you how to use the peripheral libraries in sbt to make common tasks simpler. This includes an I/O library to deal with files and how to parse user input in a meaningful fashion. Finally, it covers how to deploy software effectively.
Scalability = Functional Programming + Objects
Practical Functional Programming for the JVM
Building scalable, concurrent systems is hard. Think parallelism and we think about threads. Using threads for parallelism is not only difficult but also not scalable. You can only create a certain number of threads on a box. On the other hand you can create a million Akka actors on a box. Also it is difficult to scale out (parallel scaling) using threads. Any multi threaded application likely has the keyword synchronized peppered throughout the code base. It does not follow any pattern which makes the code base and application difficult to manage and it also indicates the difficulty in managing threads.
The Akka framework has brought Actors to the Java virtual machine. Actors way of doing parallelism is way simpler than multi-threaded applications. Scala is a modern programming language for the Java Virtual Machine (JVM) that combines the best features of object-oriented and functional programming languages. Using Scala one can write concise programs with the power of concurrency. Since Scala runs on the JVM, it can access any Java library and is interoperable with Java frameworks. This book is a practical guide to use Akka along with power of Scala to design business solutions for scalability, fault tolerant concurrent systems. It introduces the topics of concurrency, Scala and Akka which are then blended together to provide a solution on steroids for modern day web scale applications.
This should be your first Scala book, not your last. We show
you enough to become familiar and comfortable with the
language – competent, but not expert. You’ll write useful Scala
code, but you won’t necessarily be able to read all the Scala
code you encounter.
When you’re done, you’ll be ready for more complex Scala
books, several of which we recommend at the end of this one.
This is a book for a dedicated novice. “Novice” because you
don’t need prior programming knowledge, but “dedicated”
because we’re giving you just enough to figure it out on your
own. We give you a foundation in programming and in Scala
but we don’t overwhelm you with the full extent of the
language.
Beginning programmers should think of it as a game: You can
get through, but you’ll need to solve a few puzzles along the
way. Experienced programmers can move rapidly through the
book and find the place where they need to slow down and
start paying attention.
Your software needs to leverage multiple cores, handle thousands of users and terabytes of data, and continue working in the face of both hardware and software failure. Concurrency and parallelism are the keys, and Seven Concurrency Models in Seven Weeks equips you for this new world. See how emerging technologies such as actors and functional programming address issues with traditional threads and locks development. Learn how to exploit the parallelism in your computer’s GPU and leverage clusters of machines with MapReduce and Stream Processing. And do it all with the confidence that comes from using tools that help you write crystal clear, high-quality code.
Beginning Scala, Second Edition takes a down-to-earth approach to teaching Scala that leads you through simple examples that can be combined to build complex, scalable systems and applications.
This book introduces you to the Scala programming language, its object-oriented and functional programming characteristics, and then guides you through Scala constructs and libraries that allow you to assemble small components into high-performance, scalable systems. You will learn why Scala is judiciously used for critical business applications by leading companies such as Twitter, LinkedIn, Foursquare, the Guardian, Morgan Stanley, Credit Suisse, UBS, and HSBC.
Scala is a multi-paradigm programming language that combines both functional and object-oriented languages. Moreover, this highly scalable language lends itself well to building cloud-based/deliverable Software as a Service (SaaS) online applications.
Akka is a Scala-based toolkit that simplifies developing concurrent distributed applications. Akka uses Actors-independently executing processes that communicate via message passing—as the foundation for fault-tolerant applications where individual actors can fail without crashing everything. Perfect for high-volume applications that need to scale rapidly, Akka is an efficient foundation for event-driven systems that want to scale elastically up and out on demand, both on multi-core processors and across server nodes.
Akka in Action is a comprehensive tutorial on building message-oriented systems using Akka. The book takes a hands-on approach, where each new concept is followed by an example that shows you how it works, how to implement the code, and how to (unit) test it. You'll learn to test and deploy an actor system and scale it up and out, showing off Akka's fault tolerance. As you move along, you'll explore a message-oriented event-driven application in Akka. You'll also tackle key issues like how to model immutable messages and domain models, and apply patterns like Event Sourcing, and CQRS. The book concludes with practical advice on how to tune and customize a system built with Akka.
Modern distributed applications must deliver near-realtime performance while at the same time managing big data and high user loads spread across environments ranging from cloud systems to mobile devices. Unlike traditional enterprise applications that enforce highly-structured pathways for data and procedures, Reactive applications are built around loosely-coupled, asynchronous components that "react" efficiently to events like competition for shared resources, system failures, and user demands. These systems are highly-concurrent and fault-tolerant, with minimal dependencies among individual system components. Because they're designed to use fresh tools like Scala and Akka, they can combine familiar ideas, such as message passing, with new ideas like actor-based concurrency and CQRS, the Command-Query-Responsibility-Segregation data pattern.
Reactive Design Patterns is a clearly-written guide for building event-driven distributed systems that are resilient, responsive, and scalable. In it, you'll find patterns for messaging, flow control, resource management, and concurrency, along with practical issues like test-friendly designs. All patterns include concrete examples using Scala and Akka. In some cases, you'll also see examples in Java, JavaScript, and Erlang. Software engineers and architects will learn patterns that address day-to-day distributed development problems in a fault-tolerant and scalable way. Project leaders and CTOs will gain a deeper understanding of the reactive design philosophy.
Functional programming (FP) is a programming style emphasizing functions that return consistent and predictable results regardless of a program's state. As a result, functional code is easier to test and reuse, simpler to parallelize, and less prone to bugs. Scala is an emerging JVM language that offers strong support for FP. Its familiar syntax and transparent interoperability with existing Java libraries make Scala a great place to start learning FP.
Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. The book guides readers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, you'll find concrete examples and exercises that open up the world of functional programming.
You'll discover simple but powerful ideas and techniques that cut through the complexity of modern software engineering, including writing multi-core and distributed programs. You'll learn how FP gives you high confidence in the correctness of your code and helps you design software at high levels of abstraction so that even very large systems become comprehensible at a glance.
Scala is a modern programming language for the Java Virtual Machine (JVM) that combines the best features of object-oriented and functional programming languages. Using Scala, you can write programs more concisely than in Java, as well as leverage the full power of concurrency. Since Scala runs on the JVM, it can access any Java library and is interoperable with Java frameworks.
Scala for the Impatient concisely shows developers what Scala can do and how to do it. In this book, Cay Horstmann, the principal author of the international best-selling Core Java™, offers a rapid, code-based introduction that’s completely practical. Horstmann introduces Scala concepts and techniques in “blog-sized” chunks that you can quickly master and apply. Hands-on activities guide you through well-defined stages of competency, from basic to expert.
Для просмотра содержимого вам необходимо зарегистрироваться!Для просмотра содержимого вам необходимо зарегистрироваться!
Последнее редактирование модератором:
- Статус
- В этой теме нельзя размещать новые ответы.