Daijunfeng Technical Documentation

website·Indexed 30 days ago

http://daijunfeng.com

A comprehensive technical knowledge base covering full-stack development. Includes detailed guides on Vue 2 and Vue 3 (Composition API, Vuex, Vue-Router), Java backend technologies (Flyway, Regular Expressions), middleware (Elasticsearch Query DSL, RabbitMQ messaging patterns, Redis caching), JavaScript DOM API, CSS, and a deep dive into software design patterns (Creational, Structural, and Behavioral) and SOLID principles.

Tokens
229.7K
Snippets
1.1K
Records
1.4K
Agent score
48%

What's inside Daijunfeng Knowledge Base

  1. Overview of Redis Sharded Cluster

    A Redis Sharded Cluster distributes data across multiple Redis nodes to overcome the memory limitations of a single instance and support write-heavy workloads. Key characteristics include:

    • Multiple master nodes, each storing a different subset of data.
    • Each master can have one or more slave nodes for high availability.
    • Masters use ping to monitor each other's health.
    • Clients can connect to any node; requests are automatically routed to the correct node containing the data.
  2. Overview of Java EE and Jakarta EE transition

    In 2017, Oracle shared Java EE with the Eclipse Foundation, which subsequently renamed Java EE to Jakarta EE in 2018. Additionally, starting in 2018, Java moved to a faster release cycle, updating every 6 months.
  3. Overview of Service Registration Centers

    A registration center is a centralized management object used in microservices to handle the dynamic nature of service instances (due to scaling, failure, or updates). It enables automatic registration of service instances upon startup and automatic removal upon shutdown or heartbeat failure. Service providers register themselves, and consumers pull instance lists from the center to perform load-balanced calls. Common registration centers include Eureka, Consul, Nacos (Spring Cloud ecosystem), and Zookeeper (Dubbo ecosystem).
  4. Overview of Elasticsearch Compound Queries

    Compound queries wrap other leaf or compound queries to combine their results and scores, change their behavior, or switch from a query context to a filter context. The primary compound query types include:

    • bool: Combines multiple clauses using must, should, must_not, and filter.
    • boosting: Returns documents matching a positive query but lowers the score of those also matching a negative query.
    • constant_score: Wraps a filter query and assigns a constant score to all matching documents.
    • dis_max: Returns documents matching any of the provided queries, using the score of the best matching clause.
    • function_score: Modifies the score of the main query using functions (e.g., popularity, recency, or custom scripts).
  5. Overview of jQuery framework features

    jQuery is a fast, concise JavaScript library designed with the philosophy "write Less, Do More." It provides a simplified design pattern to optimize DOM manipulation, event handling, animation design, and Ajax interactions. Key features include:

    • Chained syntax and a concise, multi-functional interface.
    • Efficient and flexible CSS selectors with extensibility.
    • A convenient plugin extension mechanism and a vast ecosystem of plugins.
    • Broad cross-browser compatibility, supporting IE 6.0+, FF 1.5+, Safari 2.0+, and Opera 9.0+.
  6. Overview of Behavioral Design Patterns

    Behavioral design patterns focus on the communication mechanisms between objects, specifically how messages are passed and the efficiency of communication and responsibility delegation between objects. Common behavioral patterns include: Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, and Visitor.
  7. Overview of Flyway database migration tool

    Flyway is a database script management tool that provides version control for database changes and automates database deployments. It works by scanning the application's file system or classpath for migration scripts written in SQL, Java, or other scripting languages.

    Flyway maintains a version table within the database to track its current state. When new migration scripts are detected, Flyway sorts them by version number in ascending order and executes those with a version number greater than the current maximum version recorded in the tracking table, ensuring the database is updated sequentially and remains current.

  8. Overview of Redis Data Types

    Redis is a key-value database where keys are typically Strings. Values can be of various types, categorized into basic and special types.

    Basic Types

    • Strings
    • Lists
    • Sets
    • Sorted sets (ZSets)
    • Hashes

    Special Types

    • Streams
    • HyperLogLogs
    • Geospatial indexes
    • Bitmaps
    • Bitfields
  9. Overview of Elasticsearch Full Text Queries

    Full text queries allow searching analyzed text fields (e.g., email bodies). These queries process the search string using the same analyzer applied to the field during indexing. Common full text query types include:

    • match: The standard query for full-text search, including fuzziness and proximity.
    • match_phrase: Matches exact phrases or words in close proximity.
    • match_phrase_prefix: Similar to match_phrase, but performs a wildcard search on the final word.
    • intervals: Provides fine-grained control over the order and proximity of matched terms.
    • multi_match: A version of match that searches across multiple fields.
    • match_bool_prefix: Creates a boolean query where all terms except the last are term queries, and the last is a prefix query.
    • combined_fields: Matches multiple fields as if they were indexed into a single combined field.
    • query_string: Supports compact Lucene query syntax (AND|OR|NOT) for expert users.
    • simple_query_string: A robust version of query_string suitable for direct user input.
  10. Overview of Redis capabilities and data structures

    Redis (Remote Dictionary Server) is an open-source (BSD licensed), in-memory key-value NoSQL database used as a database, cache, message broker, and streaming engine. It supports atomic operations on a wide variety of data structures, including:

    • Strings
    • Hashes
    • Lists
    • Sets
    • Sorted Sets (with range queries)
    • Bitmaps
    • HyperLogLogs
    • Geospatial indexes
    • Streams
  11. Overview of the Browser Object Model (BOM)

    The Browser Object Model (BOM) allows JavaScript to interact with the browser. All BOM objects are properties of the global window object and can be accessed either via window.objectName or directly by the object name. Key objects include:

    • Window: Represents the browser window and serves as the global object.
    • Navigator: Contains information about the browser (e.g., for browser detection).
    • Location: Contains information about the current URL and allows for page navigation.
    • Screen: Provides information about the user's screen/display.
    • History: Allows manipulation of the browser's session history (forward/backward navigation).
    window.onload = function() {
      console.log(window);
      console.log(navigator);
      console.log(location);
    };
  12. Overview of the Vue.js Framework

    Vue is a progressive framework for building user interfaces. Unlike monolithic frameworks, Vue is designed to be adopted incrementally from the bottom up. Its core library focuses exclusively on the view layer, making it easy to learn and integrate with existing projects or third-party libraries. When combined with modern tooling and supporting libraries, Vue is capable of powering complex single-page applications (SPAs).