Web programming Books
O'Reilly Media Ajax
Book SynopsisIs Ajax a new technology, or the same old stuff web developers have been using for years? Both, actually. This book demonstrates not only how tried-and-true web standards make Ajax possible, but how these older technologies allow you to give sites a decidedly modern Web 2.0 feel.
£29.99
O'Reilly Media RESTful Web Services Cookbook
Book SynopsisRESTful web services may be simpler, more versatile, and more scalable than web services built with SOAP or CORBA, but using the REST architecture is still no picnic. This title offers more than 50 recipes to help you solve common problems you're likely to face when designing and developing RESTful web services.
£23.99
O'Reilly Media Programming Windows Azure
Book SynopsisWindows Azure is Microsoft's cloud service platform. This title demonstrates how to use Azure's hosting capabilities and storage services to build, deploy, host and manage applications in the Microsoft cloud. It helps you learn understand how to use Windows Azure's programming model and management capabilities.
£29.99
O'Reilly Media Developing Large Web Applications
Book SynopsisPresents you with practical steps for building websites that remain effective as they add features, functions, and users. This book helps you learn the virtues of modularity, encapsulation, abstraction, and loosely coupled components; and get comprehensive coverage of issues involving HTML, CSS, PHP, JavaScript and Ajax, and database interaction.
£20.99
O'Reilly Media JavaScript Patterns
Book SynopsisNow that JavaScript plays such a key role in modern websites, programmers who once dismissed it as a language for amateurs find themselves immersed in JavaScript code. JavaScript Patterns identifies key problem areas you might face when working with the language, and provides design patterns and coding patterns as solutions.
£20.99
O'Reilly Media Introduction to Search with Sphinx
Book SynopsisWebmasters want fast and powerful search capabilities on their sites, and content management system administrators would like to reveal the wealth of their databases. The solution in both cases is the Sphinx search engine.
£19.19
O'Reilly Media Real World Instrumentation with Python
Book SynopsisThis book shows you how to develop applications instrumentation software with Python that lets you monitor or control devices in the physical world.
£32.99
John Wiley and Sons Ltd Programming for Linguists
Book SynopsisThis book is an introduction to the rudiments of Perl programming. It provides the general reader with an interest in language with the most usable and relevant aspects of Perl for writing programs that deal with language. Exposes the general reader with an interest in language to the most usable and relevant aspects of Perl for writing programs that deal with language. Contains simple examples and exercises that gradually introduce the reader to the essentials of good programming. Assumes no prior programming experience. Accompanied by exercises at the end of each chapter and offers all the code on the companion website: http://www.u.arizona.edu/~hammond Trade Review''Learning to program isn't really hard,' the author claims. Teaching good programming to linguists, however, or to arts and humanities students in general, isn’t really that easy a job either, in practice. This introductory book, clear and concise as it is, should be a helpful tool at the very first stages of such an enterprise." Kwee Tjoe Liong, Universiteit van Amsterdam "The really strong points of the book are the examples and exercises. These are almost all language-related and include useful, interesting and relevant questions and situations that the reader interested in language research will appreciate." New Zealand Studies in Applied Linguistics "Surprisingly readable...should be on the bookshelf of any discourse analysist even thinking about tinkering with using computers to automate some portion of their data analysis...the examples and exercises are excellent, as is [Hammond's] exegesis of the examples- slow without becoming tedious." Discourse StudiesTable of ContentsPreface. Acknowledgments. 1. Why Programming and Why Perl?. 2. Getting Started. 3. Basics: Control Structures And Variables. 4. Input and Output. 5. Subroutines And Modules. 6. Regular Expressions. 7. Text Manipulation. 8. HTML. 9. CGI. Appendix A. Objects. Appendix B. Tk. Appendix C. Special Variables. Appendix D. Where To Find Out More. Index.
£52.16
Pearson Education Python in 24 Hours Sams Teach Yourself
Book Synopsis
£26.24
Pearson Education AngularJS for .NET Developers in 24 Hours Sams
Book Synopsis
£29.99
Pearson Education (US) ASP.NET Core in 24 Hours Sams Teach Yourself
Book Synopsis Jeffrey T. Fritz is a long time web developer with ASP, ASP.NET, and now ASP.NET Core. He loves the challenge of building web applications that look amazing while at the same time performing like an installed application. The browser is his bane and his best friend, as he has built applications that work with every browser going back as far as Internet Explorer 4. Jeff is a senior program manager on the .NET team responsible for the creation of the ASP.NET Core and .NET Core frameworks, and has taught several thousands of developers how to build better applications with Microsoft's ASP.NET frameworks. Previously, he was a developer advocate for Telerik where he specialized in their AJAX Control Toolkit. Jeff's proposals and designs led to the development of dozens of controls that many developers use daily. Jeff holds a bachelor of science degree in Management Sciences and Information Systems from the Pennsylvania State UniversityTable of Contents Chapter 1: Introduction to ASP.NET Core Chapter 2: Setup Your Machine Chapter 3: Hello World - Reviewing the basic project template Chapter 4: Server-side Application Configuration: Project.json - defining the ASP.NET configuration Chapter 5: Server-side Application Configuration: Startup class - service configuration Chapter 6: Server-side Configuration: Config.json and configuration environment variables Chapter 7: Data Access - Entity Framework 7 Chapter 8: Beginning MVC Core - Concepts of the MVC architecture Chapter 9: Beginning MVC Core - Our first controller Chapter 10: Beginning MVC Core - Writing a view for Search Chapter 11: Beginning MVC Core - Scaffolding views Chapter 12: Beginning MVC Core - Writing data from a Controller Chapter 13: Beginning MVC Core - Web API Methods Chapter 14: Single-Page-Application Architecture - Introducing Angular 2 Chapter 15: Single-Page-Application Architecture - Interacting with server-side methods Chapter 16: Single-Page-Application Architecture - Routing Chapter 17: Configuration: Package.json - npm configuration Chapter 18: Configuration: bower.json - static file references from Bower Chapter 19: Configuration: gulpfile.js - Automating tasks Chapter 20: Security - Authentication configuration Chapter 21: Security - Authorization Chapter 22: Advanced MVC Core - Tag Helpers Chapter 23: Deployment to Production Chapter 24: ASP.NET Core and Docker Containers
£22.12
Pearson Education (US) PHP MySQL JavaScript All in One Sams Teach
Book SynopsisJulie C. Meloni is a technical consultant who has been developing web-based applications since the Web first saw the light of day. She has authored numerous books and articles on web-based programming and scripting languages and database topics, and you can find translations of her work in 18 different languages. Table of ContentsPart I: Web Application Basics CHAPTER 1: Understanding How the Web Works A Brief History of HTML and the World Wide Web Creating Web Content Understanding Web Content Delivery Selecting a Web Hosting Provider Testing with Multiple Web Browsers Creating a Sample File Using FTP to Transfer Files Understanding Where to Place Files on the Web Server CHAPTER 2: Structuring HTML and Using Cascading Style Sheets Getting Started with a Simple Web Page HTML Tags Every Web Page Must Have Using Hyperlinks in Web Pages Organizing a Page with Paragraphs and Line Breaks Organizing Your Content with Headings Understanding Semantic Elements How CSS Works A Basic Style Sheet A CSS Style Primer Using Style Classes Using Style IDs Internal Style Sheets and Inline Styles CHAPTER 3: Understanding the CSS Box Model and Positioning The CSS Box Model The Whole Scoop on Positioning Controlling the Way Things Stack Up Managing the Flow of Text Understanding Fixed Layouts Understanding Fluid Layouts Creating a Fixed/Fluid Hybrid Layout Considering a Responsive Web Design CHAPTER 4: Introducing JavaScript Learning Web Scripting Basics How JavaScript Fits into a Web Page Exploring JavaScript’s Capabilities Basic JavaScript Language Concepts JavaScript Syntax Rules Using Comments Best Practices for JavaScript Understanding JSON Using the JavaScript Console to Debug JavaScript CHAPTER 5: Introducing PHP How PHP Works with a Web Server The Basics of PHP Scripts Code Blocks and Browser Output Part II: Getting Started with Dynamic Websites CHAPTER 6: Understanding Dynamic Websites and HTML5 Applications Refresher on the Different Types of Scripting Displaying Random Content on the Client Side Understanding the Document Object Model Using window Objects Working with the document Object Accessing Browser History Working with the location Object More About the DOM Structure Working with DOM Nodes Creating Positionable Elements (Layers) Hiding and Showing Objects Modifying Text Within a Page Adding Text to a Page Changing Images Based on User Interaction Thinking Ahead to Developing HTML5 Applications CHAPTER 7: JavaScript Fundamentals: Variables, Strings, and Arrays Using Variables Understanding Expressions and Operators Data Types in JavaScript Converting Between Data Types Using String Objects Working with Substrings Using Numeric Arrays Using String Arrays Sorting a Numeric Array CHAPTER 8: JavaScript Fundamentals: Functions, Objects, and Flow Control Using Functions Introducing Objects Using Objects to Simplify Scripting Extending Built-in Objects Using the Math Object Working with Math Methods Working with Dates The if Statement Using Shorthand Conditional Expressions Testing Multiple Conditions with if and else Using Multiple Conditions with switch Using for Loops Using while Loops Using do…while Loops Working with Loops Looping Through Object Properties CHAPTER 9: Understanding JavaScript Event Handling Understanding Event Handlers Using Mouse Events Using Keyboard Events Using the load and unload Events CHAPTER 10: The Basics of Using jQuery Using Third-Party JavaScript Libraries jQuery Arrives on the Scene Preparing to Use jQuery Becoming Familiar with the $().ready Handler Selecting DOM and CSS Content Manipulating HTML Content Putting the Pieces Together to Create a jQuery Animation Handling Events with jQuery Part III: Taking Your Web Applications to the Next Level CHAPTER 11: AJAX: Remote Scripting Introducing AJAX Using XMLHttpRequest Creating a Simple AJAX Library Creating an AJAX Quiz Using the Library Debugging AJAX-Based Applications Using jQuery’s Built-in Functions for AJAX CHAPTER 12: PHP Fundamentals: Variables, Strings, and Arrays Variables Data Types Using Expressions and Operators Constants Understanding Arrays Creating Arrays Some Array-Related Constructs and Functions CHAPTER 13: PHP Fundamentals: Functions, Objects, and Flow Control Calling Functions Defining a Function Returning Values from User-Defined Functions Understanding Variable Scope Saving State Between Function Calls with the static Statement More About Arguments Testing for the Existence of a Function Creating an Object Object Inheritance Switching Flow Implementing Loops CHAPTER 14: Working with Cookies and User Sessions Introducing Cookies Setting a Cookie Deleting a Cookie Overview of Server-Side Sessions Working with Session Variables Destroying Sessions and Unsetting Session Variables Using Sessions in an Environment with Registered Users CHAPTER 15: Working with Web-Based Forms How HTML Forms Work Creating a Form Accepting Text Input Naming Each Piece of Form Data Labeling Each Piece of Form Data Grouping Form Elements Exploring Form Input Controls Using HTML5 Form Validation Submitting Form Data Accessing Form Elements with JavaScript Accessing Form Elements with PHP Using Hidden Fields to Save State in Dynamic Forms Sending Mail on Form Submission Part IV: Integrating a Database into Your Applications CHAPTER 16: Understanding the Database Design Process The Importance of Good Database Design Types of Table Relationships Understanding Normalization Following the Design Process CHAPTER 17: Learning Basic SQL Commands Learning the MySQL Data Types Learning the Table-Creation Syntax Using the INSERT Statement Using the SELECT Statement Using WHERE in Your Queries Selecting from Multiple Tables Using the UPDATE Statement to Modify Records Using the REPLACE Statement Using the DELETE Statement Frequently Used String Functions in MySQL Using Date and Time Functions in MySQL CHAPTER 18: Interacting with MySQL Using PHP MySQL or MySQLi? Connecting to MySQL with PHP Working with MySQL Data Part V: Getting Started with Application Development CHAPTER 19: Creating a Simple Discussion Forum Designing the Database Tables Creating an Include File for Common Functions Creating the Input Forms and Scripts Displaying the Topic List Displaying the Posts in a Topic Adding Posts to a Topic Modifying the Forum Display with JavaScript CHAPTER 20: Creating an Online Storefront Planning and Creating the Database Tables Displaying Categories of Items Displaying Items Using JavaScript with an Online Storefront CHAPTER 21: Creating a Simple Calendar Building a Simple Display Calendar Creating the Calendar in JavaScript CHAPTER 22: Managing Web Applications Understanding Some Best Practices in Web Application Development Writing Maintainable Code Implementing Version Control in Your Work Understanding the Value and Use of Code Frameworks Appendixes APPENDIX A: Installation QuickStart Guide with XAMPP APPENDIX B: Installing and Configuring MySQL APPENDIX C: Installing and Configuring Apache APPENDIX D: Installing and Configuring PHP
£28.47
Pearson Education Introduction to Programming in Java
Book Synopsis Robert Sedgewick is the William O. Baker Professor of Computer Science at Princeton University, where he was founding chairman of the Department of Computer Science. He has held visiting research positions at Xerox PARC, Institute for Defense Analyses, and INRIA, and served on the board of directors at Adobe Systems. His research interests include analytic combinatorics, design and analysis of algorithms and data structures, and program visualization. He has written seventeen books. Kevin Wayne is the Phillip Y. Goldman Senior Lecturer in Computer Science at Princeton University, where he has taught since 1998, earning several teaching awards. He is an ACM Distinguished Educator and holds a Ph.D. in operations research and industrial engineering from Cornell University. Table of Contents Programs viii Preface xi Chapter 1: Elements of Programming 1 1.1 Your First Program 2 1.2 Built-in Types of Data 14 1.3 Conditionals and Loops 50 1.4 Arrays 90 1.5 Input and Output 126 1.6 Case Study: Random Web Surfer 170 Chapter 2: Functions and Modules 191 2.1 Defining Functions 192 2.2 Libraries and Clients 226 2.3 Recursion 262 2.4 Case Study: Percolation 300 Chapter 3: Object-Oriented Programming 329 3.1 Using Data Types 330 3.2 Creating Data Types 382 3.3 Designing Data Types 428 3.4 Case Study: N-Body Simulation 478 Chapter 4: Algorithms and Data Structures 493 4.1 Performance 494 4.2 Sorting and Searching 532 4.3 Stacks and Queues 566 4.4 Symbol Tables 624 4.5 Case Study: Small-World Phenomenon 670 Context 715 Glossary 721 Index 729 APIs 751
£54.14
Microsoft Press,U.S. Exam Ref 70480 Programming in HTML5 with
Book SynopsisRick Delorme is a veteran technology architect and implementer. He has contributed to many book titles over the years to help professional developers take their knowledge to the next level. Table of Contents Chapter 1 Implement and manipulate document structures and objects Chapter 2 Implement program flow Chapter 3 Access and secure data Chapter 4 Use CSS3 in applications Answers
£26.54
Wiley Beginning Cryptography with Java
Book SynopsisBeginning Cryptography with Java While cryptography can still be a controversial topic in the programming community, Java has weathered that storm and provides a rich set of APIs that allow you, the developer, to effectively include cryptography in applications-if you know how. This book teaches you how.Table of ContentsAcknowledgments. Introduction. Chapter 1: The JCA and the JCE. Chapter 2: Symmetric Key Cryptography. Chapter 3: Message Digests, MACs, and HMACs. Chapter 4: Asymmetric Key Cryptography. Chapter 5: Object Description in Cryptography Using ASN.1. Chapter 6: Distinguished Names and Certificates. Chapter 7: Certificate Revocation and Path Validation. Chapter 8: Key and Certificate Management Using Keystores. Chapter 9: CMS and S/MIME. Chapter 10: SSL and TLS. Appendix A: Solutions to Exercises. Appendix B: Algorithms Provided by the Bouncy Castle Provider. Appendix C: Using the Bouncy Castle API for Elliptic Curve. Appendix D: Bibliography and Further Reading. Index.
£22.49
Bernard Babani Publishing Build Your Own Website with WordPress
Book Synopsis
£9.49
Sagehill Enterprises DocBook Xsl The Complete Guide 4th Edition
£999.99
SitePoint Pty Ltd The CSS3 Anthology Take Your Sites to New Heights 4e
£31.99
CRC Press Conquering JavaScript
Book SynopsisJavaScript has become the de facto standard when it comes to both web and cross-platform development. D3.js is an extremely popular JS framework, meant for rapid web and application development.Conquering JavaScript: D3.js helps the reader master the D3.js framework for faster and more robust development. This book is a detailed guide that will help developers and coders do more with D3.js. It discusses the basics in brief, and then moves on to more advanced and detailed exercises to help readers quickly gain the required knowledge.Key Features: Provides industry-specific case-based examples. Discusses visual implementation of D3.js for project work. Emphasizes how to write clean and maintainable code. This book is a valuable reference for D3.js developers as well as those involved in game development, mobile apps, progressive applications, and now even desktop apps.
£37.99
Taylor & Francis Ltd Geographic Data Science with Python
Book SynopsisThis book provides the tools, the methods, and the theory to meet the challenges of contemporary data science applied to geographic problems and data. In the new world of pervasive, large, frequent, and rapid data, there are new opportunities to understand and analyze the role of geography in everyday life. Geographic Data Science with Python introduces a new way of thinking about analysis, by using geographical and computational reasoning, it shows the reader how to unlock new insights hidden within data.Key Features:? Showcases the excellent data science environment in Python.? Provides examples for readers to replicate, adapt, extend, and improve.? Covers the crucial knowledge needed by geographic data scientists.It presents concepts in a far more geographic way than competing textbooks, covering spatial data, mapping, and spatial sTrade Review"The geospatial Python ecosystem is evolving rapidly, and until now there has been no one-stop reference for the geospatial programmer on data I/O, spatial analysis, and geovisualization. I will use this book in my teaching and will also recommend it to students as a book to keep on the shelf and use as a supplement to other courses, for independent projects, and for their future careers. I don't think there is anything quite like it in the market."-Professor Lee Hachadoorian, Temple University"Geographic Data Science with Python is an essential resource for data scientists looking to extend their skills into the geographic domain and for geographers looking to add data science skills. The book's approach achieves a highly effective balance between introducing theoretical concepts and applying them to practical examples. The book also serves as a guide to the modern open source spatial Python stack. The accompanying interactive Jupyter notebooks are great resources for running what-if scenarios to extend the concepts introduced in the book and for getting started with new projects. If you want to understand the unique properties of spatial data and how to apply them in creative ways using Python, this book is a must have."- David C. Folch, Associate Professor, Northern Arizona University"Three things will stand out after taking a close look at this book. First, the authors present a timely book that is like an encyclopedia of the emerging field of geographic data science. This book will aspire geographers with what data science can do in helping them answer questions with spatial data, and data scientists in providing critical spatial and methodological contexts of the data. For this reason, this book provides what the seemingly countless tutorials out there in the digital cloud cannot do: a wholistic view of the landscape that may often be daunting to grasp by both communities. Second, the core of this book comes from years of intensive software development of the authors. Their experience (and hard work) has made reading this book a treasure hunt -- not necessarily the challenging sort because you can find good stuff everywhere you turn. Lastly, this is an "open" book because of the Jupyter notebooks associated with this book that are ready to use and, more importantly, to extend to new problems and applications. Because of these features, this book transcends a traditional GIS textbook or how-to tech book and is highly recommended for anyone wishing to understand geographic data."- Ningchuan Xiao, Professor, The Ohio State UniversityTable of ContentsPart 1. Building Blocks 1. Geographic thinking for data scientists 2. Computational Tools for Geographic Data Science 3. Spatial Data 4. Spatial Weights Part 2. Spatial Data Analysis 5. Choropleth Mapping 6. Global Spatial Autocorrelation 7. Local Spatial Autocorrelation 8. Point Pattern Analysis Part 3. Advanced Topics 9. Spatial Inequality Dynamics 10. Clustering & Regionalization 11. Spatial Regression 12. Spatial Feature Engineering
£47.49
O'Reilly Media Multithreaded JavaScript
Book SynopsisThanks to language advancements such as web workers in the browser, JavaScript is now a multithreaded language. What does that mean for you? In this practical book, authors Thomas Hunter II and Bryan English explain JavaScript threads as a programming concept and tool.
£39.74
O'Reilly Media Learning Typescript
Book SynopsisLearning TypeScript takes beginner to intermediate JavaScript programmers from knowing nothing about "types" or a "type system" to full mastery of the fundamentals of TypeScript. It's more than a means to find bugs and typos--it's a useful system for declaring the way our JavaScript should work and helping us stick to it.
£38.39
O'Reilly Media Cloud Native Devops with Kubernetes 2e
Book Synopsis
£53.99
O'Reilly Media CSS The Definitive Guide
Book SynopsisIf you're a web designer or app developer interested in sophisticated page styling, improved accessibility, and less time and effort expended, this book is for you. This revised fifth edition provides a comprehensive guide to CSS implementation along with a thorough review of the latest CSS specifications.
£53.99
O'Reilly Media Flutter and Dart Cookbook
Book SynopsisTogether, the Flutter open source UI software development kit and the Dart programming language for client development provide a unified solution to building applications capable of targeting multiple platforms. Recipes in this cookbook show you how this potent combination provides an efficient approach to application development.
£42.39
O'Reilly Media PHP Cookbook
Book SynopsisIf you're a PHP developer looking for proven solutions to common problems, this cookbook provides code recipes to help you resolve a variety of coding issues.
£42.39
O'Reilly Media FullStack JavaScript Strategies
Book Synopsis
£42.39
O'Reilly Media Java in a Nutshell
Book SynopsisChock-full of examples that demonstrate how to take complete advantage of modern Java APIs and development best practices, this thoroughly revised book includes new material on recent enhancements to the Java object model that every developer should know about.
£42.39
O'Reilly Media Typescript Cookbook
Book SynopsisWith this practical guide, author Stefan Baumgartner provides senior engineers with solutions for everyday TypeScript problems. If you're conversant with TypeScript as well as JavaScript basics, this book provides actionable recipes to help you tackle a wide array of issues.
£42.39
O'Reilly Media Policy as Code
Book Synopsis
£47.99
O'Reilly Media Learning JavaScript Design Patterns
Book SynopsisDo you want to write beautiful, structured, and maintainable JavaScript by applying classical and modern design patterns to the language? Do you want clean, efficient, manageable code? Want to stay up-to-date with the latest best practices? If so, the updated second edition of Learning JavaScript Design Patterns is the ideal place to start.
£42.39
O'Reilly Media Web API Cookbook
Book Synopsis
£38.39
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 CSS3 Foundations
Book SynopsisMaster innovative and eye-catching website design with the exciting new Treehouse Series of books Turn plain words and images into stunning websites with CSS3 and this beautiful, full-color guide.Table of ContentsIntroduction 3 Who Should Read This Book? 1 What You Will Learn 1 How to Use This Book 2 Using This Book with Treehouse 2 Part 1: Introduction Chapter one Understanding CSS and the Modern Web 5 What Is the Modern Web? 5 What Is CSS? 6 The Role of CSS 6 Modern Browsers 10 Today’s Major Browsers 10 Browser Engines (Layout Engines) 11 Browser Usage Statistics 12 Older Browsers on the Modern Web 12 Tools for Building and Styling the Modern Web 15 Web Developer Tools 15 Text Editors 17 Summary 18 Chapter two Getting Started 19 Getting Started with the Project Files 20 Downloading the Project Files 20 Folder Structure and Good Practices 20 Understanding the HTML Template 22 Getting Started with CSS 30 Adding CSS to a Page 30 Using Media Types 31 Inline Styles 32 User Agent Stylesheets 33 Using a CSS Reset for Better Browser Consistency 34 Summary 38 Part 2: Learning CSS Syntax and Adding Presentational Styles Chapter three Mastering The Power of CSS Selectors 41 Writing Your First Styles 41 Inheritance and the Relationship Between Elements 44 Selectors 45 Universal Selector 45 Type Selector 45 ID and Class Selectors 46 Grouping Selectors 47 Combinators 48 Descendant Combinators 48 Child Combinators 49 Sibling Combinators 49 Attribute Selectors 50 Selecting Elements with an Attribute, Regardless of Its Value 51 Selecting Elements with Multiple Attributes 51 Other Attribute Selectors 51 Pseudo-Classes 52 Dynamic Pseudo-Classes 52 Structural Pseudo-Classes 53 The Target Pseudo-Class 56 The UI Element States Pseudo-Classes 56 The Language Pseudo-Class 57 The Negation Pseudo-Class 57 Pseudo-Elements 58 Selecting the First Line 58 Selecting the First Letter 58 Generating Content Before and After an Element 59 Selector Specificity and the Cascade 60 The !important Rule 61 Summary 62 Chapter four Creating Styles Using Property Values 63 Color Keywords 63 Color Values 64 RGB (Hexadecimal) 64 RGB (Integer Range) 67 RGBA 67 HSL and HSLA 68 Code Challenge: Add More Colors to the Page 69 Units 69 Percentages 70 Units of Length 70 Absolute Units 70 Relative Units 71 Other Units 75 Summary 76 Chapter five Adding Presentational Styles 77 Using Experimental Properties Safely 79 Borders 81 border-color 81 border-style 82 border-width 83 border (Shorthand) 83 border-radius 84 Border Images 86 border-image-source 86 border-image-slice 87 border-image-width 88 border-image-repeat 88 border-image-outset 89 border-image (Shorthand) 90 box-shadow 91 Code Challenge: Add More Border and Box Shadow Styles 93 Backgrounds 93 background-color 93 background-image 94 background-repeat 96 background-position 97 background-attachment 98 Applying Multiple Background Images 98 Background Gradients 99 Linear Gradients 100 background-clip 102 background-origin 104 background-size 105 background (Shorthand) 106 CSS Image Replacement 107 Code Challenge: Add More Background Properties 108 opacity 108 visibility 109 cursor 111 outline (Shorthand) 111 content 112 Summary 113 Part 3: Building a Solid and Adaptable Page Structure Chapter six Creating A Basic Page Structure 117 Structure Types 117 Fluid 118 Fixed 118 Hybrid Layout for Responsive Design 120 Fluid Images. 121 Adaptive Design 123 Mobile First Design 125 Summary 125 Chapter seven Creating Space and Understanding the Box Model 127 The Box Model 127 Using Web Developer Tools to Better Understand the Box Model 129 margin. 130 Code Challenge: Add More Margins to Elements 131 padding. 132 Code Challenge: Add More Padding to Elements 133 The Pitfall of the Box Model and Working Around It 134 box-sizing 136 Summary 139 Chapter eight Creating a Multicolumn Layout 141 float 142 clear 143 Floating Multicolumns 145 Code Challenge: Make the Footer Elements Float Side by Side 152 Summary 152 Chapter nine Understanding Display, Position, and Document Flow 153 Document Flow 153 display 155 block 155 Code Challenge: Make the Newsletter Labels Block-level 156 inline 157 inline-block 159 list-item 161 Displaying Tables 161 none 161 position, top, right, bottom, and left 162 static 162 relative 162 absolute 164 fixed 167 Code Challenge: Change the Position of the Quotes Around the Customer Testimonials Without Affecting the Flow 168 Using display, position, and z-index to Create a Drop-Down Menu. 169 z-index 173 Code Challenge: Apply z-index to Other Elements 174 vertical-align and Vertical Centering Techniques 175 vertical-align 175 Vertical Centering Techniques 177 The Fake Table Cells Technique 177 The Stretched Element Technique 179 The 50% Top Minus Half the Elements Height Technique 181 overflow 183 Summary 186 Part 4: Typography Chapter ten Changing the Font 189 Choosing a Web Safe Font Using font-family and Font Stacks 190 font-family 191 Applying Fonts Using @font-face 192 Font Licenses and Third-Party Font Services 194 Google Web Fonts 194 Other Font Services 198 Summary 198 Chapter eleven Styling Fonts and Text 199 Styling Fonts 199 font-style 200 font-variant 200 font-weight 201 font-size 202 Keywords 203 Percentages 203 Absolute Length Units 203 Relative Units 203 Percentages versus Ems 205 line-height 206 font (Shorthand) 207 Code Challenge: Change the Style of More Fonts 208 Styling Text 209 color 209 text-decoration 209 text-transform 210 text-shadow 211 letter-spacing 212 word-spacing 213 direction 213 text-align 213 text-indent 215 white-space 215 overflow-wrap and word-wrap 216 Code Challenge: Change the Style of Various Text Elements 217 Styling Lists 217 list-style-type 217 list-style-image 219 list-style-position 219 list-style (Shorthand) 220 Summary 220 Part 5: Taking It to the Next Level with Transforms and Animations Chapter twelve Adding 2D Transforms 223 Safely Using Experimental CSS3 Properties 223 transform and 2D Transform Functions 224 translate(), translateX(), and translateY() 225 rotate() 227 scale(), scaleX(), and scaleY() 228 skewX() and skewY() 228 matrix() 230 transform-origin 230 Summary 232 Chapter thirteen Going Beyond with 3D Transforms 233 perspective. 234 perspective-origin. 235 transform and 3D Transform Functions 235 translateZ() and translate3d() 235 rotateX(), rotateY(), rotateZ(), and rotate3d() 239 scaleZ() and scale3d() 241 Multiple 3D Transform Functions 243 transform-style 243 backface-visibility 245 Summary 246 Chapter fourteen Bringing Your Website to Life with Transitions and Animations 247 Animating Elements from A to B Using Transitions 247 transition-property 248 transition-duration 249 transition-timing-function 250 transition-delay 251 transition (Shorthand) 251 Making the Banner Transition Back to Its Normal State 252 Code Challenge: Make the Sidebar Sections Transition 253 Animating Elements from A to Z Using Keyframes 253 @keyframes 256 animation-name 258 animation-duration 258 animation-timing-function 259 animation-delay 260 animation-iteration-count 260 animation-direction 260 animation-play-state 261 animation-fill-mode 262 animation (Shorthand) 263 Creating a Cycling Image Showcase 264 Summary 267 Part 6: Preparing for Multiple Browsers and Devices Chapter fifteen Testing Across Multiple Browsers 271 Vendor Prefixing the Easy Way 272 Testing Modern Browsers 276 Firefox 13 and Safari 5 276 Opera 11 and 12 277 Internet Explorer 10 277 Internet Explorer 9 280 Firefox 3.6 280 Testing Older Versions of Internet Explorer 280 Internet Explorer 8. 280 Conditional Comments for Internet Explorer 6, 7, and 8 283 Universal Internet Explorer 6 Stylesheet 287 Summary 288 Chapter sixteen Making Your Website Look Great Across Multiple Devices 289 Using Opera Mobile Emulator 290 Scaling the Viewport on Mobile Devices 292 Using Media Queries 294 Using Logical Operators 295 And 295 Or 295 Not 296 Only 296 width 296 Applying Styles to Specific Media Features 296 height 298 device-width 298 device-height 299 orientation 299 aspect-ratio 299 device-aspect-ratio 299 color, color-index, monochrome, resolution, scan, and grid 300 Adding Media Queries to Cool Shoes & Socks 300 Media Queries for Mobile Devices 300 Media Queries for Tablets and Narrow-Size Desktop Browsers 307 Summary 311 Chapter seventeen Final Steps and Conclusion 313 Final Steps 313 Removing Production Code and Preparing to Go Live 314 Testing, Testing, Testing 315 Going Live! Uploading to a Web Server 315 The Future Web 315 Index 317
£19.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 HTML and CSS
Book SynopsisA full-color introduction to the basics of HTML and CSS from the publishers of Wrox! Every day, more and more people want to learn some HTML and CSS.Table of ContentsIntroduction 2 Chapter 1: Structure 12 Chapter 2: Text 40 Chapter 3: Lists 62 Chapter 4: Links 74 Chapter 5: Images 94 Chapter 6: Tables 126 Chapter 7: Forms 144 Chapter 8: Extra Markup 176 Chapter 9: Flash, Video & Audio 200 Chapter 10: Introducing CSS 226 Chapter 11: Color 246 Chapter 12: Text 264 Chapter 13: Boxes 300 Chapter 14: Lists, Tables & Forms 330 Chapter 15: Layout 358 Chapter 16: Images 406 Chapter 17: HTML5 Layout 428 Chapter 18: Process & Design 452 Chapter 19: Practical Information 476 Index 493
£30.40
John Wiley & Sons Inc Python Projects
Book SynopsisA guide to completing Python projects for those ready to take their skills to the next level Python Projects is the ultimate resource for the Python programmer with basic skills who is ready to move beyond tutorials and start building projects.Table of ContentsINTRODUCTION xxv CHAPTER 1: REVIEWING CORE PYTHON 1 Exploring the Python Language and the Interpreter 2 Reviewing the Python Data Types 3 Numeric Types: Integer and Float 4 The Boolean Type 5 The None Type 6 Collection Types 6 Strings 7 Bytes and ByteArrays 8 Tuples 10 Lists 10 Dictionaries 12 Sets 13 Using Python Control Structures 15 Structuring Your Program 15 Using Sequences, Blocks and Comments 16 Selecting an Execution Path 17 Iteration 18 Handling Exceptions 20 Managing Context 21 Getting Data In and Out of Python 21 Interacting with Users 21 Using Text Files 23 Extending Python 24 Defining and Using Functions 24 Generator Functions 26 Lambda Functions 27 Defining and Using Classes and Objects 28 Creating and Using Modules and Packages 33 Using and Creating Modules 33 Using and Creating Packages 34 Creating an Example Package 36 Using Third‐Party Packages 42 Summary 43 CHAPTER 2: SCRIPTING WITH PYTHON 47 Accessing the Operating System 48 Obtaining Information about Users and Their Computer 49 Obtaining Information about the Current Process 53 Managing Other Programs 55 Managing Subprocesses More Effectively 58 Obtaining Information about Files (and Devices) 60 Navigating and Manipulating the File system 62 Plumbing the Directory Tree Depths 69 Working with Dates and Times 72 Using the time Module 72 Introducing the datetime Module 75 Introducing the calendar Module 76 Handling Common File Formats 76 Using Comma‐Separated Values 76 Working with Confi g Files 83 Working with XML and HTML Files 86 Parsing XML Files 86 Parsing HTML Files 89 Accessing Native APIs with ctypes and pywin32 93 Accessing the Operating System Libraries 94 Using ctypes with Windows 95 Using ctypes on Linux 96 Accessing a Windows Application Using COM 96 Automating Tasks Involving Multiple Applications 98 Using Python First 98 Using Operating System Utilities 98 Using Data Files 98 Using a Third‐Party Module 99 Interacting with Subprocesses via a CLI 99 Using Web Services for Server‐Based Applications 99 Using a Native Code API 100 Using GUI Robotics 100 Summary 100 CHAPTER 3: MANAGING DATA 103 Storing Data Using Python 104 Using DBM as a Persistent Dictionary 104 Using Pickle to Store and Retrieve Objects 109 Accessing Objects with shelve 111 Analyzing Data with Python 116 Analyzing Data Using Built‐In Features of Python 116 Analyzing Data with ittertools 119 Utility Functions 119 Data Processing Functions 121 Taming the Vagaries of groupby() 122 Using itertools to Analyze LendyDB Data 124 Managing Data Using SQL 125 Relational Database Concepts 126 Structured Query Language 127 Creating Tables 128 Inserting Data 129 Reading Data 130 Modifying Data 133 Linking Data across Tables 134 Digging Deeper into Data Constraints 134 Revisiting SQLite Field Types 135 Modeling Relationships with Constraints 136 Many‐to‐Many Relationships 140 Migrating LendyDB to an SQL Database 143 Accessing SQL from Python 143 Using SQL Connections 143 Using a Cursor 143 Creating the LendyDB SQL Database 145 Inserting Test Data 146 Creating a LendyDB API 148 Exploring Other Data Management Options 154 Client‐Server Databases 154 NoSQL 155 The Cloud 155 Data Analysis with RPy 156 Summary 157 CHAPTER 4: BUILDING DESKTOP APPLICATIONS 161 Structuring Applications 162 Building Command-Line Interfaces 164 Building the Data Layer 164 Building the Core Logic Layer 165 Building the User Interface 169 Using the cmd Module to Build a Command-Line Interface 173 Reading Command-Line Arguments 175 Jazzing Up the Command-Line Interface with Some Dialogs 177 Programming GUIs with Tkinter 181 Introducing Key GUI Principles 181 Event‐Based Programming 181 GUI Terminology 182 The Containment Tree 183 Building a Simple GUI 184 Building a Tic‐Tac‐Toe GUI 186 Sketching a UI Design 186 Building Menus 187 Building a Tic‐Tac‐Toe Board 188 Connecting the GUI to the Game 190 Extending Tkinter 194 Using Tix 194 Using ttk 198 Revisiting the Lending Library 199 Exploring Other GUI Toolkits for Python 206 wxPython 207 PyQt 207 PyGTK 208 Native GUIs: Cocoa and PyWin32 209 Dabo 209 Storing Local Data 210 Storing Application‐Specific Data 210 Storing User‐Selected Preferences 211 Storing Application State 212 Logging Error information 212 Understanding Localization 214 Using Locales 214 Using Unicode in Python 216 Using gettext 218 Summary 220 CHAPTER 5: PYTHON ON THE WEB 223 Python on the Web 224 Parts of a Web Application 225 The Client‐Server Relationship 226 Middleware and MVC 226 HTTP Methods and Headers 227 What Is an API? 230 Web Programming with Python 235 Using the Python HTTP Modules 235 Creating an HTTP Server 235 Exploring the Flask Framework 237 Creating Data Models in Flask 238 Creating Core Flask Files 239 More on Python and the Web 247 Static Site Generators 248 Web Frameworks 248 Using Python across the Wire 248 XML‐RPC 249 Socket Servers 250 More Networking Fun in Python 253 Summary 254 CHAPTER 6: PYTHON IN BIGGER PROJECTS 257 Testing with the Doctest Module 258 Testing with the Unittest Module 262 Test‐Driven Development in Python 267 Debugging Your Python Code 267 Handling Exceptions in Python 272 Working on Larger Python Projects 276 Releasing Python Packages 280 Summary 282 CHAPTER 7: EXPLORING PYTHON’S FRONTIERS 285 Drawing Pictures with Python 286 Using Turtle Graphics 286 Using GUI Canvas Objects 286 Plotting Data 287 Using imghdr 287 Introducing Pillow 287 Trying Out ImageMagick 287 Doing Science with Python 288 Introducing SciPy 288 Doing Bioscience with Python 290 Using GIS 290 Watching Your Language 290 Getting It All 290 Playing Games with Python 291 Enriching the Experience with PyGame 291 Exploring Other Options 291 Going to the Movies 292 The Computer Graphics Kit 292 Modeling and Animation 292 Photo Processing 292 Working with Audio 293 Integrating with Other Languages 293 Jython 293 IronPython 294 Cython 294 Tcl/Tk 295 Getting Physical 296 Introducing Serial Options 296 Programming the RaspberryPi 296 Talking to the Arduino 297 Exploring Other Options 297 Building Python 298 Fixing Bugs 298 Documenting 298 Testing 299 Adding Features 299 Attending Conferences 299 Summary 299 APPENDIX A: ANSWERS TO EXERCISES 303 Chapter 1 Solutions 303 Chapter 2 Solutions 305 Chapter 3 Solutions 306 Chapter 4 Solutions 311 Chapter 5 Solutions 315 Chapter 6 Solutions 316 Chapter 7 Solutions 317 APPENDIX B: PYTHON STANDARD MODULES 319 APPENDIX C: USEFUL PYTHON RESOURCES 327 Asking Questions: Mailing Lists and More 327 Reading Blogs 328 Studying Tutorials and References 328 Watching Videos 329 And Now for Something Completely Different… 329 REFERENCES 331 INDEX 333
£27.75
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
Wiley Big Java 6e Binder Ready Version High School
Book Synopsis
£146.44
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