Think DSPIf you understand basic mathematics and know how to program with Python, you're ready to dive into signal processing. While most resources start with theory to teach this complex subject, this practical book introduces techniques by showing you how they're applied in the real world. In the first chapter alone, you'll be able to decompose a sound into its harmonics, modify the harmonics, and generate new sounds.
Author Allen Downey explains techniques such as spectral decomposition, filtering, convolution, and the Fast Fourier Transform. This book also provides exercises and code examples to help you understand the material.
You'll explore: Periodic signals and their spectrums; Harmonic structure of simple waveforms; Chirps and other sounds whose spectrum changes over time; Noise signals and natural sources of noise; The autocorrelation function for estimating pitch; The discrete cosine transform (DCT) for compression; The Fast Fourier Transform for spectral analysis; Relating ope ...
Optimizing JavaCurrently, no books exist that focus on the practicalities of Java application performance tuning, as opposed to the theory and internals of Java virtual machines. This practical guide is the "missing link" that aims to move Java performance tuning from the realm of guesswork and folklore to an experimental science.
Learn how to approach performance problems in an consistent and systematic way; Resolve production performance issues by learning core Java performance topics; Identify and resolve performance issues before encountering them in production; Understand the performance problems you encounter by learning the Java platform's internals. ...
Mastering Azure AnalyticsMicrosoft Azure has over 20 platform-as-a-service (PaaS) offerings that can act in support of a big data analytics solution. So which one is right for your project? This practical book helps you understand the breadth of Azure services by organizing them into a reference framework you can use when crafting your own big data analytics solution.
You'll not only be able to determine which service best fits the job, but also learn how to implement a complete solution that scales, provides human fault tolerance, and supports future needs.Understand the fundamental patterns of the data lake and lambda architecture;Recognize the canonical steps in the analytics data pipeline and learn how to use Azure Data Factory to orchestrate them;Implement data lakes and lambda architectures, using Azure Data Lake Store, Data Lake Analytics, HDInsight (including Spark), Stream Analytics, SQL Data Warehouse, and Event Hubs;Understand where Azure Machine Learning fits i ...
Learning Node, 2nd EditionTake your web development skills from browser to server with Node - and learn how to write fast, highly scalable network applications on this JavaScript-based platform. Updated for the latest Node Long Term Support (LTS) and Node Current (6.0) releases, this hands-on edition helps you master Node's core fundamentals and gain experience with several built-in and contributed modules.
Get up to speed on Node's event-driven, asynchronous I/O model for developing data-intensive applications that are frequently accessed but computationally simple. If you're comfortable working with JavaScript, this book provides many programming and deployment examples to help you take advantage of server-side development with Node.Explore the frameworks and functionality for full-stack Node development;Dive into Node's module system and package management support;Test your application or module code on the fly with Node's REPL console;Use core Node modules to build web ...
Identity and Data Security for Web DevelopmentDevelopers, designers, engineers, and creators can no longer afford to pass responsibility for identity and data security onto others. Web developers who don't understand how to obscure data in transmission, for instance, can open security flaws on a site without realizing it. With this practical guide, you'll learn how and why everyone working on a system needs to ensure that users and data are protected.
Authors Jonathan LeBlanc and Tim Messerschmidt provide a deep dive into the concepts, technology, and programming methodologies necessary to build a secure interface for data and identity - without compromising usability. You'll learn how to plug holes in existing systems, protect against viable attack vectors, and work in environments that sometimes are naturally insecure.Understand the state of web and application security today;Design security password encryption, and combat password attack vectors;Create digital fingerprints to identify users through ...
Design It!Great software comes from great designers. Learn the essential software architecture fundamentals every programmer needs to know. With hands-on examples in every chapter, tips and advice from respected architects, practical scenarios, and dozens of architectural design activities, Design It! shows you how to lead your team as a software architect to create excellent software.
Uncover the big ideas behind software architecture and learn practical methods for designing software systems big and small. Gain a framework for thinking about design, enabling you to plan, lead, design, implement, and evaluate software architectures. Collaborate with your team, stakeholders, and other architects. Dig for architecturally significant requirements and write detailed quality attribute scenarios. Explore design alternatives, balance trade-offs, manage risks, and choose technologies based on their architectural impact. Make the architecture real for everyone with powerful sketches, engaging stories ...
Release It! 2nd EditionIf you're a software developer, and you don't want to get alerts every night for the rest of your life, help is here. With a combination of case studies about huge losses - lost revenue, lost reputation, lost time, lost opportunity - and practical, down-to-earth advice that was all gained through painful experience, this book helps you avoid the pitfalls that cost companies millions of dollars in downtime and reputation. Eighty percent of project life-cycle cost is in production, yet few books address this topic.
This updated edition deals with the production of today's systems - larger, more complex, and heavily virtualized - and includes information on chaos engineering, the discipline of applying randomness and deliberate stress to reveal systematic problems. Build systems that survive the real world, avoid downtime, implement zero-downtime upgrades and continuous delivery, and make cloud-native applications resilient. Examine ways to architect, design, and build software - parti ...
The Cucumber Book, 2nd EditionExpress your customers wild ideas as a set of clear, executable specifications that everyone on the team can read. Feed those examples into Cucumber and let it guide your development. Build just the right code to keep your customers happy. You can use Cucumber to test almost any system or any platform.
Get started by using the core features of Cucumber and working with Cucumber's Gherkin DSL to describe - in plain language - the behavior your customers want from the system. Then write Ruby code that interprets those plain-language specifications and checks them against your application. Next, consolidate the knowledge you've gained with a worked example, where you'll learn more advanced Cucumber techniques, test asynchronous systems, and test systems that use a database. Recipes highlight some of the most difficult and commonly seen situations the authors have helped teams solve. With these patterns and techniques, test Ajax-heavy web applications with Capybara and Selenium, REST we ...
Swift StyleApple's Swift programming language has finally reached stability, and developers are demanding to know how to program the language properly. Swift Style guides you through the ins and outs of Swift programming best practices. This is the first best practices book for serious, professional Swift programmers and for programmers who want to shine their skills to be hired in this demanding market.
A style guide offers a consistent experience of well-crafted code that lets you focus on the code's underlying meaning, intent, and implementation. This book doesn't offer canonical answers on Swift coding style. It explores the areas of Swift where structure comes into play. Whether you're developing a personal style or a house style, there are always ways to enhance your code choices. You'll find here the ideas and principles to establish or enhance your own best style practices.
Begin with simple syntactical styling. Strengthen code bracing for easy readability. Style your closures for s ...
Scalable Cloud Ops with FugueCloud computing represents the greatest shift in computing in more than a decade. But the promise of the cloud is unrealized. The cloud isn't just about shedding the physical data center - it's about shedding the data center mindset. Cloud infrastructure can be controlled via API calls. This means we can view it as a giant general-purpose computer - and program it. That's where the Fugue operating system and the Ludwig language come in. They automate the creation, operation, enforcement, and termination of infrastructure in the cloud.
This definitive Fugue guide starts with a simple website and moves on to a more robust application with evolving infrastructure needs as you walk through the steps to harnessing the cloud. With Amazon Web Services, launch infrastructure quickly. Debug in design time. Automate deployment and enforcement of your cloud. Centralize your change control process and automate continuous auditing. Rest easy knowing configuration drift, unwanted changes, and inf ...