ChoDocs

website·Indexed 32 days ago

https://chodocs.cn/

A technical knowledge base by Choi Yang featuring guides on TypeScript, Next.js, and software design patterns (including Singleton, Observer, and Proxy patterns). The site also includes a collection of LeetCode algorithm solutions covering dynamic programming, double pointers, and binary trees, as well as weekly learning logs and personal development reflections.

Tokens
184.1K
Snippets
646
Records
1.1K
Agent score
64%

What's inside ChoDocs

  1. Overview of tRPC

    tRPC is a TypeScript-based RPC (Remote Procedure Call) framework designed to allow frontend and backend developers to call remote functions as if they were local functions, abstracting away the underlying network communication details. It provides strong type safety across the network boundary without requiring a separate schema definition (like GraphQL) or manual type synchronization (like REST).
  2. Overview of Micro-Frontend Architecture and qiankun

    Micro-frontends decompose a frontend application into smaller, independently developable, testable, and deployable parts. This solves complexity and coupling in monolithic applications.

    Key Benefits:

    • Technology Agnostic: Different teams can use different frameworks (React, Vue, Angular) within the same application.
    • Modular Development: Independent development and testing of modules.
    • Independent Deployment: New features or bug fixes can be deployed without redeploying the entire system.
    • Scalability: Easier to extend to new platforms or business requirements.

    qiankun: A popular solution by Alibaba that implements micro-frontends by managing a 'main application' that orchestrates various 'sub-applications', providing unified routing, state management, and style isolation.

  3. Overview of UDT (UDP-based Data Transfer Protocol)

    UDT is a connection-oriented, bidirectional application-layer protocol built on top of UDP. It is designed for high-speed, large-scale data transfer over wide area networks (WANs) where standard TCP performs poorly due to bandwidth-delay products. UDT introduces its own congestion control and reliability mechanisms, supporting both reliable data streams and partially reliable datagrams. Common use cases include P2P, firewall traversal, and multimedia streaming.
  4. Overview of Nuxt.js for Server-Side Rendering (SSR)

    Nuxt.js is a universal application framework based on Vue.js designed for Server-Side Rendering (SSR) and static site generation. Key features include:

    • Automatic Code Splitting: Optimizes bundle delivery.
    • Powerful Routing: Supports asynchronous data fetching without manual route configuration.
    • Head Tag Management: Integrated management of HTML head tags via vue-meta.
    • Built-in Webpack: Comes with pre-configured Webpack settings.
  5. Overview of ChoDocs Frontend Resources

    ChoDocs is an open-source professional frontend knowledge base providing a variety of learning resources, including:

    • Interview Column: Comprehensive answers to frontend interview questions.
    • Programming Learning: Documentation accompanying Bilibili video tutorials.
    • Frontend Algorithms: Study paths and problem-solving guides for algorithms.
    • Memorandum: A collection of solutions for common daily development issues.
    • Programming Tools: A curated list of tools and websites to improve efficiency.
    • Technical Vision: Deep dives and broad overviews of cutting-edge technologies.
  6. Overview of tRPC

    tRPC is a TypeScript-based RPC (Remote Procedure Call) framework. Its primary goal is to enable frontend and backend developers to call remote functions as if they were local functions, abstracting away the underlying network communication details and providing full type safety across the network boundary.
  7. Overview of Nuxt.js for Server-Side Rendering (SSR)

    Nuxt.js is a universal application framework based on Vue.js designed for Server-Side Rendering (SSR) and static site generation. Key features include:

    • Automatic Code Splitting: Optimizes bundle delivery.
    • Powerful Routing: Supports asynchronous data fetching without manual route configuration.
    • Head Tag Management: Integrated management of HTML head tags via vue-meta.
    • Built-in Webpack: Comes with a pre-configured Webpack setup.
  8. Overview of Micro-Frontend Architecture and qiankun

    Micro-frontends decompose a frontend application into smaller, manageable parts that can be developed, tested, deployed, and scaled independently. This solves complexity and coupling issues in monolithic applications.

    Key Benefits:

    • Tech Stack Agnostic: Different teams can use different frameworks (React, Vue, Angular) within the same application.
    • Modular Development: Independent development and testing of modules.
    • Independent Deployment: New features or bug fixes can be deployed for a specific module without redeploying the entire app.
    • Maintainability and Scalability: Easier to update specific parts of the system and extend to new platforms.

    qiankun: A popular micro-frontend solution by Alibaba that implements a main application (orchestrator) and sub-applications. It provides unified routing, state management, and style isolation.

  9. Overview of HTML5 new features

    HTML5 introduced several new elements and APIs to enhance page structure and functionality:

    • Semantic Tags: header, footer, article, nav, section for better page structure.
    • Media: video and audio for native playback.
    • Graphics: Canvas (raster/pixel-based, may lose quality on scale) and SVG (vector-based, does not lose quality).
    • Storage: localStorage and sessionStorage for offline data.
    • Communication/Performance: webSocket for full-duplex TCP communication and web Worker for background JavaScript execution.
    • Other: Geolocation for location data, Drag and Drop API, and new form controls like date, time, email, url, and search.
  10. Implement Git Flow for project versioning

    Git Flow is a branching model designed for large projects to manage releases and avoid conflicts.

    1. Continuous Integration Flow: Members integrate work daily. Flow: Bug $\rightarrow$ New Feature $\rightarrow$ master $\rightarrow$ pre branch $\rightarrow$ target branch. Ideal for stable versions with frequent small iterations.
    2. Version Control Flow: Used by projects like Vue and React. Flow: master $\rightarrow$ Stable $\rightarrow$ new branch $\rightarrow$ bug fix $\rightarrow$ version. Ideal for strict version-based releases.
  11. Assess team organizational structure and support

    Ask about the team's composition and personnel distribution to gauge operational efficiency and support systems:

    • QA/Testing Distribution: Determine if testers are embedded within the team or centralized in a separate department. Embedded testers generally allow for faster iteration and better collaboration.
    • Backend Ratio: The number of backend developers relative to the business complexity can indicate the project's core importance or the potential for a slower-paced ('lying flat') environment.
    • Frontend Leadership: Specifically ask if there is a dedicated Frontend Lead. A dedicated lead is crucial for providing technical mentorship and protecting the team/interns from unreasonable requirements or 'blame-shifting' from other departments.