Your cart is empty
This book constitutes the thoroughly refereed post-conference proceedings of the 25th International Workshop on Algebraic Development Techniques, WADT 2020, held virtually in April 2020.The 7 revised papers presented together with an invited paper were carefully reviewed and selected from 9 submissions. The contributed presentations covered a range of topics about the algebraic approach to system specification, which encompasses many aspects of the formal design of software systems. Originally born as formal method for reasoning about abstract data types, the algebraic approach now covers new specification frameworks and programming paradigms (such as object-oriented, aspect-oriented, agent-oriented, logic, and higher-order functional programming) as well as a wide range of application areas (including information systems, concurrent, distributed, and mobile systems).
Whether your company is considering serverless computing or has already made the decision to adopt this model, this practical book is for you. Author Jason Katzer shows early- and mid-career developers what's required to build and ship maintainable and scalable services using this model. With this book, you'll learn how to build a modern production system in the cloud, viewed through the lens of serverless computing. You'll discover how serverless can free you from the tedious task of setting up and maintaining systems in production. You'll also explore new ways to level up your career and design, develop, and deploy with confidence. In three parts, this book includes: The Path to Production: Examine the ins and outs of distributed systems, microservices, interfaces, and serverless architecture and patterns The Tools: Dive into monitoring, observability and alerting, logging, pipelines, automation, and deployment Concepts: Learn how to design security and privacy, how to manage quality through testing and staging, and how to plan for failure
The fourth edition of this best-selling guide to Prolog and Artificial Intelligence has been updated to include key developments in the field while retaining its lucid approach to these topics. New and extended topics include Constraint Logic Programming, abductive reasoning and partial order planning. Divided into two parts, the first part of the book introduces the programming language Prolog, while the second part teaches Artificial Intelligence using Prolog as a tool for the implementation of AI techniques. This textbook is meant to teach Prolog as a practical programming tool and so it concentrates on the art of using the basic mechanisms of Prolog to solve interesting problems. The fourth edition has been fully revised and extended to provide an even greater range of applications, making it a self-contained guide to Prolog, AI or AI Programming for students and professional programmers.
In modern conditions of the development of intelligent systems to solve the problems of smart cities, more and more attention is paid to the construction of distributed intelligent systems, which, based on a network of sensors and specialized calculators, help residents and visitors of the city in real time to solve a whole range of complex problems that arise in an urban environment. In a smart city, much attention is paid to the processing of biometric information that comes from biometric sensors distributed throughout the city. Such biometric systems are multimodal and allow you to control the general condition of a person, and also help a person to move around the city and predict events within the city. This book describes methods for processing biometric information in a smart city environment. The theoretical foundations of building a biometric multisensor network, which allows you to create a unified urban biometric community, are considered. The theoretical foundations of the parallel shift technology and the Radon transformation on cellular automata with a hexagonal covering are presented. On the basis of these technologies, methods of biometric identification by gait parameters and the geometric shape of the auricle are described, which are effectively used in a smart city. A method for tracking dynamic changes in the state of a smart city in real time is considered. Models of behavior of colonies of living organisms, their formation, movement and interaction are described on the basis of the technology of cellular automata with active cells. Models of behavior of active cells in meeting with unwanted cells and models of combining and destruction of active cell colonies are also described. This book is intended for undergraduate, graduate students and specialists working and conducting research in the field of biometric information processing, as well as in the development and construction of distributed intelligent systems.
In the modern world, most gross product is created within Enterprise firms, project programs, state agencies, transnational corporations and their divisions, as well as various associations and compositions of the above entities. Enterprises, being, on the one hand, complex, and, on the other hand, widespread systems, are the subject matter of cybernetics, system theory, operations research, management sciences and many other fields of knowledge. However, the complexity of the system obstructs the development of mathematically rigorous foundations for Enterprise control. Moreover, methods of operations research and related sciences, which are widely used in practice, provide optimization of the constituents of an Enterprise, without modeling it as a whole system. But the optimization of parts does not lead to the optimality of the whole, and, also, the absence of top-down and holistic mathematical models of Enterprise contradicts the principle of holism and the system approach. The approach in this book looks first at Enterprise Systems and their essential aspects as complex sociotechnical systems composed of integrated sets of structural and process models (Chapters 1 and 2). A uniform description of all the heterogeneous fields of the modern Enterprise (marketing, sales, manufacturing, HR, finance, etc.) is then made, and the Enterprise Control Problem is posed as a top-down and holistic mathematical optimization problem (Chapter 3). Original models and methods of contract theory (Chapter 4), technology management (Chapter 5), human behavior and human capital (Chapter 6) and complex activity and resource planning (Chapter 7) are developed to solve the problem. Structural processes and mathematical models constitute an Optimal Enterprise Control Framework (Chapter 8) that provides a practical solution to the Enterprise Control Problem. This book is a resource for postgraduate and doctoral students, postdoctoral researchers and professors with research interests in the following fields of science: Fundamental Complex Systems study, Complex Systems Engineering, Enterprise Systems Engineering Applications of Operations Research, Optimization, Probability and Stochastic processes to Management Science, Economics and Business Theory of the Firm Business and Management - general, strategy/leadership, organization management, operations management and management information systems Theory of Business Processes, Business Processes Improvement and Reengineering
This Element discusses how shiny, an R package, can help instructors teach quantitative methods more effectively by way of interactive web apps. The interactivity increases instructors' effectiveness by making students more active participants in the learning process, allowing them to engage with otherwise complex material in an accessible, dynamic way. The Element offers four detailed apps that cover two fundamental linear regression topics: estimation methods (least squares, maximum likelihood) and the classic linear regression assumptions. It includes a summary of what the apps can be used to demonstrate, detailed descriptions of the apps' full capabilities, vignettes from actual class use, and example activities. Two other apps pertain to a more advanced topic (LASSO), with similar supporting material. For instructors interested in modifying the apps, the Element also documents the main apps' general code structure, highlights some of the more likely modifications, and goes through what functions need to be amended.
Aimed at 2nd and 3rd year/MSc courses, Model Driven Software Development using UML and Java introduces MDD, MDA and UML, and shows how UML can be used to specify, design, verify and implement software systems using an MDA approach. Structured to follow two lecture courses, one intermediate (UML, MDA, specification, design, model transformations) and one advanced (software engineering of web applications and enterprise information systems), difficult concepts are illustrated with numerous examples, and exercises with worked solutions are provided throughout.
Organizations today often struggle to balance business requirements with ever-increasing volumes of data. Additionally, the demand for leveraging large-scale, real-time data is growing rapidly among the most competitive digital industries. Conventional system architectures may not be up to the task. With this practical guide, you'll learn how to leverage large-scale data usage across the business units in your organization using the principles of event-driven microservices. Author Adam Bellemare takes you through the process of building an event-driven microservice-powered organization. You'll reconsider how data is produced, accessed, and propagated across your organization. Learn powerful yet simple patterns for unlocking the value of this data. Incorporate event-driven design and architectural principles into your own systems. And completely rethink how your organization delivers value by unlocking near-real-time access to data at scale. You'll learn: How to leverage event-driven architectures to deliver exceptional business value The role of microservices in supporting event-driven designs Architectural patterns to ensure success both within and between teams in your organization Application patterns for developing powerful event-driven microservices Components and tooling required to get your microservice ecosystem off the ground
Create awesome iOS and Android apps with a single tool! Flutter is an app developer's dream come true. With Google's open source toolkit, you can easily build beautiful apps that work across platforms using a single codebase. This flexibility allows you to get your work out to the widest possible audience. Flutter is already being used by thousands of developers worldwide in a market where billions of apps are downloaded every year. Now is the right time to get ahead of the curve with this incredible tool. Flutter for Dummies is your friendly, ground-up route to creating multi-platform apps. From how to construct your initial frameworks to writing code in Dart, you'll find the essentials you need to ride the Flutter revolutionary wave to success. This book includes guidance on how to create an intuitive and stunning UI, add interactivity, and easily pull in data. You'll also see how Flutter features like Hot Reload--providing sub-second refreshes as you refine your work--help you make sure your app is a delight to use. - Start simple: follow steps to build a basic app - It's alive! Keep connected to online data - It moves! Make things fun with animated features - Get the word out: use tips to expand your audience Whether you're a fledgling developer or an expert wanting to add a slick feather to your programming cap, join the Flutter revolution now and soar above the rest!
Publisher's Note: Products purchased from Third Party sellers are not guaranteed by the publisher for quality, authenticity, or access to any online entitlements included with the product. Proven Methods for Building Secure Java-Based Web ApplicationsDevelop, deploy, and maintain secure Java applications using the expert techniques and open source libraries described in this Oracle Press guide. Iron-Clad Java presents the processes required to build robust and secure applications from the start and explains how to eliminate existing security bugs. Best practices for authentication, access control, data protection, attack prevention, error handling, and much more are included. Using the practical advice and real-world examples provided in this authoritative resource, you'll gain valuable secure software engineering skills. Establish secure authentication and session management processes Implement a robust access control design for multi-tenant web applications Defend against cross-site scripting, cross-site request forgery, and clickjacking Protect sensitive data while it is stored or in transit Prevent SQL injection and other injection attacks Ensure safe file I/O and upload Use effective logging, error handling, and intrusion detection methods Follow a comprehensive secure software development lifecycle "In this book, Jim Manico and August Detlefsen tackle security education from a technical perspective and bring their wealth of industry knowledge and experience to application designers. A significant amount of thought was given to include the most useful and relevant security content for designers to defend their applications. This is not a book about security theories, it's the hard lessons learned from those who have been exploited, turned into actionable items for application designers, and condensed into print." From the Foreword by Milton Smith, Oracle Senior Principal Security Product Manager, Java
This extensively classroom-tested text takes an innovative approach to explaining software testing that defines it as the process of applying a few precise, general-purpose criteria to a structure or model of the software. The book incorporates cutting-edge developments, including techniques to test modern types of software such as OO, web applications, and embedded software. This revised second edition significantly expands coverage of the basics, thoroughly discussing test automaton frameworks, and it adds new, improved examples and numerous exercises. The theory of coverage criteria is carefully and cleanly explained to help students understand concepts before delving into practical applications, while extensive use of the JUnit test framework gives students practical experience in a test framework popular in the industry. Exercises, meanwhile, feature specifically tailored tools that allow students to check their own work. The book's website also offers an instructor's manual, PowerPoint slides, testing tools for students, and example software programs in Java.
Haskell is a purely functional language that allows programmers to rapidly develop clear, concise, and correct software. The language has grown in popularity in recent years, both in teaching and in industry. This book is based on the author's experience of teaching Haskell for more than twenty years. All concepts are explained from first principles and no programming experience is required, making this book accessible to a broad spectrum of readers. While Part I focuses on basic concepts, Part II introduces the reader to more advanced topics. This new edition has been extensively updated and expanded to include recent and more advanced features of Haskell, new examples and exercises, selected solutions, and freely downloadable lecture slides and example code. The presentation is clean and simple, while also being fully compliant with the latest version of the language, including recent changes concerning applicative, monadic, foldable, and traversable types.
Your Python code may run correctly, but you need it to run faster. Updated for Python 3, this expanded edition shows you how to locate performance bottlenecks and significantly speed up your code in high-data-volume programs. By exploring the fundamental theory behind design choices, High Performance Python helps you gain a deeper understanding of Python's implementation. How do you take advantage of multicore architectures or clusters? Or build a system that scales up and down without losing reliability? Experienced Python programmers will learn concrete solutions to many issues, along with war stories from companies that use high-performance Python for social media analytics, productionized machine learning, and more. Get a better grasp of NumPy, Cython, and profilers Learn how Python abstracts the underlying computer architecture Use profiling to find bottlenecks in CPU time and memory usage Write efficient programs by choosing appropriate data structures Speed up matrix and vector computations Use tools to compile Python down to machine code Manage multiple I/O and computational operations concurrently Convert multiprocessing code to run on local or remote clusters Deploy code faster using tools like Docker
This book explores the impact of a video game's degree of realism or fictionality on its linguistic dimensions, investigating the challenges and strategies for translating realia and irrealia, the interface of the real world and the game world where culture-specificity manifests itself. The volume outlines the key elements in the translation of video games, such as textual non-linearity, multitextuality, and playability, and introduces the theoretical framework used to determine a game's respective degree of realism or fictionality. Pettini applies an interdisciplinary approach drawing on video game research and Descriptive Translation Studies to the linguistic and translational analysis of in-game dialogs in English-Italian and English-Spanish language pairs from a corpus of three war video games. This approach allows for an in-depth look at the localization challenges posed by the varying degree of realism and fictionality across video games and the different strategies translators employ in response to these challenges. A final chapter offers a comparative analysis of the three games and subsequently avenues for further research on the role of culture-specificity in game localization. This book is key reading for students and scholars interested in game localization, audiovisual translation studies, and video game research.
What will you learn from this book? You know you don't want to reinvent the wheel, so you look to Design Patterns: the lessons learned by those who've faced the same software design problems. With Design Patterns, you get to take advantage of the best practices and experience of others so you can spend your time on something more challenging. Something more fun. This book shows you the patterns that matter, when to use them and why, how to apply them to your own designs, and the object-oriented design principles on which they're based. Join hundreds of thousands of developers who've improved their object-oriented design skills through Head First Design Patterns. 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. With Head First Design Patterns, 2E you'll learn design principles and patterns in a way that won't put you to sleep, so you can get out there to solve software design problems and speak the language of patterns with others on your team.
Use various defense strategies with Azure Sentinel to enhance your cloud security. This book will help you get hands-on experience, including threat hunting inside Azure cloud logs and metrics from services such as Azure Platform, Azure Active Directory, Azure Monitor, Azure Security Center, and others such as Azure Defender's many security layers. This book is divided into three parts. Part I helps you gain a clear understanding of Azure Sentinel and its features along with Azure Security Services, including Azure Monitor, Azure Security Center, and Azure Defender. Part II covers integration with third-party security appliances and you learn configuration support, including AWS. You will go through multi-Azure Tenant deployment best practices and its challenges. In Part III you learn how to improve cyber security threat hunting skills while increasing your ability to defend against attacks, stop data loss, prevent business disruption, and expose hidden malware. You will get an overview of the MITRE Attack Matrix and its usage, followed by Azure Sentinel operations and how to continue Azure Sentinel skill improvement. After reading this book, you will be able to protect Azure resources from cyberattacks and support XDR (Extend, Detect, Respond), an industry threat strategy through Azure Sentinel. What You Will Learn Understand Azure Sentinel technical benefits and functionality Configure to support incident response Integrate with Azure Security standards Be aware of challenges and costs for the Azure log analytics workspace Who This Book Is ForSecurity consultants, solution architects, cloud security architects, and IT security engineers
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or fault-tolerance. Most projects benefit from running background tasks and processing data concurrently, but the world of OTP and various libraries can be challenging. Which Supervisor and what strategy to use? What about GenServer? Maybe you need back-pressure, but is GenStage, Flow, or Broadway a better choice? You will learn everything you need to know to answer these questions, start building highly concurrent applications in no time, and write code that's not only fast, but also resilient to errors and easy to scale. Whether you are building a high-frequency stock trading application or a consumer web app, you need to know how to leverage concurrency to build applications that are fast and efficient. Elixir and the OTP offer a range of powerful tools, and this guide will show you how to choose the best tool for each job, and use it effectively to quickly start building highly concurrent applications. Learn about Tasks, supervision trees, and the different types of Supervisors available to you. Understand why processes and process linking are the building blocks of concurrency in Elixir. Get comfortable with the OTP and use the GenServer behaviour to maintain process state for long-running jobs. Easily scale the number of running processes using the Registry. Handle large volumes of data and traffic spikes with GenStage, using back-pressure to your advantage. Create your first multi-stage data processing pipeline using producer, consumer, and producer-consumer stages. Process large collections with Flow, using MapReduce and more in parallel. Thanks to Broadway, you will see how easy it is to integrate with popular message broker systems, or even existing GenStage producers. Start building the high-performance and fault-tolerant applications Elixir is famous for today. What You Need: You'll need Elixir 1.9+ and Erlang/OTP 22+ installed on a Mac OS X, Linux, or Windows machine.
Nonfunctional Requirements in Mobile Application Development is an empirical study that investigates how nonfunctional requirements--as compared with functional requirements--are treated by the software engineers during mobile application development. The book empirically analyzes the contribution of nonfunctional requirements to project parameters such as cost, time, and quality. Such parameters are of prime interest as they determine the survival of organizations in highly dynamic environments. The impact of nonfunctional requirements on project success is analyzed through surveys and case studies, both individually and relative to each other. Sources for data collection include industry, academia, and literature. The book also empirically studies the impact of nonfunctional requirements on the overall business success of both the software development firm and the software procuring firm. Project success is examined to determine if it leads to business success. The book provides rich empirical evidence to place nonfunctional requirements on par with functional requirements to achieve business success in highly competitive markets. This work enhances the body of knowledge through multiple empirical research methods including surveys, case studies, and experimentation to study software engineers' focus on nonfunctional requirements at both project and business levels. The book can guide both computer scientists and business managers in devising theoretical and technical solutions for software release planning to achieve business success.
Uncover the secrets of the game industry's best programmers with the newest volume of the Game Programming Gems series With over 60 all new techniques, Game Programming Gems 4 continues to be the definitive resource for developers. Written by expert game developers who make today's amazing games, these articles not only provide quick solutions to cutting-edge problems, but they provide insights that you'll return to again and again. They'll spark your creativity and inspire your own discoveries. For the past few years, the game industry has been on an incredible journey of exploration and innovation. In conjunction with this journey, the scope of the Game Programming Gems series has broadened as well. With the variety of new platforms available, coverage has been expanded to include alternative languages and third party APIs. Most code is written in C++, but some interpreted languages (Java and Python) are also represented. The graphics articles make use of OpenGL, DirectX, and the various available shader languages. Volume 4 also includes an all new physics section that teaches innovative techniques for implementing real-time physics that will help you create emergent gameplay. To make searching between all four volumes of the series easy and efficient, we have added a cumulative index. This new volume is a definite must-have resource for every game programmer's library!
Behind the beautiful imagery of the latest animated movie and the realistic environments of popular videogames lie some mysterious algorithms. Computer Graphics from Scratch aims to demystify these algorithms and show readers that computer graphics can be surprisingly simple. This broad introductory book gives readers an overview of the computer graphics field. Every algorithm is built up without the use of external libraries or APIs and is presented with language agnostic pseudocode, allowing anyone with a basic understanding of programming and secondary school maths to follow along.
Using Apache Cordova 4, you can leverage native technologies and web standards to quickly build cross-platform apps for most mobile devices. You can deliver a high-end user experience where it matters, while radically simplifying code maintenance and reuse. Apache Cordova 4 Programming is the most concise, accessible introduction to this remarkable technology. In this essential guide, expert mobile developer John Wargo quickly gets you up to speed with all the essentials, from installation, configuration, and tools, to building plugins and using Cordova's powerful APIs. Wargo helps you make the most of Cordova 4's major enhancements, while offering practical guidance for all versions, including Adobe PhoneGap. Full chapters are dedicated to five major mobile platforms: Android, iOS, Windows Phone, Firefox OS, and Ubuntu. Using rich, relevant examples, Wargo guides you through both the anatomy of a Cordova app and its entire lifecycle, including cross-platform testing and debugging. Throughout, he illuminates Cordova development best practices, streamlining your development process and helping you write high-quality apps right from the start. Topics include Installing and configuring Cordova's development environment Working with the Cordova command line interfaces Creating Cordova plugins, using Plugman and the PhoneGap CLI Cordova's support for Firefox OS and Ubuntu devices Automation (Grunt and Gulp) and Cordova CLI hooks Microsoft's hybrid toolkit for Visual Studio Third-party tools, such as AppGyver, GapDebug, THyM, and more Beautifying Cordova apps with third-party HTML frameworks, such as Bootstrap, OpenUI5, Ionic, and Onsen UI Running, testing, and debugging Cordova apps on each major mobile platform Access the full code examples at cordova4programming.com, where you'll also find updates reflecting Cordova's continuing evolution. This book is an ideal companion to Wargo's authoritative collection of Apache Cordova code recipes for each Cordova API, Apache Cordova API Cookbook (Addison-Wesley, 2015).
In Network Programming with Go readers learn how to leverage Go's concurrency and rich standard library to write robust network programs to create and handle network connections. Difficult concepts are explained with analogies, diagrammes, and examples as readers learn to solve common networking problems and write secure software. For professional developers and experienced Go programmers.
You may like...
The book of Shen - Fourt edition
Mark Tarver Paperback R845 Discovery Miles 8 450
Building Cross-Platform Mobile and Web…
Pawan Lingras, Matt Triff, … Paperback
SQL Pocket Guide - A Guide to SQL Usage
Alice Zhao Paperback
Essentials of Software Testing
Ralf Bierig, Stephen Brown, … Hardcover
Make Python Talk - Build Apps with Voice…
Mark Liu Paperback
Game Theory Basics
Bernhard von Stengel Paperback R955 Discovery Miles 9 550
Basic programming principles
C.M. Pretorius, H.G. Erasmus Paperback (4)
Introducing Delphi Programming - Theory…
John Barrow, Linda Miller, … Paperback (1)
Program Construction - Calculating…
Roland Backhouse Paperback R1,103 Discovery Miles 11 030
A Guide To SQL
Philip Pratt, Mary Last Paperback