Closure: The Definitive Guide. Google Tools to Add Power to Your JavaScript
- Autor:
- Michael Bolin
- +139 pkt
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 592
- Dostępne formaty:
-
ePubMobi
Opis ebooka: Closure: The Definitive Guide. Google Tools to Add Power to Your JavaScript
If you're ready to use Closure to build rich web applications with JavaScript, this hands-on guide has precisely what you need to learn this suite of tools in depth. Closure makes it easy for experienced JavaScript developers to write and maintain large and complex codebases—as Google has demonstrated by using Closure with Gmail, Google Docs, and Google Maps.
Author and Closure contributor Michael Bolin has included numerous code examples and best practices, as well as valuable information not available publicly until now. You'll learn all about Closure's Library, Compiler, Templates, testing framework, and Inspector—including how to minify JavaScript code with the Compiler, and why the combination of the Compiler and the Library is what sets Closure apart from other JavaScript toolkits.
- Learn how the Compiler significantly reduces the amount of JavaScript users have to download when visiting your site
- Discover several ways to use the Compiler as part of your build process
- Learn about type expressions, primitives, and common utilities
- Understand how Closure emulates classes and class-based inheritance
- Use Closure Templates on the server and the client from either JavaScript or Java
- Test and debug your JavaScript code, even when it's compiled
Wybrane bestsellery
-
Ta książka szczególnie przyda się osobom, które rozpoczynają pracę z Angularem. Dzięki niej szybko zaczniesz tworzyć aplikacje z wykorzystaniem wiersza poleceń (CLI), pisać testy jednostkowe i używać stylów zgodnych ze standardem Material Design. Dowiesz się również, jak wdrażać aplikacje w środo...
Poznaj Angular. Rzeczowy przewodnik po tworzeniu aplikacji webowych z użyciem frameworku Angular 15. Wydanie IV Poznaj Angular. Rzeczowy przewodnik po tworzeniu aplikacji webowych z użyciem frameworku Angular 15. Wydanie IV
(57.84 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
Dzięki tej książce zrozumiesz, że w rekurencji nie kryje się żadna magia. Dowiesz się, na czym polega jej działanie i kiedy warto zastosować algorytm rekursywny, a kiedy lepiej tego nie robić. Poznasz szereg klasycznych i mniej znanych algorytmów rekurencyjnych. Pracę z zawartym tu materiałem uła...
Rekurencyjna książka o rekurencji. Zostań mistrzem rozmów kwalifikacyjnych poświęconych językom Python i JavaScript Rekurencyjna książka o rekurencji. Zostań mistrzem rozmów kwalifikacyjnych poświęconych językom Python i JavaScript
(51.35 zł najniższa cena z 30 dni)55.30 zł
79.00 zł(-30%) -
Dzięki temu przyjaznemu przewodnikowi poznasz kluczowe koncepcje programistyczne i operacje obiektowego modelu dokumentu. Nauczysz się też pisać kod działający asynchronicznie i współbieżnie. Poszczególne zagadnienia zostały zilustrowane przykładowymi fragmentami kodu i prostymi projektami ―...
JavaScript od pierwszej linii kodu. Błyskawiczna nauka pisania gier, stron WWW i aplikacji internetowych JavaScript od pierwszej linii kodu. Błyskawiczna nauka pisania gier, stron WWW i aplikacji internetowych
(64.35 zł najniższa cena z 30 dni)69.30 zł
99.00 zł(-30%) -
This third edition delves from Angular basics to deployment, covering performance optimization, authentication, state management, Signals, and more. It includes updated examples and tools to enhance your Angular skills for business requirements.
Angular for Enterprise Applications. Build scalable Angular apps using the minimalist Router-first architecture - Third Edition Angular for Enterprise Applications. Build scalable Angular apps using the minimalist Router-first architecture - Third Edition
-
With over 80 recipes that will help you conquer both the basics and more advanced topics of Angular, like animation, unit tests, and e2e tests, this book will add plenty of valuable skills to your arsenal.
Angular Cookbook. Over 80 actionable recipes every Angular developer should know - Second Edition Angular Cookbook. Over 80 actionable recipes every Angular developer should know - Second Edition
-
This book is a must-have guide to unlocking Svelte's true potential. You’ll learn about advanced component development, efficient coding, and powerful UI patterns using actions. With a focus on state management, custom stores, and renderless components, this book equips you to build except...
Real-World Svelte. Supercharge your apps with Svelte 4 by mastering advanced web development concepts Real-World Svelte. Supercharge your apps with Svelte 4 by mastering advanced web development concepts
-
Learn the core concepts of Vue.js, the modern JavaScript framework for building frontend applications and interfaces from scratch. With concise, practical, and clear examples, this book takes web developers step-by-step through the tools and libraries in the Vue.js ecosystem and shows them how to...(203.15 zł najniższa cena z 30 dni)
203.15 zł
239.00 zł(-15%) -
Are you someone who wants to start coding in JavaScript, or who wants to refresh their knowledge? After reading this e-book, you'll be able to create your own simple, tangible solutions using JavaScript. Topics included: Variables and data types in JavaScript Snippets and control s...
-
Unlock the power of the web platform and cutting-edge technologies for your React applications using Remix to take advantage of the full stack to create a great user experience. This book is a complete resource covering the conventions, levers, and primitives of Remix and illustrates concepts thr...
Full Stack Web Development with Remix. Enhance the user experience and build better React apps by utilizing the web platform Full Stack Web Development with Remix. Enhance the user experience and build better React apps by utilizing the web platform
-
This book covers the expanding world of JavaScript frameworks, helping you enhance your software architectural skills and grow as a developer. The book enables you to broaden your JavaScript skills and apply them to build complex frameworks, becoming more confident with larger JavaScript codebase...
Building Your Own JavaScript Framework. Architect extensible and reusable framework systems Building Your Own JavaScript Framework. Architect extensible and reusable framework systems
Ebooka "Closure: The Definitive Guide. Google Tools to Add Power to Your JavaScript" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Closure: The Definitive Guide. Google Tools to Add Power to Your JavaScript" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Closure: The Definitive Guide. Google Tools to Add Power to Your JavaScript" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-14-493-9695-4, 9781449396954
- Data wydania ebooka:
- 2010-09-08 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 3.7MB
- Rozmiar pliku Mobi:
- 3.7MB
Spis treści ebooka
- Closure: The Definitive Guide
- SPECIAL OFFER: Upgrade this ebook with OReilly
- Foreword
- Preface
- My Experiences with Closure
- Audience
- ECMAScript Versus JavaScript
- Using This Book
- Conventions Used in This Book
- Using Code Examples
- Safari Books Online
- How to Contact Us
- Acknowledgments
- 1. Introduction to Closure
- Tools Overview
- Closure Library
- Closure Templates
- Closure Compiler
- Closure Testing Framework
- Closure Inspector
- Tools Overview
- Closure Design Goals and Principles
- Reducing Compiled Code Size Is Paramount
- All Source Code Is Compiled Together
- Managing Memory Matters
- Make It Possible to Catch Errors at Compile Time
- Code Must Work Without Compilation
- Code Must Be Browser-Agnostic
- Built-in Types Should Not Be Modified
- Code Must Work Across Frames
- Tools Should Be Independent
- Downloading and Installing the Tools
- Closure Library and Closure Testing Framework
- Closure Templates
- Closure Compiler
- Closure Inspector
- Example: Hello World
- Closure Library
- Closure Templates
- Closure Compiler
- Closure Testing Framework
- Closure Inspector
- 2. Annotations for Closure JavaScript
- JSDoc Tags
- Type Expressions
- Simple Types and Union Types
- Function Types
- Record Types
- Special @param Types
- Specifying optional parameters
- Optional parameters
- Variable number of parameters
- Subtypes and Type Conversion
- The ALL Type
- JSDoc Tags That Do Not Deal with Types
- Constants
- Deprecated Members
- License and Copyright Information
- Is All of This Really Necessary?
- 3. Closure Library Primitives
- Dependency Management
- calcdeps.py
- goog.global
- Finer details of goog.global
- COMPILED
- goog.provide(namespace)
- Motivation behind goog.provide()
- Dependency Management
- goog.require(namespace)
- goog.addDependency(relativePath, provides, requires)
- Function Currying
- goog.partial(functionToCall, ...)
- goog.bind(functionToCall, selfObject, ...)
- Exports
- goog.getObjectByName(name, opt_object)
- goog.exportProperty(object, propertyName, value)
- goog.exportSymbol(publicPath, object, opt_objectToExportTo)
- Type Assertions
- goog.typeOf(value)
- goog.isDef(value)
- goog.isNull(value)
- goog.isDefAndNotNull(value)
- goog.isArray(obj)
- goog.isArrayLike(obj)
- goog.isDateLike(obj)
- goog.isString(obj), goog.isBoolean(obj), goog.isNumber(obj)
- goog.isFunction(obj)
- goog.isObject(obj)
- Unique Identifiers
- goog.getUid(obj)
- goog.removeUid(obj)
- Internationalization (i18n)
- goog.LOCALE
- goog.getMsg(str, opt_values)
- Object Orientation
- goog.inherits(childConstructorFunction, parentConstructorFunction)
- goog.base(self, opt_methodName, var_args)
- goog.nullFunction
- goog.abstractMethod
- goog.addSingletonGetter(constructorFunction)
- Additional Utilities
- goog.DEBUG
- goog.now()
- goog.globalEval(script)
- goog.getCssName(className, opt_modifier), goog.setCssNameMapping(mapping)
- 4. Common Utilities
- goog.string
- goog.string.htmlEscape(str, opt_isLikelyToContainHtmlChars)
- goog.string.regExpEscape(str)
- goog.string.whitespaceEscape(str, opt_xml)
- goog.string.compareVersions(version1, version2)
- goog.string.hashCode(str)
- goog.string
- goog.array
- goog.array.forEach(arr, func, opt_obj)
- Using Iterative goog.array Functions in a Method
- goog.object
- goog.object.get(obj, key, opt_value)
- goog.setIfUndefined(obj, key, value)
- goog.object.transpose(obj)
- goog.json
- goog.json.parse(str)
- goog.json.unsafeParse(str)
- goog.json.serialize(obj)
- goog.dom
- goog.dom.getElement(idOrElement)
- goog.dom.getElementsByTagNameAndClass(nodeName, className, elementToLookIn)
- goog.dom.getAncestorByTagNameAndClass(element, tag, className)
- goog.dom.createDom(nodeName, attributes, var_args)
- goog.dom.htmlToDocumentFragment(htmlString)
- goog.dom.ASSUME_QUIRKS_MODE and goog.dom.ASSUME_STANDARDS_MODE
- goog.dom.classes
- goog.dom.classes.get(element)
- goog.dom.classes.has(element, className)
- goog.dom.classes.add(element, var_args) and goog.dom.classes.remove(element, var_args)
- goog.dom.classes.toggle(element, className)
- goog.dom.classes.swap(element, fromClass, toClass)
- goog.dom.classes.enable(element, className, enabled)
- goog.userAgent
- Rendering Engine Constants
- Platform Constants
- goog.userAgent.isVersion(version)
- goog.userAgent.product
- goog.net.cookies
- goog.net.cookies.isEnabled()
- goog.net.cookies.set(name, value, opt_maxAge, opt_path, opt_domain)
- goog.net.cookies.get(name, opt_default)
- goog.net.cookies.remove(name, opt_path, opt_domain)
- goog.style
- goog.style.getPageOffset(element)
- goog.style.getSize(element)
- goog.style.getBounds(element)
- goog.style.setOpacity(element, opacity)
- goog.style.setPreWrap(element)
- goog.style.setInlineBlock(element)
- goog.style.setUnselectable(element, unselectable, opt_noRecurse)
- goog.style.installStyles(stylesString, opt_node)
- goog.style.scrollIntoContainerView(element, container, opt_center)
- goog.functions
- goog.functions.TRUE
- goog.functions.constant(value)
- goog.functions.error(message)
- 5. Classes and Inheritance
- Example of a Class in Closure
- Closure JavaScript Example
- Equivalent Example in Java
- Static Members
- Singleton Pattern
- Example of a Class in Closure
- Example of a Subclass in Closure
- Closure JavaScript Example
- Equivalent Example in Java
- Declaring Fields in Subclasses
- @override and @inheritDoc
- Using goog.base() to Simplify Calls to the Superclass
- Abstract Methods
- Example of an Interface in Closure
- Multiple Inheritance
- Enums
- goog.Disposable
- Overriding disposeInternal()
- 6. Event Management
- A Brief History of Browser Event Models
- Closure Provides a Consistent DOM Level 2 Events API Across Browsers
- goog.events.listen()
- goog.events.EventTarget
- goog.events.Event
- goog.events.EventHandler
- Handling Keyboard Events
- 7. Client-Server Communication
- Server Requests
- goog.net.XmlHttp
- goog.net.XhrIo
- Customizing the request
- Handling the response
- goog.net.XhrManager
- goog.Uri and goog.uri.utils
- Server Requests
- Resource Loading and Monitoring
- goog.net.BulkLoader
- goog.net.ImageLoader
- goog.net.IframeLoadMonitor
- goog.net.MultiIframeLoadMonitor
- goog.net.NetworkTester
- Cross-Domain Communication
- goog.net.jsonp
- goog.net.xpc
- Uploading Files
- Comet
- 8. User Interface Components
- Design Behind the goog.ui Package
- goog.ui.Component
- Basic Life Cycle
- Instantiation
- Display
- Disposal
- Basic Life Cycle
- Components with Children
- Adding a child
- Removing a child
- Accessor methods
- Events
- States
- Errors
- goog.ui.Control
- Handling User Input
- Managing State
- Delegating to the Renderer
- Associating presentation logic with a state
- goog.ui.registry
- goog.ui.decorate
- Example: Responding to a Mouseover Event
- goog.ui.Container
- Using Common Components
- Pulling in CSS
- goog-inline-block
- Example of Rendering a Component: goog.ui.ComboBox
- Example of Decorating a Control: goog.ui.Button and goog.ui.CustomButton
- goog.ui.Button
- goog.ui.CustomButton
- Creating Custom Components
- example.Checklist and example.ChecklistItem
- example.ui.ChecklistItem and example.ui.ChecklistItemRenderer
- example.ui.Label
- example.ui.Checklist and example.ui.ChecklistRenderer
- Rendering Example
- Decorating Example
- Conclusions
- 9. Rich Text Editor
- Design Behind the goog.editor Package
- Trade-offs: Control, Code Size, and Performance
- goog.editor.BrowserFeature
- Design Behind the goog.editor Package
- Creating an Editable Region
- goog.editor.Field
- Instantiation
- Making editable
- Getting and setting the fields contents
- Change events
- Events
- State
- Common setters and accessors
- goog.editor.Field
- goog.editor.SeamlessField
- Controlling the height of a seamless field
- Controlling the styles of a seamless field
- Extending the Editor: The Plugin System
- Registering Plugins
- Interacting with Plugins
- goog.editor.Plugin
- Handling key events
- Executing commands
- Handling selection changes
- Transforming field contents
- Advanced customization
- Built-in Plugins
- goog.editor.plugins.BasicTextFormatter
- goog.editor.plugins.HeaderFormatter
- goog.editor.plugins.RemoveFormatting
- goog.editor.plugins.AbstractTabHandler, goog.editor.plugins.ListTabHandler, and goog.editor.plugins.SpacesTabHandler
- goog.editor.plugins.EnterHandler, goog.editor.plugins.TagOnEnterHandler, and goog.editor.plugins.Blockquote
- goog.editor.plugins.LoremIpsum
- goog.editor.plugins.UndoRedo, goog.editor.plugins.UndoRedoManager, and goog.editor.plugins.UndoRedoState
- goog.editor.plugins.AbstractDialogPlugin
- goog.editor.plugins.LinkDialogPlugin
- Custom Plugins
- Creating custom plugins
- Creating a custom dialog plugin
- UI Components
- Dialogs
- goog.ui.editor.AbstractDialog
- Creating a custom dialog
- Dialogs
- Toolbar
- goog.ui.editor.DefaultToolbar
- goog.ui.editor.ToolbarFactory
- goog.ui.editor.ToolbarController
- Creating a custom toolbar button
- Styling the toolbar
- Selections
- goog.dom.Range
- goog.dom.AbstractRange
- Getting endpoints of a range
- Setting endpoints of a range
- Extracting data from a range
- Changing the DOM
- Saving and restoring selections
- Iterating
- Other goodies
- goog.editor.range
- Placing the cursor
- Visually equivalent positions
- goog.editor.range.Point
- Normalizing
- 10. Debugging and Logging
- Creating Logging Information
- goog.debug.LogRecord
- goog.debug.Logger.Level
- goog.debug.Logger
- Creating a logger
- Logging a message
- Logger hierarchy
- Creating Logging Information
- Displaying Logging Information
- goog.debug.Console
- goog.debug.DivConsole
- goog.debug.DebugWindow
- goog.debug.FancyWindow
- Profiling JavaScript Code
- Reporting JavaScript Errors
- 11. Closure Templates
- Limitations of Existing Template Systems
- Server-Side Templates
- Client-Side Templates
- Limitations of Existing Template Systems
- Introducing Closure Templates
- Creating a Template
- Declaring Templates with {namespace} and {template}
- Commenting Templates
- Overriding Line Joining with {sp} and {nil}
- Writing Raw Text with {literal}
- Building Soy Expressions
- Referencing map and list data
- Referencing global variables
- Displaying Data with {print}
- Managing Control Flow with {if}, {elseif}, and {else}
- Advanced Conditional Handling with {switch}, {case}, and {default}
- Looping over Lists with {foreach}
- Leveraging Other Templates with {call} and {param}
- Identifying CSS Classes with {css}
- Internationalization (i18n)
- Compiling Templates
- Compiling a Template for JavaScript
- Compilation
- Usage
- Compiling a Template for JavaScript
- Compiling a Template for Java
- Compilation
- Usage
- Defining a Custom Function
- 12. Using the Compiler
- Benefits of Using the Compiler
- Reducing Code Size
- Catching Errors at Compile Time
- Protecting Code Through Obfuscation
- Benefits of Using the Compiler
- How the Compiler Works
- Compiler Options
- Compilation Levels
- Whitespace Only
- Simple
- Advanced
- Compilation Levels
- Formatting Options
- Pretty print
- Print input delimiter
- Warning Levels
- Quiet
- Default
- Verbose
- Running the Compiler
- Closure Compiler Service UI
- Closure Compiler Service API
- Closure Compiler Application
- Fine-grained control over warnings and errors
- Compile-time defines
- Output wrapper
- Programmatic Java API
- Integrating the Compiler into a Build Process
- Partitioning Compiled Code into Modules
- Introducing the Application Code
- app.js
- settings.js
- api.js
- Introducing the Application Code
- Introducing the Module Loading Code
- app_init.js
- settings_init.js
- api_init.js
- Partitioning the Input
- --module flag
- --module_output_path_prefix flag
- Loading the Modules
- Refining the Partitioning
- 13. Advanced Compilation
- What Happens During Compilation
- Externs and Exports
- Using custom externs
- Externs and the compilation model
- Externs versus exports
- Exporting methods for a public API
- Externs and Exports
- Property Flattening
- Property Renaming
- What Happens During Compilation
- Preparing Code for the Compiler
- Input Language
- Programmatic Evaluation of Strings of JavaScript Code
- Never Use the with Keyword
- Checks Provided by the Compiler
- Type Checking
- Unknown type warnings
- Type Checking
- Access Controls
- Visibility
- Deprecated members
- Optimizations Performed by the Compiler
- Processing Closure Primitives
- goog.provide
- goog.require
- goog.addDependency
- Processing Closure Primitives
- Devirtualizing Prototype Methods
- Inlining
- Constants and folding
- Variables
- Functions
- 14. Inside the Compiler
- Tour of the Codebase
- Getting and Building the Compiler
- Compiler.java
- CompilerPass.java
- JSSourceFile.java
- CompilerOptions.java
- CompilationLevel.java
- WarningLevel.java
- PassFactory.java
- DefaultPassConfig.java
- CommandLineRunner.java
- com.google.common.collect
- Tour of the Codebase
- Hidden Options
- Checks
- checkEs5Strict
- checkMissingReturn
- codingConvention
- reportUnknownTypes
- Checks
- Renaming
- aliasKeywords
- aliasAllStrings
- aliasExternals
- exportTestFunctions
- Optimizations
- stripTypePrefixes
- stripNameSuffixes
- setIdGenerators
- disambiguateProperties
- ambiguateProperties
- Output
- lineBreak
- inputDelimiter
- colorizeErrorOutput
- externExports
- Example: Extending CommandLineRunner
- Example: Visualizing the AST Using DOT
- What Is DOT?
- Converting the AST to DOT
- Hooking into MyCommandLineRunner
- Example: Creating a Compiler Check
- Example: Creating a Compiler Optimization
- 15. Testing Framework
- Creating Your First Test
- Example: Testing an Email Validator
- Creating the initial set of tests
- Creating the HTML file to run the test
- Getting the tests to pass
- Creating more tests
- Example: Testing an Email Validator
- Assertions
- Life Cycle of a Test Case
- Differences from JsUnit
- Creating Your First Test
- Mock Objects
- goog.testing.PropertyReplacer
- goog.testing.PseudoRandom
- goog.testing.MockClock
- Testing to Ensure That an Error Is Thrown
- Testing Input Events
- Testing Asynchronous Behavior
- goog.testing.ContinuationTestCase
- waitForTimeout(continuation, duration)
- waitForEvent(eventTarget, eventType, continuation)
- waitForCondition(condition, continuation, interval, maxTimeout)
- goog.testing.ContinuationTestCase
- goog.testing.AsyncTestCase
- Running a Single Test
- Running Multiple Tests
- Automating Tests
- System Testing
- 16. Debugging Compiled JavaScript
- Verify That the Error Occurs in Uncompiled Mode
- Format Compiled Code for Debugging
- Compile with --debug=true
- Use the Closure Inspector
- A. Inheritance Patterns in JavaScript
- Example of the Functional Pattern
- Example of the Pseudoclassical Pattern
- Drawbacks to the Functional Pattern
- Instances of Types Take Up More Memory
- Methods Cannot Be Inlined
- Superclass Methods Cannot Be Renamed (Or Will Be Renamed Incorrectly)
- Types Cannot Be Tested Using instanceof
- Encourages Adding Properties to Function.prototype and Object.prototype
- Makes It Impossible to Update All Instances of a Type
- Naming Newly Created Objects Is Awkward
- Results in an Extra Level of Indentation
- Potential Objections to the Pseudoclassical Pattern
- Wont Horrible Things Happen if I Forget the New Operator?
- Didnt Crockford Also Say I Wouldnt Have Access to Super Methods?
- Wont All of the Objects Properties Be Public?
- Wont Declaring SomeClass.prototype for Each Method and Field of SomeClass Waste Bytes?
- I Dont Need Static ChecksMy Tests Will Catch All of My Errors!
- B. Frequently Misunderstood JavaScript Concepts
- JavaScript Objects Are Associative Arrays Whose Keys Are Always Strings
- There Are Several Ways to Look Up a Value in an Object
- Single-Quoted Strings and Double-Quoted Strings Are Equivalent
- There Are Several Ways to Define an Object Literal
- The prototype Property Is Not the Prototype You Are Looking For
- The Syntax for Defining a Function Is Significant
- What this Refers to When a Function Is Called
- The var Keyword Is Significant
- Block Scope Is Meaningless
- C. plovr
- Getting Started with plovr
- Config Files
- Build Command
- Serve Command
- Displaying Compiler Errors
- Auditing Compiled Code Size
- Generating Externs from Exports
- Generating a Source Map
- Index
- About the Author
- Colophon
- SPECIAL OFFER: Upgrade this ebook with OReilly
- Copyright
O'Reilly Media - inne książki
-
With the shift from data warehouses to data lakes, data now lands in repositories before it's been transformed, enabling engineers to model raw data into clean, well-defined datasets. dbt (data build tool) helps you take data further. This practical book shows data analysts, data engineers, BI de...(203.15 zł najniższa cena z 30 dni)
203.15 zł
239.00 zł(-15%) -
Get a concise yet comprehensive overview of Airtable, one of the most versatile platforms to emerge from the no-code movement. Whether you're planning a new project, sharing data analysis within your organization, tracking a detailed initiative among stakeholders, or dealing with any other projec...(245.65 zł najniższa cena z 30 dni)
245.65 zł
289.00 zł(-15%) -
Implementing and designing systems that make suggestions to users are among the most popular and essential machine learning applications available. Whether you want customers to find the most appealing items at your online store, videos to enrich and entertain them, or news they need to know, rec...(245.65 zł najniższa cena z 30 dni)
245.65 zł
289.00 zł(-15%) -
Cyber risk management is one of the most urgent issues facing enterprises today. This book presents a detailed framework for designing, developing, and implementing a cyber risk management program that addresses your company's specific needs. Ideal for corporate directors, senior executives, secu...(186.15 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
Many UX designers are surprised to learn that much of the job isn't about drawing things. It's about knowing what to draw and how to convince people to build it. Whether you're a one-person design team making products from scratch or a C-level product leader managing many products and strategies,...(152.15 zł najniższa cena z 30 dni)
152.15 zł
179.00 zł(-15%) -
With demand for scaling, real-time access, and other capabilities, businesses need to consider building operational machine learning pipelines. This practical guide helps your company bring data science to life for different real-world MLOps scenarios. Senior data scientists, MLOps engineers, and...(245.65 zł najniższa cena z 30 dni)
245.65 zł
289.00 zł(-15%) -
As tech products become more prevalent today, the demand for machine learning professionals continues to grow. But the responsibilities and skill sets required of ML professionals still vary drastically from company to company, making the interview process difficult to predict. In this guide, dat...(245.65 zł najniższa cena z 30 dni)
245.65 zł
289.00 zł(-15%) -
If your organization plans to modernize services and move to the cloud from legacy software or a private cloud on premises, this book is for you. Software developers, solution architects, cloud engineers, and anybody interested in cloud technologies will learn fundamental concepts for cloud compu...(203.15 zł najniższa cena z 30 dni)
203.15 zł
239.00 zł(-15%) -
Analytics projects are frequently long, drawn-out affairs, requiring multiple teams and skills to clean, join, and eventually turn data into analysis for timely decision-making. Alteryx Designer changes all of that. With this low-code, self-service, drag-and-drop workflow platform, new and experi...(245.65 zł najniższa cena z 30 dni)
245.65 zł
289.00 zł(-15%) -
Explore the theory and practice of designing and writing serverless applications using examples from the Knative project. With this practical guide, mid-level to senior application developers and team managers will learn when and why to target serverless platforms when developing microservices or...(203.15 zł najniższa cena z 30 dni)
203.15 zł
239.00 zł(-15%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: Closure: The Definitive Guide. Google Tools to Add Power to Your JavaScript Michael Bolin (0) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.