Your cart is empty
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.
Virtual cities are places of often-fractured geographies, impossible physics, outrageous assumptions and almost untamed imaginations given digital structure. This book, the first atlas of its kind, aims to explore, map, study and celebrate them. To imagine what they would be like in reality. To paint a lasting picture of their domes, arches and walls. From metropolitan sci-fi open worlds and medieval fantasy towns to contemporary cities and glimpses of gothic horror, author and urban planner Konstantinos Dimopoulos and visual artist Maria Kallikaki have brought to life over forty game cities. Together, they document the deep and exhilarating history of iconic gaming landscapes through richly illustrated commentary and analysis. Virtual Cities transports us into these imaginary worlds, through cities that span over four decades of digital history across literary and gaming genres. Travel to fantasy cities like World of Warcraft's Orgrimmar and Grim Fandango's Rubacava; envision what could be in the familiar cities of Assassin's Creed's London and Gabriel Knight's New Orleans; and steal a glimpse of cities of the future, in Final Fantasy VII's Midgar and Half-Life 2's City 17. Within, there are many more worlds to discover - each formed in the deepest corners of the imagination, their immense beauty and complexity astounding for artists, game designers, world builders and, above all, anyone who plays and cares about video games.
In 1980, computers were instruments of science and mathematics, military secrets and academia. Stern administrators lorded over sterile university laboratories and stressed one point to the wide-eyed students privileged enough to set foot within them: Computers were not toys. Defying authority, hackers seized control of monolithic mainframes to create a new breed of computer game: the roguelike, cryptic and tough-as-nails adventures drawn from text-based symbols instead of state-of-the-art 3D graphics. Despite their visual simplicity, roguelike games captivate thousands of players around the world. From the author of the bestselling Stay Awhile and Listen series, Dungeon Hacks: How NetHack, Angband, and Other Roguelikes Changed the Course of Video Games introduces you to the visionaries behind some of the most popular roguelikes of all time and shows how their creations paved the way for the blockbuster videogames of today-and beyond.
This book describes how to access the Grease Pencil component in Blender and create 2D Animation within the Blender 3D environment. It is assumed that the reader has no previous knowledge of the Blender program and treats 2D Animation using the Grease Pencil as a standalone application. Grease Pencil is a component of the 3D modeling and animation program, Blender. Blender is a free open-source 3D Computer Graphics software toolset used for creating animated films, visual effects, art, 3D printed models, motion graphics, interactive 3D applications, virtual reality and computer games. Key Features: The first comprehensive beginner's guide to the Grease Pencil component of Blender Facets of operation are explained in short concise chapters with cross references Written instruction is accompanied by diagram illustrations in reference to the program's Graphical User Interface The book is also available in a discounted set along with The Complete Guide to Blender Graphics: Computer Modeling & Animation.
Techniques for Designing and Analyzing Algorithms Design and analysis of algorithms can be a difficult subject for students due to its sometimes-abstract nature and its use of a wide variety of mathematical tools. Here the author, an experienced and successful textbook writer, makes the subject as straightforward as possible in an up-to-date textbook incorporating various new developments appropriate for an introductory course. This text presents the main techniques of algorithm design, namely, divide-and-conquer algorithms, greedy algorithms, dynamic programming algorithms, and backtracking. Graph algorithms are studied in detail, and a careful treatment of the theory of NP-completeness is presented. In addition, the text includes useful introductory material on mathematical background including order notation, algorithm analysis and reductions, and basic data structures. This will serve as a useful review and reference for students who have covered this material in a previous course. Features The first three chapters provide a mathematical review, basic algorithm analysis, and data structures Detailed pseudocode descriptions of the algorithms along with illustrative algorithms are included Proofs of correctness of algorithms are included when appropriate The book presents a suitable amount of mathematical rigor After reading and understanding the material in this book, students will be able to apply the basic design principles to various real-world problems that they may encounter in their future professional careers.
The opportunistic network is an emerging and recent area of research. To make this research area more adaptable for practical and industrial use, there is a need to further investigate several research challenges in all aspects of opportunistic networks. Therefore, Opportunistic Networks: Fundamentals, Applications and Emerging Trends provides theoretical, algorithmic, simulation, and implementation-based research developments related to fundamentals, applications, and emerging research trends in opportunistic networks. The book follows a theoretical approach to describe fundamentals to beginners and incorporates a practical approach depicting the implementation of real-life applications to intermediate and advanced readers. This book is beneficial for academicians, researchers, developers, and engineers who work in or are interested in the fields related to opportunistic networks, delay tolerant networks, and intermittently connected ad hoc networks. This book also serves as a reference book for graduate and postgraduate courses in computer science, computer engineering, and information technology streams.
Software development has been a troubling since it first started. There are seven chronic problems that have plagued it from the beginning: Incomplete and ambiguous user requirements that grow by >2% per month. Major cost and schedule overruns for large applications > 35% higher than planned. Low defect removal efficiency (DRE) < 85% on large systems. Cancelled projects that are not completed: > 30% above 10,000 function points. Poor quality and low reliability after the software is delivered: > 5 bugs per FP. Breach of contract litigation against software outsource vendors. Expensive maintenance and enhancement costs after delivery. These are endemic problems for software executives, software engineers and software customers but they are not insurmountable. In Software Development Patterns and Antipatterns, software engineering and metrics pioneer Capers Jones presents technical solutions for all seven. The solutions involve moving from harmful patterns of software development to effective patterns of software development. The first section of the book examines common software development problems that have been observed in many companies and government agencies. The data on the problems comes from consulting studies, breach of contract lawsuits, and the literature on major software failures. This section considers the factors involved with cost overruns, schedule delays, canceled projects, poor quality, and expensive maintenance after deployment. The second section shows patterns that lead to software success. The data comes from actual companies. The section's first chapter on Corporate Software Risk Reduction in a Fortune 500 company was based on a major telecom company whose CEO was troubled by repeated software failures. The other chapters in this section deal with methods of achieving excellence, as well as measures that can prove excellence to C-level executives, and with continuing excellence through the maintenance cycle as well as for software development.
Nine revolutionary algorithms that power our computers and smartphones Every day, we use our computers to perform remarkable feats. A simple web search picks out a handful of relevant needles from the world's biggest haystack. Uploading a photo to Facebook transmits millions of pieces of information over numerous error-prone network links, yet somehow a perfect copy of the photo arrives intact. Without even knowing it, we use public-key cryptography to transmit secret information like credit card numbers, and we use digital signatures to verify the identity of the websites we visit. How do our computers perform these tasks with such ease? John MacCormick answers this question in language anyone can understand, using vivid examples to explain the fundamental tricks behind nine computer algorithms that power our PCs, tablets, and smartphones.
As a software engineer, you'll encounter countless programming challenges that initially seem confusing, difficult, or even impossible. Don't despair! Many of these "new" problems already have well-established solutions. Advanced Algorithms and Data Structures teaches you powerful approaches to a wide range of tricky coding challenges that you can adapt and apply to your own applications. Providing a balanced blend of classic, advanced, and new algorithms, this practical guide upgrades your programming toolbox with new perspectives and hands-on techniques. about the technology Data structures and algorithms are the foundations for how programs store and process information. Choosing the optimal algorithms ensures that your programs are fast, efficient, and reliable. about the book Algorithms and Data Structures in Action expands on the basic algorithms you already know to give you a better selection of solutions to different programming problems. In it, you'll discover techniques for improving priority queues, efficient caching, clustering data, and more. Each example is fully illustrated with graphics, language agnostic pseudo-code, and code samples in various languages. When you're done, you will be able to implement advanced and little-known algorithms to deliver better performance from your code. what's inside Improving on basic data structures Efficient caching Nearest neighbour search, including k-d trees and S-trees Full 'pseudo-code' and samples in multiple languages about the readerFor programmers with basic or intermediate skills. Written in a language-agnostic manner, no specific language knowledge is required. about the author Marcello La Rocca is a research scientist and a full-stack engineer focused on optimization algorithms, genetic algorithms, machine learning and quantum computing. He has contributed to large-scale web applications at companies like Twitter and Microsoft, has undertaken applied research in both academia and industry, and authored the Neatsort adaptive sorting algorithm.
Use the computational thinking philosophy to solve complex problems by designing appropriate algorithms to produce optimal results across various domains Key Features Develop logical reasoning and problem-solving skills that will help you tackle complex problems Explore core computer science concepts and important computational thinking elements using practical examples Find out how to identify the best-suited algorithmic solution for your problem Book DescriptionComputational thinking helps you to develop logical processing and algorithmic thinking while solving real-world problems across a wide range of domains. It's an essential skill that you should possess to keep ahead of the curve in this modern era of information technology. Developers can apply their knowledge of computational thinking to solve problems in multiple areas, including economics, mathematics, and artificial intelligence. This book begins by helping you get to grips with decomposition, pattern recognition, pattern generalization and abstraction, and algorithm design, along with teaching you how to apply these elements practically while designing solutions for challenging problems. You'll then learn about various techniques involved in problem analysis, logical reasoning, algorithm design, clusters and classification, data analysis, and modeling, and understand how computational thinking elements can be used together with these aspects to design solutions. Toward the end, you will discover how to identify pitfalls in the solution design process and how to choose the right functionalities to create the best possible algorithmic solutions. By the end of this algorithm book, you will have gained the confidence to successfully apply computational thinking techniques to software development. What you will learn Find out how to use decomposition to solve problems through visual representation Employ pattern generalization and abstraction to design solutions Build analytical skills required to assess algorithmic solutions Use computational thinking with Python for statistical analysis Understand the input and output needs for designing algorithmic solutions Use computational thinking to solve data processing problems Identify errors in logical processing to refine your solution design Apply computational thinking in various domains, such as cryptography, economics, and machine learning Who this book is forThis book is for students, developers, and professionals looking to develop problem-solving skills and tactics involved in writing or debugging software programs and applications. Familiarity with Python programming is required.
This portable reference to PowerShell summarizes the command shell and scripting language and provides a concise guide to the many tasks that make PowerShell so useful. If you're a busy administrator and don't have time to plow through huge books or in-depth online searches, this is the ideal on-the-job tool. Written by PowerShell team member Lee Holmes and excerpted from his PowerShell Cookbook, this edition offers up-to-date coverage of Windows PowerShell 5.1 and open source PowerShell Core up to 7 and beyond. Beginning with a guided tour of PowerShell, this handy guide covers: PowerShell language and environment Regular expression reference XPath quick reference .NET string formatting .NET DateTime formatting Selected .NET classes and their uses WMI reference Selected COM objects and their uses Standard PowerShell verbs
Site reliability engineering (SRE) is more relevant than ever. Knowing how to keep systems reliable has become a critical skill. With this practical book, newcomers and old hats alike will explore a broad range of conversations happening in SRE. You'll get actionable advice on several topics, including how to adopt SRE, why SLOs matter, when you need to upgrade your incident response, and how monitoring and observability differ. Editors Jaime Woo and Emil Stolarsky, co-founders of Incident Labs, have collected 97 concise and useful tips from across the industry, including trusted best practices and new approaches to knotty problems. You'll grow and refine your SRE skills through sound advice and thought-provoking questions that drive the direction of the field. Some of the 97 things you should know: "Test Your Disaster Plan"--Tanya Reilly "Integrating Empathy into SRE Tools"--Daniella Niyonkuru "The Best Advice I Can Give to Teams"--Nicole Forsgren "Where to SRE"--Fatema Boxwala "Facing That First Page"--Andrew Louis "I Have an Error Budget, Now What?"--Alex Hidalgo "Get Your Work Recognized: Write a Brag Document"--Julia Evans and Karla Burnett
Conquer the world of Android app development Android has taken over the mobile and TV markets and become unstoppable! Android offers a vast stage for developers to serve millions--and rake in the profits--with diverse and wide-ranging app ideas. Whether you're a raw recruit or a veteran programmer, you can get in on the action and become a master of the Android programming universe with the new edition of Android Application Development For Dummies All-in-One. In addition to receiving guidance on mobile and TV development, you'll find overviews of native code, watch, car, Android wear, and other device development. This friendly, easy-to-follow book kicks off by offering a fundamental understanding of Android's major technical ideas, including functional programming techniques. It moves on to show you how to work effectively in Studio, program cool new features, and test your app to make sure it's ready to release to a waiting world. You'll also have an opportunity to brush up on your Kotlin and develop your marketing savvy. There are millions of potential customers out there, and you want to stand out from the crowd! Understand new features and enhancements Get development best-practices Know your Android hardware Access online materials With a market share like Android's, the stakes couldn't be higher. Android Application Development For Dummies All-in-One levels the field and gives you the tools you need to take on the world.
How do you use PowerShell to navigate the filesystem, manage files and folders, or retrieve a web page? This introduction to the PowerShell language and scripting environment provides more than 400 task-oriented recipes to help you solve all kinds of problems. Intermediate to advanced system administrators will find more than 100 tried-and-tested scripts they can copy and use immediately. Updated for PowerShell 5, Open Source PowerShell up to 7 and beyond, this comprehensive cookbook includes hands-on recipes for common tasks and administrative jobs that you can apply whether you're on the client or server version of Windows. You also get quick references to technologies used in conjunction with PowerShell, including format specifiers and frequently referenced registry keys to selected .NET, COM, and WMI classes. Learn how to use PowerShell on Windows 10 and Windows Server 2019 Tour PowerShell's core features, including the command model, object-based pipeline, and ubiquitous scripting Master fundamentals such as the interactive shell, pipeline, and object concepts Perform common tasks that involve working with files, Internet-connected scripts, user interaction, and more Solve tasks in systems and enterprise management, such as working with Active Directory and the filesystem
Bringing together idiomatic Python programming, foundational numerical methods, and physics applications, this is an ideal standalone textbook for courses on computational physics. All the frequently used numerical methods in physics are explained, including foundational techniques and hidden gems on topics such as linear algebra, differential equations, root-finding, interpolation, and integration. Accompanying the mathematical derivations are full implementations of dozens of numerical methods in Python, as well as more than 250 end-of-chapter problems. Numerical methods and physics examples are clearly separated, allowing this introductory book to be later used as a reference; the penultimate section in each chapter is an in depth project, tackling physics problems which cannot be solved without the use of a computer. Written primarily for students studying computational physics, this textbook brings the non-specialist quickly up to speed with Python before looking in detail at the numerical methods often used in the subject.
Java--from first steps to first apps Knowing Java is a must-have programming skill for any programmer. It's used in a wide array of programming projects--from enterprise apps and mobile apps to big data, scientific, and financial uses. The language regularly ranks #1 in surveys of the most popular language based on number of developers, lines of code written, and real-world usage. It's also the language of choice in AP Computer Science classes taught in the U.S. This guide provides an easy-to-follow path from understanding the basics of writing Java code to applying those skills to real projects. Split into eight minibooks covering core aspects of Java, the book introduces the basics of the Java language and object-oriented programming before setting you on the path to building web apps and databases. - Get up to speed on Java basics - Explore object-oriented programming - Learn about strings, arrays, and collections - Find out about files and databases Step-by-step instructions are provided to ensure that you don't get lost at any point along the way.
Updated to cover UML 2.0, this student textbook provides a practical understanding of software design and development using UML. Case studies are used to illustrate good practice.
Software Engineering: A Methodical Approach (Second Edition) provides a comprehensive, but concise introduction to software engineering. It adopts a methodical approach to solving software engineering problems, proven over several years of teaching, with outstanding results. The book covers concepts, principles, design, construction, implementation, and management issues of software engineering. Each chapter is organized systematically into brief, reader-friendly sections, with itemization of the important points to be remembered. Diagrams and illustrations also sum up the salient points to enhance learning. Additionally, the book includes the author's original methodologies that add clarity and creativity to the software engineering experience. New in the Second Edition are chapters on software engineering projects, management support systems, software engineering frameworks and patterns as a significant building block for the design and construction of contemporary software systems, and emerging software engineering frontiers. The text starts with an introduction of software engineering and the role of the software engineer. The following chapters examine in-depth software analysis, design, development, implementation, and management. Covering object-oriented methodologies and the principles of object-oriented information engineering, the book reinforces an object-oriented approach to the early phases of the software development life cycle. It covers various diagramming techniques and emphasizes object classification and object behavior. The text features comprehensive treatments of: Project management aids that are commonly used in software engineering An overview of the software design phase, including a discussion of the software design process, design strategies, architectural design, interface design, database design, and design and development standards User interface design Operations design Design considerations including system catalog, product documentation, user message management, design for real-time software, design for reuse, system security, and the agile effect Human resource management from a software engineering perspective Software economics Software implementation issues that range from operating environments to the marketing of software Software maintenance, legacy systems, and re-engineering This textbook can be used as a one-semester or two-semester course in software engineering, augmented with an appropriate CASE or RAD tool. It emphasizes a practical, methodical approach to software engineering, avoiding an overkill of theoretical calculations where possible. The primary objective is to help students gain a solid grasp of the activities in the software development life cycle to be confident about taking on new software engineering projects.
Creating computer games is challenging. It requires plenty of technical skill, dedication, and creativity. Ultimate Game Programming with DirectX teaches you how to combine your existing skills and dedication for playing games with some basic C++ programming skills to create your own games. Written for game development students, beginning game programmers, and C++ programmers wanting to learn game development, this book covers every part of the process. Throughout the book, you'll be creating a first-person shooter game called Stranded. Beginning with an introduction to Direct X and Direct3D graphics, you'll build the game engine and complete game chapter by chapter. You'll learn the fundamental graphical techniques, essential mathematics, collision detection, input device detection and response, sound playback, scene management, animation, and model/character loading and drawing. Once you've built this game, you can easily expand upon it and customize it to add your own unique features. You'll also have the foundational knowledge and skills you need to build your own games and take on new programming challenges. If you have basic C++ programming skills, a love for games, and a desire to create your own, you'll find what you need here. WHAT YOU'LL LEARN * The fundamentals of DirectX game development and Direct3D graphics * Foundational programming techniques that you can use for any game project * Essential mathematics and physics techniques * Basic graphics and animation techniques, including basic techniques include drawing basic shapes and objects, displaying images on top of surfaces, creating and displaying text to the screen, and learning how to work in 3D space. * Coverage of scene management topics rarely covered in books for C++ programmers and aspiring game programmers * A complete DirectX reference for game development, including the creation of a complete FPS game
Computer-assisted translation (CAT) has always used translation memories, which require the translator to have a corpus of previous translations that the CAT software can use to generate bilingual lexicons. This can be problematic when the translator does not have such a corpus, for instance, when the text belongs to an emerging field. To solve this issue, CAT research has looked into the leveraging of comparable corpora, i.e. a set of texts, in two or more languages, which deal with the same topic but are not translations of one another. This work had two primary objectives. The first is to assess the input of lexicons extracted from comparable corpora in the context of a specialized human translation task. The second objective is to identify bilingual-lexicon-extraction methods which best match the translators' needs, determining the current limits of these techniques and suggesting improvements. The author focuses, in particular, on the identification of fertile translations, the management of multiple morphological structures, and the ranking of candidate translations. The experiments are carried out on two language pairs (English-French and English-German) and on specialized texts dealing with breast cancer. This research puts significant emphasis on applicability - methodological choices are guided by the needs of the final users. This book is organized in two parts: the first part presents the applicative and scientific context of the research, and the second part is given over to efforts to improve compositional translation. The research work presented in this book received the PhD Thesis award 2014 from the French association for natural language processing (ATALA).
Games software has its roots in a "cottage" industry, ignoring formal methodologies, instead leaving the programmers to find homespun solutions to the technical problems faced. The picture has now changed: the scale of the problems faced by programmers means that more methodical techniques must be applied to game development to prevent projects spiralling out of control, both in terms of technical complexity and cost. The book addresses how program teams can develop ever more complex entertainment software within the constraints of deadlines, budgets and changing technologies. It establishes a set of best practices tempered with real-world pragmatism, understanding that there is no "one size fits all" solution. No member of the game development team should be working in isolation and the book will be useful to producers, designers and artists as well as the programmers themselves. In addition, the book addresses the needs of the growing number of Game Development courses offered in academia, giving students a much-needed insight into the real world of object-oriented game design.
Go is rapidly becoming the preferred language for building web services. There are plenty of tutorials available that teach Go's syntax to developers with experience in other programming languages. But tutorials aren't enough. They don't teach Go's idioms, so developers end up recreating patterns that don't make sense in a Go context. This practical guide provides the essential background you need to write clear and idiomatic Go. No matter your level of experience, you'll learn how to think like a Go developer. Author Jon Bodner reveals design patterns that experienced Go developers have adopted and the rationale for them. You'll learn how to structure your project and choose the proper tools and libraries to create successful software. Learn how to write idiomatic code in Go and design a Go project Understand the reasons for the design decisions in Go Set up a Go development environment for a solo developer or team Learn how and when to use reflection, unsafe, and CGo Learn how Go's features allow the language to run efficiently Know which Go features you should use sparingly, or not at all
Computing Projects In Visual Basic. NET is ideal for AS/A level Computing, 'A' level ICT and Advanced VCE ICT students. The text assumes no starting knowledge of programming and covers everything needed to write a large program, which makes this a great text for Students on other courses, such as BTEC National, and first year HND and degree courses, as well as personal and professional readers. For AS/A level Computing - depending on the Examining Board computing students may need to produce a small project or write a number of programs for the 'AS' part of the course. For 'A' level a substantial piece of programming may be needed. The theory part of the course covers a number of important programming concepts, which are far better learned through practical programming than only through the pages of a textbook. Visual Basic is an excellent, modern language through which to learn these concepts. For AVCE students - an optional unit on programming using an event-driven language such as Visual Basic is offered by all the Boards. One of the Boards offers two units. Although the amount of programming is not expected to be as much as an A level student of Computing would do, it is still substantial. The object oriented approach to programming is explained and used where applicable.
Software Engineering for Real-Time Systems is a comprehensive introduction to the systematic design of real-time and embedded software systems. The text provides arguments, examples, techniques, and methodologies to demonstrate what software engineering can offer a real-time software developer. Written in an accessible style and complemented by numerous diagrams, the reader is guided through the steps of a total design approach, from the initial definition of the task all the way through to documentation.
Many companies, from startups to Fortune 500 companies alike, use Node.js to build performant backend services. And engineers love Node.js for its approachable API and familiar syntax. Backed by the world's largest package repository, Node's enterprise foothold is only expected to grow. In this hands-on guide, author Thomas Hunter II proves that Node.js is just as capable as traditional enterprise platforms for building services that are observable, scalable, and resilient. Intermediate to advanced Node.js developers will find themselves integrating application code with a breadth of tooling from each layer of a modern service stack. Learn why running redundant copies of the same Node.js service is necessary Know which protocol to choose, depending on the situation Fine-tune your application containers for use in production Track down errors in a distributed setting to determine which service is at fault Simplify app code and increase performance by offloading work to a reverse proxy Build dashboards to monitor service health and throughput Find out why so many different tools are required when operating in an enterprise environment
You may like...
Program Construction - Calculating…
Roland Backhouse Paperback R1,073 Discovery Miles 10 730
Job Ready Java
Haythem Balti, Alan Galloway Paperback R606 Discovery Miles 6 060
Data Abstraction and Problem Solving…
Janet Prichard, Carrano Paperback R1,608 Discovery Miles 16 080
Creating a Winning E-Business
H. Albert Napier, Stuart Wagner, … Paperback
Basic programming principles
C.M. Pretorius, H.G. Erasmus Paperback (4)
Essentials of Software Testing
Ralf Bierig, Stephen Brown, … Hardcover
Python by Example - Learning to Program…
Nichola Lacey Paperback
Game Theory Basics
Bernhard von Stengel Paperback R929 Discovery Miles 9 290
Computer Age Statistical Inference…
Bradley Efron, Trevor Hastie Paperback R801 Discovery Miles 8 010
A Guide To SQL
Philip Pratt, Mary Last Paperback