
JavaScript : Functional Programming for JavaScript Developers
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
All prices
More details
Persons
Dan Mantyla works as a web application developer for the University of Kansas. He enjoys contributing to open source web frameworks and wrenching on motorcycles. Dan is currently living in Lawrence, Kansas, USAthe birthplace of Python Django and home to Linux News Media. Dan has also clicked the cover image, which was taken outside his home in Lawrence, Kansas, USA, where the sunflower fields are in bloom for only one short week in September.Timms Simon :
Simon Timms is a developer who works in the oil and gas industry in Calgary, Alberta. He has a BSc in Computing Science from the University of Alberta and a Masters from Athabasca University. He is interested in distributed systems, visualization, and the acquisition of ice-cream. This is his first book, but he blogs frequently on diverse topics such as code contracts and cloud computing at blog.simontimms.com. He is involved in the local.NET and JavaScript community, and speaks frequently at conferences. Contacted by Shweta Pant on 28-8-2017 for the third edition of Mastering JavaScript Design Patterns bookAntani Ved :
Ved Antani has been building scalable server and mobile platforms using JavaScript, Go, and Java since 2005. He is an associate vice president at Myntra and has previously worked at Electronic Arts and Oracle. He is an avid reader and author on several subjects. He has studied computer science and currently lives in Bangalore, India. Ved is passionate about classical music and loves to spend time with his son.
Content
- Cover
- Copyright
- Credits
- Preface
- Table of Content
- Module 1
- Chapter 1: JavaScript Primer
- A little bit of history
- How to use this book
- Hello World
- Summary
- Chapter 2: Functions, Closures, and Modules
- A function literal
- Functions as data
- Scoping
- Function declarations versus function expressions
- The arguments parameter
- Anonymous functions
- Closures
- Timers and callbacks
- Private variables
- Loops and closures
- Modules
- Summary
- Chapter 3: Data Structures and Manipulation
- Regular expressions
- Exact match
- Match from a class of characters
- Repeated occurrences
- Beginning and end
- Backreferences
- Greedy and lazy quantifiers
- Arrays
- Maps
- Sets
- A matter of style
- Summary
- Chapter 4: Object-Oriented JavaScript
- Understanding objects
- Instance properties versus prototype properties
- Inheritance
- Getters and setters
- Summary
- Chapter 5: Testing and Debugging
- Unit testing
- JavaScript debugging
- Summary
- Chapter 6: ECMAScript 6
- Shims or polyfills
- Transpilers
- ES6 syntax changes
- Summary
- Chapter 7: DOM Manipulation and Events
- DOM
- Chaining
- Traversal and manipulation
- Working with browser events
- Propagation
- jQuery event handling and propagation
- Event delegation
- The event object
- Summary
- Chapter 8: Server-Side JavaScript
- An asynchronous evented-model in a browser
- Callbacks
- Timers
- EventEmitters
- Modules
- npm
- JavaScript performance
- Summary
- Module 2
- Chapter 1: Designing for Fun and Profit
- The road to JavaScript
- What is a design pattern?
- Anti-patterns
- Summary
- Chapter 2: Organizing Code
- Chunks of code
- What's the matter with global scope anyway?
- Objects in JavaScript
- Build me a prototype
- Inheritance
- Modules
- ECMAScript 2015 classes and modules
- Best practices and troubleshooting
- Summary
- Chapter 3: Creational Patterns
- Abstract factory
- Builder
- Factory method
- Singleton
- Prototype
- Tips and tricks
- Summary
- Chapter 4: Structural Patterns
- Adapter
- Bridge
- Composite
- Decorator
- Façade
- Flyweight
- Proxy
- Hints and tips
- Summary
- Chapter 5: Behavioral Patterns
- Chain of responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template method
- Visitor
- Hints and tips
- Summary
- Chapter 6: Functional Programming
- Functional functions are side-effect-free
- Function passing
- Filters and pipes
- Accumulators
- Memoization
- Immutability
- Lazy instantiation
- Hints and tips
- Summary
- Chapter 7: Reactive Programming
- Application state changes
- Streams
- Filtering streams
- Merging streams
- Streams for multiplexing
- Hints and tips
- Summary
- Chapter 8: Application Patterns
- First, some history
- Model View Controller
- Model View Presenter
- Model View ViewModel
- Tips and tricks
- Summary
- Chapter 9: Web Patterns
- Sending JavaScript
- Plugins
- Doing two things at once - multithreading
- Circuit breaker pattern
- Promise pattern
- Hints and tips
- Summary
- Chapter 10: Messaging Patterns
- What's a message anyway?
- Request-reply
- Publish-subscribe
- Dead letter queues
- Hints and tips
- Summary
- Chapter 11: Microservices
- Façade
- Service selector
- Aggregate services
- Pipeline
- Message upgrader
- Failure patterns
- Hints and tips
- Summary
- Chapter 12: Patterns for Testing
- The testing pyramid
- Testing in the small with unit tests
- Arrange-Act-Assert
- Fake objects
- Test spies
- Stubs
- Mock
- Monkey patching
- Interacting with the user interface
- Tips and tricks
- Summary
- Chapter 13: Advanced Patterns
- Dependency injection
- Live post processing
- Aspect oriented programming
- Mixins
- Macros
- Tips and tricks
- Summary
- Chapter 14: ECMAScript-2015/2016 Solutions Today
- TypeScript
- BabelJS
- Tips and tricks
- Summary
- Module 3
- Chapter 1: The Powers of JavaScript's Functional Side - a Demonstration
- Introduction
- The demonstration
- The application - an e-commerce website
- Functional programming
- Summary
- Chapter 2: Fundamentals of Functional Programming
- Functional programming languages
- Working with functions
- The functional programmer's toolkit
- Summary
- Chapter 3: Setting Up the Functional Programming Environment
- Introduction
- Functional libraries for JavaScript
- Development and production environments
- Summary
- Chapter 4: Implementing Functional Programming Techniques in JavaScript
- Partial function application and currying
- Function composition
- Mostly functional programming
- Functional reactive programming
- Summary
- Chapter 5: Category Theory
- Category theory
- Functors
- Monads
- Implementing categories
- Summary
- Chapter 6: Advanced Topics and Pitfalls in JavaScript
- Recursion
- Variable scope
- Function declarations versus function expressions versus the function constructor
- Summary
- Chapter 7: Functional and Object-oriented Programming in JavaScript
- JavaScript - the multi-paradigm language
- JavaScript's object-oriented implementation - using prototypes
- Mixing functional and object-oriented programming in JavaScript
- Summary
- Appendix A: Common Functions for Functional Programming in JavaScript
- Appendix B: Glossary of Terms
- Bibliography
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.