ORPP logo

Reliable JavaScript : (Record no. 101327)

MARC details
000 -LEADER
fixed length control field 11122nam a22005053i 4500
001 - CONTROL NUMBER
control field EBC4040657
003 - CONTROL NUMBER IDENTIFIER
control field MiAaPQ
005 - DATE AND TIME OF LATEST TRANSACTION
control field 20240729130043.0
006 - FIXED-LENGTH DATA ELEMENTS--ADDITIONAL MATERIAL CHARACTERISTICS
fixed length control field m o d |
007 - PHYSICAL DESCRIPTION FIXED FIELD--GENERAL INFORMATION
fixed length control field cr cnu||||||||
008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION
fixed length control field 240724s2015 xx o ||||0 eng d
020 ## - INTERNATIONAL STANDARD BOOK NUMBER
International Standard Book Number 9781119028741
Qualifying information (electronic bk.)
020 ## - INTERNATIONAL STANDARD BOOK NUMBER
Canceled/invalid ISBN 9781119028727
035 ## - SYSTEM CONTROL NUMBER
System control number (MiAaPQ)EBC4040657
035 ## - SYSTEM CONTROL NUMBER
System control number (Au-PeEL)EBL4040657
035 ## - SYSTEM CONTROL NUMBER
System control number (CaPaEBR)ebr11113780
035 ## - SYSTEM CONTROL NUMBER
System control number (CaONFJC)MIL809578
035 ## - SYSTEM CONTROL NUMBER
System control number (OCoLC)927509175
040 ## - CATALOGING SOURCE
Original cataloging agency MiAaPQ
Language of cataloging eng
Description conventions rda
-- pn
Transcribing agency MiAaPQ
Modifying agency MiAaPQ
050 #4 - LIBRARY OF CONGRESS CALL NUMBER
Classification number QA76.73.J39 -- .S646 2015eb
082 0# - DEWEY DECIMAL CLASSIFICATION NUMBER
Classification number 005.2/762
100 1# - MAIN ENTRY--PERSONAL NAME
Personal name Spencer, Lawrence D.
245 10 - TITLE STATEMENT
Title Reliable JavaScript :
Remainder of title How to Code Safely in the World's Most Dangerous Language.
250 ## - EDITION STATEMENT
Edition statement 1st ed.
264 #1 - PRODUCTION, PUBLICATION, DISTRIBUTION, MANUFACTURE, AND COPYRIGHT NOTICE
Place of production, publication, distribution, manufacture Newark :
Name of producer, publisher, distributor, manufacturer John Wiley & Sons, Incorporated,
Date of production, publication, distribution, manufacture, or copyright notice 2015.
264 #4 - PRODUCTION, PUBLICATION, DISTRIBUTION, MANUFACTURE, AND COPYRIGHT NOTICE
Date of production, publication, distribution, manufacture, or copyright notice ©2015.
300 ## - PHYSICAL DESCRIPTION
Extent 1 online resource (530 pages)
336 ## - CONTENT TYPE
Content type term text
Content type code txt
Source rdacontent
337 ## - MEDIA TYPE
Media type term computer
Media type code c
Source rdamedia
338 ## - CARRIER TYPE
Carrier type term online resource
Carrier type code cr
Source rdacarrier
505 0# - FORMATTED CONTENTS NOTE
Formatted contents note Intro -- Reliable JavaScript® -- Contents -- Introduction -- Part I: Laying a Solid Foundation -- Chapter 1: Practicing Skillful Software -- Writing Code That Starts Correct -- Mastering the Features of JavaScript -- Case Study: D3.js -- JavaScript Is Single-Threaded -- Avoiding JavaScript's Pitfalls in Larger Systems -- Scripts Are Not Modules -- Nested Functions Control Scope -- Coding by Contract -- Applying the Principles of Software Engineering -- The SOLID Principles -- The DRY Principle -- Writing Code That Stays Correct -- Investing for the Future with Unit Tests -- Practicing Test-Driven Development -- Engineering Your Code to Be Easy to Test -- Summary -- Chapter 2: Tooling Up -- Using a Testing Framework -- Identifying Incorrect Code -- Designing for Testability -- Writing the Minimum Required Code -- Safe Maintenance and Refactoring -- Runnable Specification -- Current Open-Source and Commercial Frameworks -- QUnit -- D.O.H. -- Introducing Jasmine -- Suites and Specs -- Expectations and Matchers -- Spies -- Using a Dependency-Injection Framework -- What Is Dependency Injection? -- Making Your Code More Reliable with Dependency Injection -- Mastering Dependency Injection -- Case Study: Writing a Lightweight Dependency-Injection Framework -- Using a Dependency-Injection Framework -- Current Dependency-Injection Frameworks -- RequireJS -- AngularJS -- Using an Aspect Toolkit -- Case Study: Caching with and without AOP -- Implementing Caching without AOP -- Making Your Code More Reliable with AOP -- Case Study: Building the Aop.js Module -- Other AOP Libraries -- AspectJS -- AopJS jQuery Plugin -- YUI's Do Class -- Conclusion -- Using a Code-Checking Tool -- Making Your Code More Reliable with Linting Tools -- Introducing JSHint -- Using JSHint -- If You Don't Run It, Bugs Will Come -- Alternatives to JSHint -- JSLint -- ESLint.
505 8# - FORMATTED CONTENTS NOTE
Formatted contents note Strict Mode -- Summary -- Chapter 3: Constructing Reliable Objects -- Using Primitives -- Using Object Literals -- Using the Module Pattern -- Creating Modules-at-Will -- Creating Immediate-Execution Modules -- Creating Reliable Modules -- Using Object Prototypes and Prototypal Inheritance -- The Default Object Prototype -- Prototypal Inheritance -- Prototype Chains -- Creating Objects with New -- The new Object Creation Pattern -- Potential for Bad Things to Happen -- Enforcing the Use of new -- Using Classical Inheritance -- Emulating Classical Inheritance -- Repetition Killed the Kangaroo -- Using Functional Inheritance -- Monkey-Patching -- Summary -- Part II: Testing Pattern-Based Code -- Chapter 4: Reviewing the Benefits of Patterns -- Case Study -- Producing More Elegant Code by Using a Broader Vocabulary -- Producing Reliable Code with Well-Engineered, Well-Tested Building Blocks -- Summary -- Chapter 5: Ensuring Correct Use of the Call back Pattern -- Understanding the Pattern Through Unit Tests -- Writing and Testing Code That Uses Callback Functions -- Writing and Testing Callback Functions -- Avoiding Problems -- Flattening the Callback Arrow -- Minding this -- Summary -- Chapter 6: Ensuring Correct Use of the Promise Pattern -- Understanding Promises Through Unit Tests -- Using a Promise -- Constructing and Returning a Promise -- Testing an XMLHttpRequest -- Chaining Promises -- Using a Promise Wrapper -- Understanding States and Fates -- Distinguishing Standard Promises from jQuery Promises -- Summary -- Chapter 7: Ensuring Correct Use of Partial Function Application -- Unit-Testing a Partial Function Application -- Creating an Aspect for Partial Function Application -- Distinguishing Between Partial Function Application and Currying -- Currying -- Partial Function Application -- Summary.
505 8# - FORMATTED CONTENTS NOTE
Formatted contents note Chapter 8: Ensuring Correct Use of the Memoization Pattern -- Understanding the Pattern Through Unit Tests -- Adding Memoization with AOP -- Creating the Memoization Aspect -- Applying the returnValueCache Aspect to restaurantApi -- Summary -- Chapter 9: Ensuring Correct Implementation of the Singleton Pattern -- Understanding the Pattern Through Unit Tests -- Implementing a Singleton Shared Cache with an Object Literal -- Implementing a Singleton Shared Cache with a Module -- Summary -- Chapter 10: Ensuring Correct Implementation of the Factory Pattern -- Writing Unit Tests for a Factory -- Implementing the Factory Pattern -- Considering Other Factory Types -- Summary -- Chapter 11: Ensuring Correct Implementation and Use of the Sandbox Pattern -- Understanding the Pattern Through Unit Tests -- Creating a Widget Sandbox -- Instantiating a Widget Sandbox -- Providing Tools to the Widget via the Sandbox -- Creating and Testing Sandbox Tools -- Creating Functions for Use with a Sandbox -- Summary -- Chapter 12: Ensuring Correct Implementation of the Decorator Pattern -- Developing a Decorator the Test-Driven Way -- Writing a Fake for the Decorated Object -- Writing Tests for Pass-Through of Errors -- Writing a Do-Nothing Decorator -- Adding Pass-Through Functionality to the Decorator -- Verifying Pass-Through of Successes -- Adding the Decorator's Features -- Generalizing the Decorator -- Summary -- Chapter 13: Ensuring Correct Implementation of the Strategy Pattern -- Understanding the Pattern Through Unit Tests -- Implementing the transportScheduler Without the Strategy Pattern -- Implementing the transportScheduler Using the Strategy Pattern -- Creating transportScheduler Using Test-Driven Development -- Creating a Strategy for Use with transportScheduler -- Summary -- Chapter 14: Ensuring Correct Implementation of the Proxy Pattern.
505 8# - FORMATTED CONTENTS NOTE
Formatted contents note Developing a Proxy the Test-Driven Way -- Summary -- Chapter 15: Ensuring Correct Implementation of Chainable Methods -- Understanding the Pattern Through Unit Tests -- Chaining then -- Summary -- Part III: Testing and Writing with Advanced JavaScript Features -- Chapter 16: Conforming to Interfaces in an Interface-Free Language -- Understanding the Benefits of Interfaces -- Understanding the Interface Segregation Principle -- Using Test-Driven Development to Create a Contract Registry -- Defining a Contract -- Determining Whether a Contract Is Fulfilled -- Asserting That a Contract Is Fulfilled -- Bypassing Contract Enforcement -- Creating an Aspect to Enforce a Contract on a Returned (Created) Object -- Summary -- Chapter 17: Ensuring Correct Argument Types -- Introduction -- Understanding the Opportunities and Risks Posed by JavaScript's Type-Free Parameters -- Extending the ContractRegistry to Check Arguments -- Scoping Out the Task -- Determining Whether Every Variable in a Set Fulfills Its Contract -- Asserting That Every Variable in a Set Fulfills Its Contract -- Packaging Argument-Checking in an Aspect -- Supporting Contract Libraries -- Putting It All Together -- Creating the Contracts Modules -- Creating the Application's ContractRegistry -- Bypassing Contracts for Production -- Comparing the Aspect-Oriented Solution to a Static Solution -- Considering the Advantages of TypeScript -- Considering the Advantages of Aspects -- Summary -- Chapter 18: Ensuring Correct Use of call, apply, and bind -- Exploring How this Is Bound -- Default Binding -- Default Binding and strict Mode -- Implicit Binding -- new Binding -- Explicit Binding -- Creating and Testing Code That Uses call, apply, and bind -- Using call and apply -- Creating an Array.prototype.forEach Polyfill Using Test-Driven Development -- Using bind -- Summary.
505 8# - FORMATTED CONTENTS NOTE
Formatted contents note Chapter 19: Ensuring the Correct Use of Method-Borrowing -- Ensuring the Borrowing Object Is Suitable -- Making the Borrowed Function Qualify the Borrower -- Attaching an Aspect to the Borrowed Object -- Using a borrow() Method -- Adding an Object-Validator to the ContractRegistry -- Anticipating Side Effects on the Borrower -- Considering Side Effects from an Isolated Function -- Considering Side Effects from a Function That Calls Other Functions -- Anticipating Side Effects on the Donor Object -- Summary -- Chapter 20: Ensuring Correct Use of Mixins -- Creating and Using Mixins -- Creating and Using a Traditional Mixin -- Creating the extend Function Using Test-driven Development -- Creating a Traditional Mixin Using Test-driven Development -- Creating and Using a Functional Mixin -- Summary -- Chapter 21: Testing Advanced Program Architectures -- Ensuring Reliable Use of the Observer Pattern -- Examining the Observer Pattern -- Enhancing the Reliability of the Observer Pattern -- Ensuring Reliable Use of the Mediator Pattern -- Examining the Mediator Pattern -- Enhancing the Reliability of Mediator-Based Code -- Developing a Colleague -- Testing a Colleague -- Segregating the Mediator's Interfaces -- Deciding Where to Put the Contracts -- Ensuring the Colleague Gets a Mediator with the Expected Interface -- Developing a Mediator -- Testing the Mediator -- Summary -- Part IV: Special Subjects in Testing -- Chapter 22: Testing DOM Access -- Unit-Test ing UI -- Examining Difficult-to-Test UI Code -- Creating a UI Component Using TDD -- Testing Code That Changes the DOM -- Testing to Ensure Event Handlers Are Executed -- Keeping UI Tests from Being Brittle -- Optimizing Your Code with a Profiler -- Detecting Inefficiencies -- Avoiding Premature Optimization -- Summary -- Chapter 23: Ensuring Conformance to Standards -- Using ESLint.
505 8# - FORMATTED CONTENTS NOTE
Formatted contents note Installing ESLint.
588 ## - SOURCE OF DESCRIPTION NOTE
Source of description note Description based on publisher supplied metadata and other sources.
590 ## - LOCAL NOTE (RLIN)
Local note Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM
Topical term or geographic name entry element COMPUTERS / Programming Languages / JavaScript.
655 #4 - INDEX TERM--GENRE/FORM
Genre/form data or focus term Electronic books.
700 1# - ADDED ENTRY--PERSONAL NAME
Personal name Richards, Seth H.
776 08 - ADDITIONAL PHYSICAL FORM ENTRY
Relationship information Print version:
Main entry heading Spencer, Lawrence D.
Title Reliable JavaScript
Place, publisher, and date of publication Newark : John Wiley & Sons, Incorporated,c2015
International Standard Book Number 9781119028727
797 2# - LOCAL ADDED ENTRY--CORPORATE NAME (RLIN)
Corporate name or jurisdiction name as entry element ProQuest (Firm)
856 40 - ELECTRONIC LOCATION AND ACCESS
Uniform Resource Identifier <a href="https://ebookcentral.proquest.com/lib/orpp/detail.action?docID=4040657">https://ebookcentral.proquest.com/lib/orpp/detail.action?docID=4040657</a>
Public note Click to View

No items available.

© 2024 Resource Centre. All rights reserved.