![]() |
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
Enterprise developers face several challenges when it comes to building serverless applications, such as integrating applications and building container images from source. With more than 60 practical recipes, this cookbook helps you solve these issues with Knative--the first serverless platform natively designed for Kubernetes. Each recipe contains detailed examples and exercises, along with a discussion of how and why it works. If you have a good understanding of serverless computing and Kubernetes core resources such as deployment, services, routes, and replicas, the recipes in this cookbook show you how to apply Knative in real enterprise application development. Authors Kamesh Sampath and Burr Sutter include chapters on autoscaling, build and eventing, observability, Knative on OpenShift, and more. With this cookbook, you'll learn how to: Efficiently build, deploy, and manage modern serverless workloads Apply Knative in real enterprise scenarios, including advanced eventing Monitor your Knative serverless applications effectively Integrate Knative with CI/CD principles, such as using pipelines for faster, more successful production deployments Deploy a rich ecosystem of enterprise integration patterns and connectors in Apache Camel K as Kubernetes and Knative components
Spring is a massive ecosystem and a must-learn tool for Java developers. Spring Start Here introduces you to Java development with Spring by concentrating on the core concepts you'll use in every application you build. You'll learn how to refactor an existing application to Spring, how to use Spring tools to make SQL database requests and REST calls, and how to secure your projects with Spring Security. Spring Start Here teaches you how to build professional-quality applications using Spring and Spring Boot. You'll start with the core components of the framework and then learn how features like Spring Boot simplify the tedious repetitive tasks you face in every project. When you're done, you'll be able to create Spring apps, secure them with authentication and authorization, and move on to the next exciting steps of your Spring journey. Spring Framework is packed with features to make your applications fast, maintainable, robust and secure. This extensive ecosystem of tools for cloud computing, microservices, and more have made it the de facto choice for building enterprise Java applications.
Effective Software Testing is a hands-on guide to creating high quality tests, from your first line of code through pre-delivery checks. It's full of techniques drawn from proven research in software engineering. You'll learn to efficiently engineer tests specifically for your software and end reliance on generic testing practices that may be right for every project. Each chapter puts a new technique into practice with source code samples, real-world tradeoffs, and answers to the common questions developers pose about testing. You'll learn how to scrutinize your requirements for potential tests, generate tests from your code structure, and engineer rigorous suites of unit, integration, and system tests. Go beyond unit tests! Great software testing makes the entire development process more efficient, from understanding your code before you write it to catching bugs in tricky corner cases.Effective Software Testing teaches you a systematic approach to software testing. You'll master easy-to-apply techniques to create strong test suites that are specifically engineered for your code. Following real-world use cases and detailed code samples, you'll soon be engineering tests that find the bugs hiding in edge cases and the parts of code you would never think of testing! Along the way, you'll develop an intuition for testing that can save years of learning by trial and error.
The World Wide Web has a massive and permanent influence on our lives. Economy, industry, education, healthcare, public administration, entertainment - there is hardly any part of our daily lives which has not been pervaded by the Internet. Accordingly, modern Web applications are fully-fledged, complex software systems, and in order to be successful their development must be thorough and systematic. Web Engineering is the application of quantifiable approaches to the cost-effective requirements analysis, design, implementation, testing, operation and maintenance of high quality Web applications. Web Engineers face the same traditional concerns as Software Engineers: the risks of failure to meet business needs, project schedule delays, budget overruns and poor quality of deliverables. But in the Web environment new and complicated issues demand attention, too. Web Engineering addresses the problems associated with shorter lead times which require rapid prototyping and agile methods, the interactivity and visual nature of the medium which make HCI aspects highly significant, and multimedia features of Web applications. This well-organized guide takes a rigorous interdisciplinary approach to Web Engineering, covering Web development concepts, methods, tools and techniques, and is ideal for undergraduate and graduate students on Web-focused or Software Engineering courses, as well as Web software developers, Web designers and project managers.
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.
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.
A revolutionary concept-based approach to thinking about, designing, and interacting with software As our dependence on technology increases, the design of software matters more than ever before. Why then is so much software flawed? Why hasn't there been a systematic and scalable way to create software that is easy to use, robust, and secure? Examining these issues in depth, The Essence of Software introduces a theory of software design that gives new answers to old questions. Daniel Jackson explains that a software system should be viewed as a collection of interacting concepts, breaking the functionality into manageable parts and providing a new framework for thinking about design. Through this radical and original perspective, Jackson lays out a practical and coherent path, accessible to anyone-from strategist and marketer to UX designer, architect, or programmer-for making software that is empowering, dependable, and a delight to use. Jackson explores every aspect of concepts-what they are and aren't, how to identify them, how to define them, and more-and offers prescriptive principles and practical tips that can be applied cost-effectively in a wide range of domains. He applies these ideas to contemporary software designs, drawing examples from leading software manufacturers such as Adobe, Apple, Dropbox, Facebook, Google, Microsoft, Twitter, and others. Jackson shows how concepts let designers preserve and reuse design knowledge, rather than starting from scratch in every project. An argument against the status quo and a guide to improvement for both working designers and novices to the field, The Essence of Software brings a fresh approach to software and its creation.
Solid requirements engineering has increasingly been recognized as the key to improved, on-time, and on-budget delivery of software and systems projects. New software tools are emerging that are empowering practicing engineers to improve their requirements engineering habits. However, these tools are not usually easy to use without significant training. Requirements Engineering for Software and Systems, Fourth Edition is intended to provide a comprehensive treatment of the theoretical and practical aspects of discovering, analyzing, modeling, validating, testing, and writing requirements for systems of all kinds, with an intentional focus on software-intensive systems. It brings into play a variety of formal methods, social models, and modern requirements writing techniques to be useful to practicing engineers. The book is intended for professional software engineers, systems engineers, and senior and graduate students of software or systems engineering. Since the first edition, there have been made many changes and improvements to this textbook. Feedback from instructors, students, and corporate users was used to correct, expand, and improve the materials. The fourth edition features two newly added chapters: "On Non-Functional Requirements" and "Requirements Engineering: Road Map to the Future." The latter provides a discussion on the relationship between requirements engineering and such emerging and disruptive technologies as Internet of Things, Cloud Computing, Blockchain, Artificial Intelligence, and Affective Computing. All chapters of the book were significantly expanded with new materials that keep the book relevant to current industrial practices. Readers will find expanded discussions on new elicitation techniques, agile approaches (e.g., Kanpan, SAFe, and DEVOps), requirements tools, requirements representation, risk management approaches, and functional size measurement methods. The fourth edition also has significant additions of vignettes, exercises, and references. Another new feature is scannable QR codes linked to sites containing updates, tools, videos, and discussion forums to keep readers current with the dynamic field of requirements engineering.
Essential comprehensive coverage of the fundamentals of requirements engineering Requirements engineering (RE) deals with the variety of prerequisites that must be met by a software system within an organization in order for that system to produce stellar results. With that explanation in mind, this must-have book presents a disciplined approach to the engineering of high-quality requirements. Serving as a helpful introduction to the fundamental concepts and principles of requirements engineering, this guide offers a comprehensive review of the aim, scope, and role of requirements engineering as well as best practices and flaws to avoid. Shares state-of-the-art techniques for domain analysis, requirements elicitation, risk analysis, conflict management, and moreFeatures in-depth treatment of system modeling in the specific context of engineering requirementsPresents various forms of reasoning about models for requirements quality assuranceDiscusses the transitions from requirements to software specifications to software architecture In addition, case studies are included that complement the many examples provided in the book in order to show you how the described method and techniques are applied in practical situations.
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.
Combinatorial testing of software analyzes interactions among variables using a very small number of tests. This advanced approach has demonstrated success in providing strong, low-cost testing in real-world situations. Introduction to Combinatorial Testing presents a complete self-contained tutorial on advanced combinatorial testing methods for real-world software. The book introduces key concepts and procedures of combinatorial testing, explains how to use software tools for generating combinatorial tests, and shows how this approach can be integrated with existing practice. Detailed explanations and examples clarify how and why to use various techniques. Sections on cost and practical considerations describe tradeoffs and limitations that may impact resources or funding. While the authors introduce some of the theory and mathematics of combinatorial methods, readers can use the methods without in-depth knowledge of the underlying mathematics. Accessible to undergraduate students and researchers in computer science and engineering, this book illustrates the practical application of combinatorial methods in software testing. Giving pointers to freely available tools and offering resources on a supplementary website, the book encourages readers to apply these methods in their own testing projects.
By adopting the micro frontends approach and designing your web apps as systems of features, you can deliver faster feature development, easier upgrades, and pick and choose the technology you use in your stack. Micro Frontends in Action is your guide to simplifying unwieldy frontends by composing them from small, well-defined units. You'll learn to integrate web applications made up of smaller fragments using tools such as web components or server side includes, how to solve the organizational challenges of micro frontends, and how to create a design system that ensures an end user gets a consistent look and feel for your application. Key Features * Applying integration strategies with iframes, AJAX, server-side includes, web components and the app-shell approach * Optimizing for performance and asset delivery strategies * Designing coherent user interfaces * Migrating to a micro frontends architecture For intermediate web developers, team leaders, and software architects. About the technology The micro frontends approach extends the principles of microservices to frontend development. The application is divided into multiple independent vertical slices-from the database right up to the UI-then integrated using standards such as web components into a single user-facing frontend. Thanks to the smaller scope of a micro frontend, teams can deliver features faster, upgrade more easily, and make their own choices about their technology stack. Michael Geers is a software developer specializing in building user interfaces. He has written software for the web since he was a teenager. In the last few years, he has worked on various customer projects with verticalized architectures. He shares his experiences on this topic at international conferences, in a series of magazine articles, and website.
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
Database technology is an important subject in Computer Science. Every large company and nation needs a database to store information. The technology has evolved from file systems in the 60's, to Hierarchical and Network databases in the 70's, to relational databases in the 80's, object-oriented databases in the 90's, and to XML documents and NoSQL today. As a result, there is a need to reengineer and update old databases into new databases. This book presents solutions for this task. In this fourth edition, Chapter 9 - Heterogeneous Database Connectivity (HDBC) offers a database gateway platform for companies to communicate with each other not only with their data, but also via their database. The ability of sharing a database can contribute to the applications of Big Data and surveys for decision support systems. The HDBC gateway solution collects input from the database, transfers the data into its middleware storage, converts it into a common data format such as XML documents, and then distributes them to the users. HDBC transforms the common data into the target database to meet the user's requirements, acting like a voltage transformer hub. The voltage transformer converts the voltage to a voltage required by the users. Similarly, HDBC transforms the database to the target database required by the users. This book covers reengineering for data conversion, integration for combining databases and merging databases and expert system rules, normalization for eliminating duplicate data from the database, and above all, HDBC connects all legacy databases to one target database for the users. The authors provide a forum for readers to ask questions and the answers are given by the authors and the other readers on the Internet.
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.
Software developers face an ever-changing and ever-expanding technology landscape, which can appear as intimidating as Mt. Everest to newcomers. Developing technical skills is vital, but there are dozens of soft skills and learning techniques you need if you're to grow and succeed professionally. Honing those soft skills is a big part of what "Apprenticeship Patterns" is all about. Authors Dave Hoover and Adewale Oshineye, both formerly of the global IT consultancy ThoughtWorks, have cataloged dozens of patterns of behavior to help software developers hone their craft. Developed through years of research, a multitude of interviews, and feedback from O'Reilly's online forum, these patterns address difficult situations faced by entry-level programmers, system administrators, and database administrators. Each pattern has a memorable name to help point you in the right direction when you need it most. Examples of common obstacles and their solutions include: burned out at work? - learn how to 'Nurture Your Passion' by finding a pet project to help you rediscover the joy of problem solving; feeling overwhelmed by too much new information? - take a step back from your learning to re-explore some familiar territory by building something you've built before, then use 'Retreat Into Competence' to launch yourself forward again ; and, feeling stuck in your learning? - seek out a team of experienced and talented developers where you can 'Be the Worst' for a while Like any patterns book, you can read this one front-to-back, jump to specific patterns when you encounter the issues they address, or cherry pick just the ones that are new to you. The purpose of the solutions is to inspire you to stay on the path you intend, rather than wander off into management because it seems like the only option for advancement. "Apprenticeship Patterns" approaches software development not as a means to financial success, but as a means to personal fulfillment. It's your life and your career. Discover how this book can help you make the best of both.
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.
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."
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.
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.
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...
Design and Optimization of Sensors and…
Vinod Kumar Singh, Ratnesh Tiwari, …
Hardcover
R5,892
Discovery Miles 58 920
Artificial Life Models in Hardware
Andrew Adamatzky, Maciej Komosinski
Hardcover
R2,802
Discovery Miles 28 020
Embedded Systems Development - From…
Alberto Sangiovanni-Vincentelli, Haibo Zeng, …
Hardcover
Reliability Engineering and…
Coen van Gulijk, Elena Zaitseva
Hardcover
R3,997
Discovery Miles 39 970
Introduction to Embedded Systems - Using…
Manuel Jimenez, Rogelio Palomera, …
Hardcover
R2,424
Discovery Miles 24 240
Scientific Computing - A Historical…
Bertil Gustafsson
Hardcover
Quantitative Quality of Service for Grid…
Lizhe Wang, Jinjun Chen, …
Hardcover
R5,012
Discovery Miles 50 120
|