Explore what Flutter has to offer, where it came from, and where it´s going. Mobile development is progressing at a fast rate and with Flutter - an open-source mobile application development SDK created by Google - you can develop applications for Android and iOS, as well as Google Fuchsia.Learn to create three apps (a personal information manager, a chat system, and a game project) that you can install on your mobile devices and use for real. You will begin by getting a solid foundation of Flutter knowledge, and building on it immediately by constructing two more traditional productivity apps.. You will also learn to create a game, enabling you to see a whole other perspective on what Flutter can do. In addition to building these apps, you´ll have the benefit of reviewing real-world issues you might encounter, along with ways to deal with them through tips and tricks, all designed to make your Flutter experience that much more productive and, frankly, fun! Practical Flutter will leave you with a solid grasp of how to build apps with Flutter, and springboard into creating more advanced apps on your own. By the time your journey through this material concludes, another larger one will begin as you springboard, well-prepared, into the larger world of Flutter development, tackling any project that comes your way with aplomb. Practical Flutter is a learning adventure you won´t want to miss. What You´ll Learn Get a Flutter project started and logically structure it Use the interface elements Flutter provides, such as widgets, controls, and extensions Build layouts using interface elements Use available tooling, specifically Android Studio Leverage server-side development and connect a Flutter app to a server back-end. Who This Book Is For Mobile developers who are looking to build for multiple mobile platforms and trying to do so with a codebase that is largely the same across all. Basic knowledge of iOS and Android generally, and some general programming experience is expected.
In this collection of essays and articles, key members of Google´s Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world.
Learn how to solve challenging machine learning problems with TensorFlow, Google´s revolutionary new software library for deep learning. If you have some background in basic linear algebra and calculus, this practical book introduces machine-learning fundamentals.
Three acknowledged experts in search engine optimization share guidelines and innovative techniques that will help you plan and execute a comprehensive SEO strategy. This third edition focuses on a number of tool updates and examines the changes brought about by Hummingbird, Google´s context-aware algorithm. The book is perfect for anyone interested in becoming an SEO practitioner, as well as people already working in the profession.
The Continuous Delivery and SRE movements are here to stay and grow, its time you to ride the wave! This book goes in detail about DevOps Culture, Microservices Architecture, How to automate deployment using Kubernetes and How Google´s SRE and DevOps philosophies overlap. Overall it is a complete package for any application development stakeholder. This book can be used by a beginner, Technology Consultant, Business Consultant and Project Manager and any member of the project team trying to figure out SRE & CD. The structure of the book is such that it answers the most asked questions about DevOps, Microservices, Kubernetes and SRE. It also covers the best and the latest case studies with benefits. Therefore, it is expected that after going through this book, you can discuss the topic with any stakeholder and take your agenda ahead as per your role. Here is your chance to dive into the CD & SRE role and know what it takes to be and implement best practices. The Continuous Delivery and SRE movements are here to stay and grow, its time you to ride the wave! So, don´t wait and take action!
Testing at Google Scale Product Description 2012 Jolt Award finalist! Pioneering the Future of Software Test Do you need to get it right, too? Then, learn from Google . 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! Features + Benefits Presents pioneering testing techniques that can help any company moving to the cloud Shows how to achieve web-level scale for integration and system testing Offers expert guidance on managing end-to-end testing, including superior automation strategies Foreword by Alberto Savoia xiii Foreword by Patrick Copeland xvii Preface xxiii Chapter 1: Introduction to Google Software Testing 1 Quality?Test 5 Roles 6 Organizational Structure 8 Crawl, Walk, Run 10 Types of Tests 12 Chapter 2: The Software Engineer in Test 15 The Life of an SET 17 Development and Test Workflow 17 Who Are These SETs Anyway? 22 The Early Phase of a Project 22 Team Structure 24 Design Docs 25 Interfaces and Protocols 27 Automation Planning 28 Testability 29 SET Workflow: An Example 32 Test Execution 40 Test Size Definitions 41 Use of Test Sizes in Shared Infrastructure 44 Benefits of Test Sizes 46 Test Runtime Requirements 48 Case 1: Change in Common Library 52 Test Certified 54 An Interview with the Founders of the Test Certified Program 57 Interviewing SETs 62 An Interview with Tool Developer Ted Mao 68 An Interview with Web Driver Creator Simon Stewart 70 Chapter 3: The Test Engineer 75 A User-Facing Test Role 75 The Life of a TE 76 Test Planning 79 Risk 97 Life of a Test Case 108 Life of a Bug 113 Recruiting TEs 127 Test Leadership at Google 134 Maintenance Mode Testing 137 Quality Bots Experiment 141 BITE Experiment 153 Google Test Analytics 163 Free Testing Workflow 169 External Vendors 173 An Interview with Google Docs TE Lindsay Webster 175 An Interview with YouTube TE Apple Chow 181 Chapter 4: The Test Engineering Manager 187 The Life of a TEM 187 Getting Projects and People 189 Impact 191 An Interview with Gmail TEM Ankit Mehta 193 An Interview with Android TEM Hung Dang 198 An Interview with Chrome TEM Joel Hynoski 202 The Test Engineering Director 206 An Interview with Search and Geo Test Director Shelton Mar 207 An Interview with Engineering Tools Director Ashish Kumar 211 An Interview with Google India Test Director Sujay Sahni 214 An Interview with Engineering Manager Brad Green 219 An Interview with James Whittaker 222 Chapter 5: Improving How Google Tests Software 229 Fatal Flaws in Google´s Process 229 The Future of the SET 231 The Future of the TE 233 The Future of the Test Director and Manager 234 The Future of Test Infrastructure 234 In Conclusion 235 Appendix A: Chrome OS Test Plan 237 Overview of Themes 237 Risk Analysis 238 Per-Build Baseline Testing 239 Per-LKG Day Testing 239 Per-Release Testing 239 Manual Versus Automation 240 Dev Versus Test Quality Focus 240 Release Channels 240 User Input 241 Test Case Repositories 241 Test Dashboarding 241 Virtualization 241 Performance 242 Stress, Long-Running, and Stability 242 Test Execution Framework (Autotest) 242 OEMs 242 Hardware Lab 242 E2E Farm Automation 243 Testing the Browser AppManager 243 Browser Testability 243 Hardware 244 Timeline 244 Primary Test Drivers 246 Relevant Documents 246 Appendix B: Test Tours for Chrome 247 The Shopping Tour 247 The Student Tour 248 Suggested Areas to Test 248 The International Calling Tour 249 Suggested Areas to Test 249 The Landmark Tour 249 Suggested Landmarks in Chrome 249 The All Nighter Tour 250 Suggested Areas to Test 250 The Artisan´s Tour 251 Tools in Chrome 251 The Bad Neighborhood Tour 251 Bad Neighborhoods in Chrome OS 251 The Personalization Tour 252 Ways to Customize
We depend on¿we believe in¿algorithms to help us get a ride, choose which book to buy, execute a mathematical proof. It´s as if we think of code as a magic spell, an incantation to reveal what we need to know and even what we want. Humans have always believed that certain invocations¿the marriage vow, the shaman´s curse¿do not merely describe the world but make it. Computation casts a cultural shadow that is shaped by this long tradition of magical thinking. In this book, Ed Finn considers how the algorithm¿in practical terms, ´´a method for solving a problem¿¿has its roots not only in mathematical logic but also in cybernetics, philosophy, and magical thinking. Finn argues that the algorithm deploys concepts from the idealized space of computation in a messy reality, with unpredictable and sometimes fascinating results. Drawing on sources that range from Neal Stephenson´s Snow Crash to Diderot´s Encyclopédie, from Adam Smith to the Star Trek computer, Finn explores the gap between theoretical ideas and pragmatic instructions. He examines the development of intelligent assistants like Siri, the rise of algorithmic aesthetics at Netflix, Ian Bogost´s satiric Facebook game Cow Clicker, and the revolutionary economics of Bitcoin. He describes Google´s goal of anticipating our questions, Uber´s cartoon maps and black box accounting, and what Facebook tells us about programmable value, among other things.
Computer Architecture: A Quantitative Approach, Sixth Edition has been considered essential reading by instructors, students and practitioners of computer design for over 20 years. The sixth edition of this classic textbook from Hennessy and Patterson, winners of the 2017 ACM A.M. Turing Award recognizing contributions of lasting and major technical importance to the computing field, is fully revised with the latest developments in processor and system architecture. The text now features examples from the RISC-V (RISC Five) instruction set architecture, a modern RISC instruction set developed and designed to be a free and openly adoptable standard. It also includes a new chapter on domain-specific architectures and an updated chapter on warehouse-scale computing that features the first public information on Google´s newest WSC. True to its original mission of demystifying computer architecture, this edition continues the longstanding tradition of focusing on areas where the most exciting computing innovation is happening, while always keeping an emphasis on good engineering design. Winner of a 2019 Textbook Excellence Award (Texty) from the Textbook and Academic Authors Association Includes a new chapter on domain-specific architectures, explaining how they are the only path forward for improved performance and energy efficiency given the end of Moore´s Law and Dennard scaling Features the first publication of several DSAs from industry Features extensive updates to the chapter on warehouse-scale computing, with the first public information on the newest Google WSC Offers updates to other chapters including new material dealing with the use of stacked DRAM; data on the performance of new NVIDIA Pascal GPU vs. new AVX-512 Intel Skylake CPU; and extensive additions to content covering multicore architecture and organization Includes ´´Putting It All Together´´ sections near the end of every chapter, providing real-world technology examples that demonstrate the principles covered in each chapter Includes review appendices in the printed text and additional reference appendices available online Includes updated and improved case studies and exercises ACM named John L. Hennessy and David A. Patterson, recipients of the 2017 ACM A.M. Turing Award for pioneering a systematic, quantitative approach to the design and evaluation of computer architectures with enduring impact on the microprocessor industry