Js meaningful stuffs


1. Playing with Binary Data

  • ArrayBuffer: A low-level binary data buffer that can be used to represent a generic, fixed-length raw binary data buffer.
  • Example:
  • TypedArray (Uint8Array, Int16Array, Float32Array): Views on an ArrayBuffer that allow reading and writing of binary data in specific formats.
  • Example:
  • DataView: A view that allows reading and writing of multiple number types in an ArrayBuffer without needing a typed array.
  • Example:
  • Blobs: Represents raw binary data as an immutable object, typically used for file handling.
  • Example:
  • Base64 Encoding/Decoding: Converts binary data to a base64 string for safe transmission over text-based protocols.
  • Example:
  • Binary Parsing: Reading binary data formats, often used in file formats or network protocols.
  • Example: javascript const buffer = new Uint8Array([0, 1, 2, 3]); const value = buffer[1]; // Accessing binary data

2. Network

  • Web Sockets: A protocol for full-duplex communication channels over a single TCP connection.
  • Example:
  • Streams (ReadableStream, WritableStream): Interfaces for reading and writing data streams.
  • Example:
  • WebRTC: A technology for peer-to-peer connections, enabling audio, video, and data sharing.
  • Example:
  • HTTP/2: A major revision of the HTTP network protocol, improving performance and security.
  • Example: Uses multiplexing and header compression to enhance speed.
  • QUIC: A transport layer network protocol designed by Google, built on UDP for improved performance.
  • Example: Used in modern web applications for faster connections.
  • Fetch API: A modern interface for making network requests, replacing XMLHttpRequest.
  • Example:
  • Axios: A promise-based HTTP client for the browser and Node.js.
  • Example:
  • CORS (Cross-Origin Resource Sharing): A mechanism that allows restricted resources on a web page to be requested from another domain.
  • Example: Configured on the server to allow specific origins.
  • Server-Sent Events (SSE): A server push technology enabling a server to send updates to the client.
  • Example:
  • Long Polling: A technique where the client requests information from the server and the server holds the request open until new data is available.
  • Example: Used to simulate real-time data fetching.

3. Media

  • Media Stream API: Allows access to media streams from devices like cameras and microphones.
  • Example:
  • Media Recorder API: Enables recording of media streams to file.
  • Example:
  • Screen Capture API: Captures the content of a screen or application window.
  • Example:
  • AudioContext/Web Audio API: Provides a way to process and synthesize audio in web applications.
  • Example:
  • Picture-in-Picture: Allows a video to be played in a small window overlaying other content.
  • Example:
  • Subtitles and Tracks: Supports displaying subtitles and other text tracks in video elements.
  • Example:
  • HTMLMediaElement: The base interface for all media elements like <audio> and <video>.
  • Example:
  • Video and Audio Enhancements: Techniques to improve media playback, such as adaptive bitrate streaming.

4. DOM

  • DOM API: The programming interface for HTML and XML documents, allowing manipulation of the document structure.
  • Example:
  • Shadow DOM: A web standard that allows encapsulation of DOM and CSS styles.
  • Example:
  • Intersection Observer: A way to asynchronously observe changes in the intersection of a target element with an ancestor element or with a top-level document's viewport.
  • Example:
  • Mutation Observer: A feature that provides the ability to watch for changes to the DOM tree.
  • Example:
  • Resize Observer: Observes changes to the size of an element's content or border box.
  • Example:
  • Custom Elements: Allows the creation of new HTML tags with custom behavior.
  • Example:
  • Event Delegation: A technique to handle events at a higher level in the DOM rather than on individual elements.
  • Example:
  • Form Validation: Techniques for validating form inputs before submission.
  • Example:
  • Web Components: A suite of different technologies allowing you to create reusable custom elements.
  • Example: Combining custom elements, shadow DOM, and HTML templates.

5. Data Storage

  • Cookies: Small pieces of data stored on the client-side, often used for session management.
  • Example:
  • Session Storage: Stores data for the duration of the page session.
  • Example:
  • Local Storage: Provides a way to store key/value pairs in a web browser with no expiration time.
  • Example:
  • IndexedDB: A low-level API for client-side storage of significant amounts of structured data.
  • Example:
  • Cache API: A storage mechanism that allows you to cache network requests and responses.
  • Example:
  • Service Workers: A script that runs in the background, separate from a web page, enabling features like push notifications and caching.
  • Example:
  • File Reader API: Allows web applications to asynchronously read the contents of files stored on the user's computer.
  • Example:
  • Clipboard API: Provides an interface for reading from and writing to the clipboard.
  • Example: javascript navigator.clipboard.writeText('Hello, World!');

6. Performance

  • Web Workers: A way to run scripts in background threads, allowing for parallel execution of code.
  • Example:
  • Service Workers: A specific type of web worker that intercepts network requests.
  • Example: Used for caching resources and enabling offline capabilities.
  • Web Vitals: A set of metrics for measuring user experience on the web.
  • Example: Tools like Google’s Lighthouse can measure these metrics.
  • Lazy Loading: A design pattern that postpones loading non-critical resources at the point the page is initially loaded.
  • Example:
  • RequestAnimationFrame: A method for creating smooth animations by allowing the browser to optimize rendering.
  • Example:
  • Memory Management: Techniques to optimize memory usage in web applications.
  • Example: Regularly clearing unused variables and objects.
  • Async and Defer: Attributes for script tags that control how scripts are loaded.
  • Example:
  • Bundle Analysis: Tools like Webpack Bundle Analyzer help visualize the size of webpack output files.
  • Example: Using Webpack to generate a report on bundle sizes.

7. Graphics

  • Canvas API: A powerful API for drawing graphics on the web.
  • Example:
  • WebGL: A JavaScript API for rendering interactive 3D graphics.
  • Example: Used for complex visualizations and games.
  • SVG Manipulation: Scalable Vector Graphics can be manipulated with JavaScript for dynamic visuals.
  • Example:
  • CSS Animations: Animations defined in CSS that can be applied to HTML elements.
  • Example:
  • Web Animations API: Provides a way to create complex animations through JavaScript.
  • Example:
  • Image Sprites: A technique that combines multiple images into a single file to reduce HTTP requests.
  • Example: Using CSS to display specific parts of the sprite.
  • Dynamic Image Rendering: Techniques for generating images on-the-fly using JavaScript or server-side languages.

8. Security

  • Content Security Policy (CSP): A security feature that helps prevent XSS attacks by specifying which dynamic resources are allowed to load.
  • Example:
  • CORS (Cross-Origin Resource Sharing): An important security feature that allows or restricts resources requested from another domain.
  • Example: Configured on the server to allow specific origins.
  • XSS Prevention: Techniques to prevent cross-site scripting attacks.
  • Example: Input sanitization before rendering.
  • Trusted Types: A security feature that helps prevent XSS by enforcing a policy where only trusted types can be used in certain contexts.
  • Example: Enforcing safe HTML generation.
  • Mime Sniffing: A technique used by browsers to determine the type of content being served.
  • Example: Browsers should respect the Content-Type header.
  • Input Sanitization: The process of cleaning user input to prevent malicious data from being processed.
  • Example: Removing or encoding special characters.
  • Permissions API: Allows web applications to request permission to access certain features like geolocation or notifications.
  • Example: javascript Notification.requestPermission().then(permission => { if (permission === 'granted') { new Notification('Hello!'); } });

9. Build

  • Treeshaking: A term for dead-code elimination in JavaScript, removing unused code from the final bundle.
  • Example: Used in modern bundlers like Webpack.
  • Code Splitting: A technique to split code into smaller chunks that can be loaded on demand.
  • Example: Using dynamic imports in ES6.
  • Hot Module Replacement: A feature that allows modules to be updated in the browser without a full refresh.
  • Example: Commonly used in development environments.
  • Transpilers (Babel): Tools that convert modern JavaScript into a version compatible with older browsers.
  • Example: Configured with presets to target specific browsers.
  • Polyfills: Scripts that provide modern functionality on older browsers that do not support it.
  • Example: Using polyfills for Promise or fetch.
  • Webpack Configuration: Customizing Webpack to optimize builds for performance.
  • Example: Setting up loaders and plugins for asset management.
  • Vite/Rollup: Modern build tools that focus on speed and efficiency.
  • Example: Vite uses native ES modules for development.

10. Asset

  • Prefetch, Preload, Preconnect: Techniques to improve resource loading performance.
  • Example:
  • Gzip Compression: A method of compressing files to reduce their size for faster transmission.
  • Example: Configured on the server.
  • Brotli Compression: A newer compression algorithm that often achieves better compression ratios than Gzip.
  • Example: Also configured on the server.
  • Dynamic Image Loading: Loading images only when they are needed or in the viewport.
  • Example: Using IntersectionObserver for lazy loading images.
  • Lossy and Lossless Compression: Techniques for reducing image file sizes with varying degrees of quality loss.
  • Example: JPEG for lossy, PNG for lossless.
  • Pixel Density Optimization: Techniques for serving different image resolutions based on the device's pixel density.
  • Example: Using srcset in <img> tags.
  • Responsive Images: Techniques for serving different images based on screen size and resolution.
  • Example: html <img src="small.jpg" srcset="medium.jpg 600w, large.jpg 1200w" alt="Responsive image">

This structure provides a comprehensive overview of various web development topics, complete with examples and descriptions to illustrate their usage.

要查看或添加评论,请登录

Hari Mohan Prajapat的更多文章

  • comprehensive overview of system design

    comprehensive overview of system design

    comprehensive overview will help you understand the key concepts, principles, and considerations involved in system…

  • GitHub Actions CI CD pipeline tutorial

    GitHub Actions CI CD pipeline tutorial

    A CI/CD pipeline (Continuous Integration and Continuous Deployment) is a series of steps that automate the process of…

  • Monitoring in System Design

    Monitoring in System Design

    Monitoring in System Design Monitoring is a critical aspect of system design that ensures applications and…

  • Protocol for communication for System Design

    Protocol for communication for System Design

    In system design, communication protocols define how different system components interact, ensuring reliable data…

  • Asynchronism in System Design

    Asynchronism in System Design

    Asynchronism in System Design is a fundamental architectural approach where components of a system operate…

  • Caching strategy design system part 15

    Caching strategy design system part 15

    Let’s break it down in more depth, with a closer look at the internal workings, key considerations, and trade-offs for…

  • Deep Dive into Caching in System Design part 14

    Deep Dive into Caching in System Design part 14

    Caching is a performance optimization technique used to store frequently accessed data in a fast-access layer. It…

  • SQL and No SQL in System Design part 13

    SQL and No SQL in System Design part 13

    When choosing between SQL and NoSQL databases in system design, it’s all about understanding the trade-offs and the…

  • Application Layer works in system design part 12

    Application Layer works in system design part 12

    little refresher OSI Layers (Simplified Explanation) The OSI Model (Open Systems Interconnection) is a conceptual model…

  • Load balancers in system design part -11

    Load balancers in system design part -11

    Load balancers play a crucial role in system design, particularly in distributed systems and cloud architectures. They…

社区洞察

其他会员也浏览了