![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming > General
Successful games merge art and technology in truly unique ways. Fused under tight production deadlines and strict performance requirements, shaped by demanding player expectations, games are among the most complex software projects created today. Game AI Pro: Collected Wisdom of Game AI Professionals covers both the art and the technology of game AI. Nothing covered is theory or guesswork. The book brings together the accumulated wisdom, cutting-edge ideas, and clever tricks and techniques of 54 of today's top game AI professionals. Some chapters present techniques that have been developed and passed down within the community for years while others discuss the most exciting new research and ideas from today's most innovative games. The book includes core algorithms that you'll need to succeed, such as behavior trees, utility theory, spatial representation, path planning, motion control, and tactical reasoning. It also describes tricks and techniques that will truly bring your game to life, including perception systems, social modeling, smart camera systems, player prediction, and even an AI sound designer. Throughout, the book discusses the optimizations and performance enhancements that enable your game to run while maintaining 60 frames per second.
With the advent of HTML5, front-end MVC, and Node.js, JavaScript is ubiquitous--and still messy. This book will give you a solid foundation for managing async tasks without losing your sanity in a tangle of callbacks. It's a fast-paced guide to the most essential techniques for dealing with async behavior, including PubSub, evented models, and Promises. With these tricks up your sleeve, you'll be better prepared to manage the complexity of large web apps and deliver responsive code. With Async JavaScript, you'll develop a deeper understanding of the JavaScript language. You'll start with a ground-up primer on the JavaScript event model--key to avoiding many of the most common mistakes JavaScripters make. From there you'll see tools and design patterns for turning that conceptual understanding into practical code. The concepts in the book are illustrated with runnable examples drawn from both the browser and the Node.js server framework, incorporating complementary libraries including jQuery, Backbone.js, and Async.js. You'll learn how to create dynamic web pages and highly concurrent servers by mastering the art of distributing events to where they need to be handled, rather than nesting callbacks within callbacks within callbacks. Async JavaScript will get you up and running with real web development quickly. By the time you've finished the Promises chapter, you'll be parallelizing Ajax requests or running animations in sequence. By the end of the book, you'll even know how to leverage Web Workers and AMD for JavaScript applications with cutting-edge performance. Most importantly, you'll have the knowledge you need to write async code with confidence. What You Need: Basic knowledge of JavaScript is recommended. If you feel that you're not up to speed, see the "Resources for Learning JavaScript" section in the preface.
Making a successful video game is hard. Even games that are well-received at launch may fail to engage players in the long term due to issues with the user experience (UX) that they are delivering. That's why makers of successful video games like Fortnite and Assassin's Creed invest both time and money perfecting their UX strategy. These top video game creators know that a bad user experience can ruin the prospects for any game, regardless of its budget, scope, or ambition. The game UX accounts for the whole experience players have with a video game, from first hearing about it to navigating menus and progressing in the game. UX as a discipline offers guidelines to assist developers in creating the optimal experience they want to deliver, including shipping higher quality games (whether indie, triple-A or "serious" games) and meeting business goals -- all while staying true to design vision and artistic intent. At its core, UX is about understanding the gamer's brain: understanding human capabilities and limitations to anticipate how a game will be perceived, the emotions it will elicit, how players will interact with it, and how engaging the experience will be. This book is designed to equip readers of all levels, from student to professional, with cognitive science knowledge and user experience guidelines and methodologies. These insights will help readers identify the ingredients for successful and engaging video games, empowering them to develop their own unique game recipe more efficiently, while providing a better experience for their audience. "The Gamer's Brain: How Neuroscience and UX Can Impact Video Game Design" Is written by Celia Hodent -- a UX expert with a PhD in psychology who has been working in the entertainment industry for over 10 years, including at prominent companies such as Epic Games (Fortnite), Ubisoft, and LucasArts. Major themes explored in this book: Provides an overview of how the brain learns and processes information by distilling research findings from cognitive science and psychology research in a very accessible way. Topics covered include: "neuromyths", perception, memory, attention, motivation, emotion, and learning. Includes numerous examples from released games of how scientific knowledge translates into game design, and how to use a UX framework in game development. Describes how UX can guide developers to improve the usability and the level of engagement a game provides to its target audience by using cognitive psychology knowledge, implementing human-computer interaction principles, and applying the scientific method (user research). Provides a practical definition of UX specifically applied to games, with a unique framework. Defines the most relevant pillars for good usability (ease of use) and good "engage-ability" (the ability of the game to be fun and engaging), translated into a practical checklist. Covers design thinking, game user research, game analytics, and UX strategy at both a project and studio level. This book is a practical tool that any professional game developer or student can use right away and includes the most complete overview of UX in games existing today.
Now Includes the Long-Anticipated Volume 4B! Countless readers have spoken about the profound personal influence of Knuth's work. Scientists have marveled at the beauty and elegance of his analysis, while ordinary programmers have successfully applied his "cookbook" solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books. Primarily written as a reference, some people have nevertheless found it possible and interesting to read each volume from beginning to end. A programmer in China even compared the experience to reading a poem. Whatever your background, if you need to do any serious computer programming, you will find your own good reason to make each volume in this series a readily accessible part of your scholarly or professional library. These five books comprise what easily could be the most important set of information on any serious programmer's bookshelf. This set now includes Volume 4B, the sequel to Volume 4A, which extends Knuth's exploration of combinatorial algorithms. These algorithms are of keen interest to software designers because ". . . a single good idea can save years or even centuries of computer time." "Donald Knuth may very well be a great master of the analysis of algorithms, but more than that, he is an incredible and tireless storyteller who always strikes the perfect balance between theory, practice, and fun. [The Art of Computer Programming, Volume 4B, Combinatorial Algorithms, Part 2,] dives deep into the fascinating exploration of search spaces (which is quite like looking for a needle in a haystack or, even harder, to prove the absence of a needle in a haystack), where actions performed while moving forward must be meticulously undone when backtracking. It introduces us to the beauty of dancing links for removing and restoring the cells of a matrix in a dance which is both simple to implement and very efficient. And it studies the iconic and versatile satisfiability problem and carefully analyses various ingredients of SAT solvers." --Christine Solnon, Department of Computer Science, INSA Lyon This box set includes the following volumes: The Art of Computer Programming: Volume 1: Fundamental Algorithms, 3rd Edition The Art of Computer Programming, Volume 2: Seminumerical Algorithms, 3rd Edition The Art of Computer Programming: Volume 3: Sorting and Searching, 2nd Edition The Art of Computer Programming, Volume 4A: Combinatorial Algorithms, Part 1 The Art of Computer Programming, Volume 4B: Combinatorial Algorithms, Part 2
All You Need to Know, and Nothing You Don't, About Core Tools for Software Development Three of the core tools needed for modern software development are the Unix command line, a text editor, and version control with Git. But you don't need to learn "everything" about them, just how to use them efficiently to solve real problems. In Learn Enough Developer Tools to Be Dangerous, renowned instructor Michael Hartl teaches the specific concepts, skills, and approaches you need so you can learn to write apps, get hired, collaborate, and maybe even launch your own company. Even if you've never used (or even heard of) these tools before, Hartl helps you quickly build technical sophistication and master the lore you need to succeed. Focused exercises help you internalize what matters, without wasting time on details pros don't care about. Soon, it'll be like you were born knowing this stuff--and you'll be suddenly, seriously dangerous. Learn enough about . . . Running a terminal, entering and editing commands, and using man pages Manipulating and inspecting files: from basic copying to finding patterns Organizing files with directories Learning Minimum Viable Vim Basic and advanced editing techniques with editors like Atom and VS Code Using the human-readable Markdown language for writing quick documentation Formatting source code and writing executable scripts Getting started with Git and GitHub Using key Git workflows: commit, push, branch, merge, and more Collaborating on Git projects and resolving code conflicts Setting up dev environments: macOS, Linux, Windows, and cloud Michael Hartl's Learn Enough series includes books and video courses that focus on the most important parts of each subject, so you don't have to learn everything to get started--you just have to learn enough to be dangerous and solve technical problems yourself. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Learn how to write and design simple and efficient T-SQL code. This is a hands-on book that teaches you how to write better T-SQL with examples and straightforward explanations. New in this edition is coverage of Parameter Sensitive Plan (PSP) optimization, Azure Synapse Link for real-time analytics, integration with S3-compatible object storage, and SQL Ledger tables based on blockchain. You’ll learn to improve your T-SQL design in ways that provide faster performance, stronger security, and easier comprehension. The book identifies common anti-patterns in writing T-SQL and instructs you on how to change your code so you can be more confident in writing T-SQL code that is reliable and performs well. Pro T-SQL 2022 is focused on the problems that developers are faced with and must solve in delivering successful applications. The content begins from a foundation of writing T-SQL that is clear and understandable. The book then takes you through writing SQL that performs well, is easy to manage through coding standards and version control, can be maintained and modified as business requirements change over time, scales as your business grows, and takes advantage of the full range of security features built into the SQL Server and Azure SQL database engines. What You Will Learn Choose the correct data types and database objects when designing your T-SQL Write T-SQL that accesses your data efficiently and uses hardware effectively Implement source control and testing methods to streamline your deployment process. Design T-SQL that is flexible and can be enhanced or modified with little effort Plan for long-term data management, including growth and purging of older data Enhance database security through features such as encryption, data masking, row-level security, and the SQL Ledger blockchain table type Who This Book Is For Database developers who want to improve the efficiency of their applications with better T-SQL; developers who want to know more about T-SQL so they can be prepared to solve complex problems more easily; data professionals who want to write high-quality T-SQL that performs well, is flexible to changing needs, and is easy for others to understand
Hundreds of grassroots groups have sprung up around the world to teach programming, web design, robotics, and other skills outside traditional classrooms. These groups exist so that people don't have to learn these things on their own, but ironically, their founders and instructors are often teaching themselves how to teach. There's a better way. This book presents evidence-based practices that will help you create and deliver lessons that work and build a teaching community around them. Topics include the differences between different kinds of learners, diagnosing and correcting misunderstandings, teaching as a performance art, what motivates and demotivates adult learners, how to be a good ally, fostering a healthy community, getting the word out, and building alliances with like-minded groups. The book includes over a hundred exercises that can be done individually or in groups, over 350 references, and a glossary to help you navigate educational jargon.
Learn Rails the way the Rails core team recommends it, along with the tens of thousands of developers who have used this broad, far-reaching tutorial and reference. If you're new to Rails, you'll get step-by-step guidance. If you're an experienced developer, get the comprehensive, insider information you need for the latest version of Ruby on Rails. The new edition of this award-winning classic is completely updated for Rails 5.1 and Ruby 2.4, with information on system testing, Webpack, and advanced JavaScript. Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly---you concentrate on creating the application, and Rails takes care of the details. Rails 5.1 brings many improvements, and this edition is updated to cover the new features and changes in best practices. We start with a step-by-step walkthrough of building a real application, and in-depth chapters look at the built-in Rails features. Follow along with an extended tutorial as you write a web-based store application. Eliminate tedious configuration and housekeeping; seamlessly incorporate Ajax and JavaScript; send emails and manage background jobs with ActiveJob; build real-time features using WebSockets and ActionCable. Test your applications as you write them using the built-in unit, integration, and system testing frameworks; internationalize your applications; and deploy your applications easily and securely. New in this edition is support for Webpack and advanced JavaScript, as well as Rails' new browser-based system testing. Rails 1.0 was released in December 2005. This book was there from the start, and didn't just evolve alongside Rails, it evolved with Rails. It has been developed in consultation with the Rails core team. In fact, Rails itself is tested against the code in this book. What You Need: All you need is a Windows, Mac OS X, or Linux machine to do development on. This book will take you through the steps to install Rails and its dependencies. If you aren't familiar with the Ruby programming language, this book contains a chapter that covers the basics necessary to understand the material in the book.
This book presents a set of recent advances that involve the areas of multimedia, IoT, and web technologies. These advances incorporate aspects of clouds, artificial intelligence, data analysis, user experience, and games. In this context, the work will bring the reader the opportunity to understand new possibilities of use and research in these areas. We think that this book is suitable for students (postgraduates and undergraduates) and lecturers on these specific topics. Professionals can also benefit from the book since some chapters work with practical aspects relevant to the industry.
GPU Pro3, the third volume in the GPU Pro book series, offers practical tips and techniques for creating real-time graphics that are useful to beginners and seasoned game and graphics programmers alike. Section editors Wolfgang Engel, Christopher Oat, Carsten Dachsbacher, Wessam Bahnassi, and Sebastien St-Laurent have once again brought together a high-quality collection of cutting-edge techniques for advanced GPU programming. With contributions by more than 50 experts, GPU Pro3: Advanced Rendering Techniques covers battle-tested tips and tricks for creating interesting geometry, realistic shading, real-time global illumination, and high-quality shadows, for optimizing 3D engines, and for taking advantage of the advanced power of the GPGPU. Sample programs and source code are available for download on the book's CRC Press web page.
Stochastic programming - the science that provides us with tools to design and control stochastic systems with the aid of mathematical programming techniques - lies at the intersection of statistics and mathematical programming. The book Stochastic Programming is a comprehensive introduction to the field and its basic mathematical tools. While the mathematics is of a high level, the developed models offer powerful applications, as revealed by the large number of examples presented. The material ranges form basic linear programming to algorithmic solutions of sophisticated systems problems and applications in water resources and power systems, shipbuilding, inventory control, etc. Audience: Students and researchers who need to solve practical and theoretical problems in operations research, mathematics, statistics, engineering, economics, insurance, finance, biology and environmental protection.
Written by an expert in the development of GPS systems with digital maps and navigation, Programming GPS and OpenStreetMap Applications with Java: The RealObject Application Framework provides a concrete paradigm for object-oriented modeling and programming. It presents a thorough introduction to the use of available global positioning data for the development of applications involving digital maps. The author first describes the different formats of GPS data and digital maps and shows how to use recorded GPS traces to replay and display this data on a digital map. Then, he works through in detail the processing steps of obtaining dedicated data from OpenStreetMaps and how to extract a network for a simple navigation application. For each topic covered GPS data, OpenStreetMaps, and navigation Java code is developed that can easily be adapted to the readers needs and locality. Finally, all components are put together in a sample computer-game application modeled on the well-known board game, Scotland Yard. The computer game is intended to be a basis from which readers can develop and customize their own application for their desired geographical area. The developed application can be "published" on the Internet and made available for interactive multiplayer competition. This book provides a fun and interesting way to learn distributed programming with Java and real-world data. Open-source software is available on a companion website at www.roaf.de
This book examines how cloud-based services challenge the current application of antitrust and privacy laws in the EU and the US. The author looks at the elements of data centers, the way information is organized, and how antitrust, competition and privacy laws in the US and the EU regulate cloud-based services and their market practices. She discusses how platform interoperability can be a driver of incremental innovation and the consequences of not promoting radical innovation. She evaluates applications of predictive analysis based on big data as well as deriving privacy-invasive conduct. She looks at the way antitrust and privacy laws approach consumer protection and how lawmakers can reach more balanced outcomes by understanding the technical background of cloud-based services.
Unlock the secrets to creating random mazes! Whether you're a game developer, an algorithm connoisseur, or simply in search of a new puzzle, you're about to level up. Learn algorithms to randomly generate mazes in a variety of shapes, sizes, and dimensions. Bend them into Moebius strips, fold them into cubes, and wrap them around spheres. Stretch them into other dimensions, squeeze them into arbitrary outlines, and tile them in a dizzying variety of ways. From twelve little algorithms, you'll discover a vast reservoir of ideas and inspiration. From video games to movies, mazes are ubiquitous. Explore a dozen algorithms for generating these puzzles randomly, from Binary Tree to Eller's, each copiously illustrated and accompanied by working implementations in Ruby. You'll learn their pros and cons, and how to choose the right one for the job. You'll start by learning six maze algorithms and transition from making mazes on paper to writing programs that generate and draw them. You'll be introduced to Dijkstra's algorithm and see how it can help solve, analyze, and visualize mazes. Part 2 shows you how to constrain your mazes to different shapes and outlines, such as text, circles, hex and triangle grids, and more. You'll learn techniques for culling dead-ends, and for making your passages weave over and under each other. Part 3 looks at six more algorithms, taking it all to the next level. You'll learn how to build your mazes in multiple dimensions, and even on curved surfaces. Through it all, you'll discover yourself brimming with ideas, the best medicine for programmer's block, burn-out, and the grayest of days. By the time you're done, you'll be energized and full of maze-related possibilities! What You Need: The example code requires version 2 of the Ruby programming language. Some examples depend on the ChunkyPNG library to generate PNG images, and one chapter uses POV-Ray version 3.7 to render 3D graphics
For a wide variety of Web Programming, XHTML, and JavaScript courses found in Computer Science, CIS, MIS, IT, Business, Engineering, and Continuing Education departments. Internet and World Wide Web How to Program, 5e introduces students with little or no programming experience to the exciting world of Web-Based applications. The book has been substantially revised to reflect today's Web 2.0 rich Internet application-development methodologies. A comprehensive book that teaches the fundamentals needed to program on the Internet, this text provides in-depth coverage of introductory programming principles, various markup languages (XHTML, Dynamic HTML and XML), several scripting languages (JavaScript, PHP, Ruby/Ruby on Rails and Perl); AJAX, web services, Web Servers (IIS and Apache) and relational databases (MySQL/Apache Derby/Java DB)--all the skills and tools needed to create dynamic Web-based applications. The text contains comprehensive introductions to ASP.NET and JavaServer Faces (JSF). Hundreds of live-code examples of real applications throughout the book available for download allow readers to run the applications and see and hear the outputs. The book provides instruction on building Ajax-enabled rich Internet applications that enhance the presentation of online content and give web applications the look and feel of desktop applications. The chapter on Web 2.0 and Internet business exposes readers to a wide range of other topics associated with Web 2.0 applications and businesses. After mastering the material in this book, students will be well prepared to build real-world, industrial strength, Web-based applications.
A core or supplementary text for one-semester, freshman/sophomore-level introductory courses taken by programming majors in Problem Solving for Programmers, Problem Solving for Applications, any Computer Language Course, or Introduction to Programming. Revised to reflect the most current issues in the programming industry, this widely adopted text emphasizes that problem solving is the same in all computer languages, regardless of syntax. Sprankle and Hubbard use a generic, non-language-specific approach to present the tools and concepts required when using any programming language to develop computer applications. Designed for students with little or no computer experience but useful to programmers at any level the text provides step-by-step progression and consistent in-depth coverage of topics, with detailed explanations and many illustrations. Instructor Supplements (see resources tab): Instructor Manual with Solutions and Test Bank Lecture Power Point Slides Go to: www.pearsoninternationaleditions.com/sprankle
This guide features everything you need to get your website indexed so it appears at the top of Google searches to generate the profile you need to have a successful online business.
Drowning in unnecessary complexity, unmanaged state, and tangles of spaghetti code? In the best tradition of Lisp, Clojure gets out of your way so you can focus on expressing simple solutions to hard problems. Clojure cuts through complexity by providing a set of composable tools--immutable data, functions, macros, and the interactive REPL. Written by members of the Clojure core team, this book is the essential, definitive guide to Clojure. This new edition includes information on all the newest features of Clojure, such as transducers and specs. Clojure joins the flexibility and agility of Lisp with the reach, stability, and performance of Java. Combine Clojure's tools for maximum effectiveness as you work with immutable data, functional programming, and safe concurrency to write programs that solve real-world problems. Start by reading and understanding Clojure syntax and see how Clojure is evaluated. From there, find out about the sequence abstraction, which combines immutable collections with functional programming to create truly reusable data transformation code. Clojure is a functional language; learn how to write programs in a functional style, and when and how to use recursion to your advantage. Discover Clojure's unique approach to state and identity, techniques for polymorphism and open systems using multimethods and protocols, and how to leverage Clojure's metaprogramming capabilities via macros. Finally, put all the pieces together in a real program. New to this edition is coverage of Clojure's spec library, one of the most interesting new features of Clojure for describing both data and functions. You can use Clojure spec to validate data, destructure data, explain invalid data, and generate large numbers of tests to verify the correctness of your code. With this book, you'll learn how to think in Clojure, and how to take advantage of its combined strengths to build powerful programs quickly. What You Need: Java 6 or higher Clojure 1.9
Broaden your developer experience by learning how to use gRPC and ASP.NET Core together on the Microsoft's developer framework, .NET 6 and discover a new way of developing APIs with gRPC. Beginning gRPC with ASP.NET Core 6 is your guide to quickly and efficiently getting down to the business of building gRPC applications in the Microsoft .NET ecosystem. Readers will dive in and build an application using gRPC and the latest technologies such Angular and ASP.NET Core Razor Pages. This book will teach you how to set up an efficient application using industry best practices such as security, monitoring, logging, and more. You will do this by performing Create, Read, Update, and Delete (CRUD) operations on a SQL Server database with Entity Framework Core. From there you will build web applications using Angular and ASP.NET Core Razor pages combined with gRPC APIs. After reading the book, you'll be able to take advantage of the full range of developer opportunities with gRPC, and come away with any understanding of which usage scenarios are best suited for your projects. And you will possess a solid understanding of the best way to build APIs with ASP.NET Core. What You Will Learn Discover the latest .NET 6 framework Benefit from a new way to design APIs Build modern web applications Migrate easily from WCF to gRPC Become comfortable with latest industry programming standards Who This Book Is For Professional developers who are interested in getting started with gRPC and want to learn how to use it to build applications in the .NET ecosystem.
Get introduced to Azure Arc-enabled Data Services and the powerful capabilities to deploy and manage local, on-premises, and hybrid cloud data resources using the same centralized management and tooling you get from the Azure cloud. This book shows how you can deploy and manage databases running on SQL Server and Postgres in your corporate data center or any cloud as if they were part of the Azure platform. This second edition has been updated to the latest codebase, allowing you to use this book as your handbook to get started with Azure Arc-enabled Data Services today. Learn how to benefit from Azure's centralized management, the automated rollout of patches and updates, managed backups, and more. This book is the perfect choice for anyone looking for a hybrid or multi-vendor cloud strategy for their data estate. The authors walk you through the possibilities and requirements to get Azure SQL Managed Instance and PostgresSQL Hyperscale deployed outside of Azure, so the services are accessible to companies that cannot move to the cloud or do not want to use the Microsoft cloud exclusively. The technology described in this book will benefit those required to keep sensitive services, such as medical databases, away from the public cloud equally as those who can't move to a public cloud for other reasons such as infrastructure constraints but still want to benefit from the Azure cloud and the centralized management and tooling that it supports. What You Will Learn Understand the fundamentals and architecture of Azure Arc-enabled data services Build a multi-cloud strategy based on Azure Data Services Deploy Azure Arc-enabled data services on premises or in any cloud Deploy Azure Arc-enabled SQL Managed Instance on premises or in any cloud Deploy Azure Arc-enabled PostgreSQL Hyperscale on premises or in any cloud Backup and Restore your data that is managed by Azure Arc-enabled data services Manage Azure-enabled data services running outside of Azure Monitor Azure-enabled data services through Grafana and Kibana Monitor Azure-enabled data services running outside of Azure through Azure Monitor Who This Book Is For Database administrators and architects who want to manage on-premises or hybrid cloud data resources from the Microsoft Azure cloud. Especially for those wishing to take advantage of cloud technologies while keeping sensitive data on premises and under physical control.
This book is a result of a workshop, the 8th of the successful TopoInVis workshop series, held in 2019 in Nykoeping, Sweden. The workshop regularly gathers some of the world's leading experts in this field. Thereby, it provides a forum for discussions on the latest advances in the field with a focus on finding practical solutions to open problems in topological data analysis for visualization. The contributions provide introductory and novel research articles including new concepts for the analysis of multivariate and time-dependent data, robust computational approaches for the extraction and approximations of topological structures with theoretical guarantees, and applications of topological scalar and vector field analysis for visualization. The applications span a wide range of scientific areas comprising climate science, material sciences, fluid dynamics, and astronomy. In addition, community efforts with respect to joint software development are reported and discussed.
Casual games are changing the face of the game industry. They are bringing new players to games and reinvigorating former gamers. From the puzzle game downloadables that your mom devours to the Rock Band kit drawing a crowd at a party of twenty-somethings, these games share a focused simplicity that brings players of all demographics into the game. Casual games look easy and inviting to the player, but these games are deceivingly difficult to design. They need to cleverly mask their complexity so as not to frighten off players. This book offers insider tips and strategies on how to design casual games that appeal to all sorts of audiences (moms, and grandps alike ) The book focuses on how to create elegant games that draw in a wide variety of players, even ones skeptical of games. Designers will take away valuable insights and practical advice so that they can get started right away on designing - interviews with top game designers who have learned through experience offer pearls of advice for designers eager to break into this hot new field of gaming.
DESCRIPTION Modern distributed applications must deliver near-realtime performance while simultaneously managing big data and high user loads spread across environments ranging from cloud systems to mobile devices. Unlike traditional enterprise applications which focus on decoupling their internal components by defining programming interfaces, reactive applications go one step further and decouple their components also at runtime. This makes it possible to react effectively and efficiently to failures, varying user demands, and changes in the application's execution environment. The resulting systems are highly concurrent and fault-tolerant, with minimal dependencies among individual system components. Reactive Design Patterns is a clearly-written guide for building message-driven distributed systems that are resilient, responsive, and elastic. It contains 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, 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. KEY FEATURES Offers best patterns for building reactive applications All patterns include concrete examples Discover best practices Explains theory behind reactive system design principles AUDIENCE Readers should be familiar with a standard programming language like Java, C++ or C# and be comfortable with the basics of distributed systems. Although most of the book's examples use the Scala language, no prior experience with Scala or Akka is required. ABOUT THE TECHNOLOGY The design patterns in this book were collected by the consultants and engineers of Typesafe during thousands of hours spent building enterprise-quality applications using Scala and Akka. Although many reactive patterns can be implemented using standard development tools like Java, others require the capabilities offered by a functional programming language like Scala and an Actor-based concurrency system like Akka.
Elixir and Phoenix are generating tremendous excitement as an unbeatable platform for building modern web applications. Make the most of them as you build a stateful web app with Elixir and OTP. Model domain entities without an ORM or a database. Manage server state and keep your code clean with OTP Behaviours. Layer on a Phoenix web interface without coupling it to the business logic. Open doors to powerful new techniques that will get you thinking about web development in fundamentally new ways. Elixir and OTP give us exceptional tools to build stateful back-end applications that really scale, with rock-solid reliability. In this book, you'll build a web application in ways that are radically different from the norm. The back end will be stateful, not stateless. Use persistent connections with Phoenix Channels instead of HTTP's request-response, and create the full application in distinct, decoupled layers. In Part 1, start by building the business logic as a separate application, without Phoenix. Model the application domain with Elixir Agents and simple data structures. By keeping state in memory instead of a database, you can reduce latency and simplify your code. Then add OTP Behaviours such as gen_server and gen_fsm that make managing in-memory state a breeze. Create a supervision tree to boost fault tolerance while separating error handling from business logic. Phoenix is a modern web framework you can layer on top of business logic while keeping the two completely decoupled. In Part 2, you'll do exactly that as you build a web interface with Phoenix. Bring in the application from Part 1 as a dependency to a new Phoenix project. Then use ultra-scalable Phoenix Channels to establish persistent connections between the stateful server and a stateful front-end client. You're going to love this way of building web apps! What You Need: You'll need a computer that can run Elixir version 1.3 or higher and Phoenix 1.2 or higher. Some familiarity with Elixir and Phoenix is recommended.
By the year 2020, the basic memory components of a computer will be the size of individual atoms. At such scales, the current theory of computation will become invalid. "Quantum computing" is reinventing the foundations of computer science and information theory in a way that is consistent with quantum physics - the most accurate model of reality currently known. Remarkably, this theory predicts that quantum computers can perform certain tasks breathtakingly faster than classical computers - and, better yet, can accomplish mind-boggling feats such as teleporting information, breaking supposedly "unbreakable" codes, generating true random numbers, and communicating with messages that betray the presence of eavesdropping. This widely anticipated second edition of Explorations in Quantum Computing explains these burgeoning developments in simple terms, and describes the key technological hurdles that must be overcome to make quantum computers a reality. This easy-to-read, time-tested, and comprehensive textbook provides a fresh perspective on the capabilities of quantum computers, and supplies readers with the tools necessary to make their own foray into this exciting field. Topics and features: concludes each chapter with exercises and a summary of the material covered; provides an introduction to the basic mathematical formalism of quantum computing, and the quantum effects that can be harnessed for non-classical computation; discusses the concepts of quantum gates, entangling power, quantum circuits, quantum Fourier, wavelet, and cosine transforms, and quantum universality, computability, and complexity; examines the potential applications of quantum computers in areas such as search, code-breaking, solving NP-Complete problems, quantum simulation, quantum chemistry, and mathematics; investigates the uses of quantum information, including quantum teleportation, superdense coding, quantum data compression, quantum cloning, quantum negation, and quantum cryptography; reviews the advancements made towards practical quantum computers, covering developments in quantum error correction and avoidance, and alternative models of quantum computation. This text/reference is ideal for anyone wishing to learn more about this incredible, perhaps "ultimate," computer revolution. Dr. Colin P. Williams is Program Manager for Advanced Computing Paradigms at the NASA Jet Propulsion Laboratory, California Institute of Technology, and CEO of Xtreme Energetics, Inc. an advanced solar energy company. Dr. Williams has taught quantum computing and quantum information theory as an acting Associate Professor of Computer Science at Stanford University. He has spent over a decade inspiring and leading high technology teams and building business relationships with and Silicon Valley companies. Today his interests include terrestrial and Space-based power generation, quantum computing, cognitive computing, computational material design, visualization, artificial intelligence, evolutionary computing, and remote olfaction. He was formerly a Research Scientist at Xerox PARC and a Research Assistant to Prof. Stephen W. Hawking, Cambridge University. |
You may like...
Practical Guide to Usability Testing
Joseph S. Dumas, Janice C. Redish
Paperback
R984
Discovery Miles 9 840
News Search, Blogs and Feeds - A Toolkit
Lars Vage, Lars Iselid
Paperback
R1,332
Discovery Miles 13 320
Usability Testing for Survey Research
Emily Geisen, Jennifer Romano Bergstrom
Paperback
Research Anthology on Agile Software…
Information R Management Association
Hardcover
R14,534
Discovery Miles 145 340
Creativity in Computing and DataFlow…
Suyel Namasudra, Veljko Milutinovic
Hardcover
R4,204
Discovery Miles 42 040
|