Growing Rails Applications in Practice


Henning Koch - 2014
    

The Imposter's Handbook


Rob Conery - 2016
    New languages, new frameworks, new ways of doing things - a constant struggle just to stay current in the industry. This left no time to learn the foundational concepts and skills that come with a degree in Computer Science.

The Mobile Mind Shift: Engineer Your Business To Win in the Mobile Moment


Ted Schadler - 2014
    What’s tomorrow’s weather? Is the flight on time? Where’s the nearest store, and is this product cheaper there? Whatever the question, the answer is on the phone. This Pavlovian response is the mobile mind shift — the expectation that I can get what I want, anytime, in my immediate context. Your new battleground for customers is this mobile moment — the instant in which your customer is seeking an answer. If you’re there for them, they’ll love you; if you’re not, you’ll lose their business. Both entrepreneurial companies like Dropbox and huge corporations like Nestlé are winning in that mobile moment. Are you?Based on 200 interviews with entrepreneurs and major companies across the globe, The Mobile Mind Shift is the first book to explain how you can exploit mobile moments. You’ll learn how to:•    Find your customer’s most powerful mobile moments with a mobile moment audit.•    Master the IDEA Cycle, the business discipline for exploiting mobile. Align your business and technology teams in four steps: Identify, Design, Engineer, Analyze.•    Manufacture mobile moments as Krispy Kreme does — it sends a push notification when hot doughnuts are ready near you. Result: 500,000 app downloads, followed by a double-digit increase in same-store sales.•    Turn one-time product sales into ongoing services and engagement, as the Nest thermostat does. And master new business models, as Philips and Uber do. Find ways to charge more and create indelible customer loyalty.•    Transform your technology into systems of engagement. Engineer your business and technology systems to meet the ever-expanding demands of mobile. It’s how Dish Network not only increased the efficiency of its installers but also created new on-the-spot upsell opportunities.Mobile is rapidly shifting your customers into a new way of thinking. You’ll need your own mobile mind shift to respond.

Practical Object Oriented Design in Ruby


Sandi Metz - 2012
    The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using powerful real-world object-oriented design techniques, which it thoroughly explains using simple and practical Ruby examples. Sandi Metz has distilled a lifetime of conversations and presentations about object-oriented design into a set of Ruby-focused practices for crafting manageable, extensible, and pleasing code. She shows you how to build new applications that can survive success and repair existing applications that have become impossible to change. Each technique is illustrated with extended examples, all downloadable from the companion Web site, poodr.info. The first title to focus squarely on object-oriented Ruby application design, Practical Object-Oriented Design in Ruby will guide you to superior outcomes, whatever your previous Ruby experience. Novice Ruby programmers will find specific rules to live by; intermediate Ruby programmers will find valuable principles they can flexibly interpret and apply; and advanced Ruby programmers will find a common language they can use to lead development and guide their colleagues. This guide will help you Understand how object-oriented programming can help you craft Ruby code that is easier to maintain and upgrade Decide what belongs in a single Ruby class Avoid entangling objects that should be kept separate Define flexible interfaces among objects Reduce programming overhead costs with duck typing Successfully apply inheritance Build objects via composition Design cost-effective tests Solve common problems associated with poorly designed Ruby code

The Ultimate History of Video Games: From Pong to Pokemon - The Story Behind the Craze That Touched Our Lives and Changed the World


Steven L. Kent - 2001
    The Ultimate History of Video Games reveals everything you ever wanted to know and more about the unforgettable games that changed the world, the visionaries who made them, and the fanatics who played them. From the arcade to television and from the PC to the handheld device, video games have entraced kids at heart for nearly 30 years. And author and gaming historian Steven L. Kent has been there to record the craze from the very beginning.This engrossing book tells the incredible tale of how this backroom novelty transformed into a cultural phenomenon. Through meticulous research and personal interviews with hundreds of industry luminaries, you'll read firsthand accounts of how yesterday's games like Space Invaders, Centipede, and Pac-Man helped create an arcade culture that defined a generation, and how today's empires like Sony, Nintendo, and Electronic Arts have galvanized a multibillion-dollar industry and a new generation of games. Inside, you'll discover:·The video game that saved Nintendo from bankruptcy ·The serendipitous story of Pac-Man's design ·The misstep that helped topple Atari's $2 billion-a-year empire·The coin shortage caused by Space Invaders ·The fascinating reasons behind the rise, fall, and rebirth of Sega ·And much more! Entertaining, addictive, and as mesmerizing as the games it chronicles, this book is a must-have for anyone who's ever touched a joystick.

T-SQL Fundamentals


Itzik Ben-Gan - 2016
    Itzik Ben-Gan explains key T-SQL concepts and helps you apply your knowledge with hands-on exercises. The book first introduces T-SQL's roots and underlying logic. Next, it walks you through core topics such as single-table queries, joins, subqueries, table expressions, and set operators. Then the book covers more-advanced data-query topics such as window functions, pivoting, and grouping sets. The book also explains how to modify data, work with temporal tables, and handle transactions, and provides an overview of programmable objects. Microsoft Data Platform MVP Itzik Ben-Gan shows you how to: Review core SQL concepts and its mathematical roots Create tables and enforce data integrity Perform effective single-table queries by using the SELECT statement Query multiple tables by using joins, subqueries, table expressions, and set operators Use advanced query techniques such as window functions, pivoting, and grouping sets Insert, update, delete, and merge data Use transactions in a concurrent environment Get started with programmable objects-from variables and batches to user-defined functions, stored procedures, triggers, and dynamic SQL

Foundations of Computer Science


Behrouz A. Forouzan - 2002
    Divided into five parts computer and data, computer hardware, computer software, data organization and with an introduction to some of the more advanced topics Foundations of Computer Science gives students a bird's eye view of the subject. Each chapter includes key terms, summaries, review questions, multiple-choice questions, and exercises to enhance learning, while introducing tools such as UML, structure chart and pseudocode, which students will need in order to succeed in later courses. The text is also supported by numerous figures, examples, exercises, selected solutions and a test bank, all designed to ease and aid the learning process. Updated to cover the latest technologies and changes to course requirements, this second edition features new and updated coverage of: Artificial Intelligence, Computer Ethics and Crimes, Networking, LINUX, and Security.

The Art and Science of Java


Eric S. Roberts - 2007
    By following the recommendations of the Association of Computing Machinery's Java Task Force, this first edition text adopts a modern objects-first approach that introduces readers to useful hierarchies from the very beginning.KEY TOPICS: Introduction; Programming by Example; Expressions; Statement Forms; Methods; Objects and Classes; Objects and Memory; Strings and Characters; Object-Oriented Graphics; Event-Driven Programs; Arrays and ArrayLists; Searching and Sorting; Collection Classes; Looking Ahead.MARKET: A modern objects-first approach to the Java programming language that introduces readers to useful class hierarchies from the very beginning.

Slay the Dragon: Writing Great Video Games


Robert Denton Bryant - 2015
    "Slay the Dragon" will help you understand the challenges and offer creative solutions to writing for a medium where the audience not only demands a great story, but to be a driving force within it. Aimed at traditional writers who want to learn interactive narrative as well as game creators who want to tell better, more emotionally involving stories, the book is written by two creative veterans of both Hollywood and "Nerdyhood." Through lively discussions and self-paced-exercises, Bryant and Giglio step you such topics as: the "no-act" structure of video games; writing great game characters; making gameplay emotionally meaningful; and bringing your game world alive.

Implementing Domain-Driven Design


Vaughn Vernon - 2013
    Vaughn Vernon couples guided approaches to implementation with modern architectures, highlighting the importance and value of focusing on the business domain while balancing technical considerations.Building on Eric Evans’ seminal book, Domain-Driven Design, the author presents practical DDD techniques through examples from familiar domains. Each principle is backed up by realistic Java examples–all applicable to C# developers–and all content is tied together by a single case study: the delivery of a large-scale Scrum-based SaaS system for a multitenant environment.The author takes you far beyond “DDD-lite” approaches that embrace DDD solely as a technical toolset, and shows you how to fully leverage DDD’s “strategic design patterns” using Bounded Context, Context Maps, and the Ubiquitous Language. Using these techniques and examples, you can reduce time to market and improve quality, as you build software that is more flexible, more scalable, and more tightly aligned to business goals.

The Rails 4 Way


Obie Fernandez - 2013
    It has conquered developer mindshare at startups and enterprises alike with its focus of simplicity, convention and clean, maintainable code. The latest version, Rails 4, continues the tradition of enhanced performance, security and developer productivity, with improvements that enable professional developers to focus on what matters most: delivering business value quickly and consistently.The Rails™ 4 Way is the only comprehensive, authoritative guide to delivering production-quality code with Rails 4. Pioneering Rails expert Obie Fernandez and his team of leading Rails experts illuminate the entire set of Rails APIs, along with the idioms, design approaches, and libraries that make developing applications with Rails so powerful. Drawing on their unsurpassed experience and track record, they address the real challenges development teams face, showing how to use Rails to maximize your productivity.Using numerous detailed code examples, the author systematically cover Rails key capabilities and subsystems, making this book a reference that you depend on everyday. He presents advanced Rails programming techniques that have been proven effective in day-to-day usage on dozens of production Rails systems and offers important insights into behavior-driven development and production considerations such as scalability. Dive deep into the subtleties of the asset pipeline and other advanced Rails topics such as security and scalability. The Rails 4 Way is your best guide for making Rails do exactly what you want it to do.

Ask Iwata: Words of Wisdom from Satoru Iwata, Nintendo's Legendary CEO


Satoru Iwata - 2021
    In my mind, I am a game developer. But in my heart, I am a gamer." —Satoru IwataSatoru Iwata was the former Global President and CEO of Nintendo and a gifted programmer who played a key role in the creation of many of the world’s best-known games. He led the production of innovative platforms such as the Nintendo DS and the Wii, and laid the groundwork for the development of the wildly successful Pokémon Go game and the Nintendo Switch. Known for his analytical and imaginative mind, but even more for his humility and people-first approach to leadership, Satoru Iwata was beloved by game fans and developers worldwide. In this motivational collection, Satoru Iwata addresses diverse subjects such as locating bottlenecks, how success breeds resistance to change, and why programmers should never say no. Drawn from the "Iwata Asks" series of interviews with key contributors to Nintendo games and hardware, and featuring conversations with renowned Mario franchise creator Shigeru Miyamoto and creator of EarthBound Shigesato Itoi, Ask Iwata offers game fans and business leaders an insight into the leadership, development and design philosophies of one of the most beloved figures in gaming history.

A Game Design Vocabulary: Exploring the Foundational Principles Behind Good Game Design


Anna Anthropy - 2013
    We still don't know how to talk about game design. We can't share our visions. We forget what works (and doesn't). We don't learn from history. It's too hard to improve.The breakthrough starts here. A Game Design Vocabulary gives us the complete game design framework we desperately need--whether we create games, study them, review them, or build businesses on them.Craft amazing experiences. Anna Anthropy and Naomi Clark share foundational principles, examples, and exercises that help you create great player experiences...complement intuition with design discipline...and craft games that succeed brilliantly on every level.Liberate yourself from stale cliches and genres Tell great stories: go way beyond cutscenes and text dumps Control the crucial relationships between game "verbs" and "objects" Wield the full power of development, conflict, climax, and resolution Shape scenes, pacing, and player choices Deepen context via art, animation, music, and sound Help players discover, understand, engage, and "talk back" to you Effectively use resistance and difficulty: the "push and pull" of games Design holistically: integrate visuals, audio, and controls Communicate a design vision everyone can understand

How Google Tests Software


James A. Whittaker - 2012
    Legendary testing expert James Whittaker, until recently a Google testing leader, and two top Google experts reveal exactly how Google tests software, offering brand-new best practices you can use even if you're not quite Google's size...yet! Breakthrough Techniques You Can Actually Use Discover 100% practical, amazingly scalable techniques for analyzing risk and planning tests...thinking like real users...implementing exploratory, black box, white box, and acceptance testing...getting usable feedback...tracking issues...choosing and creating tools...testing "Docs & Mocks," interfaces, classes, modules, libraries, binaries, services, and infrastructure...reviewing code and refactoring...using test hooks, presubmit scripts, queues, continuous builds, and more. With these techniques, you can transform testing from a bottleneck into an accelerator-and make your whole organization more productive!

Coders: The Making of a New Tribe and the Remaking of the World


Clive Thompson - 2019
    And this may sound weirdly obvious, but every single one of those pieces of software was written by a programmer. Programmers are thus among the most quietly influential people on the planet. As we live in a world made of software, they're the architects. The decisions they make guide our behavior. When they make something newly easy to do, we do a lot more of it. If they make it hard or impossible to do something, we do less of it.If we want to understand how today's world works, we ought to understand something about coders. Who exactly are the people that are building today's world? What makes them tick? What type of personality is drawn to writing software? And perhaps most interestingly -- what does it do to them?One of the first pieces of coding a newbie learns is the program to make the computer say "Hello, world!" Like that piece of code, Clive Thompson's book is a delightful place to begin to understand this vocation, which is both a profession and a way of life, and which essentially didn't exist little more than a generation ago, but now is considered just about the only safe bet we can make about what the future holds. Thompson takes us close to some of the great coders of our time, and unpacks the surprising history of the field, beginning with the first great coders, who were women. Ironically, if we're going to traffic in stereotypes, women are arguably "naturally" better at coding than men, but they were written out of the history, and shoved out of the seats, for reasons that are illuminating. Now programming is indeed, if not a pure brotopia, at least an awfully homogenous community, which attracts people from a very narrow band of backgrounds and personality types. As Thompson learns, the consequences of that are significant - not least being a fetish for disruption at scale that doesn't leave much time for pondering larger moral issues of collateral damage. At the same time, coding is a marvelous new art form that has improved the world in innumerable ways, and Thompson reckons deeply, as no one before him has, with what great coding in fact looks like, who creates it, and where they come from. To get as close to his subject has he can, he picks up the thread of his own long-abandoned coding practice, and tries his mightiest to up his game, with some surprising results.More and more, any serious engagement with the world demands an engagement with code and its consequences, and to understand code, we must understand coders. In that regard, Clive Thompson's Hello, World! is a marvelous and delightful master class.