自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 收藏
  • 关注

原创 【Three.js--manual script】 2.RWD

最显而易见的是"和canvas的显示尺寸一样"。renderer.setSize默认会设置canvas的CSS尺寸但这并不是我们想要的。一个是canvas在页面上的显示尺寸, 是我们用CSS来设置的。另一个尺寸是canvas本身像素的数量。调整画布大小是canvas规范的一个有趣部分,如果它已经是我们想要的大小,最好不要设置相同的大小.我们写一个函数来检查渲染器的canvas尺寸是不是和canvas的显示尺寸不一样 如果不一样就设置它。然后我们让id=c的元素的尺寸是容器的100%这里是body标签。

2025-10-29 17:30:54 488

原创 【Three.js--manual script】 1.basic

其次有一个场景图 它是一个树状结构,由很多对象组成,比如图中包含了一个场景(Scene)对象 ,多个网格(Mesh)对象,光源(Light)对象,群组(Group),三维物体(Object3D),和摄像机(Camera)对象。网格(Mesh)对象可以理解为用一种特定的材质(Material)来绘制的一个特定的几何体(Geometry)。你传入一个场景(Scene)和一个摄像机(Camera)到渲染器(Renderer)中,然后它会将摄像机视椎体中的三维场景渲染成一个二维图片显示在画布上。

2025-10-29 14:59:28 521

原创 计算机操作系统--进程与线程的关系

核心定义操作系统资源分配的基本单位(是程序的一次执行过程)操作系统CPU调度(任务调度)的最小单位(进程内的执行单元,不能独立存在)核心区别对比维度进程(Process)线程(Thread)资源分配角色资源分配基本单位(有独立内存/资源)不分配资源(共享进程的内存/资源)CPU调度角色不参与调度(调度的是进程内线程)调度最小单位(CPU直接分配时间片)内存空间独立(进程间内存不共享)共享(同一进程内线程共享代码/数据区)创建/切换开销大(需分配/回收资源)

2025-10-09 12:00:53 491

原创 计算机操作系统--进程:共享内存和管道的差异

共享内存和管道是两种进程间通信(IPC)方式,各有特点。共享内存通过直接映射物理内存实现高速通信,适合大数据量、高频传输场景,但需手动同步;管道基于内核缓冲实现,自带简单同步机制,操作简便但性能较低,适合少量数据传输。共享内存支持任意进程双向通信,而匿名管道仅限有亲缘关系的进程。选择时需根据数据量、通信频率和进程关系等综合考量:高频大数据用共享内存,简单命令交互用管道,无亲缘关系进程通信优先共享内存。

2025-10-04 20:05:25 245

原创 Nodejs--如何获取前端请求

我们要注意的是,require不是直接获取前端请求,而是用来加载其它js模块当我们处理前端请求时,要先引入http模块或者express等模块require它的核心作用就是,用于导入其他 JavaScript 模块(如内置模块、第三方模块或自定义模块)

2025-10-01 17:35:30 246

原创 Vuex的单向数据流模式:State,Getter,Mutation,Action,Module

Vuex的核心概念包括:State存储应用级共享数据;Getter用于数据过滤和格式化;Mutation是修改State的唯一同步方式;Action处理异步操作并通过Mutation间接修改State;Module将复杂Store拆分为模块。State通过store.state或mapState访问,Getter类似computed属性,Mutation通过commit调用,Action通过dispatch触发。Module通过命名空间组织代码结构,避免命名冲突。这些概念共同构成了Vue的状态管理模式,实现

2025-09-28 15:59:54 218

原创 Vue中的路由细节

前端路由通过URL变化实现无刷新组件切换,主要分为Hash和History两种模式。Hash模式利用URL中的#标识路由,监听hashchange事件;History模式使用HTML5 API,监听popstate事件。核心是维护路由-组件映射表,URL变化时匹配并渲染对应组件到<router-view>。实现包括路由配置、跳转方式(声明式/编程式)、嵌套路由、路由守卫和懒加载。History模式需服务器配置支持,将所有请求重定向到index.html。与后端路由不同,前端路由适合SPA应用,由

2025-09-23 22:39:53 495

原创 Vue3中的computed属性

Vue 3 计算属性(computed)的基本用法总结:通过computed()创建响应式属性,默认只读,可通过get/set实现可写计算属性。与methods相比,计算属性具有缓存机制,适合复杂逻辑的复用。在组件中,计算属性可直接在模板使用,自动追踪依赖并更新。示例展示了基本计算、可写计算属性以及优化性能的缓存特性。

2025-09-23 22:10:07 244

原创 理解CSS中的100%和100vh

height:100%和height:100vh的主要区别在于:前者基于父元素高度且需要显式定义,后者直接参照视口高度。100%在父元素无高度时会失效,而100vh不受影响但移动端可能包含地址栏导致显示异常。100%适用于嵌套布局,100vh更适合全屏场景。移动端浏览器对vh单位的实现存在兼容性问题,使用时需注意。

2025-09-21 20:48:44 280

原创 Vue3中对比ref,reactive,shallowRef,shallowReactive

Vue 提供了四种响应式 API:ref 和 reactive 实现深层响应,适用于基本类型或复杂嵌套对象;shallowRef 和 shallowReactive 仅实现浅层响应,适用于性能敏感场景或简单数据结构。深层响应式会递归追踪所有属性变化,而浅层响应式仅监听顶层属性变化,需手动处理嵌套数据更新。根据数据类型和性能需求选择合适的 API:ref/reactive 用于需要深度监听的数据,shallowRef/shallowReactive 用于大型对象或仅需监听顶层变化的场景。

2025-09-18 16:39:44 458 1

原创 数学建模--Ackley函数

【代码】数学建模--Ackley函数。

2025-08-29 14:22:59 359

原创 数学建模--粒子群算法(鸟群捕食,蚁群觅食)及Py代码

粒子群算法(PSO)是一种群体智能优化算法,模拟鸟群觅食行为。算法将每个解表示为粒子,通过个体最优(pbest)和群体最优(gbest)引导搜索,公式为v_i = w*v_i + c1*r1*(pbest_i - x_i) + c2*r2*(gbest - x_i)。Python实现包含初始化、速度位置更新、边界处理等核心步骤。关键参数包括惯性权重w(0.4-0.9)、学习因子c1/c2(约2.0)和粒子数量(20-100)。算法通过迭代逐步逼近最优解,适用于连续优化问题。

2025-08-28 12:47:17 459

原创 Vue中的props方式

Vue 中的 props 是父组件向子组件传递数据的机制。子组件需要声明接收的 props,父组件通过属性方式传递数据。props 可以指定类型、默认值和验证规则,确保数据规范性。需要注意的是,props 遵循单向数据流原则,子组件不能直接修改,需要通过 $emit 通知父组件变更。props 实现了父子组件间的数据通信,子组件声明"要什么",父组件"给什么"。

2025-08-26 22:24:43 361

原创 Vue中的scoped属性

Vue中的scoped属性可以让样式仅作用于当前组件,避免全局污染。原理是通过自动添加唯一属性选择器(如data-v-xxxxxx)实现样式隔离。若需修改子组件样式,可使用::v-deep穿透。示例展示了无scoped时样式全局生效,有scoped时仅当前组件生效的区别,编译后会为元素和样式添加匹配属性以确保局部作用。

2025-08-26 22:19:34 314

原创 用蒙特卡洛法求解三门问题和Π

摘要: 本文通过两个概率实验验证经典理论。三门问题模拟显示:换门策略的中奖概率(2/3)是不换门(1/3)的两倍,与数学推导一致。蒙特卡洛法通过随机撒点估算π值,当采样100,000点时,结果接近3.14,并可视化呈现圆内外点分布。两者均通过Python实现大数据量模拟(百万级/十万级),用统计方法验证理论概率,体现计算机在概率验证中的高效性。实验代码包含关键步骤注释,结果与数学结论高度吻合。

2025-08-25 18:02:25 327

原创 数学建模--灰色关联分析法及Py代码

灰色关联分析法是一种处理小样本、信息不完全系统的分析方法。其核心是通过比较序列曲线相似度来衡量因素间关联程度,无需大量数据或特定分布要求。主要步骤包括:确定参考序列和比较序列,进行数据预处理(初值化、均值化或区间化),计算关联系数和关联度,最后排序分析。关联度越高,因素对系统主行为影响越显著。该方法适用于不确定系统分析,特别适合解决"部分信息已知"的灰色系统问题。文末附有Python实现代码示例,展示了具体计算过程。

2025-08-25 12:49:40 616

原创 数学建模--模糊综合评价法

它针对评价过程中存在的模糊性(如 “好”“较好”“差” 等模糊概念),通过建立模糊集合,将定性评价转化为定量评价,从而对具有多种属性的评价对象做出全面、合理的评价。承认评价过程中的不确定性和模糊性,通过构建隶属函数来描述评价指标与评价等级之间的模糊关系,再结合各指标的权重,最终确定评价对象所属的评价等级,综合得分。方法灵活,可根据不同的评价对象和评价需求选择合适的隶属函数和合成算子。模糊评价矩阵是描述各评价因素对各评价等级的隶属程度的矩阵,记为。” 表示模糊合成算子。,确定评价对象的最终评价等级。

2025-08-24 20:22:24 1074

原创 数学建模--熵权法

摘要:熵权法是一种基于数据变异程度的客观赋权方法,通过计算指标熵值反映其信息量大小。实施步骤包括:数据标准化(正向化与归一化)、计算熵值和差异系数、确定权重。Python实现展示了具体计算过程,适用于绩效评估、方案选优等需要客观权重的场景。该方法强调指标变异程度与权重的关系,变异越大权重越高,反之则低。

2025-08-24 18:04:22 617

原创 数学建模论文注意点

建模特点(模型优点,建模思想和方法,算法特点,结果检验,灵敏度分析,模型检验)5.模型建立:论证严密,说明计算方法或者算法的原理思想依据步骤。数值结果表示:精心设计表格,可能的话采用图形图表。主要结果(数值结果,结论,回答问题的全部结论)不正确不合理时分析原因对算法或模型进行修正改进。基本模型=>简化模型=>模型有效实用。主要数据结果应在正文中列出,不怕重复。6.结果的分析,模型检验及模型修正。采用现有软件说明理由,软件名称。结果的表示:便于比较分析。

2025-08-22 14:34:55 228

原创 数学建模--Topsis(Python)

假设有 3 个方案,每个方案有 4 个评价指标,其中前 2 个为效益型指标,后 2 个为成本型指标。

2025-08-22 13:08:18 354

原创 数学建模--Topsis

它通过构建评价问题的正理想解和负理想解,计算各方案与这两个理想解的距离,进而根据相对贴近度对方案进行排序,以此选出最优方案。正理想解是在各属性上都达到最好水平的虚拟方案,负理想解则是在各属性上都处于最差水平的虚拟方案。通过衡量各实际方案与这两个理想解的接近程度,来判断方案的优劣。根据各评价指标的重要程度,赋予相应的权重$w_j)((j = 1,2,\cdots,n$,且满足。正理想解(V^+):每个指标取加权标准化矩阵中该指标的最大值,即。负理想解(V^-):每个指标取加权标准化矩阵中该指标的最小值,即。

2025-08-22 12:43:29 830

原创 Vue中的methods 和 computed

摘要: methods和computed是Vue中处理数据逻辑的两种方式,核心区别在于执行机制和缓存。methods为普通函数,需主动调用且无缓存,适合事件处理和动态计算;computed则是依赖数据的衍生值,自动更新且缓存结果,适合数据转换和性能优化场景。关键差异包括:methods需加括号调用,每次触发重新执行;computed依赖变化时自动计算,多次访问返回缓存。选择原则:需要动作(如点击事件)用methods,需要结果(如计算总和)用computed。(149字)

2025-08-22 12:27:33 313

原创 Vue的生命周期

周期过程中,自动运行的函数称为生命周期钩子=>让开发者可以在特定阶段运行自己的代码。更新阶段:数据修改,更新视图,相对于前两步,其执行多次。创建:响应式数据=>发送初始化渲染请求。挂载阶段:渲染模板=>操作DOM。Vue生命周期函数(钩子函数)new Vue()创建。

2025-08-21 21:47:33 221

原创 Git的初步学习

如果刚git commit# 回退到上一次提交(HEAD~1 表示上一个版本,~2 表示上两个,以此类推) git reset --soft HEAD~1效果:最后一次提交被“删除”,但修改内容仍在暂存区(可直接git commit重新提交)。

2025-08-19 20:48:16 1049

原创 Javascript中的reduce使用方法

reduce实现求和、求积、分组、过滤等多种功能。

2025-08-18 14:40:41 263

原创 lable中对于for标签的理解

摘要:for属性通过匹配表单元素的id值建立<label>与表单控件的逻辑关联,实现点击标签聚焦对应控件的功能。相比嵌套方式,for属性允许标签和控件分离布局,提供更灵活的结构。使用时需确保for值与目标元素id完全一致,且一个<label>只能关联一个控件。标准用法推荐优先采用for属性而非嵌套方式,尤其适用于复杂界面布局。

2025-07-30 16:19:00 378

原创 HTTP协议之请求报文与响应报文

HTTP报文分为请求报文和响应报文。请求报文包含请求行(方法、URL、协议版本)、请求头(元数据)和请求体(可选数据);响应报文包含状态行(协议版本、状态码)、响应头(元数据)和响应体(返回数据)。两种报文都通过空行分隔头部和主体,Content-Type指定数据类型,状态码表示请求结果。常见请求方法有GET/POST,状态码2xx表示成功,4xx/5xx分别表示客户端/服务器错误。

2025-07-30 15:54:41 1560

原创 HTTP响应状态码

HTTP状态码分为1xx(信息性)、2xx(成功)、3xx(重定向)、4xx(客户端错误)和5xx(服务器错误)五大类。1xx表示请求已被接收继续处理;2xx表示请求成功处理;3xx表示需要重定向操作;4xx表示客户端请求错误;5xx表示服务器处理错误。常见状态码如200(成功)、301/302(重定向)、404(未找到)、500(服务器内部错误)等。状态码帮助开发者快速判断请求结果,前端根据状态码执行不同逻辑,后端应返回精准状态码定位问题。调试时可利用浏览器开发者工具查看状态码辅助问题排查。

2025-07-30 14:36:08 805

原创 Javascript中的instanceof

instanceof是JavaScript中用于检测对象与构造函数关系的运算符,通过检查对象是否在构造函数的原型链上来返回布尔值。其主要用法包括检测对象实例、内置对象类型及继承关系,但对基本数据类型无效。其工作原理是沿原型链查找构造函数原型,可通过模拟实现理解。与constructor相比,instanceof更可靠但存在原型修改失效和跨窗口检测问题。使用时需注意基本类型检测、原型修改及跨窗口引用限制。

2025-07-27 15:59:07 420

原创 JavaScript里的string

本文总结了JavaScript字符串的核心知识点,包括创建方式(字面量和构造函数)、不可变性等特性,以及常用操作方法(查找、截取、转换等)。特别介绍了ES6模板字符串的多行文本、变量嵌入和表达式计算功能,并说明了字符串与数组的相互转换方法。文章通过代码示例展示了字符串的索引访问、长度获取以及replace、split等方法的实际应用,为处理字符串操作提供了实用参考。

2025-07-26 15:44:06 379

原创 JavaScript里的reduce

JavaScript 的 reduce() 方法是一个强大的数组处理工具,通过遍历数组元素并累积计算最终返回单个值。其语法包含回调函数(接收累计值、当前元素等参数)和可选的初始值。常见用法包括数组求和/求积、统计元素频率、数组去重和二维数组扁平化。使用时需注意:空数组必须提供初始值,回调函数必须返回累计值,否则会导致错误。reduce() 功能全面,甚至可以模拟 map() 和 filter() 的功能,但应根据场景选择合适的数组方法。

2025-07-26 15:32:12 259

原创 JavaScript里的Object

摘要: Object 是 JavaScript 中所有对象的基类,提供创建对象的方法和操作对象的工具。通过构造函数 new Object() 或字面量 {} 创建对象。静态方法如 Object.keys() 获取属性名数组,Object.assign() 合并对象,Object.defineProperty() 定义属性特性。实例方法包括 toString() 返回字符串表示,hasOwnProperty() 检查自身属性,valueOf() 返回原始值。这些方法为对象操作提供了基础支持,适用于属性遍历、拷

2025-07-26 15:09:32 325

原创 WebAPIs里的filter

JavaScript数组的filter()方法用于筛选数组元素,返回满足条件的新数组。基本语法为const 新数组 = 原数组.filter(回调函数),回调函数接收当前元素、索引和原数组作为参数,返回布尔值决定元素保留与否。常见用法包括:1)筛选数值(如大于5的数字);2)筛选对象数组(如符合条件的男生);3)结合箭头函数简化写法;4)数组去重(保留首次出现的元素)。filter()不会修改原数组,总是返回新数组。

2025-07-26 13:49:40 321

原创 层次分析法代码笔记

层次分析法(AHP)通过一致性检验和三种权重计算方法(算术平均法、几何平均法、特征值法)为多准则决策提供量化支持。一致性检验(CR<0.1)确保判断矩阵逻辑合理,三种权重计算方法各具特点:算术平均法简单直观,几何平均法削弱极端值影响,特征值法基于矩阵理论。代码展示了完整的计算流程,包括矩阵定义、特征值提取、归一化处理和权重计算,为决策分析提供实用工具。

2025-07-23 11:55:03 438

原创 WebAPIs--新增学员案例

这是一个学员管理页面的HTML代码片段,主要包含以下功能: 前端页面设计: 采用响应式布局,适配不同设备 包含新增学员表单和就业榜表格两个主要区域 使用简洁的样式设计,包括表单输入框、按钮和数据表格 功能实现: 表单可录入学员姓名、年龄、性别、薪资和就业城市 提供录入按钮,点击后验证输入并添加到学员数组 表格区域用于展示已录入的学员信息 技术特点: 使用原生HTML/CSS/JavaScript实现 包含基本的表单验证 采用现代ES6语法(let声明变量) 预留了动态渲染表格的函数框架 代码结构清晰,适合作

2025-07-22 22:00:27 102

原创 JS--M端事件

摘要: 移动端开发需处理触摸和手势两类交互事件。触摸事件(touchstart/move/end)用于单指操作,包含位置信息;手势事件(gesturestart/change/end)支持双指缩放/旋转。相比click,触摸事件无300ms延迟,但需注意穿透和滑动冲突问题,可通过preventDefault()或防抖优化。复杂场景推荐使用Hammer.js等库简化开发。核心目标是实现流畅的触摸响应和精准手势识别。(149字)

2025-07-22 19:38:06 577

原创 JS WebAPIs DOM节点概述

本文介绍了DOM节点的基本概念和操作方法。DOM节点分为元素节点、属性节点和文本节点三类。重点讲解了节点查找方法,包括通过父节点、子节点和兄弟节点的关系查找元素。同时介绍了增加节点(创建、插入、克隆)和删除节点的操作,并比较了删除节点与隐藏节点的区别。文中提供了JavaScript代码示例,演示了parentNode、children、previousElementSibling等常用DOM操作属性的使用方法。

2025-07-22 19:21:15 147

原创 JavaScript--日期对象

本文介绍了JavaScript中Date对象的常用操作,包括创建日期对象(支持时间戳、字符串等多种格式)、获取/设置日期时间信息、日期格式化方法(需手动拼接)、以及基于时间戳的日期计算。同时提供了实时时钟和倒计时两个典型应用场景实现代码。特别提醒注意月份从0开始计数和时区差异问题,建议使用时间戳或ISO格式避免时区问题。这些方法覆盖了日常开发中日期处理的核心需求。

2025-07-22 15:17:56 430

原创 CSS中的transform

在 CSS 中,transform是用于用于用于对元素进行的属性,可实现旋转、缩放、平移、倾斜等效果,且不会影响其他元素的布局(不会触发重排)。

2025-07-22 12:55:01 1279

原创 WebAPIs事件流与事件委托与其他事件

本文介绍了JavaScript中的事件处理机制,包括事件流、事件委托和常用事件类型。事件流分为捕获(自上而下)和冒泡(自下而上)两个阶段,实际开发中主要使用冒泡。可通过stopPropagation()阻止冒泡,使用removeEventListener解绑事件。事件委托利用冒泡原理,通过父元素监听子元素事件,提高性能。文中还讲解了页面加载、元素滚动和窗口尺寸变化等事件的应用,如滚动时改变导航栏样式、实现回到顶部按钮等功能。这些技术能有效优化网页交互体验。

2025-07-21 21:47:44 1099

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除