Web programming Books
O'Reilly Media Laravel Up Running
Book SynopsisFully updated to include Laravel 10, the third edition of this practical guide provides the definitive introduction to one of today's most popular web frameworks.
£38.39
O'Reilly Media Effective Typescript
Book Synopsis
£38.39
Cambridge University Press The Cambridge Companion to Baseball
Book SynopsisProvides an introduction to numerical methods for students in engineering courses. This book covers the solution of equations, interpolation and data fitting, solution of differential equations, eigenvalue problems and optimisation. The algorithms are implemented in Python 3, a high-level programming language that rivals MATLAB® in readability and ease of use.Trade Review'… a practical introduction, pushing the theory as far in the background as possible.' The European Mathematical Society (euro-math-soc.eu)'This book is nicely focused on the most frequently encountered types of numerical problems that scientists and engineers usually face and the most common and robust algorithms for solving them. The text is just the right size for a semester-long course for upper-division undergraduates or first-year graduate students … this is a well-written text that is logically organized, attractively presented, and supported with challenging problems.' Anthony J. Duben, Computing ReviewsTable of Contents1. Introduction to Python; 2. Systems of linear algebraic equations; 3. Interpolation and curve fitting; 4. Roots of equations; 5. Numerical differentiation; 6. Numerical integration; 7. Initial value problems; 8. Two-point boundary value problems; 9. Symmetric matrix eigenvalue problems; 10. Introduction to optimization.
£89.99
John Wiley & Sons Inc Professional ASP.NET MVC 5
Book SynopsisASP. NET MVC insiders cover the latest updates to the technology in this popular Wrox reference MVC 5 is the newest update to the popular Microsoft technology that enables you to build dynamic, data-driven websites.Table of ContentsForeword xxvii Introduction xxix Chapter 1: Getting Started 1 A Quick Introduction to ASP.NET MVC 1 ASP.NET MVC 5 Overview 11 Installing MVC 5 and Creating Applications 16 The MVC Application Structure 24 Summary 29 Chapter 2: Controllers 31 The Controller’s Role 31 A Sample Application: The MVC Music Store 34 Controller Basics 38 Summary 47 Chapter 3: Views 49 The Purpose of Views 50 View Basics 50 Understanding View Conventions 54 Strongly Typed Views 55 View Models 58 Adding a View 60 The Razor View Engine 63 Specifying a Partial View 73 Summary 74 Chapter 4: Models 75 Modeling the Music Store 76 Scaffolding a Store Manager 80 Editing an Album 97 Model Binding 103 Summary 107 Chapter 5: Forms and Html Helpers 109 Using Forms 110 HTML Helpers 114 Other Input Helpers 129 Rendering Helpers 130 Summary 135 Chapter 6: Data Annotations and Validation 137 Annotating Orders for Validation 138 Custom Validation Logic 150 Display and Edit Annotations 155 Summary 158 Chapter 7: Membership, Authorization, and Security 159 Security: Not fun, But Incredibly Important 159 Using the Authorize Attribute to Require Login 162 Using AuthorizeAttribute to Require Role Membership 172 Extending User Identity 174 External Login via OAuth and OpenID 175 Understanding the Security Vectors in a Web Application 182 Proper Error Reporting and the Stack Trace 207 Security Recap and Helpful Resources 209 Summary 211 Chapter 8: Ajax 213 jQuery 214 Ajax Helpers 225 Client Validation 233 Beyond Helpers 241 Improving Ajax Performance 253 Summary 255 Chapter 9: Routing 257 Uniform Resource Locators 258 Introduction to Routing 259 Inside Routing: How Routes Generate URLs 288 Inside Routing: How Routes Tie Your URL to an Action 294 Chapter 10: Nuget 299 Introduction to NuGet 299 Adding a Library as a Package 301 Creating Packages 312 Publishing Packages 325 Summary 332 Chapter 11: Asp.Net Web Api 333 Defining ASP.NET Web API 334 Getting Started with Web API 335 Writing an API Controller 335 Configuring Web API 342 Adding Routes to Your Web API 346 Binding Parameters 347 Filtering Requests 349 Enabling Dependency Injection 350 Exploring APIs Programmatically 350 Tracing the Application 352 Web API Example: ProductsController 352 Summary 354 Chapter 12: Single Page Applications With Angularjs 355 Understanding and Setting Up AngularJS 356 Building the Web API 363 Building Applications and Modules 364 Summary 384 Chapter 13: Dependency Injection 385 Software Design Patterns 385 Dependency Resolution in MVC 395 Dependency Resolution in Web API 402 Summary 405 Chapter 14: Unit Testing 407 Understanding Unit Testing and Test-Driven Development 408 Building a Unit Test Project 412 Advice for Unit Testing Your ASP.NET MVC and ASP.NET Web API Applications 415 Summary 427 Chapter 15: Extending Mvc 429 Extending Models 430 Extending Views 442 Extending Controllers 446 Summary 458 Chapter 16: Advanced Topics 461 Mobile Support 461 Advanced Razor 473 Advanced View Engines 476 Advanced Scaffolding 482 Advanced Routing 486 Advanced Templates 492 Advanced Controllers 498 Summary 520 Chapter 17: Real-World Asp.Net Mvc: Building The Nuget.Org Website 521 May the Source Be with You 522 WebActivator 526 ASP.NET Dynamic Data 527 Exception Logging 530 Profiling 532 Data Access 535 EF Code–Based Migrations 536 Deployments with Octopus Deploy 539 Automated Browser Testing with Fluent Automation 540 Other Useful NuGet Packages 541 Summary 544 Appendix: ASP.NET MVC 5.1 545 ASP.NET MVC 5.1 Release Description 545 Enum Support in ASP.NET MVC Views 549 Attribute Routing with Custom Constraints 553 Bootstrap and JavaScript Enhancements 558 Summary 563 Index 565
£34.19
John Wiley & Sons Inc Beginning ASP.NET 4.5.1 in C and VB
Book SynopsisBuild your ASP. NET 4.5. 1 skills with real-world instruction In this comprehensive guide to getting started with ASP. NET 4.5. 1, best-selling author Imar Spaanjaars provides a firm foundation for coders new to ASP. NET and key insights for those not yet familiar with the important updates in the 4.5. 1 release.Table of ContentsForeword xxv Introduction xxvii Chapter 1: Getting Started with ASP .NET 4.5.1 1 Microsoft Visual Studio Express for Web 2 Getting Visual Studio 3 Installing Visual Studio Express for Web (VSEW) 3 Creating Your First ASP.NET 4.5.1 Website 5 An Introduction to ASP.NET 4.5.1 9 Understanding HTML 10 A First Look at ASP.NET Markup 15 A Tour of the IDE 16 The Main Development Area 16 Informational Windows 22 Customizing the IDE 23 Rearranging Windows 23 Modifying the Toolbox 24 Customizing the Document Window 26 Customizing Toolbars 27 Customizing Keyboard Shortcuts 28 Resetting Your Changes 28 The Sample Application 29 Practical Tips on Visual Studio 30 Summary 31 Chapter 2: Building an ASP .NET Website 33 Creating Websites with Visual Studio 2013 34 Different Project Types 34 Choosing the Right Website Template 35 Creating and Opening a New Website 37 Working with Files in Your Website 41 The Many File Types of an ASP.NET Website 41 Adding Existing Files 44 Organizing Your Site 45 Special File Types 46 Working with Web Forms 47 The Different Views on Web Forms 47 Choosing between Code Behind and Pages with Inline Code 49 Adding Markup to Your Page 54 Connecting Pages 59 Practical Tips on Working with Web Forms 61 Summary 61 Chapter 3: Designing Your Web Pages 63 Why Do You Need CSS? 64 Problems with Using HTML Formatting 64 How CSS Fixes Formatting Problems 65 An Introduction to CSS 65 CSS — The Language 69 The Style Sheet 70 Adding CSS to Your Pages 82 Working with CSS in Visual Studio 84 Using the CSS Editor 85 Creating Embedded and Inline Style Sheets 89 Applying Styles 93 Managing Styles 94 Practical Tips on Working with CSS 97 Summary 97 Chapter 4: Working with ASP .NET Server Controls 101 Introduction to Server Controls 102 A Closer Look at ASP.NET Server Controls 106 Defining Controls in Your Pages 106 Common Properties for All Controls 106 Types of Controls 109 Standard Controls 109 HTML Controls 122 Data Controls 123 Validation Controls 123 Navigation Controls 123 Login Controls 123 Ajax Extensions 124 WebParts 124 Dynamic Data 124 The ASP.NET State Engine 124 What Is State and Why Is It Important? 124 How the State Engine Works 125 Not All Controls Rely on View State 129 A Note about View State and Performance 130 Practical Tips on Working with Controls 131 Summary 132 Chapter 5: Programming Your ASP .NET Web Pages 135 Introduction to Programming 136 Data Types and Variables 137 Converting and Casting Data Types 140 Using Arrays and Collections 142 Statements 147 Operators 147 Making Decisions 155 Loops 162 Organizing Code 167 Methods: Functions and Subroutines 167 The App_Code Folder 169 Organizing Code with Namespaces 173 Writing Comments 176 Object Orientation Basics 178 Important OO Terminology 178 Events 190 Practical Tips on Programming 191 Summary 192 Chapter 6: Creating Consistent Looking Websites 195 Consistent Page Layout with Master Pages 196 Creating Master Pages 198 Creating Content Pages 200 Using a Centralized Base Page 206 An Introduction to the ASP.NET Page Life Cycle 207 Implementing the Base Page 208 Creating Reusable Page Templates 212 Themes 216 Different Types of Themes 217 Choosing Between Theme and StyleSheetTheme 217 Applying Themes 218 Extending Themes 222 Dynamically Switching Themes 224 Skins 232 Creating a Skin File 233 Named Skins 234 Disable Theming for Specific Controls 235 Practical Tips on Creating Consistent Pages 235 Summary 236 Chapter 7: Navigation 239 Different Ways to Move Around Your Site 240 Understanding Absolute and Relative URLs 240 Understanding Default Documents 243 Using the Navigation Controls 243 Architecture of the Navigation Controls 244 Examining the Web.sitemap File 244 Using the Menu Control 246 Using the TreeView Control 254 Using the SiteMapPath Control 258 Routing 260 Setting up Extension-less URLs 261 Considerations for Extension-less URLs 263 Programmatic Redirection 263 Programmatically Redirecting the Client to a Different Page 264 Server-Side Redirects 266 Practical Tips on Navigation 268 Summary 269 Chapter 8: User Controls 273 Introduction to User Controls 274 Creating User Controls 274 Adding User Controls to a Content Page or Master Page 277 Sitewide Registration of User Controls 280 User Control Caveats 282 Adding Logic to Your User Controls 284 Creating Your Own Data Types for Properties 284 Implementing View State Properties 289 View State Considerations 295 Practical Tips on User Controls 295 Summary 296 Chapter 9: Validating User Input 299 Gathering Data from the User 300 Validating User Input in Web Forms 301 Understanding Request Validation 320 Processing Data at the Server 321 Sending E-mail from Your Website 321 Reading from Text Files 327 Practical Tips on Validating Data 333 Summary 333 Chapter 10: ASP .NET AJAX 337 Introducing Ajax 338 Using ASP.NET AJAX in Your Projects 340 Creating Flicker-free Pages 340 Providing Feedback to Users 345 The Timer Control 350 Using Web Services in Ajax Websites 351 What Are Web Services? 351 Creating Web Services 357 Practical Ajax Tips 365 Summary 366 Chapter 11: jQuery 369 An Introduction to jQuery 370 Introducing NuGet 371 Choosing the Location for Your jQuery Reference 375 Different Ways to Include the jQuery Library 376 jQuery Syntax 380 jQuery Core 380 Selecting Items Using jQuery 381 Modifying the DOM with jQuery 388 CSS Methods 388 Handling Events 390 Miscellaneous jQuery Functionality 391 Common Mistakes When Working with jQuery 392 Effects with jQuery 393 jQuery and Validation 399 Practical Tips on jQuery 403 Summary 403 Chapter 12: Introducing Databases 407 What Is a Database? 408 Different Kinds of Relational Databases 409 Installing SQL Server 2012 Express 410 Using SQL to Work with Database Data 410 Retrieving and Manipulating Data with SQL 414 Reading Data 414 Creating Data 423 Updating Data 424 Deleting Data 424 Creating Your Own Tables 427 Data Types in SQL Server 427 Understanding Primary Keys and Identities 429 Creating Relationships between Tables 432 Practical Database Tips 436 Summary 436 Chapter 13: Displaying and Updating Data 439 Data Controls 439 Data-bound Controls 440 Data Source Controls 442 Other Data Controls 442 Data Source and Data-bound Controls Working Together 443 Displaying and Editing Data with Grid View 443 Inserting Data with Details View 449 Storing Your Connection Strings in Web.config 451 Filtering Data 453 Customizing the Appearance of the Data Controls 459 Configuring Columns or Fields of Data-bound Controls 460 Updating and Inserting Data 466 Using Details View to Insert and Update Data 466 Practical Tips for Displaying and Updating Data 480 Summary 481 Chapter 14: LIN Q and the ADO .NET Entity Framework 485 Introducing LINQ 486 LINQ to Objects 487 LINQ to XML 487 LINQ to ADO.NET 487 Introducing the ADO.NET Entity Framework 488 Mapping Your Data Model to an Object Model 489 Introducing Query Syntax 495 Standard Query Operators 495 Shaping Data with Anonymous Types 499 Using Model Binding with LINQ Queries 504 Introducing Model Binding 505 A Note about Performance 535 Practical LINQ and ADO.NET Entity Framework Tips 536 Summary 536 Chapter 15: Working with Data — Advanced Topics 539 Formatting Your Controls Using Styles 540 An Introduction to Styles 541 Combining Styles, Themes, and Skins 545 Handling Events 549 The ASP.NET Page and Control Life Cycles Revisited 549 The ASP.NET Page Life Cycle and Events in Data Controls 555 Handling Errors That Occur in the Data Source Controls 560 Hand-Coding Data Access Code 564 Caching 574 Common Pitfalls with Caching Data 575 Different Ways to Cache Data in ASP.NET Web Applications 576 Practical Data Tips 585 Summary 586 Chapter 16: Security in Your ASP .NET Website 589 Introducing Security 590 Identity: Who Are You? 590 Authentication: How Can You Prove Who You Are? 590 Authorization: What Are You Allowed to Do? 591 An Introduction to the ASP.NET Application Services 591 Introducing the Login Controls 593 The Login Controls 598 Configuring Your Web Application 609 The Role Manager 612 The Role Manager Configuration 613 Managing Users with the WSAT 613 Configuring the Web Application to Work with Roles 618 Programmatically Checking Roles 622 Practical Security Tips 625 Summary 626 Chapter 17: Personalizing Websites 629 Understanding Profile 630 Configuring the Profile 631 Using the Profile 637 Other Ways of Dealing with Profile 655 Anonymous Identification 655 Cleaning Up Old Anonymous Profiles 655 Looking at Other Users’ Profiles 657 Practical Personalization Tips 660 Summary 660 Chapter 18: Exception Handling, Debugging, and Tracing 663 Exception Handling 664 Different Types of Errors 664 Catching and Handling Exceptions 667 Global Error Handling and Custom Error Pages 675 The Basics of Debugging 683 Tools Support for Debugging 686 Moving Around in Debugged Code 686 Debugging Windows 687 Debugging Client-Side Script 693 Debugging with the Page Inspector 696 Introducing the Page Inspector 696 Using the Page Inspector 697 Cross-browser Testing with Browser Link 701 Introducing Browser Link 702 Using Browser Link 702 Tracing Your ASP.NET Web Pages 704 Using the Standard Tracing Capabilities 705 Adding Your Own Information to the Trace 708 Tracing and Performance 710 A Security Warning 710 Practical Debugging Tips 711 Summary 712 Chapter 19: Deploying Your Website 715 Preparing Your Website for Deployment 716 Avoiding Hard-Coded Settings 716 The Web.config File 717 Expression Syntax 717 The Web Configuration Manager Class 718 Introducing Bundling and Minification 723 Preparing for Deployment 727 Publishing Your Site 727 Introducing Web.config Transformations 730 Running Your Site Under IIS 734 Installing and Configuring the Web Server 735 Installing and Configuring ASP.NET 737 Understanding Security in IIS 741 NTFS Settings for Planet Wrox 742 Troubleshooting Web Server Errors 745 Moving Data to a Remote Server 747 Exporting Your Data to a File 748 Recreating the Database 750 The Deployment Checklist 751 What’s Next 753 Summary 754 Appendix A: Exercise Answers 757 Appendix B: Configuring SQL Server 2012 781 Index 795
£27.99
John Wiley & Sons Inc OCA Oracle Certified Associate Java SE 8
Book SynopsisFull coverage of functional programming and all OCA Java Programmer exam objectives OCA, Oracle Certified Associate Java SE 8 Programmer I Study Guide, Exam 1Z0-808 is a comprehensive study guide for those taking the Oracle Certified Associate Java SE 8 Programmer I exam (1Z0-808).Table of ContentsIntroduction xxi Assessment Test xxxi Chapter 1 Java Building Blocks 1 Understanding the Java Class Structure 2 Fields and Methods 2 Comments 4 Classes vs. Files 5 Writing a main() Method 6 Understanding Package Declarations and Imports 9 Wildcards 10 Redundant Imports 11 Naming Conflicts 12 Creating a New Package 13 Code Formatting on the Exam 16 Creating Objects 16 Constructors 17 Reading and Writing Object Fields 18 Instance Initializer Blocks 18 Order of Initialization 19 Distinguishing Between Object References and Primitives 20 Primitive Types 20 Reference Types 24 Key Differences 25 Declaring and Initializing Variables 25 Declaring Multiple Variables 26 Identifiers 27 Understanding Default Initialization of Variables 29 Local Variables 29 Instance and Class Variables 30 Understanding Variable Scope 31 Ordering Elements in a Class 34 Destroying Objects 36 Garbage Collection 36 finalize() 38 Benefits of Java 39 Summary 40 Exam Essentials 41 Review Questions 42 Chapter 2 Operators and Statements 51 Understanding Java Operators 52 Working with Binary Arithmetic Operators 53 Arithmetic Operators 53 Numeric Promotion 55 Working with Unary Operators 57 Logical Complement and Negation Operators 57 Increment and Decrement Operators 58 Using Additional Binary Operators 60 Assignment Operators 60 Compound Assignment Operators 62 Relational Operators 63 Logical Operators 64 Equality Operators 65 Understanding Java Statements 66 The if-then Statement 67 The if-then-else Statement 68 The switch Statement 72 The while Statement 76 The do-while Statement 78 The for Statement 80 Understanding Advanced Flow Control 86 Nested Loops 87 Adding Optional Labels 87 The break Statement 88 The continue Statement 90 Summary 92 Exam Essentials 92 Review Questions 94 Chapter 3 Core Java APIs 101 Creating and Manipulating Strings 102 Concatenation 102 Immutability 104 The String Pool 105 Important String Methods 105 Method Chaining 110 Using the StringBuilder Class 111 Mutability and Chaining 112 Creating a StringBuilder 113 Important StringBuilder Methods 114 StringBuilder vs. StringBuffer 117 Understanding Equality 117 Understanding Java Arrays 119 Creating an Array of Primitives 119 Creating an Array with Reference Variables 121 Using an Array 123 Sorting 124 Searching 125 Varargs 126 Multidimensional Arrays 126 Understanding an ArrayList 129 Creating an ArrayList 129 Using an ArrayList 130 Wrapper Classes 134 Autoboxing 136 Converting Between array and List 136 Sorting 138 Working with Dates and Times 138 Creating Dates and Times 138 Manipulating Dates and Times 142 Working with Periods 145 Formatting Dates and Times 148 Parsing Dates and Times 151 Summary 151 Exam Essentials 152 Review Questions 153 Chapter 4 Methods and Encapsulation 165 Designing Methods 166 Optional Specifiers 168 Return Type 169 Method Name 170 Parameter List 171 Optional Exception List 171 Method Body 171 Working with Varargs 172 Applying Access Modifiers 173 Private Access 173 Default (Package Private) Access 175 Protected Access 176 Public Access 180 Designing Static Methods and Fields 181 Calling a Static Variable or Method 182 Static vs. Instance 183 Static Variables 185 Static Initialization 186 Static Imports 187 Passing Data Among Methods 188 Overloading Methods 191 Creating Constructors 196 Default Constructor 197 Overloading Constructors 199 Final Fields 202 Order of Initialization 202 Encapsulating Data 205 Creating Immutable Classes 207 Writing Simple Lambdas 208 Lambda Example 209 Lambda Syntax 211 Predicates 214 Summary 215 Exam Essentials 216 Review Questions 218 Chapter 5 Class Design 233 Introducing Class Inheritance 234 Extending a Class 235 Applying Class Access Modifiers 237 Creating Java Objects 237 Defining Constructors 238 Calling Inherited Class Members 244 Inheriting Methods 246 Inheriting Variables 257 Creating Abstract Classes 259 Defining an Abstract Class 260 Creating a Concrete Class 262 Extending an Abstract Class 263 Implementing Interfaces 266 Defining an Interface 267 Inheriting an Interface 269 Interface Variables 273 Default Interface Methods 274 Static Interface Methods 278 Understanding Polymorphism 279 Object vs. Reference 281 Casting Objects 282 Virtual Methods 284 Polymorphic Parameters 285 Polymorphism and Method Overriding 287 Summary 288 Exam Essentials 289 Review Questions 291 Chapter 6 Exceptions 299 Understanding Exceptions 300 The Role of Exceptions 300 Understanding Exception Types 302 Throwing an Exception 304 Using a try Statement 305 Adding a finally Block 307 Catching Various Types of Exceptions 309 Throwing a Second Exception 311 Recognizing Common Exception Types 313 Runtime Exceptions 314 Checked Exceptions 317 Errors 317 Calling Methods That Throw Exceptions 318 Subclasses 319 Printing an Exception 321 Summary 323 Exam Essentials 324 Review Questions 325 Appendix A Answers to Review Questions 333 Chapter 1: Java Building Blocks 334 Chapter 2: Operators and Statements 336 Chapter 3: Core Java APIs 339 Chapter 4: Methods and Encapsulation 342 Chapter 5: Class Design 346 Chapter 6: Exceptions 349 Appendix B Study Tips 353 Studying for the Test 354 Creating a Study Plan 354 Creating and Running Sample Applications 355 Taking the Test 359 Understanding the Question 359 Applying Process of Elimination 362 Optimizing Your Time 364 Getting a Good Night’s Rest 366 Index 367
£40.00
John Wiley & Sons Inc OCP Oracle Certified Professional Java SE 8
Book SynopsisComplete, trusted preparation for the Java Programmer II exam OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide is your comprehensive companion for preparing for Exam 1Z0-809 as well as upgrade Exam 1Z0-810 and Exam 1Z0-813.Table of ContentsIntroduction xix Assessment Test xxxviii Chapter 1 Advanced Class Design 1 Reviewing OCA Concepts 2 Using instanceof 7 Understanding Virtual Method Invocation 9 Annotating Overridden Methods 11 Coding equals, hashCode, and toString 13 Working with Enums 20 Creating Nested Classes 24 Summary 33 Exam Essentials 34 Review Questions 36 Chapter 2 Design Patterns and Principles 47 Designing an Interface 48 Introducing Functional Programming 52 Implementing Polymorphism 61 Understanding Design Principles 66 Working with Design Patterns 75 Summary 93 Exam Essentials 93 Review Questions 95 Chapter 3 Generics and Collections 103 Reviewing OCA Collections 104 Working with Generics 108 Using Lists, Sets, Maps, and Queues 124 Comparator vs. Comparable 143 Searching and Sorting 150 Additions in Java 8 152 Summary 159 Exam Essentials 161 Review Questions 162 Chapter 4 Functional Programming 171 Using Variables in Lambdas 172 Working with Built-In Functional Interfaces 173 Returning an Optional 182 Using Streams 185 Working with Primitives 205 Working with Advanced Stream Pipeline Concepts 213 Summary 223 Exam Essentials 224 Review Questions 226 Chapter 5 Dates, Strings, and Localization 233 Working with Dates and Times 234 Reviewing the String class 253 Adding Internationalization and Localization 255 Summary 273 Exam Essentials 274 Review Questions 276 Chapter 6 Exceptions and Assertions 283 Reviewing Exceptions 284 Creating Custom Exceptions 289 Using Multi-catch 291 Using Try-With-Resources 296 Rethrowing Exceptions 305 Working with Assertions 308 Summary 314 Exam Essentials 315 Review Questions 316 Chapter 7 Concurrency 325 Introducing Threads 327 Creating Threads with the ExecutorService 335 Synchronizing Data Access 350 Using Concurrent Collections 358 Working with Parallel Streams 366 Managing Concurrent Processes 377 Identifying Threading Problems 387 Summary 392 Exam Essentials 393 Review Questions 394 Chapter 8 IO 405 Understanding Files and Directories 406 Introducing Streams 411 Working with Streams 420 Interacting with Users 437 Summary 442 Exam Essentials 443 Review Questions 445 Chapter 9 NIO.2 453 Introducing NIO.2 454 Interacting with Paths and Files 460 Understanding File Attributes 478 Presenting the New Stream Methods 487 Comparing Legacy File and NIO.2 Methods 494 Summary 495 Exam Essentials 495 Review Questions 497 Chapter 10 JDBC 505 Introducing Relational Databases and SQL 507 Introducing the Interfaces of JDBC 511 Connecting to a Database 513 Obtaining a Statement 518 Executing a Statement 520 Getting Data from a ResultSet 524 Closing Database Resources 533 Dealing with Exceptions 535 Summary 536 Exam Essentials 537 Review Questions 539 Appendix A Answers to Review Questions 547 Chapter 1: Advanced Class Design 548 Chapter 2: Design Patterns and Principles 550 Chapter 3: Generics and Collections 553 Chapter 4: Functional Programming 556 Chapter 5: Dates, Strings, and Localization 558 Chapter 6: Exceptions and Assertions 560 Chapter 7: Concurrency 561 Chapter 8: IO 565 Chapter 9: NIO.2 568 Chapter 10: JDBC 571 Appendix B Study Tips 575 Studying for the Test 576 Taking the Test 582 Appendix C Upgrading from Java 6 or Earlier 595 Enhancing the Java Language 596 Formatting and Parsing 603 Applying Locks 607 Understanding the Lock Framework 607 Using a ReentrantLock 610 Understanding Read/Write Locks 614 Using a ReentrantReadWriteLock 615 Working with Directories 617 Summary 633 Exam Essentials 633 Review Questions 635 Answers to Practice Test 645 Index 649
£30.39
John Wiley & Sons Inc JavaScript For Kids For Dummies
Book SynopsisHave big dreams? Kick start them with JavaScript! If we've learned one thing from the Millennial generation, it's that no one is too young to make history online.Table of ContentsIntroduction 1 Part I: What Is JavaScript? Alert! JavaScript Is Awesome! 5 Chapter 1: Programming the Web 7 Chapter 2: Understanding Syntax 22 Chapter 3: Giving and Receiving Data 33 Chapter 4: Fiddling with Web Applications 51 Part II: Animating the Web 69 Chapter 5: JavaScript and HTML 71 Chapter 6: JavaScript and CSS 89 Chapter 7: Building an Animated Robot 104 Part III: Getting Operations 123 Chapter 8: Building Your Dream Car with Operands 125 Chapter 9: Putting It Together with Operators 136 Chapter 10: Creating Your Own JavaScript Word Game 153 Part IV: Arrays and Functions 171 Chapter 11: Creating and Changing Arrays 173 Chapter 12: Making It Functional 190 Chapter 13: Creating a Wish List Program 206 Part V: Freedom of Choice 231 Chapter 14: Making Decisions with the If...Else Statement 233 Chapter 15: Doing Different Things with Switch 252 Chapter 16: Choose Your Own Adventure 267 Part VI: Loops 293 Chapter 17: What’s This Loop For? 295 Chapter 18: Using While Loops 309 Chapter 19: Building a Lemonade Stand 326 Index 355
£18.69
Wiley Java Concepts 8th Edition High School Binding
Book Synopsis
£134.42
John Wiley & Sons Inc Big Java
Book SynopsisTable of ContentsPreface iii Special Features xxiv 1 Introduction 1 1.1 Computer Programs 2 1.2 The Anatomy of a Computer 3 1.3 The Java Programming Language 6 1.4 Becoming Familiar with Your Programming Environment 7 1.5 Analyzing Your First Program 11 1.6 Errors 14 1.7 PROBLEM SOLVING Algorithm Design 15 2 Fundamental Data Types 31 2.1 Variables 32 2.2 Arithmetic 43 2.3 Input and Output 50 2.4 PROBLEM SOLVING First Do it By Hand 59 2.5 Strings 61 3 Decisions 83 3.1 The if Statement 84 3.2 Comparing Numbers and Strings 90 3.3 Multiple Alternatives 98 3.4 Nested Branches 102 3.5 PROBLEM SOLVING Flowcharts 107 3.6 PROBLEM SOLVING Test Cases 110 3.7 Boolean Variables and Operators 113 3.8 APPLICATION Input Validation 118 4 Loops 142 4.1 The while Loop 142 4.2 PROBLEM SOLVING Hand-Tracing 149 4.3 The for Loop 152 4.4 The do Loop 158 4.5 APPLICATION Processing Sentinel Values 160 4.6 PROBLEM SOLVING Storyboards 164 4.7 Common Loop Algorithms 167 4.8 Nested Loops 174 4.9 PROBLEM SOLVING Solve a Simpler Problem First 178 4.10 APPLICATION Random Numbers and Simulations 182 5 Methods 211 5.1 Methods as Black Boxes 212 5.2 Implementing Methods 214 5.3 Parameter Passing 217 5.4 Return Values 220 5.5 Methods Without Return Values 224 5.6 PROBLEM SOLVING Reusable Methods 225 5.7 PROBLEM SOLVING Stepwise Refinement 229 5.8 Variable Scope 236 5.9 Recursive Methods (Optional) 240 6 Arrays and Arraylists 261 6.1 Arrays 262 6.2 The Enhanced for Loop 269 6.3 Common Array Algorithms 270 6.4 Using Arrays with Methods 280 6.5 PROBLEM SOLVING Adapting Algorithms 284 6.6 PROBLEM SOLVING Discovering Algorithms by Manipulating Physical Objects 291 6.7 Two-Dimensional Arrays 294 6.8 Array Lists 301 7 Input/Output and Exception Handling 331 7.1 Reading and Writing Text Files 332 7.2 Text Input and Output 337 7.3 Command Line Arguments 345 7.4 Exception Handling 352 7.5 APPLICATION Handling Input Errors 361 8 Objects and Classes 375 8.1 Object-Oriented Programming 376 8.2 Implementing a Simple Class 378 8.3 Specifying the Public Interface of a Class 381 8.4 Designing the Data Representation 385 8.5 Implementing Instance Methods 386 8.6 Constructors 389 8.7 Testing a Class 393 8.8 Problem Solving: Tracing Objects 399 8.9 Object References 403 8.10 Static Variables and Methods 408 8.11 PROBLEM SOLVING Patterns for Object Data 410 8.12 Packages 417 9 Inheritance and Interfaces 437 9.1 Inheritance Hierarchies 438 9.2 Implementing Subclasses 442 9.3 Overriding Methods 446 9.4 Polymorphism 452 9.5 Object: The Cosmic Superclass 463 9.6 Interface Types 470 10 Graphical User Interfaces 493 10.1 Frame Windows 494 10.2 Events and Event Handling 498 10.3 Processing Text Input 509 10.4 Creating Drawings 515 11 Advanced User Interfaces 535 11.1 Layout Management 536 11.2 Choices 538 11.3 Menus 549 11.4 Exploring the Swing Documentation 556 11.5 Using Timer Events for Animations 561 11.6 Mouse Events 564 12 Object-Oriented Design 577 12.1 Classes and Their Responsibilities 578 12.2 Relationships Between Classes 582 12.3 APPLICATION Printing an Invoice 589 13 Recursion 607 13.1 Triangle Numbers 608 13.2 Recursive Helper Methods 616 13.3 The Efficiency of Recursion 618 13.4 Permutations 623 13.5 Mutual Recursion 628 13.6 Backtracking 634 14 Sorting and Searching 649 14.1 Selection Sort 650 14.2 Profiling the Selection Sort Algorithm 653 14.3 Analyzing the Performance of the Selection Sort Algorithm 656 14.4 Merge Sort 661 14.5 Analyzing the Merge Sort Algorithm 664 14.6 Searching 668 14.7 PROBLEM SOLVING Estimating the Running Time of an Algorithm 673 14.8 Sorting and Searching in the Java 15 The Java Collections Framework 691 15.1 An Overview of the Collections Framework 692 15.2 Linked Lists 695 15.3 Sets 701 15.4 Maps 706 15.5 Stacks, Queues, and Priority Queues 712 15.6 Stack and Queue Applications 715 16 Basic Data Structures 735 16.1 Implementing Linked Lists 736 16.2 Implementing Array Lists 751 16.3 Implementing Stacks and Queues 755 16.4 Implementing a Hash Table 761 17 Tree Structures 779 17.1 Basic Tree Concepts 780 17.2 Binary Trees 784 17.3 Binary Search Trees 789 17.4 Tree Traversal 798 17.5 Red-Black Trees 804 17.6 Heaps 811 17.7 The Heapsort Algorithm 822 18 Generic Classes 837 18.1 Generic Classes and Type Parameters 838 18.2 Implementing Generic Types 839 18.3 Generic Methods 843 18.4 Constraining Type Parameters 845 18.5 Type Erasure 849 19 Stream Processing 859 19.1 The Stream Concept 860 19.2 Producing Streams 862 19.3 Collecting Results 864 19.4 Transforming Streams 866 19.5 Lambda Expressions 869 19.6 The Optional Type 873 19.7 Other Terminal Operations 876 19.8 Primitive-Type Streams 877 19.9 Grouping Results 880 19.10 Common Algorithms Revisited 882 20 Advanced Input/Output 897 20.1 Readers, Writers, and Input/Output Streams 898 20.2 Binary Input and Output 899 20.3 Random Access 903 20.4 Object Input and Output Streams 908 20.5 File and Directory Operations 913 21 Multithreading (Web Only) 21.1 Running Threads 21.2 Terminating Threads 21.3 Race Conditions 21.4 Synchronizing Object Access 21.5 Avoiding Deadlocks 21.6 APPLICATION Algorithm Animation 22 Internet Networking (Web Only) 22.1 The Internet Protocol 22.2 Application Level Protocols 22.3 A Client Program 22.4 A Server Program 22.5 URL Connections 23 Relational Databases (Web Only) 23.1 Organizing Database Information 23.2 Queries 23.3 Installing a Database 23.4 Database Programming in Java 23.5 APPLICATION Entering an Invoice ST 2 Transactions ST 3 Object-Relational Mapping WE 1 Programming a Bank Database 24 XML (WEB ONLY) 24.1 XML Tags and Documents 24.2 Parsing XML Documents 24.3 Creating XML Documents 24.4 Validating XML Documents 25 Web Applications (WEB ONLY) 25.1 The Architecture of a Web Application 25.2 The Architecture of a JSF Application 25.3 JavaBeans Components 25.4 Navigation Between Pages 25.5 JSF Components 25.6 APPLICATION A Three-Tier Application Appendix A The Basic Latin and Latin-1 Subsets of Unicode A-1 Appendix B Java Operator Summary A-5 Appendix C Java Reserved Word Summary A-7 Appendix D The Java Library A-9 Appendix E Java Language Coding Guidelines A-38 Appendix F Tool Summary Appendix G Number Systems Appendix H UML Summary Appendix I Java Syntax Summary Appendix J HTML Summary Glossary G-1 Index I-1 Credits C-1
£135.80
John Wiley & Sons Inc Beginning ReactJS Foundations Building User
Book SynopsisTable of ContentsIntroduction Xxvii Chapter 1: Hello, World! 1 React without a Build Toolchain 1 Interactive “Hello, World” with Create React App and JSX 7 Summary 9 Chapter 2: The Foundation of React 11 What’s in a Name? 11 UI Layer 12 Virtual DOM 13 The Philosophy of React 14 Thinking in Components 15 Composition vs. Inheritance 15 React Is Declarative 16 React Is Idiomatic 17 Why Learn React? 17 React vs.... 18 React vs. Angular 18 React vs. Vue 19 What React Is Not 19 React Is Not a Web Server 20 React Is Not a Programming Language 20 React Is Not a Database Server 21 React Is Not a Development Environment 21 React Is Not the Perfect Solution to Every Problem 21 Summary 21 Chapter 3: JSX 23 JSX Is Not HTML 23 What Is JSX? 30 How JSX Works 30 Transpiler . . . Huh? 31 Compilation vs. Transpilation 31 JSX Transform 31 Introducing Babel 31 Eliminating Browser Incompatibilities 33 Syntax Basics of JSX 33 JSX Is JavaScript XML 33 Beware of Reserved Words 33 JSX Uses camelCase 33 Preface Custom Attributes in DOM Elements with data-34 JSX Boolean Attributes 34 Use Curly Braces to Include Literal JavaScript 35 Remember to Use Double Curly Braces with Objects 35 Put Comments in Curly Braces 35 When to Use JavaScript in JSX 36 Conditionals in JSX 36 Conditional Rendering with if/else and Element Variables 36 Conditional Rendering with the && Operator 37 Conditional Rendering with the Conditional Operator 38 Expressions in JSX 38 Using Children in JSX 40 React Fragments 40 Summary 41 Chapter 4: All About Components 43 What Is a Component? 43 Components vs. Elements 44 Components Define Elements 44 Elements Invoke Components 45 Built-in Components 47 HTML Element Components 47 Attributes vs. Props 52 Passing Props 52 Accessing Props 52 Standard HTML Attributes 54 Non-Standard Attributes 56 Custom Attributes 56 User-Defined Components 56 Types of Components 56 Class Components 57 Stepping through a React Class Component 68 React.Component 68 Importing React.Component 68 The Class Header 69 The Constructor Function 69 Managing State in Class Components 71 The Render Function 73 Creating and Using Props 74 Function Components 76 What Are Function Components? 79 How to Write Function Components 79 Optimizations and Function Component Shortcuts 80 Managing State in Function Components 83 Differences between Function and Class Components 84 React Component Children 84 this.props.children 85 Manipulating Children 86 React.Children 86 isValidElement 87 cloneElement 87 The Component Lifecycle 89 Mounting 90 constructor() 90 static getDerivedStateFromProps 90 render 90 componentDidMount() 90 Updating 90 shouldComponentUpdate 91 getSnapshotBeforeUpdate 91 componentDidUpdate 92 Unmounting 92 componentWillUnmount 92 Error Handling 92 getDerivedStateFromError 92 componentDidCatch 92 Improving Performance and Avoiding Errors 92 Avoiding Memory Leaks 93 React.PureComponent 96 React.memo 97 React.StrictMode 98 Rendering Components 98 Rendering with ReactDOM 98 Virtual DOM 100 Other Rendering Engines 101 React Native 101 ReactDOMServer 102 React Konsul 103 react-pdf 103 Component Terminology 103 Summary 104 Chapter 5: React Devtools 105 Installation and Getting Started 105 Inspecting Components 107 Working with the Component Tree 108 Searching for Components 110 Using the Search Input Box 110 Using Regular Expressions 110 Filtering Components 112 Selecting Components 114 Editing Component Data in DevTools 114 Working with Additional DevTools Functionality 118 Profiling 119 Summary 121 Chapter 6: React Data Flow 123 One-Way Data Flow 123 Understanding One-Way Data Flow 124 Why One-Way Data Flow? 125 Props 126 Components Receive Props 126 Props Can Be Any Data Type 126 Props Are Read-Only 127 Validating Incoming Props with PropTypes 129 What Is PropTypes? 130 Getting Started with PropTypes 131 What Can PropTypes Validate? 133 Default Props 141 React State 145 What Is state? 146 Initializing state 146 Initializing state in Class Components 146 Initializing State in Function Components 147 The Difference between state and props 149 Updating state 149 Updating a Class Component’s state with setState 150 Updating state with Function Components 154 What to Put in State 161 Building the Reminders App 161 What Not to Put in State 168 Where to Put State 168 Lifting State Up 170 About the key Prop 177 Filtering the Reminders 183 Implementing the isComplete Changing Functionality 188 Converting to Class Components 190 Summary 198 Chapter 7: Events 199 How Events Work in React 199 What Is SyntheticEvent? 201 Using Event Listener Attributes 202 The Event Object 203 Supported Events 204 Event Handler Functions 211 Writing Inline Event Handlers 211 Writing Event Handlers in Function Components 212 Writing Event Handlers in Class Components 213 Binding Event Handler Functions 214 Using bind 215 Using Arrow Functions 216 Passing Data to Event Handlers 218 Summary 219 Chapter 8: Forms 221 Forms Have State 221 Controlled Inputs vs. Uncontrolled Inputs 222 Updating a Controlled Input 223 Controlling an Input in a Function Component 224 Controlling an Input in a Class Component 224 Lifting Up Input State 226 Using Uncontrolled Inputs 228 Using Different Form Elements 229 Controlling the Input Element 230 Controlling a textarea 230 Controlling a Select Element 231 Preventing Default Actions 231 Summary 232 Chapter 9: Refs 233 What Refs Are 233 How to Create a Ref in a Class Component 234 How to Create a Ref in a Function Component 234 Using Refs 234 Creating a Callback Ref 236 When to Use Refs 238 When Not to Use Refs 238 Examples 239 Managing Focus 239 Automatically Selecting Text 239 Controlling Media Playback 241 Setting Scroll Position 241 Summary 242 Chapter 10: Styling React 243 The Importance of Styles 243 Importing CSS into the HTML File 244 Using Plain Old CSS in Components 245 Writing Inline Styles 247 JavaScript Style Syntax 248 Why to Use Inline Styles 249 Why Not to Use Inline Styles 249 Improving Inline Styles with Style Modules 249 CSS Modules 250 Naming CSS Module Files 251 Advanced CSS Modules Functionality 252 Global Classes 252 Class Composition 252 CSS-in- JS and Styled Components 253 Summary 255 Chapter 11: Introducing Hooks 257 What Are Hooks? 257 Why Were Hooks Introduced? 257 Rules of Hooks 259 The Built-in Hooks 259 Managing State with useState 260 Setting the Initial State 262 Using the Setter Function 262 Passing a Value to a Setter 263 Passing a Function to a Setter 263 Setter Function Value Comparison 264 Hooking into the Lifecycle with useEffect 264 Using the Default useEffect Behavior 265 Cleaning Up After Effects 265 Customizing useEffect 266 Running Asynchronous Code with useEffect 270 Subscribing to Global Data with useContext 272 Combining Logic and State with useReducer 273 Memoized Callbacks with useCallback 275 Caching Computed Values with useMemo 278 Solving Unnecessary Renders 278 Solving Performance Problems 279 Accessing Children Imperatively with useRef 279 Customizing Exposed Values with useImperativeHandle 280 Updating the DOM Synchronously with useLayoutEffect 281 Writing Custom Hooks 281 Labeling Custom Hooks with useDebugValue 283 Finding and Using Custom Hooks 285 use-http 285 react-fetch-hook 286 axios-hooks 286 react-hook- form 286 @rehooks/local-storage 287 use-local- storage- state 287 Other Fun Hooks 288 Lists of Hooks 288 Summary 288 Chapter 12: Routing 289 What Is Routing? 289 How Routing Works in React 291 Using React Router 293 Installing and Importing react-router- dom 293 The Router Component 294 Selecting a Router 294 Using the Router Component 295 Linking to Routes 296 Internal Linking with Link 296 Internal Navigation with NavLink 298 Automatic Linking with Redirect 302 Creating Routes 302 Restricting Path Matching 304 Using URL Parameters 304 The component Prop 305 Render Props 306 Switching Routes 307 Rendering a Default Route 308 Routing with Redirect 308 Behind the Scenes: location, history, and match 309 The history Object 310 The location Object 313 The match Object 313 React Router Hooks 317 useHistory 317 useLocation 317 useParams 317 useRouteMatch 317 Summary 318 Chapter 13: Error Boundaries 319 The Best Laid Plans 319 What Is an Error Boundary? 320 Implementing an Error Boundary 323 Building Your Own ErrorBoundary Component 323 getDerivedStateFromErrors Is a Static Method 324 getDerivedStateFromErrors Runs During the Render Phase 325 getDerivedStateFromErrors Receives the Error as a Parameter 325 getDerivedStateFromErrors Should Return an Object for Updating State 325 Testing Your Boundary 326 Logging Errors with ComponentDidCatch() 327 Using a Logging Service 328 Resetting the State 333 Installing a Pre-Built ErrorBoundary Component 334 What Can’t an Error Boundary Catch? 336 Catching Errors in Error Boundaries with try/catch 336 Catching Errors in Event Handlers with react-error- boundary 337 Summary 338 Chapter 14: Deploying React 339 What Is Deployment? 339 Building an App 339 Running the build Script 340 Examining the build Directory 340 The Built index.html 341 The static Directory 342 asset-manifest. json 342 What’s in a Name? 343 How Is a Deployed App Different? 343 Development Mode vs. Production 343 Putting It on the Web 344 Web Server Hosting 344 Node Hosting 345 Deploying with Netlify 345 Enabling Routing with Netlify 347 Enabling Custom Domains and HTTPS 348 Summary 349 Chapter 15: Initialize a React Project from Scratch 351 Building Your Own Toolchain 351 Initializing Your Project 352 The HTML Document 352 The Main JavaScript File 353 The Root Component 353 Running in the Browser 354 How Webpack Works 357 Loaders 358 Plugins 358 Automating Your Build Process 358 Making an HTML Template 359 Development Server and Hot Reloading 360 Testing Tools 360 Installing and Configuring ESLint 360 ESLint Configuration 361 How to Fix Errors 362 Testing with Jest 363 Creating NPM Scripts 364 Structuring Your Source Directory 365 Grouping by File Type 366 Grouping by Features 367 Summary 367 Chapter 16: Fetching and Caching Data 369 Asynchronous Code: It’s All About Timing 369 JavaScript Never Sleeps 370 Where to Run Async Code in React 374 Ways to Fetch 376 Getting Data with Fetch 377 Getting Data with Axios 377 Using Web Storage 379 Two Types of Web Storage 379 When to Use Web Storage 380 When Not to Use Web Storage 380 Web Storage Is Synchronous 380 Working with localStorage 381 Storing Data with localStorage 381 Reading Data from localStorage 382 Removing Data from localStorage 384 Summary 385 Chapter 17: Context Api 387 What Is Prop Drilling? 387 How Context API Solves the Problem 388 Creating a Context 388 Creating a Provider 389 Consuming a Context 390 Using Context in a Class Component 390 Using Context in a Function Component 391 Common Use Cases for Context 391 When Not to Use Context 392 Composition as an Alternative to Context 392 Example App: User Preferences 396 Summary 398 Chapter 18: React Portals 399 What Is a Portal? 399 How to Make a Portal 399 Why Not Just Render Multiple Component Trees? 403 Common Use Cases 403 Rendering and Interacting with a Modal Dialog 404 Managing Keyboard Focus with Modals 409 Summary 411 Chapter 19: Accessibility in React 413 Why Is Accessibility Important? 413 Accessibility Basics 414 Web Content Accessibility Guidelines (WCAG) 414 Web Accessibility Initiative –Accessible Rich Internet Applications (WAI-ARIA) 415 Implementing Accessibility in React Components 415 ARIA Attributes in React 416 Semantic HTML 416 Form Accessibility 417 Focus Control in React 418 Skip Links 418 Managing Focus Programmatically 419 Media Queries in React 420 Media Queries in Included CSS 421 Using useMediaQuery 422 Summary 422 Chapter 20: Going Further 425 Testing 425 Mocha 426 Enzyme 426 Chai 427 Assert 427 Expect 428 Should 428 Karma 428 Nightwatch.js 428 Server-Side Rendering 429 Flux 430 Redux 430 GraphQL 432 Apollo 433 React Native 434 Next.js 434 Gatsby 434 People to Follow 435 Useful Links and Resources 435 Summary 436 Index 437
£30.39
John Wiley & Sons Inc Python For Everyone
Book SynopsisTable of ContentsPreface iii Special Features xviii 1 Introduction 1 1.1 Computer Programs 2 1.2 The Anatomy of a Computer 3 CS 1 Computers Are Everywhere 5 1.3 The Python Programming Language 5 1.4 Becoming Familiar with Your Programming Environment 6 PT 1 Interactive Mode 8 PT 2 Backup Copies 9 ST 1 The Python Interpreter 10 1.5 Analyzing Your First Program 11 1.6 Errors 13 CE 1 Misspelling Words 14 1.7 PROBLEM SOLVING: Algorithm Design 15 CS 2 Data Is Everywhere 17 HT 1 Describing an Algorithm with Pseudocode 18 WE 1 Writing an Algorithm for Tiling a Floor 20 2 Programming With Numbers and Strings 23 2.1 Variables 24 Defining Variables 24 Number Types 26 Variable Names 27 Constants 28 Comments 29 CE 1 Using Undefined Variables 30 PT 1 Choose Descriptive Variable Names 30 PT 2 Do Not Use Magic Numbers 30 2.2 Arithmetic 31 Basic Arithmetic Operations 31 Powers 32 Floor Division and Remainder 32 Calling Functions 33 Mathematical Functions 35 CE 2 Roundoff Errors 36 CE 3 Unbalanced Parentheses 37 PT 3 Use Spaces in Expressions 37 ST 1 Other Ways to Import Modules 38 ST 2 Combining Assignment and Arithmetic 38 ST 3 Line Joining 38 2.3 PROBLEM SOLVING: First Do It By Hand 39 WE 1 Computing Travel Time 40 2.4 Strings 41 The String Type 41 Concatenation and Repetition 42 Converting Between Numbers and Strings 43 Strings and Characters 44 String Methods 45 ST 4 Character Values 46 ST 5 Escape Sequences 47 CS 1 International Alphabets and Unicode 47 2.5 Input and Output 48 User Input 48 Numerical Input 49 Formatted Output 50 PT 4 Don’t Wait to Convert 53 HT 1 Writing Simple Programs 53 WE 2 Computing the Cost of Stamps 56 CS 2 Bugs in Silicon 58 2.6 GRAPHICS: Simple Drawings 58 Creating a Window 59 Lines and Polygons 60 Filled Shapes and Color 62 Ovals, Circles, and Text 64 HT 2 GRAPHICS: Drawing Graphical Shapes 65 TOOLBOX 1 Symbolic Processing with SymPy 68 3 Decisions 73 3.1 The if Statement 74 CE 1 Tabs 77 PT 1 Avoid Duplication in Branches 78 ST 1 Conditional Expressions 78 3.2 Relational Operators 79 CE 2 Exact Comparison of Floating-Point Numbers 82 ST 2 Lexicographic Ordering of Strings 82 HT 1 Implementing an if Statement 83 WE 1 Extracting the Middle 85 3.3 Nested Branches 87 PT 2 Hand-Tracing 89 CS 1 Dysfunctional Computerized Systems 90 3.4 Multiple Alternatives 91 TOOLBOX 1 Sending E-mail 93 3.5 PROBLEM SOLVING: Flowcharts 96 3.6 PROBLEM SOLVING: Test Cases 99 PT 3 Make a Schedule and Make Time for Unexpected Problems 100 3.7 Boolean Variables and Operators 101 CE 3 Confusing and and or Conditions 104 PT 4 Readability 104 ST 3 Chaining Relational Operators 105 ST 4 Short-Circuit Evaluation of Boolean Operators 105 ST 5 De Morgan’s Law 106 3.8 Analyzing Strings 106 3.9 APPLICATION: Input Validation 110 ST 6 Terminating a Program 112 ST 7 Interactive Graphical Programs 112 CS 2 Artificial Intelligence 113 WE 2 GRAPHICS: Intersecting Circles 113 TOOLBOX 2 Plotting Simple Graphs 117 4 Loops 125 4.1 The while Loop 126 CE 1 Don’t Think “Are We There Yet?” 130 CE 2 Infinite Loops 130 CE 3 Off-by-One Errors 131 ST 1 Special Form of the print Function 132 CS 1 The First Bug 132 4.2 PROBLEM SOLVING: Hand-Tracing 133 4.3 APPLICATION: Processing Sentinel Values 135 ST 2 Processing Sentinel Values with a Boolean Variable 138 ST 3 Redirection of Input and Output 138 4.4 PROBLEM SOLVING: Storyboards 139 4.5 Common Loop Algorithms 141 Sum and Average Value 141 Counting Matches 142 Prompting Until a Match is Found 142 Maximum and Minimum 142 Comparing Adjacent Values 143 4.6 The for Loop 145 PT 1 Count Iterations 148 HT 1 Writing a Loop 149 4.7 Nested Loops 152 WE 1 Average Exam Grades 155 WE 2 A Grade Distribution Histogram 157 4.8 Processing Strings 159 Counting Matches 159 Finding All Matches 160 Finding the First or Last Match 160 Validating a String 161 Building a New String 162 4.9 APPLICATION: Random Numbers and Simulations 164 Generating Random Numbers 164 Simulating Die Tosses 165 The Monte Carlo Method 165 WE 3 GRAPHICS: Bull’s Eye 167 4.10 GRAPHICS: Digital Image Processing 169 Filtering Images 170 Reconfiguring Images 172 4.11 PROBLEM SOLVING: Solve a Simpler Problem First 174 CS 2 Digital Piracy 180 5 Functions 183 5.1 Functions as Black Boxes 184 5.2 Implementing and Testing Functions 185 Implementing a Function 186 Testing a Function 186 Programs that Contain Functions 187 PT 1 Function Comments 189 PT 2 Naming Functions 190 5.3 Parameter Passing 190 PT 3 Do Not Modify Parameter Variables 191 CE 1 Trying to Modify Arguments 192 5.4 Return Values 192 ST 1 Using Single-Line Compound Statements 193 HT 1 Implementing a Function 194 WE 1 Generating Random Passwords 196 5.5 Functions Without Return Values 201 CS 1 Personal Computing 202 5.6 PROBLEM SOLVING: Reusable Functions 203 5.7 PROBLEM SOLVING: Stepwise Refinement 205 PT 4 Keep Functions Short 209 PT 5 Tracing Functions 210 PT 6 Stubs 211 WE 2 Calculating a Course Grade 211 WE 3 Using a Debugger 214 5.8 Variable Scope 219 PT 7 Avoid Global Variables 221 WE 4 GRAPHICS: Rolling Dice 221 5.9 GRAPHICS: Building an Image Processing Toolkit 224 Getting Started 224 Comparing Images 225 Adjusting Image Brightness 226 Rotating an Image 227 Using the Toolkit 228 WE 5 Plotting Growth or Decay 230 5.10 Recursive Functions (Optional) 232 HT 2 Thinking Recursively 234 TOOLBOX 1 Turtle Graphics 236 LISTS 245 6.1 Basic Properties of Lists 246 Creating Lists 246 Accessing List Elements 247 Traversing Lists 248 List References 249 CE 1 Out-of-Range Errors 250 PT 1 Use Lists for Sequences of Related Items 250 ST 1 Negative Subscripts 250 ST 2 Common Container Functions 251 CS 1 Computer Viruses 251 6.2 List Operations 252 Appending Elements 252 Inserting an Element 253 Finding an Element 254 Removing an Element 254 Concatenation and Replication 255 Equality Testing 256 Sum, Maximum, Minimum, and Sorting 256 Copying Lists 256 ST 3 Slices 258 6.3 Common List Algorithms 259 Filling 259 Combining List Elements 259 Element Separators 260 Maximum and Minimum 260 Linear Search 261 Collecting and Counting Matches 261 Removing Matches 262 Swapping Elements 263 Reading Input 264 WE 1 Plotting Trigonometric Functions 265 6.4 Using Lists with Functions 268 ST 4 Call by Value and Call by Reference 271 ST 5 Tuples 271 ST 6 Functions with a Variable Number of Arguments 272 ST 7 Tuple Assignment 272 ST 8 Returning Multiple Values with Tuples 273 TOOLBOX 1 Editing Sound Files 273 6.5 PROBLEM SOLVING: Adapting Algorithms 275 HT 1 Working with Lists 276 WE 2 Rolling the Dice 278 6.6 PROBLEM SOLVING: Discovering Algorithms by Manipulating Physical Objects 282 6.7 Tables 285 Creating Tables 286 Accessing Elements 287 Locating Neighboring Elements 287 Computing Row and Column Totals 288 Using Tables with Functions 289 WE 3 A World Population Table 290 ST 9 Tables with Variable Row Lengths 292 WE 4 GRAPHICS: Drawing Regular Polygons 293 7 Files and Exceptions 299 7.1 Reading and Writing Text Files 300 Opening a File 300 Reading from a File 301 Writing from a File 302 A File Processing Example 302 CE 1 Backslashes in File Names 303 7.2 Text Input and Output 304 Iterating over the Lines of a File 304 Reading Words 306 Reading Characters 308 Reading Records 309 ST 1 Reading the Entire File 312 ST 2 Regular Expressions 312 ST 3 Character Encodings 313 TOOLBOX 1 Working with CSV Files 314 7.3 Command Line Arguments 316 HT 1 Processing Text Files 319 WE 1 Analyzing Baby Names 322 TOOLBOX 2 Working with Files and Directories 325 CS 1 Encryption Algorithms 327 7.4 Binary Files and Random Access (Optional) 328 Reading and Writing Binary Files 328 Random Access 329 Image Files 330 Processing BMP Files 331 WE 2 GRAPHICS: Displaying a Scene File 334 7.5 Exception Handling 337 Raising Exceptions 338 Handling Exceptions 339 The finally Clause 341 PT 1 Raise Early, Handle Late 342 PT 2 Do Not Use except and finally in the Same try Statement 342 ST 4 The with Statement 343 TOOLBOX 3 Reading Web Pages 343 7.6 APPLICATION: Handling Input Errors 344 TOOLBOX 4 Statistical Analysis 348 WE 3 Creating a Bubble Chart 352 CS 2 The Ariane Rocket Incident 355 8 Sets and Dictionaries 357 8.1 Sets 358 Creating and Using Sets 358 Adding and Removing Elements 359 Subsets 360 Set Union, Intersection, and Difference 361 WE 1 Counting Unique Words 364 PT 1 Use Python Sets, Not Lists, for Efficient Set Operations 366 ST 1 Hashing 367 CS 1 Standardization 368 8.2 Dictionaries 368 Creating Dictionaries 369 Accessing Dictionary Values 370 Adding and Modifying Items 370 Removing Items 371 Traversing a Dictionary 372 ST 2 Iterating over Dictionary Items 374 ST 3 Storing Data Records 375 WE 2 Translating Text Messages 375 8.3 Complex Structures 378 A Dictionary of Sets 378 A Dictionary of Lists 381 ST 4 User Modules 383 WE 3 GRAPHICS: Pie Charts 384 TOOLBOX 1 Harvesting JSON Data from the Web 388 9 Objects and Classes 393 9.1 Object-Oriented Programming 394 9.2 Implementing a Simple Class 396 9.3 Specifying the Public Interface of a Class 399 9.4 Designing the Data Representation 401 PT 1 Make All Instance Variables Private, Most Methods Public 402 9.5 Constructors 402 CE 1 Trying to Call a Constructor 404 ST 1 Default and Named Arguments 404 9.6 Implementing Methods 405 PT 2 Define Instance Variables Only in the Constructor 407 ST 2 Class Variables 408 9.7 Testing a Class 409 HT 1 Implementing a Class 410 WE 1 Implementing a Bank Account Class 414 9.8 PROBLEM SOLVING: Tracing Objects 416 9.9 PROBLEM SOLVING: Patterns for Object Data 419 Keeping a Total 419 Counting Events 420 Collecting Values 420 Managing Properties of an Object 421 Modeling Objects with Distinct States 421 Describing the Position of an Object 422 9.10 Object References 423 Shared References 424 The None Reference 425 The self Reference 426 The Lifetime of Objects 426 CS 1 Electronic Voting 427 9.11 APPLICATION: Writing a Fraction Class 428 Fraction Class Design 428 The Constructor 429 Special Methods 430 Arithmetic Operations 432 Logical Operations 433 ST 3 Object Types and Instances 435 WE 2 GRAPHICS: A Die Class 436 CS 2 Open Source and Free Software 439 10 Inheritance 443 10.1 Inheritance Hierarchies 444 PT 1 Use a Single Class for Variation in Values, Inheritance for Variation in Behavior 447 ST 1 The Cosmic Superclass: object 447 10.2 Implementing Subclasses 449 CE 1 Confusing Super- and Subclasses 451 10.3 Calling the Superclass Constructor 452 10.4 Overriding Methods 455 CE 2 Forgetting to Use the super Function When Invoking a Superclass Method 458 10.5 Polymorphism 458 ST 2 Subclasses and Instances 461 ST 3 Dynamic Method Lookup 461 ST 4 Abstract Classes 462 CE 3 Don’t Use Type Tests 463 HT 1 Developing an Inheritance Hierarchy 463 WE 1 Implementing an Employee Hierarchy for Payroll Processing 468 10.6 APPLICATION: A Geometric Shape Class Hierarchy 472 The Base Class 472 Basic Shapes 474 Groups of Shapes 477 TOOLBOX 1 Game Programming 480 11 Recursion 489 11.1 Triangle Numbers Revisited 490 CE 1 Infinite Recursion 493 ST 1 Recursion with Objects 493 11.2 PROBLEM SOLVING: Thinking Recursively 494 WE 1 Finding Files 497 11.3 Recursive Helper Functions 498 11.4 The Efficiency of Recursion 499 11.5 Permutations 504 CS 1 The Limits of Computation 506 11.6 Backtracking 508 WE 2 Towers of Hanoi 512 11.7 Mutual Recursion 515 TOOLBOX 1 Analyzing Web Pages with Beautiful Soup 519 12 Sorting and Searching 525 12.1 Selection Sort 526 12.2 Profiling the Selection Sort Algorithm 528 12.3 Analyzing the Performance of the Selection Sort Algorithm 530 ST 1 Oh, Omega, and Theta 531 ST 2 Insertion Sort 532 12.4 Merge Sort 534 12.5 Analyzing the Merge Sort Algorithm 536 ST 3 The Quicksort Algorithm 538 CS 1 The First Programmer 540 12.6 Searching 541 Linear Search 541 Binary Search 542 12.7 PROBLEM SOLVING: Estimating the Running Time of an Algorithm 544 Linear Time 545 Quadratic Time 546 The Triangle Pattern 547 Logarithmic Time 548 PT 1 Searching and Sorting 549 ST 4 Comparing Objects 549 WE 1 Enhancing the Insertion Sort Algorithm 549 Appendix A Python Operator Summary A-1 Appendix B Python Reserved Word Summary A-3 Appendix C The Python Standard Library A-5 Appendix D The Basic Latin and Latin-1 Subsets of Unicode A-22 Appendix E Binary Numbers and Bit Operations* Appendix F HTML Summary* Glossary R-1 Index R-6 Credits R-22 Quick Reference R-23
£135.80
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
John Wiley & Sons Inc Teach Yourself VISUALLY Python
Book SynopsisA simple, straightforward, and hands-on roadmap to the world of computer programming with Python Teach Yourself VISUALLY: Python is your personal guide to getting you started in programming. As one of the world's most popularand most accessiblecoding languages, Python is your gateway into the wide and wonderful world of computer science. This hands-on guide walks you through Python step by clearly illustrated step, from writing your very first Python code in a terminal window or the VS Code app through to creating your own lists, dictionaries, and custom classes. In the book, you'll learn to: Install Python and the tools you need to work with it on Windows, macOS, and LinuxWork with files and folders, manipulate text, and create powerful functions that do exactly what you wantWrite clean code that makes decisions effectively, repeats actions as needed, and handles any errors that occur A must-have resource for aspiring programmers starting from the very beginning, Teach Yourself VISUALLY: Python is also an indispensable handbook for programmers making a transition from another language.Table of ContentsChapter 1 Getting Ready to Work with Python Understanding What Python Is and Does 4 Choose the Right Version of Python 6 Install Python on Windows 8 Install Python on the Mac 12 Install Python on Linux If Necessary 14 Learn About Development Tools for Python 16 Download and Install Visual Studio Code 20 Get Started with Visual Studio Code and Apply a Theme 22 Install Visual Studio Code Extensions for Python 24 Configure Visual Studio Code for Working with Python 26 Chapter 2 Writing and Running Your First Python Code Understanding the main() Function 30 Create and Save a New Script in Visual Studio Code 32 Write and Run Code in Visual Studio Code 34 Execute Python Commands in a Terminal Window 38 Run a Python Script in a Terminal Window 39 Understanding Comments in Python 40 Add Comments to Your Code 42 Grasp Importing Modules and Objects 44 Import Modules and Use Their Methods 48 Chapter 3 Getting Started with Variables Understanding Variables and Their Usage 52 Understanding Python’s Data Types 54 Work with Integers 58 Work with Floating‐Point Values 60 Work with Boolean Values 62 Work with Tuples 64 Work with Sets 66 Start Working with Strings 68 Start Working with Lists 70 Start Working with Dictionaries 72 Convert Data from One Type to Another 74 Chapter 4 Working with Files and Directories Understanding Working with Files and Directories 78 Load the os Module and List Files and Directories 80 Navigate Among Directories 82 Create and Delete Directories 84 Rename, Move, and Copy Files and Directories 88 Get Information About the User and System 92 Split a File Path into Its Components 94 Understanding Python’s open() Function 96 Understanding Python’s Ways of Closing Files 97 Open a File If It Exists; If Not, Create It 98 Check an Open File’s Status and Close It 100 Write Data to a File 102 Open a File for Both Reading and Writing 104 Append Data to a File 106 Read a Text File 108 Chapter 5 Working with Python’s Operators Meet the Arithmetic Operators 112 Work with the Arithmetic Operators 114 Meet the Assignment Operators 116 Work with the Assignment Operators 117 Meet the Comparison Operators 118 Work with the Comparison Operators 119 Meet the Logical Operators 120 Work with the Logical Operators 121 Meet the Identity Operators 122 Work with the Identity Operators 123 Meet the Membership Operators 124 Work with the Membership Operators 125 Meet the Bitwise Operators 126 Work with the Bitwise Operators 127 Chapter 6 Making Decisions with if Statements Learn the Essentials of if Statements 130 Understanding the if Statement 132 Create an if Statement 133 Understanding the if else Statement 134 Create an if else Statement 135 Understanding the if elif Statement 136 Create an if elif Statement 137 Understanding the if elif else Statement 138 Create an if elif else Statement 139 Understanding Nested if Statements 140 Create Nested if Statements 141 Chapter 7 Repeating Actions with Loops Understanding Python’s Loops 144 Understanding How for Loops Work 146 Create for Loops 148 Understanding How while Loops Work 150 Create while Loops 152 Understanding break Statements in Loops 154 Using a break Statement to Exit a Loop Early 155 Understanding continue Statements in Loops 156 Using a continue Statement in a Loop 157 Understanding else Statements in Loops 158 Using an else Statement in a Loop 159 Understanding Loop Nesting 160 Nest Loops to Create Complex Repetition 161 Chapter 8 Working with Functions Understanding Functions and Their Syntax 164 Understanding Function Parameters and Returns 166 Using Python’s Built‐In Functions 168 Create a Function with Parameters and a Return 172 Create a Function with a Parameter But No Return 173 Create a Function with No Parameters But a Return 174 Create a Function with No Parameters and No Return 176 Create a Function That Returns Multiple Values 177 Create a Function with Optional Parameters 178 Chapter 9 Working with Text Learn the Essentials of Strings 182 Create Single‐Line Strings 184 Create Multiline Strings 186 Meet Python’s String Methods 188 Return Information About a String 190 Transform and Clean Up a String 192 Return Part of a String via Slicing 194 Concatenate and Repeat Strings 196 Search for One String Inside Another String 198 Check and Change String Capitalization 200 Meet Python’s Tools for Building Strings 204 Build Strings with the Interpolation Operator 210 Build Strings with the .format Method 212 Build Strings with f‐Strings 214 Build Strings with Template Strings 216 Chapter 10 Handling Errors Understanding the Various Types of Errors 220 Identify Common Python Errors 222 Meet the try except Block 224 Cause Errors and Trap Exceptions 226 Raise an Exception Manually 228 Add an else Block or a finally Block 229 Create Nested try except Blocks 230 Create Custom Exceptions 232 Chapter 11 Working with Lists and Dictionaries Understanding Lists and Their Use 236 Create a List 238 Meet Python’s List Methods 239 Add Items to a List 240 Remove Items from a List 242 Locate Items and Access Data in a List 244 Sort the Items in a List 246 Understanding Dictionaries and Their Use 248 Create a Dictionary and Return Values 250 Meet Python’s Dictionary Methods 251 Create a Dictionary from an Existing Iterable 252 Add Key/Value Pairs to a Dictionary 254 Remove Key/Value Pairs from a Dictionary 256 Return Keys and Values from a Dictionary 258 Chapter 12 Working with Classes Understanding Classes and Instances 262 Create a Class and Instantiate Instances 264 Understanding Class and Instance Attributes 266 Set Class and Instance Attributes 268 Grasp Class, Instance, and Static Methods 270 Create an Instance Method 274 Create a Class Method 275 Create a Static Method 276 Review the Class’s Code 277 Index 278
£19.54
McGraw-Hill Education Introduction to Programming With Java A Problem
Book Synopsis
£170.80
John Wiley & Sons Java Illuminated
Book Synopsis
£74.99
Pearson Education Introduction to Programming Using Python An
Book SynopsisTable of Contents Chapter 1 An Introduction to Computing and Problem Solving Chapter 2 Core Objects, Variables, Input, and Output Chapter 3 Structures that Control Flow Chapter 4 Functions Chapter 5 Processing Data Chapter 6 Miscellaneous Topics Chapter 7 Object-Oriented Programming Chapter 8 Graphical User Interface Appendices Appendix A ASCII Values Appendix B Python Keywords Appendix C Installing Python and IDLE Answers Index
£65.99
Pearson Education Absolute Java Global Edition
Book SynopsisTable of Contents 1: GETTING STARTED 2: CONSOLE INPUT AND OUTPUT 3: FLOW OF CONTROL 4: DEFINING CLASSES I 5: DEFINING CLASSES II 6: ARRAYS 7: INHERITANCE 8 POLYMORPHISM AND ABSTRACT CLASSES 9: EXCEPTION HANDLING 10: FILE I/O 11: RECURSION 12: UML AND PATTERNS 13: INTERFACES AND INNER CLASSES 14: GENERICS AND THE ArrayList CLASS 15: LINKED DATA STRUCTURES 16: COLLECTIONS, MAPS AND ITERATORS 17: SWING I 18: SWING II 19: JAVA NEVER ENDS 20: APPLETS AND HTML Appendix 1 KEYWORDS Appendix 2 PRECEDENCE AND ASSOCIATIVITY RULES Appendix 3 ASCII CHARACTER SET Appendix 4 FORMAT SPECIFICATIONS FOR printf Appendix 5 SUMMARY OF CLASSES AND INTERFACES INDEX
£71.99
Pearson Education Limited Building Java Programs A Back to Basics Approach
Book SynopsisFor courses in Java Programming Layered, Back-to-Basics Approach to Java Programming This edition of Building Java Programs: A Back to Basics Approach uses a layered strategy to introduce Java programming and overcome the high failure rates that are common in introductory computer science courses. The authors' proven and class-tested back to basics approach introduces programming fundamentals first, with new syntax and concepts added over multiple chapters. Object-oriented programming is discussed only once students have developed a basic understanding of Java programming. Previous editions have established the text's reputation as an excellent choice for two-course sequences in introductory computer science, and new material in the 4th Edition incorporates concepts related to Java 8, functional programming, and image manipulation.Table of Contents 1. Introduction to Java Programming 2. Primitive Data and Definite Loops 3. Introduction to Parameters and Objects 4. Conditional Execution 5. Program Logic and Indefinite Loops 6. File Processing 7. Arrays 8. Classes 9. Inheritance and Interfaces 10. ArrayLists 11 Java Collections Framework 12. Recursion 13. Searching and Sorting 14. Stacks and Queues 15. Implementing a Collection Class 16. Linked Lists 17. Binary Trees 18. Advanced Data Structures 19. Functional Programming with Java Appendix A Java Summary Appendix B The Java API Specification and Javadoc Comments Appendix C Additional Java Syntax
£67.99
Pearson Education Limited Practice of Computing Using Python The Global
Book SynopsisTable of Contents I. Thinking About Computing 0. The Study of Computer Science II. Starting to Program 1. Beginnings 2. Control 3. Algorithms and Program Development III. Data Structures and Functions 4. Working with Strings 5. Functions-QuickStart 6. Files and Exceptions I 7. Lists and Tuples 8. More on Functions 9. Dictionaries and Sets 10. More Program Development IV. Classes, making your own Data Structure and Algorithms 12. More on Classes 13. Program Development with Classes V. Being a better programmer 14. Files and Exceptions II 15. Recursion: Another Control Mechanism 16. Other Fun Stuff with Python 17. The End, or Perhaps the Beginning
£68.39
Pearson Education Introduction to Java Programming Brief Version
Book SynopsisTable of Contents1. Introduction to Computers, Programs, and Java 2. Elementary Programming 3. Selections 4. Mathematical Functions, Characters, and Strings 5. Loops 6. Methods 7. Single-Dimensional Arrays 8. Multidimensional Arrays 9. Objects and Classes 10. Object-Oriented Thinking 11. Inheritance and Polymorphism 12. Exception Handling and Text I/O 13. Abstract Classes and Interfaces 14. JavaFX Basics 15. Event-Driven Programming and Animations 16. JavaFX UI Controls and Multimedia 17. Binary I/O 18. Recursion Appendixes Appendix A Java Keywords Appendix B The ASCII Character Set Appendix C Operator Precedence Chart Appendix D Java Modifiers Appendix E Special Floating-Point Values Appendix F Number Systems Appendix G Bitwise Operations Appendix H Regular Expressions Appendix I Enumerated Types
£68.79
Pearson Education Limited Starting Out with Python Global Edition
Book SynopsisTony Gaddis is the principal author of the Starting Out With series oftext books. Tony has two decades of experience teaching computer science courses, primarily at Haywood Community College. He is a highly acclaimed instructor who was previously selected as the North Carolina Community College Teacher of the Year and has received the Teaching Excellence award from the National Institute for Staff and Organizational Development. The Starting Out With series includes introductory books covering C++, JavaTM, Microsoft Visual Basic, Microsoft C#, Python, Programming Logic and Design, Alice, and App Inventor, all published by Pearson.Table of Contents 1. Introduction to Computers and Programming 2. Input,Processing, and Output 3. Decision Structures and Boolean Logic 4. Repetition Structures 5. Functions 6. Files and Exceptions 7. Lists and Tuples 8. More About Strings 9. Dictionaries and Sets 10. Classes and Object-Oriented Programming 11. Inheritance 12. Recursion 13. GUI Programming 14. Database Programming Appendix A: Installing Python Appendix B: Introductionto IDLE Appendix C: The ASCII Character Set Appendix D: Predefined Named Colors Appendix E: More About the import Statement Appendix F: Formatting Numeric Output with the format() Function Appendix G: Installing Modules with the pip Utility Appendix H: Answers toCheckpoints Index Credits
£63.64
Lulu.com Programming JAVA Java Programming JavaScript
Book Synopsis
£27.04
John Wiley & Sons Inc HTML CSS JavaScript AllinOne For Dummies
Book SynopsisTable of ContentsIntroduction 1 Book 1: Getting Started 5 Chapter 1: Getting Acquainted with HTML, CSS, and JavaScript 7 Chapter 2: Getting Ready to Code 39 Chapter 3: Finding and Setting Up a Web Host 47 Chapter 4: Testing and Validating Your Code 59 Book 2: Learning HTML Basics 77 Chapter 1: Building Good Bones: Structuring the Page 79 Chapter 2: Adding Links, Lists, and Other Text Tidbits 97 Chapter 3: Working with Images, Video, and other Media 123 Chapter 4: Building Tables with Your Bare Hands 143 Chapter 5: Using Forms to Make a Page Interactive 163 Chapter 6: Making Your Web Pages Accessible 181 Book 3: Learning CSS Basics 203 Chapter 1: Figuring Out the CSS Box Model 205 Chapter 2: Getting to Know the CSS Selectors 235 Chapter 3: Pseudo School: Learning Pseudo-Classes and Pseudo-Elements 251 Chapter 4: Making CSS Make Sense 287 Chapter 5: Taking the Measure of CSS 321 Chapter 6: Fancifying Pages with Colors and Backgrounds 337 Chapter 7: Taking Your Text Up a Notch with Web Typography 363 Book 4: Building Dynamic Pages with JavaScript 397 Chapter 1: JavaScript: The Bird’s-Eye View 399 Chapter 2: Understanding Variables 411 Chapter 3: Building Expressions 427 Chapter 4: Controlling the Flow of JavaScript 457 Chapter 5: Harnessing the Power of Functions 481 Chapter 6: Playing with the Document Object Model 513 Chapter 7: Working with Arrays 553 Chapter 8: Manipulating Strings, Dates, and Numbers 583 Chapter 9: Storing User Data in the Browser 617 Chapter 10: Debugging Your Code 627 Chapter 11: Processing Form Data 649 Book 5: Looking Good with Layouts 673 Chapter 1: Exploring Some Layout Basics 675 Chapter 2: Getting Fancy with Flexbox 703 Chapter 3: Laying Out a Page with CSS Grid 737 Chapter 4: Creating Responsive Layouts 765 Index 801
£23.24
John Wiley & Sons JavaScript Essentials For Dummies
Book SynopsisThe concise and digestible get-started guide to JavaScript programming JavaScript Essentials For Dummies is your quick reference to all the core concepts about JavaScriptthe dynamic scripting language that is often the final step in creating powerful websites. This no-nonsense book gets right to the point, eliminating review material, wordy explanations, and fluff. Find out all you need to know about the foundations of JavaScript, swiftly and crystal clear. Perfect for a brush-up on the basics or as an everyday desk reference on the job, this is the reliable little book you can always turn to for answers. Get a quick and thorough intro to the basic concepts of coding with JavaScriptReview what you've already learned or pick up essential new skillsAdd interactive features to websites with JavaScript programmingKeep this concise reference book handy for jogging your memory as you work This book is to the point, focusing on the key topics you need to know about this popular programming language. Great for supplementing classroom learning, reviewing for a certification, or staying knowledgeable on the job.
£11.69
Barcharts, Inc HTML 5 Programming
Book Synopsis
£7.55
Springer-Verlag Berlin and Heidelberg GmbH & Co. KG AdvancED CSS
Book SynopsisSo you think you know CSS? Take your CSS skills to the next level and learn to write organized and optimized CSS that will improve the maintainability, performance, and appearance of your work.You''ll learn how document flow and CSS positioning schemes will help you make your documents more accessible. You''ll discover the great styling possibilities of CSS paired with semantic structures like Microformats and RDFa, while enriching the self-describing semantics of XHTML content. Learn how to group logically related declarations, minify style sheets, and prevent performance bottle necks such as reflows and repaints. With support for CSS enjoying unprecedented ubiquity, you can finally use such features as generated content, complex selector chains, and CSS3''s visual properties, like box-shadow, in your projects.Table of Contents Markup Underpins CSS CSS Fundamentals for Advanced Use CSS-Generated Content Optimizing for Print Developing for Small Screens and the Mobile Web Managing and Organizing Style Sheets Semantic Patterns for Styling Common Design Components Using a Style Sheet Library Styling XML with CSS Optimizing CSS for Performance Exploring the Emergence of CSS3 The Future of CSS and the Web
£31.34
Springer-Verlag Berlin and Heidelberg GmbH & Co. KG Pro PHP Application Performance
Book SynopsisPro PHP Application Performance will help you understand all the technologies and components which play a role in how well your applications run. When seconds can mean the difference between retaining a user and losing a user, it''s important for all of us to have optimization as part of our project roadmap. But what components within your application should you analyze? How should you optimize? And how can you measure how well your application is performing? These are some of the questions thatare answered in this book. Along the way you will also learn the why of optimizing. You'll discover why you should optimize a specific component, why selecting one function over another is beneficial, and how to find and use the optimization tools available to the open source community. You'll also learn how to deploy caching software as well as web server software.Pro PHP Application Performance willalso teach you more advanced techniques, such as: Using XdebuTable of Contents Benchmarking Techniques Improving Client Download and Rendering Performance PHP Code Optimization Opcode Caching Variable Caching Choosing the Right Web Server Web Server and Delivery Optimization Database Optimization Installing Apache, MySQL, PHP, and PECL on Windows Installing Apache, MySQL, PHP, and PECL on Linux
£35.99
Springer-Verlag Berlin and Heidelberg GmbH & Co. KG Foundations of Python Network Programming
Book SynopsisThis second edition of Foundations of Python Network Programming targets Python 2.5 through Python 2.7, the most popular production versions of the language. Python has made great strides since Apress released the first edition of this book back in the days of Python 2.3. The advances required new chapters to be written from the ground up, and others to be extensively revised. You will learn fundamentals like IP, TCP, DNS and SSL by using working Python programs; you will also be able to familiarize yourself with infrastructure components like memcached and message queues. You can also delve into network server designs, and compare threaded approaches with asynchronous event-based solutions. But the biggest change is this edition''s expanded treatment of the web. The HTTP protocol is covered in extensive detail, with each feature accompanied by sample Python code. You can use your HTTP protocol expertise by studying an entire chapter on screen scraping and you can Table of Contents Introduction to Client/Server Networking UDP TCP Socket Names and DNS Network Data and Network Errors TLS and SSL Server Architecture Caches, Message Queues, and Map-Reduce HTTP Screen Scraping Web Applications E-mail Composition and Decoding SMTP POP IMAP Telnet and SSH FTP RPC
£49.49
Taylor & Francis Inc Managing Your Biological Data with Python
Book SynopsisTake Control of Your Data and Use Python with ConfidenceRequiring no prior programming experience, Managing Your Biological Data with Python empowers biologists and other life scientists to work with biological data on their own using the Python language. The book teaches them not only how to program but also how to manage their data. It shows how to read data from files in different formats, analyze and manipulate the data, and write the results to a file or computer screen. The first part of the text introduces the Python language and teaches readers how to write their first programs. The second part presents the basic elements of the language, enabling readers to write small programs independently. The third part explains how to create bigger programs using techniques to write well-organized, efficient, and error-free code. The fourth part on data visualization shows how to plot data and draw a figure for an article or slide pTrade Review“… a significant step forward … The book is cleverly designed to cover a wide range of subjects in a pleasant, easy-to-follow sequence of chapters. These have been carefully prepared so that the minimum level of interdependence is kept, making it possible to begin working at virtually any level without falling into intricate cross-references. A beginner will find the first chapters quite welcoming while a person with medium or even high levels of programming experience can easily find a suitable entry point in the middle.The book is written using an entertaining style that pushes the reader into a naturally built engaging experience … the authors have chosen a collection of underlying subject areas that cover a very wide variety of interests, ensuring that mixed audiences are kept engaged. In that sense, the content becomes adaptable to the wide diversity of learners that are found in today's communities of specialised biologists.… also usable as a reference guide, due to the richness of its worked examples that will prove valuable as seeds for code development for programmers at any level. … as a single book to support learning Python for problem solvers in the life sciences, this book is certainly a very smart choice. It is also ready for creative teachers to develop more in the same direction.”—Pedro L. Fernandes, Instituto Gulbenkian de Ciência"Having read Managing Your Biological Data with Python brings back memories of the times I started writing my first lines of code nearly a decade ago. As a beginning structural biologist without any coding experience, this book would have been a welcome companion to quickly get me started on my bioinformatical projects with Python. It is this, often pragmatic, attitude scientists have towards programming that makes Python the language of choice for many. A clear syntax, powerful build-in functions and a lively ecosystem of user contributed modules allow you to do advanced things with only little lines of code. The book introduces you to the basic principles of programming in Python using the many build-in functions. It does so using practical examples that you can start using right away in your day-to-day research.Python’s modular design principles could even be seen in the organization of this book. If you have never written a line of code in your life, the first chapters are indispensable to teach you basic coding principles but if you have some experience, you can safely skip these. I would however, recommend to read the ones introducing the build-in functions. It never hurts to refresh your memory on the many powerful build-ins Python actually has; I certainly forgot about one or two of them. Working your way through the first chapters will help you get comfortable with Python and lay the foundation for writing more advanced programs in the remaining chapters. These chapters introduce some of the powerful community contributed Python modules that make your life as a biologist a whole lot easier. Again, the example code introducing these modules is of high practical value and together with the coding recipes in the ‘cookbook’ chapter they provide a solid blueprint for you to build your own code upon. I’m confident that reading Managing Your Biological Data with Python will quickly allow you to get the most out of your data and start answering those trilling scientific questions you have, and do all of that while having fun. "—Marc van Dijk, Structural biologist, bioinformaticien, and eScience entrepreneur, Bijvoet Center for Biomolecular Research, Utrecht University, The Netherlands"For many biologists faced with computational challenges, Python has become the language of choice, due to its power, elegance, and simplicity. Managing Your Biological Data with Python by Allegra Via et al. teaches Python using biological examples and discusses important Python-driven applications, such as PyMol and Biopython. The book is an excellent resource for any biologist needing relevant programming skills."—Thomas Hamelryck, Associate Professor, Bioinformatics Center, University of Copenhagen, Denmark"Biological data volumes are growing rapidly as high-throughput technologies (e.g., DNA microarrays or DNA/RNA sequencing) improve. Managing and analyzing biological data are becoming more demanding and the application of programming techniques has simply become a standard. Managing Your Biological Data with Python is one of very few user-friendly books for biologists. It is amazing how clearly authors explain the possible applications of Python for data management (parsing data records, filtering and sorting data) and data visualization (also using the Python interface to R). The book also offers the description of modular programming, which is simply excellent! It guides readers from writing simple functions through writing classes to building program pipelines—everything according to Python coding standards and in an easy-to-follow way. This is absolutely the best book to start learning Python. Intermediate Python users can use this book to learn some new tricks that they could implement in their own code. I can highly recommend this book to researchers, students, and their lecturers."—Dr. Barbara Uszczynska, Centre de Regulació Genòmica (CRG), Barcelona, SpainTable of ContentsGetting Started: The Python Shell. Your First Python Program. Data Management: Analyzing a Data Column. Parsing Data Records. Searching Data. Filtering Data. Managing Tabular Data. Sorting Data. Pattern Matching and Text Mining. Modular Programming: Divide a Program into Functions. Managing Complexity with Classes. Debugging. Using External Modules: The Python Interface to R. Building Program Pipelines. Writing Good Programs. Data Visualization: Creating Scientific Diagrams. Creating Molecule Images with PyMOL. Manipulating Images. Biopython: Working with Sequence Data. Retrieving Data from Web Resources. Working with 3D Structure Data. Cookbook. Appendices.
£59.84
How Books Above the Fold Revised Edition
Book Synopsis
£24.00
O'Reilly Media Practical Jira Administration
Book SynopsisIf you're familiar with JIRA for issue tracking, bug tracking, and other uses, you know it can sometimes be tricky to set up and manage. In this concise book, software toolsmith Matt Doar answers difficult and frequently-asked questions about JIRA administration, and shows you how JIRA is intended to be used.
£14.39
O'Reilly Media Creating Channels with APIs
Book SynopsisMaking an API work to create a new channel is not just a matter of technology. An API must be considered in terms of business strategy, marketing, and operations as well as the technical aspects of programming.
£16.99
O'Reilly Media Programming Computer Vision with Python
Book SynopsisIf you want a basic understanding of computer vision's underlying theory and algorithms, this hands-on introduction is the ideal place to start. Programming Computer Vision with Python teaches computer vision in broad terms that won't bog you down in theory. Instead, you'll find this book to be inspiring and motivating.
£38.39
O'Reilly Media Bootstrap
Book SynopsisDiscover how easy it is to design killer interfaces and responsive websites with the Bootstrap framework. This practical book gets you started building pages with Bootstrap's HTML/CSS-based tools and design templates right away. You'll also learn how to extend your app with interactive features, using its suite of jQuery plugins.
£21.35
O'Reilly Media HTML5 Pocket Reference
Book SynopsisHTML5 Pocket Reference is the classic reference that web designers and developers have been keeping close at hand for more than thirteen years. This fifth edition has been updated to reflect the current state of HTML5, including the HTML5 Candidate Recommendation, the emerging HTML5.1 Working Draft, and the living WHATWG standard.
£16.99
O'Reilly Media Ruby Cookbook 2e
Book SynopsisUpdated to include Ruby 1.9 and 2.0, the second edition of Ruby Cookbook highlights the increasingly popular Ruby programming language. By including recipes for the Rails framework and other projects involving Ruby, this book will set the standard for the language in a variety of programming environments.
£31.99
O'Reilly Media Programming Google App Engine
Book SynopsisWith this updated edition of Programming Google App Engine, you'll get expert practical guidance that will help you make the best use of this powerful platform. Google engineer Dan Sanderson shows you how to design your applications for scalability, including ways to perform common development tasks using App Engine's APIs and scalable services.
£39.99
Apress Design Patterns in PHP and Laravel
Table of Contents1. Laravel Basics.- 2. Let’s Grow a SOLID Garden.- 3. Abstract Factory.- 4. Builder.- 5. Factory Method.- 6. Prototype.- 7. Singleton.- 8. Simple Factory Method.- 9. Adapter.- 10. Bridge.- 11. Composite.- 12. Decorator.- 13. Façade.- 14. Flyweight.- 15. Proxy.- 16. Chain of Responsibility.- 17. Command.- 18. Interpreter.- 19. Iterator.- 20. Mediator.- 21. Memento.- 22. Observer.- 23. State.- 24. Strategy.- 25. Template Method.- 26. Visitor.- 27. More Resources.
£49.49
APress The Definitive Guide to Squarespace
Book SynopsisUtilize the power of Squarespace to create custom professional websites. Learn the principles and tools used by Squarespace''s most successful web professionals to take your skills to the next level. Beginning with an overview of the Squarespace interface and template selection guidelines, this book shows you how the key web languages work together within Squarespace. You''ll also see how to use the Custom CSS Editor, Code Injections, and Code Blocks to customize Squarespace templates and how the Style Editor selections affect the template''s structure. Learn the accommodations that must be made in JavaScript for the customizations to work correctly in AJAX-based templates. Finally, discover what Developer Mode is, how to use it, and when to use it. The Definitive Guide to Squarespace is the only book you need to get up and running with Squarespace web development.What You''ll LearnChoose the right selectors for your CSS or JavaScripTable of Contents1. Introduction to Squarespace.- 2. Getting Started on Your Site.- 3. Styling Your Site.- 4. Site Settings and Best Practices.- 5. HTML, CSS, and JavaScript.- 6. Code Injectors – Adding Custom Code.- 7. AJAX and AJAX-based Squarespace templates.- 8. Popular Customizations.- 9. Respecting the Limits.- 10. Third Party Plugins.- 11. Developer Mode.
£58.49
APress Practical JSF in Java EE 8
Book SynopsisMaster the Java EE 8 and JSF (JavaServer Faces) APIs and web framework with this practical, projects-driven guide to web development. This book combines theoretical background with a practical approach by building four real-world applications. By developing these JSF web applications, you''ll take a tour through the other Java EE technologies such as JPA, CDI, Security, WebSockets, and more.In Practical JSF in Java EE 8, you will learn to use the JavaServer Faces web framework in Java EE 8 to easily construct a web-based user interface from a set of reusable components. Next, you add JSF event handling and then link to a database, persist data, and add security and the other bells and whistles that the Java EE 8 platform has to offer.After reading this book you will have a good foundation in Java-based web development and will have increased your proficiency in sophisticated Java EE 8 web development using the JSF framework.What You Will LearTable of ContentsPart I: TinyCalculator Project1. TinyCalculator2. Foundations3. JavaServer Faces4. Expression Language5. HTML Friendly Markup6. Configuration files7. Testing with Selenium8. Recap TinyCalculatorPart II: Books Project9. Preparing for Java EE 810. Introducing the Books Application11. Starting the Books App12. Java Persistence API13. JSF Templating14. Becoming International15. Bean Validation16. Contexts and Dependency Injection17. Conversation Scope18. Links19. Responsive Design20. Summary and PerspectivePart III: Intermezzo Project21. Intermezzo22. JSF Lifecycle revised23. Repetitive Structures23. JSF and BeanValidationPart IV: Alumni Project24. Alumni25. Validation26. Ajax27. Building Composite Components28. Secure Passwords29. Data Facade30. Activation Mail31. Cleanup (or Scheduled Tasks)32. Authentication and Authorization33. Account Handling34. Classroom Chat (WebSockets) 35. Changing Look and Feel36. Constants HandlingAfterwordAppendix AAppendix BAppendix CAppendix DAppendix E
£49.49
APress Introducing JavaScript Game Development
Book SynopsisLearn to build a fully-functional 2D game inspired by the 1979 Atari classic, Asteroids, using just HTML5, CSS and JavaScript. Developing games has never been easier than it is now. New web technology allows even beginner developers to turn their hand to game development. Developed from an undergraduate course module, Introducing JavaScript Game Development teaches each new technology as it is introduced so can be followed by enthusiastic beginners as well as intermediate coders. You will learn how to work with HTML5 and the canvas element, how to understand paths, how to draw to a design and create your spaceship and asteroids. You''ll then move on to animating your game, and finally building. You will work step-by-step through the game design process, starting with only what is necessary to complete each step, and refactoring the code as necessary along the way, reflecting the natural progression that code follows in the real world. Each chapter is designed to take youTable of ContentsSection 1. Drawing1. HTML5 and the Canvas Element2. Understand Paths3. Drawing to a Design4. Drawing a Spaceship5. Drawing an AsteroidSection 2. Animation6. Basic Animation7. Animating Asteroids8. Practicing Objects9. InheritanceSection 3. Building the Game10. Simple Keyboard Interaction11. Controlling the Ship12. Collision Detection13. Death or Glory
£33.99
APress Beginning Salesforce Developer
Book SynopsisGet started developing on the Force.com platform in no time. With step-by-step guidance, starting with setting up your developer environment and progressing through to deploying to production, you will learn industry best practices to release robust custom applications with tangible benefits to your company or your client.Geared specifically toward beginning developers, Beginning Salesforce Developer establishes a strong understanding of basic code constructs through examples. Rather than simply explaining how to use the platform, you will receive a comprehensive understanding of why, allowing you to address platform quirks and gotchas that might occur. The book also serves to lay the foundation for continuing on to Salesforce Developer Pro. What You''ll Learn Configure your Salesforce development environment Understand the Salesforce data model and query languages Create basic Apex triggersTable of Contents
£46.74
APress Developing Bots with Microsoft Bots Framework
Book Synopsis Develop Intelligent Bots using Microsoft Bot framework (C# and Node.js), Visual Studio Enterprise & Code, Microsoft Azure and Cognitive Services. This book shows you how to develop great Bots, publish to Azure and register with Bot portal so that customers can connect and communicate using famous communication channels like Skype, Slack, Web and Facebook. You''ll also learn how to build intelligence into Bots using Azure Cognitive Services like LUIS, OCR, Speech to Text and Web Search. Bots are the new face of user experience. Conversational User Interface provides many options to make user experience richer, innovative and engaging with email, text, buttons or voice as the medium for communication. Modern line of business applications can be replaced or associated with Intelligent Bots that can use data/history combined with Machine Intelligence to make user experience inclusive and exciting. Table of ContentsDeveloping Bots with Microsoft Bots Framework, Srikanth Machiraju Chapter 1: Conversations as Platforms Chapter 2: Developing Skype Bot using .NET Core Chapter 3: Developing Bots Using Node JS Chapter 4: ChannelsChapter 5: Bot Conversations Chapter 6: Skype Calling Bots Chapter 7: Storing State Chapter 8: Dialogs Chapter 9: Natural Language Processing Chapter 10: Azure Cognitive Services Chapter 11: Bot Operations
£35.99
APress CSS Framework Alternatives
Book SynopsisLearn how to use lightweight CSS framework alternatives to build intuitive websites. This book presents five project examples that use Skeleton, Miligram, UI Kit, Material Design Lite and Susy. This no-nonsense introduction will help you understand the concept of designing interactive websites using these frameworks with ease. Each framework is demonstrated through a practical project in an easy-to-understand manner. Web design is streamlined nowadays thanks to CSS frameworks and, although Bootstrap and Foundation rule the roost with web design, you don''t need an exhaustive framework like these for smaller websites.You''ll get a glimpse into additional front-end frameworks which basically are pre-prepared packages containing structure of files and folders of HTML and CSS documents (some with JavaScript functions) that help designers and developers build interactive and immersive websites. Table of Contents1. Choosing Lightweight Frameworks for Intuitive Web Design2. Building a Landing Page with Skeleton3. Building a Product Page with Milligram4. Introducing UI Kit5. Material Design Lite Explained6. Susy Explained
£18.99
APress Connecting Arduino to the Web
Book SynopsisCreate physical interfaces that interact with the Internet and web pages. With Arduino and JavaScript you can create interactive physical displays and connected devices that send data to or receive data from the web. You''ll take advantage of the processes needed to set up electronic components, collect data, and create web pages able to interact with electronic components.Through exercises, projects, and explanations, this book will give you the core front end web development and electronics skills needed to create connected physical interfaces and build compelling visualizations with a range of JavaScript libraries.By the end of the book you will have developed fully working interactive prototypes capable of sending data to and receiving data from a physical interface. Most importantly, Connecting Arduino to the Web will give you a taste of what is possible and the knowledge to create your own connected physical inteTable of ContentsConnecting Arduino to the WebChapter 1: Arduino’s, Circuits and ComponentsChapter 2: Creating a Web ServerChapter 3: Arduino to Front End Part IChapter 4: Introduction to Creating Web ContentChapter 5: Front End to ArduinoChapter 6: Arduino to Front End Part IIChapter 7: Visualizing DataChapter 8: Create a Web DashboardChapter 9: Physical Data Visualization with Live DataChapter 10: Creating a Game ControllerAppendix A: Arduino ResourcesAppendix B: More Front End Development
£49.49
APress Deep Learning for Natural Language Processing
Book SynopsisTable of ContentsChapter 1: Introduction to NLP and Deep LearningChapter Goal: Introduction of Deep Learning and NLP concepts, explanation of the evolution of deep learning and comparison of deep learning with other machine learning techniques in PythonNo of pages: 50-60Sub -Topics1. Deep Learning Framework - An overview2. Comparison with other machine learning techniques3. Why Python for Deep Learning4. Deep Learning Libraries5. NLP- An overview6. Introduction to Deep Learning for NLPChapter 2: Word Vector representationsChapter Goal: Introduction of basic and advanced word vector representationNo of pages: 50-60Sub - Topics 1. Overview of Simple Word Vector representations: word2vec, Glove2. Advanced word vector representations: Word Representations via Global Context and Multiple Word Prototypes3. Evaluation methods for unsupervised word embedding Chapter 3: Neural Networks and Back Propagation Chapter Goal: Neural Networks for named entity recognitionNo of pages: 50-60Sub - Topics: 1. Learning Representations by back propagating the errors2. Gradient checks, over-fitting, regularization, activation functions Chapter 4: Recurrent neural networks, GRU, LSTM, CNNChapter Goal: Deep Learning architectures like RNN, CNN, LSTM, and CNN in great details with proper examples of eachNo of pages: 70-80Sub - Topics: 1. Recurrent neural network based language model2. Introduction of GRU and LSTM3. Recurrent neural networks for different tasks4. CNN for object identificationChapter 5: Developing a ChatbotChapter Goal: Chatbots are artificial intelligence systems that we interact with via text or voice interface. Our aim is to develop and deploy a Facebook messenger Chatbot.No of pages: 50-60Sub - Topics: 1. Development of a simple closed context Chatbot2. Deployment using free server “Heroku”3. Integrating Seq2seq model with the Chatbot4. Integrating Image Identification model with the ChatbotChapter 6: Interaction of Reinforcement Learning and ChatbotChapter Goal: Detailed explanation of the Reinforcement Learning concept and one of the prevalent case studies/research paper on Reinforcement Learning applications for ChatbotNo of pages: 20-30Sub - Topics: 1. Introduction to Reinforcement Learning2. Present applications of Reinforcement Learning for Chatbot3. Detailed explanation of one of the research papers on applications of Reinforcement Learning for Chatbot
£46.74
APress Practical React Native
Book SynopsisDiscover how to use React Native in the real world, from scratch. This book shows you what React Native has to offer, where it came from, and where it''s going. You''ll begin with a solid foundation of practical knowledge, and then build on it immediately by constructing three different apps. You''ll learn how to use each feature of React Native by working on two full projects and one full game. These aren''t just simple React Native Hello World examples (although you''ll naturally start there!) but are apps that you can, if you so choose, install on your mobile devices and use for real. Throughout this book, you''ll gain real-world familiarity with React Native as well as supporting components from Expo, NativeBase, React Navigation and the Redux and Lodash libraries. You''ll also build server-side code for a mobile React Native app to talk to using the popular Node.js and Socket.io library, providing you a holistic view ofTable of Contents1. React Native: A Gentle Introduction 2. Getting to Know React Native 3. Restaurant Chooser, Part 1 4. Restaurant Chooser, Part 2 5. React Native Trivia, Part 1 6. React Native Trivia, Part 2 7. Time for Some Fun: A React Native Game, Part 1 8. Time for Some Fun: A React Native Game, Part 2
£49.49