Programming and scripting languages: general Books

2620 products


  • Kotlin in Action Second Edition

    Pearson Education Kotlin in Action Second Edition

    Book SynopsisAbout the Authors: Roman Elizarov is a Project Lead for Kotlin at JetBrains and currently focuses on the Kotlin language design in the role of Lead Language Designer. Roman Elizarov previously designed and developed high-performance trading software for leading brokerage firms and market data delivery services that routinely handle millions of events per second. He has been working on Kotlin at JetBrains since 2016 and has contributed to the design of Kotlin coroutines and the development of the Kotlin coroutines library. Svetlana Isakova began as a member of the Kotlin compiler team and is now a developer advocate for JetBrains. She teaches Kotlin and speaks at conferences worldwide. She is a co-creator of the course Kotlin for Java developers at Coursera and is a co-author of the book Atomic Kotlin. As a Kotlin Developer Advocate at JetBrains, Sebastian Aigner spends a lot of time thinking abo

    £41.39

  • Spring Boot in Action

    Manning Publications Spring Boot in Action

    Book Synopsis DESCRIPTION Although Spring Framework simplifies enterprise Java development, it can require a lot from developers in terms of framework configuration. Spring Boot radically streamlines the process of creating Spring applications by employing automatic configuration, along with a programming model built around established conventions for build-time and runtime dependencies. It also provides a component that gives insight into the internals of a running application and a handy CLI that can be used to write command-line scripts in Groovy. Developers who have used Spring Boot say that they can't imagine ever going back to hand-configuring their applications. Spring Boot in Action is a developer-focused guide to writing applications using Spring Boot. It shows readers how to bypass the tedious configuration steps so that they can concentrate on their application's behavior. Using interesting, relevant examples, Spring expert Craig Walls shows both how to use the default settings effectively and how to override and customize Spring Boot for each unique environment. Along the way, it offers insights from Craig's years of Spring development experience. KEY SELLING POINTS Practical hands-on guide Quickly develop Spring applications Author insights based on years of Spring Development Covers newest features of Spring Boot AUDIENCE Written for readers familiar with the Spring Framework. ABOUT THE TECHNOLOGY Spring Boot brings a convention-over-configuration programming model to the Spring Framework. With Spring Boot, Spring developers can focus on producing application functionality with little effort spent on configuring Spring itself.

    £34.19

  • LargeScale C

    Pearson Education (US) LargeScale C

    1 in stock

    Book SynopsisJohn Lakos, manager at Bloomberg, runs their BDE group, which develops fine-grained reusable C++ software using his component-based methodology and process. He also mentors engineers and team leads throughout Bloomberg's software infrastructure department. As a voting member of the C++ Standards Committee, he has helped shape new generations of C++. He is the author of Large-Scale C++ Software Design (Addison-Wesley, 1996).Table of ContentsPreface xviiAcknowledgments xxvChapter 0: Motivation 10.1 The Goal: Faster, Better, Cheaper! 30.2 Application vs. Library Software 50.3 Collaborative vs. Reusable Software 140.4 Hierarchically Reusable Software 200.5 Malleable vs. Stable Software 290.6 The Key Role of Physical Design 440.7 Physically Uniform Software: The Component 460.8 Quantifying Hierarchical Reuse: An Analogy 570.9 Software Capital 860.10 Growing the Investment 980.11 The Need for Vigilance 1100.12 Summary 114Chapter 1: Compilers, Linkers, and Components 1231.1 Knowledge Is Power: The Devil Is in the Details 1251.2 Compiling and Linking C++ 1291.3 Declarations, Definitions, and Linkage 1531.4 Header Files 1901.5 Include Directives and Include Guards 2011.6 From .h /.cpp Pairs to Components 2091.7 Notation and Terminology 2161.8 The Depends-On Relation 2371.9 Implied Dependency 2431.10 Level Numbers 2511.11 Extracting Actual Dependencies 2561.12 Summary 259Chapter 2: Packaging and Design Rules 2692.1 The Big Picture 2702.2 Physical Aggregation 2752.3 Logical/Physical Coherence 2942.4 Logical and Physical Name Cohesion 2972.5 Component Source-Code Organization 3332.6 Component Design Rules 3422.7 Component-Private Classes and Subordinate Components 3702.8 The Package 3842.9 The Package Group 4022.10 Naming Packages and Package Groups 4222.11 Subpackages 4272.12 Legacy, Open-Source, and Third-Party Software 4312.13 Applications 4332.14 The Hierarchical Testability Requirement 4372.15 From Development to Deployment 4592.16 Metadata 4692.17 Summary 481Chapter 3: Physical Design and Factoring 4953.1 Thinking Physically 4973.2 Avoiding Poor Physical Modularity 5173.3 Grouping Things Physically That Belong Together Logically 5553.4 Avoiding Cyclic Link-Time Dependencies 5923.5 Levelization Techniques 6023.6 Avoiding Excessive Link-Time Dependencies 7043.7 Lateral vs. Layered Architectures 7223.8 Avoiding Inappropriate Link-Time Dependencies 7393.9 Ensuring Physical Interoperability 7533.10 Avoiding Unnecessary Compile-Time Dependencies 7733.11 Architectural Insulation Techniques 7903.12 Designing with Components 8353.13 Summary 908Conclusion 923Appendix: Quick Reference 925Bibliography 933Index 941

    1 in stock

    £53.99

  • Data Pipelines with Apache Airflow

    Manning Publications Data Pipelines with Apache Airflow

    1 in stock

    Book SynopsisPipelines can be challenging to manage, especially when your data has to flow through a collection of application components, servers, and cloud services. Airflow lets you schedule, restart, and backfill pipelines, and its easy-to-use UI and workflows with Python scripting has users praising its incredible flexibility. Data Pipelines with Apache Airflow takes you through best practices for creating pipelines for multiple tasks, including data lakes, cloud deployments, and data science. Data Pipelines with Apache Airflow teaches you the ins-and-outs of the Directed Acyclic Graphs (DAGs) that power Airflow, and how to write your own DAGs to meet the needs of your projects. With complete coverage of both foundational and lesser-known features, when you’re done you’ll be set to start using Airflow for seamless data pipeline development and management. Key Features Framework foundation and best practices Airflow's execution and dependency system Testing Airflow DAGs Running Airflow in production For data-savvy developers, DevOps and data engineers, and system administrators with intermediate Python skills. About the technology Data pipelines are used to extract, transform and load data to and from multiple sources, routing it wherever it’s needed -- whether that’s visualisation tools, business intelligence dashboards, or machine learning models. Airflow streamlines the whole process, giving you one tool for programmatically developing and monitoring batch data pipelines, and integrating all the pieces you use in your data stack. Bas Harenslak and Julian de Ruiter are data engineers with extensive experience using Airflow to develop pipelines for major companies including Heineken, Unilever, and Booking.com. Bas is a committer, and both Bas and Julian are active contributors to Apache Airflow.

    1 in stock

    £35.99

  • Official Scratch Coding Cards, The (scratch 3.0):

    No Starch Press,US Official Scratch Coding Cards, The (scratch 3.0):

    3 in stock

    Book SynopsisNow updated for Scratch 3.0, this 75-card deck features interactive programming projects you can make with Scratch, a free-to-use graphical programming language used by millions of kids around the world. The front of each card shows an activity, like Pong, Write an Interactive Story, Create a Virtual Pet, Play Hide and Seek. The back shows how to put code blocks together to make projects come to life! Along the way, kids learn coding concepts like sequencing, conditionals, and variables.

    3 in stock

    £17.09

  • MATLAB

    Elsevier - Health Sciences Division MATLAB

    Book SynopsisTable of ContentsPart 1 Introduction to Programming Using MATLAB 1. Introduction to MATLAB 2. Vectors and Matrices 3. Introduction to MATLAB Programming 4. Selection Statements 5. Loop Statements and Vectorizing Code 6. MATLAB Programs 7. Text Manipulation 8. Data Structures Part 2 Advanced Topics for Problem Solving with MATLAB 9. Data Transfer 10. Advanced Functions 11. Introduction to Object-Oriented Programming and Graphics 12. Advanced Plotting Techniques 13. Sights and Sounds 14. Advanced Mathematics 15. Introduction to Machine Learning

    £46.76

  • Essential C 12.0

    Pearson Education (US) Essential C 12.0

    1 in stock

    Book SynopsisMark Michaelis is founder, chief technical architect, and trainer for IntelliTect. A world-class C# expert, he has been a Microsoft Regional Director since 2007 and a Microsoft MVP for 25 years. He founded the Spokane .NET Users Group, co-organizes the annual TEDx Coeur d'Alene events, and is adjunct professor at Eastern Washington University.Table of ContentsForeword xvPreface xviiAcknowledgments xxxiAbout the Author xxxiii Chapter 1: Introducing C# 1Hello, World 2C# Syntax Fundamentals 12Working with Variables 24Console Input and Output 28Managed Execution and the Common Language Infrastructure 38Multiple .NET Frameworks 44Summary 48 Chapter 2: Data Types 49Type Name Forms 50Fundamental Numeric Types 52More Fundamental Types 63Conversions between Data Types 84Summary 92 Chapter 3: More with Data Types 93Categories of Types 93Declaring Types That Allow null 96Implicitly Typed Local Variables 102Tuples 103Arrays 112Summary 134 Chapter 4: Operators and Control Flow 137Operators 137Introducing Flow Control 156Code Blocks ({}) 161Code Blocks, Scopes, and Declaration Spaces 164Boolean Expressions 166Programming with null 173Bitwise Operators (<<, >>, |, &, ^, ~) 181Control Flow Statements, Continued 187Jump Statements 200C# Preprocessor Directives 206Summary 215 Chapter 5: Parameters and Methods 217Calling a Method 218Declaring a Method 225Local Functions 232Using Directives 233Returns and Parameters on Main Method 242Top-Level Statements 246Advanced Method Parameters 247Recursion 261Method Overloading 264Optional Parameters 267Basic Error Handling with Exceptions 272Summary 291 Chapter 6: Classes 293Declaring and Instantiating a Class 298Instance Fields 302Instance Methods 305Using the this Keyword 306Access Modifiers 314Properties 316Constructors 333Non-Nullable Reference Type Properties with Constructors 346Nullable Attributes 354Deconstructors 357Static Members 359Extension Methods 370Encapsulating the Data 372Nested Classes 376Partial Classes 379Summary 384 Chapter 7: Inheritance 385Derivation 386Overriding the Base Class 397Abstract Classes 410All Classes Derive from System.Object 417Type Checking 419Pattern Matching 423Avoid Pattern Matching When Polymorphism Is Possible 438Summary 440 Chapter 8: Interfaces 443Introducing Interfaces 444Polymorphism through Interfaces 446Interface Implementation 451Converting between the Implementing Class and Its Interfaces 457Interface Inheritance 458Multiple Interface Inheritance 461Extension Methods on Interfaces 461Versioning 464Extension Methods versus Default Interface Members 480Interfaces Compared with Abstract Classes 482Interfaces Compared with Attributes 484Summary 484 Chapter 9: Introducing Structs and Records 487Reference Equality versus Value Equality 493Structs 494Record Classes 500Record Class Inheritance 503Records 504Overriding object Members 513Customizing Record Behavior 521Boxing 523Enums 532Summary 544 Chapter 10: Well-Formed Types 547Operator Overloading 548Referencing Other Assemblies 557Encapsulation of Types 564Defining Namespaces 567XML Comments 571Garbage Collection and Weak References 576Resource Cleanup 580Lazy Initialization 596Summary 598 Chapter 11: Exception Handling 601Multiple Exception Types 601Catching Exceptions 604Rethrowing an Existing Exception 607General Catch Block 609Guidelines for Exception Handling 610Defining Custom Exceptions 614Rethrowing a Wrapped Exception 618Summary 622 Chapter 12: Generics 623C# without Generics 624Introducing Generic Types 630Constraints 646Generic Methods 663Covariance and Contravariance 669Generic Internals 676Summary 681 Chapter 13: Delegates and Lambda Expressions 683Introducing Delegates 684Declaring Delegate Types 688Lambda Expressions 698Statement Lambdas 699Expression Lambdas 702Anonymous Methods 705Delegates Do Not Have Structural Equality 707Outer Variables 710Static Anonymous Functions 712Expression Trees 716Summary 724 Chapter 14: Events 727Coding the Publish–Subscribe Pattern with Multicast Delegates 728Understanding Events 743Summary 753 Chapter 15: Collection Interfaces with Standard Query Operators 755Collection Initializers 756What Makes a Class a Collection: IEnumerable 759Standard Query Operators 766Anonymous Types with LINQ 796Summary 806 Chapter 16: LINQ with Query Expressions 809Introducing Query Expressions 810Query Expressions Are Just Method Invocations 829Summary 831 Chapter 17: Building Custom Collections 833More Collection Interfaces 834Primary Collection Classes 837Providing an Indexer 859Returning null or an Empty Collection 862Iterators 863Summary 879 Chapter 18: Reflection, Attributes, and Dynamic Programming 881Reflection 881nameof Operator 894Attributes 895Programming with Dynamic Objects 920Summary 931 Chapter 19: Introducing Multithreading 933Multithreading Basics 935Asynchronous Tasks 943Canceling a Task 965Working with System.Threading 972Summary 973 Chapter 20: Programming the Task-Based Asynchronous Pattern 975Synchronously Invoking a High-Latency Operation 975Asynchronously Invoking a High-Latency Operation Using the TPL 979The Task-Based Asynchronous Pattern with async and await 984Introducing Asynchronous Return of ValueTask 991Asynchronous Streams 994IAsyncDisposable and the await using Declaration and Statement 998Using LINQ with IAsyncEnumerable 999Returning void from an Asynchronous Method 1001Asynchronous Lambdas and Local Functions 1006Task Schedulers and the Synchronization Context 1013async/await with the Windows UI 1015Summary 1019 Chapter 21: Iterating in Parallel 1021Executing Loop Iterations in Parallel 1021Running LINQ Queries in Parallel 1032Summary 1039 Chapter 22: Thread Synchronization 1041Why Synchronization? 1042Timers 1073Summary 1076 Chapter 23: Platform Interoperability and Unsafe Code 1077Platform Invoke 1078Pointers and Addresses 1093Executing Unsafe Code via a Delegate 1104Summary 1105 Chapter 24: The Common Language Infrastructure 1107Defining the Common Language Infrastructure 1107CLI Implementations 1109.NET Standard 1113Base Class Library 1113C# Compilation to Machine Code 1114Runtime 1116Assemblies, Manifests, and Modules 1121Common Intermediate Language 1124Common Type System 1125Common Language Specification 1125Metadata 1126.NET Native and Ahead of Time Compilation 1127Summary 1128 Index 1131Index of 8.0 Topics 1187Index of 9.0 Topics 1190Index of 10.0 Topics 1191Index of 11.0 Topics 1192Index of 12.0 Topics 1193

    1 in stock

    £46.54

  • Scratch Programming in easy steps

    In Easy Steps Limited Scratch Programming in easy steps

    2 in stock

    Book SynopsisThe Scratch programming language is widely used in schools and on the Raspberry Pi. Its drag-and-drop commands make it an ideal language for all ages to learn to program. And this popular book, Scratch Programming in easy steps, now fully updated for Scratch 3, is packed with ideas and games that illustrate what's possible with Scratch.Scratch makes it easy to create your own games, animations, music, art or applications. It's the perfect way to learn programming because it takes away a lot of the complexity. That means you can focus on having great ideas and bringing them to life. With Scratch Programming in easy steps, 2nd edition as your companion, you'll learn how to: Build games that require skill, knowledge or quick fingersAdd musicCreate eye-catching visual effectsKeep scoreAvoid common pitfalls and learn how to fix bugsScratch Programming in easy steps, 2nd edition will help you to get creative and become a super Scratcher!

    2 in stock

    £10.44

  • C20 for Programmers

    Pearson Education (US) C20 for Programmers

    Book Synopsis Paul Deitel, CEO and Chief Technical Officer of Deitel & Associates, Inc., is a graduate of MIT, where he studied Information Technology. He holds the Java Certified Programmer and Java Certified Developer designations, and is an Oracle Java Champion. Through Deitel & Associates, Inc., he has delivered hundreds of programming courses worldwide to clients, including Cisco, IBM, Siemens, Sun Microsystems, Dell, Fidelity, NASA at the Kennedy Space Center, the National Severe Storm Laboratory, White Sands Missile Range, Rogue Wave Software, Boeing, SunGard Higher Education, Nortel Networks, Puma, iRobot, Invensys and many more. He and his co-author, Dr. Harvey M. Deitel, are the world's best-selling programming-language textbook/professional book/video authors. Dr. Harvey Deitel, Chairman and Chief Strategy Officer of Deitel & Associates, Inc., has over 50 years of experience in the computer field. Dr. Deitel earned B.S. and M.S. degreeTrade ReviewFrom Marc Gregoire, Software Architect, Nikon Metrology, Microsoft Visual C++ MVP and Author of Professional C++, 5/e: "C++20 is a big update for the C++ language and its standard library, introducing numerous new features. Some of these will drastically change the way we write and organize our code. C++20 for Programmers is a great book to learn C++. This latest edition is updated to include new C++20 features bringing you up to speed with writing modern and well-structured C++ code. Everything is introduced in an easy-to-read, step-by-step manner with the aid of compact, to-the-point code examples. I like the objects-natural approach and examples. For example, the ZIP discussion shows how powerful it is to use third-party libraries that implement complicated things--this allows you to write and read ZIP files in just a few lines of your own code. Another very nice and interesting objects-natural example shows encrypting and decrypting text with just a few lines of code." "I especially like that you've stressed to avoid using pointers but instead use modern functionality such as std::array, std::vector, std::string, and so on. I also like the very nice objects natural section, explaining std::span. A nice introduction to containers, iterators, and algorithms, the range-based for loop, and functional programming. Good introduction to classes. Good discussion of modern runtime- and compile-time polymorphism techniques. A very good chapter on operator overloading. Nice exceptions chapter--I like the look ahead to contracts for C++23 or later! I like the chapter 'Templates, C++20 Concepts and Metaprogramming.' It touches on several more advanced features, but it is still easy to read and to follow the examples. Nice chapter on C++20 modules--it contains just the right amount of details for this book." From Dr. Daisy Hollman, ISO C++ Standards Committee Member: "I'm a big fan of talking about objects early and often--it's nice to see that my pedagogical instincts in this matter are supported by at least some experts. :-) I love the emphasis on code readability throughout. The emphasis on safe programming in this book is excellent. I really like the 'objects natural' case study with the zip library. I'm a big fan of introducing the class template array before the language version of arrays, and I also like the use of vector as a case study. I absolutely love the emphasis on avoiding pointers. Well done! I'm also a big fan of the section on span. The use of std::string_view in Figure 9.2 is exactly what we had in mind when we designed it." "In the chapter, 'OOP: Inheritance and Runtime Polymorphism,' it's awesome that NVI (non-virtual interface idiom) is covered. I really like the discussion of real-world consequences of implementation inheritance. 'Operator Overloading, Copy/Move Semantics and Smart Pointers' is a great chapter." From Inbal Levi, SolarEdge Technologies, ISO C++ Foundation director, ISO C++ SG9 (Ranges) chair, ISO C++ Standards Committee: " C++20 for Programmers provides a great introduction to C++20 through simple and useful examples. 'C++20 formatting with the {fmt} library' is a great and important explanation--it clarifies the relation between standard library implementations and open-source libraries. Examples (especially cryptography) in the 'Functions and an Intro to Function Templates' chapter are great. The chapter, 'Strings, string_views, Text Files, CSV Files and Regex' is well written, great examples. I think both the use case and the reference to OWASP (Open Web Application Security Project) as a knowledge resource will do a great deal for the new developer. The chapter 'OOP: Inheritance and Runtime Polymorphism,' presents some very interesting design patterns. The chapter, 'Operator Overloading, Copy/Move Semantics and Smart Pointers,' is great, the explanations and example class are good and informative." From Danny Kalev, Ph.D. and Certified System Analyst and Software Engineer, Former ISO C++ Standards Committee Member: "The Deitels have included all of the useful new C++20 features in a readable and up-to-date book with numerous code examples aimed to transport you swiftly and smoothly into the era of Modern C++ programming. The code has been rigorously tested with three leading compilers. Covers the latest C++20 programming and design idioms. All the relevant hands-on knowledge for designing efficient and reusable concurrent C++20 apps." "The chapter, 'Strings, string_views, Text Files, CSV Files and Regex,' is one of the best chapters in any C++ book I've read. Kudos on the Titanic dataset. 'Operator Overloading, Copy/Move Semantics and Smart Pointers' discusses the Special Five member functions, emphasizing the differences between copy constructors and assignment operators, and between copying and moving. The chapter, 'Standard Library Containers and Iterators,' covers the major concepts of standard library containers, iterators, algorithms and container adaptors--all with C++20-compliant code. The chapter, 'Standard Library Algorithms and C++20 Ranges & Views,' covers advanced C++20 features, including iterators and their requirements, the C++20 ranges facilities and related algorithms, functional programming using functors and lambdas, and brief discussion about parallelization. 'Templates, C++20 Concepts and Metaprogramming' is one of the best chapters of this book. Not only is it clear and easy to read, it's also up to date with the latest C++20 features. The new C++20 concepts are explained and demonstrated very well, as are variadic templates, the more traditional notion of type traits and finally, the pick of the crop is template metaprogramming. Writing about modules is quite a challenge--this chapter presents them clearly and in detail. I loved the jaw-dropping improvement in translation unit sizes achieved by importing a header unit using C++20 modules rather than the preprocessor to include a header." "Coroutines, one of C++20's 'big four' features, are explained clearly. The main concepts associated with coroutines, i.e., co_await, co_yield and co_return, are demonstrated using easy-to-follow code listings, as are more advanced issues such as tasks and executors. Another noteworthy point is the balanced coverage of third-party coroutines support libraries, since C++20 doesn't provide its own yet." From Arthur O'Dwyer, C++ trainer, Chair of CppCon's Back to Basics track, author of several accepted C++17/20/23 proposals and the book Mastering the C++17 STL: "The chapter, 'OOP: Inheritance and Runtime Polymorphism,' is thorough on all the permutations of private, public, data members, function members, virtual, non-virtual, etc. Very obviously concerned with being up-to-date with C++17 and C++20--that's excellent! You emphasize override and final, which is good. You also emphasize 'prefer composition over inheritance' and NVI (non-virtual interface idiom), which I like. I'm very happy that you show the new ways and say they're good. That's great. C++20 Modules are relegated to their own chapter near the end of the book, but their treatment is not superficial; the chapter demonstrates some non-trivial features such as module partitions, and includes step-by-step instructions for building the sample code on all three mainstream implementations. Covers C++20 Concepts and Ranges confidently and in depth. New features such as std::format, std::span and concepts are used heavily throughout the code examples. The fun part of the chapter, 'Control Statements: Part 1,' is integrating the third-party libraries [in the objects-natural case study] and . 'Strings, string_views, Text Files, CSV Files and Regex' is a solid chapter. I like presenting string and string_view together as a unit. The rapidcsv [objects-natural] case study is a really good idea. The chapter 'Exceptions and a Look Forward to Contracts' presents a pretty clear narrative focus on exceptions and error handling. In the chapter 'C++20 Coroutines,' the choice to use tl::generator and concurrencpp::result is good." From José Antonio González Seco, Parliament of Andalusia: "Ideal for professionals who want to learn modern C++ or improve their skills with it. Covers C++20 in a clear and practical way, with an impressive amount of high-quality references, a strong focus on performance and security, and an 'objects natural' approach very useful for learning how to integrate external libraries in your projects. Great coverage of modules, with clear explanations." From Saar Raz, Senior Software Engineer, Swimm.io and Implementor of C++20 Concepts in Clang: "The chapter 'Templates, C++20 Concepts and Metaprogramming' covers a lot of ground and important features, such as concept-based overloading, fold expressions and constexpr if. It also goes into great detail explaining how the metaprogramming works. The explanation about the need for coroutines is excellent and provides many use cases, building a strong case for the feature. Gives a high level of understanding of the main low-level concepts of coroutine implementation--it helped me better grasp those concepts." From Anthony Williams, Member of the British Standards Institution C++ Standards Panel, Director of Just Software Solutions Ltd., Author of C++ Concurrency in Action, 2/e: "Gives concrete information on how to write code using modules. I like that the chapter 'Parallel Algorithms and Concurrency: A High-Level View' doesn't go too deep on the lower-level things and starts with the parallel algorithms. Introduces coroutines clearly, with simple examples using open-source libraries." From Andreas Fertig, Independent C++ Trainer and Consultant, Creator of cppinsights.io, Author of Programming with C++20: "Paul and Harvey do an excellent job teaching modern C++ using C++20. Templates are a huge beast and the chapter 'Templates, C++20 Concepts and Metaprogramming' gives a good overview. The chapter 'C++20 Modules: Large-Scale Development' is a good write-up of modules and how they work--it covers all the parts one needs to start with or convert to modules. An excellent introduction to multithreading and concurrency. In the chapter 'C++20 Coroutines,' I especially liked the overview of coroutine use-cases." Some Reviews from Earlier Editions--and the Reviewers' Affiliations at the Time "A great introduction to object-oriented programming in C++. I wish I'd had it when I was learning the language. Provides helpful tips that are relevant to real problems in the software industry." --Gordon Hogenson, Microsoft "I like how the text emphasizes the importance of style, comments and consistency." --Renato Golin, LLVM Compiler Engineer (now a Senior Research Engineer at Microsoft) "A stellar overview of how polymorphism works--the section on how it's done is great." --Gašper Ažman, A9.com Search Technologies and Co-author, C++ Today: The Beast Is Back "Gets you into C++ programming quickly with important tips, loads of insights and gradual progression towards advanced concepts. A great tour of C++ for beginners learning an industrial-strength programming language." --Dean Michael Berris, Google, Maintainer of cpp-netlib and Former ISO C++ Committee Member (now a Principal Software Engineer at Microsoft) "I liked that the material doesn't skirt around the complex nature of C++, and instead explains all the aspects of the example programs." --Jonathan Wakely, Redhat, ISO C++ Committee SecretaryTable of ContentsPreface xxi Before You Begin xliii Chapter 1: Intro and Test-Driving Popular, Free C++ Compilers 1 1.1 Introduction 2 1.2 Test-Driving a C++20 Application 4 1.3 Moore's Law, Multi-Core Processors and Concurrent Programming 16 1.4 A Brief Refresher on Object Orientation 17 1.5 Wrap-Up 20 Chapter 2: Intro to C++20 Programming 21 2.1 Introduction 22 2.2 First Program in C++: Displaying a Line of Text 22 2.3 Modifying Our First C++ Program 25 2.4 Another C++ Program: Adding Integers 26 2.5 Arithmetic 30 2.6 Decision Making: Equality and Relational Operators 31 2.7 Objects Natural: Creating and Using Objects of Standard-Library Class string 35 2.8 Wrap-Up 38 Chapter 3: Control Statements: Part 1 39 3.1 Introduction 40 3.2 Control Structures 40 3.3 if Single-Selection Statement 43 3.4 if…else Double-Selection Statement 44 3.5 while Iteration Statement 47 3.6 Counter-Controlled Iteration 48 3.7 Sentinel-Controlled Iteration 50 3.8 Nested Control Statements 54 3.9 Compound Assignment Operators 57 3.10 Increment and Decrement Operators 58 3.11 Fundamental Types Are Not Portable 60 3.12 Objects-Natural Case Study: Arbitrary-Sized Integers 61 3.13 C++20: Text Formatting with Function format 65 3.14 Wrap-Up 67 Chapter 4: Control Statements: Part 2 69 4.1 Introduction 70 4.2 Essentials of Counter-Controlled Iteration 70 4.3 for Iteration Statement 71 4.4 Examples Using the for Statement 74 4.5 Application: Summing Even Integers 74 4.6 Application: Compound-Interest Calculations 75 4.7 do…while Iteration Statement 78 4.8 switch Multiple-Selection Statement 80 4.9 C++17 Selection Statements with Initializers 85 4.10 break and continue Statements 86 4.11 Logical Operators 88 4.12 Confusing the Equality (==) and Assignment (=) Operators 92 4.13 Objects-Natural Case Study: Using the miniz-cpp Library to Write and Read ZIP files 94 4.14 C++20 Text Formatting with Field Widths and Precisions 98 4.15 Wrap-Up 100 Chapter 5: Functions and an Intro to Function Templates 101 5.1 Introduction 102 5.2 C++ Program Components 103 5.3 Math Library Functions 103 5.4 Function Definitions and Function Prototypes 105 5.5 Order of Evaluation of a Function's Arguments 108 5.6 Function-Prototype and Argument-Coercion Notes 108 5.7 C++ Standard Library Headers 111 5.8 Case Study: Random-Number Generation 113 5.9 Case Study: Game of Chance; Introducing Scoped enums 119 5.10 Scope Rules 124 5.11 Inline Functions 128 5.12 References and Reference Parameters 129 5.13 Default Arguments 132 5.14 Unary Scope Resolution Operator 133 5.15 Function Overloading 134 5.16 Function Templates 137 5.17 Recursion 139 5.18 Example Using Recursion: Fibonacci Series 142 5.19 Recursion vs. Iteration 145 5.20 Lnfylun Lhqtomh Wjtz Qarcv: Qjwazkrplm xzz Xndmwwqhlz 147 5.21 Wrap-Up 150 Chapter 6: arrays, vectors, Ranges and Functional-Style Programming 153 6.1 Introduction 154 6.2 arrays 155 6.3 Declaring arrays 155 6.4 Initializing array Elements in a Loop 155 6.5 Initializing an array with an Initializer List 158 6.6 C++11 Range-Based for and C++20 Range-Based for with Initializer 159 6.7 Calculating array Element Values and an Intro to constexpr 161 6.8 Totaling array Elements 163 6.9 Using a Primitive Bar Chart to Display array Data Graphically 164 6.10 Using array Elements as Counters 165 6.11 Using arrays to Summarize Survey Results 166 6.12 Sorting and Searching arrays 168 6.13 Multidimensional arrays 170 6.14 Intro to Functional-Style Programming 174 6.15 Objects-Natural Case Study: C++ Standard Library Class Template vector 180 6.16 Wrap-Up 187 Chapter 7: (Downplaying) Pointers in Modern C++ 189 7.1 Introduction 190 7.2 Pointer Variable Declarations and Initialization 192 7.3 Pointer Operators 192 7.4 Pass-by-Reference with Pointers 195 7.5 Built-In Arrays 199 7.6 Using C++20 to_array to Convert a Built-In Array to a std::array 201 7.7 Using const with Pointers and the Data Pointed To 202 7.8 sizeof Operator 205 7.9 Pointer Expressions and Pointer Arithmetic 208 7.10 Objects-Natural Case Study: C++20 spans--Views of Contiguous Container Elements 210 7.11 A Brief Intro to Pointer-Based Strings 216 7.12 Looking Ahead to Other Pointer Topics 220 7.13 Wrap-Up 220 Chapter 8: strings, string_views, Text Files, CSV Files and Regex 221 8.1 Introduction 222 8.2 string Assignment and Concatenation 223 8.3 Comparing strings 225 8.4 Substrings 226 8.5 Swapping strings 227 8.6 string Characteristics 227 8.7 Finding Substrings and Characters in a string 230 8.8 Replacing and Erasing Characters in a string 232 8.9 Inserting Characters into a string 234 8.10 C++11 Numeric Conversions 235 8.11 C++17 string_view 236 8.12 Files and Streams 239 8.13 Creating a Sequential File 240 8.14 Reading Data from a Sequential File 243 8.15 C++14 Reading and Writing Quoted Text 245 8.16 Updating Sequential Files 246 8.17 String Stream Processing 247 8.18 Raw String Literals 249 8.19 Objects-Natural Case Study: Reading and Analyzing a CSV File Containing Titanic Disaster Data 250 8.20 Objects-Natural Case Study: Intro to Regular Expressions 259 8.21 Wrap-Up 267 Chapter 9: Custom Classes 269 9.1 Introduction 270 9.2 Test-Driving an Account Object 271 9.3 Account Class with a Data Member and Set and Get Member Functions 272 9.4 Account Class: Custom Constructors 275 9.5 Software Engineering with Set and Get Member Functions 279 9.6 Account Class with a Balance 280 9.7 Time Class Case Study: Separating Interface from Implementation 283 9.8 Compilation and Linking Process 290 9.9 Class Scope and Accessing Class Members 291 9.10 Access Functions and Utility Functions 292 9.11 Time Class Case Study: Constructors with Default Arguments 292 9.12 Destructors 298 9.13 When Constructors and Destructors Are Called 298 9.14 Time Class Case Study: A Subtle Trap--Returning a Reference or a Pointer to a private Data Member 302 9.15 Default Assignment Operator 304 9.16 const Objects and const Member Functions 306 9.17 Composition: Objects as Members of Classes 308 9.18 friend Functions and friend Classes 313 9.19 The this Pointer 314 9.20 static Class Members: Classwide Data and Member Functions 320 9.21 Aggregates in C++20 324 9.22 Objects-Natural Case Study: Serialization with JSON 326 9.23 Wrap-Up 333 Chapter 10: OOP: Inheritance and Runtime Polymorphism 335 10.1 Introduction 336 10.2 Base Classes and Derived Classes 339 10.3 Relationship Between Base and Derived Classes 341 10.4 Constructors and Destructors in Derived Classes 349 10.5 Intro to Runtime Polymorphism: Polymorphic Video Game 350 10.6 Relationships Among Objects in an Inheritance Hierarchy 351 10.7 Virtual Functions and Virtual Destructors 357 10.8 Abstract Classes and Pure virtual Functions 362 10.9 Case Study: Payroll System Using Runtime Polymorphism 363 10.10 Runtime Polymorphism, Virtual Functions and Dynamic Binding "Under the Hood" 373 10.11 Non-Virtual Interface (NVI) Idiom 376 10.12 Program to an Interface, Not an Implementation 383 10.13 Runtime Polymorphism with std::variant and std::visit 391 10.14 Multiple Inheritance 397 10.15 protected Class Members: A Deeper Look 405 10.16 public, protected and private Inheritance 406 10.17 More Runtime Polymorphism Techniques; Compile-Time Polymorphism 408 10.18 Wrap-Up 412 Chapter 11: Operator Overloading, Copy/Move Semantics and Smart Pointers 415 11.1 Introduction 416 11.2 Using the Overloaded Operators of Standard Library Class string 418 11.3 Operator Overloading Fundamentals 423 11.4 (Downplaying) Dynamic Memory Management with new and delete 425 11.5 Modern C++ Dynamic Memory Management: RAII and Smart Pointers 427 11.6 MyArray Case Study: Crafting a Valuable Class with Operator Overloading 430 11.7 C++20 Three-Way Comparison Operator (<=>) 459 11.8 Converting Between Types 462 11.9 explicit Constructors and Conversion Operators 463 11.10 Overloading the Function Call Operator () 466 11.11 Wrap-Up 466 Chapter 12: Exceptions and a Look Forward to Contracts 467 12.1 Introduction 468 12.2 Exception-Handling Flow of Control 471 12.3 Exception Safety Guarantees and noexcept 476 12.4 Rethrowing an Exception 477 12.5 Stack Unwinding and Uncaught Exceptions 479 12.6 When to Use Exception Handling 481 12.7 Constructors, Destructors and Exception Handling 483 12.8 Processing new Failures 487 12.9 Standard Library Exception Hierarchy 490 12.10 C++'s Alternative to the finally Block: Resource Acquisition Is Initialization (RAII) 493 12.11 Some Libraries Support Both Exceptions and Error Codes 493 12.12 Logging 494 12.13 Looking Ahead to Contracts 495 12.14 Wrap-Up 503 Chapter 13: Standard Library Containers and Iterators 505 13.1 Introduction 506 13.2 Introduction to Containers 508 13.3 Working with Iterators 513 13.4 A Brief Introduction to Algorithms 518 13.5 Sequence Containers 518 13.6 vector Sequence Container 519 13.7 list Sequence Container 526 13.8 deque Sequence Container 531 13.9 Associative Containers 533 13.10 Container Adaptors 543 13.11 bitset Near Container 547 13.12 Optional: A Brief Intro to Big O 549 13.13 Optional: A Brief Intro to Hash Tables 552 13.14 Wrap-Up 553 Chapter 14: Standard Library Algorithms and C++20 Ranges & Views 555 14.1 Introduction 556 14.2 Algorithm Requirements: C++20 Concepts 558 14.3 Lambdas and Algorithms 560 14.4 Algorithms 563 14.5 Function Objects (Functors) 603 14.6 Projections 608 14.7 C++20 Views and Functional-Style Programming 611 14.8 Intro to Parallel Algorithms 617 14.9 Standard Library Algorithm Summary 619 14.10 A Look Ahead to C++23 Ranges 622 14.11 Wrap-Up 623 Chapter 15: Templates, C++20 Concepts and Metaprogramming 625 15.1 Introduction 626 15.2 Custom Class Templates and Compile-Time Polymorphism 629 15.3 C++20 Function Template Enhancements 634 15.4 C++20 Concepts: A First Look 636 15.5 Type Traits 644 15.6 C++20 Concepts: A Deeper Look 648 15.7 Testing C++20 Concepts with static_assert 659 15.8 Creating a Custom Algorithm 661 15.9 Creating a Custom Container and Iterators 663 15.10 Default Arguments for Template Type Parameters 678 15.11 Variable Templates 678 15.12 Variadic Templates and Fold Expressions 679 15.13 Template Metaprogramming 693 15.14 Wrap-Up 705 Chapter 16: C++20 Modules: Large-Scale Development 707 16.1 Introduction 708 16.2 Compilation and Linking Before C++20 710 16.3 Advantages and Goals of Modules 711 16.4 Example: Transitioning to Modules--Header Units 712 16.5 Modules Can Reduce Translation Unit Sizes and Compilation Times 715 16.6 Example: Creating and Using a Module 716 16.7 Global Module Fragment 724 16.8 Separating Interface from Implementation 725 16.9 Partitions 732 16.10 Additional Modules Examples 740 16.11 Migrating Code to Modules 746 16.12 Future of Modules and Modules Tooling 746 16.13 Wrap-Up 748 Chapter 17: Parallel Algorithms and Concurrency: A High-Level View 755 17.1 Introduction 756 17.2 Standard Library Parallel Algorithms (C++17) 759 17.3 Multithreaded Programming 767 17.4 Launching Tasks with std::jthread 771 17.5 Producer–Consumer Relationship: A First Attempt 776 17.6 Producer–Consumer: Synchronizing Access to Shared Mutable Data 783 17.7 Producer–Consumer: Minimizing Waits with a Circular Buffer 795 17.8 Readers and Writers 804 17.9 Cooperatively Canceling jthreads 805 17.10 Launching Tasks with std::async 808 17.11 Thread-Safe, One-Time Initialization 815 17.12 A Brief Introduction to Atomics 816 17.13 Coordinating Threads with C++20 Latches and Barriers 820 17.14 C++20 Semaphores 826 17.15 C++23: A Look to the Future of C++ Concurrency 830 17.16 Wrap-Up 831 Chapter 18: C++20 Coroutines 833 18.1 Introduction 834 18.2 Coroutine Support Libraries 835 18.3 Installing the concurrencpp and generator Libraries 837 18.4 Creating a Generator Coroutine with co_yield and the generator Library 837 18.5 Launching Tasks with concurrencpp 841 18.6 Creating a Coroutine with co_await and co_return 845 18.7 Low-Level Coroutines Concepts 853 18.8 C++23 Coroutines Enhancements 855 18.9 Wrap-Up 856 Appendix A: Operator Precedence and Grouping 857 Appendix B: Character Set 859 Index 861 Online Chapters and Appendices Chapter 19: Stream I/O and C++20 Text Formatting Chapter 20: Other Topics and a Look Toward the Future of C++ Appendix C: Number Systems Appendix D: Preprocessor Appendix E: Bit Manipulation

    £40.49

  • Think Bayes

    O'Reilly Media Think Bayes

    5 in stock

    Book SynopsisIf you know how to program, you're ready to tackle Bayesian statistics. With this book, you'll learn how to solve statistical problems with Python code instead of mathematical formulas, using discrete probability distributions rather than continuous mathematics.

    5 in stock

    £33.74

  • Practical C Programming 2e

    O'Reilly Media Practical C Programming 2e

    1 in stock

    Book SynopsisA complete introduction to C++ is provided for the beginning programmer in this guide. It is also suitable for C programmers migrating to C++, emphasising a practical approach including how to understand other people's code.Trade Review"When I picked up Practical C++ I was very skeptical, I've read numerous books aimed at beginner/intermediate readers and very few of them left any lasting impression on me. This book however, did! It's an excellent book, and it feels like it's written by a programmer and not an academic as most tend to. Not only are you going to learn about C++ in the easiest way possible, you're going to learn a lot of tips from someone who's been developing in C++ a long time. ... But I can't say enough good things about this book, it covers a lot more than C++, and it has a whole chapter on program design. This book is all you need to get started with C++. The title says Practical C++ and I'd say it's very practical. Highly recommended." - Peter Waller, news@UKTable of ContentsPreface Part I. The Basics 1. What Is C++? A Brief History of C++ C++ Organization How to Learn C++ 2. The Basics of Program Writing Programs from Conception to Execution Creating a Real Program Getting Help in Unix Getting Help in an IDE Programming Exercises 3. Style Comments C++ Code Naming Style Coding Religion Indentation and Code Format Clarity Simplicity Consistency and Organization Further Reading Summary 4. Basic Declarations and Expressions Basic Program Structure Simple Expressions The std::cout Output Object Variables and Storage Variable Declarations Assignment Statements Floating-Point Numbers Floating-Point Divide Versus Integer Divide Characters Wide Characters Boolean Type Programming Exercises Answers to Chapter Questions 5. Arrays, Qualifiers, and Reading Numbers Arrays Strings Reading Data Initializing Variables Multidimensional Arrays C-Style Strings Types of Integers Types of Floats Constant and Reference Declarations Qualifiers Hexadecimal and Octal Constants Operators for Performing Shortcuts Side Effects Programming Exercises Answers to Chapter Questions 6. Decision and Control Statements if Statement else Statement How Not to Use std::strcmp Looping Statements while Statement break Statement continue Statement The Assignment Anywhere Side Effect Programming Exercises Answers to Chapter Questions 7. The Programming Process Setting Up Your Work Area The Specification Code Design The Prototype The Makefile Testing Debugging Maintenance Revisions Electronic Archaeology Mark Up the Program Use the Debugger Use the Text Editor as a Browser Add Comments Programming Exercises Part II. Simple Programming 8. More Control Statements for Statement switch Statement switch, break, and continue Programming Exercises Answers to Chapter Questions 9. Variable Scope and Functions Scope and Storage Class Namespaces Functions Summary of Parameter Types Recursion Structured Programming Basics Real-World Programming Programming Exercises Answers to Chapter Questions 10. The C++ Preprocessor define Statement Conditional Compilation include Files Parameterized Macros Advanced Features Summary Programming Exercises Answers to Chapter Questions 11. Bit Operations Bit Operators The AND Operator (&) Bitwise OR (|) The Bitwise Exclusive OR (^) The Ones Complement Operator (NOT) (~) The Left and Right Shift Operators (<<, >>) Setting, Clearing, and Testing Bits Bitmapped Graphics Programming Exercises Answers to Chapter Questions Part III. Advanced Types and Classes 12. Advanced Types Structures Unions typedef enum Type Bit Members or Packed Structures Arrays of Structures Programming Exercises Answers to Chapter Questions 13. Simple Classes Stacks Improved Stack Using a Class Introduction to Constructors and Destructors Automatically Generated Member Functions Shortcuts Style Structures Versus Classes Programming Exercises 14. More on Classes Friends Constant Functions Constant Members Static Member Variables Static Member Functions The Meaning of static Programming Exercises 15. Simple Pointers const Pointers Pointers and Printing Pointers and Arrays The reinterpret_cast Pointers and Structures Command-Line Arguments Programming Exercises Answers to Chapter Questions Part IV. Advanced Programming Concepts 16. File Input/Output C++ File I/O Conversion Routines Binary and ASCII Files The End-of-Line Puzzle Binary I/O Buffering Problems Unbuffered I/O Designing File Formats C-Style I/O Routines C-Style Conversion Routines C-Style Binary I/O C- Versus C++- Style I/O Programming Exercises Answers to Chapter Questions 17. Debugging and Optimization Code Reviews Serial Debugging Going Through the Output Interactive Debuggers Debugging a Binary Search Interactive Debugging Tips and Tricks Runtime Errors Optimization How to Optimize Case Study: Inline Functions Versus Normal Functions Case Study: Optimizing a Color-Rendering Algorithm Programming Exercises Answers to Chapter Questions 18. Operator Overloading Creating a Simple Fixed-Point Class Operator Functions Operator Member Functions Warts Full Definition of the Fixed-Point Class Programming Exercises Answers to Chapter Questions 19. Floating Point Floating-Point Format Floating Addition/Subtraction Multiplication and Division Overflow and Underflow Roundoff Error Accuracy Minimizing Roundoff Error Determining Accuracy Precision and Speed Power Series Programming Exercises 20. Advanced Pointers Pointers, Structures, and Classes delete Operator Linked Lists Ordered Linked Lists Doubly Linked Lists Trees Printing a Tree The Rest of the Program Data Structures for a Chess Program Programming Exercises Answers to Chapter Questions 21. Advanced Classes Derived Classes Virtual Functions Virtual Classes Function Hiding in Derived Classes Constructors and Destructors in Derived Classes The dynamic_cast Operator Summary Programming Exercises Answers to Chapter Questions Part V. Other Language Features 22. Exceptions Adding Exceptions to the Stack Class Exceptions Versus assert Programming Exercises 23. Modular Programming Modules Public and Private The extern Storage Class Headers The Body of the Module A Program to Use Infinite Arrays The Makefile for Multiple Files Using the Infinite Array Dividing a Task into Modules Module Design Guidelines Programming Exercises 24. Templates What Is a Template? Templates: The Hard Way Templates: The C++ Way Function Specialization Class Templates Class Specialization Implementation Details Advanced Features Summary Programming Exercises 25. Standard Template Library STL Basics Class List-A Set of Students Creating a Waiting List with the STL List Storing Grades in a STL Map Putting It All Together Practical Considerations When Using the STL Getting More Information Exercises 26. Program Design Design Goals Design Factors Design Principles Coding Objects Real-World Design echniques Conclusion 27. Putting It All Together Requirements Code Design Coding Functional Description Testing Revisions A Final Warning Program Files Programming Exercises 28. From C to C++ K&R-Style Functions struct malloc and free Turning Structures into Classes setjmp and longjmp Mixing C and C++ Code Summary Programming Exercise 29. C++'s Dustier Corners do/while goto The ? : Construct The Comma Operator Overloading the ( ) Operator Pointers to Members The asm Statement The mutable Qualifier Run Time Type Identification Trigraphs Answers to Chapter Questions 30. Programming Adages General Design Declarations switch Statement Preprocessor Style Compiling The Ten Commandments for C++ Programmers Final Note Answers to Chapter Questions Part VI. Appendixes A. ASCII Table B. Ranges C. Operator Precedence Rules D. Computing Sine Using a Power Series E. Resources Index

    1 in stock

    £31.99

  • Snowflake  The Definitive Guide

    O'Reilly Media Snowflake The Definitive Guide

    5 in stock

    Book SynopsisSnowflake's ability to eliminate data silos and run workloads from a single platform creates opportunities to democratize data analytics, allowing users within an organization to make data-driven decisions. This clear, comprehensive guide will show you how to build integrated data applications and develop new revenue streams based on data.

    5 in stock

    £47.99

  • Problem Solving and Program Design in C Global

    Pearson Education Problem Solving and Program Design in C Global

    Out of stock

    Book SynopsisTable of Contents0. Computer Science as a Career Path 1. Overview of Computers and Programming 2. Overview of C 3. Top-Down Design with Functions 4. Selection Structures: if and switch Statements 5. Repetition and Loop Statements 6. Pointers and Modular Programming 7. Array Pointers 8. Strings 9. Recursion 10. Structure and Union Types 11. Text and Binary File Pointers 12. Programming in the Large 13. Pointers and Dynamic Data Structures 14. Multiprocessing Using Processes and Threads (Online at www.pearsonhighered.com/irc) 15. On to C++ (Online at www.pearsonhighered.com/irc ) Appendices A. More about Pointers B. ANSI C Standard Libraries C. C Operators D. Character Sets E. ANSI C Reserved Words

    Out of stock

    £999.99

  • C++ Crash Course: A Fast-Paced Introduction

    No Starch Press,US C++ Crash Course: A Fast-Paced Introduction

    3 in stock

    Book SynopsisC++ is one of the most widely used languages for real-world software. Wherever performance matters, C++ is the de facto standard. It's the language behind operating systems, embedded devices, games, web browsers, and virtual reality systems. As a C++ developer, you can program efficient software on virtually any platform. C++ Crash Course cuts through the weeds to get you straight to the core of C++17, the most modern revision of the ISO standard.Trade Review"This is a comprehensive book, both in size (over 700 pages, taking 5 months to review) and breadth of coverage . . . All in all, highly recommended." —ACCU"I can highly recommend this book to anyone who already has programming experience (in another language) and wants to dive straight into modern C++."—Arjan van Eersel, @ArjanvanEersel, CTO of Plandail LimitedTable of ContentsIntroductionAn Overture to C ProgrammersPart I: The C++ Core LanguageChapter 1: Up and RunningChapter 2: TypesChapter 3: Reference TypesChapter 4: The Object Life CycleChapter 5: Run-Time PolymorphismChapter 6: Compile-Time PolymorphismChapter 7: ExpressionsChapter 8: StatementsChapter 9: FunctionsPart II: C++ Libraries and FrameworksChapter 10: TestingChapter 11: Smart PointersChapter 12: UtilitiesChapter 13: ContainersChapter 14: IteratorsChapter 15: StringsChapter 16: StreamsChapter 17: FilesystemsChapter 18: AlgorithmsChapter 19: Concurrency and ParallelismChapter 20: Network Programming with Boost AsioChapter 21: Writing Applications

    3 in stock

    £40.49

  • Programming Massively Parallel Processors

    Elsevier Science & Technology Programming Massively Parallel Processors

    Book Synopsis

    £62.06

  • Teaching Primary Programming with Scratch Pupil

    Legend Press Ltd Teaching Primary Programming with Scratch Pupil

    1 in stock

    Book SynopsisThese books, classroom-tested and perfected by Phil Bagge through his website code-it.co.uk and published in conjunction with Hampshire Inspection and Advisory Service (HIAS), aid teachers in providing Key Stage 2 pupils with an exciting and challenging computer science curriculum.They can be used to supplement existing programming modules or as a complete KS2 computer science program of study. They contain a series of programming projects that gradually introduce pupils to algorithm design and evaluation, generalisation and decomposition. Pupils will learn how to use sequence, repetition, selection and variables through becoming creators of a wide variety of programming projects. Maths, literacy, humanities, gaming, music and control skills are all put to the test.There are four pupil workbooks to provide structure, resources and home learning links. These are designed to work in conjunction with the teacher book. In addition, there are also two home learning books that have been devised for children to learn programming outside of school. A growing bank of online videos are also available, designed to help teachers improve their own skills and take full advantage of the crosscurricular benefits of developing depth in programming.The Scratch programming language, widely recognised in schools, is freely accessible online or as a download and is the ideal place to begin programming.

    1 in stock

    £13.49

  • Agile Web Development with Rails 7

    The Pragmatic Programmers Agile Web Development with Rails 7

    1 in stock

    Book SynopsisRails 7 completely redefines what it means to produce fantastic user experiences and provides a way to achieve all the benefits of single-page applications - at a fraction of the complexity. Rails 7 integrates the Hotwire frameworks of Stimulus and Turbo directly as the new defaults, together with that hot newness of import maps. The result is a toolkit so powerful that it allows a single individual to create modern applications upon which they can build a competitive business. The way it used to be. Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly - you concentrate on creating the application, and Rails takes care of the details. Rails 7 brings many improvements, and this edition is updated to cover the new features and changes in best practices. We start with a step-by-step walkthrough of building a real application, and in-depth chapters look at the built-in Rails features. Follow along with an extended tutorial as you write a web-based store application. Eliminate tedious configuration and housekeeping, seamlessly incorporate JavaScript, send and receive emails, manage background jobs with ActiveJob, and build real-time features using WebSockets and ActionCable. Test your applications as you write them using the built-in unit, integration, and system testing frameworks, internationalize your applications, and deploy your applications easily and securely. Rails 1.0 was released in December 2005. This book was there from the start, and didn't just evolve alongside Rails, it evolved with Rails. It has been developed in consultation with the Rails core team. In fact, Rails itself is tested against the code in this book. What You Need: All you need is a Windows, Mac OS X, or Linux machine to do development on. This book will take you through the steps to install Rails and its dependencies. If you aren't familiar with the Ruby programming language, this book contains a chapter that covers the basics necessary to understand the material in the book.

    1 in stock

    £45.59

  • Designing Elixir Systems With OTP

    The Pragmatic Programmers Designing Elixir Systems With OTP

    1 in stock

    Book SynopsisYou know how to code in Elixir; now learn to think in it. Learn to design libraries with intelligent layers that shape the right data structures, flow from one function into the next, and present the right APIs. Embrace the same OTP that's kept our telephone systems reliable and fast for over 30 years. Move beyond understanding the OTP functions to knowing what's happening under the hood, and why that matters. Using that knowledge, instinctively know how to design systems that deliver fast and resilient services to your users, all with an Elixir focus. Elixir is gaining mindshare as the programming language you can use to keep you software running forever, even in the face of unexpected errors and an ever growing need to use more processors. This power comes from an effective programming language, an excellent foundation for concurrency and its inheritance of a battle-tested framework called the OTP. If you're using frameworks like Phoenix or Nerves, you're already experiencing the features that make Elixir an excellent language for today's demands. This book shows you how to go beyond simple programming to designing, and that means building the right layers. Embrace those data structures that work best in functional programs and use them to build functions that perform and compose well, layer by layer, across processes. Test your code at the right place using the right techniques. Layer your code into pieces that are easy to understand and heal themselves when errors strike. Of all Elixir's boons, the most important one is that it guides us to design our programs in a way to most benefit from the architecture that they run on. The experts do it and now you can learn to design programs that do the same.What You Need: Elixir Version 1.7 or greater.

    1 in stock

    £31.82

  • OCUP 2 Certification Guide

    Elsevier Science OCUP 2 Certification Guide

    1 in stock

    Book SynopsisTable of Contents1. What is UML? 2. What is OCUP? 3. Questions for Chapter 2 4. The Organization of UML 5. Questions for Chapter 4 6. Objects and Classes 7. Questions for Chapter 6 8. Packages and Namespaces 9. Questions for Chapter 8 10. Finishing the Static Model 11. Questions for Chapter 10 12. Use Cases 13. Questions for Chapter 12 14. Behavior: Sequence Diagrams 15. Questions for Chapter 14 16. Behavior: Activity Diagrams 17. Questions for Chapter 16 18. Behavior: State Machine Diagrams 19. Questions for Chapter 18

    1 in stock

    £48.44

  • Python Without Fear

    Pearson Education (US) Python Without Fear

    1 in stock

    Book SynopsisBrian Overland is a textbook author, sometime actor, programmer, film reviewer, and novelist. He has been professionally programming with the C family of languages since the early 1980s and spent 10 years at Microsoft, first as a software tester and then as programmer/writer, manager, and project lead. Almost unique among programmers, he is an award-winning writer deeply committed to teaching and simplifying advanced concepts.Table of ContentsPreface xvii Acknowledgments xxi Author Bio xxiii Chapter 1: Meet the Python 1 A Brief History of Python 1 How Python Is Different 2 How This Book Works 3 Installing Python 4 Begin Using Python with IDLE 6 Correcting Mistakes from Within IDLE 6 Dealing with Ends of Lines 7 Additional Help: Online Sources 8 Chapter 2: A Python Safari: Numbers 9 Python and Numbers 9 Python and Floating-Point Numbers 14 Assigning Numbers to Variables 17 Variable-Naming Conventions in This Book 23 Some Python Shortcuts 23 Chapter 2 Summary 26 Chapter 3: Your First Programs 29 Temperatures Rising? 29 Putting in a Print Message 35 Syntax Summaries 36 Getting String Input 41 Getting Numeric Input 43 Formatted Output String 46 Chapter 3 Summary 50 Chapter 4: Decisions and Looping 53 Decisions Inside a Computer Program 53 Conditional and Boolean Operators 55 The if, elif, and else Keywords 56 while: Looping the Loop 60 “Give Me a break” Statement 70 Chapter 4 Summary 75 Chapter 5: Python Lists 77 The Python Way: The World Is Made of Collections 77 Processing Lists with for 80 Modifying Elements with for (You Can't!) 82 Indexing and Slicing 85 Copying Data to Slices 88 Ranges 89 List Functions and the in Keyword 97 Chapter 5 Summary 99 Chapter 6: List Comprehension and Enumeration 101 Indexes and the enumerate Function 101 The Format String Method Revisited 103 Simple List Comprehension 106 “Two-Dimensional” List Comprehension 112 List Comprehension with Conditional 114 Chapter 6 Summary 123 Chapter 7: Python Strings 125 Creating a String with Quote Marks 125 Indexing and “Slicing” 127 String/Number Conversions 130 Stripping for Fun and Profit 135 Let’s Split: The split Method 138 Building Strings with Concatenation (+) 139 The join Method 143 Chapter 7 Summary 144 Chapter 8: Single-Character Ops 147 Naming Conventions in This Chapter 147 Accessing Individual Characters (A Review) 148 Getting Help with String Methods 148 Testing Uppercase vs. Lowercase 149 Converting Case of Letters 150 Testing for Palindromes 151 Converting to ASCII Code 159 Converting ASCII to Character 160 Chapter 8 Summary 166 Chapter 9: Advanced Function Techniques 167 Multiple Arguments 167 Returning More Than One Value 168 Arguments by Name 173 Default Arguments 174 Importing Functions from Modules 178 Chapter 9 Summary 185 Chapter 10: Local and Global Variables 187 Local Variables, What Are They Good For? 187 Locals vs. Globals 188 Introducing the global Keyword 190 The Python “Local Variable Trap” 190 Chapter 10 Summary 204 Chapter 11: File Ops 207 Text Files vs. Binary Files 207 The Op System (os) Module 208 Open a File 211 Let’s Write a Text File 213 Read a Text File 216 Files and Exception Handling 217 Other File Modes 223 Chapter 11 Summary 224 Chapter 12: Dictionaries and Sets 227 Why Do We Need Dictionaries, Ms. Librarian? 227 Adding and Changing Key-Value Pairs 229 Accessing Values 230 Searching for Keys 231 Converting Dictionaries to Lists 235 All About Sets 241 Operations on Sets 242 Chapter 12 Summary 246 Chapter 13: Matrixes: 2-D Lists 249 Simple Matrixes 249 Accessing Elements 250 Irregular Matrixes and Length of a Row 251 Multiplication (*) and Lists 252 The Python Matrix Problem 253 How to Create N*M Matrixes: The Solution 254 How to Rotate a Matrix 261 Chapter 13 Summary 268 Chapter 14: Winning at Tic-Tac-Toe 271 Design of a Tic-Tac-Toe Board 271 Plan of This Chapter 273 Python One-Line if/else 274 The count Method for Lists 279 Introducing the Computer Player 285 Chapter 14 Summary 294 Chapter 15: Classes and Objects I 295 What’s an Object? 295 Classes in Python 296 The All-Important _ _init_ Method 301 Design for a Database Class 303 Defining Other Methods 309 Design for a Point3D Class 310 Point3D Class and Default Arguments 312 Three-Dimensional Tic-Tac-Toe 312 Chapter 15 Summary 318 Chapter 16: Classes and Objects II 321 Getting Help from Doc Strings 321 Function Typing and “Overloading” 323 Variable-Length Argument Lists 326 Inheritance 331 The Fraction Class 333 Class Variables and Methods 337 Instance Variables as “Default” Values 339 Chapter 16 Summary 344 Chapter 17: Conway’s Game of Life 347 Game of Life: The Rules of the Game 348 Generating the Neighbor Count 350 Design of the Program 352 Moving the Matrix Class to a Module 354 The Famous Slider Pattern 358 Chapter 17 Summary 364 Chapter 18: Advanced Pythonic Techniques 367 Generators 367 Exploiting the Power of Generators 369 Properties 375 Decorators: Functions Enclosing Other Functions 382 Python Decoration 385 Chapter 18 Summary 389 Appendix A: Python Operator Precedence Table 391 Appendix B: Summary of Most Important Formatting Rules for Python 3.0 393 1. Formatting Ordinary Text 393 2. Formatting Arguments 393 3. Specifying Order of Arguments 393 4. Right Justification Within Field of Size N 394 5. Left Justification Within Field of Size N 394 6. Truncation: Limit Size of Print Field 394 7. Combined Truncation and Justification 395 8. Length and Precision of Floating-Point Numbers 395 9. The Padding Character 395 Appendix C: Glossary 397 Index 407

    1 in stock

    £26.54

  • Core Java for the Impatient

    Pearson Education Core Java for the Impatient

    3 in stock

    Book SynopsisCay S. Horstmann is author of Core Java, Volumes I and II, Thirteenth Edition (Pearson, 2025), Modern JavaScript for the Impatient (Addison-Wesley, 2020), and Scala for the Impatient, Third Edition (Addison-Wesley, 2023). He has written more than a dozen other books for professional programmers and computer science students. He is an emeritus professor of computer science at San Jose State University and a Java Champion.

    3 in stock

    £43.19

  • Discovering Modern C

    Pearson Education (US) Discovering Modern C

    1 in stock

    Book SynopsisPeter Gottschling is founder of SimuNova, a company that develops the Matrix Template Library (MTL4) and offers C++ training. He is a member of the ISO C++ standards committee, vice-chair of Germany's programming language standards committee, and founder of the C++ User Group in Dresden. He earned his Ph.D. in computer science at Technische Universität Dresden in 2002.Table of ContentsPreface xixAcknowledgments xxvAbout the Author xxvii Chapter 1: C++ Basics 1 1.1 Our First Program 1 1.2 Variables 4 1.3 Operators 12 1.4 Expressions and Statements 22 1.5 Functions 30 1.6 Error Handling 35 1.7 I/O 41 1.8 Arrays, Pointers, and References 52 1.9 Structuring Software Projects 64 1.10 Exercises 69 Chapter 2: Classes 71 2.1 Program for Universal Meaning, Not Technical Details 71 2.2 Members 73 2.3 Setting Values: Constructors and Assignments 78 2.4 Destructors 105 2.5 Method Generation Summary 111 2.6 Accessing Member Variables 112 2.7 Operator Overloading Design 117 2.8 Exercises 126 Chapter 3: Generic Programming 129 3.1 Function Templates 129 3.2 Namespaces and Function Lookup 138 3.3 Class Templates 147 3.4 Type Deduction and Definition 154 3.5 Template Specialization 162 3.6 Non-Type Parameters for Templates 174 3.7 Functors 177 3.8 Lambda 185 3.9 Variable Templates 190 3.10 Programming with Concept(s) 192 3.11 Variadic Templates 200 3.12 Exercises 208 Chapter 4: Libraries 211 4.1 Standard Template Library 211 4.2 Numerics 239 4.3 Meta-programming 252 4.4 Utilities 256 4.5 The Time Is Now 267 4.6 Concurrency 270 4.7 Scientific Libraries Beyond the Standard 282 4.8 Exercises 285 Chapter 5: Meta-Programming 289 5.1 Let the Compiler Compute 289 5.2 Providing and Using Type Information 297 5.3 Expression Templates 318 5.4 Meta-Tuning: Write Your Own Compiler Optimization 328 5.5 Optimizing with Semantic Concepts 354 5.6 Turing Completeness 359 5.7 Exercises 362 Chapter 6: Object-Oriented Programming 365 6.1 Basic Principles 365 6.2 Removing Redundancy 379 6.3 Multiple Inheritance 380 6.4 Dynamic Selection by Sub-typing 387 6.5 Conversion 389 6.6 Advanced Techniques 397 6.7 Exercises 405 Chapter 7: Scientific Projects 407 7.1 Implementation of ODE Solvers 407 7.2 Creating Projects 418 7.3 Modules 430 7.4 Some Final Words 434 Appendix A: Clumsy Stuff 435 A.1 More Good and Bad Scientific Software 435 A.2 Basics in Detail 441 A.3 Real-World Example: Matrix Inversion 449 A.4 Class Details 458 A.5 Method Generation 462 A.6 Template Details 474 A.7 More on Libraries 479 A.8 Dynamic Selection in Old Style 480 A.9 More about Meta-Programming 481 A.10 Linking to C Code 489 Appendix B: Programming Tools 491 B.1 g++ 491 B.2 Debugging 492 B.3 Memory Analysis 496 B.4 gnuplot 498 B.5 Unix, Linux, and Mac OS 498 Appendix C: Language Definitions 501 C.1 Value Categories 501 C.2 Operator Overview 502 C.3 Conversion Rules 504 Bibliography 507Subject Index 513

    1 in stock

    £34.19

  • Learning Deep Learning

    Pearson Education (US) Learning Deep Learning

    1 in stock

    Book SynopsisMagnus Ekman, Ph.D., is a director of architecture at NVIDIA Corporation. His doctorate is in computer engineering, and he is the inventor of multiple patents. He was first exposed to artificial neural networks in the late nineties in his native country, Sweden. After some dabbling in evolutionary computation, he ended up focusing on computer architecture and relocated to Silicon Valley, where he lives with his wife Jennifer, children Sebastian and Sofia, and dog Babette. He previously worked with processor design and R&D at Sun Microsystems and Samsung Research America, and has been involved in starting two companies, one of which (Skout) was later acquired by The Meet Group, Inc. In his current role at NVIDIA, he leads an engineering team working on CPU performance and power efficiency for system on chips targeting the autonomous vehicle market. As the Deep Learning (DL) field exploded the past few years, fueled by NVIDIA's GPU technology and CUDA, Dr. Ekman fTable of ContentsForeword by Dr. Anima Anandkumar xxiForeword by Dr. Craig Clawson xxiiiPreface xxvAcknowledgments liAbout the Author liii Chapter 1: The Rosenblatt Perceptron 1 Example of a Two-Input Perceptron 4 The Perceptron Learning Algorithm 7 Limitations of the Perceptron 15 Combining Multiple Perceptrons 17 Implementing Perceptrons with Linear Algebra 20 Geometric Interpretation of the Perceptron 30 Understanding the Bias Term 33 Concluding Remarks on the Perceptron 34 Chapter 2: Gradient-Based Learning 37 Intuitive Explanation of the Perceptron Learning Algorithm 37 Derivatives and Optimization Problems 41 Solving a Learning Problem with Gradient Descent 44 Constants and Variables in a Network 48 Analytic Explanation of the Perceptron Learning Algorithm 49 Geometric Description of the Perceptron Learning Algorithm 51 Revisiting Different Types of Perceptron Plots 52 Using a Perceptron to Identify Patterns 54 Concluding Remarks on Gradient-Based Learning 57 Chapter 3: Sigmoid Neurons and Backpropagation 59 Modified Neurons to Enable Gradient Descent for Multilevel Networks 60 Which Activation Function Should We Use? 66 Function Composition and the Chain Rule 67 Using Backpropagation to Compute the Gradient 69 Backpropagation with Multiple Neurons per Layer 81 Programming Example: Learning the XOR Function 82 Network Architectures 87 Concluding Remarks on Backpropagation 89 Chapter 4: Fully Connected Networks Applied to Multiclass Classification 91 Introduction to Datasets Used When Training Networks 92 Training and Inference 100 Extending the Network and Learning Algorithm to Do Multiclass Classification 101 Network for Digit Classification 102 Loss Function for Multiclass Classification 103 Programming Example: Classifying Handwritten Digits 104 Mini-Batch Gradient Descent 114 Concluding Remarks on Multiclass Classification 115 Chapter 5: Toward DL: Frameworks and Network Tweaks 117 Programming Example: Moving to a DL Framework 118 The Problem of Saturated Neurons and Vanishing Gradients 124 Initialization and Normalization Techniques to Avoid Saturated Neurons 126 Cross-Entropy Loss Function to Mitigate Effect of Saturated Output Neurons 130 Different Activation Functions to Avoid Vanishing Gradient in Hidden Layers 136 Variations on Gradient Descent to Improve Learning 141 Experiment: Tweaking Network and Learning Parameters 143 Hyperparameter Tuning and Cross-Validation 146 Concluding Remarks on the Path Toward Deep Learning 150 Chapter 6: Fully Connected Networks Applied to Regression 153 Output Units 154 The Boston Housing Dataset 160 Programming Example: Predicting House Prices with a DNN 161 Improving Generalization with Regularization 166 Experiment: Deeper and Regularized Models for House Price Prediction 169 Concluding Remarks on Output Units and Regression Problems 170 Chapter 7: Convolutional Neural Networks Applied to Image Classification 171 The CIFAR-10 Dataset 173 Characteristics and Building Blocks for Convolutional Layers 175 Combining Feature Maps into a Convolutional Layer 180 Combining Convolutional and Fully Connected Layers into a Network 181 Effects of Sparse Connections and Weight Sharing 185 Programming Example: Image Classification with a Convolutional Network 190 Concluding Remarks on Convolutional Networks 201 Chapter 8: Deeper CNNs and Pretrained Models 205 VGGNet 206 GoogLeNet 210 ResNet 215 Programming Example: Use a Pretrained ResNet Implementation 223 Transfer Learning 226 Backpropagation for CNN and Pooling 228 Data Augmentation as a Regularization Technique 229 Mistakes Made by CNNs 231 Reducing Parameters with Depthwise Separable Convolutions 232 Striking the Right Network Design Balance with EfficientNet 234 Concluding Remarks on Deeper CNNs 235 Chapter 9: Predicting Time Sequences with Recurrent Neural Networks 237 Limitations of Feedforward Networks 241 Recurrent Neural Networks 242 Mathematical Representation of a Recurrent Layer 243 Combining Layers into an RNN 245 Alternative View of RNN and Unrolling in Time 246 Backpropagation Through Time 248 Programming Example: Forecasting Book Sales 250 Dataset Considerations for RNNs 264 Concluding Remarks on RNNs 265 Chapter 10: Long Short-Term Memory 267 Keeping Gradients Healthy 267 Introduction to LSTM 272 LSTM Activation Functions 277 Creating a Network of LSTM Cells 278 Alternative View of LSTM 280 Related Topics: Highway Networks and Skip Connections 282 Concluding Remarks on LSTM 282 Chapter 11: Text Autocompletion with LSTM and Beam Search 285 Encoding Text 285 Longer-Term Prediction and Autoregressive Models 287 Beam Search 289 Programming Example: Using LSTM for Text Autocompletion 291 Bidirectional RNNs 298 Different Combinations of Input and Output Sequences 300 Concluding Remarks on Text Autocompletion with LSTM 302 Chapter 12: Neural Language Models and Word Embeddings 303 Introduction to Language Models and Their Use Cases 304 Examples of Different Language Models 307 Benefit of Word Embeddings and Insight into How They Work 313 Word Embeddings Created by Neural Language Models 315 Programming Example: Neural Language Model and Resulting Embeddings 319 King − Man + Woman! = Queen 329 King − Man + Woman ! = Queen 331 Language Models, Word Embeddings, and Human Biases 332 Related Topic: Sentiment Analysis of Text 334 Concluding Remarks on Language Models and Word Embeddings 342 Chapter 13: Word Embeddings from word2vec and GloVe 343 Using word2vec to Create Word Embeddings Without a Language Model 344 Additional Thoughts on word2vec 352 word2vec in Matrix Form 353 Wrapping Up word2vec 354 Programming Example: Exploring Properties of GloVe Embeddings 356 Concluding Remarks on word2vec and GloVe 361 Chapter 14: Sequence-to-Sequence Networks and Natural Language Translation 363 Encoder-Decoder Model for Sequence-to-Sequence Learning 366 Introduction to the Keras Functional API 368 Programming Example: Neural Machine Translation 371 Experimental Results 387 Properties of the Intermediate Representation 389 Concluding Remarks on Language Translation 391 Chapter 15: Attention and the Transformer 393 Rationale Behind Attention 394 Attention in Sequence-to-Sequence Networks 395 Alternatives to Recurrent Networks 406 Self-Attention 407 Multi-head Attention 410 The Transformer 411 Concluding Remarks on the Transformer 415 Chapter 16: One-to-Many Network for Image Captioning 417 Extending the Image Captioning Network with Attention 420 Programming Example: Attention-Based Image Captioning 421 Concluding Remarks on Image Captioning 443 Chapter 17: Medley of Additional Topics 447 Autoencoders 448 Multimodal Learning 459 Multitask Learning 469 Process for Tuning a Network 477 Neural Architecture Search 482 Concluding Remarks 502 Chapter 18: Summary and Next Steps 503 Things You Should Know by Now 503 Ethical AI and Data Ethics 505 Things You Do Not Yet Know 512 Next Steps 516 Appendix A: Linear Regression and Linear Classifiers 519 Linear Regression as a Machine Learning Algorithm 519 Computing Linear Regression Coefficients 523 Classification with Logistic Regression 525 Classifying XOR with a Linear Classifier 528 Classification with Support Vector Machines 531 Evaluation Metrics for a Binary Classifier 533 Appendix B: Object Detection and Segmentation 539 Object Detection 540 Semantic Segmentation 549 Instance Segmentation with Mask R-CNN 559 Appendix C: Word Embeddings Beyond word2vec and GloVe 563 Wordpieces 564 FastText 566 Character-Based Method 567 ELMo 572 Related Work 575 Appendix D: GPT, BERT, AND RoBERTa 577 GPT 578 BERT 582 RoBERTa 586 Historical Work Leading Up to GPT and BERT 588 Other Models Based on the Transformer 590 Appendix E: Newton-Raphson versus Gradient Descent 593 Newton-Raphson Root-Finding Method 594 Relationship Between Newton-Raphson and Gradient Descent 597 Appendix F: Matrix Implementation of Digit Classification Network 599 Single Matrix 599 Mini-Batch Implementation 602 Appendix G: Relating Convolutional Layers to Mathematical Convolution 607Appendix H: Gated Recurrent Units 613 Alternative GRU Implementation 616 Network Based on the GRU 616 Appendix I: Setting up a Development Environment 621 Python 622 Programming Environment 623 Programming Examples 624 Datasets 625 Installing a DL Framework 628 TensorFlow Specific Considerations 630 Key Differences Between PyTorch and TensorFlow 631 Appendix J: Cheat Sheets 637 Works Cited 647Index 667

    1 in stock

    £46.54

  • C Interfaces and Implementations

    Pearson Education (US) C Interfaces and Implementations

    1 in stock

    Book SynopsisDavid R. Hanson is a Professor of Computer Science at Princeton University with more than 20 years of research experience in programming languages. He has conducted research in conjunction with Bell Laboratories and is the co-author of lcc, a production quality, research compiler for the C language that is popular with the Unix community. lcc is presented and analyzed in the book A Retargetable C Compiler: Design and Implementation, by Christopher Fraser and David Hanson (c) 1995, Addison-Wesley. 0201498413AB04062001Table of ContentsPreface xi Organization xiii Instructional Use xiv How to Get the Software xvi Acknowledgments xvii Chapter 1: Introduction 1 1.1 Literate Programs 2 1.2 Programming Style 8 1.3 Efficiency 11 Further Reading 12 Exercises 13 Chapter 2: Interfaces and Implementations 15 2.1 Interfaces 15 2.2 Implementations 18 2.3 Abstract Data Types 21 2.4 Client Responsibilities 24 2.5 Efficiency 30 Further Reading 30 Exercises 31 Chapter 3: Atoms 33 3.1 Interface 33 3.2 Implementation 34 Further Reading 42 Exercises 42 Chapter 4: Exceptions and Assertions 45 4.1 Interface 47 4.2 Implementation 53 4.3 Assertions 59 Further Reading 63 Exercises 64 Chapter 5: Memory Management 67 5.1 Interface 69 5.2 Production Implementation 73 5.3 Checking Implementation 76 Further Reading 85 Exercises 86 Chapter 6: More Memory Management 89 6.1 Interface 90 6.2 Implementation 92 Further Reading 98 Exercises 100 Chapter 7: Lists 103 7.1 Interface 103 7.2 Implementation 108 Further Reading 113 Exercises 114 Chapter 8: Tables 115 8.1 Interface 115 8.2 Example: Word Frequencies 118 8.3 Implementation 125 Further Reading 132 Exercises 133 Chapter 9: Sets 137 9.1 Interface 138 9.2 Example: Cross-Reference Listings 140 9.3 Implementation 148 Further Reading 158 Exercises 158 Chapter 10: Dynamic Arrays 161 10.1 Interfaces 162 10.2 Implementation 165 Further Reading 169 Exercises 169 Chapter 11: Sequences 171 11.1 Interface 171 11.2 Implementation 174 Further Reading 180 Exercises 180 Chapter 12: Rings 183 12.1 Interface 183 12.2 Implementation 187 Further Reading 196 Exercises 197 Chapter 13: Bit Vectors 199 13.1 Interface 199 13.2 Implementation 202 Further Reading 213 Exercises 213 Chapter 14: Formatting 215 14.1 Interface 216 14.2 Implementation 224 Further Reading 238 Exercises 239 Chapter 15: Low-Level Strings 241 15.1 Interface 243 15.2 Example: Printing Identifiers 249 15.3 Implementation 251 Further Reading 264 Exercises 265 Chapter 16: High-Level Strings 269 16.1 Interface 269 16.2 Implementation 276 Further Reading 293 Exercises 294 Chapter 17. Extended-Precision Arithmetic 297 17.1 Interface 297 17.2 Implementation 303 Further Reading 321 Exercises 322 Chapter 18: Arbitrary-Precision Arithmetic 323 18.1 Interface 323 18.2 Example: A Calculator 327 18.3 Implementation 334 Further Reading 353 Exercises 354 Chapter 19: Multiple-Precision Arithmetic 357 19.1 Interface 358 19.2 Example: Another Calculator 365 19.3 Implementation 373 Further Reading 402 Exercises 402 Chapter 20: Threads 405 20.1 Interfaces 408 20.2 Examples 418 20.3 Implementations 431 Further Reading 463 Exercises 465 Appendix: Interface Summary 469 Bibliography 497 Index 505

    1 in stock

    £38.47

  • PHP and MySQL Web Development

    Pearson Education (US) PHP and MySQL Web Development

    1 in stock

    Book Synopsis Laura Thomson is director of engineering at Mozilla Corporation. She was formerly a principal at both OmniTI and Tangled Web Design, and she has worked for RMIT University and the Boston Consulting Group. She holds a Bachelor of Applied Science (Computer Science) degree and a Bachelor of Engineering (Computer Systems Engineering) degree with honors. Luke Welling is a software engineer and regularly speaks on open source and web development topics at conferences such as OSCON, ZendCon, MySQLUC, PHPCon, OSDC, and LinuxTag. He has worked for OmniTI, for the web analytics company Hitwise.com, at the database vendor MySQL AB, and as an independent consultant at Tangled Web Design. He has taught computer science at RMIT University in Melbourne, Australia, and holds a Bachelor of Applied Science (Computer Science) degree. Table of ContentsPHP and MySQL Web Development, 5th Edition Part I: Using PHP 1 PHP Crash Course 2 Storing and Retrieving Data 3 Using Arrays 4 String Manipulation and Regular Expressions 5 Reusing Code and Writing Functions 6 Object-Oriented PHP 7 Error and Exception Handling Part II: Using MySQL 8 Designing Your Web Database 9 Creating Your Web Database 10 Working with Your MySQL Database 11 Accessing Your MySQL Database from the Web with PHP 12 Advanced MySQL Administration 13 Advanced MySQL Programming Part III: Web Application Security 14 Web Application Security Risks 15 Building a Secure Web Application 16 Implementing Authentication Methods with PHP Part IV: Advanced PHP Techniques 17 Interacting with the File System and the Server 18 Using Network and Protocol Functions 19 Managing the Date and Time 20 Internationalization and Localization 21 Generating Images 22 Using Session Control in PHP 23 Integrating JavaScript and PHP 24 Other Useful Features Part V: Building Practical PHP and MySQL Projects 25 Using PHP and MySQL for Large Projects 26 Debugging and Logging 27 Building User Authentication and Personalization 28 (PDFs with Product Registration) Building a Web-Based Email Client with Laravel Part I 29 (PDFs with Product Registration) Building a Web-Based Email Client with Laravel Part II 30 (PDFs with Product Registration) Social Media Integration Sharing and Authentication 31 (PDFs with Product Registration) Building a Shopping Cart Part VI: Appendix A Installing Apache, PHP, and MySQL

    1 in stock

    £36.99

  • Applied Evolutionary Algorithms for Engineers

    Taylor & Francis Ltd Applied Evolutionary Algorithms for Engineers

    1 in stock

    Book SynopsisThis book meant for those who seek to apply evolutionary algorithms to problems in engineering and science. To this end, it provides the theoretical background necessary to the understanding of the presented evolutionary algorithms and their shortcomings, while also discussing themes that are pivotal to the successful application of evolutionary algorithms to real-world problems. The theoretical descriptions are illustrated with didactical Python implementations of the algorithms, which not only allow readers to consolidate their understanding, but also provide a sound starting point for those intending to apply evolutionary algorithms to optimization problems in their working fields. Python has been chosen due to its widespread adoption in the Artificial Intelligence community. Those familiar with high level languages such as MATLABâ will not have any difficulty in reading the Python implementations of the evolutionary algorithms provided in the book.Instead of attempting to encompass most of the existing evolutionary algorithms, past and present, the book focuses on those algorithms that researchers have recently applied to difficult optimization problems, such as control problems with continuous action spaces and the training of high-dimensional convolutional neural-networks. The basic characteristics of real-world optimization problems are presented, together with recommendations on its proper application to evolutionary algorithms. The applied nature of the book is reinforced by the presentation of successful cases of the application of evolutionary algorithms to optimization problems. This is complemented by Python source codes, giving users an insight into the idiosyncrasies of the practical application of evolutionary algorithms.Table of ContentsPreface. SECTION I: INTRODUCTION. Evolutionary Algorithms and Difficult Optimization Problems. Introduction to Optimization. Introduction to Evolutionary Algorithms. SECTION II: SINGLE-OBJECTIVE EVOLUTIONARY ALGORITHMS. Swarm Optimization. Evolution Strategies. Genetic Algorithms. Differential Evolution. SECTION III: MULTI-OBJECTIVE EVOLUTIONARY ALGORITHMS. Non-Dominated Sorted Genetic Algorithm II. Multiobjective Evolutionary Algorithm Based on Decomposition. SECTION IV: APPLYING EVOLUTIONARY ALGORITHMS. Solving Optimization Problems with Evolutionary Algorithms. Assessing the Performance of Evolutionary Algorithms. Case Study - Optimal Design of a Gear Train System. Case Study - Teaching a Legged Robot How to Walk. References.

    1 in stock

    £52.24

  • Software Testing

    Taylor & Francis Ltd Software Testing

    1 in stock

    Book SynopsisThis updated and reorganized Fifth edition of Software Testing: A Craftsman''s Approach continues to be a valuable reference for software testers, developers, and engineers, by applying the strong mathematics content of previous editions to a coherent treatment of software testing. Responding to instructor and student survey input, the authors have streamlined chapters and examples. The Fifth Edition: Has a new chapter on feature interaction testing that explores the feature interaction problem and explains how to reduce tests Uses Java instead of pseudo-code for all examples including structured and object-oriented ones Presents model-based development and provides an explanation of how to conduct testing within model-based development environments Explains testing in waterfall, iterative, and agile software development projects Explores test-driven development,Table of ContentsPart I. A Mathematical Context. Chapter 1. A Perspective on Testing. Chapter 2. Examples. Chapter 3. Discrete Math for Testers. Chapter 4. Graph Theory for Testers. Part II. Unit Testing. Chapter 5. Boundary Value Testing. Chapter 6. Equivalence Class Testing. Chapter 7. Decision Table-Based Testing. Chapter 8. Code-Based Testing. Chapter 9 Testing Object-Oriented Software. Chapter 10. Retrospective on Unit Testing. Part III. Beyond Unit Testing. Chapter 11. Life Cycle-Based Testing. Chapter 12. Integration Testing. Chapter 13. System Testing. Chapter 14. Model-Based Testing. Chapter 15. Software Complexity. Chapter 16. Testing Systems of Systems. Chapter 17. Feature Interaction Testing. Chapter 18. Case Study: Testing Event-Driven Systems. Chapter 19. A Closer Look at All Pairs Testing. Chapter 20. Software Technical Reviews. Chapter 21. Epilogue: Software Testing Excellence.

    1 in stock

    £39.95

  • Numerical Methods in Finance with C

    Cambridge University Press Numerical Methods in Finance with C

    1 in stock

    Book SynopsisThis book focuses on solving and implementing the increasingly complex numerical problems that arise in finance. Readers will learn the numerical techniques and programming skills necessary for any aspiring quant developer. No programming background is required, making the book thoroughly suitable for beginners.Trade Review"This book leads the reader directly into the heart of C++ programming technique without too much fuss. And in so doing, the reader also learns some very important and fundamental methods in options pricing. I highly recommend this little gem of a book." Professor Michael K. Ong, IIT Stuart School of Business"I find the monograph to be an excellent integration of the object-oriented concepts of C++ and the classical numerical techniques used in quantitative finance. Throughout the book, there is an introduction to the numerical technique to be used, along with the need for such a method from the prospective of financial mathematics. After this discussion, the C++ source code that implements the technique is not only given but also annotated to highlight or to clarify reasons for the use of certain object-oriented constructs. As the authors comment, there are some source files which are not listed but are available from the publisher's web site. The monograph is an exceptional book for demonstrating the implementation of the various aspects of C++ in a very concrete fashion. There is substance given to C++ concepts that are introduced in basic programming courses but seldom framed in a realistic setting. The reader, however, should have some familiarity with C++ and mathematical finance, prior to reading the monograph. The book is not intended to be an introduction to either object-oriented C++ or mathematical finance. With such a background, the style and the content of the book make for an informative experience." Professor Sherman Wong, City University of New YorkTable of ContentsPreface; 1. Binomial pricer; 2. Binomial pricer revisited; 3. American options; 4. Nonlinear solvers; 5. Monte Carlo methods; 6. Finite difference methods; Index.

    1 in stock

    £35.14

  • C Pocket Reference

    O'Reilly Media C Pocket Reference

    1 in stock

    Book SynopsisIdeal as an introduction for beginners and a quick reference for advanced programmers, this handy little book consists of two parts - a compact description of the C language and a thematically structured reference to the standard library.Table of ContentsIntroduction Fundamentals C Program Structure Character Sets Identifiers Categories and Scope of Identifiers Basic Types Integer Types Real and Complex Floating Types The Type void Constants Integer Constants Floating Constants Character Constants and String Literals Expressions and Operators Arithmetic Operators Assignment Operators Relational Operators and Logical Operators Logical Operators Bitwise Operators Memory Accessing Operators Other Operators Type Conversions Integer Promotion Usual Arithmetic Conversions Type Conversions in Assignments and Pointers Statements Block and Expression Statements Jumps Loops Unconditional Jumps Declarations General Syntax and Examples Complex Declarations Variables Storage Classes Initialization Derived Types Enumeration Types Structures, Unions, and Bit-Fields Arrays Pointers Type Qualifiers and Type Definitions Functions Function Prototypes Function Definitions Function Calls Functions with Variable Numbers of Arguments Linkage of Identifiers Preprocessing Directives Standard Library Standard Header Files Input and Output Error Handling for Input/Output Functions General File Access Functions File Input/Output Functions Numerical Limits and Number Classification Value Ranges of Integer Types Range and Precision of Real Floating Types Classification of Floating-Point Numbers Mathematical Functions Mathematical Functions for Integer Types Mathematical Functions for Real Floating Types Optimizing Runtime Efficiency Mathematical Functions for Complex Floating Types Type-Generic Macros Error Handling for Mathematical Functions The Floating-Point Environment Character Classification and Case Mapping String Handling Conversion Between Strings and Numbers Multibyte Character Conversion Searching and Sorting Memory Block Management Dynamic Memory Management Time and Date Process Control Communication with the Operating System Signals Non-Local Jumps Error Handling for System Functions Internationalization Index

    1 in stock

    £16.99

  • Algorithm Design A Methodological Approach  150

    CRC Press Algorithm Design A Methodological Approach 150

    1 in stock

    Book SynopsisA bestseller in its French edition, this book is original in its construction and its success in the French market demonstrates its appeal. It is based on three principles: (1) An organization of the chapters by families of algorithms: exhaustive search, divide and conquer, etc. On the contrary, there is no chapter devoted only to a systematic exposure of, say, algorithms on strings. Some of these will be found in different chapters. (2) For each family of algorithms, an introduction is given to the mathematical principles and the issues of a rigorous design, with one or two pedagogical examples. (3) For the most part, the book details 150 problems, spanning seven families of algorithms. For each problem, a precise and progressive statement is given. More importantly, a complete solution is detailed, with respect to the design principles that have been presented; often, some classical errors are pointed out. Roughly speaking, two-thirds of the book is devoted to the detailed rational cTable of ContentsTable of ContentsPreface Mathematics and Computer Science: Some Useful Notions Complexity of an Algorithm Specifications, Invariants, Iteration Reduce and Conquer, Recursion Generate and Test Branch and Bound Greedy Algorithms Divide and Conquer Dynamic Programming NotationsList of ProblemsBibliographyIndex

    1 in stock

    £46.54

  • Efficient Go

    O'Reilly Media Efficient Go

    4 in stock

    Book SynopsisWith this book, any engineer can learn how to approach software efficiency effectively, professionally, and without stress. Author Bartłomiej Płotka provides the tools and knowledge required to make your systems faster and less resource-hungry.

    4 in stock

    £39.74

  • Data Visualization with Python and JavaScript 2e

    O'Reilly Media Data Visualization with Python and JavaScript 2e

    3 in stock

    Book SynopsisIn this practical book, author Kyran Dale shows data scientists and analysts--as well as Python and JavaScript developers--how to create the ideal toolchain for the job. By providing engaging examples and stressing hard-earned best practices, this guide teaches you how to leverage the power of best-of-breed Python and JavaScript libraries.

    3 in stock

    £39.74

  • Learning Ray

    O'Reilly Media Learning Ray

    4 in stock

    Book SynopsisWith this practical book, Python programmers, data engineers, and data scientists will learn how to leverage Ray locally and spin up compute clusters. You'll be able to use Ray to structure and run machine learning programs at scale.

    4 in stock

    £39.74

  • Hypermodern Python Tooling

    O'Reilly Media Hypermodern Python Tooling

    1 in stock

    Book Synopsis

    1 in stock

    £42.39

  • John Wiley & Sons Inc Python for Cybersecurity

    Book SynopsisTable of ContentsIntroduction xvii Chapter 1 Fulfilling Pre- ATT&CK Objectives 1 Active Scanning 2 Scanning Networks with scapy 2 Implementing a SYN Scan in scapy 4 Performing a DNS Scan in scapy 5 Running the Code 5 Network Scanning for Defenders 6 Monitoring Traffic with scapy 7 Building Deceptive Responses 8 Running the Code 9 Search Open Technical Databases 9 Offensive DNS Exploration 10 Searching DNS Records 11 Performing a DNS Lookup 12 Reverse DNS Lookup 12 Running the Code 13 DNS Exploration for Defenders 13 Handling DNS Requests 15 Building a DNS Response 15 Running the Code 16 Summary 17 Suggested Exercises 17 Chapter 2 Gaining Initial Access 19 Valid Accounts 20 Discovering Default Accounts 20 Accessing a List of Default Credentials 21 Starting SSH Connections in Python 22 Performing Telnet Queries in Python 23 Running the Code 24 Account Monitoring for Defenders 24 Introduction to Windows Event Logs 25 Accessing Event Logs in Python 28 Detecting Failed Logon Attempts 28 Identifying Unauthorized Access to Default Accounts 30 Running the Code 30 Replication Through Removable Media 31 Exploiting Autorun 31 Converting Python Scripts to Windows Executables 32 Generating an Autorun File 33 Setting Up the Removable Media 34 Running the Code 34 Detecting Autorun Scripts 34 Identifying Removable Drives 35 Finding Autorun Scripts 36 Detecting Autorun Processes 36 Running the Code 36 Summary 37 Suggested Exercises 37 Chapter 3 Achieving Code Execution 39 Windows Management Instrumentation 40 Executing Code with WMI 40 Creating Processes with WMI 41 Launching Processes with PowerShell 41 Running the Code 42 WMI Event Monitoring for Defenders 42 WMI in Windows Event Logs 43 Accessing WMI Event Logs in Python 45 Processing Event Log XML Data 45 Running the Code 46 Scheduled Task/Job 47 Scheduling Malicious Tasks 47 Checking for Scheduled Tasks 48 Scheduling a Malicious Task 48 Running the Code 49 Task Scheduling for Defenders 50 Querying Scheduled Tasks 51 Identifying Suspicious Tasks 52 Running the Code 52 Summary 53 Suggested Exercises 53 Chapter 4 Maintaining Persistence 55 Boot or Logon Autostart Execution 56 Exploiting Registry Autorun 56 The Windows Registry and Autorun Keys 57 Modifying Autorun Keys with Python 60 Running the Code 61 Registry Monitoring for Defenders 62 Querying Windows Registry Keys 63 Searching the HKU Hive 64 Running the Code 64 Hijack Execution Flow 65 Modifying the Windows Path 65 Accessing the Windows Path 66 Modifying the Path 67 Running the Code 68 Path Management for Defenders 69 Detecting Path Modification via Timestamps 69 Enabling Audit Events 71 Monitoring Audit Logs 73 Running the Code 75 Summary 76 Suggested Exercises 76 Chapter 5 Performing Privilege Escalation 77 Boot or Logon Initialization Scripts 78 Creating Malicious Logon Scripts 78 Achieving Privilege Escalation with Logon Scripts 79 Creating a Logon Script 79 Running the Code 79 Searching for Logon Scripts 80 Identifying Autorun Keys 81 Running the Code 81 Hijack Execution Flow 81 Injecting Malicious Python Libraries 82 How Python Finds Libraries 82 Creating a Python Library 83 Running the Code 83 Detecting Suspicious Python Libraries 83 Identifying Imports 85 Detecting Duplicates 85 Running the Code 86 Summary 86 Suggested Exercises 87 Chapter 6 Evading Defenses 89 Impair Defenses 90 Disabling Antivirus 90 Disabling Antivirus Autorun 90 Terminating Processes 93 Creating Decoy Antivirus Processes 94 Catching Signals 95 Running the Code 95 Hide Artifacts 95 Concealing Files in Alternate Data Streams 96 Exploring Alternate Data Streams 96 Alternate Data Streams in Python 97 Running the Code 98 Detecting Alternate Data Streams 98 Walking a Directory with Python 99 Using PowerShell to Detect ADS 100 Parsing PowerShell Output 101 Running the Code 102 Summary 102 Suggested Exercises 103 Chapter 7 Accessing Credentials 105 Credentials from Password Stores 106 Dumping Credentials from Web Browsers 106 Accessing the Chrome Master Key 108 Querying the Chrome Login Data Database 108 Parsing Output and Decrypting Passwords 109 Running the Code 109 Monitoring Chrome Passwords 110 Enabling File Auditing 110 Detecting Local State Access Attempts 111 Running the Code 113 Network Sniffing 114 Sniffing Passwords with scapy 114 Port- Based Protocol Identification 116 Sniffing FTP Passwords 116 Extracting SMTP Passwords 117 Tracking Telnet Authentication State 119 Running the Code 121 Creating Deceptive Network Connections 121 Creating Decoy Connections 122 Running the Code 122 Summary 123 Suggested Exercises 123 Chapter 8 Performing Discovery 125 Account Discovery 126 Collecting User Account Data 126 Identifying Administrator Accounts 127 Collecting User Account Information 128 Accessing Windows Password Policies 128 Running the Code 129 Monitoring User Accounts 130 Monitoring Last Login Times 130 Monitoring Administrator Login Attempts 131 Running the Code 132 File and Directory Discovery 133 Identifying Valuable Files and Folders 133 Regular Expressions for Data Discovery 135 Parsing Different File Formats 135 Running the Code 136 Creating Honeypot Files and Folders 136 Monitoring Decoy Content 136 Creating the Decoy Content 137 Running the Code 138 Summary 138 Suggested Exercises 139 Chapter 9 Moving Laterally 141 Remote Services 142 Exploiting Windows Admin Shares 142 Enabling Full Access to Administrative Shares 143 Transferring Files via Administrative Shares 144 Executing Commands on Administrative Shares 144 Running the Code 144 Admin Share Management for Defenders 145 Monitoring File Operations 146 Detecting Authentication Attempts 147 Running the Code 148 Use Alternative Authentication Material 148 Collecting Web Session Cookies 149 Accessing Web Session Cookies 150 Running the Code 150 Creating Deceptive Web Session Cookies 151 Creating Decoy Cookies 151 Monitoring Decoy Cookie Usage 153 Running the Code 153 Summary 154 Suggested Exercises 155 Chapter 10 Collecting Intelligence 157 Clipboard Data 158 Collecting Data from the Clipboard 158 Accessing the Windows Clipboard 159 Replacing Clipboard Data 159 Running the Code 160 Clipboard Management for Defenders 160 Monitoring the Clipboard 161 Processing Clipboard Messages 161 Identifying the Clipboard Owner 161 Running the Code 162 Email Collection 162 Collecting Local Email Data 162 Accessing Local Email Caches 163 Running the Code 163 Protecting Against Email Collection 164 Identifying Email Caches 165 Searching Archive Files 165 Running the Code 166 Summary 166 Suggested Exercises 166 Chapter 11 Implementing Command and Control 169 Encrypted Channel 170 Command and Control Over Encrypted Channels 170 Encrypted Channel Client 171 Encrypted Channel Server 172 Running the Code 173 Detecting Encrypted C2 Channels 174 Performing Entropy Calculations 175 Detecting Encrypted Traffic 175 Running the Code 176 Protocol Tunneling 176 Command and Control via Protocol Tunneling 176 Protocol Tunneling Client 177 Protocol Tunneling Server 177 Running the Code 179 Detecting Protocol Tunneling 179 Extracting Field Data 181 Identifying Encoded Data 181 Running the Code 181 Summary 182 Suggested Exercises 182 Chapter 12 Exfiltrating Data 183 Alternative Protocols 184 Data Exfiltration Over Alternative Protocols 184 Alternative Protocol Client 185 Alternative Protocol Server 186 Running the Code 188 Detecting Alternative Protocols 189 Detecting Embedded Data 190 Running the Code 191 Non- Application Layer Protocols 191 Data Exfiltration via Non- Application Layer Protocols 192 Non- Application Layer Client 193 Non- Application Layer Server 193 Running the Code 194 Detecting Non- Application Layer Exfiltration 195 Identifying Anomalous Type and Code Values 196 Running the Code 196 Summary 197 Suggested Exercises 197 Chapter 13 Achieving Impact 199 Data Encrypted for Impact 200 Encrypting Data for Impact 200 Identifying Files to Encrypt 201 Encrypting and Decrypting Files 202 Running the Code 202 Detecting File Encryption 203 Finding Files of Interest 204 Calculating File Entropies 204 Running the Code 205 Account Access Removal 205 Removing Access to User Accounts 205 Changing Windows Passwords 207 Changing Linux Passwords 207 Running the Code 207 Detecting Account Access Removal 208 Detecting Password Changes in Windows 209 Detecting Password Changes in Linux 210 Running the Code 211 Summary 211 Suggested Exercises 212 Index 213

    £19.54

  • OCP Oracle Certified Professional Java SE 17

    John Wiley & Sons Inc OCP Oracle Certified Professional Java SE 17

    1 in stock

    Book SynopsisTable of ContentsIntroduction xvii Chapter 1 Handling Date, Time, Text, Numeric and Boolean Values 1 Chapter 2 Controlling Program Flow 25 Chapter 3 Utilizing Java Object- Oriented Approach 45 Chapter 4 Handling Exceptions 149 Chapter 5 Working with Arrays and Collections 181 Chapter 6 Working with Streams and Lambda Expressions 211 Chapter 7 Packaging and Deploying Java Code and Use the Java Platform Module System 267 Chapter 8 Managing Concurrent Code Execution 295 Chapter 9 Using Java I/O API 319 Chapter 10 Accessing Databases Using JDBC 339 Chapter 11 Implementing Localization 353 Chapter 12 Practice Exam 1 365 Chapter 13 Practice Exam 2 391 Chapter 14 Practice Exam 3 417 Appendix Answers to Review Questions 443 Chapter 1: Handling Date, Time, Text, Numeric and Boolean Values 444 Chapter 2: Controlling Program Flow 450 Chapter 3: Utilizing Java Object- Oriented Approach 455 Chapter 4: Handling Exceptions 482 Chapter 5: Working with Arrays and Collections 489 Chapter 6: Working with Streams and Lambda Expressions 498 Chapter 7: Packaging and Deploying Java Code and Use the Java Platform Module System 516 Chapter 8: Managing Concurrent Code Execution 524 Chapter 9: Using Java I/O API 530 Chapter 10: Accessing Databases Using JDBC 535 Chapter 11: Implementing Localization 538 Chapter 12: Practice Exam 1 541 Chapter 13: Practice Exam 2 548 Chapter 14: Practice Exam 3 554 Index 561

    1 in stock

    £27.99

  • Programming the BBC microbit Getting Started with

    McGraw-Hill Education Programming the BBC microbit Getting Started with

    1 in stock

    Book Synopsis Publisher's Note: Products purchased from Third Party sellers are not guaranteed by the publisher for quality, authenticity, or access to any online entitlements included with the product. Quickly write innovative programs for your micro:bitâno experience necessary! This easy-to-follow guide shows, step-by-step, how to quickly get started with programming and creating fun applications on your micro:bit.. Written in the straightforward style that Dr. Simon Monk is famous for, Programming the BBC micro:bit: Getting Started with MicroPython begins with basic concepts and gradually progresses to more advanced techniques. You will discover how to use the micro:bit's built-in hardware, use the LED display, accept input from sensors, attach external electronics, and handle wireless communication. â

    1 in stock

    £14.99

  • Regular Expressions Cookbook

    O'Reilly Media Regular Expressions Cookbook

    1 in stock

    Book SynopsisTake the guesswork out using regular expressions to search and manipulate text. With this updated cookbook, you'll learn powerful new tricks, steer clear of flavor-specific gotchas, and save valuable time with this huge library of solutions to difficult, real-world problems.

    1 in stock

    £35.99

  • Understanding and Using C Pointers

    O'Reilly Media Understanding and Using C Pointers

    15 in stock

    Book SynopsisImprove your programming through a solid understanding of C pointers and memory management. With this practical book, you'll learn how pointers provide the mechanism to dynamically manipulate memory, enhance support for data structures, and enable access to hardware.

    15 in stock

    £25.59

  • Introducing Ethereum and Solidity

    APress Introducing Ethereum and Solidity

    1 in stock

    Book Synopsis Learn how to use Solidity and the Ethereum project - second only to Bitcoin in market capitalization. Blockchain protocols are taking the world by storm, and the Ethereum project, with its Turing-complete scripting language Solidity, has rapidly become a front-runner. This book presents the blockchain phenomenon in context; then situates Ethereum in a world pioneered by Bitcoin. See why professionals and non-professionals alike are honing their skills in smart contract patterns and distributed application development. You''ll review the fundamentals of programming and networking, alongside its introduction to the new discipline of crypto-economics. You''ll then deploy smart contracts of your own, and learn how they can serve as a back-end for JavaScript and HTML applications on the Web.Many Solidity tutorials out there today have the same flaw: they are written for advanced JavaScript developers who want to transfer their skills to a blockchain enviroTable of Contents1. Bridging the Blockchain Knowledge Gap 2. The Mist Browser 3. The EVM 4. Solidity Programming 5. Smart Contacts and Tokens 6. Mining Ether 7. Cryptoeconomics Survey 8. Dapp Deployment9. Creating Private Chains 10. Use Cases 11. Advanced Concepts

    1 in stock

    £49.49

  • Practical Machine Learning with Python

    Apress Practical Machine Learning with Python

    1 in stock

    Table of ContentsPART I – Understanding Machine LearningChapter 1: Machine Learning BasicsChapter Goal: This chapter familiarizes and acquaints readers with the basics of machine learning, industry standard workflows followed for machine learning processes and expands on the different types of machine learning and deep learning algorithmsNo of pages: 50-60 Sub -Topics1. Brief on machine learning, definitions and concepts2. Industry standard for data mining processes – CRISP – DM and adoption in ML3. Brief on data processing, visualization, feature extraction\engineering concepts4. Types of learning algorithms – supervised, unsupervised, reinforcement learning5. Advanced models – time series, deep learning6. Model building and validation concepts7. Applications of machine learningChapter 2: The Python Machine Learning EcosystemChapter Goal: This chapter introduces readers to the python language and the entire ecosystem built around machine learning with python tools, frameworks and libraries. Overview and code samples are given for each tool to depict its usage and effectivenessNo of pages: 50 - 60Sub - Topics 1. Brief on Python 2. Why is Python effective for machine learning and data science3. Brief overview on the python ecosystem followed by data scientists (includes anaconda distribution) 4. Reproducible research with ipython5. Data processing and computing with pandas, numpy, scipy6. Statistical learning with statsmodels7. ML frameworks – scikit-learn, pyml etc8. NLP frameworks – nltk, pattern, spacy9. DL frameworks – theano, tensorflow, kerasPART II – The Machine Learning PipelineChapter 3: Processing, wrangling and visualizing data&amp;amp;amp;amp;amp;amp;amp;amp;amp;Sub - Topics: 1. Data Retrieval mechanisms (crawling, databases, APIs etc)2. Data processing (handling various forms of data – SQL, JSON, XML, Images)3. Data attributes and features (numeric, categorical etc)4. Data Wrangling (cleaning, handling missing values, normalizing data)5. Data Summarization6. Data Visualization (bar, histogram, boxplot, line, scatter etc)Chapter 4: Feature Engineering and SelectionChapter Goal: This chapter focuses on the next stage in the ML pipeline, feature extraction, engineering and selection. Readers will learn about both basic and advanced feature engineering methods for different data formats including numeric, text and images. We will also focus on methods for effective feature selectionNo of pages: 50 - 60Sub - Topics: 1. Features – understanding yourv>2. Basic Feature engineering3. Extracting features from numeric, categorical variables4. Extracting features from date\timestamp variables5. Extracting Basic features from textual data (bag of words)6. Advanced Feature engineering7. Extracting complex features from textual data (word vectorization, tfidf, topic models)8. Extracting features from images (pixels, edge detection, shapes)9. Time series features10. Feature scaling and standardization11 Feature selection techniques12 Using forward\backward selection techniques13 Using machine learning models like random forests14 Other methodsChapter 5: Building, tuning and deploying modelsChapter Goal: This chapter focuses on the final stage in the ML pipeline where readers will learn how to fit and build models on data features, how to optimize and tune models and f learn ways of deploying models to use them in real-world scenarios for predictions\insightsNo of pages : 50-60Sub – Topics: 1. Fitting and building models 2. Model evaluation techniques3. Model optimization methods like gradient descent4. Model tuning methodologies like cross validation, grid search5. How to save and load models6. Deploying models in actionPART III – Real-world case studies in applied machine learningChapter 6: Analyzing bike sharing trendsChapter Goal: This chapter will focus on a real-world case study of analyzing and predicting bike sharing trends with a focus on regression modelsNo of pages : 30-40Sub – Topics: 1. Trend analysis2. Regression models3. Predictive analyticsChapter 7: Analyzing movie reviews sentimentChapter Goal: This chapter will focus on a real-world case study of analyzing sentiment for popular movie reviews using concepts and techniques from natural language processing, text analytics and classificationNo of pages : 30-40Sub – Topics: 1. Text Classification2. Natural language processing3. Sentiment analysis4. Comparing models and different featuresChapter 8: Customer segmentation and effective cross sellingChapter Goal: This chapter will focus on a real-world case study of leveraging unsupervised learning and pattern recognition for solving problems in the retail industry like customer segmentation, cross selling and so onNo of pages : 30-40Sub – Topics: 1. Clustering techniques2. Customer segmentation3. Pattern recognition and association rule mining4. Analyze potential product assoelling trendsChapter 9: Social network analysis – A Facebook case-studyChapter Goal: This chapter will focus on analyzing data from a popular social network – Facebook and acquaint readers to concepts from social network analysis and graph theoryNo of pages : 30-40Sub – Topics: 1. Social network analysis2. Data retrieval and analysis from Facebook3. Concepts from graph theory applied in real-world data4. Useful visualizations from facebook dataChapter 10: Analyzing music trends and recommentationsChapter Goal: This chapter will focus on a real-world case study of analyzing music trends and also providing music recommendations to users using concepts from recommender systems like collaborative filteringNo of pages : 40 - 50Sub – Topics: 1. Recommender systems2. Techniques – collaborative fv>iv>3. Analyzing tresights from music dataiv>4. Music\song recommendations in actionChapter 11: Forecasting stock and commodity pricesChapter Goal: This chapter will focus on a real-world case study of trying to forecast stock and commodity price trends based on market data and using advanced models like time series models and deep learning models like RNNsNo of pages : 40 - 50Sub – Topics: 1. Trend analysis2. Time series forecasting – ARIMA\EWMA models3. Deep learning based forecasting – RNN\LSTM models4. Regression\MC models if neededChapter 12: Image similarity, classification and generationChapter Goal: This chapter will focus on trying to analyze a real-world image dataset and look at methods for image similarity, build image classifiers and generate images using innovative techniqueen advanced deep learning modelsNo of pages : 50Sudiv>b – Topics: ;iv>1. Image processing, similarity analysis2. Basic models – simple classification, dynamic time warping3. Image classification with deep learning models – CNNs, MLPs4. Image generation using generative adversial networks in deep learning (GANs) – if time\scope permits

    1 in stock

    £58.49

  • APress How to Make a Game

    1 in stock

    Book SynopsisGet a head start on making your games efficiently by avoiding common design and development pitfalls. Video games combine art and programming; this unique position has opened up opportunities for many pitfalls. This book takes you through the fundamentals of game making and the usual mistakes and bad practices that can harm your games. We start with the common difficulties and challenges, ways to find the gaps, and game design. Next, we discuss game engines and other tools you need to choose while making a game, how you should choose them, and the design documents you need to make. We also cover simple but important tweaks in game mechanics as well as the look and feel of your game. We will also discuss conventions for naming, code structuring, project structuring, and coding. Your thought process will be guided in a way that you can look for the proper approach to make a successful game. The book sheds light upon how to improve the overall game experience and finTable of ContentsChapter 1: Don't Chapter Goal: In this chapter, you will get introduced to the core difficulties and challenges of the game making journey. Chapter 2: The Fault in Our StarsChapter Goal: This chapter will discuss the first encounters with games as well as the process of finding the gaps and lacking. We will also discuss game analysis in this chapter. Chapter 3: Don't Reinvent the Wheel Chapter Goal: We will discuss the game engine and the purpose they serve as powerful and necessary tools in game development.Chapter 4: Choose Your ArsenalChapter Goal: We will learn about game engines in greater detail including their pros n cons by building a RPG.Chapter 5: It's All in My Head/ Don't Keep It All in Your Head Chapter Goal: Learn to make Game Design Document, writing practices, and hurdles that may be stopping you from writing it. Chapter 6: A Stitch in Time Saves Nine Chapter Goal: This chapter teaches conventions of file naming, structuring, project structuring, coding (with some examples)Chapter 7: Git GoodChapter Goal: We will learn about version controlChapter 8: Get Smart!Chapter Goal: This chapter shows the ill effects of hard code. This would enable you to differentiate between good and bad approaches towards code and learn how to eliminate them.Chapter 9: Game Design - The Three musketeers! Chapter Goal: You will learn the overall journey of game design, understanding all the components, their role, and how to roll them properly. Chapter 10: Game Feel and Effects Chapter Goal: We will learn about camera effect, audio effect, particle effect in this chapter.Chapter 11: Input MattersChapter Goal: Learn about choosing input styles properly.Chapter 12: Help!Chapter Goal: This chapter will helping you transcend through reality (pseudo code), dynamic difficulty.Chapter 13: Platform Choosing (Pros n Cons)Chapter Goal: This chapter will help you choose the right platform to publish your game.Chapter 14: The Great Filter/Fermi Paradox Chapter Goal: In this chapter, you will learn how to test your game and how to approach publishing and assessing the success.Chapter 15: Gameover - The Myth of Sisyphus/Insanity Loop/Core LoopChapter Goal: In the final chapter, we will evaluate all we have learnt by studying this game, its success, and the future

    1 in stock

    £37.49

  • Web Application Development with Streamlit

    APress Web Application Development with Streamlit

    1 in stock

    Book SynopsisTransition from a back-end developer to a full-stack developer with knowledge of all the dimensions of web application development, namely, front-end, back-end and server-side software. This book provides a comprehensive overview of Streamlit, allowing developers and programmers of all backgrounds to get up to speed in as little time as possible. Streamlit is a pure Python web framework that will bridge the skills gap and shorten development time from weeks to hours. This book walks you through the complete cycle of web application development, from an introductory to advanced level with accompanying source code and resources. You will be exposed to developing basic, intermediate, and sophisticated user interfaces and subsequently you will be acquainted with data visualization, database systems, application security, and cloud deployment in Streamlit.  In a market with a surplus demand for full stack developers, this skill set could not possiblTable of Contents Part I: Introduction to Streamlit 1 Getting Started with Streamlit 1.1 Why Streamlit? 1.2 How Streamlit Works 1.3 Firing it up 2 Streamlit Basics 2.1 The Streamlit API 2.2 Creating a basic app Part II: Developing Advanced Interfaces and Applications 3 Architecting Streamlit’s Front-end Design 3.1 Designing the application 3.2 Provisioning multi-page applications 3.3 Data wrangling 4 Graphing in Depth 4.1 Visualization stack 4.2 Exploring Plotly data visualizations Part III: Interfacing with Database and Back-end Systems 5 Database Integration 5.1 Relational Databases 5.2 Non-relational databases 6 Back-end Servers 6.1 The need for back-end servers 6.2 Front-end/ Back-end Communication 6.3 Working with JSON files 6.4 Provisioning a back-end server 6.5 Multi-threading and multi-processing request 6.6 Connecting Streamlit to a Back-end Server Part IV: Enforcing Application Security and Privacy 7 Session State 7.1 Introducing session IDs 7.2 Implementing session state persistently 7.3 Recording user insights 7.4 Implementing session state natively 7.5 Cookies management 8 Authentication and Application Security 8.1 Developing user accounts 8.2 Verifying user credentials 8.3 Secrets management 8.4 Anti-SQL injection measures with SQL Alchemy 8.5 Configuring Git Ignore variables Part V: Deploying Streamlit to the Cloud 9 Persistent Deployment 9.1 Deployment to Streamlit Sharing 9.2 Deployment to Linux 9.3 Deployment to Windows Server 10 Exposing Local Streamlit to the World Wide Web 10.1 Port forwarding over network gateway 10.2 Reverse Port Forwarding using NGROK Part VI: Streamlit Custom Components 11 Building Streamlit components with React.js 11.1 Introduction to Streamlit custom components 11.2 Using React.js to create custom HTML components 11.3 Deploying components as a Pip package 12 Extra-Streamlit-Components Package 12.1 Stepper bar 12.2 Splash screen . . 12.3 Tab bar 12.4 Cookie Manager Part VII: Streamlit Case Studies 13 General Use Cases 13.1 Data science & machine learning applications 13.2 Dashboards and real-time applications 13.3 Time-series applications 13.4 Advanced application development 14 Steamlit at Work 14.1 Iberdrola Renewables 14.2 DummyLearn.com

    1 in stock

    £49.49

  • Pro Deep Learning with TensorFlow 2.0

    APress Pro Deep Learning with TensorFlow 2.0

    1 in stock

    Book SynopsisThis book builds upon the foundations established in its first edition, with updated chapters and the latest code implementations to bring it up to date with Tensorflow 2.0.Pro Deep Learning with TensorFlow 2.0 begins with the mathematical and core technical foundations of deep learning. Next, you will learn about convolutional neural networks, including new convolutional methods such as dilated convolution, depth-wise separable convolution, and their implementation. You''ll then gain an understanding of natural language processing in advanced network architectures such as transformers and various attention mechanisms relevant to natural language processing and neural networks in general. As you progress through the book, you''ll explore unsupervised learning frameworks that reflect the current state of deep learning methods, such as autoencoders and variational autoencoders. The final chapter covers the advanced topic of generative adversarial networks and their variaTable of ContentsChapter 1: Mathematical FoundationsChapter Goal: Setting the mathematical base for machine learning and deep learning .No of pages 100Sub -Topics1. Linear algebra 2. Calculus3. Probability4. Formulation of machine learning algorithms and optimization techniques.Chapter 2: Introduction to Deep learning Concepts and Tensorflow 2.0 Chapter Goal: Setting the foundational base for deep learning and introduction to Tensorflow 2.0 programming paradigm. No of pages: 75Sub - Topics: 5. Deep learning and its evolution.6. Evolution of the learning techniques: from perceptron based learning to back-propagation7. Different deep learning objectives functions for supervised and unsupervised learning.8. Tensorflow 2.09. GPUChapter 3: Convolutional Neural networksChapter Goal: The mathematical and technical aspects of convolutional neural networkNo of pages: 801. Convolution operation2. Analog and digital signal3. 2D and 3D convolution, dilation and depth-wise separable convolution 4. Common image processing filter 5. Convolutional neural network and components6. Backpropagation through convolution and pooling layers7. Translational invariance and equivariance 8. Batch normalization9. Image segmentation and localization methods (Moved from advanced Neural Network to here, to make room for Graph Neural Networks )Chapter 4: Deep learning for Natural Language Processing Chapter Goal: Deep learning methods and natural language processing No of pages:Sub - Topics: 1. Vector space model2. Word2Vec 3. Introduction to recurrent neural network and LSTM4. Attention 5. Transformer network architecturesChapter 5: Unsupervised Deep Learning MethodsChapter Goal: Foundations for different unsupervised deep learning techniques No of pages: 60Sub - Topics: 1. Boltzmann distribution2. Bayesian inference3. Restricted Boltzmann machines 4. Auto Encoders and variation methods Chapter 6: Advanced Neural Networks Chapter Goal: Generative adversarial networks and graph neural networks No of pages: 70Sub - Topics: 1. Introduction to generative adversarial networks 2. CycleGAN, LSGAN Wasserstein GAN3. Introduction to graph neural network4. Graph attention network and graph SAGEChapter 7: Reinforcement Learning Chapter Goal: Reinforcement Learning using Deep Learning No of pages: 50Sub - Topics: 1. Introduction to reinforcement learning and MDP formulation2. Value based methods3. DQN4. Policy based methods5. Reinforce and actor critic network in policy based formulations6. Transition-less reinforcement learning and bandit methods

    1 in stock

    £41.24

  • Distributed Machine Learning with PySpark

    APress Distributed Machine Learning with PySpark

    3 in stock

    Book SynopsisMigrate from pandas and scikit-learn to PySpark to handle vast amounts of data and achieve faster data processing time. This book will show you how to make this transition by adapting your skills and leveraging the similarities in syntax, functionality, and interoperability between these tools. Distributed Machine Learning with PySpark offers a roadmap to data scientists considering transitioning from small data libraries (pandas/scikit-learn) to big data processing and machine learning with PySpark. You will learn to translate Python code from pandas/scikit-learn to PySpark to preprocess large volumes of data and build, train, test, and evaluate popular machine learning algorithms such as linear and logistic regression, decision trees, random forests, support vector machines, Naïve Bayes, and neural networks. After completing this book, you will understand the foundational concepts of data preparation and machine learning and will have the skills necessary toapply these methods using PySpark, the industry standard for building scalable ML data pipelines. What You Will LearnMaster the fundamentals of supervised learning, unsupervised learning, NLP, and recommender systemsUnderstand the differences between PySpark, scikit-learn, and pandasPerform linear regression, logistic regression, and decision tree regression with pandas, scikit-learn, and PySparkDistinguish between the pipelines of PySpark and scikit-learnWho This Book Is ForData scientists, data engineers, and machine learning practitioners who have some familiarity with Python, but who are new to distributed machine learning and the PySpark framework.Table of ContentsChapter 1: An Easy Transition.- Chapter 2: Selecting Algorithms.- Chapter 3: Multiple Linear Regression with Pandas, Scikit-Learn, and PySpark.- Chapter 4: Decision Trees for Regression with Pandas, Scikit-Learn, and PySpark.- Chapter 5: Random Forests for Regression with Pandas, Scikit-Learn, and PySpark.- Chapter 6: Gradient-Boosted Tree Regression with Pandas, Scikit-Learn and PySpark.- Chapter 7: Logistic Regression with Pandas, Scikit-Learn and PySpark.-  Chapter 8: Decision Tree Classification with Pandas, Scikit-Learn and PySpark.- Chapter 9: Random Forest Classification with Scikit-Learn and PySpark.- Chapter 10: Support Vector Machine Classification with Pandas, Scikit-Learn and PySpark.- Chapter 11: Naïve Bayes Classification with Pandas, Scikit-Learn and PySpark.- Chapter 12: Neural Network Classification with Pandas, Scikit-Learn and PySpark.- Chapter 13: Recommender Systems with Pandas, Surprise and PySpark.- Chapter 14: Natural Language Processing with Pandas, Scikit-Learn and PySpark.- Chapter 15: K-Means Clustering with Pandas, Scikit-Learn and PySpark.- Chapter 16: Hyperparameter Tuning with Scikit-Learn and PySpark.- Chapter 17: Pipelines with Scikit-Learn and PySpark.- Chapter 18: Deploying Models in Production with Scikit-Learn and PySpark.  

    3 in stock

    £40.49

  • Creating Responsive Websites Using HTML5 and CSS3

    APress Creating Responsive Websites Using HTML5 and CSS3

    1 in stock

    Book SynopsisLearn to implement web designs using HTML5 and CSS3. This book focuses on the need for responsive web design and how you can leverage HTML5 and CSS3 to create interactive websites that work in the real world. You do not need be a technology expert or have a prior coding background to benefit from this book. All you need is a want to learn and a curious mind to explore the full spectrum of features HTML5 and CSS3have to offer. You'll see how to migrate legacy websites to responsive websites in a very easy-to-understand, step-by-step, manner. Additionally, you will learn to use supportive software to create, run, and debug any issues that may arise during the development process. This book will also show you how to implement websites that work on multiple devices, and on various browsers such as Opera, Chrome, internet Explorer, or Edge. All this will be explored with supporting files, open-source software, as well as a practical guide to creating your demo website along with learning Table of ContentsChapter 1 Introduction to Web Development.- Chapter 2 HTML5 and Responsive Web Design.- Chapter 3 Cascading Style Sheets & Layouts.- Chapter 4 Media Queries.- Chapter 5 CSS Selectors, Color Modes & More.- Chapter 6 Animations & Transitions in CSS3.- Chapter 7 Background and Shadows in CSS.- Chapter 8 Forms with HTML.- Chapter 9 Cross Browser Challenges and How to resolve it.

    1 in stock

    £40.49

  • JavaScript Cookbook 3e

    O'Reilly Media JavaScript Cookbook 3e

    4 in stock

    Book SynopsisWhy reinvent the wheel every time you run into a problem with JavaScript? This cookbook is chock-full of code recipes for common programming tasks, along with techniques for building apps that work in any browser. You'll get adaptable code samples that you can add to almost any project--and you'll learn more about JavaScript in the process.

    4 in stock

    £47.99

  • High Performance MySQL

    O'Reilly Media High Performance MySQL

    5 in stock

    Book SynopsisHow can you realize MySQL's full power? With High Performance MySQL, you'll learn advanced techniques for everything from setting service-level objectives to designing schemas, indexes, and queries to tuning your server, operating system, and hardware to achieve your platform's full potential.

    5 in stock

    £39.74

© 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