Software Engineering at GoogleToday, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering.
How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the world's leading practitioners construct and maintain software. This book covers Google's unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization.
You'll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustai ...
JavaScript EverywhereJavaScript is the little scripting language that could. Once used chiefly to add interactivity to web browser windows, JavaScript is now a primary building block of powerful and robust applications. In this practical book, new and experienced JavaScript developers will learn how to use this language to create APIs as well as web, mobile, and desktop applications.
Author and engineering leader Adam D. Scott covers technologies such as Node.js, GraphQL, React, React Native, and Electron. Ideal for developers who want to build full stack applications and ambitious web development beginners looking to bootstrap a startup, this book shows you how to create a single CRUD-style application that will work across several platforms.
Explore GraphQL's simple process for querying data; Learn about shared authentication for APIs, web apps, and native applications; Build performant web applications with React and Styled Components; Use React Native to write cross-platform applications for iOS ...
Java Performance, 2nd EditionCoding and testing are generally considered separate areas of expertise. In this practical book, Java expert Scott Oaks takes the approach that anyone who works with Java should be adept at understanding how code behaves in the Java Virtual Machine - including the tunings likely to help performance. This updated second edition helps you gain in-depth knowledge of Java application performance using both the JVM and the Java platform.
Developers and performance engineers alike will learn a variety of features, tools, and processes for improving the way the Java 8 and 11 LTS releases perform. While the emphasis is on production-supported releases and features, this book also features previews of exciting new technologies such as ahead-of-time compilation and experimental garbage collections.
Understand how various Java platforms and compilers affect performance; Learn how Java garbage collection works; Apply four principles to obtain best results from performance testing; Use the JD ...
Python for DevOpsMuch has changed in technology over the past decade. Data is hot, the cloud is ubiquitous, and many organizations need some form of automation. Throughout these transformations, Python has become one of the most popular languages in the world. This practical resource shows you how to use Python for everyday Linux systems administration tasks with today's most useful DevOps tools, including Docker, Kubernetes, and Terraform.
Learning how to interact and automate with Linux is essential for millions of professionals. Python makes it much easier. With this book, you'll learn how to develop software and solve problems using containers, as well as how to monitor, instrument, load-test, and operationalize your software. Looking for effective ways to "get stuff done" in Python? This is your guide.
Python foundations, including a brief introduction to the language; How to automate text, write command-line tools, and automate the filesystem; Linux utilities, package management, build syst ...
Building Web Apps with WordPress, 2nd EditionWordPress is much more than a blogging platform. If you have basic PHP, HTML, CSS, and JavaScript experience you can use WordPress to develop fast, scalable, secure, and highly customized web apps, mobile apps, web services, and multisite networks of websites. Along with core WordPress functions and database schema, you'll learn how to build custom plugins, themes, and services for just about any kind of web or mobile application.
In this updated second edition, Brian Messenlehner and Jason Coleman cover new features and functionality added to WordPress up to version 5.4. All code examples in the book are available on GitHub.
Compare WordPress with traditional app development frameworks; Use themes for views and plugins for backend functionality; Get suggestions for choosing or building WordPress plugins; Register custom post types (CPTs) and taxonomies; Manage user accounts and roles, and access user data; Build asynchronous behaviors with jQuery; Use WordPress to develop mobile ...
Programming iOS 13If you're grounded in the basics of Swift, Xcode, and the Cocoa framework, this book provides a structured explanation of all essential real-world iOS app components. Through deep exploration and copious code examples, you'll learn how to create views, manipulate view controllers, and add features from iOS frameworks.
Create, arrange, draw, layer, and animate views that respond to touch; Use view controllers to manage multiple screens of interface; Master interface classes for scroll views, table views, text, popovers, split views, web views, and controls; Dive into frameworks for sound, video, maps, and sensors; Access user libraries: music, photos, contacts, and calendar; Explore files, networking, and threads.
Stay up-to-date on iOS 13 innovations, such as: Symbol images; Light and dark mode; Sheet presentation; Diffable data sources and compositional layout; Context menus and previews; Window scene delegates and multiple windows on iPad.
Want to brush up on the basics? Pic ...
Programming C# 8.0C# is undeniably one of the most versatile programming languages available to engineers today. With this comprehensive guide, you'll learn just how powerful the combination of C# and .NET can be. Author Ian Griffiths guides you through C# 8.0 fundamentals and techniques for building cloud, web, and desktop applications.
Designed for experienced programmers, this book provides many code examples to help you work with the nuts and bolts of C#, such as generics, LINQ, and asynchronous programming features. You'll get up to speed on .NET Core and the latest C# 8.0 additions, including asynchronous streams, nullable references, pattern matching, default interface implementation, ranges and new indexing syntax, and changes in the .NET tool chain.
Discover how C# supports fundamental coding features, such as classes, other custom types, collections, and error handling; Learn how to write high-performance memory-efficient code with .NET Core's Span and Memory types; Query and process div ...
Introducing Play Framework, 2nd EditionEnter the world of rapid web application development. This gentle introduction to Play covers all you need to know: it carefully introduces the background concepts before diving into examples, making learning Play 2 enjoyable (it includes the latest Play framework version 2.8).
Introducing Play Framework is crisp, up-to-the-point, and full of valuable information. You will find chapters covering the basics of Play, the sbt build system, the Ebean ORM, web services using Play, production deployment, cache, and more with actual pragmatic code snippets for common tasks.
After reading and using this book, you'll be able to build and deploy Java-based web applications with the Play framework.
Use the Play framework to do rapid Java-based web application development; Work with Play controllers and Play views; Create web services using JSON and XML; Persist data and access databases; Use Play modules; Carry out asynch programming; Cache, deploy, and work with code snippets in Play. ...
Practical Highcharts with AngularLearn to create stunning animated and interactive charts using Highcharts and Angular. Use and build on your existing knowledge of HTML, CSS, and JavaScript to develop impressive dashboards that will work in all modern browsers.
You will learn how to use Highcharts, call backend services for data, and easily construct real-time data dashboards. You'll also learn how you can club your code with jQuery and Angular. This book provides the best solutions for real-time challenges and covers a wide range of charts including line, area, maps, plot, different types of pie chart, Gauge, heat map, Histogram, stacked bar, scatter plot and 3d charts. After reading this book, you'll be able to export your charts in different formats for project-based learning.
Highcharts is one the most useful products worldwide for develop charting on the web, and Angular is well known for speed. Using Highcharts with Angular, developers can build fast, interactive dashboards. Get up to speed using this book ...
Essential ASP.NET Web Forms DevelopmentGo from beginner to pro using one of the most effective and widely used technology stacks, Microsoft ASP.NET. Beginning with the basics, you will learn how to create interactive, professional-grade, database-driven web applications in no time, using ASP.NET, C#, SQL, Ajax, and JavaScript.
Essential ASP.NET Web Forms Development is divided into six learning modules and will take you from soup to nuts with ASP.NET. Part I is an introduction to the major concepts, methodologies, and technologies associated with .NET web application development. You will learn about the client-server model, the .NET Framework, the ASP.NET and C# programming languages, and the Visual Studio integrated development environment. Part II teaches you how to develop a single-page .NET web application and add server and data validation controls, laying the foundation for learning languages in the context of an ASP.NET web application. Part III is all about C# operations and shows you how to perform assignment o ...