Mastering High Performance with KotlinThe ease with which we write applications has been increasing, but with it comes the need to address their performance. A balancing act between easily implementing complex applications and keeping their performance optimal is a present-day requirement In this book, we explore how to achieve this crucial balance, while developing and deploying applications with Kotlin.
The book starts by analyzing various Kotlin specifcations to identify those that have a potentially adverse effect on performance. Then, we move on to monitor techniques that enable us to identify performance bottlenecks and optimize performance metrics. Next, we look at techniques that help to us achieve high performance: memory optimization, concurrency, multi threading, scaling, and caching. We also look at fault tolerance solutions and the importance of logging. We'll also cover best practices of Kotlin programming that will help you to improve the quality of your code base.
By the end of the book, you will have ...
Hands-On Blockchain with HyperledgerBBlockchain and Hyperledger technologiesare hot topics today. Hyperledger Fabric and Hyperledger Composer are open source projects that help organizations create private, permissioned blockchain networks. These find application in finance, banking, supply chain, and IoT among several other sectors. This book will be an easy reference to explore and build blockchain networks using Hyperledger technologies.
The book starts by outlining the evolution of blockchain, including an overview of relevant blockchain technologies. You will learn how to configure Hyperledger Fabric and become familiar with its architectural components. Using these components, you will learn to build private blockchain networks, along with the applications that connect to them. Starting from principles first, you'll learn to design and launch a network, implement smart contracts in chaincode and much more.
By the end of this book, you will be able to build and deploy your own decentralized applications, handl ...
Python GraphicsUse Python's built-in features to create innovative graphics for data visualization and technical illustrations. This book goes beyond simple commands and libraries to explain how to not only display but also rotate, shade, and edit graphics for any purpose.
Starting with the essential Python functions to set up a plotting space and produce 2 and 3-dimensional objects, you'll learn how to construct more complex objects, translate and rotate them, remove hidden lines, introduce shading to add realism, and project images to visualize any dataset. The final chapter includes several worked applications in science and engineering including planetary models, which you can adapt for your own use.
Written for developers who want to harness Python's capabilities to fine-tune their images, Python Graphics covers the different commands for plotting dots, lines, arrows, or arcs, creating custom plotting grids, correcting distortions, adding text and labels to illustrations, manipulating arcs ...
Defending IoT Infrastructures with the Raspberry PiApply a methodology and practical solutions for monitoring the behavior of the Internet of Things (IoT), industrial control systems (ICS), and other critical network devices with the inexpensive Raspberry Pi. With this book, you will master passive monitoring and detection of aberrant behavior, and learn how to generate early indications and warning of attacks targeting IoT, ICS, and other critical network resources.
Defending IoT Infrastructures with the Raspberry Pi provides techniques and scripts for the discovery of dangerous data leakage events emanating from IoT devices. Using Raspbian Linux and specialized Python scripts, the book walks through the steps necessary to monitor, detect, and respond to attacks targeting IoT devices.
There are several books that cover IoT, IoT security, Raspberry Pi, and Python separately, but this book is the first of its kind to put them all together. It takes a practical approach, providing an entry point and level playing field for a wide ...
Modern Data Access with Entity Framework CoreC# developers, here's your opportunity to learn the ins-and-outs of Entity Framework Core, Microsoft's recently redesigned object-relational mapper. Benefit from hands-on learning that will teach you how to tackle frustrating database challenges, such as workarounds to missing features in Entity Framework Core, and learn how to optimize the performance of your applications, head-on!
Modern Data Access with Entity Framework Core teaches best practices, guidance, and shortcuts that will significantly reduce the amount of resources you internally dedicate to programming data access code. The proven methods and tools taught in this book, such as how to get better performance, and the ability to select the platform of your choice, will save you valuable time and allow you to create seamless data access. Dive into succinct guidance that covers the gamut - from installing Entity Framework Core, reverse engineering, forward engineering (including schema migrations), and data reading and modif ...
Pro Machine Learning AlgorithmsBridge the gap between a high-level understanding of how an algorithm works and knowing the nuts and bolts to tune your models better. This book will give you the confidence and skills when developing all the major machine learning models. In Pro Machine Learning Algorithms, you will first develop the algorithm in Excel so that you get a practical understanding of all the levers that can be tuned in a model, before implementing the models in Python/R.
You will cover all the major algorithms: supervised and unsupervised learning, which include linear/logistic regression; k-means clustering; PCA; recommender system; decision tree; random forest; GBM; and neural networks. You will also be exposed to the latest in deep learning through CNNs, RNNs, and word2vec for text mining. You will be learning not only the algorithms, but also the concepts of feature engineering to maximize the performance of a model. You will see the theory along with case studies, such as sentiment classification, ...
Code with the Wisdom of the CrowdMob Programming is a natural extension of the popular Pair Programming concept and is not restricted to a specific programming language or technology. It can be used by anyone who develops software, including dev leads, software developers, and agile coaches. When you have more people working on a bug or feature, you get fewer dependencies on individuals and overall increased learning for everyone involved. With more eyes on the code, you'll find you develop better solutions with fewer defects.
Set up your team for success by introducing Mob Programming in a way that benefits them. Create a good first Mobbing experience for your team with a template that avoids the common traps beginners may fall into. Master a collaborative and empathic mindset to help optimize the Mobbing experience. Learn how to make adjustments when things go wrong. Adapt your mobbing to different types of development tasks. Get management buy-in for your Mobbing experiment by demonstrating the benefits. Discove ...
Qt5 Python GUI Programming CookbookPyQt is one of the best cross-platform interface toolkits currently available; it's stable, mature, and completely native. If you want control over all aspects of UI elements, PyQt is what you need. This book will guide you through every concept necessary to create fully functional GUI applications using PyQt, with only a few lines of code.
As you expand your GUI using more widgets, you will cover networks, databases, and graphical libraries that greatly enhance its functionality. Next, the book guides you in using Qt Designer to design user interfaces and implementing and testing dialogs, events, the clipboard, and drag and drop functionality to customize your GUI. You will learn a variety of topics, such as look and feel customization, GUI animation, graphics rendering, implementing Google Maps, and more. Lastly, the book takes you through how Qt5 can help you to create cross-platform apps that are compatible with Android and iOS. You will be able to develop functional and appeali ...
Learning Jupyter 5, 2nd EditionThe Jupyter Notebook allows you to create and share documents that contain live code, equations, visualizations, and explanatory text. The Jupyter Notebook system is extensively used in domains such as data cleaning and transformation, numerical simulation, statistical modeling, and machine learning. Learning Jupyter 5 will help you get to grips with interactive computing using real-world examples.
The book starts with a detailed overview of the Jupyter Notebook system and its installation in different environments. Next, you will learn to integrate the Jupyter system with different programming languages such as R, Python, Java, JavaScript, and Julia, and explore various versions and packages that are compatible with the Notebook system. Moving ahead, you will master interactive widgets and namespaces and work with Jupyter in a multi-user mode.
By the end of this book, you will have used Jupyter with a big dataset and be able to apply all the functionalities you've explored throu ...
Clean Code in PythonPython is currently used in many different areas such as software construction, systems administration, and data processing.
In all of these areas, experienced professionals can find examples of inefficiency, problems, and other perils, as a result of bad code. After reading this book, readers will understand these problems, and more importantly, how to correct them.
The book begins by describing the basic elements of writing clean code and how it plays an important role in Python programming. You will learn about writing efficient and readable code using the Python standard library and best practices for software design. You will learn to implement the SOLID principles in Python and use decorators to improve your code. The book delves more deeply into object oriented programming in Python and shows you how to use objects with descriptors and generators. It will also show you the design principles of software testing and how to resolve software problems by implementing design pat ...