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.
What's inside ChoDocs
- 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).
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.
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.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.
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.
Overview of Chrome DevTools Panels
Chrome DevTools provides several specialized panels for debugging and performance analysis. They can be categorized into debugging tools and performance tools.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.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.
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.
Overview of HTML5 new features
HTML5 introduced several new elements and APIs to enhance page structure and functionality:
- Semantic Tags:
header,footer,article,nav,sectionfor better page structure. - Media:
videoandaudiofor native playback. - Graphics:
Canvas(raster/pixel-based, may lose quality on scale) andSVG(vector-based, does not lose quality). - Storage:
localStorageandsessionStoragefor offline data. - Communication/Performance:
webSocketfor full-duplex TCP communication andweb Workerfor background JavaScript execution. - Other:
Geolocationfor location data,Drag and DropAPI, and new form controls likedate,time,email,url, andsearch.
- Semantic Tags:
Implement Git Flow for project versioning
Git Flow is a branching model designed for large projects to manage releases and avoid conflicts.
- 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.
- 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.
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.