Build Your Own IoT Platform
Discover how every solution in some way related to the IoT needs a platform and how to create that platform. This book is about being agile and reducing time to market without breaking the bank. It is about designing something that you can scale incrementally without having to do a lot of rework and potentially disrupting your current state of the work.
So the key questions are: what does it take, how long does it take, and how much does it take to build your own IoT platform? Build Your Own IoT Platform answers these questions and provides you with step-by-step guidance on how to build your own IoT platform. The author bursts the bubble of IoT platforms and highlights what the core of an IoT platform looks like. There are must-haves and there are nice-to-haves; this book will distinguish the two and focus on how to build the must-haves.
Building your own IoT platform is not only the biggest cost saver, but also can be a satisfying learning experience, giving you control over you ...
Building Large-Scale Web Applications with Angular
You will begin by creating a simple fitness app, using the building blocks of Angular, and make your final app, Personal Trainer, by morphing the workout app into a full-fledged personal workout builder and runner with an advanced directive building - the most fundamental and powerful feature of Angular.
You will learn the different ways of architecting Angular applications using RxJS, and some of the patterns that are involved in it. Later you'll be introduced to the router-first architecture, a seven-step approach to designing and developing mid-to-large line-of-business apps, along with popular recipes. By the end of this book, you will be familiar wit ...
Modern C++: Efficient and Scalable Application Development
C++ is one of the most widely used programming languages. It is fast, flexible, and used to solve many programming problems.
This Learning Path gives you an in-depth and hands-on experience of working with C++, using the latest recipes and understanding most recent developments. You will explore C++ programming constructs by learning about language structures, functions, and classes, which will help you identify the execution flow through code. You will also understand the importance of the C++ standard library as well as memory allocation for writing better and faster programs.
Modern C++: Efficient and Scalable Application Development deals with the challenges faced with advanced C++ programming. You will work through advanced topics such as multithreading, networking, concurrency, lambda expressions, and many more recipes. ...
Hands-On Software Architecture with Golang
Building software requires careful planning and architectural considerations; Golang was developed with a fresh perspective on building next-generation applications on the cloud with distributed and concurrent computing concerns.
Hands-On Software Architecture with Golang starts with a brief introduction to architectural elements, Go, and a case study to demonstrate architectural principles. You'll then move on to look at code-level aspects such as modularity, class design, and constructs specific to Golang and implementation of design patterns. As you make your way through the chapters, you'll explore the core objectives of architecture such as effectively managing complexity, scalability, and reliability of software systems. You'll also work through creating distributed systems and their communication before moving on to modeling and scaling of data. In the concluding chapters, you'll learn to deploy architectures and plan the migration of applications from other languages.
Server Side development with Node.js and Koa.js Quick Start Guide
By the end of this book, you will be building robust web applications in Koa using modern development paradigms and techniques of Node.js development. ...
Sharpen your Python skills as you dive deep into the Python programming language with Serious Python. You'll cover a range of advanced topics like multithreading and memorization, get advice from experts on things like designing APIs and dealing with databases, and learn Python internals to help you gain a deeper understanding of the language itself. Written for developers and experienced programmers, Serious Python brings together over 15 years of Python experience to teach you how to avoid common mistakes, write code more efficiently, and build better programs in less time.
As you make your way through the book's extensive tutorials, you'll learn how to start a project and tackle topics like versioning, layouts, coding style, and automated checks. You'll learn how to package your software for distribution, optimize performance, use the right data structures, define functions efficiently, pick the right libraries, build future-proof programs, and optimize your programs down to the ...
Practical Apache Spark
Work with Apache Spark using Scala to deploy and set up single-node, multi-node, and high-availability clusters. This book discusses various components of Spark such as Spark Core, DataFrames, Datasets and SQL, Spark Streaming, Spark MLib, and R on Spark with the help of practical code snippets for each topic. Practical Apache Spark also covers the integration of Apache Spark with Kafka with examples. You'll follow a learn-to-do-by-yourself approach to learning - learn the concepts, practice the code snippets in Scala and complete the assignments given to get an overall exposure.
On completion, you'll have knowledge of the functional programming aspects of Scala and hands-on expertise in various Spark components. You'll also become familiar with machine learning algorithms with real-time usage.
Discover the functional programming features of Scala; Understand the complete architecture of Spark and its components; Integrate Apache Spark with Hive and Kafka; U ...
Practical Node.js, 2nd Edition
Learn how to build a wide range of scalable real-world web applications using a professional development toolkit. If you already know the basics of Node.js, now is the time to discover how to bring it to production level by leveraging its vast ecosystem of packages.With this book, you'll work with a varied collection of standards and frameworks and see how all those pieces fit together.
Practical Node.js takes you from installing all the necessary modules to writing full-stack web applications. You'll harness the power of the Express.js and Hapi frameworks, the MongoDB database with Mongoskin and Mongoose. You'll also work with Pug and Handlebars template engines, Stylus and LESS CSS lanaguages, OAuth and Everyauth libraries, and the Socket.IO and Derby libraries, and everything in between.
This exciting second edition is fully updated for ES6/ES2015 and also covers how to deploy to Heroku and AWS, daemonize apps, and write REST APIs. You'll build full-stack real-world Node.js a ...
Practical Web Development with Haskell
Learn how to advance your skill level of Haskell, and use this language for practical web development. This book uses a direct, no nonsense approach, so you no longer need to spend extra time reading the documentation, blog posts, and forums to understand how to use Haskell - all that knowledge is provided in one coherent resource.
You'll start by reviewing how multiple facets of web development are done in Haskell, such as routing, building HTMLs, interacting with databases, caches, and queues, etc. You'll then move on to using notable libraries, such as "scotty" for routings, "digestive-functor" for input validation, and "postgresql-simple" for interacting with databases.
In the later chapters, you'll learn how all of these libraries can be used together by working on a fully functioning project deployed on Heroku.
Set up a productive Haskell development environment; Review basic tasks that are encountered when building web applications; Explore how to interact with externa ...
Pro .NET Memory Management
Understand .NET memory management internal workings, pitfalls, and techniques in order to effectively avoid a wide range of performance and scalability problems in your software. Despite automatic memory management in .NET, there are many advantages to be found in understanding how .NET memory works and how you can best write software that interacts with it efficiently and effectively. Pro .NET Memory Management is your comprehensive guide to writing better software by understanding and working with memory management in .NET.
Thoroughly vetted by the .NET Team at Microsoft, this book contains 25 valuable troubleshooting scenarios designed to help diagnose challenging memory problems. Readers will also benefit from a multitude of .NET memory management "rules" to live by that introduce methods for writing memory-aware code and the means for avoiding common, destructive pitfalls.
Understand the theoretical underpinnings of automatic memory management; Take a deep dive into every as ...
Mastering Apache Cassandra 3.x, 3rd Edition
With ever-increasing rates of data creation, the demand for storing data fast and reliably becomes a need. Apache Cassandra is the perfect choice for building fault-tolerant and scalable databases. Mastering Apache Cassandra 3.x teaches you how to build and architect your clusters, configure and work with your nodes, and program in a high-throughput environment, helping you understand the power of Cassandra as per the new features.
Once you've covered a brief recap of the basics, you'll move on to deploying and monitoring a production setup and optimizing and integrating it with other software. You'll work with the advanced features of CQL and the new storage engine in order to understand how they function on the server-side. You'll explore the integration and interaction of Cassandra components, followed by discovering features such as token allocation algorithm, CQL3, vnodes, lightweight transactions, and data modelling in detail. Last but not least you will get to grips with Apac ...