![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming > Software engineering
Does your Rails code suffer from bloat, brittleness, or inaccuracy? Cure these problems with the regular application of test-driven development. You'll use Rails 5.1, Minitest 5, and RSpec 3.6, as well as popular testing libraries such as factory_girl and Cucumber. Updates include Rails 5.1 system tests and Webpack integration. Do what the doctor ordered to make your applications feel all better. Side effects may include better code, fewer bugs, and happier developers. Your Ruby on Rails application is sick. Deadlines are looming, but every time you make the slightest change to the code, something else breaks. Nobody remembers what that tricky piece of code was supposed to do, and nobody can tell what it actually does. Plus, it has bugs. You need test-driven development: a process for improving the design, maintainability, and long-term viability of software. With both practical code examples and discussion of why testing works, this book starts with the most basic features delivered as part of core Ruby on Rails. Once you've integrated those features into your coding practice, work with popular third-party testing tools such as RSpec, Jasmine, Cucumber, and factory_girl. Test the component parts of a Rails application, including the back-end model logic and the front-end display logic. With Rails examples, use testing to enable your code to respond better to future change. Plus, see how to handle real-world testing situations. This new edition has been updated to Rails 5.1 and RSpec 3.6 and contains full coverage of new Rails features, including system tests and the Webpack-based JavaScript setup. What You Need: Ruby 2.4, Rails 5.1
The use of Python as a powerful computational tool is expanding with great strides. Python is a language which is easy to use, and the libraries of tools provides it with efficient versatility. As the tools continue to expand, users can create insightful models and simulations. While the tools offer an easy method to create a pipeline, such constructions are not guaranteed to provide correct results. A lot of things can go wrong when building a simulation - deviously so. Users need to understand more than just how to build a process pipeline. Modeling and Simulation in Python introduces fundamental computational modeling techniques that are used in a variety of science and engineering disciplines. It emphasizes algorithmic thinking skills using different computational environments, and includes a number of interesting examples, including Shakespeare, movie databases, virus spread, and Chess. Key Features: Several theories and applications are provided, each with working Python scripts. All Python functions written for this book are archived on GitHub. Readers do not have to be Python experts, but a working knowledge of the language is required. Students who want to know more about the foundations of modeling and simulation will find this an educational and foundational resource.
Security for Software Engineers is designed to introduce security concepts to undergraduate software engineering students. The book is divided into four units, each targeting activities that a software engineer will likely be involved in within industry.
Here, the authors propose a method for the formal development of parallel programs - or multiprograms as they prefer to call them. They accomplish this with a minimum of formal gear, i.e. with the predicate calculus and the well- established theory of Owicki and Gries. They show that the Owicki/Gries theory can be effectively put to work for the formal development of multiprograms, regardless of whether these algorithms are distributed or not.
Validation of computer systems is the process that assures the formal assessment and report of quality and performance measures for all the life-cycle stages of software and system development, its implementation, qualification and acceptance, operation, modification, requalification, maintenance and retirement (PICS CSV PI 011-3). It is a process that demonstrates the compliance of computer systems functional and non-functional requirements, data integrity, regulated company procedures and safety requirements, industry standards, and applicable regulatory authority's requirements. Compliance is a state of being in adherence to application-related standards or conventions or regulations in laws and similar prescriptions. This book, which is relevant to the pharmaceutical and medical devices regulated operations, provides practical information to assist in the computer validation to production systems, while highlighting and efficiently integrating worldwide regulation into the subject. A practical approach is presented to increase efficiency and to ensure that the validation of computer systems is correctly achieved.
Good software design is simple and easy to understand. Unfortunately, the average computer program today is so complex that no one could possibly comprehend how all the code works. This concise guide helps you understand the fundamentals of good design through scientific laws--principles you can apply to any programming language or project from here to eternity. Whether you're a junior programmer, senior software engineer, or non-technical manager, you'll learn how to create a sound plan for your software project, and make better decisions about the pattern and structure of your system.Discover why good software design has become the missing scienceUnderstand the ultimate purpose of software and the goals of good designDetermine the value of your design now and in the futureExamine real-world examples that demonstrate how a system changes over timeCreate designs that allow for the most change in the environment with the least change in the softwareMake easier changes in the future by keeping your code simpler nowGain better knowledge of your software's behavior with more accurate tests
This new edition has been fully revised and updated to include extensive information on the ARM Cortex-M4 processor, providing a complete up-to-date guide to both Cortex-M3 and Cortex-M4 processors, and which enables migration from various processor architectures to the exciting world of the Cortex-M3 and M4. This book presents the background of the ARM architecture and outlines the features of the processors such as the instruction set, interrupt-handling and also demonstrates how to program and utilize the advanced features available such as the Memory Protection Unit (MPU). Chapters on getting started with IAR, Keil, gcc and CooCox CoIDE
tools help beginners develop program codes. Coverage also includes
the important areas of software development such as using the low
power features, handling information input/output, mixed language
projects with assembly and C, and other advanced topics. A new chapter on the Cortex-M4 floating point unit and how to use it A new chapter on using embedded OS (based on CMSIS-RTOS), as well as details of processor features to support OS operations Various debugging techniques as well as a troubleshooting guide in the appendix topics on software porting from other architectures A full range of easy-to-understand examples, diagrams and quick reference appendices "
Although the use of cloud computing platforms and applications
has expanded rapidly, most books on the subject focus on high-level
concepts. There has long been a need for a book that provides
detailed guidance on how to develop secure clouds.
Want to kill it at your job interview in the tech industry? Want to win that coding competition? Learn all the algorithmic techniques and programming skills you need from two experienced coaches, problem setters, and jurors for coding competitions. The authors highlight the versatility of each algorithm by considering a variety of problems and show how to implement algorithms in simple and efficient code. Readers can expect to master 128 algorithms in Python and discover the right way to tackle a problem and quickly implement a solution of low complexity. Classic problems like Dijkstra's shortest path algorithm and Knuth-Morris-Pratt's string matching algorithm are featured alongside lesser known data structures like Fenwick trees and Knuth's dancing links. The book provides a framework to tackle algorithmic problem solving, including: Definition, Complexity, Applications, Algorithm, Key Information, Implementation, Variants, In Practice, and Problems. Python code included in the book and on the companion website.
Address Errors before Users Find ThemUsing a mix-and-match approach, Software Test Attacks to Break Mobile and Embedded Devices presents an attack basis for testing mobile and embedded systems. Designed for testers working in the ever-expanding world of "smart" devices driven by software, the book focuses on attack-based testing that can be used by individuals and teams. The numerous test attacks show you when a software product does not work (i.e., has bugs) and provide you with information about the software product under test. The book guides you step by step starting with the basics. It explains patterns and techniques ranging from simple mind mapping to sophisticated test labs. For traditional testers moving into the mobile and embedded area, the book bridges the gap between IT and mobile/embedded system testing. It illustrates how to apply both traditional and new approaches. For those working with mobile/embedded systems without an extensive background in testing, the book brings together testing ideas, techniques, and solutions that are immediately applicable to testing smart and mobile devices.
With the rapid growth of technology in society, communication networks have become a heavily researched topic. Implementing these advanced systems is a challenge, however, due to the abundance of optimization problems within these networks. The use of meta-heuristic algorithms and nature-inspired computing has become a prevalent technique among researchers for solving these complex problems within communication networks. Despite its popularity, this specific computing technique lacks the appropriate amount of research that is needed for professionals to grasp a definite understanding. Nature-Inspired Computing Applications in Advanced Communication Networks is a collection of innovative research on the methods and applications of natural computation techniques and algorithms within communication systems such as wireless sensor networks, vehicular adhoc networks, and internet of things. While highlighting topics including mobile sensor deployment, routing optimization, and sleep scheduling, this book is ideally designed for researchers, network professionals, computer scientists, mathematicians, developers, scholars, educators, and students seeking to enhance their understanding of nature-inspired computing and its solutions within various advanced communication networks.
Computer systems have become an important element of the world economy, with billions of dollars spent each year on development, manufacture, operation, and maintenance. Combining coverage of computer system reliability, safety, usability, and other related topics into a single volume, Computer System Reliability: Safety and Usability eliminates the need to consult many different and diverse sources in the hunt for the information required to design better computer systems. After presenting introductory aspects of computer system reliability such as safety, usability-related facts and figures, terms and definitions, and sources for obtaining useful information on computer system reliability, safety, and usability, the book: Reviews mathematical concepts considered useful to understanding subsequent chapters Presents various introductory aspects of reliability, safety, and usability and computer system reliability basics Covers software reliability assessment and improvement methods Discusses important aspects of software quality and human error and software bugs in computer systems Highlights software safety and Internet reliability Details important aspects of software usability including the need for considering usability during the software development phase, software usability engineering process, software usability inspection methods, software usability test methods, and guidelines for conducting software usability testing Elucidates web usability facts and figures, common design errors, web page design, tools for evaluating web usability, and questions to evaluate website message communication effectiveness Examines important aspects of computer system life cycle costing Written by systems reliability expert B.S. Dhillon, the book is accessible to all levels of readership, making it useful to beginners and seasoned professiona
The C programming language is a popular language in industries as well as academics. Since its invention and standardized as ANSI C, several other standards known as C99, C11, and C17 were published with new features in subsequent years. This book covers all the traits of ANSI C and includes new features present in other standards. The content of this book helps a beginner to learn the fundamental concept of the C language. The book contains a step-by-step explanation of every program that allows a learner to understand the syntax and builds a foundation to write similar programs. The explanation clarity, exercises, and illustrations present in this book make it a complete textbook in all aspects. Features: Other than ANSI C, the book explains the new C standards like C99, C11, and C17. Most basic and easy-to-follow programs are chosen to explain the concepts and their syntax. More emphasis is given to the topics like Functions, Pointers, and Structures. Recursion is emphasized with numerous programming examples and diagrams. A separate chapter on the command-line argument and preprocessors is included that concisely explains their usage. Several real-life figures are taken to explain the concepts of dynamic memory allocation, file handling, and the difference between structure and union. The book contains more than 260 illustrations, more than 200 programs, and exercises at the end of each chapter. This book serves as a textbook for UG/PG courses in science and engineering. The researcher, postgraduate engineers, and embedded software developers can also keep this book as reference material for their fundamental learning.
Survival analysis uses statistics to calculate time to failure. Survival Analysis with Python takes a fresh look at this complex subject by explaining how to use the Python programming language to perform this type of analysis. As the subject itself is very mathematical and full of expressions and formulations, the book provides detailed explanations and examines practical implications. The book begins with an overview of the concepts underpinning statistical survival analysis. It then delves into Parametric models with coverage of Concept of maximum likelihood estimate (MLE) of a probability distribution parameter MLE of the survival function Common probability distributions and their analysis Analysis of exponential distribution as a survival function Analysis of Weibull distribution as a survival function Derivation of Gumbel distribution as a survival function from Weibull Non-parametric models including Kaplan-Meier (KM) estimator, a derivation of expression using MLE Fitting KM estimator with an example dataset, Python code and plotting curves Greenwood's formula and its derivation Models with covariates explaining The concept of time shift and the accelerated failure time (AFT) model Weibull-AFT model and derivation of parameters by MLE Proportional Hazard (PH) model Cox-PH model and Breslow's method Significance of covariates Selection of covariates The Python lifelines library is used for coding examples. By mapping theory to practical examples featuring datasets, this book is a hands-on tutorial as well as a handy reference.
Figure 1.1. An outdoor scene "A bus is passing three cars which are parking between trees at the side of the road. Houses having two storeys are lined up at the street. 3 4 Introduction Figure 1.2. An assembly scene There seems to be a small open place between the group of houses in the foreground and the store in the background." In such or a similar way the content of the natural scene shown above can be described. It is quite easy to give such a short description. The problem is somewhat more complex for the second image. First of all, it can be stated that the image does not show an everyday scene. It appears as a kind of man made surrounding. But everyone can accept the following statements about this image: 1. The image shows a snapshot of an assembly line. 2. The robot in front is screwing. 3. There is no person in the working area of the robots. 4. All objects on the conveyor belt are worked on by robots. There are no free objects on the belt.
IT projects emerge from a business need. In practice, software developers must accomplish two big things before an IT project can begin: find out what you need to do (i.e., analyse business requirements) and plan out how to do it (i.e., project management). The biggest problem in IT projects is delivering the wrong product because IT people do not understand what business people require. This practical textbook teaches computer science students how to manage and deliver IT projects by linking business and IT requirements with project management in an incremental and straightforward approach. Business Analysis, Requirements, and Project Management: A Guide for Computing Students presents an approach to analysis management that scales the business perspective. It takes a business process view of a business proposal as a model and explains how to structure a technical problem into a recognisable pattern with problem frames. It shows how to identify core transactions and model them as use cases to create a requirements table useful to designers and coders. Linked to the analysis are three management tools: the product breakdown structure (PBS), the Gantt chart, and the Kanban board. The PBS is derived in part from the problem frame. The Gantt chart emerges from the PBS and ensures the key requirements are addressed by reference to use cases. The Kanban board is especially useful in Task Driven Development, which the text covers. This textbook consists of two interleaving parts and features a single case study. Part one addresses the business and requirements perspective. The second integrates core project management approaches and explains how both requirements and management are connected. The remainder of the book is appendices, the first of which provides solutions to the exercises presented in each chapter. The second appendix puts together much of the documentation for the case study into one place. The case study presents a real-word business scenario to expose students to professional practice.
What will you learn from this book? Many people who use Git rely on "recipes"--copying and pasting commands they find on the internet without really understanding how Git actually works. But what do you do if you find yourself in a tight spot? You can't simply wing it. With this unique hands-on guide, you'll learn the ways of Git and have fun while doing it. Raju Gandhi peels back the layers to reveal the simple yet powerful engine that powers Git, so you'll understand not just the how but the why. You'll master branches, merges, commit messages, search, utilities, and more; learn best practices for collaborative work; and unlock the full potential of Git. What's so special about this book? If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. If you haven't, you're in for a treat. With this book, you'll learn Git through a multisensory experience that engages your mind rather than a text-heavy approach that puts you to sleep.
Need to learn how to wrap your head around Git, but don't need a lot of hand holding? Grab this book if you're new to Git, not to the world of programming. Git tasks displayed on two-page spreads provide all the context you need, without the extra fluff.Get up to speed on Git right now with "Pragmatic Guide to Git." Task-oriented two-page spreads get you up and running with minimal fuss. Each left-hand page dives into the underlying implementation for each task. The right-hand page contains commands that focus on the task at hand, and cross references to other tasks that are related. You'll find what you need fast.Git is rapidly becoming the de-facto standard for the open source community. Its excellent merging capabilities, coupled with its speed and relative ease of use, make it an indispensable tool for any developer. New Git users will learn the basic tasks needed to work with Git every day, including working with remote repositories, dealing with branches and tags, exploring the history, and fixing problems when things go wrong. If you're already familiar with Git, this book will be your go-to reference for Git commands and best practices.You won't find a more practical approach to learning Git than "Pragmatic Guide to Git."
Master proven processes for improving development with Scrum and Azure DevOps This guide can help any development team plan, track, and manage work far more effectively, by combining today's leading agile framework (Scrum) and Microsoft's ALM/DevOps toolset (Azure DevOps). Renowned Scrum expert Richard Hundhausen thoroughly covers team formation, backlogs, Sprints, test plans, collaboration, flow, continuous improvement, Azure Boards, Azure Test Plans, and the real-world tradeoffs associated with DevOps. Throughout, you'll find practical, in-the-trenches tips from experienced Professional Scrum Developers. To make this guide even more valuable, Hundhausen has organized it to complement Scrum.org's popular Professional Scrum Developer (PSD) program, which he created with Scrum.org's Ken Schwaber, author of this book's Foreword. Professional Scrum Trainer Richard Hundhausen shows how to: Deepen your understanding of the Scrum framework and Professional Scrum as based on the 2020 Scrum Guide. Provide proven work item planning and tracking, and quickly drive value from Azure Boards Improve your Scrum "pre-game": the tasks you'll perform before your first Sprint Use Azure DevOps to create and manage backlogs, plan Sprints, and collaborate throughout them Improve at scale with Scaled Professional Scrum and the Nexus scaled Scrum framework Recognize which practices are still most efficiently performed without tools Define and optimize team flow, overcome common dysfunctions, and evolve into a high-performance Professional Scrum Team About This Book For everyone who works with or relies on Scrum, including developers, designers, architects, testers, business analysts, Product Owners, Scrum Masters, managers, and other stakeholders Focuses primarily on using Scrum for software products, but can support development of adaptive solutions for any complex problem performance Professional Scrum Team
Maintaining a practical perspective, Python Programming: A Practical Approach acquaints you with the wonderful world of programming. The book is a starting point for those who want to learn Python programming. The backbone of any programming, which is the data structure and components such as strings, lists, etc., have been illustrated with many examples and enough practice problems to instill a level of self-confidence in the reader. Drawing on knowledge gained directly from teaching Computer Science as a subject and working on a wide range of projects related to ML, AI, deep learning, and blockchain, the authors have tried their best to present the necessary skills for a Python programmer. Once the foundation of Python programming is built and the readers are aware of the exact structure, dimensions, processing, building blocks, and representation of data, they can readily take up their specific problems from the area of interest and solve them with the help of Python. These include, but are not limited to, operators, control flow, strings, functions, module processing, object-oriented programming, exception and file handling, multithreading, synchronization, regular expressions, and Python database programming. This book on Python programming is specially designed to keep readers busy with learning fundamentals and generates a sense of confidence by attempting the assignment problems. We firmly believe that explaining any particular technology deviates from learning the fundamentals of a programming language. This book is focused on helping readers attempt implementation in their areas of interest through the skills imparted through this book. We have attempted to present the real essence of Python programming, which you can confidently apply in real life by using Python as a tool. Salient Features Based on real-world requirements and solution. Simple presentation without avoiding necessary details of the topic. Executable programs on almost every topic. Plenty of exercise questions, designed to test readers' skills and understanding. Purposefully designed to be instantly applicable, Python Programming: A Practical Approach provides implementation examples so that the described subject matter can be immediately implemented due to the well-known versatility of Python in handling different data types with ease.
Learn the essentials of working with Flutter and Dart to build full stack applications that meet the needs of a cloud-driven world. Together, the Flutter open source UI software development kit and the Dart programming language for client development provide a unified solution to building applications capable of targeting multiple platforms. Recipes in this cookbook show you how this potent combination provides an efficient approach to application development. Typically used in frontend development, Flutter helps you develop cross-platform applications for Android, iOS, Linux, Mac, Windows, and the Google Fuchsia operating system. The Dart SDK provides native access to third-party solutions, including APIs, databases, and authentication. When used in concert with Flutter, Dart allows you to compile source code ahead of time to native code. This cookbook shows you how to: Write effective Dart code by using variables and data structures Build applications with Flutter by exploring widgets and data handling Understand cloud provider solutions and learn how to integrate them with Flutter Manage data through APIs using Google Cloud Serverless Work with Firebase solutions such as Authentication and the Cloud Firestore database Build web applications that also work with mobile and desktop platforms
This book covers C-Programming focussing on its practical side. Volume 2 deals mainly with composite data structures and their composition. An extensive use of figures and examples help to give a clear description of concepts and help the reader to gain a systematic understanding of the programming language.
Covers IoT-cloud convergence with a focus on complex industrial IoT case studies Discusses the broad background of IoT-cloud convergence architectures and their fundamentals along with resource provisioning mechanisms Emphasizes the use of context in developing context aware IoT solutions Presents a novel C-model that explains the IoT application development phases Discusses a simplified convergence model that depicts the role of cloud in an IoT application
This volume contains selected tutorial and young scientist school papers of the 5th RAAI Summer School on Artificial Intelligence, held in July 2019 at Institute of Physics and Technology (MIPT) campus in Dolgoprudny, a suburb of Moscow, Russia. The 11 chapters in this volume present papers focusing on various important aspects of Multiagent systems; Behavior planning; Natural language processing; Modeling of reasoning; and Machine learning and data analysis. |
You may like...
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R3,940
Discovery Miles 39 400
Research Anthology on Architectures…
Information R Management Association
Hardcover
R12,630
Discovery Miles 126 300
Hardware Accelerator Systems for…
Shiho Kim, Ganesh Chandra Deka
Hardcover
R3,950
Discovery Miles 39 500
Essential Java for Scientists and…
Brian Hahn, Katherine Malan
Paperback
R1,266
Discovery Miles 12 660
Principles of Big Graph: In-depth…
Ripon Patgiri, Ganesh Chandra Deka, …
Hardcover
R3,925
Discovery Miles 39 250
Research Anthology on Architectures…
Information R Management Association
Hardcover
R12,639
Discovery Miles 126 390
|