Practical applications of information technology Books
Pluto Press Reinventing the Welfare State Digital Platforms
Book SynopsisThe welfare state is unfit for purpose – how can we transform it into a force for equality and social justice?Trade Review'Huws documents brilliantly how the welfare state has morphed into a machine for increasing inequality and distributing wealth upwards. Her solutions are radical, but in the post-Covid slump radicalism will be essential.' -- Paul Mason, author of 'Postcapitalism: A Guide to Our Future'‘A must-read for those who seek to find a logical order behind the dramatic events of current times. Ursula Huws’ work maps out with great attention the new borders of the socio-economic issues of today’ -- Justin Nogarede, Digital Policy Advisor at the Foundation for European Progressive Studies'A searing critique of how welfare cuts have hit the most vulnerable hardest - and a compelling account of how we can rebuild social security with new tech. A must read for policymakers, campaigners and trade unionists.' -- Frances O'Grady, General Secretary of the Trades Union Congress'With remarkable precision, Ursula Huws provides a chilling account of how the British welfare state has been turned upside down, no longer a mechanism for reversing inequality but for enhancing the wealth of the super-rich. She then outlines a new welfare agenda, detailing the infrastructures necessary to enhance the lives of carers and cared for alike, as well as now essential for global sustainability overall. Not to be missed!' -- Lynne Segal (from the Care Collective)'Ursula Huws hits the nail on its head exposing the brutal exploitation of vulnerable workers as the gig economies flourish.' -- Yaseen Aslam, President of the App Drivers and Couriers Union, and lead claimant in the Aslam v. Uber worker rights claim'A must-read for those who seek to find a logical order behind the rapid and dramatic events of current times' -- Brando Benifei, MEP and Vice President of the International European MovementTable of ContentsSeries Preface Preface Acknowledgements 1. Introduction 2. What Has Happened to the Twentieth-century Welfare State? 3. What Has Happened in the Labour Market? 4. What Has Happened to Gender Equality? 5. Recalibrating the Mechanisms of Redistribution 6. A Universal Basic Income that is Genuinely Redistributive 7. A New Deal for Labour 8. Digital Platforms for Public Good 9. The Way Forward Notes Index
£72.25
Pluto Press Reinventing the Welfare State
Book SynopsisThe welfare state is unfit for purpose how can we transform it into a force for equality and social justice?Trade Review'Huws documents brilliantly how the welfare state has morphed into a machine for increasing inequality and distributing wealth upwards. Her solutions are radical, but in the post-Covid slump radicalism will be essential.' -- Paul Mason, author of 'Postcapitalism: A Guide to Our Future'‘A must-read for those who seek to find a logical order behind the dramatic events of current times. Ursula Huws’ work maps out with great attention the new borders of the socio-economic issues of today’ -- Justin Nogarede, Digital Policy Advisor at the Foundation for European Progressive Studies'A searing critique of how welfare cuts have hit the most vulnerable hardest - and a compelling account of how we can rebuild social security with new tech. A must read for policymakers, campaigners and trade unionists.' -- Frances O'Grady, General Secretary of the Trades Union Congress'With remarkable precision, Ursula Huws provides a chilling account of how the British welfare state has been turned upside down, no longer a mechanism for reversing inequality but for enhancing the wealth of the super-rich. She then outlines a new welfare agenda, detailing the infrastructures necessary to enhance the lives of carers and cared for alike, as well as now essential for global sustainability overall. Not to be missed!' -- Lynne Segal (from the Care Collective)'Ursula Huws hits the nail on its head exposing the brutal exploitation of vulnerable workers as the gig economies flourish.' -- Yaseen Aslam, President of the App Drivers and Couriers Union, and lead claimant in the Aslam v. Uber worker rights claim'A must-read for those who seek to find a logical order behind the rapid and dramatic events of current times' -- Brando Benifei, MEP and Vice President of the International European MovementTable of ContentsSeries Preface Preface Acknowledgements 1. Introduction 2. What Has Happened to the Twentieth-century Welfare State? 3. What Has Happened in the Labour Market? 4. What Has Happened to Gender Equality? 5. Recalibrating the Mechanisms of Redistribution 6. A Universal Basic Income that is Genuinely Redistributive 7. A New Deal for Labour 8. Digital Platforms for Public Good 9. The Way Forward Notes Index
£18.04
John Wiley & Sons Inc Beginning Algorithms
Book SynopsisBeginning Algorithms A good understanding of algorithms, and the knowledge of when to apply them, is crucial to producing software that not only works correctly, but also performs efficiently.Table of ContentsAcknowledgments. Introduction. Chapter 1: Getting Started. Chapter 2: Iteration and Recursion. Chapter 3: Lists. Chapter 4: Queues. Chapter 5: Stacks. Chapter 6: Basic Sorting. Chapter 7: Advanced Sorting. Chapter 8: Priority Queues. Chapter 9: Binary Searching and Insertion. Chapter 10: Binary Search Trees. Chapter 11: Hashing. Chapter 12: Sets. Chapter 13: Maps. Chapter 14: Ternary Search Trees. Chapter 15: B-Trees. Chapter 16: String Searching. Chapter 17: String Matching. Chapter 18: Computational Geometry. Chapter 19: Pragmatic Optimization. Appendix A: Further Reading. Appendix B: Resources. Appendix C: Bibliography. Appendix D: Answers to Exercises. Index.
£999.99
Wrox PHP and MySQL 24Hour Trainer
Book SynopsisStep-by-step lessons for using PHP and MySQL in a unique book-and-video combination Assuming no previous experience with PHP or MySQL, this book-and-video package is ideal reading for anyone who wants to go beyond HTML/CSS in order to provide clients with the most dynamic web sites possible. The approachable tone breaks down the basics of programming and PHP and MySQL in individual lessons starting with the installation of the programs necessary to run PHP. You begin with a static web site and then watch and learn as PHP functionality is added as you work through the lessons. When working with databases, the MySQL database is introduced with demonstrations that show how to interact with it. The accompanying videos enhance your learning experience, as each lesson in the book is portrayed in the video exercises. Lessons include:*Getting started with PHP*Setting up your workspace*Adding PHP to a web page*Learning PHP syntax
£29.44
John Wiley & Sons Inc Professional Android Sensor Programming
Book SynopsisLearn to build human-interactive Android apps, starting with device sensors This book shows Android developers how to exploit the rich set of device sensors locational, physical (temperature, pressure, light, acceleration, etc.Table of ContentsINTRODUCTION xxvii PART I: LOCATION SERVICES CHAPTER 1: INTRODUCING THE ANDROID LOCATION SERVICE 3 CHAPTER 2: DETERMINING A DEVICE'S CURRENT LOCATION 11 CHAPTER 3: TRACKING DEVICE MOVEMENT 27 CHAPTER 4: PROXIMITY ALERTS 45 PART II: INFERRING INFORMATION FROM PHYSICAL SENSORS CHAPTER 5: OVERVIEW OF PHYSICAL SENSORS 65 CHAPTER 6: ERRORS AND SENSOR SIGNAL PROCESSING 103 CHAPTER 7: DETERMINING DEVICE ORIENTATION 121 CHAPTER 8: DETECTING MOVEMENT 147 CHAPTER 10: ANDROID OPEN ACCESSORY 189 PART III: SENSING THE AUGMENTED, PATTERN-RICH EXTERNAL WORLD CHAPTER 11: NEAR FIELD COMMUNICATION (NFC) 219 CHAPTER 12: USING THE CAMERA 255 CHAPTER 13: IMAGE-PROCESSING TECHNIQUES 281 CHAPTER 14: USING THE MICROPHONE 303 PART IV: SPEAKING TO ANDROID CHAPTER 15: DESIGNING A SPEECH-ENABLED APP 333 CHAPTER 16: USING SPEECH RECOGNITION AND TEXT-TO-SPEECH APIS 349 CHAPTER 17: MATCHING WHAT WAS SAID 407 CHAPTER 18: EXECUTING VOICE ACTIONS 441 CHAPTER 19: IMPLEMENTING SPEECH ACTIVATION 471 INDEX 495
£30.39
John Wiley & Sons Inc Beginning Visual Basic 2012
Book SynopsisThe ultimate beginner's guide to programming in Visual Basic 2012 Visual Basic, used to write Windows applications and web apps with ASP. NET, is an essential language for beginning programmers. Using the time-tested Wrox approach, this guide provides a step-by-step format that gets beginners up and running quickly and confidently.Table of ContentsINTRODUCTION xxvii CHAPTER 1: WELCOME TO VISUAL BASIC 2012 1 Event-Driven Programming 2 Installing Visual Basic 2012 3 The Visual Studio 2012 IDE 6 The Profile Setup Page 6 The Menu 7 The Toolbars 8 Creating a Simple Application 9 Windows in the Visual Studio 2012 IDE 10 The Toolbox 14 Modified Hungarian Notation 17 The Code Editor 18 Using the Help System 23 Summary 23 CHAPTER 2: THE MICROSOFT .NET FRAMEWORK 27 Microsoft’s Reliance on Windows 28 MSN 1.0 28 The .NET Vision 29 This Sounds Like Java 30 Where Now? 30 Writing Software for Windows 31 The .NET Framework Classes 32 Executing Code 33 Common Language Runtime 34 Code Loading and Execution 35 Application Isolation 35 Security 35 Interoperability 36 Exception Handling 36 The Common Type System and Common Language Specification 37 Summary 37 CHAPTER 3: WRITING SOFTWARE 41 Information and Data 41 Algorithms 42 What Is a Programming Language? 43 Working with Variables 44 Comments and Whitespace 46 Comments 47 Whitespace 48 Data Types 49 Working with Numbers 49 Common Integer Math Operations 50 Integer Math Shorthand 52 The Problem with Integer Math 54 Floating-Point Math 54 Other States 56 Single-Precision Floating-Point Numbers 56 Working with Strings 57 Concatenation 58 Using the Concatenation Operator Inline 59 More String Operations 59 Substrings 61 Formatting Strings 62 Localized Formatting 63 Replacing Substrings 64 Using Dates 65 Formatting Date Strings 66 Extracting Date Properties 67 Date Constants 68 Defining Date Literals 69 Manipulating Dates 70 Boolean 71 Storing Variables 71 Binary 71 Bits and Bytes 72 Representing Values 73 Converting Values 74 Methods 76 Why Use Methods? 76 Methods You’ve Already Seen 77 Building a Method 80 Choosing Method Names 83 Scope 84 Summary 86 CHAPTER 4: CONTROLLING THE FLOW 89 Making Decisions 89 The If Statement 90 The Else Statement 92 Allowing Multiple Alternatives with ElseIf 92 Nested If Statements 94 Single-Line If Statement 94 Comparison Operators 94 Using Not Equal To 94 Using the Numeric Operators 96 The And and Or Operators 99 Using the And Operator 101 More on And and Or 102 String Comparison 103 Select Case 104 Case-Insensitive Select Case 108 Multiple Selections 110 The Case Else Statement 112 Different Data Types with Select Case 112 Loops 113 The For…Next Loop 113 Using the Step Keyword 116 Looping Backward 117 The For Each…Next Loop 118 The Do…Loop Loops 119 Do While…Loop 121 Acceptable Expressions for a Do…Loop 123 Other Versions of the Do…Loop 123 Nested Loops 124 Quitting Early 126 Quitting Do…Loops 128 Infinite Loops 129 Summary 130 CHAPTER 5: WORKING WITH DATA STRUCTURES 133 Understanding Arrays 134 Defining and Using Arrays 134 Using For Each…Next 137 Passing Arrays As Parameters 139 Sorting Arrays 141 Going Backward 142 Initializing Arrays with Values 144 Understanding Enumerations 145 Using Enumerations 145 Determining the State 149 Setting Invalid Values 151 Understanding Constants 152 Using Constants 152 Different Constant Types 154 Structures 155 Building Structures 155 Adding Properties to Structures 158 Working with ArrayLists 159 Using an ArrayList 159 Deleting from an ArrayList 163 Showing Items in the ArrayList 166 Working with Collections 167 Creating CustomerCollection 168 Adding an Item Property 170 Building Lookup Tables with Hashtable 171 Using Hashtables 172 Cleaning Up: Remove, RemoveAt, and Clear 175 Case Sensitivity 177 Advanced Array Manipulation 179 Dynamic Arrays 179 Using Preserve 181 Summary 182 CHAPTER 6: EXTENSIBLE APPLICATION MARKUP LANGUAGE (XAML) 185 What Is XAML? 186 XAML Syntax 187 Windows Presentation Foundation 190 Creating a Rich WPF User Interface 191 Using WPF Common Controls 197 Wiring Up Events 201 Summary 205 CHAPTER 7: BUILDING WINDOWS APPLICATIONS 209 Responding to Events 210 Building a Simple Application 217 Counting Characters 221 Counting Words 223 Creating More Complex Applications 229 Creating the Toolbar 231 Creating the Status Bar 235 Creating an Edit Box 237 Clearing the Edit Box 239 Responding to Toolbar Buttons 242 Using Multiple Forms 247 About Dialog 247 Summary 251 CHAPTER 8: DISPLAYING DIALOGS 255 The MessageBox 256 Available Icons for MessageBox 256 Available Buttons for MessageBox 257 Setting the Default Button 257 Miscellaneous Options 258 The Show Method Syntax 258 Example Message Boxes 260 The OpenFileDialog Control 263 The OpenFileDialog Control 264 The Properties of OpenFileDialog 265 OpenFileDialog Methods 266 Using the OpenFileDialog Control 266 The SaveDialog Control 271 The Properties of SaveFileDialog 271 SaveFileDialog Methods 273 Using the SaveFileDialog Control 273 The FontDialog Control 276 The Properties of FontDialog 277 The Methods of FontDialog 277 Using the FontDialog Control 277 The ColorDialog Control 280 The Properties of ColorDialog 281 Using the ColorDialog Control 282 The PrintDialog Control 283 The Properties of PrintDialog 284 Using the PrintDialog Control 285 The PrintDocument Class 285 The Properties of the PrintDocument Class 285 Printing a Document 285 The FolderBrowserDialog Control 292 The Properties of FolderBrowserDialog 292 Using the FolderBrowserDialog Control 293 Summary 296 CHAPTER 9: CREATING MENUS 299 Understanding Menu Features 299 Images 300 Access Keys 300 Shortcut Keys 300 Check Marks 300 The Properties Window 301 Creating Menus 302 Designing the Menus 302 Adding Toolbars and Controls 304 Coding Menus 306 Coding the View Menu and Toolbars 310 Testing Your Code 311 Context Menus 314 Creating Context Menus 315 Enabling and Disabling Menu Items and Toolbar Buttons 318 Summary 321 CHAPTER 10: DEBUGGING AND ERROR HANDLING 325 Major Error Types 326 Syntax Errors 326 Execution Errors 330 Logic Errors 330 Debugging 331 Creating a Sample Project 332 Setting Breakpoints 348 Debugging Using the Watch Window and QuickWatch Dialog Box 356 Debugging with the Autos Window 358 Debugging with the Locals Window 358 Error Handling 360 Using Structured Error Handling 361 Summary 363 CHAPTER 11: BUILDING OBJECTS 367 Understanding Objects 368 Encapsulation 369 Methods and Properties 369 Events 370 Visibility 370 What Is a Class? 371 Building Classes 371 Reusability 372 Designing an Object 373 State 374 Behavior 374 Storing State 375 Real Properties 378 Read/Write Properties 381 Auto-Implemented Properties 384 The IsMoving Method 384 Constructors 386 Inheritance 388 Adding New Methods and Properties 389 Adding a GetPowerToWeightRatio Method 392 Changing Defaults 394 Polymorphism: Scary Word, Simple Concept 395 Overriding More Methods 396 Inheriting from the Object Class 398 Objects and Structures 399 The Framework Classes 399 Namespaces 399 The Imports Statement 402 Creating Your Own Namespace 402 Inheritance in the .NET Framework 406 Summary 407 CHAPTER 12: ADVANCED OBJECT-ORIENTED TECHNIQUES 409 Building a Favorites Viewer 410 Internet Shortcuts and Favorites 410 Using Classes 412 Scanning Favorites 418 Viewing Favorites 426 An Alternative Favorite Viewer 428 Building a Favorites Tray 428 Displaying Favorites 429 Using Shared Properties and Methods 433 Using Shared Properties 434 Using Shared Methods 438 Understanding Object-Oriented Programming and Memory Management 439 Garbage Collection 440 Releasing Resources 441 Defragmentation and Compaction 442 Summary 443 CHAPTER 13: BUILDING CLASS LIBRARIES 445 Understanding Class Libraries 446 Creating a Class Library 446 Building a Class Library for Favorites Viewer 448 A Multitiered Application 452 Using Strong Names 453 Signing Assemblies 453 Assembly Versions 456 Registering Assemblies 456 Gacutil Utility 457 Why Is My Assembly Not Visible in the References Dialog? 457 Designing Class Libraries 457 Using Third-Party Class Libraries 459 Viewing Classes with the Object Browser 460 Summary 461 CHAPTER 14: CREATING WINDOWS FORMS USER CONTROLS 463 Windows Forms Controls 464 Creating and Testing a User Control 464 Exposing Properties from User Controls 468 Adding Properties 468 Exposing Methods from User Controls 470 Exposing Events from User Controls 471 Design Time or Runtime 476 Creating a Command Link Control 478 Building the Command Link Control 479 Using the Command Link Control 487 Summary 490 CHAPTER 15: ACCESSING DATA USING STRUCTURED QUERY LANGUAGE 493 What You Need to Complete This Chapter’s Exercises 494 What Is a Database? 495 Database Tables 495 Primary and Foreign Keys 500 Understanding Primary Keys 500 Understanding Foreign Keys 501 Queries 502 Understanding Basic SQL Syntax 503 Using SELECT Statement 503 Using the JOIN Statement 504 Using the UPDATE Statement 505 Using the DELETE Statement 506 Using the INSERT Statement 507 Using the SQL Comment 508 Executing Queries in SQL Server 508 Summary 511 CHAPTER 16: DATABASE PROGRAMMING WITH SQL SERVER AND ADO.NET 515 ADO.NET 516 ADO.NET Data Namespaces 516 The SqlConnection Class 517 Working with the Connection String Parameters 518 Opening and Closing the Connection 519 The SqlCommand Class 519 The Connection Property 520 The CommandText Property 520 The Parameters Collection 520 The ExecuteNonQuery Method 521 The SqlDataAdapter Class 522 The SelectCommand Property 522 Setting SelectCommand to SQL Text 523 Setting SelectCommand to a Stored Procedure 523 Using Command Builders to Create the Other Commands 524 The Fill Method 524 The DataSet Class 526 DataView 526 The Sort Property 527 The RowFilter Property 527 The Find Method 528 The ADO.NET Classes in Action 528 Data Binding 537 BindingContext and CurrencyManager 538 Binding Controls 539 Binding Examples 539 Summary 567 CHAPTER 17: DYNAMIC DATA WEBSITE 571 Creating a Dynamic Data Entities Website 571 Customizing the Design of a Dynamic Data Website 577 Page Templates 578 Entity Templates 578 Field Templates 578 Filter Templates 579 Summary 583 CHAPTER 18: ASP.NET 587 Thin-Client Architecture 588 Web Forms versus Windows Forms 589 Windows Forms Advantages 589 Web Forms Advantages 589 Web Applications: The Basic Pieces 590 Web Servers 590 Browsers 590 HyperText Markup Language 591 JavaScript 591 Cascading Style Sheets 591 Active Server Pages 592 Benefits of ASP.NET Web Pages 592 Special Website Files 592 Global.asax 592 Web.config 592 Development 593 Controls: The Toolbox 593 Building Websites 593 Creating a Web Form for Client- and Server-Side Processing 594 Website Locations with VS 2012 599 Performing Data Entry and Validation 602 Site Layout, Themes, and Navigation 606 Using the GridView to Build a Data-Driven Web Form 611 Summary 616 CHAPTER 19: DEPLOYING YOUR APPLICATION 619 What Is Deployment? 620 ClickOnce Deployment 620 XCOPY Deployment 626 Creating a Visual Studio 2012 Setup Application 626 Customize the User Interface 632 Deploying Diff erent Solutions 633 Private Assemblies 633 Shared Assemblies 634 Deploying Desktop Applications 635 Deploying Web Applications 635 Deploying XML Web Services 635 Useful Tools 635 Summary 636 CHAPTER 20: WINDOWS 8 APPS 639 Windows 8 Application Design Principles 640 Using Touch 640 Application Commands 640 Windows 8 Controls 642 Creating your First Windows 8 App 643 Application Layout 655 Application Views 656 Screen Sizes and Orientation 656 Summary 661 APPENDIX A: EXERCISE SOLUTIONS 665 APPENDIX B: WHERE TO NOW? 679 INDEX 683
£33.24
John Wiley & Sons Inc Beginning ArcGIS for Desktop Development Using
Book SynopsisGet the very most out of the ArcGIS for Desktop products through ArcObjects and. NET ArcGIS for Desktop is a powerful suite of software tools for creating and using maps, compiling, analyzing and sharing geographic information, using maps and geographic information in applications, and managing geographic databases.Table of ContentsINTRODUCTION xxi PART I: THE BASICS CHAPTER 1: WHY GEOSPATIAL IS SPECIAL 3 A Tour of Geospatial Data 4 Why Geospatial Is Special 8 Various Kinds of GIS Software 10 Server GIS 11 Desktop GIS 13 Developer GIS 17 Mobile GIS 18 Geospatial Data Models and Storage 19 Raster 19 Vector 20 Geospatial Data as Text or Binary File 20 Geospatial Data in Georelational Models 21 Geospatial Data Inside Spatial DBMS 21 Geospatial Data in XML Structures 23 Esri Geodatabase 30 Personal Geodatabase 30 File Geodatabase 30 ArcSDE Geodatabase 31 Summary 32 CHAPTER 2: INTRODUCTION TO ARCGIS FOR DESKTOP APPLICATIONS CUSTOMIZATION 35 Four Ways to Customize ArcGIS for Desktop 36 Customizing the User Interface 37 Scripting 41 Desktop Add-Ins 48 ArcObjects SDK 55 Summary 59 PART II: .NET PROGRAMMING FUNDAMENTALS CHAPTER 3: .NET PROGRAMMING FUNDAMENTALS, PART I 63 The .NET Framework 63 The C# Language 64 A Brief History of C# 64 Basic Concepts 65 Variables and Data Types 66 Nullable Data Types 71 Operations on Variables 71 Arrays 75 Decision-Making 76 Iteration 78 Object Manipulation 81 Data Type Conversion 83 Enumerations 85 Methods 89 Introduction to Object-Oriented Programming in C# 93 Object-Oriented Programming in Action 94 Defi ning Properties 96 Defi ning Methods 98 Defi ning Constructors 98 Summary 100 CHAPTER 4: .NET PROGRAMMING FUNDAMENTALS, PART II 103 Overview of Object-Oriented Programming Concepts 104 Abstraction 104 Encapsulation 104 Inheritance 105 Polymorphism 106 Reference Types and Value Types 108 Assignment Operations 108 Comparison Operations 109 Passing Parameters between Method Calls 109 Brief Explanation of All .NET Types 111 Namespaces and Assemblies 112 Debugging Using Visual Studio 113 Structured Exception Handling 117 Casting Objects 120 Aggregation Using Collections 121 The ArrayList 122 Generics 123 Reading and Writing Files 123 Summary 135 PART III: ARCOBJECTS PROGRAMMING CHAPTER 5: UNDERSTANDING ARCOBJECTS OBJECT MODEL DIAGRAMS 139 What Is ArcObjects? 140 Interface-Based Programming in Brief 140 Understanding Object Model Diagrams 144 Types of Classes in ArcObjects 145 Relationships between Classes 147 Members of Interfaces 149 Interface Inheritance 151 Wormhole 153 Additional Tips for Using Object Model Diagrams 153 Where to Start with ArcObjects 155 How to Find an Associated Member 156 Summary 163 CHAPTER 6: ACCESSING MAPS AND LAYERS 165 Introduction to Maps and Layers In ArcObjects 165 General Properties of All Layers 175 Working with FeatureLayers 179 Working with RasterLayers 183 Adding an Existing *.lyr File to a Map 184 Adding *.lyr Files Using GxDialog 186 Saving *.lyr and *.mxd Files 191 Summary 194 CHAPTER 7: WORKING WITH TABLES AND FEATURECLASSES 197 Accessing Tables and FeatureClasses 197 Adding and Deleting Fields 204 Adding Existing FeatureClasses, Tables, and Rasters to a Map 207 Deleting an Existing FeatureDataset, FeatureClass, Table, or Raster 215 Creating Tables and Rows 215 Summary 225 CHAPTER 8: SUBSETS OF RECORDS 227 Using Object Model Diagrams for Selecting Features and Rows 228 Working with Existing Selections 229 Selecting Rows and Features 233 Accessing a Subset of Records 237 Simple Statistics of Features 245 Some Important Points about Using Cursors 251 Displaying Subsets of Geospatial Data 254 Summary 255 CHAPTER 9: CONSTRUCTING AND USING THE GEOMETRY OF FEATURES 257 Object Model Diagram for the Geometry of Features and Graphics 258 Displaying Geometries on the Screen 260 Creating and Drawing Points 261 Creating and Drawing Multipoints 264 Creating and Drawing Polylines 268 Creating and Drawing Polygons 272 Creating a New Feature and Editing an Existing Feature’s Geometry 276 Working with Spatial Operators 281 Examining Spatial Relationships 281 Common Geoprocessing Operations 284 Determining the Nearest Points and Distance 287 Length, Area, Centroid, and Envelope of Geometries 292 Summary 293 CHAPTER 10: RENDERING GEOSPATIAL DATA AND USING HYPERLINKS AND MAPTIPS 295 Geospatial Data Display 296 Color and ColorRamp Classes 296 Symbols 298 Renderers for Vector and Raster Geospatial Data 300 Going beyond Simple Display 318 Simple and Advanced MapTips 319 Hyperlinks 321 Summary 324 CHAPTER 11: LABELING, EXPORTING ACTIVEVIEW, AND WORKING WITH ELEMENTS 327 Labeling 328 Labeling with the Default Labeling Engine 329 Labeling with the Maplex Labeling Engine 334 Exporting the ActiveView 336 Working with Elements 346 Adding GraphicElements 348 Adding FrameElements 352 Summary 361 CHAPTER 12: GEOPROCESSING WITH TOOLS AND MODELS 365 ArcObjects and the Geoprocessing Framework 365 Running Geoprocessing Tools 366 Running Custom Tools 375 Opening a Tool’s Dialog Box in Code 384 Geoprocessing in the Background 389 Bach Processing 397 Can I Manage the Execution of Geoprocessing Tools? 399 Summary 400 CHAPTER 13: FEATURE DATA MANAGEMENT 403 Use of GUID in ArcObjects 404 Working with the Geodatabase Model 406 Creating Geodatabases 407 Creating FeatureDatasets and FeatureClasses 408 Working with Features 418 Creating New Features 418 Modifying Existing Features 422 Summary 426 CHAPTER 14: ADVANCED TOPICS IN ARCOBJECTS PROGRAMMING AND DEPLOYMENT 429 Sharing State and Functionality between Components 430 Event Handling in ArcObjects 432 Application Extension 435 Add-In Deployment 450 Preparing for Release 450 Add-In File Structure 452 Distributing and Installing an Add-In 453 Custom Component Deployment 456 Creating an Installer for Custom Component 459 Summary 465 APPENDIX: ANSWERS TO CHAPTER EXERCISES 467 INDEX 479
£21.24
John Wiley & Sons Inc CSS3 Pushing the Limits
Book SynopsisPush CSS3 and your design skills to the limit and beyond! Representing an evolutionary leap forward for CSS, CSS3 is chock-full of new capabilities that dramatically expand the boundaries of what a styling language can do.Table of ContentsIntroduction 1 Part I New Toys 7 Chapter 1 Advanced Selectors 9 Child and Sibling Selectors 9 Child Combinator 9 Adjacent Sibling Combinator 10 General Sibling Combinator 10 Attribute Selectors 11 Selecting Based on the Existence of an HTML Attribute 11 Selecting Based on the Exact Value of an HTML Attribute 11 Selecting Based on the Partial Contents of an HTML Attribute Value 12 Selecting Based on the Beginning of an HTML Attribute Value 12 Selecting Based on the End of an HTML Attribute Value 13 Selecting Based on Space-Separated HTML Attribute Values 13 Pseudo-Classes 13 Firsts and Lasts 14 Nth Child Selectors 15 Taking Nth Child to the Next Level with Expressions 16 Using Keywords with Nth Child 17 Using Negative Numbers with Nth Child 17 The Best of the Rest 19 Bringing It All Together 20 Summary 23 Further Reading 24 Chapter 2 New Tools for Text 25 Perfecting Your Type 25 Ligatures 25 Kerning 27 Borrowing from SVG 28 Maintaining Legibility with Aspect Values 30 More Control with More New Toys 33 Font Stretch 33 Synthetic Font Styling 33 By the Numbers 34 Hyphenation 35 Writing Modes 37 The Direction Property 38 The Writing Mode Property 38 The Text Orientation Property 38 SVG to the Rescue! 38 Looking Good Is Half the Battle 39 Text Decoration 39 Masking Background Images Over Text 40 Text Shadow 42 Creating 3D Text 42 Creating Outer Glow 44 Summary 45 Further Reading 46 Chapter 3 New Tools for Backgrounds and Borders 47 More Control with CSS3 Backgrounds 47 Background Clip and Background Origin 47 Background Size 50 Understanding the Background Shorthand 52 Handling Box Breaks 52 Into the Future with the Image Function 53 Multiple Backgrounds 55 The Syntax for Multiple Backgrounds 55 Layered Backgrounds 56 Animating Multiple Backgrounds 57 New Tools for Borders 58 Border Image 58 Into the Future with Border Corner Shape 62 Gradients 63 Linear Gradients 63 The Linear Gradient Syntax 63 Browser Support 65 Linear Gradients in Action 65 Radial Gradients 66 The Radial Gradients Syntax 66 Radial Gradients in Action 68 Browser Support 69 Pushing the Limits with Gradient Patterns 70 Summary 73 Further Reading 74 Chapter 4 Into the Browser with CSS3 Filters and Blending Modes 75 CSS3 Filters 75 How Do CSS Filters Work? 76 Grayscale 76 Brightness 77 Contrast 77 Saturate 78 Sepia 78 Hue-Rotate 79 Invert 79 Opacity 80 Drop Shadow 80 Blur 81 Combining Filters 82 Blending Modes 83 What Are Blending Modes? 84 The Blending Modes Syntax 85 Summary 85 Further Reading 86 Part II Transforms, Transitions, and Animation 87 Chapter 5 Introducing CSS3 2D Transforms 89 The Transform Property 89 Translate 90 Skew 93 Rotate 94 Scale 96 Transform Origin 99 Combining Transforms 100 Browser Support 102 Summary 102 Further Reading 102 Chapter 6 Bringing 2D Transforms to Life with Transitions 103 Introducing CSS Transitions 103 Controlling Your Transitions 104 Understanding the Shorthand Syntax 105 Understanding the Transition Property 106 Applying Separate On and Off Transitions 107 Understanding the Timing Function 108 The Bézier Curve 109 Ease 111 Linear 112 Ease-In 113 Ease-Out 113 Ease-In-Out 114 Stepping Functions 115 Browser Support for Transitions 117 Transitions in Action 117 Combining Transitions and 2D Transforms 120 Transitioning Rotate 120 Transitioning Translate 123 Transitioning Scale 127 Transitioning Skew 128 Creating a Scattered Image Gallery 129 Summary 133 Further Reading 134 Chapter 7 A New Dimension with 3D Transforms 135 What Are 3D Transforms? 135 It’s All About Perspective 136 The Perspective Property 137 Perspective Origin 141 Maintaining Perspective 142 Backface Visibility 145 Moving on to More Transform Properties 148 Rotating in a 3D Environment 149 Translating in a 3D Environment 151 Scaling in a 3D Environment 153 Creating a Cube Using 3D Transforms 154 Animating the Cube with Transitions 157 Examining Browser Support for 3D Transforms 159 Summary 160 Further Reading 160 Chapter 8 Getting Animated 161 Introducing CSS3 Animation 161 Defining Keyframes 161 Applying the Animation 163 Further Control 163 Looking at CSS3 Animations in Action 166 Adding Progressive Enhancement with Subtle Animation 170 Fade In Effects 171 Attention Seekers 173 Shake 173 Wobble 174 Combining Animations 175 Forming the Structure 176 Creating an Animated Slide Show 177 Creating a Swinging Animation 178 Introducing Content with Subtle Animation 180 Seeking Attention with Loud Animation 182 Examining Browser Support for CSS Animation 182 Summary 183 Further Reading 183 Part III Getting to Grips with New Layout Tools 185 Chapter 9 Creating a Multicolumn Layout 187 The Evolution of Layout Tools 187 What’s New in Layout Solutions? 188 Introducing Multi-column Layout 189 New Multicolumn Properties 189 Defining Your Columns 189 Handling Column Breaks 198 Limitations 201 Creating a Multicolumn Layout 202 Examining Browser Support for Multi-column Layout 206 Summary 207 Further Reading 208 Chapter 10 Flexible Box Layout 209 What Is Flexbox? 209 New Flexbox Properties 210 Establishing the Flex Formatting Context 210 Examining Direction, Flow, and Visual Ordering 212 Controlling Alignment 217 Defining Flex Factors 223 Creating a Flexible Box Layout 225 Examining Browser Support for Flexbox 230 Summary 231 Further Reading 231 Chapter 11 Grid Layout, Regions, and Exclusions 233 Introducing CSS Grid Layout 233 What Is Grid Layout? 234 Creating a Grid Element 234 Defining the Grid 235 Positioning Elements into the Grid 237 Making Your Grid Flexible and Adaptable 238 Introducing CSS Regions 241 What Are CSS Regions? 241 How Do Regions Work? 242 Introducing CSS Exclusions 243 What Are CSS Exclusions? 244 How Do Exclusions Work? 244 Playing with Shapes 247 A Caveat on Exclusions and Shapes 249 Summary 249 Further Reading 250 Chapter 12 Going Responsive with CSS3 Media Queries 251 What Is Responsive Web Design? 251 Using Media Queries to Design for Device Differences 252 Understanding Media Types and Media Features 253 Applying the Mobile-First Approach 253 Using the Viewport Meta Tag 256 Making a Multicolumn Layout Responsive 256 Making a Flexbox Layout Responsive 261 A Word on CSS Grid Layout 268 The Here and Now of RWD 269 Summary 269 Further Reading 270 Part IV Pushing the Limits 271 Chapter 13 Getting Creative with Pseudo-elements 273 Distinguishing Pseudo-elements and Pseudo-classes 273 What Is a Pseudo-class? 273 What Is a Pseudo-element? 274 Syntactical Differences 274 Exploring the Current Range of Pseudo-elements 275 Enhancing Your Typography with Pseudo-elements 275 Drawing Users into Your Copy 276 Getting Creative with Type-based Pseudo-elements 278 Using Pseudo-elements to Generate Content 282 Pushing Pseudo-elements to the Limit 285 A Contemporary Clearfix 287 Creating Scalable Icons and Shapes 288 Creating a Speech Bubble 288 Creating an OK Icon 289 Creating a Print Icon 290 Creating a Save Icon 291 Pushing the Limits Even Further and Knowing When to Stop 293 Summary 293 Further Reading 294 Chapter 14 Using Preprocessors to Push CSS3 to the Limit 295 What Is a CSS Preprocessor? 295 What Can CSS Preprocessors Do for You? 295 Choosing the Right Preprocessor for You 296 Declaring Variables 297 Doing Functions and Simple Math 298 Using Mixins 299 Selector Inheritance 300 Nested Selectors 301 Getting to Grips with the Dark Side of Preprocessors 302 Step 1: Installing Ruby 303 Step 2: Installing Sass 304 Step 3: Creating Your First Sass File 304 Step 4: Compiling Your Sass Code 305 Helpful Tools 306 Making CSS3 More Efficient with Mixins 307 Creating Proportional Layouts with Simple Math 309 Using Functions to Form a Dynamic Color Palette 310 A Word of Caution on Preprocessors 311 Summary 311 Further Reading 311 Chapter 15 Creating Practical Solutions Using Only CSS3 313 Creating Tabbed Content Using Only CSS3 313 The Markup 314 Applying Basic Styling to the Panels 316 Styling the Tabs 317 Making the Tabs Functional 318 Applying the Finishing Touches 320 Creating a Lightbox Feature Using Only CSS3 321 Laying the Foundations for the Markup 322 Styling the Thumbnail Gallery 324 Adding the Lightbox Markup 326 Making the Lightbox Functional 327 Applying the Polish to the Final Design 330 Creating a 3D Image Carousel Using Only CSS3 334 Marking Up the Carousel 334 Establishing a 3D Formatting Context 335 Positioning the Images in a 3D Environment 335 Making the Carousel Functional 339 Applying the Finishing Touches 340 Summary 342 Further Reading 343 Chapter 16 The Future of CSS 345 CSS Variables 346 CSS Selectors: Level 4 348 Browser Support Using CSS Conditional Rules 352 Pseudo-elements: Level 4 353 Have Your Say 354 Summary 354 Further Reading 355 Index 357
£23.99
John Wiley & Sons Inc Professional Java for Web Applications
Book SynopsisThe comprehensive Wrox guide for creating Java web applications for the enterprise This guide shows Java software developers and software engineers how to build complex web applications in an enterprise environment.Table of ContentsIntroduction xxiii Part I: Creating Enterprise Applications Chapter 1: Introducing Java Platform, Enterprise Edition 3 A Timeline of Java Platforms 3 Understanding the Basic Web Application Structure 13 Summary 18 Chapter 2: Using Web Containers 19 Choosing a Web Container 19 Installing Tomcat on Your Machine 23 Deploying and Undeploying Applications in Tomcat 27 Debugging Tomcat from Your IDE 30 Summary 39 Chapter 3: Writing Your First Servlet 41 Creating a Servlet Class 42 Configuring a Servlet for Deployment 46 Understanding doGet(), doPost(), and Other Methods 51 Using Parameters and Accepting Form Submissions 56 Configuring your Application Using Init Parameters 61 Uploading Files from a Form 64 Making Your Application Safe for Multithreading 69 Summary 71 Chapter 4: Using JSPs to Di splay Content 73 is Easier Than output.println(“”) 74 Creating Your First JSP 78 Using Java within a JSP (and Why You Shouldn’t!) 88 Combining Servlets and JSPs 94 A Note about JSP Documents (JSPX) 102 Summary 104 Chapter 5: Maintaining State Using Sessions 105 Understanding Why Sessions are Necessary 106 Using Session Cookies and URL Rewriting 107 Storing Data in a Session 116 Applying Sessions Usefully 129 Clustering an Application That Uses Sessions 139 Summary 142 Chapter 6: U sing the Expression Language in JSPs 143 Understanding Expression Language 144 Writing with the EL Syntax 147 Using Scoped Variables in EL Expressions 160 Accessing Collections with the Stream API 167 Replacing Java Code with Expression Language 172 Summary 175 Chapter 7: U sing the Java Standard Tag Library 177 Introducing JSP Tags and the JSTL 178 Using the Core Tag Library (C Namespace) 182 Using the Internationalization and Formatting Tag Library (FMT Namespace) 193 Using the Database Access Tag Library (SQL Namespace) 203 Using the XML Processing Tag Library (X Namespace) 205 Replacing Java Code with JSP Tags 205 Summary 208 Chapter 8: Writing Custom Tag and Function Libraries 209 Understanding TLDs, Tag Files, and Tag Handlers 210 Creating Your First Tag File to Serve as an HTML Template 219 Creating a More Useful Date Formatting Tag Handler 221 Creating an EL Function to Abbreviate Strings 226 Replacing Java Code with Custom JSP Tags 227 Summary 232 Chapter 9: Improving Your Application Using Filters 233 Understanding the Purpose of Filters 234 Creating, Declaring, and Mapping Filters 235 Ordering Your Filters Properly 239 Investigating Practical Uses for Filters 247 Simplifying Authentication with a Filter 254 Summary 255 Chapter 10: Making Your Application Interactive with WebSockets 257 Evolution: From Ajax to WebSockets 258 Understanding the WebSocket APIs 268 Creating Multiplayer Games with WebSockets 273 Using WebSockets to Communicate in a Cluster 284 Adding “Chat with Support” to the Customer Support Application 288 Summary 296 Chapter 11: Using Logging to Monitor Your Application 297 Understanding the Concepts of Logging 298 Using Logging Levels and Categories 303 Choosing a Logging Framework 305 Integrating Logging into Your Application 312 Summary 320 Part II: Adding Spring Framework Into the Mix Chapter 12: Introducing Spring Framework 323 What is Spring Framework? 324 Why Spring Framework? 326 Understanding Application Contexts 327 Bootstrapping Spring Framework 329 Configuring Spring Framework 336 Utilizing Bean Definition Profiles 349 Summary 353 Chapter 13: Replacing Your Servlets with Controllers 355 Understanding @RequestMapping 356 Using Spring Framework’s Model and View Pattern 370 Making Your Life Easier with Form Objects 380 Updating the Customer Support Application 384 Summary 387 Chapter 14: Using Services and Repositories to Support Your Controllers 389 Understanding Model-View-Controller Plus Controller-Service-Repository 390 Using the Root Application Context Instead of a Web Application Context 394 Improving Services with Asynchronous and Scheduled Execution 404 Applying Logic Layer Separation to WebSockets 409 Summary 416 Chapter 15: Internationalizing Your Application with Spring Framework i18n 417 Why Do You Need Spring Framework i18n? 418 Using the Basic Internationalization and Localization APIs 419 Configuring Internationalization in Spring Framework 424 Internationalizing Your Code 430 Summary 440 Chapter 16: Using JSR 349, Spring Framework, and Hibernate Validator for Bean Validation 441 What is Bean Validation? 442 Configuring Validation in the Spring Framework Container 445 Adding Constraint Validation Annotations to Your Beans 450 Configuring Spring Beans for Method Validation 458 Writing Your Own Validation Constraints 466 Integrating Validation in the Customer Support Application 470 Summary 472 Chapter 17: Creating RESTful and SOAP Web Services 473 Understanding Web Services 474 Configuring RESTful Web Services with Spring MVC 484 Testing Your Web Service Endpoints 496 Using Spring Web Services for SOAP 500 Summary 508 Chapter 18: Using Messaging and Clustering for Flexibility and Reliability 509 Recognizing When You Need Messaging and Clustering 510 Adding Messaging Support to your Application 520 Making your Messaging Distributable Across a Cluster 525 Distributing Events with AMQP 534 Summary 540 Part III: Persisting Data with JPA and Hibernate ORM Chapter 19: Introducing Java Persistence API and Hibernate ORM 543 What is Data Persistence? 543 What is an Object-Relational Mapper? 547 A Brief Look at Hibernate ORM 552 Preparing a Relational Database 559 A Note About Maven Dependencies 564 Summary 564 Chapter 20: Mapping Entities to Tables with JPA Annotations 565 Getting Started with Simple Entities 566 Creating and Using a Persistence Unit 581 Mapping Complex Data Types 590 Summary 596 Chapter 21: Using JPA in Spring Framework Repositories 597 Using Spring Repositories and Transactions 598 Configuring Persistence in Spring Framework 602 Creating and Using JPA Repositories 610 Converting Data with DTOs and Entities 624 Summary 632 Chapter 22: Eliminating Boilerplate Repositories with Spring Data JPA 633 Understanding Spring Data’s Unified Data Access 634 Configuring and Creating Spring Data JPA Repositories 646 Refactoring the Customer Support Application 656 Summary 661 Chapter 23: Searching for Data with JPA and Hibernate Search 663 An Introduction to Searching 664 Using Advanced Criteria to Locate Objects 666 Taking Advantage of Full-Text Indexes with JPA 676 Indexing Any Data with Apache Lucene and Hibernate Search 684 Summary 692 Chapter 24: Creating Advanced Mappings and Custom Data Types 693 What’s Left? 694 Converting Nonstandard Data Types 695 Embedding POJOs Within Entities 699 Defining Relationships Between Entities 703 Addressing Other Common Situations 709 Creating Programmatic Triggers 717 Refining the Customer Support Application 720 Summary 725 Part IV: Securing Your Application with Spring Security Chapter 25: Introducing Spring Security 729 What is Authentication? 729 Why Spring Security? 743 Summary 746 Chapter 26: Authenticating Users with Spring Security 747 Choosing and Configuring an Authentication Provider 748 Writing Your Own Authentication Provider 766 Summary 778 Chapter 27: Using Authorization Tags and Annotations 779 Authorizing by Declaration 780 Understanding Authorization Decisions 794 Creating Access Control Lists for Object Security 798 Adding Authorization to Customer Support 804 Summary 814 Chapter 28: Securing RESTful Web Services with OAuth 815 Understanding Web Service Security 816 Introducing OAuth 818 Using Spring Security OAuth 833 Finishing the Customer Support Application 840 Creating an OAuth Client Application 856 Summary 862 Index 865
£45.12
John Wiley & Sons Inc Professional Embedded ARM Development
Book SynopsisA practical Wrox guide to ARM programming for mobile devices With more than 90 percent of mobile phones sold in recent years using ARM-based processors, developers are eager to master this embedded technology. If you know the basics of C programming, this guide will ease you into the world of embedded ARM technology.Trade Review"A comprehensive introduction to Assembley language development on ARM-based boards like Raspberry Pi, with plenty of background and information on essential tooling." (MagPi, October 2016)Table of ContentsINTRODUCTION xxiPART I: ARM SYSTEMS AND DEVELOPMENTCHAPTER 1: THE HISTORY OF ARM 3 CHAPTER 2: ARM EMBEDDED SYSTEMS 13 CHAPTER 3: ARM ARCHITECTURE 29 CHAPTER 4: ARM ASSEMBLY LANGUAGE 53 CHAPTER 5: FIRST STEPS 73 CHAPTER 6: THUMB INSTRUCTION SET 107 CHAPTER 7: ASSEMBLY INSTRUCTIONS 121 CHAPTER 8: NEON 145 CHAPTER 9: DEBUGGING 159 CHAPTER 10: WRITING OPTIMIZED C 175 APPENDIX A: TERMINOLOGY 193 APPENDIX B: ARM ARCHITECTURE VERSIONS 199 APPENDIX C: ARM CORE VERSIONS 205 APPENDIX D: NEON INTRINSICS AND INSTRUCTIONS 215 APPENDIX E: ASSEMBLY INSTRUCTIONS 221 INDEX 247
£999.99
John Wiley & Sons Inc Writing Computer Code
Book SynopsisA technology book for kids! Learning how to code can be like learning a foreign language. This book serves as an excellent guide to help you start writing in the odd-looking languages that make the web work. Follow simple steps as you work with real code to build your own web robots.Table of ContentsIntroduction 1 About This Book 1 About You 2 About The Icons 3 The First Step 4 Project 1: Becoming a Programmer 5 What Is Programming? 5 How can you talk to computers? 10 What languages will you learn? 14 Gathering Your Tools 18 Getting your browser ready 18 Working with JSFiddle 19 Sharing Your Fiddle 27 Summary 28 Project 2: Gathering the Parts to Build Your Robot 2 9 Saying What You Mean 30 Making a statement 31 Following the rules 33 Giving and Receiving Data 34 Knowing Your Operands and @Operators 39 Introducing the Super-Calculator 40 Forking the Super-Calculator 41 Using the Super-Calculator 42 Super-calculating with text 44 Summary 47 Project 3: Building Your Robot s Body 48 Writing HTML 48 Seeing what text looks like without HTML 49 Using HTML: It's all about the tags 50 Nesting HTML tags 52 Writing your first HTML document 54 Knowing your HTML elements 56 Introducing Douglas the Robot 58 Changing HTML Using JavaScript 4 Summary 66 Project 4: Giving Your Robot Style 67 Giving Douglas Style 68 Getting the Basics of CSS 69 CSS selectors 70 CSS declarations 74 CSS properties 76 Colorizing Douglas 78 Using CSS colors 78 Changing colors 81 Customizing Your Own Robot 84 Summary 85 Project 5: Animating Your Robot 87 Changing CSS with JavaScript 87 Modifying Douglas with JavaScript 89 Experimenting with Douglas 92 Making Douglas Dance 94 Creating Animations with JavaScript 97 Animating another element 100 Using a second animation function 100 Summary 104 Project 6: Creating a JavaScript Word Game 105 Creating a Variable Story 105 Creating the Word Replacement Game 106 Writing the HTML 108 Styling the Word Game 111 Writing the JavaScript Code 114 Finishing the Program 117
£8.54
John Wiley & Sons Inc Beginning Rust Programming
Book SynopsisQuickly learn the ropes with the Rust programming languageusing this practical, step-by-step guideInBeginning Rust Programming, accomplished programmer and author Ric Messier delivers a highly practical, real-world guide to coding with Rust.Avoiding dry, theoretical content and Hello, world-type tutorials of questionable utility, the book dives immediately intofunctional Rust programming that takes advantage of the language's blazing speed and memory efficiency. Designed from the ground up togive you a running start to using the multiparadigm system programming language, this book will teach you to: Solve real-world computer science problemsof practical importanceUse Rust's rich type system and ownership model to guarantee memory-safetyand thread-safetyIntegrate Rust with other programming languages and use it for embedded devices Perfect for programmers with some experience in other languages, like C or C++,Beginning Rust Programmingis also a great pick for students new to programming and seeking a user-friendly and robust language with which to start their codingcareer.Table of ContentsIntroduction xix Chapter 1: Game of Life: The Basics 1 Game of Life: The Program 2 Starting with Cargo 4 Putting the Pieces Together 5 Bringing In External Functionality 5 Namespaces 6 Generating the Game Grid 7 Dissecting Main 8 Defining Functions 8 Defining Variables 9 Datatypes 11 Arrays 12 Control Structures 14 Looking at More Function Functions 16 Returning Values 16 Passing Parameters 18 Scope 21 Compiling Programs 22 Summary 24 Exercises 25 Additional Resources 25 Chapter 2: Extended Life 27 Understanding Ownership 28 Extending Life 30 Adding Modules 32 Working with Command-Line Arguments 34 Option Types 36 Reading from Files 39 Extracting Values 41 Populating from the Vector 42 Outputting to the Terminal 43 Using Colors 44 Printing Generations 44 Summary 46 Exercises 48 Additional Resources 48 Chapter 3: Building A Library 49 References 50 First Pass 53 Traits and Implementations 56 Self-Identification 60 The Rest 60 Second Pass 62 The Driver 65 Summary 67 Exercises 69 Additional Resources 69 Chapter 4: Hangman 71 Our Data 74 The Traits 77 Implementations 79 Using the Option Enum 82 Finishing Up the Implementation 83 Reading Files and Selecting Words 84 Handling Errors Concisely 85 Generics and Bounds 87 A Vector of Lines 88 The Rest of the Story 90 Initialization 91 Playing the Game 92 Summary 94 Exercises 95 Additional Resources 95 Chapter 5: In Concurrence 97 The Dining Philosophers 98 Mutexes and Semaphores 101 Interprocess Communications 103 The Main Event 106 Unix Sockets 107 File and Directory Handling 109 Closures 112 Threading in the Main 114 Creating Streams 115 Cryptographic Hashing 116 Creating Threads 117 Summary 118 Exercises 119 Additional Resources 119 Chapter 6: Clients and Servers 121 Planning 123 Network Programming 125 Programming Sockets 128 Rust TCP Server 131 Handling Requests 134 Operating System Calls 137 Summary 139 Exercises 140 Additional Resources 140 Chapter 7: Client-Side Applications 141 Encryption 142 Encryption Algorithms 144 Going Hybrid 145 Encryption Algorithms 147 Transport Layer Security (TLS) 147 TLS Server 151 Remote Access Client 154 Creating the Connection 156 Validating Input 157 Regular Expressions 157 The Final Function 159 Summary 163 Exercises 164 Additional Resources 164 Chapter 8: Going Relational 165 Application Architectures 166 n-Tier Applications 167 Microservices 169 Model-View-Controller 171 Databases 172 Structured Query Language 172 Server or Embedded 175 Accessing Databases 176 Writing a Database Program 177 Main and Modules 178 Database Functions 183 Adding Records 184 Listing Records 186 Summary 189 Exercises 190 Additional Resources 190 Chapter 9: NO(SQL) Going 191 Assertions 192 Design by Contract 195 NoSQL 198 Working with MongoDB 202 Inserting Data 202 Reading in Data from a File 206 Populating the Database 207 Retrieving Values 209 Summary 213 Exercises 214 Additional Resources 214 Chapter 10: Web Communications 215 Style Guides 216 Hypertext Transfer Protocol 219 Programmatic Communication 222 Web Communication Over TLS 227 Client Communication 229 Jumping Ahead 232 Jumping Back 237 Summary 238 Exercises 239 Additional Resources 240 Chapter 11: Web Server 241 Offensive vs. Defensive Programming 242 Web Application Communications 245 Web Application Parameters 245 Asynchronous JavaScript and XML 248 Representational State Transfer 249 APIs in Node.js and Python 250 API Server in Rust 252 Rust Rocket 255 Summary 262 Exercises 262 Additional Resources 263 Chapter 12: Getting to the System 265 Extending Functionality 266 Windows Registry 272 Programmatic Access to the Registry 275 Using Rust to Access the Registry 277 System Information with Rust 282 Persistence (for Fun) 287 Summary 289 Exercises 290 Additional Resources 290 Chapter 13: Device Programming 291 Logging 292 Using syslog 292 Using Windows Event Logs 299 Working with Raspberry Pi 305 Lighting Lights 310 Reading GPIO 315 Summary 318 Exercises 319 Additional Resources 319 Chapter 14: Collecting Stuff 321 Arrays and Vectors 322 Linked Lists 329 Stacks 333 Queues 336 Sorting 337 Search Trees 340 Summary 345 Exercises 346 Additional Resources 346 Chapter 15: Odds and Sods 347 Unit Testing 348 Testing Types 350 Test Plans 351 Unit Tests 353 Recursion 360 Machine Learning 364 Chatbots 366 Neural Networks 369 Summary 371 Exercises 373 Additional Resources 373 Index 375
£30.39
John Wiley & Sons Inc Oracle Database Programming with Visual Basic.Net
Book SynopsisOracle Database Programming with Visual Basic.NET Discover a detailed treatment of the practical considerations and applications of Oracle database programming with Visual Basic 2019 Oracle Database Programming with Visual Basic.NET: Concepts, Designs, and Implementations delivers a comprehensive exploration of the foundations of Oracle database programming using Visual Basic.NET. Using Visual Basic.NET 2019, Visual Studio.NET 2019, and Oracle 18c XE, the book introduces the Oracle database development system, Oracle SQL Developer and Modeler, and teaches readers how to implement a sample database solution. The distinguished author also demonstrates the use of dotConnect for Oracle to show readers how to create an effective connection to an Oracle 18c XE database. The current versions of the .NET framework, ASP.NET, and ASP.NET 4.7 are also explored and used to offer readers the most up to date web database programming techniques available today. The book provides practical example p
£62.06
John Wiley & Sons Inc Job Ready Go
Book SynopsisTackle GoLang with practical and employment-focused instruction In Job Ready Go, software education guru Dr. Haythem Balti delivers an essential and hands-on guide to Go, an open-source programming language developed by Google engineers to combine the most sought-after capabilities of other programming languages, including Java, C#, and C++. In the book, the author walks you through all the most critical skills necessary for successful, on-the-job Go programming. You'll discover: How to get started with Go, including how to run, build, and test your own go programsUnderstand control flow and data structures in Go including arrays, slices, maps, and pointerssHow to leverage structs, interfaces, and methods to organize and reuse codeHow to leverage go to process data, access different types of files and develop APIsLeverage concurrency and gRPCs to create complex and interconnected systems. Job Ready Go offers readers straightforward and elegant instruction based on the renowned mthree GTable of ContentsAbout the Authors v About the Technical Writer vi About the Technical Editor vii Acknowledgments viii Introduction xxi Part I: The Basics of the Go Programming Language 1 Lesson 1: Getting Started with Go 3 Lesson 2: Understanding Go Basics 21 Lesson 3: Storing with Variables 39 Lesson 4: Performing Operations 69 Lesson 5: Controlling Program Flow with Conditional Statements 99 Lesson 6: Controlling Program Flow with Loops 123 Lesson 7: Pulling It All Together: Income Tax Calculator 145 Part II: Organizing Code and Data in Go 173 Lesson 8: Using Functions 175 Lesson 9: Accessing Arrays 195 Lesson 10: Working with Pointers 215 Lesson 11: Organizing with Structs 237 Lesson 12: Accessing Slices 263 Lesson 13: Manipulating Maps 287 Lesson 14: Creating Methods 305 Lesson 15: Adding Interfaces 325 Lesson 16: Pulling It All Together: Building a Burger Shop 343 Part III: Creating Job Ready Solutions in Go 377 Lesson 17: Handling Errors 379 Lesson 18: Concurrency 395 Lesson 19: Sorting and Data Processing 421 Lesson 20: File I/O and OS Operations 453 Lesson 21: Pulling It All Together: Word Analysis in Go 485 Part IV: Advanced Topics for Go Development 525 Lesson 22: Testing 527 Lesson 23: API Development Tutorial 561 Lesson 24: Working with gRPC 591 Lesson 25: Pulling It All Together: Using Smart Data 607 Lesson 26: Using Modules 645 Appendix: File Permissions and Access Rights 651 Index 655
£29.74
De Gruyter Quantum Computing and Artificial Intelligence:
Book SynopsisThis book is to explore and explain the strategically sound capabilities at the synchronization between quantum computing and artificial intelligence (AI). The reader will be presented with an introduction and a deeper review of the technological trends and transitions being unearthed in the quantum computing and AI domains.
£123.50
De Gruyter Quantum-Safe Cryptography Algorithms and
Book SynopsisQuantum computers have demonstrated that they have the inherent potential to outperform classical computers in many areas. One of the major impacts is that the currently available cryptography algorithms are bound to no longer hold once quantum computers are able to compute at full speed. This book presents an overview of all the cross-disciplinary developments in cybersecurity that are being generated by the advancements in quantum computing.
£123.50
John Wiley & Sons Professional XNA Programming
Book SynopsisThis improved and updated edition of the bestseller will get you up and running quickly with building games for Xbox 360 and the Windows platform. Professional game developer and Microsoft MVP Benjamin Nitschke begins by explaining how to install the free XNA Game Studio 2.
£35.95
John Wiley & Sons Data Structures and Algorithms in Java 6th Editio
Book Synopsis
£154.85
John Wiley & Sons Inc HTML5 JavaScript and jQuery 24Hour Trainer
Book SynopsisMaster web app development with hands-on practice and video demonstration HTML5, JavaScript, and jQuery 24-Hour Trainer shows you how to build real-world HTML5 apps both web-based and mobile in combination with JavaScript, jQuery, and CSS/CSS3.Table of ContentsINTRODUCTION xviiPART I: HTML AND CSSCHAPTER 1: INTRODUCTION TO HTML5 3 What Is a Markup Language? 3 The Simplest HTML Page Possible 4 An HTML Template 6 Understanding Elements and Attributes 8 Try It 9 CHAPTER 2: BASIC HTML 11 Structuring Text 11 Links and Images 14 Try It 16 CHAPTER 3: LISTS AND TABLES 19 Lists 19 Tables 21 Try It 24 CHAPTER 4: INTRODUCTION TO CSS 27 CSS Selectors 28 CSS Files and Inline Styles 32 Specificity 32 Inheritance 33 Browser Defaults 34 Chrome Scratch Pad 34 Try It 36 CHAPTER 5: STRUCTURING PAGES WITH CSS 39 The Box Model 39 Display Type 41 Positioning Elements 42 Controlling Positions 46 Try It 48 CHAPTER 6: HTML FORMS 51 What Is a Form? 51 Adding Fields to a Form 53 HTML5 Input Fields 56 Try It 59 CHAPTER 7: SEMANTIC TAGS 61 Grouping and Segmenting Content 62 Styling Semantic Tags with CSS 64 Microformats 65 Summing Up 66 Try It 66 CHAPTER 8: HTML5 VALIDATION 69 Adding Validation Rules 69 Customizing Validation 72 Disabling Validation 74 Try It 74 CHAPTER 9: DRAG AND DROP 77 Understanding Events 78 Drag and Drop Example 78 Try It 82 CHAPTER 10: DYNAMIC ELEMENTS 85 Summary and Details Tags 85 Progress Bar and Meter 86 Range Element 88 Polyfills 88 Try It 90 CHAPTER 11: JAVASCRIPT 95 JavaScript Console 95 Data Types 96 Control Structures 101 Truthy and Falsy Values 103 Dynamic Typing 104 Try It 105 CHAPTER 12: DEBUGGING 107 Try It 108 CHAPTER 13: FUNCTIONS 115 Closures 118 Hoisting and Block Scope 120 Arguments 121 Bind 122 Try It 122 CHAPTER 14: OBJECTS 125 Object Literals 125 Prototypes 127 Constructor Functions 130 Modules 131 Try It 133 CHAPTER 15: JSON 135 Replacing and Reviving 138 Try It 140 CHAPTER 16: DOCUMENT OBJECT MODEL 141 Nodes and Objects 141 Try It 147 CHAPTER 17: JQUERY SELECTION 151 Loading jQuery 151 Selecting Elements 153 Pseudo-selectors 154 Selection Within a Context 155 Wrapped Objects 156 Try It 157 CHAPTER 18: JQUERY TRAVERSAL AND MANIPULATION 159 Traversal 159 Chaining 160 Manipulation 161 Changing Elements 163 Iteration 164 Try It 165 CHAPTER 19: JQUERY EVENTS 167 Registering Event Listeners 167 Delegated Event Listeners 170 Form Events 172 Screen Events 173 Animation 174 Try It 174 CHAPTER 20: DATA ATTRIBUTES AND TEMPLATES 177 Template Tag 177 Data Attributes 178 Using the Template 180 Try It 182 CHAPTER 21: JQUERY PLUGINS 185 jQuery UI 185 Writing a Plugin 188 Try It 191 CHAPTER 22: HTML5 AUDIO 195 File Formats 195 Audio Tag 198 Controlling Playback 199 Try It 201 CHAPTER 23: HTML5 VIDEO 203 File Formats 203 Controlling Volume 205 Controlling Playback Speed 207 Controlling Video Size 207 Media Source Extensions 209 Encrypted Media Extensions 209 Web Cryptography 210 Try It 210 CHAPTER 24: CANVAS: PART I 213 Simple Drawing 214 Drawing Lines 216 Circles and Curves 216 Drawing Text 218 Try It 219 CHAPTER 25: CANVAS: PART II 221 Linear Gradients 221 Shadows 222 Images 223 Transforming Shapes 224 Basic Animation 227 Try It 228 CHAPTER 26: CSS3: PART I 231 Selectors 231 CSS Borders 233 Custom Fonts 237 Try It 239 CHAPTER 27: CSS3: PART II 241 Linear Gradients 241 Calc Function 243 Text Effects 243 2D Transformations 245 Transitions 248 Try It 250 CHAPTER 28: CSS3 MEDIA QUERIES 253 Adding Media Queries 254 External Stylesheets 256 Try It 257 CHAPTER 29: WEB SERVERS 261 URLs 262 Choosing a Web Server 262 Try It 263 CHAPTER 30: WEB STORAGE 267 Client-Side Storage 268 Web Storage API 269 Storing Structured Data 271 Try It 273 CHAPTER 31: INDEXEDDB 275 Creating a Database 276 Storing Data 278 Reading Data 279 Deleting Data 281 Try It 281 CHAPTER 32: APPLICATION CACHE 285 Manifest Files 285 Updating Resources 288 Cache Events 289 Try It 290 CHAPTER 33: WEB WORKERS 293 JavaScript Event Model 294 Web Workers 296 Try It 300 CHAPTER 34: FILES 303 FileReader API 304 Other File-Related APIs 307 Try It 308 CHAPTER 35: AJAX 311 AJAX Requests 312 Try It 316 CHAPTER 36: PROMISES 319 Working with Promises 320 Creating Promises 322 Try It 325 CHAPTER 37: RESPONSIVE WEB DESIGN 329 Testing Screen Resolution 330 Flexible Grids 331 Media Queries 336 Try It 340 CHAPTER 38: LOCATION API 343 Monitor Movement 345 Loading the Application 349 Try It 353 CHAPTER 39: JQUERY MOBILE: PART I 355 Understanding jQuery Mobile 356 JQUERY Mobile Pages 358 Form-Based Pages 362 JavaScript 365 Try It 366 CHAPTER 40: JQUERY MOBILE: PART II 369 UI Components 369 Events 373 Try It 376 INDEX 379
£31.49