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

TA的文章

查看更多
React 支持多语言国际化 -- i18next

React 支持多语言国际化 -- i18next

前言如果我们的项目需要更多的流量,支持其他国家的语言是必不可少的。对于React项目我们该如何实现项目多语言,让工程走向国际化,本文将介绍目前最通用的解决方案i18next。准确是说i18n并不仅仅是为React而生,为了支持React项目,我们还需要引入react-i18next插件。本文将通过简单的例子解释i18next的核心功能,下图是最终效果。
基于pnpm 实现前端 Monorepo项目管理

基于pnpm 实现前端 Monorepo项目管理

随着软件开发项目变得越来越庞大和复杂,如何有效管理和维护代码库成为了一个重要的问题。一种流行的解决方案是Monorepo,也就是在一个版本控制系统中管理所有的项目代码。什么是MonorepoMonorepo是一种项目代码管理方式,指单个仓库中管理多个项目,有助于简化代码共享、版本控制、构建和部署等方面的复杂性,并提供更好的可重用性和协作性。什么是Pnpmpnpm 是一款快速、高效的Jav
华为算法面试题 - 机试

华为算法面试题 - 机试

进制转换进制转换__牛客网两数之和两数之和__牛客网明明的随机数明明的随机数__牛客网字符个数统计字符个数统计__牛客网NC68跳台阶跳台阶__牛客网坐标移动坐标移动__牛客网密码验证合格程序密码验证合格程序__牛客网删除字符串中出现次数最少的字符删除字符串中出现次数最少的字符__牛客网整数与IP地址间的转换整数与IP地址间的转换__牛客网输入整型数组和排序标识,对其元素按照升序或降序进行排序输入
一文教会你如何使用 Vercel 部署你的 NestJS 应用

一文教会你如何使用 Vercel 部署你的 NestJS 应用

这篇文章详细解析了如何使用Vercel免费部署Nestjs项目的步骤。首先,我们需要在Nestjs项目中添加Vercel的配置文件。接着,我们将项目上传到GitHub,然后授权给Vercel。选择GitHub上的项目,通过Vercel平台创建新项目并完成部署。此外,如果你想使用个人域名访问你的服务,Vercel也提供了这样的支持,你只要有一个通过备案的个人域名,就可以将其配置到你的Vercel项
在Cypress 中如何 Mock 自定义请求数据

在Cypress 中如何 Mock 自定义请求数据

Cypress如何Mock请求数据在现代的前端开发中,端到端的测试成为了保证应用质量的关键部分。Cypress是一个强大的端到端测试框架,它允许我们模拟后端API的请求和响应数据,以便我们能在开发过程中测试前端功能,即使后端尚未完全实现。这篇文章将会教你如何在Cypress中模拟请求数据。Mock请求数据的静态方式Cypress提供了.intercept()方法,它允许我们拦截应用中的HTTP请求
React 使用 Recoil 和 LocalStorage 实现状态持久化

React 使用 Recoil 和 LocalStorage 实现状态持久化

实现Recoil状态与LocalStorage的无缝集成,而不在业务组件中直接操作,我们可以使用Recoil的高阶工具——effect。Effect允许我们在atom的配置中直接定义与外部资源的交互,从而将持久化逻辑与业务组件解耦。下面是如何创建自动同步到LocalStorage的Recoilatom的步骤。实现步骤一、创建Recoil状态(atom)并添加effect首先,我们创建一个Recoi
一篇文章学会如何使用 NestJS 的五种 Provider 提供者

一篇文章学会如何使用 NestJS 的五种 Provider 提供者

在构建复杂的后端应用中,如何有效地管理和彼此协作的各个部分,以及如何共享和复用功能已成为开发者们重要关注的问题。覆盖这些需求的一种技术就是NestJS中的Providers。这次,让我们一起深入探讨这个关键概念,解密Providers的奥秘,了解它们是如何提供和分配服务的。在这篇文章中,我们将学习五种主要的Provider类型:值提供者、类提供者、工厂提供者、异步工厂提供者和别名提供者,以及如何在
如何使用TypeScript范型提升代码复用性

如何使用TypeScript范型提升代码复用性

什么是TypeScript范型TypeScript的范型(Generics)是一种创建可重复使用的组件的方式,这种组件可以对多种数据类型进行操作。范型本质上是为参数化的类型系统提供了工具,它提供了一种方法,能让你在定义函数、接口或类时不具体指定类型,而是在使用时再明确类型。普通类型和范型最主要的区别普通类型在编码阶段就已经确定了数据类型,对于不同类型的处理需要写多个函数或者类;范型则使用一种动态的
响应式设计:使用REM实现自适应字体缩放

响应式设计:使用REM实现自适应字体缩放

在构建现代网站时,支持不同设备的屏幕尺寸是前端开发者面临的重要挑战之一。为了提供更好的用户体验,网页上的内容,尤其是文字需要能够随着屏幕尺寸的变化而适应不同的显示需求。相比于传统的固定单位(如px),rem(rootem)单位提供了一种更加灵活且容易实施的解决方案,使得我们能够轻松实现屏幕放大缩小时页面文字能够跟随屏幕比例自动调整的设计。在本教程中,我将带大家了解何为rem单位,并演示如何使用它来
如何封装React无限滚动加载列表组件【含源码】

如何封装React无限滚动加载列表组件【含源码】

前言由于需要考虑后端接口的性能问题,我们在请求业务数据列表的时候并不能直接请求全量数据。所以我们在请求数据时常见的方式是做分页查询。对于前端交互而言,我们需要考虑如何优雅的让用户触发请求下一页数据的接口。常用的方法有两种:1.提供显示的分页器,让用户自己手动点击下一页;2.业务滚动到某个阈值时自动触发下一页请求。对于移动端,滚动加载的交互是更加优雅的处理方式。对于滚动加载的能力,我们需要一个公共的
Node 通过 http 协议上传文件到服务器

Node 通过 http 协议上传文件到服务器

前言:web端上传图片、文件等流化数据,一般使用form表单方式,或者通过Ajax方式上传时就使用FormData来承载流化数据。具体可以参考AJAX图片上传功能实现(点击,拖拽,粘贴)Koa服务端同时也存在需要使用Node操作方式上传文件到http服务器上,下文详细记载。一、requestnode端添加request依赖库npminstallrequest文件上传操作constpath=requ
JavaScript 实现快速排序算法

JavaScript 实现快速排序算法

快速排序,一种被广泛认可和使用的排序算法,因为其高效率和优秀的平均案例性能而闻名。它的核心理念是“分而治之”,通过递归的方式将大问题化成小问题解决。本篇文章将介绍如何使用JavaScript来实现这个算法,让你的数组排列得井井有条。基本思想快速排序的基本思想非常简单:选择基准值(Pivot):从数组中选择一个元素作为基准值,通常选择第一个元素或最后一个元素。分区操作(Partitioning):
NestJS 如何使用服务发现 Consul 实现高效的微服务节点管理

NestJS 如何使用服务发现 Consul 实现高效的微服务节点管理

在微服务架构中,服务发现是一项基础且关键的功能,它允许服务实例在网络中被动态发现。Consul是一种服务网格解决方案,提供了服务发现、运行状况检查,过去和现代应用程序的连接等功能。本教程将向您展示如何在NestJS框架中集成Consul实现服务发现的能力。什么是ConsulConsul是由HashiCorp公司开发的一种服务网格解决方案,它提供完整的服务网格特性,并且可以在任何运行您的应用程序的环
CentOS定时运行Cypress自动化测试用例并通过邮件通知结果

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

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

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

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

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

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

Nodejs 使用 replaceAll 方法的四种方式

在Node.js中,可以使用几种方法来实现replaceAll功能,也就是在一个字符串中替换所有出现的子串。以下是一些常用方法:使用String.prototype.replace()与正则表达式在JavaScript(因此也包括Node.js)中,你可以使用String.prototype.replace()方法结合全局(global)正则表达式来替换所有匹配的字符串。例如:letstr="he
 如何使用 Cypress 进行 Cookie 操作

如何使用 Cypress 进行 Cookie 操作

在现代的Web开发中,Cookie是维护状态、实现用户跟踪和进行会话管理的一个非常重要的组成部分。对于前端开发者来说,了解如何在自动化测试中操作Cookie是非常重要的。Cypress是一个非常流行的前端自动化测试工具,它支持对Cookie的操作。本教程将向你展示如何使用Cypress来获取、设置和清除Cookie。Cypress是什么?Cypress是一个前端自动化测试工具,它提供了用于模拟用户
如何使用 git stash 暂时缓存 git 工作区或暂存区的内容改动

如何使用 git stash 暂时缓存 git 工作区或暂存区的内容改动

在日复一日的代码开发过程中,我们经常会遇到这样的情境:你正在开发一个新功能,但是突然需要切换到另一个分支处理一个紧急bug。这个时候,你的代码又处于半成品状态,既不想提交一个半成品的commit,又不想丢失当前的工作进展。这时候,gitstash就是你的救星。今天,我们就来深入了解一下这个强大的Git工具。gitstash是什么gitstash命令可以将你的工作区和暂存区的改动“储藏”起来,让你得
如何使用 Next.js 和 i18next 实现网站多语言版本翻译

如何使用 Next.js 和 i18next 实现网站多语言版本翻译

在构建一个面向全球受众的现代网络应用程序时,提供多语言支持变得至关重要。Next.js作为一个功能丰富的React框架,它支持国际化(i18n)的功能,让开发者能够轻松地创建多语言网站。在这篇教程中,我将指导你如何使用Next.js和i18n实现网站翻译。实现步骤一、安装依赖Next.js支持多种国际化库。对于本教程,我们将使用next-i18next,这是一个为Next.js项目优化的i18n库

TA的教程专栏

查看更多
Cypress 通关指南

Cypress 通关指南

项目的稳定性是项目迭代过程中最重要的关注点,在Web应用开发中,如何保证程序的高质量,可靠和良好的用户体验是指关重要的。为了达到这些目标,E2E自动化测试是不可或缺的环节。 目前市面上流行的E2E自动化框架中,cypress是基于JavaScript编写用例的框架,作为前端开发者,可以轻松接入E2E自动化测试。 Cypress为开发者提供了简洁、高效的测试方法,无论是对于初学者还是经验丰富的开发者,都能迅速上手。 本教程将详细的介绍Cypress的用例编写技巧和进阶用法。
Eslint 使用指南

Eslint 使用指南

代码质量对于任何规模的前端项目都是至关重要的一环。通过本系列教程,你将学习如何利用 Eslint —— 一个强大的 JavaScript 代码检查工具 —— 来提升代码的一致性和避免常见错误。 本教程将引导你从 Eslint 的基础知识开始,详细了解其配置过程、内置规则以及插件系统。如何为项目定制规则集,以满足特定编码标准和风格指南的需求。同时,也会学习到如何集成 Eslint 到现代前端工作流中,包括与代码编辑器、构建系统和持续集成/持续部署(CI/CD)环境的融合。 针对不同的前端框架和库,如 React、Vue、TypeScript 等,提供专门的指导和最佳实践,确保你能在各种开发场景下充分利用 Eslint。此外,教程也会讨论如何处理 Eslint 报告的问题,以及如何与团队成员合作,共同推广代码质量标准。
Recoil 使用指南

Recoil 使用指南

随着复杂前端应用的兴起,传统的状态管理解决方案面临诸多挑战。Recoil 是为 React 应用量身定制的状态管理库,本系列教程旨在通过通俗易懂的语言和丰富的实例,带领开发者从基础概念入手,进一步掌握 Recoil 的核心 API、原理、以及与 React 的天然集成。 本教程将讨论 Recoil 的关键特性,如原子(atom)、选择器(selector)、以及其他高级功能,逐步展示如何利用 Recoil 构建高效、可维护的状态管理体系。此外,教程还会涵盖性能优化、测试策略、以及常见问题和解决方案,确保你能够在实际项目中灵活运用 Recoil。
Typeorm 使用指南

Typeorm 使用指南

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

Git 最佳使用指南

在现代软件开发中,版本控制系统是不可或缺的工具,而Git是其中最流行的选择。这本《Git战胜指南》是为希望精通Git的开发者而设计的,包含从基础概念到高级技巧的全面介绍。我们将从Git的安装和基础配置开始,指导你通过实践学习如何进行提交(commit)、分支(branch)、合并(merge)和冲突解决。进阶章节将涵盖更复杂的主题,如分支策略、远程仓库管理、标签、钩子(hooks)和子模块(submodules)。此外,本手册还包括日常工作流程中的最佳实践和常见问题解决方案,以及如何使用Git来提高团队协作的效率。 通过这个通关指南,你将能够自信地使用Git来管理复杂的开发项目,并将其作为你软件开发技能集的一部分。
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 之旅吧!
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 带来的无限可能,为您的前端技能树添上一笔重要的一笔。
Mongoose 使用指南

Mongoose 使用指南

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

Koa.js 学习手册

这是一系列为前端开发者量身打造的综合指南,旨在帮助你从基础到高级,全面掌握Koa框架。我们将通过实战案例、核心概念剖析以及最佳实践分享,带你一步步深入了解Koa的运作原理和优雅的API设计。 无论你是初学者还是希望扩展你的Node.js知识库的资深开发者,这个系列教程都将是你不可或缺的资源。我们将从Koa的安装与构建开始,逐渐深入到中间件的使用、路由管理、异常处理和性能优化等高级话题,确保你能在Web开发的实战中运用Koa进行高效、模块化的开发。

TA的问题

查看更多

TA的面试题

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