Algorithms: Part II, 4th Edition
This book is Part II of the fourth edition of Robert Sedgewick and Kevin Wayne's Algorithms, the leading textbook on algorithms today, widely used in colleges and universities worldwide. Part II contains Chapters 4 through 6 of the book. The fourth edition of Algorithms surveys the most important computer algorithms currently in use and provides a full treatment of data structures and algorithms for sorting, searching, graph processing, and string processing - including fifty algorithms every programmer should know. In this edition, new Java implementations are written in an accessible modular programming style, where all of the code is exposed to the reader and ready to use. ...
Algorithms: Part I, 4th Edition
This book is Part I of the fourth edition of Robert Sedgewick and Kevin Wayne's Algorithms, the leading textbook on algorithms today, widely used in colleges and universities worldwide. Part I contains Chapters 1 through 3 of the book. The fourth edition of Algorithms surveys the most important computer algorithms currently in use and provides a full treatment of data structures and algorithms for sorting, searching, graph processing, and string processing - including fifty algorithms every programmer should know. In this edition, new Java implementations are written in an accessible modular programming style, where all of the code is exposed to the reader and ready to use. ...
Effective Java, 3rd Edition
Java has changed dramatically since the previous edition of Effective Java was published shortly after the release of Java 6. This Jolt award-winning classic has now been thoroughly updated to take full advantage of the latest language and library features. The support in modern Java for multiple paradigms increases the need for specific best-practices advice, and this book delivers.
As in previous editions, each chapter of Effective Java, Third Edition, consists of several "items", each presented in the form of a short, stand-alone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why.
The third edition covers language and library features added in Java 7, 8, and 9, including the functional programming constructs that were added to its object-oriented roots. Many new items have been added, including a chapter devoted to lam ...
Game Programming in C++
You can program games in many languages, but C++ remains the key language used by many leading development studios. Since it's the language used in their enormous code bases, it's the language they need to maintain and improve their games, and look for most often when hiring new developers. Game Programming in C++ is today's practical, hands-on approach to programming 3D video games in C++. Drawing on the author's pioneering experience teaching game development at USC, it guides you through all key concepts hands-on, and helps you deepen your expertise through several start-to-finish, in-depth game projects.
Author Sanjay Madhav introduces core concepts one at a time, in an easy-to-digest fashion, paying special attention to the math that professional game developers need to know. Step by step, you'll become increasingly comfortable with real-world C++ game development, and learn how to use C++ in all facets of game programming, including graphics, physics, AI, audio, camera systems ...
SQL Queries for Mere Mortals, 4th Edition
SQL Queries for Mere Mortals has earned worldwide praise as the clearest, simplest tutorial on writing effective queries with the latest SQL standards and database applications. Now, author John L. Viescas has updated this hands-on classic with even more advanced and valuable techniques.
Step by step, Viescas guides you through creating reliable queries for virtually any current SQL-based database. He demystifies all aspects of SQL query writing, from simple data selection and filtering to joining multiple tables and modifying sets of data.
Building on the basics, Viescas shows how to solve challenging real-world problems, including applying multiple complex conditions on one table, performing sophisticated logical evaluations, and using unlinked tables to think "outside the box".
In two brand-new chapters, you learn how to perform complex calculations on groups for sophisticated reporting, and how to partition data into windows for more flexible aggregation.
Practice all y ...
Node.js, MongoDB and Angular Web Development, 2nd Edition
Updated for Angular 2, Angular 4, and subsequent versions, this new edition of Node.js, MongoDB and Angular Web Development shows you how to integrate these three technologies into complete working solutions. It begins with concise, crystal-clear tutorials on each technology and then quickly moves on to building common web applications.
You'll learn how to use Node.js and MongoDB to build more scalable, high-performance sites, how to leverage Angular's innovative MVC approach to structure more effective pages and applications, and how to use all three together to deliver outstanding next-genera ...
The Rails 5 Way, 4th Edition
The Rails 5 Way is the comprehensive, authoritative reference guide for professionals delivering production-quality code using modern Ruby on Rails. Obie Fernandez illuminates the entire Rails 5 API, its most powerful idioms, design approaches, and libraries. He presents new and updated content on Action Cable, RSpec 3.4, Turbolinks 5.0, the Attributes API, and many other enhancements, both major and subtle.
Through detailed code examples, you'll dive deep into Ruby on Rails, discover why it's designed as it is, and learn to make it do exactly what you want. Proven in thousands of production systems, the knowledge in this book will maximize your productivity and help you build more successful solutions. ...
Learning Angular, 2nd Edition
Learning Angular teaches modern application development with Angular 2 and Angular 4. It begins with the basics of Angular and the technologies and techniques used throughout the book, such as key features of TypeScript, newer ES6 syntax and concepts, and details about the tools needed to write professional Angular applications.
The reader will next build an Angular application from scratch while learning about the primary pieces of an Angular application and see how they work together. Using lots of examples, the core parts of Angular will be introduced, such as Components, the Router, and Services.
The book also covers techniques like server-side rendering and how to incrementally add Angular 2+ features to existing AngularJS applications. Finally, the reader will gain insight into advanced skills that should be part of any professional Angular developer's toolkit such as testing, tooling options, and performance tuning. ...
A Practical Guide to Linux Commands, Editors, and Shell Programming, 4th Edition
Linux is today's dominant Internet server platform. System administrators and Web developers need deep Linux fluency, including expert knowledge of shells and the command line. This is the only guide with everything you need to achieve that level of Linux mastery. Renowned Linux expert Mark Sobell has brought together comprehensive, insightful guidance on the tools sysadmins, developers, and power users need most, and has created an outstanding day-to-day reference, updated with assistance from new coauthor Matthew Helmke.
This title is 100 percent distribution and release agnostic. Packed with hundreds of high-quality, realistic examples, it presents Linux from the ground up: the clearest explanations and most useful information about everything from filesystems to shells, editors to utilities, and programming tools to regular expressions.
Use a Mac? You'll find coverage of the macOS command line, including macOS-only tools and utilities that other Linux/UNIX titles ignore.
Computer Networking Problems and Solutions
Computer Networking Problems and Solutions offers a new approach to understanding networking that not only illuminates current systems but prepares readers for whatever comes next. Its problem-solving approach reveals why modern computer networks and protocols are designed as they are, by explaining the problems any protocol or system must overcome, considering common solutions, and showing how those solutions have been implemented in new and mature protocols.
Part I considers data transport (the data plane). Part II covers protocols used to discover and use topology and reachability information (the control plane). Part III considers several common network designs and architectures, including data center fabrics, MPLS cores, and modern Software-Defined Wide Area Networks (SD-WAN). Principles that underlie technologies such as Software Defined Networks (SDNs) are considered throughout, as solutions to problems faced by all networking technologies.
This guide is ideal for beginnin ...
Advanced Game Design
In Advanced Game Design, pioneering game designer and instructor Michael Sellers situates game design practices in a strong theoretical framework of systems thinking, enabling designers to think more deeply and clearly about their work, so they can produce better, more engaging games for any device or platform. Sellers offers a deep unifying framework in which practical game design best practices and proven systems thinking theory reinforce each other, helping game designers understand what they are trying to accomplish and the best ways to achieve it. Drawing on 20+ years of experience designing games, launching game studios, and teaching game design, Sellers explains: What games are, and how systems thinking can help you think about them more clearly; How to systematically promote engagement, interactivity, and fun; What you can learn from MDA and other game design frameworks; How to create gameplay and core loops; How to design the entire player experience, and how to build game mec ...