乐闻世界logo
搜索文章和话题
主页文章专栏面试题问题

TA的文章

查看更多
基于React实现:弹窗组件与Promise的有机结合

基于React实现:弹窗组件与Promise的有机结合

弹窗在现代应用中是最为常见的一种展示信息的形式,二次确认弹窗是其中最为经典的一种。当我们在React,Vue这种数据驱动视图的前端框架中渲染弹窗基本是固定的使用形式。使用方式:创建新的弹窗组件,在需要弹窗的地方引用并且需要在外层维护弹窗组件的显示/隐藏状态。这只是庞大项目中一处需要弹窗的地方,如果项目中存在N个需要弹窗的场景,我们都需要将上述步骤重复一次。这会让我们的项目组件变得臃肿冗余。
NestJS 基于 Passort 和 JWT Token 实现接口的权限管理

NestJS 基于 Passort 和 JWT Token 实现接口的权限管理

如果你不希望其他人可以随意进出你的房子,那么你需要给你的房子上个锁。开发一个接口很容易,开发一个具有安全性的接口却不容易。成熟的后端服务项目最注重的一点就是如何保护系统的数据安全,不能让用户无脑的访问操作所有的数据,这是不合理更是极度危险的行为。NestJS作为企业级后端开发框架,自然会提供一套权限校验的方案,本文基于NestJS的passort方案,结合jwttoken完成对系统服务的保护。
CentOS定时运行Cypress自动化测试用例并通过邮件通知结果

CentOS定时运行Cypress自动化测试用例并通过邮件通知结果

自动化测试的核心宗旨就是尽可能减少人工参与的情况下保证系统的稳定运行。当完成核心业务的自动化用例后,我们可以通过定时运行或者有新代码提交等等需要验证核心业务是否正常,并且通过邮件或者其他的手段通知研发同学自动化用例运行结果。本文详细记录Cypress自动化用例如何在centos服务器中定时运行,并且通过邮件通知自动化测试用例的运行结果。编写运行shell脚本为了配合centos的定时器功能
如何在 NestJS 中处理跨域问题

如何在 NestJS 中处理跨域问题

当我们的NestJs后端服务需要被不同源的前端项目访问时,就可能遇到“跨域问题”。跨域问题(CORS,Cross-OriginResourceSharing)本质上是浏览器的一种安全机制,用于限制一个源(origin)中的web应用如何与另一个源的资源进行交互。幸运的是,NestJs提供了一些简单的方法来解决这一问题。什么是CORSCORS是一种机制,它使用额外的HTTP头来告诉浏览器让运行在一个
一篇文章学会 NestJS 的拦截器并且附带实战操作案例

一篇文章学会 NestJS 的拦截器并且附带实战操作案例

在现代Web开发的世界中,NestJS以其灵活性和强大的功能立足,成为Node.js框架的佼佼者。其中一个引人注目的功能就是拦截器,这是一种可以让开发者更好地控制和补充HTTP请求循环的工具。拦截器让开发者可以在处理程序之前或之后“拦截”HTTP请求,这是解决一系列问题的基石。什么是NestJS拦截器简单来说,拦截器是一种特殊类型的服务,运行在路由处理程序方法之前和之后。它们在每次请求和响应的生命
Git 如何检出 checkout 远程分支代码

Git 如何检出 checkout 远程分支代码

当我们在使用Git这个强大的版本控制系统时,会经常需要与远程仓库进行交互,比如克隆、推送、拉取、合并等操作。今天我们聚焦于一个非常实用的操作:如何checkout远程分支。可能你是想要检出一个同事新开发的功能,或者是为了测试最新的部署代码,不管怎样,掌握这个技能对每一个使用Git的开发者来说都是必备的。什么是远程分支在Git中,远程分支是对远程仓库分支的引用。它们是你不能直接修改的只读分支。当你想
如何在 TailwindCSS 添加新颜色并且保持 TailwindCSS 原有颜色?

如何在 TailwindCSS 添加新颜色并且保持 TailwindCSS 原有颜色?

TailwindCSS通过提供原子类使得样式的应用变得非常快速和高效,有时候我们需要在Tailwind的标准颜色集以外添加一些自定义颜色。在本教程中,将介绍如何在不删除默认颜色集的情况下,向TailwindCSS添加新的颜色。实现步骤一、定制tailwind.config.js若要添加自定义颜色,需要在项目根目录下找到或创建一个tailwind.config.js配置文件。这个文件将用于覆盖Ta
基于 NestJS 操作 TypeORM 中的一对多 OneToMany

基于 NestJS 操作 TypeORM 中的一对多 OneToMany

TypeORM是一个在TypeScript和JavaScript(ES7,ES6,ES5)中提供了许多开箱即用特性的ORM,它能够改善我们处理数据库操作的效率与可维护性。在复杂的应用开发过程中,数据间的关系处理显得尤其重要。今天我们将在NestJS中探索TypeORM的OneToMany(一对多)关系,这是一种常见且强大的数据模型关系。在建立应用程序时,我们通常需要处理大量的增删查改(CRUD)操
React 内置 Hook 之 useRef 深度解析与使用案例

React 内置 Hook 之 useRef 深度解析与使用案例

ReactHooks已经成为了现代React开发中不可或缺的一部分,今天我们来深入研究一个特别有用的Hook——useRef。在这篇文章中,我们将引导你了解useRef的运用,并通过一些实例穿插其中,让你对这个Hook有更深入的理解。什么是useRefuseRef 是React的一个内置Hook,它可以返回一个可改变的ref对象,非常适合用于管理不会触发组件渲染的变量。用官方的话来说,一
Cypress 如何调试测试案例代码?

Cypress 如何调试测试案例代码?

Cypress提供了一套易用的API,让你可以快速编写出可读性强、维护性好的测试代码。但是,无论是多么优秀的测试代码,也难免会遇到需要调试的时刻。本文将通过一种通俗易懂的方式,教你如何在Cypress中调试代码,以确保你的测试能够顺利进行。调试方式1.使用Cypress自带的调试命令Cypress提供了一个.debug()命令,可以帮助你在测试运行时暂停,这样你就可以使用浏览器的开发者工具来检查
基于 NestJS 操作 TypeORM 中的多对多 ManyToMany

基于 NestJS 操作 TypeORM 中的多对多 ManyToMany

TypeORM是一个在TypeScript和JavaScript(ES7,ES6,ES5)中提供了许多开箱即用特性的ORM,它能够改善我们处理数据库操作的效率与可维护性。在复杂的应用开发过程中,数据间的关系处理显得尤其重要。今天我们将在NestJS中探索TypeORM的ManyToMany(多对多)关系,这是一种常见且强大的数据模型关系。在建立应用程序时,我们通常需要处理大量的增删查改(CRUD)
基于 React 封装网络状态变化的 Hook,轻松监听网络变化

基于 React 封装网络状态变化的 Hook,轻松监听网络变化

随着移动互联网的普及,用户对Web应用的网络连接状态变得越来越敏感。无论在地铁隧道还是偏远地区,不稳定或缺失的网络连接都是常态。因此,为了提供无缝的用户体验,构建一个能够智能响应网络状态变化的应用变得至关重要。本文将介绍如何使用ReactHooks来轻松创建一个网络状态监听器,从而让您的应用能够优雅地应对网络的波动。使用ReactHook监听网络状态变化初始化Hook结构创建一个新文件useNet
在前端项目中开始使用 TailwindCSS

在前端项目中开始使用 TailwindCSS

TailwindCSS近年来在前端圈非常流行,它摆脱了原有的CSS限制,以灵活实用为卖点,用户通过各种class组合即可构建出漂亮的用户界面。对于初学者而言,可能需要一些上手成本,一旦掌握实用技巧后,TailwindCSS会是我们开发工作中的出鞘利刃。TailwindCSS开发期间碰到过TailwindCSS相关的各种问题。想着把TailwindCSS的使用技巧和踩坑经验记录下来,分享给
React 内置 Hook 之 useState 深度解析与使用案例

React 内置 Hook 之 useState 深度解析与使用案例

我们都知道React从16.8版本开始引入了Hooks特性,这对于函数式组件来说是一次质的飞跃。它使得我们可以在不必写成class形式的情况下,使用state和其他特性,使代码更简洁,易读和易于测试。在所有的Hooks中,useState 可谓是基础而且非常关键的一个。我们可通过它在功能组件中声明和操作state,这对于传统只能在class组件中操作state的思维是一次重大改变。这次,
如何有效排除 MySQL 慢查询问题

如何有效排除 MySQL 慢查询问题

MySQL的慢查询是什么?如何排除在现代互联网应用中,MySQL作为一种高效、稳定的关系型数据库管理系统被广泛应用。然而,随着数据量和用户访问量的增长,数据库查询性能问题逐渐显现,尤其是慢查询对系统整体性能的影响尤为显著。所谓慢查询是指那些执行时间超过设定阈值的SQL语句,它们不仅会导致响应时间延长,还可能引发资源争用,进而影响数据库的整体性能。因此,深入理解慢查询的成因,并掌握有效的排查和优化方
基于NestJS 和 TypeORM 实现 CURD RESTful API接口

基于NestJS 和 TypeORM 实现 CURD RESTful API接口

对于服务端项目而言,对外如何提供合格规范的HTTP接口,对内如何优雅的操作数据存储,比如mysql、mongodb。本文是NestJS服务端开发的基础入门教程,我会根据成熟的解决方案,给大家详细介绍如何基于NestJS实现开发RESTfulAPI,其中基于TypeORM操作mysql数据的增删改查。希望通过阅读完这篇文章后零基础的朋友也能够完成简单的服务端项目开发。准备工作1.安装依赖为了方便对m
提升 Git 技能:全面解析 HEAD 的功能与操作

提升 Git 技能:全面解析 HEAD 的功能与操作

在使用Git进行版本控制时,HEAD是一个核心但常常被新手开发者忽视的重要概念。理解HEAD如何工作以及它在Git操作中的作用,对于任何希望精通Git的开发者来说都是至关重要的。本文旨在通过详细讲解,帮助你全面掌握HEAD的概念及其在实际场景中的应用。什么是HEAD?简单来说,HEAD是一个指针,它指向你当前所在的分支或具体的提交(commit)。在Git中,HEAD实际上是一个特殊的引用,存储在
Nextjs 实现页面重定向的两种方案

Nextjs 实现页面重定向的两种方案

由于项目升级导致历史链接不在维护,但是历史页面链接因为各种方式(比如SEO搜素引擎收录,用户自行收藏等)被用户主动直接访问,面对这些问题,前端开发者是需要考虑将历史页面的访问引导到新的落地页面。本文介绍基于nextjs框架如何对历史页面链接进行重定向。方案一通过修改next config文件实现页面重定向,方案二通过修改getInitialProps方法逻辑进行重定向。
如何基于 LangChain 实现 AI Agent

如何基于 LangChain 实现 AI Agent

一、在现代AI应用开发中,Agent能够自主决策和执行任务,极大地提升了自动化能力。LangChainJS是一个专注于JavaScript/TypeScript环境下的强大AI编排框架,支持多种LLM(大语言模型)集成。Ollama则是一个本地化的LLM运行平台,支持如Llama2、Mistral等主流模型。本文将介绍如何基于LangChainJS实现Agent,并使用Ollama提供的模型,实现
基于 Verdaccio 构建自己的私有 npm 仓库

基于 Verdaccio 构建自己的私有 npm 仓库

无论你是公司的开发者,还是个人开发者,你可能都听说过或者使用过npm,这是一个使用广泛的JavaScript包管理器。但是,你是否遇到过以下的问题:你需要一个私有的包存放地方,或者你需要在离线环境下使用包,或者你有一些需要测试的包不能上传到公共npm上。这时,你就可以选择使用Verdaccio搭建一个自己私人的npm仓库。Verdaccio是什么?Verdaccio是一种轻量级、易于扩展的私有np

TA的教程专栏

查看更多
TailwindCSS 使用指南

TailwindCSS 使用指南

Tailwind CSS 是一个流行的 CSS 工具库,它提供了一系列预定义的 CSS 类,可以帮助您轻松地创建漂亮的用户界面。本教程将帮助您深入了解 Tailwind CSS 的高级功能和技术,以帮助您更好地利用这个强大的工具库。 在本教程中,您将学习到: 如何使用 Tailwind CSS 的主题和变量来自定义外观和样式; 如何在 Tailwind CSS 中配置和使用插件来扩展其功能; 如何在 Tailwind CSS 中使用 JS 钩子和样式函数来创建动态样式; 如何在 Tailwind CSS 中创建响应式布局和样式; 如何在 Tailwind CSS 中使用 PurgeCSS 来优化和精简 CSS。 本教程适合那些已经有一定 Tailwind CSS 开发经验,并想要深入了解其高级功能和技术的开发人员。无论您是初学者还是有一定经验的 Tailwind CSS 开发人员,本教程都将为您提供宝贵的学习资源和实践经验。 让我们开始您的 Tailwind CSS 进阶之旅吧!
Typeorm 使用指南

Typeorm 使用指南

TypeORM 是一个流行的 TypeScript ORM(对象关系映射)库,它可以帮助您轻松地将 TypeScript 类映射到关系型数据库表。本教程将帮助您深入了解 TypeORM 的高级功能和技术,以帮助您更好地利用这个强大的库。 在本教程中,您将学习到: 如何使用 TypeORM 中的高级查询和过滤功能来查询和操作数据库; 如何使用 TypeORM 中的实体继承和关系映射来创建复杂的数据模型; 如何使用 TypeORM 中的迁移和数据填充来管理数据库模式和数据; 如何在 TypeORM 中使用存储过程和触发器来扩展数据库功能; 如何在 TypeORM 中使用多数据库和分布式事务来管理复杂的应用程序。 本教程适合那些已经有一定 TypeORM 开发经验,并想要深入了解其高级功能和技术的开发人员。无论您是初学者还是有一定经验的 TypeORM 开发人员,本教程都将为您提供宝贵的学习资源和实践经验。 让我们开始您的 TypeORM 进阶之旅吧!
如何打造属于自己的React组件库

如何打造属于自己的React组件库

随着组件化开发成为前端开发的主流,拥有一套定制化的React组件库变得极其重要。本系列教程将指导你如何设计、开发和维护一个React组件库,不仅满足项目需求,而且易于共享和复用。我们将从React组件的基础知识开始,逐步讲解如何构建可复用组件、如何管理组件状态和生命周期、以及如何通过Prop Types和TypeScript进行类型检查。此外,你还将学习到如何利用Storybook来展示组件、使用Jest和Enzyme进行单元测试,以及如何将你的组件库发布到npm。 通过本系列教程的学习,你将获得创建自己React组件库的全部技能,为你的开发工作带来前所未有的效率和乐趣。
Mongoose 使用指南

Mongoose 使用指南

在本教程中,我们将逐步探索Mongoose——一个在Node.js环境下与MongoDB数据库协同工作的强大库。从基本概念的铺垫到实用技巧的深度剖析,本系列覆盖了Schema设计、数据类型定义、模型创建、查询优化、插件扩展等核心主题。你将学习如何利用Mongoose的Schema来定义数据结构,实现数据验证和类型转换,以及如何通过模型进行数据的增删改查操作。 此外,教程将深入Mongoose的高级特性,包括但不限于索引管理、聚合框架、事务处理和数据迁移。我们将通过丰富的示例和练习,教你如何运用Mongoose来处理复杂查询、关联数据以及性能调优。 随后,本系列教程将深入讨论更高级的特性,如中间件(pre和post hooks)、数据校验、虚拟属性和实例方法,以及如何使用聚合管道进行复杂查询。此外,我们将详细介绍如何处理关系型数据,在Mongoose中实现文档的嵌入和引用,以及如何优雅地处理这些关系。 为了将理论与实践相结合,每一部分内容都包含了逐步的代码示例和实战小项目,帮助你更好地理解和运用Mongoose的功能。我们还会讨论性能调优、错误处理和最佳实践,以确保你能够构建既健壮又高效的Node.js应用。
CSS 入门指南

CSS 入门指南

CSS 是一种用于描述文档样式和布局的样式表语言,它是 Web 开发中不可或缺的一部分。本教程将帮助您从零开始学习 CSS,了解其基本概念和语法,并逐步深入学习其高级特性和实践技巧。 在本教程中,您将学习到: CSS 基础知识,如选择器、盒模型、布局等; CSS 颜色、字体、背景和边框等样式属性的使用; CSS 媒体查询和响应式设计的实现; CSS 动画和过渡的实现技巧; CSS 预处理器,如 Sass、Less 的使用; CSS 框架,如 Bootstrap、Tailwind CSS 的使用。 本教程适合那些想要从零开始学习 CSS 的初学者。无论您是 Web 开发新手还是有一定经验的开发人员,本教程都将为您提供宝贵的学习资源和实践经验。 让我们开始您的 CSS 入门之旅吧!
React 入门宝典

React 入门宝典

React 是一个流行的 JavaScript 库,用于构建大规模、高性能的 Web 应用程序。本教程将帮助您从 React 的基础知识入门开始,逐步深入掌握 React 的高级概念和技术,以成为一名优秀的 React 开发人员。 在本教程中,您将学习到: React 的基础概念和核心原则,如组件、Props、State、生命周期等; 如何使用 JSX 语法编写 React 组件和模板; 如何使用 React 的事件处理、表单处理、样式管理等功能; 如何使用 React Router 实现单页应用程序; 如何使用 Redux 进行状态管理和数据流控制; 如何使用 React 的高级技术,如 Hooks、Context、Portal 等。 本教程适合那些已经有一定 JavaScript 编程经验,并希望进一步学习 React 技术的开发人员。无论您是初学者还是有一定经验的 React 开发人员,本教程都将为您提供宝贵的学习资源和实践经验。 让我们开始您的 React 之旅吧!
Web项目国际化通关手册

Web项目国际化通关手册

React 国际化是指将应用程序适配到不同的语言和地区的过程。在全球化时代,为您的应用程序提供多语言支持将为您的用户提供更好的用户体验,并帮助您扩大全球市场。本教程将帮助您学习如何在 React 应用程序中实现国际化。 在本教程中,您将学习到: React 国际化的基本概念和原则; 如何使用 React Intl 库来实现国际化; 如何在 React 中处理多语言文本、日期、时间和货币等; 如何在 React 中实现动态文本替换; 如何在 React 中切换不同的语言版本; 如何测试和调试国际化应用程序。 本教程适合那些已经有一定 React 开发经验,并想要扩展其应用程序的全球化能力的开发人员。通过本教程,您将学习如何使用 React Intl 库和其他现有工具来实现国际化,从而为您的应用程序提供更广泛的用户群和更好的用户体验。 让我们开始您的 React 国际化之旅吧!
Nodejs 学习指南

Nodejs 学习指南

这是一套全面的Node.js学习指南,覆盖了从基础知识到高级应用的全部必备技能。本教程系列将带领你进入Node.js的世界,一个强大而灵活的JavaScript运行时环境,它让JavaScript不仅仅能在浏览器中运行。你将了解到如何设置Node.js环境、利用npm管理包,以及如何构建第一个应用程序。随着课程的深入,我们会探讨异步编程模型、中间件、RESTful API设计、数据库集成、安全性、测试以及性能优化等进阶主题。 无论你是初学者还是有志于成为全栈开发者,本教程都将为你提供一个扎实的Node.js学习基础和实践路径。
NestJS 最佳实践手册

NestJS 最佳实践手册

在这个全面的NestJS最佳实践手册中,我们将一起探索如何使用NestJS这个强大的Node.js框架来构建可维护、可扩展的企业级应用。从NestJS的基本概念和架构出发,到深入了解其依赖注入、模块化和微服务等核心功能,本手册将为你提供一系列的专业指导和实用技巧。 我们将讨论如何有效地利用TypeScript的强类型能力,如何整合ORM以实现数据库操作,以及如何应用中间件、守卫、过滤器和拦截器来增强应用的安全性和性能。 通过实际案例和模式分析,这本手册不仅会教你如何编写代码,更重要的是教你如何思考NestJS应用的设计和结构,让你成为在现代后端开发领域中的专家。
Nextjs 全栈开发手册

Nextjs 全栈开发手册

在这个系列教程中,您将踏上一段探索 Next.js 的精彩旅程。Next.js 是一款基于 Node.js 和 React 的现代化框架,专为构建快速、静态生成和服务器端渲染的Web应用而设计。无论您是前端新手还是经验丰富的开发者,本教程都将以步骤分解的方式带领您从基础概念到高级功能,全面了解 Next.js 的核心特性。 我们将从 Next.js 的安装和基本配置开始,逐步深入到路由、状态管理、构建优化以及部署策略。通过实际案例,您将学会如何利用 Next.js 提升开发效率,提高应用性能,并构建出具有优秀SEO表现和用户体验的Web应用。 随着本系列教程的深入,您将掌握 Next.js 最佳实践,与此同时,我们还将涵盖如何整合RESTful API和GraphQL、使用静态站点生成(SSG)与服务器端渲染(SSR)的先进技术,以及如何借助 Vercel 等平台,实现无缝的生产部署。 让我们一起开启这次学习之旅,探索 Next.js 带来的无限可能,为您的前端技能树添上一笔重要的一笔。

TA的问题

查看更多

TA的面试题

查看更多
个人成就
  • 获得 0 次点赞
  • 内容获得 0 次评论
  • 获得 0 次收藏