- 博客(59)
- 收藏
- 关注
原创 C# Web 开发从入门到实践
ASP.NET Core 开发指南摘要 ASP.NET Core 是一个跨平台、高性能的开源 Web 框架,支持构建现代 Web 应用。本文介绍了其核心开发流程: 基础入门:通过命令行创建 Web API 项目,演示控制器编写和路由配置 核心概念: 内置依赖注入容器及其生命周期管理 中间件管道处理请求/响应 配置文件(appsettings.json)读取 Web API 开发: RESTful API 设计规范 模型验证(DataAnnotations) CRUD 操作实现 数据库集成:使用 Entity
2026-03-19 10:12:19
255
原创 ASP.NET Core 面试题汇总
ASP.NET Core 是一个跨平台、高性能的开源 Web 框架,用于构建现代的、基于云的互联网应用。它是 ASP.NET 的重新设计,支持 Windows、Linux、macOS,可以部署到 IIS、Nginx、Docker、Azure 等多种环境。跨平台高性能开源统一的 MVC 和 Web API 框架内置依赖注入模块化中间件管道依赖注入是一种设计模式,通过外部注入依赖对象,而不是在类内部创建。ASP.NET Core 内置了轻量级的 DI 容器。
2026-03-19 10:10:01
586
原创 ASP.NET Core 面试八股高频题 + 标准答案精简版
ASP.NET Core 面试要点摘要 ASP.NET Core 是微软推出的跨平台、高性能 Web 开发框架,相比传统 ASP.NET 具有轻量、模块化等优势。其核心特性包括:中间件管道处理请求、依赖注入管理对象生命周期、配置系统读取参数等。Web API 开发涉及路由映射、模型绑定验证、ActionResult 返回结果等机制。EF Core 提供数据库访问能力,DbContext 通常注册为 Scoped 生命周期,通过 Migration 管理数据库结构变更。身份认证方面,JWT 是常用的无状态 T
2026-03-12 10:35:37
227
原创 Next-4-路由导航
Next.js 提供了多种客户端路由导航方式,包括 <Link> 组件和 useRouter Hook,支持动态路由、预加载和事件监听。<Link> 组件可避免整页刷新,支持参数传递和预获取页面;useRouter 则提供编程式导航方法如 push、replace 和 refresh。此外,Next.js 支持自动和手动路由预加载,以及动态路由参数传递。服务端路由导航可通过 redirect 和 permanentRedirect 实现,分别对应临时和永久重定向。这些功能共同提升了页
2025-12-24 17:27:28
187
原创 Next-3-App Router
Next.js 13的App Router引入了基于文件系统的路由系统,支持嵌套路由、服务器组件默认、共享布局和流式渲染等特性。通过文件夹结构定义路由层级,如app/dashboard/page.js对应/dashboard路径。服务器组件可直接异步获取数据,客户端组件需标记'use client'。Layout用于共享UI结构并保持状态,Template在路由切换时重新渲染,适合动态效果。Loading组件可展示加载状态。示例展示了数据获取和客户端交互的实现方式。
2025-12-23 11:58:46
767
原创 Next-2-项目搭建
本文介绍了Next.js项目的初始化与核心配置方法。通过npx create-next-app@latest命令可快速搭建项目,支持TypeScript、ESLint等选项。重点说明了App Router和Pages Router两种路由模式的区别:App Router采用"文件夹即路由"的约定,支持嵌套布局和流式渲染;Pages Router则沿用传统的文件路由方式。文章还对比了两种模式在数据获取、渲染方式、路由跳转等方面的差异,并提供了简单的代码示例,帮助开发者快速理解Next.js
2025-12-22 11:34:12
338
原创 Next-1-启动!
Next.js是基于React的现代Web框架,支持服务端渲染(SSR)、静态生成(SSG)和混合渲染,提供路由、API、图像优化等功能。核心特性包括:SSR提升首屏加载和SEO,SSG优化静态页面性能,内置API路由和图像优化组件。通过文件系统自动映射路由,支持动态路由和数据获取(getStaticProps/getServerSideProps)。可部署到Vercel等平台,还提供中间件、增量静态生成(ISR)和国际化等进阶功能。Next.js结合高性能与开发便捷性,是构建现代Web应用的理想选择。
2025-12-19 11:05:36
300
原创 NestJs-拦截器
NestJS拦截器是基于AOP思想的核心功能,用于在方法执行前后注入逻辑。主要功能包括修改请求/响应数据、异常处理和异步操作。通过实现NestInterceptor接口创建拦截器,支持全局、模块和方法级注册。常见应用场景包括统一响应格式、性能监控和缓存实现。拦截器与过滤器的区别在于前者可修改数据流而后者仅处理异常。最佳实践建议保持职责单一、优先模块注册并优化性能敏感操作。典型示例展示了如何实现数据过滤和响应转换功能。
2025-12-18 17:33:04
386
原创 NestJs-JWT鉴权
JWT 是一种基于 JSON 的安全令牌标准,用于身份验证和授权。它由 Header、Payload 和 Signature 三部分组成,通过密钥签名确保安全性。在 Node.js 中可使用 jsonwebtoken 库生成和验证 JWT,常见应用场景包括无状态会话和分布式系统授权。使用时需注意密钥保护、HTTPS 传输和设置合理过期时间。NestJS 中可通过 @nestjs/jwt 模块实现 JWT 鉴权,结合 Passport 策略进行验证,典型流程包括提取令牌、验证签名并返回用户信息供后续授权使用。
2025-12-18 11:56:02
944
原创 PostgreSql 常用聚合函数
PostgreSQL聚合函数示例展示了15种常用统计方法。基础统计包含count、sum、avg等;扩展统计计算标准差和方差;位运算聚合处理按位操作;字符串和JSON聚合实现数据组合;有序集合函数计算百分位数和众数;假设集合分析数据分布。示例使用临时表demo(id,v,t),包含3条记录,其中v字段含NULL值。所有功能均基于PG15原生支持,无需额外扩展。结果表清晰展示各函数输出,如count(*)返回3而count(v)返回2(忽略NULL),string_agg生成"a,b,c"
2025-12-15 16:39:58
324
原创 NestJs-管道
NestJS 管道与验证机制解析 NestJS 的管道(Pipe)是一种强大的预处理机制,主要用于控制器方法执行前的数据验证和转换。管道通过实现 PipeTransform 接口,可以在请求到达控制器前对输入数据进行处理。 核心功能 数据验证:自动验证输入数据,不符合规则时直接抛出异常 数据转换:将输入数据转换为所需格式(如字符串转数字、普通对象转DTO实例) 内置管道 Nest 提供多个开箱即用的管道: ParseIntPipe:字符串转整数 ValidationPipe:结合 class-validat
2025-12-10 17:55:06
818
原创 LINQ语法
LINQ(Language Integrated Query)是.NET框架中的查询技术,提供两种语法形式:类SQL的查询语法和使用Lambda表达式的方法语法。核心功能包括数据筛选(Where/OfType)、投影(Select/SelectMany)、排序(OrderBy/ThenBy)、分组(GroupBy)、连接(Join/GroupJoin)、集合操作(Distinct/Union)、分页(Skip/Take)、聚合(Sum/Average)以及类型转换(Cast/ToArray)等。LINQ支持
2025-12-04 16:16:08
780
原创 学习React-27-导航
React Router导航功能摘要(149字): React Router提供多种导航方式:1)Link组件生成<a>标签,支持to/replace/state等参数控制跳转行为;2)NavLink可自动高亮匹配路由,支持active/pending状态样式控制;3)useNavigate钩子实现编程式导航,支持路径跳转、历史记录操作和状态传递;4)redirect用于权限路由跳转,v6推荐在loader中返回redirect();5)通配路由"*"处理404页面。关键特性
2025-11-25 17:45:16
866
原创 学习React-26-路由操作(loader&action)
React Router v6.4+引入了loader和action作为数据路由的核心功能。loader用于路由渲染前异步加载数据,通过useLoaderData访问返回数据;action处理路由级数据提交,常与<Form>组件配合。两者都支持异步操作,loader在路由匹配后执行,action处理表单提交。典型流程:页面加载触发loader,用户交互触发action,完成后重新调用loader更新数据。需注意返回可序列化数据,配合错误处理机制使用。
2025-11-25 16:30:12
419
原创 学习React-25-路由懒加载
本文介绍了React Router中的懒加载和useNavigation两大核心功能。懒加载通过React.lazy()和Suspense实现路由组件按需加载,优化首屏性能,并详细说明了其实现方法和注意事项。useNavigation钩子则用于获取导航状态(idle/loading/submitting)和编程式导航,提供了优化用户体验的方案,包括加载状态提示的实现。文章通过代码示例和效果演示,展示了如何在项目中应用这些技术,同时强调了版本兼容性和使用限制等关键点。
2025-11-24 14:43:22
617
原创 学习React-24-路由传参
本文介绍了React Router中三种传递参数的方式: 动态路由(useParams):通过URL路径传参,如/user/123,适合RESTful路由参数 查询字符串(useSearchParams):通过URL查询参数传参,如/search?keyword=react,适合筛选、分页等场景 状态传递(state):通过路由状态对象传参,不暴露在URL中,但刷新后会丢失,适合临时数据传递 三种方式在URL暴露性和刷新保留性上各有特点,可根据具体场景选择使用。
2025-11-24 11:44:23
300
原创 学习React-23-React-router
React Router v7 整合了原先拆分的包,只需安装 react-router。演示了基本路由配置和四种路由模式(BrowserRouter、HashRouter、MemoryRouter、StaticRouter)的特点及适用场景。详细介绍了嵌套路由、布局路由和索引路由的实现方式,包括子路由占位符<Outlet />的使用和懒加载优化建议。提供了从基础配置到高级用法的完整路由解决方案,适用于不同项目需求。
2025-11-22 17:59:49
631
原创 学习React-22-Zustand
Zustand 是一个轻量级 React 状态管理库,提供简洁的 Hook API 和高效性能。其核心特性包括极简的 store 创建方式(create 函数)、无需 Provider 嵌套、自动渲染优化以及中间件支持(如 immer 实现不可变状态、persist 数据持久化)。通过 useShallow 可优化多状态选择时的渲染性能。相比 Redux,Zustand 更适合中小项目,以更简单的代码实现全局状态管理。安装使用方便(npm install zustand),支持 TypeScript 类型推
2025-11-20 13:03:41
788
原创 Docker核心概念与实战指南
Docker是一种轻量级的容器化技术,通过共享宿主机内核实现高效资源利用,相比虚拟机具有启动快、占用小等优势。其核心组件包括镜像(只读模板)、容器(运行实例)和仓库(镜像存储中心)。安装方式支持Linux(原生最佳)、Windows(需WSL)和Mac系统,主要通过命令行操作。常用命令包括镜像管理(pull/images/rmi)、容器管理(run/stop/ps)等,支持端口映射(-p)、后台运行(-d)等参数配置。Docker Hub是官方镜像仓库,可通过配置镜像站解决网络问题,同时需注意不同CPU架构
2025-11-10 17:06:18
889
5
原创 学习React-21-受控组件&非受控组件
在React中,表单处理分为受控组件和非受控组件。受控组件通过state和onChange事件实时控制表单值,适合需要即时反馈和验证的场景,但可能影响性能。非受控组件由DOM管理数据,通过ref在提交时获取值,性能更优但实时性差。开发中应根据需求选择:复杂交互用受控组件,简单表单用非受控组件。示例代码展示了两种实现方式。
2025-10-21 15:29:44
477
原创 学习React-20-useId
useId 是 React 18 新增的 Hook,用于生成唯一且稳定的 ID,主要解决服务端与客户端渲染时 ID 不匹配的问题。它适用于表单元素和无障碍访问场景,可通过拼接字符串为多个关联元素生成 ID。注意:生成的 ID 含特殊字符,不适合直接用于 CSS 选择器;也不应替代列表 key。相比传统手动生成 ID 的方式,useId 确保了跨环境一致性,但需要 React 18+ 支持。
2025-09-29 12:02:14
416
原创 学习React-19-useDebugValue
useDebugValue是React Hooks提供的调试工具,用于在开发者工具中为自定义Hook添加调试标签。它接受两个参数:要展示的值和可选的格式化函数。该Hook主要用于提升自定义Hook的可读性和调试体验,特别是对复杂状态的可视化。使用时需注意:仅适用于自定义Hook,生产环境无影响,且应避免滥用以免干扰开发者工具。配合React Developer Tools使用效果更佳,该工具可通过浏览器扩展商店安装。
2025-09-29 11:54:08
423
原创 学习React-18-useCallBack
React 的 useCallback Hook 用于缓存函数实例,优化性能。它通过依赖项控制函数重建,避免子组件不必要的渲染。适用于函数作为 props 传递或依赖函数引用的场景。需正确设置依赖项,避免闭包问题。通常与 React.memo 配合使用,但要注意避免过度优化。通过对比可见,合理使用能有效减少渲染次数,提升性能。其核心是保持函数地址稳定,而非阻止函数重建。
2025-09-29 09:59:17
608
原创 学习React-17-useMemo
React.memo和useMemo是React中两大性能优化工具。React.memo通过浅比较props避免不必要的组件渲染,适合纯展示型组件;useMemo则通过缓存计算结果优化高开销运算,需配合依赖项使用。二者都可减少重复渲染,但需注意:React.memo仅比较props,useMemo要避免过度使用。典型应用场景包括复杂计算、频繁更新的子组件和引用类型数据缓存。合理使用这些API能有效提升应用性能,但需平衡优化收益与比较开销。
2025-09-26 15:15:47
1056
原创 学习React-16-useContext
摘要:useContext是React Hooks中用于访问Context的API,可避免组件树中逐层传递props。通过React.createContext创建上下文,用Provider提供值,在子组件中用useContext获取。示例展示了主题切换的实现,并说明多Context使用、性能优化(如useMemo)及注意事项(如避免内联对象导致的重复渲染)。React19中已简化Provider语法。
2025-09-24 15:45:43
317
原创 学习React-15-useImperativeHandle
useImperativeHandle 是 React 的一个 Hook,用于自定义子组件向父组件暴露的 ref 属性和方法。它通常与 forwardRef 配合使用,可限制父组件仅能访问指定的实例方法或数据,增强封装性。 核心功能: 通过 createHandle 函数返回需要暴露的对象 依赖项数组控制何时重新计算暴露内容 典型应用场景: 表单校验(父组件调用子组件的提交/重置方法) 封装第三方库时隐藏底层细节 性能优化(避免父组件直接操作子组件DOM) 示例展示了父子组件联动:子组件通过 useImpe
2025-09-23 14:51:08
554
原创 Cordova打包Vue项目成APK——真机调试
Apache Cordova 是一个开源移动开发框架,允许使用HTML/CSS/JS构建跨平台应用。本文详细介绍了Cordova的安装配置及APK打包流程: 环境准备: 安装Node.js和Cordova CLI 配置Java JDK、Android SDK和Gradle 设置ANDROID_HOME等环境变量 项目创建: 使用cordova create命令初始化项目 添加Android平台支持 打包流程: 修改Vue项目的publicPath配置 执行npm run build打包前端资源 将生成文件复
2025-09-20 17:18:10
980
原创 学习React-14-useRef
本文介绍了React中的useRef Hook及其用法。useRef用于创建可变引用对象,在组件生命周期内保持不变,不会触发重新渲染。主要用途包括访问DOM节点和存储可变值。文章通过代码示例展示了基本语法、访问DOM节点、数据存储和计时器案例的两种实现方式(不使用和使用useRef),并对比了效果差异。最后总结了useRef的注意事项:不会随渲染重新初始化、修改不会触发渲染、不能作为hooks依赖项、不能直接获取子组件实例。这些知识点帮助开发者正确理解和使用useRef。
2025-09-18 10:48:09
501
2
原创 学习React-13-useLayoutEffect
摘要: useLayoutEffect是React中用于同步DOM操作的Hook,在浏览器绘制前执行,适合测量布局或防止UI闪烁。与useEffect(异步执行)不同,它会阻塞渲染,适用于需要即时DOM更新的场景,如定位元素、动画初始化等。文中通过对比实验展示了二者的差异:useLayoutEffect会同步处理大量状态更新导致渲染延迟,而useEffect则保持流畅;动画案例中,useLayoutEffect因同步执行导致动画失效。典型应用包括滚动位置恢复、防闪烁调整等,并提供了滚动条记忆的代码示例。使用
2025-09-17 18:02:40
1071
原创 学习React-12-useEffect
本文介绍了纯函数与副函数的区别,重点讲解了React中的useEffect Hook。纯函数具有确定性输出且无副作用,而副函数会修改外部状态或进行I/O操作。useEffect用于管理组件的副作用,其基本用法包含一个effect函数和可选的依赖数组。文章展示了三种使用模式:无依赖(每次渲染后执行)、空依赖(挂载后执行一次)和指定依赖(变量变化时执行)。通过用户信息查询的案例,演示了useEffect的实际应用。最后强调了注意事项:effect异步执行、清理函数调用、避免死循环、正确填写依赖数组,以及Reac
2025-09-15 10:37:10
341
原创 学习React-11-useDeferredValue
React 18的useDeferredValue是一个性能优化Hook,用于延迟非关键内容更新。它会返回状态的延迟版本,在高优先级任务(如用户输入)完成后才更新,适用于输入联想搜索、大数据列表等场景。与useTransition不同,它处理的是被动接收的值而非主动发起的更新。示例展示了如何用它延迟搜索结果的渲染,通过比较原始值和延迟值可显示加载状态。该Hook与并发模式配合,能有效提升交互流畅性。
2025-09-10 16:39:33
543
原创 学习React-10-useTransition
本文介绍了React的useTransition Hook及其应用场景。useTransition用于标记非紧急状态更新,在并发模式下延迟渲染以避免阻塞高优先级交互。它返回isPending标志和startTransition函数,适用于优化渲染性能(如大型列表筛选)和提升用户输入响应。文章通过搜索列表组件示例展示了具体用法,包括API请求封装和列表更新优化。同时指出了两个常见错误:滥用useTransition包裹所有更新以及忽略isPending状态导致用户无法感知过渡状态。示例代码展示了如何正确使用m
2025-09-10 15:07:26
391
原创 学习React-9-useSyncExternalStore
useSyncExternalStore是React 18新增的Hook,用于安全同步外部数据源(如localStorage、Redux、全局变量等)到组件内部,支持并发渲染。它通过subscribe订阅数据变化、getSnapshot获取当前状态快照,并可选的getServerSnapshot处理SSR场景。相比传统useState/useEffect方案,它更安全高效,能避免并发模式和SSR下的常见问题。文章还展示了两个实用案例:实现跨标签页同步的useStorageHook和监听URL变化的useHi
2025-09-03 15:46:53
492
原创 学习React-8-useImmer
useImmer是基于Immer的React Hook,允许以可变方式处理不可变数据。它通过Proxy拦截修改操作,自动生成新对象,保持React不可变性原则。相比原生useState,useImmer简化了嵌套数据的更新(如draft.x.y=z),减少样板代码,但需额外安装。示例展示了对象、数组和reducer的操作方式,对比表格显示useImmer在复杂场景更优,而简单操作稍慢。适合需要频繁更新深层状态或大型对象的场景。
2025-09-02 15:25:31
412
原创 网络通信常见响应码
HTTP和FTP错误代码分类解析:HTTP包含2xx成功(200 OK)、3xx重定向(301)、4xx客户端错误(400/404)、5xx服务器错误(500/503);FTP包含2xx成功(200/226)、3xx中间响应(331)、4xx/5xx错误(421/530/550),分别表示服务不可用、登录失败、文件权限等问题。这些状态码帮助开发者快速定位网络请求问题。
2025-08-28 14:49:45
488
原创 学习React-7-useReducer
本文介绍了React中的useReducer钩子,它用于集中式管理组件状态,适合处理复杂数据类型。文章首先说明了useReducer的基本用法,包括引入、定义方式及其参数说明(操作函数、初始值和可选初始化函数)。然后通过计数器示例展示了useReducer的实际应用,包括状态更新和派发操作。最后重点演示了一个购物车案例,完整实现了商品增删改查、数量调整和总额计算等功能,并提供了TypeScript类型定义和CSS样式。该案例体现了useReducer在管理复杂状态时的优势,遵循了React的不可变原则和组件
2025-08-27 16:18:21
243
原创 学习React-6-useState
React useState 状态管理摘要 useState 是 React Hooks 的核心 API,用于函数组件中的局部状态管理。
2025-08-25 15:54:13
467
原创 委托&事件
本文介绍了C#中的委托(delegate)和事件(event)机制。委托是一种引用类型,类似于函数指针,可用于实现回调方法和事件处理。通过快递派送的生动例子,展示了如何定义委托类型、创建委托实例,并通过委托调用方法。事件机制则通过智能温控器的案例,演示了如何定义事件、订阅事件以及触发事件。最后还展示了委托与事件结合的经典用法,说明发布器类如何通过委托类型事件通知订阅器类。这些机制实现了程序的解耦,使对象间的交互更加灵活高效。
2025-08-13 15:45:36
451
原创 VsCode 配置C#调试工具
本文介绍了在VS Code中配置.NET开发环境的步骤。首先需要安装三个核心插件:.NET Install Tool、C#语言服务和C# Dev Kit,分别负责SDK安装、基础开发功能和高级开发工具。接着详细说明了如何配置调试文档launch.json,包括调试器类型、程序路径、工作目录等关键参数设置,并提供了完整的JSON配置示例。通过图文结合的方式展示了配置文件生成和编辑过程,帮助开发者快速搭建.NET调试环境。
2025-08-13 10:33:19
605
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅