Computer programming / software engineering Books

2176 products


  • Coding AllinOne For Dummies

    John Wiley & Sons Inc Coding AllinOne For Dummies

    2 in stock

    Book SynopsisTable of ContentsIntroduction 1 Book 1: Getting Started with Coding 5 Chapter 1: What Is Coding? 7 Chapter 2: Programming for the Web 19 Chapter 3: Becoming a Programmer 33 Book 2: Basic Web Coding 43 Chapter 1: Exploring Basic HTML 45 Chapter 2: Getting More Out of HTML 63 Chapter 3: Getting Stylish with CSS 79 Chapter 4: Next Steps with CSS 101 Chapter 5: Responsive Layouts with Flexbox 123 Chapter 6: Styling with Bootstrap 143 Book 3: Advanced Web Coding 159 Chapter 1: What Is JavaScript? 161 Chapter 2: Writing Your First JavaScript Program 173 Chapter 3: Working with Variables 193 Chapter 4: Understanding Arrays 211 Chapter 5: Working with Operators, Expressions, and Statements 225 Chapter 6: Getting into the Flow with Loops and Branches 241 Chapter 7: Getting Functional 255 Chapter 8: Making and Using Objects 275 Chapter 9: Controlling the Browser with the Window Object 291 Chapter 10: Manipulating Documents with the DOM 307 Chapter 11: Using Events in JavaScript 327 Chapter 12: Integrating Input and Output 339 Chapter 13: Understanding Callbacks and Closures 355 Chapter 14: Embracing AJAX and JSON 367 Book 4: Creating Mobile Apps 383 Chapter 1: What Is Flutter? 385 Chapter 2: Setting Up Your Computer for Mobile App Development. 401 Chapter 3: “Hello” from Flutter 433 Chapter 4: Hello Again 469 Chapter 5: Making Things Happen 495 Chapter 6: Laying Things Out 527 Chapter 7: Interacting with the User 567 Chapter 8: Navigation, Lists, and Other Goodies 605 Chapter 9: Moving Right Along 653 Book 5: Getting Started with Python 675 Chapter 1: Wrapping Your Head around Python 677 Chapter 2: Installing a Python Distribution 689 Chapter 3: Working with Real Data 707 Book 6: Data Analysis with Python 729 Chapter 1: Conditioning Your Data 731 Chapter 2: Shaping Data 759 Chapter 3: Getting a Crash Course in MatPlotLib 779 Chapter 4: Visualizing the Data 795 Book 7: Career Building with Coding 813 Chapter 1: Exploring Coding Career Paths 815 Chapter 2: Exploring Undergraduate and Graduate Degrees 829 Chapter 3: Training on the Job 843 Chapter 4: Coding Career Myths 853 Index 861

    2 in stock

    £23.19

  • Getting Started with the Uno Platform and WinUI 3

    APress Getting Started with the Uno Platform and WinUI 3

    2 in stock

    Book SynopsisGet ready to build applications that can run anywhere using the Uno Platform and WinUI.Modern application development can be an intimidating and complex topic, especially when you are building cross-platform applications that need to support multiple operating systems and form factors. There are so many options when it comes to frameworks and selecting the right one for your enterprise is critical in delivering a successful product to market. For the developer who has zero experience building apps with Xamarin, UWP, WinUI, or the Uno Platform, this book deconstructs those complex concepts into tangible building blocks so that productivity gains are immediately recognized.You will start off learning basic concepts and get a bird''s-eye view of the enabling technologies to ensure that you feel comfortable with the tools and terminology. From there, you will learn about some of the more popular options in the .NET ecosystem, understand their attributes and shortcomiTable of Contents Chapter 1: Introduction to Uno Platform Chapter 2: File New Project Chapter 3: Your First PageChapter 4: Application Styles Chapter 5: Platform Specific Code and XAML Chapter 6: Master-Detail Menu and Dashboard Chapter 7: Custom Fonts Chapter 8: Model-View-ViewModel (MVVM) Chapter 9: Dependency Injection and Logging Chapter 10: Application Navigation Chapter 11: Authentication with Azure Active Directory Chapter 12: Converters Chapter 13: Microsoft Graph, Web APIs, and MyFilesPageChapter 14: Microsoft Graph and Dashboard Menu Chapter 15: Images and GridView Chapter 16: Selectors Chapter 17: OneDrive Navigation Chapter 18: Offline Data Access Chapter 19: Complete App

    2 in stock

    £49.49

  • The Tangled Web

    No Starch Press,US The Tangled Web

    2 in stock

    Book SynopsisModern web applications are built on a tangle of technologies that have been developed over time and then haphazardly pieced together. Every piece of the web application stack, from HTTP requests to browser-side scripts, comes with important yet subtle security consequences. To keep users safe, it is essential for developers to confidently navigate this landscape. In The Tangled Web, Michal Zalewski, one of the world s top browser security experts, offers a compelling narrative that explains exactly how browsers work and why they re fundamentally insecure. Rather than dispense simplistic advice on vulnerabilities, Zalewski examines the entire browser security model, revealing weak points and providing crucial information for shoring up web application security. You ll learn how to: Perform common but surprisingly complex tasks such as URL parsing and HTML sanitization Use modern security features like Strict Transport Security, Content Security Policy, and Cross-Origin Resource SharTrade Review"A classic – arguably canon – as far as security training books go, and especially when it comes to web application security." —Britt Kemp, Bishop Fox LabsTable of ContentsPRAISE FOR THE TANGLED WEB; PRAISE FOR SILENCE ON THE WIRE BY MICHAL ZALEWSKI; Dedication; Preface; Acknowledgments; Chapter 1: Security in the World of Web Applications; 1.1 Information Security in a Nutshell; 1.2 A Brief History of the Web; 1.3 The Evolution of a Threat; 1.4 Global browser market share, May 2011; Anatomy of the Web; Chapter 2: It Starts with a URL; 2.1 Uniform Resource Locator Structure; 2.2 Reserved Characters and Percent Encoding; 2.3 Common URL Schemes and Their Function; 2.4 Resolution of Relative URLs; Chapter 3: Hypertext Transfer Protocol; 3.1 Basic Syntax of HTTP Traffic; 3.2 HTTP Request Types; 3.3 Server Response Codes; 3.4 Keepalive Sessions; 3.5 Chunked Data Transfers; 3.6 Caching Behavior; 3.7 HTTP Cookie Semantics; 3.8 HTTP Authentication; 3.9 Protocol-Level Encryption and Client Certificates; Chapter 4: Hypertext Markup Language; 4.1 Basic Concepts Behind HTML Documents; 4.2 Understanding HTML Parser Behavior; 4.3 Entity Encoding; 4.4 HTTP/HTML Integration Semantics; 4.5 Hyperlinking and Content Inclusion; Chapter 5: Cascading Style Sheets; 5.1 Basic CSS Syntax; 5.2 Parser Resynchronization Risks; 5.3 Character Encoding; Chapter 6: Browser-Side Scripts; 6.1 Basic Characteristics of JavaScript; 6.2 Standard Object Hierarchy; 6.3 Script Character Encoding; 6.4 Code Inclusion Modes and Nesting Risks; 6.5 The Living Dead: Visual Basic; Chapter 7: Non-HTML Document Types; 7.1 Plaintext Files; 7.2 Bitmap Images; 7.3 Audio and Video; 7.4 XML-Based Documents; 7.5 A Note on Nonrenderable File Types; Chapter 8: Content Rendering with Browser Plug-ins; 8.1 Invoking a Plug-in; 8.2 Document Rendering Helpers; 8.3 Plug-in-Based Application Frameworks; 8.4 ActiveX Controls; 8.5 Living with Other Plug-ins; Browser Security Features; Chapter 9: Content Isolation Logic; 9.1 Same-Origin Policy for the Document Object Model; 9.2 Same-Origin Policy for XMLHttpRequest; 9.3 Same-Origin Policy for Web Storage; 9.4 Security Policy for Cookies; 9.5 Plug-in Security Rules; 9.6 Coping with Ambiguous or Unexpected Origins; 9.7 Other Uses of Origins; Chapter 10: Origin Inheritance; 10.1 Origin Inheritance for about:blank; 10.2 Inheritance for data: URLs; 10.3 Inheritance for javascript: and vbscript: URLs; 10.4 A Note on Restricted Pseudo-URLs; Chapter 11: Life Outside Same-Origin Rules; 11.1 Window and Frame Interactions; 11.2 Cross-Domain Content Inclusion; 11.3 Privacy-Related Side Channels; 11.4 Other SOP Loopholes and Their Uses; Chapter 12: Other Security Boundaries; 12.1 Navigation to Sensitive Schemes; 12.2 Access to Internal Networks; 12.3 Prohibited Ports; 12.4 Limitations on Third-Party Cookies; Chapter 13: Content Recognition Mechanisms; 13.1 Document Type Detection Logic; 13.2 Character Set Handling; Chapter 14: Dealing with Rogue Scripts; 14.1 Denial-of-Service Attacks; 14.2 Window-Positioning and Appearance Problems; 14.3 Timing Attacks on User Interfaces; Chapter 15: Extrinsic Site Privileges; 15.1 Browser- and Plug-in-Managed Site Permissions; 15.2 Form-Based Password Managers; 15.3 Internet Explorer's Zone Model; A Glimpse of Things to Come; Chapter 16: New and Upcoming Security Features; 16.1 Security Model Extension Frameworks; 16.2 Security Model Restriction Frameworks; 16.3 Other Developments; Chapter 17: Other Browser Mechanisms of Note; 17.1 URL- and Protocol-Level Proposals; 17.2 Content-Level Features; 17.3 I/O Interfaces; Chapter 18: Common Web Vulnerabilities; 18.1 Vulnerabilities Specific to Web Applications; 18.2 Problems to Keep in Mind in Web Application Design; 18.3 Common Problems Unique to Server-Side Code; Epilogue; Notes;; UPDATES;

    2 in stock

    £45.59

  • Python Playground

    No Starch Press,US Python Playground

    2 in stock

    Book SynopsisPython is a powerful programming language that s easy to learn and fun to play with. But once you ve gotten a handle on the basics, what do you do next? Python Playground is a collection of imaginative programming projects that will inspire you to use Python to make art and music, build simulations of real-world phenomena, and interact with hardware like the Arduino and Raspberry Pi. You ll learn to use common Python tools and libraries like numpy, matplotlib, and pygame to do things like: Generate Spirograph-like patterns using parametric equations and the turtle module Create music on your computer by simulating frequency overtones Translate graphical images into ASCII art Write an autostereogram program that produces 3D images hidden beneath random patterns Make realistic animations with OpenGL shaders by exploring particle systems, transparency, and billboarding techniques Construct 3D visualizations using data from CT and MRI scans Build a laser show that responds to musicTrade Review"If you want to become adept at doing clever things with Python, I doubt you'll find a better group of projects or more useful help for understanding how the language works."—Network World"This is a book that belongs in every Python programmer's library."—Full Circle Magazine"Packed with interesting projects."—iProgrammer"Python Playground targets programmers who want to further improve their skills and knowledge of the language. The book does a good job of explaining all relevant details and makes sure that readers get a clear picture of what is going on."—InfoQTable of ContentsPart 1: Warming UpChapter 1: Parsing iTunes PlaylistsChapter 2: SpirographsPart 2: Simulating LifeChapter 3: Conway's Game of LifeChapter 4: Generating Musical Overtones with the Karplus-Strong AlgorithmChapter 5: Boids: Simulating a FlockPart 3: Fun with ImagesChapter 6: ASCII ArtChapter 7: PhotomosaicsChapter 8: AutostereogramsPart 4: Enter 3DChapter 9: Understanding OpenGLChapter 10: Particle SystemsChapter 11: Volume RenderingPart 5: Hardware HackingChapter 12: Introduction to ArduinoChapter 13: Laser Audio DisplayChapter 14: A Raspberry Pi-based Weather MonitorAppendix A: Software InstallationAppendix B: Basic Practical ElectronicsAppendix C: Raspberry Pi Tips & Tricks

    2 in stock

    £24.64

  • Teach Your Kids To Code

    No Starch Press,US Teach Your Kids To Code

    2 in stock

    Book SynopsisTeach Your Kids to Code is a parent's and teacher's guide to teaching kids basic programming and problem solving using Python, the powerful language used in college courses and by tech companies like Google and IBM. Step-by-step explanations will have kids learning computational thinking right away, while visual and game-oriented examples hold their attention. Friendly introductions to fundamental programming concepts such as variables, loops, and functions will help even the youngest programmers build the skills they need to make their own cool games and applications. Whether you've been coding for years or have never programmed anything at all, Teach Your Kids to Code will help you show your young programmer how to: Explore geometry by drawing colorful shapes with Turtle graphics Write programs to encode and decode messages, play Rock-Paper-Scissors, and calculate how tall someone is in Ping-Pong balls Create fun, playable games like War, Yahtzee, and Pong Add interactivity, aniTrade Review“A straightforward, crystal-clear guide to programming in Python...Sophisticated concepts and serious programming make for an easy, enjoyable game for families.”—Kirkus Reviews“An easy five stars . . . With the information provided in Teach Your Kids to Code, kids (and adults) will have a solid foundation from which to jump to more advanced programming books.”—James Floyd Kelly, GeekDad“Kid coders who have mastered the likes of Scratch, or older students who are math inclined and want to learn how to code, will find a worthy choice in Payne’s guide to Python programming.”—School Library Journal“The text is clear, the graphics are engaging, and the apps are awesome. This is the programming guide for parents and kids to enjoy together.”—Aaron Walker, Cybersecurity Expert, NASA“Every child on the planet should have this book, and so should every parent.”—James E. Daniel, Jr., Founder, App Studios, LLC “The kind of book I wish I’d had as a kid.”—Scott Hand, Software Engineer, CareerBuilderTable of ContentsIntroduction: What Is Coding and Why Is It Good for Your Kids?Chapter 1: Python Basics: Get to Know Your EnvironmentChapter 2: Turtle Graphics: Drawing with PythonChapter 3: Numbers and Variables: Python Does the MathChapter 4: Loops Are Fun (You Can Say That Again)Chapter 5: Conditions (What If?)Chapter 6: Random Fun and Games: Go Ahead, Take a Chance!Chapter 7: Functions: There’s a Name for ThatChapter 8: Timers and Animation: What Would Disney Do?Chapter 9: User Interaction: Get into the GameChapter 10: Game Programming: Coding for FunAppendix A: Python Setup for Windows, Mac, and LinuxAppendix B: Pygame Setup for Windows, Mac, and LinuxAppendix C: Building Your Own ModulesGlossaryIndex

    2 in stock

    £24.64

  • The Manga Guide To Cryptography

    No Starch Press,US The Manga Guide To Cryptography

    2 in stock

    Book SynopsisThe Manga Guide to Cryptography breaks down how ciphers work, what makes them secure or insecure, and how to decode them. Comic illustrations make it easy to learn about classic substitution, polyalphabetic, and transposition ciphers; symmetric-key algorithms like block and DES (Data Encryption Standard) ciphers; how to use public key encryption technology to generate public/private keys and cryptograms; practical applications of encryption such as digital signatures, identity fraud countermeasures, and 'man in the middle' attack countermeasures.Trade Review"If you're just curious about cryptography or need a simple jumping-off-point, this book is a good place to start."—Sequential Tart"Extremely accessible, ideal for both classroom use or self-study, and highly recommended for high school, college, and public library mathematics collections."—Midwest Book ReviewTable of ContentsPrologueChapter 1: The Foundations of EncryptionChapter 2: Symmetric-Key AlgorithmsChapter 3: Public Key EncryptionChapter 4: Practical Applications of EncryptionWhat's Next?

    2 in stock

    £17.99

  • Super Scratch Programming Adventure (scratch 3)

    No Starch Press,US Super Scratch Programming Adventure (scratch 3)

    1 in stock

    Book SynopsisReaders create projects inspired by classic arcade games that can be programmed (and played!) in an afternoon. Patient, step-by-step explanations of the code and fun programming challenges will have kids creating their own games in no time. In addition to specific programming instructions, the book includes comics that draw young learners into the book. Readers learn to code as they work through the comics which make programming concepts like variables, flow control, and subroutines effortless to absorb. Created together with Mitch Resnick, the creator of Scratch.Trade ReviewPraise for Super Scratch Programming Adventure!:“Super Scratch Programming Adventure will help introduce more young people to the creative possibilities of Scratch. The book grows out of one of the world’s most innovative and productive Scratch initiatives, organized by the Hong Kong Federation of Youth Groups. I’m delighted that their ideas and activities are now available to teachers, parents, and children around the world.” – Professor Mitchel Resnik, Director, MIT Scratch Team, MIT Media Lab (From the Foreword) "Reveals the power of this deceptively simple programming language... A fun way to learn how to program Scratch, even for adults.” —Mark Frauenfelder, Boing Boing "A great introduction to game design. Kids will start building games from the first page." —Liz Upton, The Raspberry Pi Project "Walks readers through a series of extremely well-designed game-design projects, each of which introduces a new concept or two to young programmers, providing a gentle learning curve for mastering Scratch’s many powerful features." —Cory Doctorow, Boing Boing "If you think you might have a future programmer on your hands, it's time to introduce your kid to Scratch. . . . Super Scratch Programming Adventure! makes it even easier to get started." —Ruth Suehle, GeekMom "The book provides a fun approach to a language that is designed for fun . . . If you are looking for a motivational way of teaching programming to a young beginner then this is recommended." —Kay Ewbank, I Programmer, Programming Book Choices For FunTable of ContentsA Note for Parents and EducatorsStage 1 – Riding A Flare from the SunStage 2 – Entering Deep SpaceStage 3 – Trapped By Mona Lisa’s SmileStage 4 – Defend Hong Kong's TechnocoreStage 5 – Penalty Kick In IpanemaStage 6 – Race in the DesertStage 7 – The Secret Treasure of GizaStage 8 – Wizard's RaceStage 9 – The Final Fight ... In Dark SpaceStage 10 – Epilogue

    1 in stock

    £16.19

  • Go H*ck Yourself: A Simple Introduction to Cyber

    No Starch Press,US Go H*ck Yourself: A Simple Introduction to Cyber

    2 in stock

    Book SynopsisGo H*ck Yourself is an eye-opening, hands-on introduction to the world of hacking, from an award-winning cybersecurity coach. As you perform common attacks against yourself, you'll be shocked by how easy they are to carry out - and realize just how vulnerable most people really are. This book will guide you through setting up a virtual hacking lab so you can safely try out attacks without putting yourself or others at risk. Then give step-by-step instructions which will walk you through executing every major type of attack, including physical access hacks, Google hacking and reconnaissance, social engineering and phishing, malware, password cracking, web hacking, and phone hacking.Trade Review"An excellent guide for anyone wishing to learn about offensive information security . . . This book is perfect for aspiring penetration testers, security analysts who want more insight into how hackers approach a target, or individuals who want to better protect themselves online. Its practical, hands-on approach provides opportunities for readers to try out real hacking techniques in a safe, legal way. I'll be recommending it to my mentees." —Matt Burrough, Principal Penetration Testing Team Manager at Microsoft"Full of detailed, well-explained exercises ... fascinating and informative ... Anyone with a basic grasp of tech know-how should pick up this book, read it, apply its lessons in their own life, and share the knowledge they learned." —Joshua Allen Holm, Opensource.com"This is a great introduction level book for someone looking to get a feel for hacking on various platforms. The information was easy to follow, and the phrasing made clear what to do from the beginning." —Sam Zeigler, Security Researcher, Tripwire"A great introduction to cybersecurity that includes both theory and hands-on practice."—Rex Lam, Senior Consultant, Guardian Forest Security"Go H*ck Yourself is a great introduction to many angles of offensive security and digital self-defense! It not only gives solid advice as to what someone should do to be safe, but demonstrates why by having them become the hackers themselves—demystifying attack methods to expose that they are also just logical steps, potentially fragile or easily avoided altogether if you know how to reason about their operation."—Jamie G., Advanced Reviewer

    2 in stock

    £24.64

  • The Book Of I2c

    No Starch Press,US The Book Of I2c

    1 in stock

    Book SynopsisIf you work with embedded systems, you're bound to encounter the ubiquitous Inter-Integrated Circuit bus (IIC, I2C, or I2C) - a serial protocol for connecting integrated circuits in a computer system. In The Book of I2C, the first comprehensive guide to this bus, bestselling author Randall Hyde draws on 40 years of industry experience to get you started designing and programming I2C systems.Table of ContentsIntroductionChapter 1: I2C Low-Level HardwareChapter 2: I2C ProtocolChapter 3: A Software Implementation of the I2C BusChapter 4: Analyzing and Debugging I2C TransmissionsChapter 5: I2C VariantsChapter 6: I2C on Common Single-Board ComputersChapter 7: I2C on Vendor BusesChapter 8: Arduino I2C ProgrammingChapter 9: Raspberry Pi (and Linux) I2C ProgrammingChapter 10: I2C Programming in Real-Time Operating SystemsChapter 11: Bare-Metal I2C Controller ProgrammingChapter 12: The TCA9548A I2C Bus ExpanderChapter 13: The MCP23017 and MCP23008 GPIO ExpandersChapter 14: The ADS1015/ADS1115 Analog-to-Digital ConvertersChapter 15: The MCP4725 Digital-to-Analog ConverterChapter 16: Bare-Metal Peripheral ProgrammingAppendix A: GlossaryAppendix B: The Adafruit I2C Address CompilationAppendix C: Online Chapters

    1 in stock

    £38.39

  • Data Structures The Fun Way: An Amusing Adventure

    No Starch Press,US Data Structures The Fun Way: An Amusing Adventure

    3 in stock

    Book SynopsisThis accessible and entertaining book provides an in-depth introduction to computational thinking through the lens of data structures a critical component in any programming endeavour. You'll learn how to work with more than 15 key data structures, from arrays, stacks, and queues, to caches, bloom filters, skip lists, and graphs. You'll also master linked lists by virtually standing in line at a cafe, hash tables by cataloguing the history of the summer Olympics, and QuadTrees by neatly organizing your kitchen cabinets, all while becoming familiar with basic computer science concepts, like recursion and running time analysis.Trade Review"The perfect book for novice programmers as well as developers who want to improve their knowledge of key software concepts."—Ben Dickson, TechTalks"Clear and fun to someone learning the topics for the first time. . . . overall a great read." —Jeanne Boyarsky, CodeRanch"A good book to read from beginning to end . . . a nice quick reference for reading about data structures, the complexity of each one, and for what is useful or not!"—Eduardo Blázquez, @Farenain, COSEC Lab at Charles III University of Madrid"Good overview of data structures, intuitive with good visualizations." —Lucille E Nguyen, Computational Social Scientist"A fun intro to the topic for self-taught programmers and data scientists."—Crow IntelligenceTable of ContentsIntroductionChapter 1: Information in MemoryChapter 2: Binary SearchChapter 3: Dynamic Data StructuresChapter 4: Stacks and QueuesChapter 5: Binary Search TreesChapter 6: Tries and Adapting Data StructuresChapter 7: Priority Queues and HeapsChapter 8: GridsChapter 9: Spatial TreesChapter 10: Hash TablesChapter 11: CachesChapter 12: B-TreesChapter 13: Bloom FiltersChapter 14: Skip ListsChapter 15: GraphsConclusion

    3 in stock

    £28.49

  • Microcontroller Exploits

    Penguin Random House Group Microcontroller Exploits

    1 in stock

    Book Synopsis

    1 in stock

    £38.39

  • Eloquent JavaScript 4th Edition

    Penguin Random House Group Eloquent JavaScript 4th Edition

    7 in stock

    Book Synopsis

    7 in stock

    £35.99

  • Learn Enough Developer Tools to Be Dangerous

    Pearson Education (US) Learn Enough Developer Tools to Be Dangerous

    2 in stock

    Book SynopsisMichael Hartl created the legendary Ruby on Rails Tutorial that helped jumpstart thousands of web development careers. A cofounder and principal author at Learn Enough, Hartl previously earned a Ph.D. in physics at the California Institute of Technology (Caltech), where he received a Lifetime Achievement Award for Excellence in Teaching. He is also an alumnus of Harvard University and the world-renowned Y Combinator entrepreneur program.Trade ReviewPraise for Learn Enough Tutorials "Going through Learn Enough Git is wonderful. I am actually learning. . . I've done three other Git tutorials and still felt so lost. Doing it all now makes so much sense. It's like a light bulb." --Janelle Staar "I bought the Learn Enough Command Line to Be Dangerous last fall, and it's paid off sooooo many times in my new job. During my first week, I had a manager sitting right beside me giving me the 'go here, go there, do this, etc.' Having watched, read, and done the exercises, I was confident in getting around the CLI [command-line interface]--and even had him asking, 'What was that shortcut?' For this, I thank you. Now I need a 'Learn even more CLI to be dangerouser.'" --Thomas Thackery "I must say, this Learn Enough series is a masterpiece of education. Thank you for this incredible work!" --Michael King "I want to thank you for the amazing job you have done with the tutorials. They are likely the best tutorials I have ever read." --Pedro IatzkyTable of ContentsPreface xiii About the Author xix Part I: Command Line 1 Chapter 1: Basics 3 1.1 Introduction 5 1.2 Running a Terminal 6 1.3 Our First Command 10 1.4 Man Pages 15 1.5 Editing the Line 20 1.6 Cleaning Up 23 1.7 Summary 24 Chapter 2: Manipulating Files 25 2.1 Redirecting and Appending 26 2.2 Listing 30 2.3 Renaming, Copying, Deleting 35 2.4 Summary 40 Chapter 3: Inspecting Files 43 3.1 Downloading a File 43 3.2 Making Heads and Tails of It 46 3.3 Less Is More 49 3.4 Grepping 52 3.5 Summary 58 Chapter 4: Directories 61 4.1 Directory Structure 61 4.2 Making Directories 64 4.3 Navigating Directories 66 4.4 Renaming, Copying, and Deleting Directories 70 4.5 Summary 74 4.6 Conclusion 75 Part II: Text Editor 77 Chapter 5: Introduction to Text Editors 79 5.1 Minimum Viable Vim 84 5.2 Starting Vim 85 5.3 Editing Small Files 89 5.4 Saving and Quitting Files 91 5.5 Deleting Content 96 5.6 Editing Large Files 97 5.7 Summary 101 Chapter 6: Modern Text Editors 103 6.1 Choosing a Text Editor 104 6.2 Opening 106 6.3 Moving 117 6.4 Selecting Text 119 6.5 Cut, Copy, Paste 127 6.6 Deleting and Undoing 132 6.7 Saving 135 6.8 Finding and Replacing 138 6.9 Summary 143 Chapter 7: Advanced Text Editing 145 7.1 Autocomplete and Tab Triggers 145 7.2 Writing Source Code 152 7.3 Writing an Executable Script 166 7.4 Editing Projects 175 7.5 Customization 188 7.6 Summary 191 7.7 Conclusion 193 Part III: Git 195 Chapter 8: Getting Started with Git 197 8.1 Installation and Setup 200 8.2 Initializing the Repo 203 8.3 Our First Commit 204 8.4 Viewing the Diff 208 8.5 Adding an HTML Tag 210 8.6 Adding HTML Structure 216 8.7 Summary 220 Chapter 9: Backing Up and Sharing 221 9.1 Signing Up for GitHub 221 9.2 Remote Repo 222 9.3 Adding a README 227 9.4 Summary 234 Chapter 10: Intermediate Workflow 235 10.1 Commit, Push, Repeat 235 10.2 Ignoring Files 241 10.3 Branching and Merging 243 10.4 Recovering from Errors 252 10.5 Summary 258 Chapter 11: Collaborating 259 11.1 Clone, Push, Pull 260 11.2 Pulling and Merge Conflicts 269 11.3 Pushing Branches 283 11.4 A Surprise Bonus 292 11.5 Summary 295 11.6 Advanced Setup 296 11.7 Conclusion 302 Appendix: Development Environment 305 A.1 Dev Environment Options 306 A.2 Cloud IDE 307 A.3 Native OS Setup 312 A.4 Conclusion 322 Index 323

    2 in stock

    £23.99

  • The Art Of R Programming

    No Starch Press,US The Art Of R Programming

    2 in stock

    Book SynopsisR is the world's most popular language for developing statistical software: Archaeologists use it to track the spread of ancient civilizations, drug companies use it to discover which medications are safe and effective, and actuaries use it to assess financial risks and keep economies running smoothly. The Art of R Programming takes you on a guided tour of software development with R, from basic types and data structures to advanced topics like closures, recursion, and anonymous functions. No statistical knowledge is required, and your programming skills can range from hobbyist to pro. Along the way, you'll learn about functional and object-oriented programming, running mathematical simulations, and rearranging complex data into simpler, more useful formats. You'll also learn to: Create artful graphs to visualize complex data sets and functions Write more efficient code using parallel R and vectorization Interface R with C/C++ and Python for increased speed or functionality Find nTrade Review"If a person really wants to be able to speak the R language and become a competent R programmer then . . . one can find no better guide than Norman Matloff's The Art of R Programming."—Joe Rickert, Revolution Analytics"The book I'd recommend for someone wanting to learn R, especially for someone with more experience in programming than statistics."—John D. Cook, The Endeavor"Good from cover to cover. Enough depth that the experienced R user will find useful things in the later chapters."—John Graham-Cumming“If you are serious about learning R . . . The Art of R Programming will be beneficial to you.”—Paolo Sonego, One R Tip a Day"Makes it look easy for those scientists who need to make numerical models based on statistical analysis. Serious stuff for people who are already R programmers, but it has a lot of value for entry level folks too."—Hank Campbell, Science 2.0"If you need to do statistical work as a programmer I highly recommend buying it."—Bryan Bell, Math and More"An R programming book that starts from the beginning. If you have at least a vague idea of what programming is, you should find The Art of R Programming useful. I’m keeping this one."—Nathan Yau, FlowingDataTable of ContentsAcknowledgments; Introduction; Why Use R for Your Statistical Work?; Whom Is This Book For?; My Own Background; Chapter 1: Getting Started; 1.1 How to Run R; 1.2 A First R Session; 1.3 Introduction to Functions; 1.4 Preview of Some Important R Data Structures; 1.5 Extended Example: Regression Analysis of Exam Grades; 1.6 Startup and Shutdown; 1.7 Getting Help; Chapter 2: Vectors; 2.1 Scalars, Vectors, Arrays, and Matrices; 2.2 Declarations; 2.3 Recycling; 2.4 Common Vector Operations; 2.5 Using all() and any(); 2.6 Vectorized Operations; 2.7 NA and NULL Values; 2.8 Filtering; 2.9 A Vectorized if-then-else: The ifelse() Function; 2.10 Testing Vector Equality; 2.11 Vector Element Names; 2.12 More on c(); Chapter 3: Matrices and Arrays; 3.1 Creating Matrices; 3.2 General Matrix Operations; 3.3 Applying Functions to Matrix Rows and Columns; 3.4 Adding and Deleting Matrix Rows and Columns; 3.5 More on the Vector/Matrix Distinction; 3.6 Avoiding Unintended Dimension Reduction; 3.7 Naming Matrix Rows and Columns; 3.8 Higher-Dimensional Arrays; Chapter 4: Lists; 4.1 Creating Lists; 4.2 General List Operations; 4.3 Accessing List Components and Values; 4.4 Applying Functions to Lists; 4.5 Recursive Lists; Chapter 5: Data Frames; 5.1 Creating Data Frames; 5.2 Other Matrix-Like Operations; 5.3 Merging Data Frames; 5.4 Applying Functions to Data Frames; Chapter 6: Factors and Tables; 6.1 Factors and Levels; 6.2 Common Functions Used with Factors; 6.3 Working with Tables; 6.4 Other Factor- and Table-Related Functions; Chapter 7: R Programming Structures; 7.1 Control Statements; 7.2 Arithmetic and Boolean Operators and Values; 7.3 Default Values for Arguments; 7.4 Return Values; 7.5 Functions Are Objects; 7.6 Environment and Scope Issues; 7.7 No Pointers in R; 7.8 Writing Upstairs; 7.9 Recursion; 7.10 Replacement Functions; 7.11 Tools for Composing Function Code; 7.12 Writing Your Own Binary Operations; 7.13 Anonymous Functions; Chapter 8: Doing Math and Simulations in R; 8.1 Math Functions; 8.2 Functions for Statistical Distributions; 8.3 Sorting; 8.4 Linear Algebra Operations on Vectors and Matrices; 8.5 Set Operations; 8.6 Simulation Programming in R; Chapter 9: Object-Oriented Programming; 9.1 S3 Classes; 9.2 S4 Classes; 9.3 S3 Versus S4; 9.4 Managing Your Objects; Chapter 10: Input/Output; 10.1 Accessing the Keyboard and Monitor; 10.2 Reading and Writing Files; 10.3 Accessing the Internet; Chapter 11: String Manipulation; 11.1 An Overview of String-Manipulation Functions; 11.2 Regular Expressions; 11.3 Use of String Utilities in the edtdbg Debugging Tool; Chapter 12: Graphics; 12.1 Creating Graphs; 12.2 Customizing Graphs; 12.3 Saving Graphs to Files; 12.4 Creating Three-Dimensional Plots; Chapter 13: Debugging; 13.1 Fundamental Principles of Debugging; 13.2 Why Use a Debugging Tool?; 13.3 Using R Debugging Facilities; 13.4 Moving Up in the World: More Convenient Debugging Tools; 13.5 Ensuring Consistency in Debugging Simulation Code; 13.6 Syntax and Runtime Errors; 13.7 Running GDB on R Itself; Chapter 14: Performance Enhancement: Speed and Memory; 14.1 Writing Fast R Code; 14.2 The Dreaded for Loop; 14.3 Functional Programming and Memory Issues; 14.4 Using Rprof() to Find Slow Spots in Your Code; 14.5 Byte Code Compilation; 14.6 Oh No, the Data Doesn't Fit into Memory!; Chapter 15: Interfacing R to Other Languages; 15.1 Writing C/C++ Functions to Be Called from R; 15.2 Using R from Python; Chapter 16: Parallel R; 16.1 The Mutual Outlinks Problem; 16.2 Introducing the snow Package; 16.3 Resorting to C; 16.4 General Performance Considerations; 16.5 Debugging Parallel R Code; Installing R; Downloading R from CRAN; Installing from a Linux Package Manager; Installing from Source; Installing and Using Packages; Package Basics; Loading a Package from Your Hard Drive; Downloading a Package from the Web; Listing the Functions in a Package; Colophon;

    2 in stock

    £30.39

  • Effective C: An Introduction to Professional C

    No Starch Press,US Effective C: An Introduction to Professional C

    2 in stock

    Book SynopsisWritten by renowned author Robert Seacord, Effective C is an in-depth look at the C programming language. Seacord introduces the language's basic data types and code structures while simultaneously addressing best practices, common errors, and open debates in the C community. Readers will also learn how to debug, test, and analyze C programs and benefit from detailed yet concise explanations of C language constructs and behaviorsTrade Review"A worthwhile addition to a C programmer’s bookshelf." —Ian Bruntlett, ACCU"Effective C will teach you C programming for the modern era...This book's emphasis on the security aspects of C programming is unmatched. My personal recommendation is that, after reading it, you use all of the available tools it presents to avoid undefined behavior in the C programs you write. —Pascal Cuoq, Chief Scientist, TrustInSoft"An excellent introduction to Modern C." —Francis Glassborow, ACCU"A really, really good C book that does not talk down to you."—Stephan Neuhaus, @stephanneuhaus1"An updated and relevant version of what you may be coding. I'm a fan."—Christoff Sogon, @sogonsecTable of ContentsIntroductionChapter 1: Getting StartedChapter 2: Objects, Functions, and TypesChapter 3: Arithmetic TypesChapter 4: Expressions and OperatorsChapter 5: Control FlowChapter 6: Dynamically Allocated MemoryChapter 7: Characters and StringsChapter 8: Input/OutputChapter 9: PreprocessorChapter 10: Program StructureChapter 11: Debugging, Testing, and AnalysisIndex

    2 in stock

    £35.99

  • The Art Of Clean Code: Best Practices to

    No Starch Press,US The Art Of Clean Code: Best Practices to

    3 in stock

    Book SynopsisMost software developers waste thousands of hours working with overly complex code. The eight core principles in The Art of Clean Coding will teach you how to write clear, maintainable code without compromising functionality. The book's guiding principle is simplicity: reduce and simplify, then reinvest energy in the important parts to save you countless hours and ease the often-onerous task of code maintenance. Bestselling author Christian Mayer leverages his experience helping thousands perfect their coding skills in this new book.Trade Review"An excellent book packed full of insights that every programmer (and project manager) should know." —Tim Cox, Author of Raspberry Pi Cookbook for Python Programmers"An extremely readable book . . . Readers of this book will likely come away as believers in a more minimalistic mindset. Moreover, the book lives up to its title. The lessons taught can be applied not only in coding but also toward making the reader’s life generally more productive and successful."—Lee Teschler, Microcontroller Tips"A great source to learn about the basic principles of clean code and best practices to get better at coding . . . Reading this book saves you time and teaches valuable skills, so go for it!" —Crow Intelligence"I very much enjoyed [The Art of Clean Code], and definitely would recommend it to anybody, not just programmers or related, but anybody, as it does apply to nearly everyone, if they can think outside the box!" —Lukas Batema, Founder of BatemaDevelopment

    3 in stock

    £24.64

  • The Art of Randomness

    Penguin Random House Group The Art of Randomness

    1 in stock

    Book Synopsis

    1 in stock

    £35.99

  • The Android Malware Handbook: Using Manual

    No Starch Press,US The Android Malware Handbook: Using Manual

    1 in stock

    Book SynopsisThis comprehensive guide to Android malware introduces current threats facing the world's most widely used operating system. After exploring the history of attacks seen in the wild since the time Android first launched, including several malware families previously absent from the literature, you'll practice static and dynamic approaches to analysing real malware specimens. Next, you'll examine the machine-learning techniques used to detect malicious apps, the types of classification models that defenders can use, and the various features of malware specimens that can become input to these models. You'll then adapt these machine-learning strategies to the identification of malware categories like banking trojans, ransomware, and SMS fraud. You'll learn: How historical Android malware can elevate your understanding of current threats; How to manually identify and analyse current Android malware using static and dynamic reverse-engineering tools; How machine-learning algorithms can analTrade Review"A comprehensive introduction to Android malware and its analysis."—Maik Morgenstern, CTO at AV-TEST"An indispensable resource for both security professionals and enthusiasts, offering unparalleled insights into the intricacies of Android malware and empowering readers to effectively guard against this pervasive threat."—Dimitrios Valsamaras, Senior Security Researcher at Microsoft (formerly worked on Android at Google)Table of ContentsForewordIntroductionPart 1: A Primer on Android MalwareChapter 1: Introduction to Android SecurityChapter 2: Android Malware in the WildPart 2: Manual AnalysisChapter 3: Static AnalysisChapter 4: Dynamic AnalysisPart 3: Machine Learning DetectionChapter 5: Machine Learning FundamentalsChapter 6: Machine Learning FeaturesChapter 7: Rooting MalwareChapter 8: SpywareChapter 9: Banking TrojansChapter 10: RansomwareChapter 11: SMS FraudChapter 12: The Future of Android MalwareIndex

    1 in stock

    £35.99

  • Math Hacks for Scratch

    Penguin Random House Group Math Hacks for Scratch

    1 in stock

    Book Synopsis

    1 in stock

    £17.99

  • Programming in C

    Pearson Education (US) Programming in C

    3 in stock

    Book SynopsisTable of Contents Introduction 1 1 Some Fundamentals 5 Programming 5 Higher-Level Languages 5 Operating Systems 6 Compiling Programs 7 Integrated Development Environments 10 Language Interpreters 10 2 Compiling and Running Your First Program 11 Compiling Your Program 12 Running Your Program 12 Understanding Your First Program 13 Displaying the Values of Variables 15 Comments 17 Exercises 19 3 Variables, Data Types, and Arithmetic Expressions 21 Understanding Data Types and Constants 21 The Integer Type int 22 The Floating Number Type float 23 The Extended Precision Type double 23 The Single Character Type char 24 The Boolean Data Type _Bool 24 Type Specifiers: long, long long, short, unsigned, and signed 26 Working with Variables 29 Working with Arithmetic Expressions 30 Integer Arithmetic and the Unary Minus Operator 33 Combining Operations with Assignment: The Assignment Operators 39 Types _Complex and _Imaginary 40 Exercises 40 4 Program Looping 43 Triangular Numbers 43 The for Statement 44 Relational Operators 46 Aligning Output 50 Program Input 51 Nested for Loops 53 for Loop Variants 55 The while Statement 56 The do Statement 60 The break Statement 62 The continue Statement 62 Exercises 63 5 Making Decisions 65 The if Statement 65 The if-else Construct 69 Compound Relational Tests 72 Nested if Statements 74 The else if Construct 76 The switch Statement 83 Boolean Variables 86 The Conditional Operator 90 Exercises 92 6 Working with Arrays 95 Defining an Array 96 Using Array Elements as Counters 100 Generating Fibonacci Numbers 103 Using an Array to Generate Prime Numbers 104 Initializing Arrays 106 Character Arrays 108 Base Conversion Using Arrays 109 The const Qualifier 111 Multidimensional Arrays 113 Variable Length Arrays 115 Exercises 117 7 Working with Functions 119 Defining a Function 119 Arguments and Local Variables 123 Function Prototype Declaration 124 Automatic Local Variables 124 Returning Function Results 126 Functions Calling Functions Calling... 130 Declaring Return Types and Argument Types 133 Checking Function Arguments 135 Top-Down Programming 137 Functions and Arrays 137 Assignment Operators 141 Sorting Arrays 143 Multidimensional Arrays 146 Global Variables 151 Automatic and Static Variables 155 Recursive Functions 158 Exercises 161 8 Working with Structures 163 The Basics of Structures 163 A Structure for Storing the Date 164 Using Structures in Expressions 166 Functions and Structures 169 A Structure for Storing the Time 175 Initializing Structures 178 Compound Literals 178 Arrays of Structures 180 Structures Containing Structures 183 Structures Containing Arrays 185 Structure Variants 189 Exercises 190 9 Character Strings 193 Revisiting the Basics of Strings 193 Arrays of Characters 194 Variable-Length Character Strings 197 Initializing and Displaying Character Strings 199 Testing Two Character Strings for Equality 202 Inputting Character Strings 204 Single-Character Input 206 The Null String 211 Escape Characters 215 More on Constant Strings 217 Character Strings, Structures, and Arrays 218 A Better Search Method 221 Character Operations 226 Exercises 229 10 Pointers 233 Pointers and Indirection 233 Defining a Pointer Variable 234 Using Pointers in Expressions 237 Working with Pointers and Structures 239 Structures Containing Pointers 241 Linked Lists 243 The Keyword const and Pointers 251 Pointers and Functions 252 Pointers and Arrays 258 A Slight Digression About Program Optimization 262 Is It an Array or Is It a Pointer? 262 Pointers to Character Strings 264 Constant Character Strings and Pointers 266 The Increment and Decrement Operators Revisited 267 Operations on Pointers 271 Pointers to Functions 272 Pointers and Memory Addresses 273 Exercises 275 11 Operations on Bits 277 The Basics of Bits 277 Bit Operators 278 The Bitwise AND Operator 279 The Bitwise Inclusive-OR Operator 281 The Bitwise Exclusive-OR Operator 282 The Ones Complement Operator 283 The Left Shift Operator 285 The Right Shift Operator 286 A Shift Function 286 Rotating Bits 288 Bit Fields 291 Exercises 295 12 The Preprocessor 297 The #define Statement 297 Program Extendability 301 Program Portability 302 More Advanced Types of Definitions 304 The # Operator 309 The ## Operator 310 The #include Statement 311 System Include Files 313 Conditional Compilation 314 The #ifdef, #endif, #else, and #ifndef Statements 314 The #if and #elif Preprocessor Statements 316 The #undef Statement 317 Exercises 318 13 Extending Data Types with the Enumerated Data Type, Type Definitions, and Data Type Conversions 319 Enumerated Data Types 319 The typedef Statement 323 Data Type Conversions 325 Sign Extension 327 Argument Conversion 328 Exercises 329 14 Working with Larger Programs 331 Dividing Your Program into Multiple Files 331 Compiling Multiple Source Files from the Command Line 332 Communication Between Modules 334 External Variables 334 Static Versus Extern Variables and Functions 337 Using Header Files Effectively 339 Other Utilities for Working with Larger Programs 341 The make Utility 341 The cvs Utility 343 Unix Utilities: ar, grep, sed, and so on 343 15 Input and Output Operations in C 345 Character I/O: getchar() and putchar() 346 Formatted I/O: printf() and scanf() 346 The printf() Function 346 The scanf() Function 353 Input and Output Operations with Files 358 Redirecting I/O to a File 358 End of File 361 Special Functions for Working with Files 362 The fopen Function 362 The getc() and putc() Functions 364 The fclose() Function 365 The feof Function 367 The fprintf() and fscanf() Functions 367 The fgets() and fputs() Functions 367 stdin, stdout, and stderr 368 The exit() Function 369 Renaming and Removing Files 370 Exercises 371 16 Miscellaneous and Advanced Features 373 Miscellaneous Language Statements 373 The goto Statement 373 The null Statement 374 Working with Unions 375 The Comma Operator 378 Type Qualifiers 379 The register Qualifier 379 The volatile Qualifier 379 The restrict Qualifier 379 Command-line Arguments 380 Dynamic Memory Allocation 384 The calloc() and malloc() Functions 385 The sizeof Operator 385 The free Function 387 Exercises 389 17 Debugging Programs 391 Debugging with the Preprocessor 391 Debugging Programs with gdb 397 Working with Variables 400 Source File Display 401 Controlling Program Execution 402 Getting a Stack Trace 406 Calling Functions and Setting Arrays and Structures 407 Getting Help with gdb Commands 408 Odds and Ends 410 18 Object-Oriented Programming 413 What Is an Object Anyway? 413 Instances and Methods 414 Writing a C Program to Work with Fractions 416 Defining an Objective-C Class to Work with Fractions 417 Defining a C++ Class to Work with Fractions 421 Defining a C# Class to Work with Fractions 424 A C Language Summary 427 B The Standard C Library 471 C Compiling Programs with gcc 495 D Common Programming Mistakes 499 E Resources 505 TOC, 9780321776419, 7/28/2014

    3 in stock

    £33.29

  • Java The Complete Reference Thirteenth Edition

    McGraw-Hill Education Java The Complete Reference Thirteenth Edition

    Book SynopsisThe definitive guide to Java programmingâthoroughly revised for Java SE 21Fully updated for Java SE 21, Javaâ: The Complete Reference, Thirteenth Edition explains how to develop, compile, debug, and run Java programs. Best-selling programming author Herb Schildt and Dr. Danny Coward cover the entire Java language, including its syntax, keywords, and fundamental programming principles. Youâll also find information on key portions of the Java API library, such as I/O, the Collections Framework, the stream library, and the concurrency utilities. Swing, JavaBeans, and servlets are examined, and numerous examples demonstrate Java in action. Recent additions to the Java platform, such as pattern matching in switch statements, record patterns, sequenced collections and virtual threads are also discussed in detail. Best of all, the book is written in the clear, crisp, uncompromising style that has made Schildt and Coward the choice of millions worldwide.&nbs

    £40.49

  • Driving Value with Sprint Goals

    Pearson Education (US) Driving Value with Sprint Goals

    20 in stock

    Book SynopsisMaarten Dalmijn is a consultant, speaker and trainer at Dalmijn Consulting. Maarten helps teams to beat the feature factory all over the world. Millions of practitioners have read his best-practice articles on Agile, Scrum, and Product Management. He specializes in helping companies to build empowered teams that can discover better ways of delivering value. Maarten is a frequent speaker at Fortune 500 companies, government organizations and international industry conferences. He has worked with many award-winning start-ups and scale-ups. Maarten is an ambassador and editor at Serious Scrum, the largest Scrum publication on Medium.Trade Review"Maarten masterfully bridges the gap between Scrum and product management. If you want to create products that truly make a difference, you need to read this book."--Pawel Huryn, Author, Product Coach "It is not just a book on Sprint Goals. It's an essential read for all those who work in a complex environment and try to make sense of things. "Maarten not only writes about Sprint Goals, but he also explains the hardest part of agile--what agile mindset means. This book will lead you to experience many breakthroughs. From what Scrum really is about, through why copy-pasting a scaling framework is not a recipe for success, to the biggest of them all--a breakthrough from a project-driven mentality to an agile one."--Maria Chec, Head of Agile Practice and Creator at Agile State of Mind "Maarten's relentless focus on value delivery instead of mechanically churning out new features is a breath of fresh air. This book will help you to up your game, align around value, and use the power of sprint goals to build great products."--Chris Stone, The Virtual Agile Coach "This book is a must-read if you want to understand Scrum's essence and empower your team. Instead of covering how to do Scrum right, Maarten shows you how to leverage the framework to deliver value. Intertwined with personal stories and history lessons, you'll find concrete examples, models, and practical advice to help you build empowered teams that deliver the desired outcomes."--Jenny Herald, VP of Evangelism at Quantive and host of the Dreams with Deadlines podcast "Starting with some schoolchildren dropped in the dark on an island who manage to find their way back, the author explains in a down-to-earth way how breaking projects down into sprints helps us to overcome the universal problem of friction. The book brings insights to daily practice in a clear, simple, and engaging way."--Stephen Bungay, author of The Art of Action "I don't think there is anything like it in the area of Scrum. It reads like a novel and is stuffed full of brilliant ideas and insights. Maarten has a knack for illustrating complex concepts with inspiring examples completely unrelated to Scrum and Agile. This book will change the way you think about Scrum and Agile. I would recommend it to anyone remotely interested in a new way of working!"--Erik de Bos, writer of the Agile Thoughts newsletter "'Sprint Goals are the beating heart of Scrum,' writes Maarten Dalmijn, and this couldn't be truer. Without them, Scrum falls apart. Unfortunately, we know from scientific research that many Scrum teams don't use Sprint Goals or struggle greatly with them. This book makes a powerful argument for why Scrum teams need Sprint Goals and offers invaluable anecdotes, practical tips, and guidelines to help you get started right away."--Christiaan Verwijs, author of the Zombie Scrum Survival Guide, co-founder of The Liberators, and Professional Scrum Trainer at Scrum.org "If you're looking for a Sprint Goal-writing recipe book to blindly follow, this is not the book for you. If you are looking for an engaging tour of ideas, which helps you discover the ecosystem to create meaningful goals, you'd be wise to read this book."--Jem Jelly, Certified Scrum Trainer & ConsultantTable of ContentsForeword by Jurgen Appelo xviiForeword by Janna Bastow xixIntroduction xxiAcknowledgments xxvAbout the Author xxvii Part I: Why Goals Matter 1 Chapter 1: Imperfect Plans, Flawed Execution, and Unpredictable Results 3Dealing with the "Fog of Beforehand" One Step at a Time 4Facing the Unknown in Software Development 6How the Agile Manifesto Covers Common Anti-Patterns for Dealing with Friction 15Key Takeaways 16 Chapter 2: More Friction, More Surprises 19The Cynefin Model: Being Aware of Your Situation 20Key Takeaways 32 Chapter 3: Countering Friction by Leading with Intent 33The Tragedy of Following the Plan and the Resulting Transformation of the Prussian and German Army 34Auftragstaktik: Obeying Intent Rather Than Blindly Following Orders 35Closing the Three Gaps by Leading with Intent 36Turn the Ship Around: Intent-Based Leadership on a Submarine 38Key Takeaways 41 Chapter 4: Tales of Opposing Goals 43Why Do Common Goals Matter? 43Working Together with Opposing Goals 44Surviving in Roadmap Hell 46How Do Common Goals Enable Teamwork? 48Key Takeaways 49Part I Overall Takeaways 49 Part II: Sprint Goals Are the Beating Heart of Scrum 51 Chapter 5: A Featherlight Introduction to Scrum 53Scrum: Sprinting One Step at a Time53The Sprint Contains All Scrum Events 55Scrum Deals with Friction Through Feedback Loops 61Key Takeaways 64 Chapter 6: The Fundamental Role of Sprint Goals in Scrum 67The Essence of Scrum: Sprint with a Goal 67What Are the Scrum Artifacts Together with Their Commitments? 71How Do Product Goals Fit In? 72How Does Scrum Help with Countering Friction and Dealing with Surprises? 74Key Takeaways 76 Chapter 7: What Happens When You Don't Use Sprint Goals? 77Sprint Loses Its Purpose and the Sprint Backlog Becomes the Goal 77Following the Plan Becomes More Important Than Meeting the Objective 78Everything in the Sprint Becomes Equally Important 79Working Without Sprint Goals Leads to Technical Debt 79No Control Over What Gets Finished 80Key Takeaways 81 Chapter 8: Two Very Different Versions of Scrum 83Why Do Many People Believe Scrum Isn't Agile? 84Anaconda-Style Scrum and Hummingbird-Style Scrum in Practice 86Key Takeaways 92Part II Overall Takeaways 92 Part III: Driving Value with Sprint Goals 95 Chapter 9: Creating Sprint Goals 97What Is a Sprint Goal? 97Crafting Sprint Goals with the FOCUS Mnemonic 98Key Takeaways 102 Chapter 10: Sprint Goals in Practice at the Scrum Events 103Why Should You Start Discussing the Sprint Goal at the Sprint Review? 103Crafting a Sprint Goal During Sprint Planning 106Why You Shouldn't Plan Your Sprint at Full Capacity 107Creating a Sprint Goal Without a Refined Product Backlog 111The Sprint Goal at the Daily Scrum 112The Sprint Goal at the Sprint Review113The Sprint Goal at the Sprint Retrospective 114Key Takeaways 115 Chapter 11: More Features, More Value? 117How Does Our Product Deliver Value? 117Selling Rocks as Pets 119The Cookie Store That Was Guaranteed to Fail 119Value Is Multifaceted and a Matter of Perspective 120Value Is a Tricky Subject 121Building a Product Starts with Listening 122The Three Types of Uncertainty 123The Cobra Effect: When Exterminating Cobras Causes a Cobra Population Boom 124Having Outputs Drive the Right Outcomes 125Meeting Aggressive Timelines Is Often the Biggest Enemy of Delivering Value 126Focusing on Meeting Specifications Limits You to Beforehand Knowledge 127Why You Should Stop Obsessing Over Your Velocity 128All Features Are Innocent of Delivering Value Until Proven Guilty 128Output Focus: People Don't Want a Quarter-Inch Drill 129Key Takeaways 130 Chapter 12: Driving Outcomes with Outputs 131Having Only Features on Your Product Backlog Is Not Good Enough 131A Single Metric to Rule Them All? 132Why Should Your Product Backlog Be Short? 136Don't Waste Too Much Time on "A Priori" Prioritization 137Key Takeaways 139 Chapter 13: Product Vision: A Purposeful Direction for Your Product 141Dispelling the Mystery of a Product Vision 141The Lab Mouse Meant for Bigger Things 143The Swiss Aerodynamics Engineer Who Married an Italian Woman 144Key Takeaways 146 Chapter 14: Product Strategy 147Strategy Means Striking at Weakness 148Strategy Is Designing a Way to Deal with a Challenge 149Key Takeaways 151Part III Overall Takeaways 152 Part IV: Overcoming Common Sprint Goal Obstacles 155 Chapter 15: Scrum Anti-Patterns That Amplify Friction and Surprises 157Spikes for Everything: Knowledge Gap 158Christmas Wish List Backlog: Knowledge Gap 160Groundhog Day Refinement: Knowledge Gap 161Eternal Sprint Planning: Knowledge and Alignment Gaps 162Interruption Planning: Alignment Gap 163Definition of Ready: Knowledge and Effects Gaps 163Fixating on Pretty Burn-Down Charts: Knowledge, Alignment, and Effects Gaps 164Embrace Not Knowing and Act in the Moment 165Key Takeaways 166 Chapter 16: Dealing with Common Sprint Goal Obstacles 167Too Many Competing Priorities 167Impossible to Set a Single Sprint Goal 169The Sprint Backlog Is the Goal 169The Sprint Goal as an Afterthought 170Sprint Goals Tied to the Solution Direction 171The Product Owner Decides the Sprint Goal 171Too Many Dependencies on Other Teams 172The Team Is Scared to Commit to a Sprint Goal 174Too Much WIP (Work in Progress) 175Opposing Goals Between Teams 176Management Love for the Feature Factory 177OKR-Induced Friction 178Key Takeaways 180 Chapter 17: From Stakeholder Management to Stakeholder Inclusion 181Working in a State of Perpetual Displeasure 182Why Should You Include Your Stakeholders? 185How Do You Include Your Stakeholders? 186Dealing with Stakeholders Means Controlling Your Emotions 187Key Takeaways 188 Chapter 18: Scaling Scrum Without Frameworks 191Why Your Development Team Structure Might Be Slowing You Down 191Fix Your Problems: Do Not Expect That from a Scaling Framework 193Why Do Scaling Issues Happen? 195What to Do Instead of Defaulting to a Scaling Framework 197Key Takeaways 201 Chapter 19: Empowering Teams to Discover Better Ways of Delivering Value 203Making Music Without Making a Sound 203It All Starts with Addressing Beliefs 206Trying Things Out Requires Psychological Safety 207What Does an Empowered Scrum Team Look Like? 208How Do You Provide Sufficient Direction and Context? 209Create a Model for How Your Product Delivers Value 210Discovery, Delivery, and Validation 210Scrum Is About Discovering Better Ways of Delivering Value 212 Index 217

    20 in stock

    £26.99

  • The Algorithm Design Manual

    Springer Nature Switzerland AG The Algorithm Design Manual

    1 in stock

    Book Synopsis"My absolute favorite for this kind of interview preparation is Steven Skiena’s The Algorithm Design Manual. More than any other book it helped me understand just how astonishingly commonplace … graph problems are -- they should be part of every working programmer’s toolkit. The book also covers basic data structures and sorting algorithms, which is a nice bonus. … every 1 – pager has a simple picture, making it easy to remember. This is a great way to learn how to identify hundreds of problem types." (Steve Yegge, Get that Job at Google)"Steven Skiena’s Algorithm Design Manual retains its title as the best and most comprehensive practical algorithm guide to help identify and solve problems. … Every programmer should read this book, and anyone working in the field should keep it close to hand. … This is the best investment … a programmer or aspiring programmer can make." (Harold Thimbleby, Times Higher Education)"It is wonderful to open to a random spot and discover an interesting algorithm. This is the only textbook I felt compelled to bring with me out of my student days.... The color really adds a lot of energy to the new edition of the book!" (Cory Bart, University of Delaware)"The is the most approachable book on algorithms I have." (Megan Squire, Elon University)---This newly expanded and updated third edition of the best-selling classic continues to take the "mystery" out of designing algorithms, and analyzing their efficiency. It serves as the primary textbook of choice for algorithm design courses and interview self-study, while maintaining its status as the premier practical reference guide to algorithms for programmers, researchers, and students. The reader-friendly Algorithm Design Manual provides straightforward access to combinatorial algorithms technology, stressing design over analysis. The first part, Practical Algorithm Design, provides accessible instruction on methods for designing and analyzing computer algorithms. The second part, the Hitchhiker's Guide to Algorithms, is intended for browsing and reference, and comprises the catalog of algorithmic resources, implementations, and an extensive bibliography. NEW to the third edition: -- New and expanded coverage of randomized algorithms, hashing, divide and conquer, approximation algorithms, and quantum computing -- Provides full online support for lecturers, including an improved website component with lecture slides and videos -- Full color illustrations and code instantly clarify difficult concepts -- Includes several new "war stories" relating experiences from real-world applications -- Over 100 new problems, including programming-challenge problems from LeetCode and Hackerrank. -- Provides up-to-date links leading to the best implementations available in C, C++, and Java Additional Learning Tools: -- Contains a unique catalog identifying the 75 algorithmic problems that arise most often in practice, leading the reader down the right path to solve them -- Exercises include "job interview problems" from major software companies -- Highlighted "take home lessons" emphasize essential concepts -- The "no theorem-proof" style provides a uniquely accessible and intuitive approach to a challenging subject -- Many algorithms are presented with actual code (written in C) -- Provides comprehensive references to both survey articles and the primary literature Written by a well-known algorithms researcher who received the IEEE Computer Science and Engineering Teaching Award, this substantially enhanced third edition of The Algorithm Design Manual is an essential learning tool for students and professionals needed a solid grounding in algorithms. Professor Skiena is also the author of the popular Springer texts, The Data Science Design Manual and Programming Challenges: The Programming Contest Training Manual.Table of ContentsIntroduction to Algorithm DesignAlgorithm AnalysisData StructuresSorting and SearchingDivide and ConquerRandomized Algorithms and HashingGraph TraversalWeighted Graph AlgorithmsCombinatorial Search and Heuristic MethodsDynamic ProgrammingNP-CompletenessDealing with Hard Problems How to Design Algorithms14 A Catalog of Algorithmic Problems 43715 Data Structures 43915.1 Dictionaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44015.2 Priority Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44515.3 Sux Trees and Arrays . . . . . . . . . . . . . . . . . . . . . . . 44815.4 Graph Data Structures . . . . . . . . . . . . . . . . . . . . . . . . 45215.5 Set Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . 45615.6 Kd-Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46016 Numerical Problems 46516.1 Solving Linear Equations . . . . . . . . . . . . . . . . . . . . . . 46716.2 Bandwidth Reduction . . . . . . . . . . . . . . . . . . . . . . . . 47016.3 Matrix Multiplication . . . . . . . . . . . . . . . . . . . . . . . . 47216.4 Determinants and Permanents . . . . . . . . . . . . . . . . . . . 47516.5 Constrained/Unconstrained Optimization . . . . . . . . . . . . . 47816.6 Linear Programming . . . . . . . . . . . . . . . . . . . . . . . . . 48216.7 Random Number Generation . . . . . . . . . . . . . . . . . . . . 48616.8 Factoring and Primality Testing . . . . . . . . . . . . . . . . . . . 49016.9 Arbitrary-Precision Arithmetic . . . . . . . . . . . . . . . . . . . 49316.10Knapsack Problem . . . . . . . . . . . . . . . . . . . . . . . . . . 49716.11Discrete Fourier Transform . . . . . . . . . . . . . . . . . . . . . 50117 Combinatorial Problems 50517.1 Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50617.2 Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51017.3 Median and Selection . . . . . . . . . . . . . . . . . . . . . . . . . 51417.4 Generating Permutations . . . . . . . . . . . . . . . . . . . . . . 51717.5 Generating Subsets . . . . . . . . . . . . . . . . . . . . . . . . . . 52117.6 Generating Partitions . . . . . . . . . . . . . . . . . . . . . . . . 52417.7 Generating Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . 52817.8 Calendrical Calculations . . . . . . . . . . . . . . . . . . . . . . . 53217.9 Job Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53417.10Satisability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53718 Graph Problems: Polynomial-Time 54118.1 Connected Components . . . . . . . . . . . . . . . . . . . . . . . 54218.2 Topological Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . 54618.3 Minimum Spanning Tree . . . . . . . . . . . . . . . . . . . . . . . 54918.4 Shortest Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55418.5 Transitive Closure and Reduction . . . . . . . . . . . . . . . . . . 55918.6 Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56218.7 Eulerian Cycle/Chinese Postman . . . . . . . . . . . . . . . . . . 56518.8 Edge and Vertex Connectivity . . . . . . . . . . . . . . . . . . . . 56816 CONTENTS18.9 Network Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57118.10Drawing Graphs Nicely . . . . . . . . . . . . . . . . . . . . . . . 57418.11Drawing Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57818.12Planarity Detection and Embedding . . . . . . . . . . . . . . . . 58119 Graph Problems: NP-Hard 58519.1 Clique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58619.2 Independent Set . . . . . . . . . . . . . . . . . . . . . . . . . . . 58919.3 Vertex Cover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59119.4 Traveling Salesman Problem . . . . . . . . . . . . . . . . . . . . . 59419.5 Hamiltonian Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . 59819.6 Graph Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60119.7 Vertex Coloring . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60419.8 Edge Coloring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60819.9 Graph Isomorphism . . . . . . . . . . . . . . . . . . . . . . . . . 61019.10Steiner Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61419.11Feedback Edge/Vertex Set . . . . . . . . . . . . . . . . . . . . . . 61820 Computational Geometry 62120.1 Robust Geometric Primitives . . . . . . . . . . . . . . . . . . . . 62220.2 Convex Hull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62620.3 Triangulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63020.4 Voronoi Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . 63420.5 Nearest Neighbor Search . . . . . . . . . . . . . . . . . . . . . . . 63720.6 Range Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64120.7 Point Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64420.8 Intersection Detection . . . . . . . . . . . . . . . . . . . . . . . . 64820.9 Bin Packing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65220.10Medial-Axis Transform . . . . . . . . . . . . . . . . . . . . . . . . 65520.11Polygon Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . 65820.12Simplifying Polygons . . . . . . . . . . . . . . . . . . . . . . . . . 66120.13Shape Similarity . . . . . . . . . . . . . . . . . . . . . . . . . . . 66420.14Motion Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . 66720.15Maintaining Line Arrangements . . . . . . . . . . . . . . . . . . . 67120.16Minkowski Sum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67421 Set and String Problems 67721.1 Set Cover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67821.2 Set Packing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68221.3 String Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . 68521.4 Approximate String Matching . . . . . . . . . . . . . . . . . . . . 68821.5 Text Compression . . . . . . . . . . . . . . . . . . . . . . . . . . 69321.6 Cryptography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69721.7 Finite State Machine Minimization . . . . . . . . . . . . . . . . . 70221.8 Longest Common Substring/Subsequence . . . . . . . . . . . . . 70621.9 Shortest Common Superstring . . . . . . . . . . . . . . . . . . . . 709CONTENTS 1722 Algorithmic Resources 71322.1 Algorithm Libraries . . . . . . . . . . . . . . . . . . . . . . . . . 71322.1.1 LEDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71322.1.2 CGAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71422.1.3 Boost Graph Library . . . . . . . . . . . . . . . . . . . . . 71422.1.4 Netlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71422.1.5 Collected Algorithms of the ACM . . . . . . . . . . . . . 71522.1.6 GitHub and SourceForge . . . . . . . . . . . . . . . . . . . 71522.1.7 The Stanford GraphBase . . . . . . . . . . . . . . . . . . 71522.1.8 Combinatorica . . . . . . . . . . . . . . . . . . . . . . . . 71622.1.9 Programs from Books . . . . . . . . . . . . . . . . . . . . 71622.2 Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71722.3 Online Bibliographic Resources . . . . . . . . . . . . . . . . . . . 71822.4 Professional Consulting Services . . . . . . . . . . . . . . . . . . 71823 Bibliography 719Index 771

    1 in stock

    £58.49

  • Bayesian Statistics The Fun Way

    No Starch Press,US Bayesian Statistics The Fun Way

    3 in stock

    Book SynopsisBayesian Statistics the Fun Way gets you understanding the theory behind data analysis without making you slog through a load of dry concepts first - with no programming experience necessary. You'll learn about probability with LEGO, statistics through Star Wars, distributions with bomb fuses, estimation through precipitation, and come away with some strong mathematical reasoning skills. This is a super approachable book for people who need to do data science and probability work in their lives, but never got a good grip on the underlying theory.Trade Review"An excellent introduction to subjects critical to all data scientists."—Inside Big Data"The author uses great examples to clarify key concepts . . . I would highly recommend as a supplement for any stats student or professional looking to refresh on Bayesian statistics." —Stan T., Design Collective

    3 in stock

    £28.04

  • Python Data Science Handbook

    O'Reilly Media Python Data Science Handbook

    Book SynopsisWorking scientists and data crunchers familiar with reading and writing Python code will find the second edition of this comprehensive desk reference ideal for tackling day-to-day issues: manipulating, transforming, and cleaning data; visualizing different types of data; and using data to build statistical or machine learning models.

    £47.99

  • Cybersecurity Tabletop Exercises

    Penguin Random House Group Cybersecurity Tabletop Exercises

    2 in stock

    Book Synopsis

    2 in stock

    £42.74

  • Rust For Rustaceans: Idiomatic Programming for

    No Starch Press,US Rust For Rustaceans: Idiomatic Programming for

    1 in stock

    Book SynopsisFor developers who've mastered the basics, this book is the next step on your way to professional-level programming in Rust. It covers everything you need to build and maintain larger code bases, write powerful and flexible applications and libraries, and confidently expand the scope and complexity of your projects. Author Jon Gjengset takes you deep into the Rust programming language, dissecting core topics like ownership, traits, concurrency, and unsafe code. You'll explore key concepts like type layout and trait coherence, delve into the inner workings of concurrent programming and asynchrony with async/await, and take a tour of the world of no_std programming. Gjengset also provides expert guidance on API design, testing strategies, and error handling, and will help develop your understanding of foreign function interfaces, object safety, procedural macros, and much more. You'll Learn: How to design reliable, idiomatic, and ergonomic Rust programs based on best principles; EffectiTrade Review"You'll learn dozens—probably hundreds—of things about how to improve your Rust programming by reading this book."—Tim McNamara, author of Rust in Action"One of Rust's weaknesses as a language is there's a lot of beginner content and a lot of advanced content, but any intermediate content is just nonexistent or requires quite the struggle to learn. Jon Gjengset has done a wonderful job of distilling those next steps into an easy to read book."—Michael Gattozzi, Senior Software Engineer, Fastly"For a long time, people have asked me what they should read after The Rust Programming Language. Rust for Rustaceans is that book. This book will teach you how to effectively *use* Rust, after you've understood the core syntax and semantics of the language itself. Rust has a rich number of tools for you to choose from, and Rust for Rustaceans will show them all off, and teach you how to properly take advantage of all the richness Rust has to offer."—Steve Klabnik, co-author of The Rust Programming Language"Rust for Rustaceans is such a good book (for folks who already know rust)!" —Ron Bowes, @iagox86Table of ContentsChapter 1: Rust Programming MindsetChapter 2: FoundationsChapter 3: Types and TraitsChapter 4: Designing InterfacesChapter 5: Error HandlingChapter 6: Project StructureChapter 7: TestingChapter 8: MacrosChapter 9: Asynchronous ProgrammingChapter 10: Unsafe RustChapter 11: ConcurrencyChapter 12: Foreign Function InterfaceChapter 13: no_stdChapter 14: Interacting with Large ProjectsChapter 15: Putting It TogetherIndex

    1 in stock

    £30.39

  • Metasploit 2nd Edition

    Penguin Random House Group Metasploit 2nd Edition

    1 in stock

    Book Synopsis

    1 in stock

    £42.74

  • Software Requirements Essentials

    Pearson Education (US) Software Requirements Essentials

    Book SynopsisKarl Wiegers is Principal Consultant with Process Impact, a software development consulting and training company in Happy Valley, Oregon. Previously, he spent eighteen years at Kodak, where he held positions as a photographic research scientist, software developer, software manager, and software process and quality improvement leader. Karl received a PhD in organic chemistry from the University of Illinois. Karl is the author of thirteen previous books and has written many articles on software development, management, design, consulting, chemistry, and military history. Karl has served on the editorial board for IEEE Software magazine and as a contributing editor for Software Development magazine. He is the author of Software Development Pearls (Addison-Wesley, 2022). Candase Hokanson is a Business Architect and PMI-Agile Certified Practitioner at ArgonDigital, a software development, professional services, and traiTrade Review"As research for a book, I once read the ten best-selling requirements engineering books of the prior ten years. This one book succinctly presents more useful information than those ten books combined. I wish I'd had it as a reference then."--Mike Cohn, author of User Stories Applied and co-founder of the Scrum Alliance "Diamonds come about when a huge amount of carbon atoms are compressed. The compression crystallizes to form diamonds. Karl and Candase have done something very similar: they have compressed their vast requirements knowledge into 20 gems they call 'core practices.' "These 20 practices give you the essence of requirements discovery, and for extra convenience they are categorized to make your requirements journey more effective. These practices are potent stuff, and I recommend that they become part of everyone's requirements arsenal."--James Robertson, author of Mastering the Requirements Process and Business Analysis Agility "What a valuable resource for new and experienced business analysts alike, who want an accessible, clearly written, and well-organized introduction to key business analyst practices. Karl and Candase do a great job of breaking down a complex role into a straightforward set of practices that can be integrated into your business analysis process to make it more effective."--Laura Brandenburg, author of How to Start a Business Analyst Career "Candase and Karl have drawn upon their deep knowledge and experience of what it takes to elicit, identify, represent, communicate, and validate requirements for software products effectively. They have produced a useful, accessible, and clear book, which is full of practical advice, great examples, and answers to the hard questions that people building software products face in the real world. If you're involved in building software in any role, this book will give you guidance on ways to make sure the product meets customer needs and delivers real value."--Shane Hastie, Global Delivery Lead at SoftEd and Lead Editor, Culture and Methods at InfoQ.com "Software Requirements Essentials will be a high-value addition to your business analysis library. I give the book high marks, as it does an excellent job of selecting and comprehensively covering the most essential business analysis practices teams should be considering. I thoroughly appreciated that the content was not overdone. Lessons were succinct while remaining extremely usable. Care was taken to ensure the guidance was applicable whether you are using a waterfall, agile, or hybrid delivery approach. I believe anyone looking to improve their business analysis practices will find great practical advice they'll be able to apply immediately."--Laura Paton, Principal Consultant, BA Academy, Inc. "Here is a book that all business analysts should have on their shelves, a readable reference that pulls together all the best practices we've been applying in business analysis for 50 years or so. While the book is aimed at the experienced BA, Karl and Candase thoughtfully provide an opening chapter reviewing the basic precepts and principles of business analysis. The book is written in Karl's inimitable easy-to-read style, so even beginning BAs can understand and apply the practices. Karl and Candase have made the book 'agile' with lots of practices applicable both to the traditional BA approach and to the BA who's defining user stories for the agile software developers. "Software Requirements Essentials encapsulates all of the excellent advice and counsel Karl has given us over the years into this one touchstone of a book. I wish that I had written it."--Steve Blais, author of Business Analysis: Best Practices for Success and co-author of Business Analysis for Practitioners "One of the many aspects of Karl Wiegers's latest book that we love is the universality of the requirements techniques he describes. Using real-life examples and easy-to-understand illustrations, Wiegers and Candase Hokanson describe practices that can be applied regardless of the project at hand or the methodology followed. They emphasize that there is no one right way to elicit and manage requirements; rather, they present many tried-and-true practices that lead to successful outcomes. Also helpful are the dozens of questions that business analysts can use to elicit various types of requirements. "The authors emphasize concepts over methodology-specific terminology to ensure that the practices can be understood and applied as methodologies change. The recurrent themes they mention are spot-on and apply to any development effort. Software Requirements Essentials is a must-read for every business analyst who wants to avoid the pitfall of achieving 'project success but product failure.'"--Elizabeth Larson and Richard Larson, past co-owners of Watermark Learning and authors of CBAP Certification Study Guide "So many product development projects face challenges because the stated requirements are ill-defined. This issue can be addressed by business analysts, or anyone conducting business analysis, if they possess the necessary toolkit of techniques and skills. Software Requirements Essentials offers an excellent introduction to the requirements engineering framework, and the techniques it encompasses, in an accessible and engaging way. The book offers invaluable guidance and insights via 20 best practices that are highly relevant, if not essential, for anyone working to define requirements. All business analysts need a mental map of the requirements definition service; this book provides it and more."--Dr. Debra Paul, Managing Director, Assist Knowledge DevelopmentTable of ContentsForeword xviiAcknowledgments xixAbout the Authors xxi Chapter 1: Essentials of Software Requirements 1Requirements Defined 2Good Practices for Requirements Engineering 5Who Does All This Stuff? 8Some Recurrent Themes 9The Life and Times of Requirements 11Getting Started 11 Chapter 2: Laying the Foundation 13Practice #1: Understand the problem before converging on a solution 14Practice #2: Define business objectives 19Practice #3: Define the solution's boundaries 26Practice #4: Identify and characterize stakeholders 33Practice #5: Identify empowered decision makers 39 Chapter 3: Requirements Elicitation 45Practice #6: Understand what users need to do with the solution 47Practice #7: Identify events and responses 53Practice #8: Assess data concepts and relationships 59Practice #9: Elicit and evaluate quality attributes 67 Chapter 4: Requirements Analysis 75Practice #10: Analyze requirements and requirement sets 76Practice #11: Create requirements models 84Practice #12: Create and evaluate prototypes 91Practice #13: Prioritize the requirements 97 Chapter 5: Requirements Specification 107Practice #14: Write requirements in consistent ways 109Practice #15: Organize requirements in a structured fashion 115Practice #16: Identify and document business rules 121Practice #17: Create a glossary 127 Chapter 6: Requirements Validation 131Practice #18: Review and test the requirements 132 Chapter 7: Requirements Management 141Practice #19: Establish and manage requirements baselines 142Practice #20: Manage changes to requirements effectively 149 Appendix: Summary of Practices 157 References 159Index 165

    £23.39

  • Computer Coding for Kids

    Dorling Kindersley Ltd Computer Coding for Kids

    2 in stock

    Book SynopsisDon''t just play computer games - help children build them with your own home computer! Calling all coders, this is a straightforward, visual guide to helping kids understand the basics of computer coding using Scratch and Python coding languages. Essential coding concepts like scripts, variables, and strings are explained using build-along projects and games.Kids can create online games to play like Monkey Mayhem and Bubble Blaster, draw mazes and shapes, build animations, and more using the step-by-step examples to follow and customize. Seven projects let kids (and their parents) practice the skills as they are learning in each section of the book. Kids get instant results, even when completely new to coding.Packed with visual examples, expert tips, a glossary of key terms, and extras such as profiles of famous coders, Help Your Kids with Computer Coding lays a hands-on foundation for computer programming, so adults and kids can learn together

    2 in stock

    £15.29

  • Powershell For Sysadmins: Workflow Automation

    No Starch Press,US Powershell For Sysadmins: Workflow Automation

    2 in stock

    Book SynopsisWith PowerShell, you can automate tasks with scripts without having to learn the complicated ins and outs of programming. After you familiarise yourself with PowerShell's intuitive syntax, you'll apply your knowledge by designing and developing scripts for lots of daily situations IT personnel find themselves in every day. You'll then end with learning how to build a large project to automate server deployments from scratch written completely in PowerShell. Unlock the possibilities with PowerShell!Trade Review"This book is great, and I personally wouldn't hesitate to add it to a bookshelf of technical books." —ToastIT"One of the perfect books to pick up when you want to get a first glance at the wonders of Powershell." —Ian Mizer, Atlanta Python Programmers GroupTable of ContentsIntroductionPart I: FundamentalsChapter 1: Getting StartedChapter 2: Basic PowerShell ConceptsChapter 3: Combining CommandsChapter 4: Control FlowChapter 5: Error HandlingChapter 6: Writing FunctionsChapter 7: Exploring ModulesChapter 8: Running Scripts RemotelyChapter 9: Testing with PesterPart II: Automating Day-to-Day TasksChapter 10: Parsing Structured DataChapter 11: Automating Active DirectoryChapter 12: Working with AzureChapter 13: Working with AWSChapter 14: Creating a Server Inventory ScriptPart III: Building Your Own ModuleChapter 15: Provisioning a Virtual EnvironmentChapter 16: Installing an Operating SystemChapter 17: Deploying Active DirectoryChapter 18: Creating and Configuring a SQL ServerChapter 19: Refactoring Your CodeChapter 20: Creating and Configuring an IIS Web Server

    2 in stock

    £24.64

  • Implementing Lean Software Development

    Pearson Education (US) Implementing Lean Software Development

    4 in stock

    Book SynopsisMary Poppendieck is a seasoned leader in operations and product development with more than thirty years of IT experience. She has led teams implementing solutions ranging from enterprise supply chain management to digital media, and built one of 3M's first Just-in-Time Lean production systems. Mary is the president of Poppendieck LLC, which specializes in bringing Lean techniques to software development. Tom Poppendieck is an enterprise analyst, architect, and agile process mentor with more than twenty-five years of experience developing and implementing complex systems. He currently assists organizations in applying Lean principles and tools to software development processes. Table of ContentsForeword by Jeff Sutherland xvii Foreword by Kent Beck xx Preface xxiii Chapter 1: History 1 Interchangeable Parts 1 Interchangeable People 2 The Toyodas 3 The Toyota Production System 4 Taiichi Ohno 5 Shigeo Shingo 6 Just-in-Time 7 Lean 11 Lean Manufacturing / Lean Operations 11 Lean Supply Chain 12 Lean Product Development 13 Lean Software Development 17 Try This 17 Chapter 2: Principles 19 Principles and Practices 19 Software Development 20 The Seven Principles of Lean Software Development 23 Principle 1: Eliminate Waste 23 Principle 2: Build Quality In 25 Principle 3: Create Knowledge 29 Principle 4: Defer Commitment 32 Principle 5: Deliver Fast 34 Principle 6: Respect People 36 Principle 7: Optimize the Whole 38 Try This 42 Chapter 3: Value 43 Lean Solutions 43 Google 43 From Concept to Cash 46 Delighted Customers 49 Deep Customer Understanding 50 Focus on the Job 51 The Customer-Focused Organization 52 Leadership 52 Complete Teams 57 Custom Development 60 From Projects to Products 60 IT--Business Collaboration 62 Try This 65 Chapter 4: Waste 67 Write Less Code 67 Zara 67 Complexity 69 The Seven Wastes 73 Partially Done Work 74 Extra Features 75 Relearning 76 Handoffs 77 Task Switching 78 Delays 80 Defects 81 Mapping the Value Stream 83 Preparation 83 Examples 85 Future Value Stream Maps 92 Try This 92 Chapter 5: Speed 95 Deliver Fast 95 PatientKeeper 95 Time: The Universal Currency 98 Queuing Theory 100 Little's Law 100 Variation and Utilization 101 Reducing Cycle Time 103 Try This 114 Chapter 6: People 117 A System of Management 117 The Boeing 777 117 W. Edwards Deming 120 Why Good Programs Fail 124 Teams 126 What Makes a Team? 126 Expertise 129 Leadership 132 Responsibility-Based Planning and Control 133 The Visual Workspace 136 Self-Directing Work 137 Incentives 141 Performance Evaluations 141 Compensation 143 Try This 147 Chapter 7: Knowledge 149 Creating Knowledge 149 Rally 149 What, Exactly, Is Your Problem? 152 A Scientific Way of Thinking 154 Keeping Track of What You Know 155 Just-in-Time Commitment 159 Set-Based Design 160 Refactoring 164 Problem Solving 168 A Disciplined Approach 169 Kaizen Events 173 Try This 175 Chapter 8: Quality 177 Feedback 177 The Polaris Program 177 Release Planning 179 Architecture 182 Iterations 183 Discipline 190 The Five S's 190 Standards 193 Mistake-Proofing 196 Test-Driven Development 198 Configuration Management 201 Continuous Integration 202 Nested Synchronization 203 Try This 204 Chapter 9: Partners 207 Synergy 207 Emergency! 207 Open Source 209 Global Networks 210 Outsourcing 214 Contracts 217 The T5 Agreement 217 The PS 2000 Contract 218 Relational Contracts 219 Try This 221 Chapter 10: Journey 223 Where Do You Want to Go? 223 A Computer on Wheels 224 A Long-Term Perspective 225 Centered on People 227 What Have We Learned? 229 Six Sigma 229 Theory of Constraints 230 Hypothesis 234 Training 234 Thinking 236 Measurement 237 Roadmap 242 Try This 243 Optimize the Whole 243 Respect People 243 Deliver Fast 244 Defer Commitment 244 Create Knowledge 245 Build Quality In 245 Eliminate Waste 246 Bibliography 247 Index 257

    4 in stock

    £33.29

  • Art of Computer Programming Volume 1 Fascicle 1

    Pearson Education Limited Art of Computer Programming Volume 1 Fascicle 1

    2 in stock

    Book SynopsisDonald E. Knuth is known throughout the world for his pioneering work on algorithms and programming techniques, for his invention of the Tex and Metafont systems for computer typesetting, and for his prolific and influential writing. Professor Emeritus of The Art of Computer Programming at Stanford University, he currently devotes full time to the completion of these fascicles and the seven volumes to which they belong. Table of ContentsChapter 1: Basic Concepts 1 1.3' MMIX 2 1.3.1' Description of MMIX 2 1.3.2' The MMIX Assembly Language 28 1.3.3' Applications to Permutations 51 1.4' Some Fundamental Programming Techniques 52 1.4.1' Subroutines 52 1.4.2' Coroutines 66 1.4.3' Interpretive Routines 73 Answers to Exercises 94 Index and Glossary 127

    2 in stock

    £20.89

  • Writing Effective Use Cases

    Pearson Education (US) Writing Effective Use Cases

    2 in stock

    Book SynopsisAlistair Cockburn is a recognized expert on use cases. He is consulting fellow at Humans and Technology, where he is responsible for helping clients succeed with object-oriented projects. He has more than twenty years of experience leading projects in hardware and software development in insurance, retail, and e-commerce companies and in large organizations such as the Central Bank of Norway and IBM. 0201702258AB07302002 Table of Contents Preface. Acknowlegments. 1. Introduction. What Is a Use Case (More or Less)? USE CASE 1. Buy Stocks over the Web. USE CASE 2. Get Paid for Car Accident. USE CASE 3. Register Arrival of a Box. Your Use Case Is Not My Use Case. USE CASE 4. Buy Something (Casual Version). USE CASE 5. Buy Something (Fully Dressed Version). Steve Adolph: “Discovering” Requirements in New Territory. Requirements and Use Cases. Use Cases as Project-Linking Structure. Figure 1: The “Hub-and-Spoke” Model of Requirements. When Use Cases Add Value. Manage Your Energy. Warm Up with a Usage Narrative. Usage Narrative: Getting “Fast Cash”. Exercises. PART I. THE USE CASE BODY PARTS. 2. The Use Case as a Contract for Behavior. Interactions between Actors with Goals. Actors Have Goals. Figure 2: An Actor with a Goal Calls on the Responsibilities of Another. Goals Can Fail. Interactions Are Compound. A Use Case Collects Scenarios. Figure 3: Striped Trousers: Scenarios Succeed or Fail. Figure 4: The Striped Trousers Showing Subgoals. Contract between Stakeholders with Interests. Figure 5: The Sud Serves the Primary Actor, Protecting Offstage Stakeholders. The Graphical Model. Figure 6: Actors and Stakeholders. Figure 7: Behavior. Figure 8: Use Case as Responsibility Invocation. Figure 9: Interactions as Composite. 3. Scope. Table a Sample In/Out List. Functional Scope. The Actor-Goal List. Table a Sample Actor-Goal List. The Use Case Briefs. Table Sample Use Case Briefs. Design Scope. Figure 10: Design Scope Can Be Any Size. Using Graphical Icons to Highlight the Design Scope. Design Scope Examples. Enterprise-to-System Examples. USE CASE 6 Add New Service (Enterprise). USE CASE 7 Add New Service (Acura). Many Computers to One Application. USE CASE 8 Enter and Update Requests (Joint System). USE CASE 9 Add New Service (into Acura). USE CASE 10 Note New Service Request (in BSSO). USE CASE 11 Update Service Request (in BSSO). USE CASE 12 Note Updated Request (in Acura). Figure 11: Use Case Diagrams for Acura-BSSO. Figure 12: A Combined Use Case Diagram for Acura-BSSO. Nuts and Bolts Use Cases. USE CASE 13 Serialize Access to a Resource. USE CASE 14 Apply a Lock Conversion Policy. USE CASE 15 Apply an Access Compatibility Policy. USE CASE 16 Apply an Access Selection Policy. USE CASE 17 Make Service Client Wait for Resource Access 49 The Outermost Use Cases. Using the Scope-Defining Work Products. Exercises. 4. Stakeholders and Actors. Stakeholders. The Primary Actor. Why Primary Actors Are Unimportant (and Important). Actors versus Roles. Characterizing the Primary Actors. Table a Sample Actor Profile Table. Supporting Actors. The System Under Discussion. Internal Actors and White-Box Use Cases. Exercises. 5. Three Named Goal Levels. User Goals (Blue, Sea-Level). Figure 13: Use Case Levels. Two Levels of Blue. Summary Level (White, Cloud/ Kite). USE CASE 18 Operate an Insurance Policy+. The Outermost Use Cases Revisited. Subfunctions (Indigo/Black, Underwater/Clam). Summarizing Goal Levels. Using Graphical Icons to Highlight Goal Levels. Finding the Right Goal Level. Finding the User's Goal. Raising and Lowering Goal Levels. Figure 14: Ask “Why” to Shift Levels. A Longer Writing Sample: “Handle a Claim” at Several Levels. USE CASE 19 Handle a Claim (Business). USE CASE 20 Evaluate Work Comp Claim. USE CASE 21 Handle a Claim (Systems) +. USE CASE 22 Register a Loss. USE CASE 23 Find a Whatever (Problem Statement). Exercises. 6. Preconditions, Triggers, and Guarantees. Preconditions. Minimal Guarantees. Success Guarantee. Triggers. Exercises. 7. Scenarios and Steps. The Main Success Scenario. The Common Surrounding Structure. The Scenario Body. Action Steps. Guidelines. GUIDELINE 1: Use Simple Grammar. GUIDELINE 2: Show Clearly “Who Has the Ball”. GUIDELINE 3: Write from a Bird's Eye View. GUIDELINE 4: Show the Process Moving Forward. GUIDELINE 5: Show the Actor's Intent, Not the Movements. GUIDELINE 6: Include a “Reasonable” Set of Actions. Figure 15: A Transaction Has Four Parts. GUIDELINE 7: “Validate,” Don't “Check Whether”. GUIDELINE 8: Optionally Mention the Timing. GUIDELINE 9: Idiom: “User Has System a Kick System B”. GUIDELINE 10: Idiom: “Do Steps x-y Until Condition”. To Number or Not to Number. Exercises. 8. Extensions. Extension Basics. The Extension Conditions. Brainstorm All Conceivable Failures and Alternative Courses. GUIDELINE 11: Make the Condition Say What Was Detected. Rationalize the Extensions List. Rollup Failures. Extension Handling. GUIDELINE 12: Indent Condition Handling. Failures within Failures. Creating a New Use Case from an Extension. Exercises. 9. Technology and Data Variations. Figure 16: Technology Variations Using Specialization in UML. 10. Linking Use Cases. Sub Use Cases. Extension Use Cases. Figure 17: UML Diagram of Extension Use Cases. When to Use Extension Use Cases. Exercises. 11. Use Case Formats. Formats to Choose From. Fully Dressed. USE CASE 24 Fully Dressed Use Case Template. Casual. USE CASE 25 Actually Login (Casual Version). One-Column Table. Table 1 One-Column Table Format of a Use Case. Two-Column Table. Table 1 Two-Column Table. RUP Style. USE CASE 26 Register for Courses. If-Statement Style. Occam Style. Diagram Style. The UML Use Case Diagram. Forces Affecting Use Case Writing Styles. Consistency. Complexity. Standards for Five Project Types. For Requirements Elicitation. USE CASE 27 Elicitation Template—Oble a New Biscum. For Business Process Modeling. USE CASE 28 Business Process Template—Symp a Carstromming. For Sizing the Requirements. USE CASE 29 Sizing Template—Burble the Tramling. For a Short, High-Pressure Project. USE CASE 30 High-Pressure Template: Kree a Ranfath. For Detailed Functional Requirements. USE CASE 31 Use Case Name—Nathorize a Permion. 1Conclusion. 1Exercise. PART II. FREQUENTLY DISCUSSED TOPICS. 12. When Are We Done. On Being Done. 13. Scaling Up to Many Use Cases. Say Less about Each One (Low-Precision Representation). Create Clusters of Use Cases. 14. CRUD and Parameterized Use Cases. CRUD Use Cases. USE CASE 32 Manage Reports. USE CASE 33 Save Report. Parameterized Use Cases. 15. Business Process Modeling. Modeling versus Designing. Work from the Core Business. Figure 18: Core Business Black Box. Figure 19: New Business Design in White Box. Work from Business Process to Technology. Figure 20: New Business Design in White Box (Again). Figure 21: New Business Process in Black-Box System Use Cases. Work from Technology to Business Process. Linking Business and System Use Cases. Rusty Walters: Business Modeling and System Requirements. 16. The Missing Requirements. Precision in Data Requirements. Cross-linking from Use Cases to Other Requirements. Figure 22: “Hub-and-Spoke” Model of Requirements. 17. Use Cases in the Overall Process. Use Cases in Project Organization. Organize by Use Case Titles. Table 1 Sample Planning Table. Handle Use Cases Crossing Releases. Deliver Complete Scenarios. Use Cases to Task or Feature Lists. USE CASE 34 Capture Trade-In. Table Work List for Capture Trade-In. Use Cases to Design. A Special Note to Object-Oriented Designers. Use Cases to UI Design. Use Cases to Test Cases. USE CASE 35 Order Goods, Generate Invoice (Testing Example). Table 1 Main Success Scenario Tests (Good Credit Risk). Table 1 Main Success Scenario Tests (Bad Credit Risk). The Actual Writing. A Branch-and-Join Process. Time Required per Use Case. Collecting Use Cases from Large Groups. Andy Kraus: Collecting Use Cases from a Large, Diverse Lay Group. 18. Use Case Briefs and Extreme Programming. 19. Mistakes Fixed. No System. No Primary Actor. Too Many User Interface Details. Very Low Goal Levels. Purpose and Content Not Aligned. Advanced Example of Too Much UI. USE CASE 36 Research a Solution—Before. USE CASE 37 Research Possible Solutions—After. PART III. REMINDERS FOR THE BUSY. Chatper 21. Reminders for Each Use Case. Reminder 1: A Use Case Is a Prose Essay. Reminder 2: Make the Use Case Easy to Read. Reminder 3: Just One Sentence Form. Reminder 4: “Include” Sub Use Cases. Reminder 5: Who Has the Ball. Reminder 6: Get the Goal Level Right. Figure 23: Ask “Why” to Shift Levels. Reminder 7: Keep the GUI Out. Reminder 8: Two Endings. Reminder 9: Stakeholders Need Guarantees. Reminder 10: Preconditions. Reminder 11: Pass/Fail Tests for One Use Case. Table 2 Pass/Fail Tests for One Use Case. 22. Reminders for the Use Case Set. Reminder 12: An Ever-Unfolding Story. Reminder 13: Both Corporate Scope and System Scope. Reminder 14: Core Values and Variations. Reminder 15: Quality Questions across the Use Case Set. 23. Reminders for Working on the Use Cases. Reminder 16: It's Just3 (Where's Chapter 4?). Reminder 17: Work Breadth First. Figure 24: Work Expands with Precision. Reminder 18: The 12-Step Recipe. Reminder 19: Know the Cost of Mistakes. Reminder 20: Blue Jeans Preferred. Reminder 21: Handle Failures. Reminder 22: Job Titles Sooner and Later. Reminder 23: Actors Play Roles. Reminder 14: The Great Drawing Hoax. Figure 25: “Mommy, I Want to Go Home.”. Figure 26: Context Diagram in Ellipse Figure Form. Table 2 Actor-Goal List for Context Diagram. Reminder 25: The Great Tool Debate. Reminder 26: Project Planning Using Titles and Briefs. Appendices. Appendix A. Use Cases in UML. A.1 Ellipses and Stick Figures. A.2 UML's Includes Relation. Figure A.1: Drawing Includes. GUIDELINE 13: Draw Higher Goals Higher. A.3 UML's Extends Relation. Figure A.2: Drawing Extends. GUIDELINE 14: Draw Extending Use Cases Lower. GUIDELINE 15: Use Different Arrow Shapes. Correct Use of Extends. Figure A.3: Three Interrupting Use Cases Extending a Base Use Case. Extension Points. A.4 UML's Generalizes Relations. Correct Use of Generalizes. Figure A.4: Drawing Generalizes. Draw General Goals Higher. Hazards of Generalizes. Figure A.5: Hazardous Generalization — Closing a Big Deal. Figure A.6: Correctly Closing a Big Deal. A.5 Subordinate versus Sub Use Cases. A.6 Drawing Use Case Diagrams. GUIDELINE 16: User Goals in a Context Diagram. GUIDELINE 17: Supporting Actors on the Right. A.7 Write Text-based Use Cases Instead. Appendix B. Answers to (Some) Exercises. Chapter 3 (page 51). Figure B.1: Design Scopes for the ATM. Chapter 4 (page 60). Chapter 5 (page 79). Chapter 6 (page 85). Chapter 7 (page 98). USE CASE 38 Use the Order Processing System. Chapter 8 (page 110). USE CASE 39 Buy Stocks Over the Web. Chapter 11 (page 138). USE CASE 40 Perform Clean Spark Plugs Service. Appendix C: Glossary. Appendix D: Readings Index. 0201702258T04062001

    2 in stock

    £37.79

  • Microservice APIs in Python

    Manning Publications Microservice APIs in Python

    15 in stock

    Book SynopsisMicroservice APIs in Python shares successful strategies and techniques for designing Microservices systems, with a particular emphasis on creating easy-to-consume APIs.This practical guide focuses on implementation over philosophizing and has just enough theory to get you started. You'll quickly go hands on designing the architecture for a microservices platform, produce standard specifications for REST and GraphQL APIs, and bake in authentication features to keep your APIs secure. Written in a framework-agnostic manner, its universal principles of API and microservices design can easily be applied to your favorite stack and toolset. About the TechnologyStandard Python web applications, such as those you'd typically build with Django or Flask, can be hard to scale and maintain when built as monoliths. Microservices design makes it possible to isolate key features and functionality as independently written and maintained services. To take advantage of this more resilient architecture, you need to learn the patterns, frameworks, and tools that make Python-based microservices easy to build and manage.Trade Review"Read this book now. It will change your mind about how to architect your software and services!" Stuart Woodward "A thorough introduction to the concept of developing microservice APIs with Python." Rodney Weis "The Author has done an excellent job in explaining key concepts." Manish Jain "There are many pitfalls with microservices, and this book will provide you with all the knowledge you need to be properly prepared to create your first one!" Pierre-Michel Ansel "Before you start coding for your microservice please read this book once, irrespective of your programming language." Debmalya Jash "A roundhouse kick for all aspects regarding APIs and python." Björn Neuhaus "A very thorough discussion of the considerations that are involved in developing microservice APIs with Python." Rodney Weis "I really like both the breadth and depth of the content. It is exciting to see an entire book which focuses upon Python as a back-end component—for which I see a natural fit." Bryan Miller "A great book for Python developers to understand how to implement APIs using web frameworks." Sambasiva Andaluri "I genuinely feel smarter for having read this book and knowing that I can refer to it when I make my next design." Stuart Woodward

    15 in stock

    £41.39

  • Pro C 10 with .NET 6

    APress Pro C 10 with .NET 6

    1 in stock

    Book SynopsisWelcome to the most comprehensive foundational guide available on the topic of C# coding and .NET. This book goes beyond do this, to achieve this to drill down into the core stuff that makes a good developer, great. This expanded 11th edition delivers loads of new content on Entity Framework, Razor Pages, Web APIs and more. You will find the latest C# 10 and .NET 6 features served up with plenty of behind the curtain discussion designed to expand developers' critical thinking skills when it comes to their craft. Coverage of ASP.NET Core, Entity Framework Core, and more sits alongside the latest updates to the new unified .NET platform, from performance improvements to Windows Desktop apps on .NET 6, updates in XAML tooling, and expanded coverage of data files and data handling. Going beyond the latest features in C# 10, all code samples are rewritten for this latest release.Dive in and discover why this essential classic is a favorite of C# developers worldwide. Gain a solid fouTable of ContentsPart 1: Introducing C# and .NET 61 Introducing C# and .NET (Core) 62 Building C# ApplicationsPart 2: Core C# Programming3 Core C# Programming Constructs, Part 14 Core C# Programming Constructs, Part 2Part 3: Object Oriented Programming with C#5 Understanding Encapsulation6 Understanding Inheritance and Polymorphism7 Understanding Structured Exception Handling8 Working with Interfaces9 Understanding Object LifetimePart 4: Advanced C# Programming10 Collections and Generics11 Advanced C# Language Features12 Delegates, Events, and Lambda Expressions13 LINQ To Objects14 Processes, AppDomains, and Load Contexts15 Multithreaded, Parallel, and Async ProgrammingPart 5: Programming with .NET Core Assemblies16 Building and Configuring Class Libraries17 Type Reflection, Late Binding, Attributes, and Dynamic Types18 Understanding CIL and the Role of Dynamic AssembliesPart 6: File Handling, Object Serialization, and Data Access19 File I/O and Object Serialization20 Data Access with ADO.NETPart 7: Entity Framework Core21 Introducing Entity Framework Core22 Exploring EF Core 23 Build a Data Access Layer with Entity Framework Core24 Test Driving the Autolot Data Access LayerPart 8: Windows Client Development25 Introducing Windows Presentation Foundation and XAML26 WPF Controls, Layouts, Events, and Data Binding27 WPF Graphics Rendering Services28 WPF Resources, Animations, Styles, and Templates29 WPF Notifications, Validations, Commands, and MVVMPart 9: ASP.NET Core30 Introducing ASP.NET Core31 Diving into ASP.NET Core32 RESTful Services with ASP.NET Core33 Web Applications using MVC34 Web Applications using Razor Pages

    1 in stock

    £46.74

  • Communication Patterns

    O'Reilly Media Communication Patterns

    5 in stock

    Book SynopsisIn this practical book, author Jacqui Read shows you how to successfully present your architecture and get stakeholders to jump on board. You'll learn how to create documentation and diagrams that actually get the message across to the different audiences you'll face.

    5 in stock

    £39.74

  • PHP Crash Course

    Penguin Random House Group PHP Crash Course

    1 in stock

    Book Synopsis

    1 in stock

    £36.09

  • BDD in Action

    Manning Publications BDD in Action

    15 in stock

    Book SynopsisAlmost half of all software projects fail to deliver on key requirements. Behavior-Driven Development (BDD) reduces these costly failures by building a shared understanding of how an application should work. Behavior Driven Development in Action, Second Edition teaches communication skills, collaborative practices, and automation tools that ensure everyone from developers to non-technical stakeholders are in agreement on the goals of a project. Revised and expanded in a second edition, the book contains new techniques for incorporating BDD into large-scale development practices such as Agile and DevOps, as well as updating examples for the latest versions of Java. about the technology You can't write good software if you don't understand what it's supposed to do. Behavior-Driven Development (BDD) encourages developers, quality teams, and non-technical stakeholders to collaborate, using conversation and concrete examples to make sure everyone agrees how an application should work and what features really matter. With a body of best practices and sophisticated tools for requirement analysis and test automation, BDD has become a mainstream practice for keeping projects on track and avoiding cancellation. what's inside BDD theory and practice How BDD will affect your team BDD for acceptance, integration, and unit testing Automating web services Reporting and living documentation about the reader For all development teams. No experience with BDD required. Examples written in Java.

    15 in stock

    £41.39

  • The Ascent of Information

    Penguin Putnam Inc The Ascent of Information

    2 in stock

    Book Synopsis

    2 in stock

    £14.39

  • Cybersecurity For Small Networks: A No-Nonsense

    No Starch Press,US Cybersecurity For Small Networks: A No-Nonsense

    3 in stock

    Book SynopsisThis book is an easy-to-follow series of tutorials that will lead readers through different facets of protecting household or small-business networks from cyber attacks. You'll learn how to use pfSense to build a firewall, lock down wireless, segment a network into protected zones, configure a VPN (virtual private network) to hide and encrypt network traffic and communications, set up proxies to speed up network performance and hide the source of traffic, block ads, install and configure an antivirus, back up your data securely, and even how to monitor your network for unauthorized activity and alert you to intrusion.Trade Review“An excellent crash course for someone like me with a technical background but little security experience. I've always wanted to beef up my home server and network security but didn't know where to start . . . This book has given me actionable steps I can take today, this week, this month, and beyond. And it gives me the confidence that I'm following reasonable best practices for an actual small network.”—Chris Miller, GoodReads Reviewer

    3 in stock

    £28.49

  • Deep Learning: A Visual Approach

    No Starch Press,US Deep Learning: A Visual Approach

    2 in stock

    Book SynopsisDeep Learning: A Visual Approach helps demystify the algorithms that enable computers to drive cars, win chess tournaments, and create symphonies, while giving readers the tools necessary to build their own systems to help them find the information hiding within their own data, create 'deep dream' artwork, or create new stories in the style of their favorite authors.Trade Review"Andrew is famous for his ability to teach complex topics that blend mathematics and algorithms, and this work I think is his best yet." —Peter Shirley, Distinguished Research Engineer, Nvidia “I would recommend that anyone entering this area, or even already familiar with the subject, read it cover-to-cover to firmly ground their understanding.“ —Richard Szeliski, author of Computer Vision: Algorithms and Applications"This is a comprehensive—yet easy to understand—book about complex concepts and algorithms. Andrew Glassner demonstrates that visualizing concepts as graphs is a tremendous benefit to easy cognition."—Thomas Frisendal, author of Graph Data Modeling for NoSQL and SQL"An absolutely amazing book in the field of Machine Learning. Lots of colored visuals make the concepts very easy to understand."—Nabeel حسن, @nabeelhasan25"This is the best technical book I've ever read. I'm essentially speechless. Thank you, @AndrewGlassner!"—Maciej Chmielarz, @MaciejChmielarz, Software DeveloperTable of ContentsPart I: Foundational Ideas1. An Overview of Machine Learning Techniques2. Essential Statistical Ideas3. Probability4. Bayes’ Rule5. Curves and Surfaces6. Information TheoryPart II: Basic Machine Learning7. Classification8. Training and Testing9. Overfitting and Underfitting10. Data Preparation11. Classifiers12. EnsemblesPart III: Deep Learning Basics13. Neural Networks14. Backpropagation15. OptimizersPart IV: Beyond the Basics16. Convolutional Neural Networks17. Convnets in Practice18. Recurrent Neural Networks19. Autoencoders20. Reinforcement Learning21. Generative Adversarial Networks22. Creative ApplicationsIndex

    2 in stock

    £71.24

  • Fearless Change

    Pearson Education (US) Fearless Change

    1 in stock

    Book SynopsisMary Lynn Manns, Ph.D., is a professor in the Department of Management and Accountancy at the University of North Carolina, Asheville. Her doctoral work focused on the introduction of patterns into organizations. She is well known for her many presentations on this topic. Linda Rising, Ph.D., is well known throughout the patterns community as the editor of Design Patterns in Communications Software (Cambridge University Press, 2001) and The Patterns Handbook (Cambridge University Press, 1997). Now an independent consultant, she helped lead the introduction of patterns into AG Communication Systems in Phoenix, Arizona. Linda has worked in the telecommunications, avionics, and strategic weapons industries, and has extensive training and university teaching experience. She holds a Ph.D. from Arizona State University. Table of ContentsForeword. Preface. Acknowledgments. I. OVERVIEW. 1. Organizations and Change. The Change Agent. The Culture. The People. 2. Strategies or Patterns. Pattern Formats. Using Patterns. 3. Where Do I Start? Evangelism Is Critical for Success. A Small Package of Patterns. 4. What Do I Do Next? Target Groups to Ask for Help. It's Important to Say "Thanks". 5. Meetings and More. Let's Meet! Using Information That's Out There. Stay Connected. 6. Take Action! Other Ways to Learn. 7. It's All About People. What's in It for the Organization? You Have Feelings, Too! 8. A New Role: Now You're Dedicated! You Have Convinced Them–You Are a Dedicated Champion. 9. Convince the Masses. Enlist Gurus and Famous People. 10. More Influence Strategies. Keep Things Visible. It's Just a Token. Location Also Counts. Things Are Humming. 11. Keep It Going. Be Proactive! 12. Dealing with Resistance. Build Bridges. A Champion Skeptic. It's All About Politics. II. EXPERIENCES. Multiple Sclerosis Society Experience Report. UNCA Experience Report. Sun Core J2EE Patterns Experience Report. Customer Training Experience Report. III. THE PATTERNS. Ask for Help. Big Jolt. Bridge-Builder. Brown Bag. Champion Skeptic. Connector. Corporate Angel. Corridor Politics. Dedicated Champion. Do Food. e-Forum. Early Adopter. Early Majority. Evangelist. External Validation. Fear Less. Group Identity. Guru on Your Side. Guru Review. Hometown Story. In Your Space. Innovator. Involve Everyone. Just Do It. Just Enough. Just Say Thanks. Local Sponsor. Location, Location, Location. Mentor. Next Steps. Personal Touch. Piggyback. Plant the Seeds. The Right Time. Royal Audience. Shoulder to Cry On. Small Successes. Smell of Success. Stay in Touch. Step by Step. Study Group. Sustained Momentum. Tailor Made. Test the Waters. Time for Reflection. Token. Trial Run. Whisper in the General's Ear. External Pattern References. Appendix. References. Index.

    1 in stock

    £35.14

  • Risk Management Professional PMIRMP

    Pearson Education Risk Management Professional PMIRMP

    2 in stock

    Book SynopsisCarl Pritchard, PMI-RMP, PMP is a thought leader in the risk management community, where he has been involved for 30 years. He has written eight books and led training around the globe for the Project Management Institute, as well as for private clients. In 2019, PMI global awarded him the Eric Jenett Project Management Excellence Award, citing him as the Best of the Best in project management. Considered the fun guy of project risk management, Carl is a sought-after speaker and has presented keynote addresses for major conferences and corporate all-hands meetings. Carl is honored by his long-term relationships with PMI chapters in upstate New York, Baltimore, Pittsburgh, and the greater Washington, DC area. He resides in the mountains of western Maryland with his wife, Nancy. Additional information about Carl's current activities can be found at carlpritchard.com, and you can follow Carl on Twitter @rmpprep.

    2 in stock

    £34.19

  • Professional Assembly Language

    John Wiley & Sons Inc Professional Assembly Language

    1 in stock

    Book SynopsisTable of ContentsAcknowledgments xi Contents xiii Introduction xxiii Chapter 1: What Is Assembly Language? 1 Processor Instructions 1 Instruction code handling 2 Instruction code format 3 High-Level Languages 6 Types of high-level languages 7 High-level language features 9 Assembly Language 10 Opcode mnemonics 11 Defining data 12 Directives 14 Summary 15 Chapter 2: The IA-32 Platform 17 Core Parts of an IA-32 Processor 17 Control unit 19 Execution unit 24 Registers 25 Flags 29 Advanced IA-32 Features 32 The x87 floating-point unit 32 Multimedia extensions (MMX) 33 Streaming SIMD extensions (SSE) 33 Hyperthreading 34 The IA-32 Processor Family 34 Intel processors 35 Non-Intel processors 36 Summary 37 Chapter 3: The Tools of the Trade 39 The Development Tools 39 The Assembler 40 The Linker 42 The Debugger 43 The Compiler 44 The object code disassembler 44 The Profiler 44 The GNU Assembler 45 Installing the assembler 45 Using the assembler 47 A word about opcode syntax 49 The GNU Linker 50 The GNU Compiler 53 Downloading and installing gcc 53 Using gcc 54 The GNU Debugger Program 56 Downloading and installing gdb 56 Using gdb 57 The KDE Debugger 60 Downloading and installing kdbg 60 Using kdbg 60 The GNU Objdump Program 62 Using objdump 63 An objdump example 64 The GNU Profiler Program 65 Using the profiler 65 A profile example 68 A Complete Assembly Development System 69 The basics of Linux 69 Downloading and running MEPIS 70 Your new development system 71 Summary 72 Chapter 4: A Sample Assembly Language Program 73 The Parts of a Program 73 Defining sections 74 Defining the starting point 74 Creating a Simple Program 75 The CPUID instruction 76 The sample program 77 Building the executable 80 Running the executable 80 Assembling using a compiler 80 Debugging the Program 81 Using gdb 81 Using C Library Functions in Assembly 86 Using printf 87 Linking with C library functions 88 Summary 90 Chapter 5: Moving Data 91 Defining Data Elements 91 The data section 91 Defining static symbols 94 The bss section 95 Moving Data Elements 97 The MOV instruction formats 97 Moving immediate data to registers and memory 98 Moving data between registers 99 Moving data between memory and registers 99 Conditional Move Instructions 106 The CMOV instructions 107 Using CMOV instructions 109 Exchanging Data 110 The data exchange instructions 111 Using the data exchange instruction 116 The Stack 119 How the stack works 119 PUSHing and POPing data 120 PUSHing and POPing all the registers 123 Manually using the ESP and EBP registers 123 Optimizing Memory Access 123 Summary 124 Chapter 6: Controlling Execution Flow 127 The Instruction Pointer 127 Unconditional Branches 129 Jumps 129 Calls 132 Interrupts 135 Conditional Branches 136 Conditional jump instructions 136 The compare instruction 138 Examples of using the flag bits 140 Loops 144 The loop instructions 144 A loop example 145 Preventing LOOP catastrophes 145 Duplicating High-Level Conditional Branches 146 if statements 147 for loops 150 Optimizing Branch Instructions 153 Branch prediction 153 Optimizing tips 155 Summary 158 Chapter 7: Using Numbers 161 Numeric Data Types 161 Integers 162 Standard integer sizes 162 Unsigned integers 164 Signed integers 166 Using signed integers 168 Extending integers 169 Defining integers in GAS 172 SIMD Integers 173 MMX integers 173 Moving MMX integers 174 SSE integers 176 Moving SSE integers 177 Binary Coded Decimal 178 What is BCD? 178 FPU BCD values 179 Moving BCD values 180 Floating-Point Numbers 182 What are floating-point numbers? 182 Standard floating-point data types 184 IA-32 floating-point values 186 Defining floating-point values in GAS 187 Moving floating-point values 187 Using preset floating-point values 189 SSE floating-point data types 190 Moving SSE floating-point values 191 Conversions 196 Conversion instructions 196 A conversion example 198 Summary 199 Chapter 8: Basic Math Functions 201 Integer Arithmetic 201 Addition 201 Subtraction 210 Incrementing and decrementing 215 Multiplication 216 Division 221 Shift Instructions 223 Multiply by shifting 224 Dividing by shifting 225 Rotating bits 226 Decimal Arithmetic 227 Unpacked BCD arithmetic 227 Packed BCD arithmetic 229 Logical Operations 231 Boolean logic 231 Bit testing 232 Summary 233 Chapter 9: Advanced Math Functions 235 The FPU Environment 235 The FPU register stack 236 The FPU status, control, and tag registers 237 Using the FPU stack 242 Basic Floating-Point Math 245 Advanced Floating-Point Math 249 Floating-point functions 249 Partial remainders 252 Trigonometric functions 254 Logarithmic functions 257 Floating-Point Conditional Branches 259 The FCOM instruction family 260 The FCOMI instruction family 262 The FCMOV instruction family 263 Saving and Restoring the FPU State 265 Saving and restoring the FPU environment 265 Saving and restoring the FPU state 266 Waiting versus Nonwaiting Instructions 269 Optimizing Floating-Point Calculations 270 Summary 270 Chapter 10: Working with Strings 273 Moving Strings 273 The MOVS instruction 274 The REP prefix 278 Other REP instructions 283 Storing and Loading Strings 283 The LODS instruction 283 The STOS instruction 284 Building your own string functions 285 Comparing Strings 286 The CMPS instruction 286 Using REP with CMPS 288 String inequality 289 Scanning Strings 291 The SCAS instruction 292 Scanning for multiple characters 293 Finding a string length 295 Summary 296 Chapter 11: Using Functions 297 Defining Functions 297 Assembly Functions 299 Writing functions 299 Accessing functions 302 Function placement 304 Using registers 304 Using global data 304 Passing Data Values in C Style 306 Revisiting the stack 306 Passing function parameters on the stack 306 Function prologue and epilogue 308 Defining local function data 309 Cleaning out the stack 312 An example 312 Watching the stack in action 314 Using Separate Function Files 317 Creating a separate function file 317 Creating the executable file 318 Debugging separate function files 319 Using Command-Line Parameters 320 The anatomy of a program 320 Analyzing the stack 321 Viewing command-line parameters 323 Viewing environment variables 325 An example using command-line parameters 326 Summary 328 Chapter 12: Using Linux System Calls 329 The Linux Kernel 329 Parts of the kernel 330 Linux kernel version 336 System Calls 337 Finding system calls 337 Finding system call definitions 338 Common system calls 339 Using System Calls 341 The system call format 341 Advanced System Call Return Values 346 The sysinfo system call 346 Using the return structure 347 Viewing the results 348 Tracing System Calls 349 The strace program 349 Advanced strace parameters 350 Watching program system calls 351 Attaching to a running program 353 System Calls versus C Libraries 355 The C libraries 356 Tracing C functions 357 Comparing system calls and C libraries 358 Summary 359 Chapter 13: Using Inline Assembly 361 What Is Inline Assembly? 361 Basic Inline Assembly Code 365 The asm format 365 Using global C variables 367 Using the volatile modifier 369 Using an alternate keyword 369 Extended ASM 370 Extended ASM format 370 Specifying input and output values 370 Using registers 372 Using placeholders 373 Referencing placeholders 376 Alternative placeholders 377 Changed registers list 377 Using memory locations 379 Using floating-point values 380 Handling jumps 382 Using Inline Assembly Code 384 What are macros? 384 C macro functions 384 Creating inline assembly macro functions 386 Summary 387 Chapter 14: Calling Assembly Libraries 389 Creating Assembly Functions 389 Compiling the C and Assembly Programs 391 Compiling assembly source code files 392 Using assembly object code files 392 The executable file 393 Using Assembly Functions in C Programs 395 Using integer return values 396 Using string return values 397 Using floating-point return values 400 Using multiple input values 401 Using mixed data type input values 403 Using Assembly Functions in C++ Programs 407 Creating Static Libraries 408 What is a static library? 408 The ar command 409 Creating a static library file 410 Compiling with static libraries 412 Using Shared Libraries 412 What are shared libraries? 412 Creating a shared library 414 Compiling with a shared library 414 Running programs that use shared libraries 415 Debugging Assembly Functions 417 Debugging C programs 417 Debugging assembly functions 418 Summary 420 Chapter 15: Optimizing Routines 421 Optimized Compiler Code 421 Compiler optimization level 1 422 Compiler optimization level 2 423 Compiler optimization level 3 425 Creating Optimized Code 425 Generating the assembly language code 425 Viewing optimized code 429 Recompiling the optimized code 429 Optimization Tricks 430 Optimizing calculations 430 Optimizing variables 433 Optimizing loops 437 Optimizing conditional branches 442 Common subexpression elimination 447 Summary 450 Chapter 16: Using Files 453 The File-Handling Sequence 453 Opening and Closing Files 454 Access types 455 UNIX permissions 456 Open file code 458 Open error return codes 459 Closing files 460 Writing to Files 460 A simple write example 460 Changing file access modes 462 Handling file errors 462 Reading Files 463 A simple read example 464 A more complicated read example 465 Reading, Processing, and Writing Data 467 Memory-Mapped Files 470 What are memory-mapped files? 470 The mmap system call 471 mmap assembly language format 473 An mmap example 475 Summary 479 Chapter 17: Using Advanced IA-32 Features 481 A Brief Review of SIMD 481 MMX 482 SSE 483 SSE2 483 Detecting Supported SIMD Operations 483 Detecting support 484 SIMD feature program 485 Using MMX Instructions 487 Loading and retrieving packed integer values 487 Performing MMX operations 488 Using SSE Instructions 497 Moving data 498 Processing data 499 Using SSE2 Instructions 504 Moving data 505 Processing data 505 SSE3 Instructions 508 Summary 508 Index 511

    1 in stock

    £23.80

  • XML for Dummies

    John Wiley & Sons Inc XML for Dummies

    1 in stock

    Book SynopsisSee how XML works for business needs and RSS feeds Create consistency on the Web, or tag your data for different purposes Tag -- XML is it! XML tags let you share your format as well as your data, and this handy guide will show you how.Table of ContentsIntroduction 1 About This Book 1 Conventions Used in This Book 2 Foolish Assumptions 3 How This Book Is Organized 4 Part I: XML Basics 4 Part II: XML and the Web 4 Part III: Building in Validation with DTDs and Schemas 5 Part IV: Transforming and Processing XML 6 Part V: XML Application Development 6 Part VI: The Part of Tens 7 Glossary 7 Icons Used in This Book 7 Where to Go from Here 8 Part I: XML Basics 9 Chapter 1: Getting to Know XML 11 XML (eXtreMely cooL) 12 Mocking up your own markup 12 Separating data and context 12 Making information portable 13 XML means business 13 Figuring Out What XML Is Good For 14 Classifying information 14 Enforcing rules on your data 15 Outputting information in a variety of ways 16 Using the same data across platforms 17 Beyond the Hype: What XML Isn’t 18 It’s not just for Web pages anymore 19 It’s not a database 20 It’s not a programming language 20 Building XML Documents 21 Chapter 2: Using XML for Many Purposes 23 Moving Legacy Data to XML 23 The Many Faces of XML 24 Creating XML-enabled Web pages 24 Print publishing with XML 25 Using XML for business forms 28 Incorporating XML into business processes 29 Serving up XML from a database 31 Alphabet Soup: Even More XML 31 Chapter 3: Slicing and Dicing Data Categories: The Art of Taxonomy 33 Taking Stock of Your Data 33 Looking at business practices and partners 34 Gathering some content 34 Checking whether a DTD or schema already exists 35 Searching for a schema repository 36 Breaking Down Data in Different Ways 37 Winnowing out the wheat from the chaff 38 Types of data that can be stored in XML 39 Developing Your Taxonomy 39 Testing Your Taxonomy 41 Using trial and error for the best fit 41 Testing your content analysis 42 Looking Ahead to Validation 43 Part II: XML and the Web 45 Chapter 4: Adding XHTML for the Web 47 HTML, XML, and XHTML 47 What HTML does best 48 The limits of HTML 49 Comparing XML and HTML 50 Using XML to describe data 51 The benefits of using HTML 53 The benefits of using XML 53 XHTML Makes the Move to XML Syntax 54 Making the switch 55 Every element must be closed 56 Empty elements must be formatted correctly 56 Tags must be properly nested 57 Case makes a difference 57 Attribute values are in quotation marks 58 Converting a document from HTML to XHTML 59 The Role of DOCTYPE Declarations 62 Chapter 5: Putting Together an XML File 65 Anatomy of an XML File 65 The XML declaration 67 Marking up your content 68 Playing by the Rules: Well-Formed Documents 74 Adding Style for the Web 76 Seeking Validation with DTD and XML Schema 78 Why describe XML documents? 79 Choosing between DTD and XML Schema 80 Chapter 6: Adding Character(s) to XML 83 About Character Encodings 84 Introducing Unicode 85 Character Sets, Fonts, Scripts, and Glyphs 87 For Each Character, a Code 88 Key Character Sets 89 Using Unicode Characters 91 Finding Character Entity Information 93 Chapter 7: Handling Formatting with CSS 95 Viewing XML on the Web with CSS 96 Basic CSS Formatting: CSS1 97 The Icing on the Cake: CSS2 98 Building a CSS Stylesheet 98 Adding CSS to XML 99 A simple CSS stylesheet for XML 101 Dissecting a simple CSS stylesheet 102 Linking CSS and XML 106 Adding CSS to XSLT 107 Part III: Building In Validation with DTDs and Schemas 109 Chapter 8: Understanding and Using DTDs 111 What’s a DTD? 112 When to use a DTD 113 When NOT to use a DTD 113 Inspecting the XML Prolog 114 Examining the XML declaration 115 Discovering the DOCTYPE 116 Understanding comments 116 Processing instructions 117 How about that white space? 117 Reading a DTD 118 Using Element Declarations 119 Using the EMPTY element type and the ANY element type 120 Adding mixed content 121 Using element content models 122 Declaring Attributes 123 Discovering Entities 125 General entities 126 Parameter entities 128 Understanding Notations 130 Calling a DTD 131 Internal DTDs 131 External DTDs 132 When to use an internal or external DTD 133 Chapter 9: Understanding and Using XML Schema 135 What’s an XML Schema? 136 So Many Datatypes, So Little Time 138 XML Prolog 139 Document Structures 141 Element declarations 141 Attribute declarations 144 Attribute groups 144 What about that white space? 145 Datatype Declarations 148 Simple datatypes 148 Complex datatypes 149 Defining constraints and value checks 149 Dealing with Entities, Notations, and More 150 Annotations 151 Deciding When to Use a Schema 152 Referencing XML Schema Documents 153 The inside view: Referencing a schema in an XML document 153 Calling for outside support: Referencing external schemas in your schema 153 Double-Checking Your Schemas and Documents 155 Chapter 10: Building a Custom XML Schema 157 Doing the Validity Rag 157 Step 1: Understanding Your Data 159 Step 2: Being the Root of All Structure: Elements 159 Step 3: Building Content Models 161 Step 4: Using Attributes to Shed Light on Data Structure 163 Step 5: Using Datatype Declarations to Define What’s What 164 Tricks of the Trade 167 Creating a Simple Schema 168 Using a Schema with an XML File in Word 2003 170 Chapter 11: Modifying an Existing Schema 173 Trading Control for Flexibility 174 Eliciting Markup from an XML Schema 174 Modifying a Schema 176 Using Datatypes Effectively 177 Using datatypes with data-intensive content 177 Using datatypes with text-intensive content 179 Making Elements Work Wisely and Well 180 Creating crafty content models 180 A matter of selection 181 Mixing up the order 183 Using Complex Datatypes 183 When XML Schemas Collide: Namespaces 185 Including External Data 188 Including/Excluding Document Content 188 Converting DTDs to Schemas 190 Part IV: Transforming and Processing XML 195 Chapter 12: Handling Transformations with XSL 197 The Two Faces of XSL 198 Xslt 198 Xsl-fo 200 XSL Stylesheets Are XML Documents 201 A Simple Transformation Using XSLT 202 An XSLT Stylesheet for Converting XML to HTML 202 The pieces of the stylesheet puzzle 205 Processing element content 207 Dealing with repeating elements 209 Creating an XSLT Stylesheet with XSLT Editors 210 Chapter 13: The XML Path Language 215 Why Do You Need Directions? 216 XPath document trees 217 Understanding XPath nodes 218 XPath Directions and Destinations 220 XPath Syntax 221 Some simple location paths 222 Adding expressions 223 Taking steps along the XPath 223 Looking at attributes 224 Going backward 224 Reversing direction 225 Null results 225 Getting back to your roots 226 XPath functions 226 Using XPath with XMLSpy 226 The Short Version 228 Child-axis abbreviations 229 Attribute-axis abbreviation 229 Predicate and expression abbreviations 229 Some more abbreviations 230 What’s New in XPath 2.0? 231 Where to Now? 233 Chapter 14: Processing XML 235 Frankly, My Dear, I Don’t Give a DOM 235 Keeping in touch with the family 238 Understanding DOM structure 238 What Goes In Must Come Out: Processing XML 240 So many processors, so little time 242 Which processor is right for you? 243 Part V: XML Application Development 245 Chapter 15: Using XML with Web Services 247 What’s Up with Web Services? 248 A Web Services Architecture 251 Transport: Moving XML messages 252 Packaging/Extensions: Managing information exchange 253 Description: Specifying services and related components 254 Discovery: Finding what’s available 255 Where Will Web Services Lead? 256 Chapter 16: XML and Forms 259 Collecting Information with Forms: The Basics 260 HTML Forms 260 XML Forms 261 XForms 261 InfoPath 267 Chapter 17: Serving Up the Data: XML and Databases 271 Using Databases with XML 272 Text-intensive XML 272 Data-intensive XML 273 Creating XML from Database Files 273 Using Word 2003 274 Using InfoPath 275 Using XMLSpy 278 Using XML with Access 2003 281 Chapter 18: XML and RSS 285 Introducing RSS 286 Sorting Out the Versions 286 RSS 0.9x 287 Rss 2.0/2.01 290 Rss 1.0 291 Validating an RSS Feed 295 Creating RSS Feeds 296 Get Syndicated! 297 Using an RSS Reader 298 Part VI: The Part of Tens 299 Chapter 19: XML Tools and Technologies 301 Creating Documents with Authoring Tools 301 Epic Editor 302 Turbo XML v2.4.1 303 XMetaL Author 4.5 303 XML Pro v2.0.1 303 XML Spy 2005 304 Checking Documents with Parser Tools 304 Ælfred 305 expat 306 Lark 306 Viewing with XML Browsers 307 Amaya 307 Internet Explorer 6 307 Mozilla 308 Firefox 1.0 308 Opera 308 Using XML Parsers and Engines 309 XML C Library for Gnome 309 Java XML Pack 310 Xerces 310 Employing Conversion Tools 311 HTML Tidy 311 Extensible Programming Script (XPS) 311 The Ultimate XML Grab Bag and Goodie Box 312 Microsoft does XML, too! 312 webMethods automates XML excellence 312 Chapter 20: Ten Top XML Applications 313 Xhtml = Xml + Html 314 XML Style Is a Matter of Application 314 Wireless Markup Language (WML) 314 DocBook, Anyone? 315 Mathematical Markup Language (MathML) 315 Scalable Vector Graphics (SVG) 316 Resource Description Framework (RDF) 316 Synchronized Multimedia Integration Language (SMIL) 317 Servin’ Up Web Services 317 XQuery 318 Create XML Applications with Zope 319 Chapter 21: Ten Ultimate XML Resources 321 XML’s Many and Marvelous Specs 321 An XML Nonpareil 322 XML in the Mail 323 Excellent XML Examples at zvon.org 323 XML News and Information 323 XML Training Options 324 Building a Bodacious XML Bookshelf 325 Studying XML for Certification 326 Serious Searches Lead to Success 327 Glossary 329 Index 347

    1 in stock

    £18.69

  • Qiskit Pocket Guide

    O'Reilly Media Qiskit Pocket Guide

    1 in stock

    Book SynopsisThis pocket guide provides software developers with a quick reference to Qiskit, an open source SDK for working with quantum computers. Packed with helpful programming examples, tables, figures, and lists, this handy book helps you find the information you need to develop and debug quantum programs.

    1 in stock

    £20.39

  • AIAssisted Programming

    O'Reilly AIAssisted Programming

    10 in stock

    Book Synopsis

    10 in stock

    £41.99

© 2026 Book Curl

    • American Express
    • Apple Pay
    • Diners Club
    • Discover
    • Google Pay
    • Maestro
    • Mastercard
    • PayPal
    • Shop Pay
    • Union Pay
    • Visa

    Login

    Forgot your password?

    Don't have an account yet?
    Create account