Web Development with MongoDB and NodeJS, 2nd EditionNode.js and MongoDB are quickly becoming one of the most popular tech stacks for the web. Powered by Google's V8 engine, Node.js caters to easily building fast, scalable network applications while MongoDB is the perfect fit as a scalable, high-performance, open source NoSQL database solution. Using these two technologies together, web applications can be built quickly and easily and deployed to the cloud with very little difficulty.
The book will begin by introducing you to the groundwork needed to set up the development environment. Here, you will quickly run through the steps necessary to get the main application server up and running. Then you will see how to use Node.js to connect to a MongoDB database and perform data manipulations.
From here on, the book will take you through integration with third-party tools for interaction with web apps. It then moves on to show you how to use controllers and view models to generate reusable code that will reduce development time. Toward ...
WhyCan drinking coffee help people live longer? What makes a stock's price go up? Why did you get the flu? Causal questions like these arise on a regular basis, but most people likely have not thought deeply about how to answer them.
This book helps you think about causality in a structured way: What is a cause, what are causes good for, and what is compelling evidence of causality? Author Samantha Kleinberg shows you how to develop a set of tools for thinking more critically about causes. You'll learn how to question claims, identify causes, make decisions based on causal information, and verify causes through further tests.
Whether it's figuring out what data you need, or understanding that the way you collect and prepare data affects the conclusions you can draw from it, Why will help you sharpen your causal inference skills. ...
Windows Malware Analysis EssentialsWindows OS is the most used operating system in the world and hence is targeted by malware writers. There are strong ramifications if things go awry. Things will go wrong if they can, and hence we see a salvo of attacks that have continued to disrupt the normal scheme of things in our day to day lives. This book will guide you on how to use essential tools such as debuggers, disassemblers, and sandboxes to dissect malware samples. It will expose your innards and then build a report of their indicators of compromise along with detection rule sets that will enable you to help contain the outbreak when faced with such a situation.
We will start with the basics of computing fundamentals such as number systems and Boolean algebra. Further, you'll learn about x86 assembly programming and its integration with high level languages such as C++.You'll understand how to decipher disassembly code obtained from the compiled source code and map it back to its original design goals. ...
XSLT JumpstarterFinally, a ground-up, quick-start approach to XSLT that teaches not just the language, but XML processing solutions. XSLT Jumpstarter approaches the subject like no other book, using examples that ease you through the basic concepts while demonstrating how to solve common problems. It doesn't unload language elements on you, it shows how to create HTML output, rearrange and modify XML nodes, manipulate text, conditionalize processing, make global changes, perform grouping and sorting, and implement strategies for re-using templates and stylesheets. XSLT Jumpstarter offers a hands-on, jump-in-the-water approach that will launch you over the XSLT learning curve! ...
Advanced Backend OptimizationThis book is a summary of more than a decade of research in the area of backend optimization. It contains the latest fundamental research results in this field. While existing books are often more oriented toward Masters students, this book is aimed more towards professors and researchers as it contains more advanced subjects.
It is unique in the sense that it contains information that has not previously been covered by other books in the field, with chapters on phase ordering in optimizing compilation; register saturation in instruction level parallelism; code size reduction for software pipelining; memory hierarchy effects and instruction level parallelism.
Other chapters provide the latest research results in well-known topics such as register need, and software pipelining and periodic register allocation. ...
Algorithms: Part I, 4th EditionThis 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. ...
Algorithms: Part II, 4th EditionThis 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. ...
Android FragmentsAndroid Fragments is a 100-page quick start accelerated guide to learning and quickly using Android fragments. You'll learn how to code for fragments; deal with config changes; code for regular vs. fragmented dialogs; work with preferences and saving state; work with the compatibility library; and handle advanced async tasks and progress dialogs.
After reading and using this book, which is based on material from the best-selling Pro Android, you'll be an Android UI savant. At the very least, your apps' user interfaces and event handling will be more competitive and better performing, especially for tablet-optimized UIs and events. ...
Application Development in iOS 7Unleash the new features of iOS 7 within the latest Xcode development environment. One of the most important pieces of any SDK is the Integrated Development Environment (IDE), which is why we will start by learning all the new features of Xcode 5. Moreover, we will get to know what's new in Foundation Framework, one of the building blocks of iOS development. We then move on to exploring the new and improved Auto Layout, a feature that was previously plagued by quite a few issues and shunned by many developers. Next, we will start building our application from scratch while applying our new knowledge of the IDE. Also, we will make use of the newly introduced TextKit to make our text more dynamic in nature. Finally, we will utilize the UI Kit Dynamics to give our application some flair. ...
Beginning Application Lifecycle ManagementBeginning Application Lifecycle Management is a guide to an area of rapidly growing interest within the development community: managing the entire cycle of building software. ALM is an area that spans everything from requirements specifications to retirement of an IT-system or application. Because its techniques allow you to deal with the process of developing applications across many areas of responsibility and across many different disciplines, the benefits and effects of ALM techniques used on your project can be wide-ranging and pronounced.
In this book, author Joachim Rossberg will show you what ALM is and why it matters. He will also show you how you can assess your current situation and how you can use this assessment to create the road ahead for improving or implementing your own ALM process across all of your team's development efforts. ...