New Books

CoverTitleYear
Building Web Applications and Microservices for the Cloud with Go and React
The Complete Guide to Building Cloud-Based Services Cloud Native Go shows developers how to build massive cloud applications that meet the insatiable demands of today’s customers, and will dynamically scale to handle virtually any volume of data, traffic, or users. Kevin Hoffman and Dan Nemeth more » describe the modern cloud-native application in detail, illuminating factors, disciplines, and habits associated with rapid, reliable cloud-native development. They also introduce Go, a “simply elegant” high-performance language that is especially well-suited for cloud development. You’ll walk through creating microservices in Go, adding front-end web components using ReactJS and Flux, and mastering advanced Go-based cloud-native techniques. Hoffman and Nemeth show how to build a continuous delivery pipeline with tools like Wercker, Docker, and Dockerhub; automatically push apps to leading platforms; and systematically monitor app performance in production. * Learn “The Way of the Cloud”: why developing good cloud software is fundamentally about mindset and discipline * Discover why Go is ideal for cloud-native microservices development * Plan cloud apps that support continuous delivery and deployment * Design service ecosystems, and then build them in a test-first manner * Push work-in-progress to a cloud * Use Event Sourcing and CQRS patterns to react and respond to enormous volume and throughput * Secure cloud-based web applications: do’s, don’ts, and options * Create reactive applications in the cloud with third-party messaging providers * Build massive-scale, cloud-friendly GUIs with React and Flux * Monitor dynamic scaling, failover, and fault tolerance in the cloud « less
2017
Sams Teach Yourself
In just one hour a day, you’ll have all the skills you need to begin programming in C++. With this complete tutorial, you’ll quickly master the basics, and then move on to more advanced features and concepts. Completely updated for the C++14 standard, with a preview of C++17, this book presents the language more » from a practical point of view, helping you learn how to use C++ to create faster, simpler, and more efficient C++ applications. * Master the fundamentals of C++ and object-oriented programming * Understand how C++ features help you write compact and efficient code using concepts such as lambda expressions, move constructors, and assignment operators * Learn best practices and avoid pitfalls via useful Do’s and Don’ts * Learn the Standard Template Library, including containers and algorithms used in most real-world C++ applications * Test your knowledge and expertise with exercises at the end of every lesson Learn on your own time, at your own pace * No previous programming experience required * Write fast and powerful C++ programs, compile the source code, and create executable files * Learn object-oriented programming concepts such as encapsulation, abstraction, inheritance, and polymorphism * Use the Standard Template Library’s algorithms and containers to write feature-rich yet stable C++ applications * Learn how automatic type deduction helps simplify C++ code * Develop sophisticated programming techniques using lambda expressions, smart pointers, and move constructors * Master the features of C++ by learning from programming experts * Learn C++ features that allow you to program compact and high-performance C++ applications * Preview what’s new in C++17 Contents at a Glance Part I: The Basics Lesson 1: Getting Started Lesson 2: The Anatomy of a C++ Program Lesson 3: Using Variables, Declaring Constants Lesson 4: Managing Arrays and Strings Lesson 5: Working with Expressions, Statements, and Operators Lesson 6: Controlling Program Flow Lesson 7: Organizing Code with Functions Lesson 8: Pointers and References Explained Part II: Fundamentals of Object-Oriented C++ Programming Lesson 9: Classes and Objects Lesson 10: Implementing Inheritance Lesson 11: Polymorphism Lesson 12: Operator Types and Operator Overloading Lesson 13: Casting Operators Lesson 14: An Introduction to Macros and Templates Part III: Learning the Standard Template Library (STL) Lesson 15: An Introduction to the Standard Template Library Lesson 16: The STL String Class Lesson 17: STL Dynamic Array Classes Lesson 18: STL list and forward_list Lesson 19: STL Set Classes Lesson 20: STL Map Classes Part IV: More STL Lesson 21: Understanding Function Objects Lesson 22: Lambda Expressions Lesson 23: STL Algorithms Lesson 24: Adaptive Containers: Stack and Queue Lesson 25: Working with Bit Flags Using STL Part V: Advanced C++ Concepts Lesson 26: Understanding Smart Pointers Lesson 27: Using Streams for Input and Output Lesson 28: Exception Handling Lesson 29: Going Forward Part VI: Appendixes Appendix A: Working with Numbers: Binary and Hexadecimal Appendix B: C++ Keywords Appendix C: Operator Precedence Appendix D: ASCII Codes Appendix E: Answers « less
2017
A step-by-step guide to why, when and how to register a copyright in a website, with detailed information about: •what copyright law does and doesn't protect •what website content can be registered •which forms to use •how to complete an application •why websites normally can't be registered as more » "serials" •what to do about website updates •the copyright definition of publication •what to deposit, and how •filing fees •other copyright protection measures •and more. Written by an attorney. « less
2017
A Practical Guide for Beginners
What can your organization gain by adopting HTTP/2? How about faster, simpler, and more robust websites and applications? This practical guide demonstrates how the latest version of the Hypertext Transfer Protocol can dramatically improve website and application performance. You’ll take a deep dive into more » HTTP/2 details, and learn how this updated protocol is changing the web landscape. HTTP/1.1 has been the primary means of communicating data across the Web for the past 20 years, but the level of interaction today has gone well beyond what people envisioned in 1997. With this book, authors Stephen Ludin and Javier Garza show you how HTTP/2 will help speed the execution of modern sites and applications. With this book, you’ll explore: * Performance challenges that led to the HTTP upgrade * HTTP/2 in a nutshell, including benefits and transition methods * How Google’s SPDY networking protocol paved the way for HTTP/2 * Existing best practices and hacks to improve web performance * HTTP/2 support for browsers, servers, proxies, and content delivery networks * How the performance of sites using HTTP/2 compares to their HTTP/1.1 experience—including the good, bad, and the ugly * HTTP/2’s effect on specific issues such as latency, packet loss, and Time to First Byte (TTFB) « less
2017
Building Faster Web Pages
The content of the web is maturing and increasing in complexity, but internet infrastructure quality varies widely across the globe. People are browsing the web through a greater variety of devices and networks than ever before. Your website's visitors may be browsing via resource constrained connections, more » or limited by restricted data plans. Due to these hard realities, it's more important than ever that your website loads quickly, lest you alienate your visitors before they ever get a chance to see what your site has to offer. Web Performance in Action is your companion guide to making websites faster. Throughout the course of this book, you'll learn techniques that speed the delivery of your site's assets to the user, increase rendering speed, decrease the overall footprint of your site, as well as learn how to build a workflow that automates common optimization techniques. You'll also get a look at new technologies such as HTTP/2 that will take your website's speed from merely adequate to seriously fast. « less
2017
Games Programming for the Absolute Beginner
Go through the steps necessary to create high-speed 2D retro-style games. This easy-to-read-and-follow one of a kind book on BlitzMax game programming also covers some 3D programming. BlitzMax for Absolute Beginners includes game application projects such as The Great Escape, Tank Attack, and Paratrooper. more » These will help you build your skills as you go. Have you ever wanted to program your own computer game? Never felt you could? Well, now you can. What You'll Learn * Program computer games from scratch with BlitzMax * Produce high-quality arcade games with sound and graphics * Utilize the power of OpenGL to create fantastic 3D effects Who This Book Is For Those new to game programming and those new to BlitzMax. « less
2017
From Macro to Micro
This insightful four part book explores the challenging and evolving world of the game writer. Part I provides a fascinating overview of the history of game writing, following its humble roots in the 60s to today’s AAA titles. Part II asks and answers the key question: What do game writers do and how do more » they do it? Especially useful reading for novice game writers, the book covers a broad range of topics including contracts, NDAs, creative collaboration, narrative design, editing, adaptations, and environmental storytelling. Part III, of particular value for more advanced students of writing, addresses deeper theoretical questions increasingly relevant in today’s game titles, including: Why have story at all? What is plot and how does it work? How best can a writer use agency? Finally, Part IV presents readers with hard-earned nuggets of wisdom from today’s game writers working in America, Europe, and Japan. Packed with practical samples, case studies, and exercises, this book is essential reading for anyone interested in the world of games writing. Features +Covers history of games writing, narrative design, storytelling, plot, contracts, and packed with practical samples, case studies, and exercises +Presents readers with opinions and suggestions from today’s game writers who are working in the US, Europe, and Japan +Includes a broad range of topics e.g., creative collaboration, editing, adaptations, and environmental storytelling Brief Table of Contents 1: A Brief History of Game Stories. 2: Decoding and Devising the Brief. 3: NDAs and Contracts. 4: Collaboration: Team Us. 5: Narrative Design. 6: Outlines and Treatments. 7: Character Documents. 8: Environmental Storytelling. 9: Writing Scripts. 10: Editing. 11: Consultancy. 12: Adaptations. 13: Other Roles of the Games Writer. 14: Why Have Stories At All? 15: What Is Plot and How Does It Work? 16: Other Resources for Writers. 17: Marrying Design and Story: Driver 76 Case Study. 18: Storyloading. 19: Shifting Agency. 20: Time Gates and Act Stimulants. 21: Aristotle, Games Writing, and Games. 22: Choice or Enlightenment? 23: The Future of Games Writing. 24: What’s It Like Being a Games Writer? Appendices. A Few of the Game Titles Discussed! Elder Scrolls V: Skyrim Borderlands 2 The Walking Dead L.A. Noire Grand Theft Auto V Mass Effect 3 The Stanley Parable The Last of Us Alien Isolation The Witcher 3: Wild Hunt Life is Strange Until Dawn Quantum Break BioShock World of Warcraft Eve Online Tales of Monkey Island Elite Half Life Legend of Zelda: Ocarina of Time Metal Gear Solid Mass Effect Portal Portal 2 Alan Wake Silent Hill Broken Sword Uncharted: Drake’s Fortune About the Authors Maurice Suckling and Marek Walton have, between them, worked on over 45 games, for almost every major Western publisher. The last 18 years have seen one or both of them work as writers on titles such as Borderlands: The Pre-Sequel, Mafia III, Fable Legends, Civilization 6, Killing Floor 2, Wonderbook: Book of Spells, Red Orchestra 2: Heroes of Stalingrad, Driver: Parallel Lines, XCOM, Sonic & Sega All-Star Racing, Driver 76, Planet 51, BattleForge, Don King Presents Prizefighter, Unsolved Crimes, Virtua Tennis 4, and James Noir’s Hollywood Crimes. « less
2017
Learn to build fast and robust applications on the Linux platform with Swift
About This Book Create robust applications by building a strong foundation in the Swift Language Utilize Swift 3 on the embedded Linux platform for IoT and Robotic projects Build more flexible and high-performing applications on desktop, server, and embedded Linux platforms Who This Book Is For This more » book is for Linux developers who are interested in quickly learning how to use Swift to create exciting applications on Linux platforms. What You Will Learn * Install Swift on the Linux platform * Explore the power of the Swift language * Get to know the proper design techniques * Understand Swift’s new Core Library * Implement popular design patterns with Swift * Integrate C libraries with Swift Using Swift on Single-Board Computers * Learn how to add concurrency to your application with Grand Central Dispatch * Learn how to work with Swift Generics * Learn how to use the Protocol-Oriented design paradigm In Detail Swift is a modern, fast, and safe programming language created by Apple. Writing Swift is interactive and fun, the syntax is concise yet expressive, and the code runs lightning-fast. Swift’s move to open source has been embraced with open arms and has seen increased adoption in the Linux platform. Our book will introduce you to the Swift language, further delving into all the key concepts you need to create applications for desktop, server, and embedded Linux platforms. We will teach you the best practices to design an application with Swift 3 via design patterns and Protocol-Oriented Programming. Further on, you will learn how to catch and respond to errors within your application. When you have gained a strong knowledge of using Swift in Linux, we’ll show you how to build IoT and robotic projects using Swift on single board computers. By the end of the book, you will have a solid understanding of the Swift Language with Linux and will be able to « less
2017
Excel VBA in easy steps has an easy-to-follow style that will appeal to anyone who wants to get more from the popular Microsoft Excel Office application using VBA programming (Visual Basic for Applications). Excel VBA in easy steps begins by explaining how to record and edit macro procedures to manipulate more » Excel worksheet entries, then describes how to create your own macro programs in the Visual Basic Editor (VBE) that is included with the Excel application. This book then demonstrates how to program Excel procedures, provide Excel user forms, and create Excel apps. Each chapter builds your knowledge of Visual Basic for Applications. Excel VBA in easy steps contains separate chapters on the major features of the VBA language. There are complete example programs that demonstrate each aspect of Visual Basic for Applications together with screenshots that illustrate the output when that program has been executed. The free, downloadable sample code provided all has coloured syntax-highlighting for clearer understanding. By the end of this book you will have gained a sound understanding of Visual Basic for Applications and be able to write your own VBA programs that can be executed in the Microsoft Excel Office application. You need have no previous knowledge of any programming language, so it's ideal for the newcomer to computer programming. Contents: 1.Getting started 2.Writing macros 3.Storing values 4.Performing operations 5.Making statements 6.Executing procedures 7.Employing functions 8.Recognizing events 9.Opening dialogs 10.Providing user-forms 11.Developing apps « less
2017
A Platform-Based Approach
Addressing the rising security issues during the design stages of cyber-physical systems, this book develops a systematic approach to address security at early design stages together with all other design constraints. Cyber-attacks become more threatening as systems are becoming more connected with the more » surrounding environment, infrastructures, and other systems. Security mechanisms can be designed to protect against attacks and meet security requirements, but there are many challenges of applying security mechanisms to cyber-physical systems including open environments, limited resources, strict timing requirements, and large number of devices. Designed for researchers and professionals, this book is valuable for individuals working in network systems, security mechanisms, and system design. It is also suitable for advanced-level students of computer science. « less
2017