- 博客(35)
- 收藏
- 关注
原创 Node.js 渲染三维模型并导出为图片
这篇博客将介绍如何在Node.js中使用Three.js进行 3D 模型渲染。通过结合gl和canvas这两个主要依赖库,我们能够在服务器端实现高效的 3D 渲染。这个方法解决了在服务器端生成和处理 3D 图形的需求,使得可以在各种平台上展示复杂的 3D 内容安装依赖,为threeJS模型提供渲染环境安装时,需要准备canvas所需要的一些前置依赖。因为这个依赖也是依赖了canvas这个依赖的,所以需要准备canvas所需要的前置条件,canvas前置条件准备步骤安装,构造window和document。
2024-06-22 16:09:49
1494
9
原创 js动态设置关键侦@keyframes
在 Vue 项目中由于 css 样式是直接写在 style 标签中的,那些值都是事先写死的,比如说上面的 translateX(disX),disX 是通过 js 动态计算出来的。// 每次添加新的规则之前,可以将之前的规则给删除掉,这样就可以避免第一个样式表的规则里面有多条重复名称的 keyframes,避免相同名字的 keyframes 前者被后者覆盖。// 这里始终将新的 keyframes 规则添加在第一个样式表的第一条。// 这里始终将新的 keyframes 规则添加在第一个样式表的第一条。
2024-01-13 17:50:21
2228
原创 JavaScript中的事件循环(Event Loop)
javaScript是单线程的,意味着它一次只能执行一个任务。然而,许多操作,如网络请求、定时器等,都会导致延迟,如果程序在等待这些操作完成时,可能会操作一个阻塞的效果,影响用户体验。这个时候就需要事件循环来进行一个调节:通过合理的安排任务的执行顺序,使得异步任务能够以非阻塞的方式运行。在搞清楚事件循环之前,需要明白javaScript中的任务、任务队列等概念。
2023-08-27 20:46:05
345
原创 Promise的使用
第一个回调函数完成以后,会将返回结果作为参数,传入第二个回调函数。是异步编程的一种解决方案,比传统的解决方案——回到函数和事件——更合理和更强大。这是,前一个回调函数,有可能返回的还是一个。其次,如果不设置回调函数,),在异步操作失败时调用,并将异步操作抛出的错误,作为参数传递出去。),在异步操作成功是调用,并将异步操作的结果,作为参数传递出去。此时,第二个方法指定的回调函数,就会等待这个新的。构造函数接受一个函数作为参数,该函数的两个参数分别是。对象(即有异步操作),这是后一个回调函数,就会等待改。
2023-06-24 11:12:17
340
原创 使用TypeScript实现一个浏览器事件的集中管理
浏览器的事件模型是一种基于事件驱动的编程模型,用于处理用户与浏览器交互时触发的各种事件。浏览器事件模型的主要优点是它可以使开发人员更加灵活地处理用户交互,并且可以通过事件委托等技术来提高性能。类来创建一个事件管理器,并使用它来注册、移除和触发事件。DOM节点的事件操作(监听和触发),都定义在。所有节点对象都部署了这个接口。在这个示例中,我们定义了一个。该接口主要提供了三个实例方法。
2023-06-07 20:32:16
1070
原创 TypeScript学习——泛型
是一种类型占位符,这种类型占位符告诉我们的(function、class或interface)我们在调用它时想要使用什么类型。就像一个占位符、或者说一个变量,在使用的时候可以把定义的类型像参数一样传入,它可以原封不动地输出。指的是在定义函数、接口或者类的时候,不预先指定具体的类型,而是在使用的时候在指定类型。这时可以通过 interface 来约束泛型。我们在使用可以有两种方式指定类型。属性,从而使得函数参数具有了。
2023-04-07 10:36:33
1430
原创 watch 和 watchEffect
会立即执行一遍回调函数,如果这时函数产生了副作用,Vue会自动追踪副作用的依赖关系,自动分析出响应源。注意,需要异步创建侦听器的情况很少,请尽可能选择同步创建。是懒执行的:仅当数据源变化时,才会执行回调。但在某些场景中,希望在创建,就立即执行一次(我们也可以使用。语句创建,如果使用异步语回调创建一个侦听器,那么它不会绑定到当前组件上,你必须手动停止它,以防内存泄漏。中用同步语句创建的侦听器,会自动绑定到宿主组件实例上,并且会在宿主组件写在时自动停止。在这个例子中,回调函数会立即执行。),此时我们可以使用。
2022-11-03 11:29:43
946
原创 Vue基础
1. Vue简介1.1 什么是 Vue官方概念:Vue 是一套用于构建用户界面的前端框架1.2 Vue 的特性(两个核心)数据驱动视图在使用了vue 的页面中,vue 会监听数据的变化,从而自动重新渲染页面结构。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-praodxFJ-1652883437021)(C:\Users\肖锦顺\AppData\Roaming\Typora\typora-user-images\1649771840707.png)]好处:当
2022-10-26 17:34:12
425
原创 Vue3中watch监听对象的属性值,监听源必须是一个getter函数
Vue3中watch监听对象的属性值,监听源必须是一个getter函数
2022-09-08 17:15:29
11422
3
原创 圣诞树,Python输出(笔试题)
Python输出圣诞树Description本题要求你写程序把给定的符号打印成圣诞树森林的形状。每颗圣诞树有两部分组成,分别是上面的树冠和下面的树干,两部分的高度分别输入决定。树冠每行由奇数个符号组成,各行符号中心对齐,相邻两行符号数相差2,第1行由1个符号组成,然后每行的符号数从小到大顺序递增。树干第行由1个符号组成,位于树冠的中心位置。圣诞树森林,共由K颗圣诞树组成,每颗树的树冠高度为N,树干高度为M,每行排列输出3颗圣诞树,每颗圣诞树之间空一格,不够3颗的向左对齐输出其中,1<=
2022-03-23 22:15:34
3033
原创 冒泡排序与选择排序(C语言实现)
冒泡排序与选择排序:#include<stdio.h>int main(){ int a[10] = {1,2,3,4,5,6,7,8,9,10}; printf("**********冒泡排序**********\n"); printf("原序列:"); for(int i=0;i<10;i++){ printf("%d ",a[i]); } printf("\n"); //冒泡排序 // n个数,要进行n-1趟比较,第1趟比较需要比较n-1次 //第j趟比
2021-10-24 22:49:40
752
原创 泰迪杯数据挖掘挑战赛—机器学习(三)
机器学习(三)数据处理完之后,就可以进行机器学习了在处理A题时,我们小组主要是采用了两种机器学习的方法。逻辑回归与KNN算法。在上一篇文章中,我已经说过了需要选取一个指标来评判选择的机器学习模型的好坏。其中一个方法是使用混淆矩阵,一般是选择混淆矩阵中的准确率来作为模型的评判标准。但是这次A题给定的数据太过于失衡,虽然做了数据不平衡处理,但是在训练模型的时候依然会有影响。比如说:训练集中有1000个公司是非造假公司,10个公司是造假公司;测试集有100个样本,其中有10个造假公司。将训练集通
2021-05-18 00:34:12
714
原创 泰迪杯数据挖掘挑战赛—机器学习(二)
机器学习(二)机器学习(二),用于机器学习的数据一定要是数据平衡的,如果数据严重失衡的话,那么对于机器学习来说,可能会学习不出什么出来。就好比这次的赛题来说,造假公司与非造假公司的数量比达到了1:100,如果直接使用这样不平衡的数据去进行机器学习,那么就会导致训练的结果偏向于非造假公司,可能到时候预测出来的结果会公司全是非造假公司。数据不平衡处理(过采样)在进行机器学习之前,我们首先要搞清楚,选着哪一种机器学习来建立模型,在比较机器学习时,用什么指标进行比较。这是我们在进行机器学习之前需要考虑的。
2021-05-15 23:10:03
578
原创 泰迪杯数据挖掘挑战赛—机器学习(一)
机器学习(一)之前文章一、数据预处理(一)二、数据预处理(二)之前的两篇文章主要讲解了在需要做的准备工作,数据预处理。数据处理完成之后,我们接下来就要做机器学习来预测数据了。数据不平衡处理需要注意:这次的A题,在数据上是非常失衡的从图中可以看出,造假公司与非造假公司数量相差极大,样本数据严重失衡。严重失衡的样本将会导致在后面的机器学习中,使得学习结果更加偏向于非造假公司,导致预测结果出现较大的偏差。本题在处理数不平衡时主要是考虑了下采样算法与过采样算法。过采样处理过采样主要是通过合成
2021-05-14 22:13:03
1605
原创 泰迪杯数据挖掘挑战赛—数据预处理(一)
第九届泰迪杯数据挖掘挑战赛在这里分享一下,我参加的第九届泰迪杯数据挖掘挑战赛的一下小小的经验!!!我们小组在这次比赛中选择的赛题是A题。对于数据挖掘,我们小组就是那种纯属小白的,菜鸟中的菜鸟。。。。。进入正题:参加数据挖掘挑战赛,首先要搞清楚数据挖掘的整个过程。数据预处理在数据挖掘中是非常非常重要的就拿我们这次的 A题来说,题目所给的数据一共有两万多条,有360多个指标,拿到数据首先做的就是预处理了1.空值处理主要是针对A题做的预处理。拿到A题数据,首先发现有很多指标是没有值的,因为我们
2021-05-10 00:41:47
3066
2
原创 Ubuntu系统配置java环境问题
Ubuntu系统配置java环境问题准备:安装java:sudo apt install -y default-jdk安装完成后检查是否安装成功Java –version #查看java版本号安装vim编辑器sudo apt install vim查看是否安装成功输出一下界面,安装成功准备工作完成:开始配置java环境获得java安装路径获得java安装路径为/usr/lib/jvm/java-11-openjdk-amd64/打开profile文件,添加java路径
2021-04-14 23:16:53
683
1
原创 区块链工作原理(二)
区块链工作流程1.发送节点将新的数据记录向全网进行关闭2.接受节点对收到的数据记录信息进行验证,比如信息是否安全合法,通过检验后,数据记录将被纳入一个区块中3.全网所有接受节点对区块链执行共识算法(工作量证明,权益证明等)4.区块通过共识算法过程后被正式纳入区块链存储,全网节点均表示接受改区块,而表示接受的方法,就是将该区块的随机散列值视为最新的区块散列值,新区块的制造将以该区块链为基础进行延长节点始终都是将最长的区块链视为正确的链,并持续以此为基础验证和延长它。如果有两个节点同时广播不同版本
2021-02-01 21:09:00
612
原创 区块链工作原理(一)
拜占庭将军问题起源拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了达到防御目的,每个军队都分隔很远,将军与将军之间只能靠信差传消息。 在战争的时候,拜占庭军队内所有将军和副官必须达成一致的共识,决定是否有赢的机会才去攻打敌人的阵营。但是,在军队内有可能存有叛徒和敌军的间谍,左右将军们的决定又扰乱整体军队的秩序。在进行共识时,结果并不代表大多数人的意见。这时候,在已知有成员谋反的情况下,其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,拜占庭问题就此形成。
2021-01-31 17:18:25
294
1
原创 区块链的基本概念(三)
区块链的特征去中心化去中心化是区块链最基本的特征,意味着区块链不在依赖中央处理节点,实现了数据的分布式记录、存储和更新。由于使用分布式存储和算力,不存在中心化的硬件和管理结构,全网节点的权利和义务均等,系统中的数据本质是由全网节点共同维护的。由于每个区块链节点都必须遵循同意规则,而该规则基于密码学而非信用,同时每次数据更新都需要网络内的其他用户批准,所以不需要一套第三方中介结构或信任机构背书。在传统的中心化网络中,对于一个中心节点实行攻击即可破坏整个系统,一个中心化的区块链网络中,攻击单个节点无法
2021-01-27 12:43:33
1814
原创 区块链的基本概念(二)
区块链的分类目前已知的区块链技术应用大致分为三类公有链:是指全是解任何人都可以读取、可以发送交易进行有效去确认,任何人都能参与其共识过程的区块链(共识过程是维持区块链这种分布式数据库一致性、准确性的关键技术)。区块链上的数据记录公开,所有人都可以访问,都可以发出交易请求,并通过验证被写入区块链。共识过程的参与者通过密码学技术共同维护公有链数据的安全、透明、不可篡改。公有链是完全分布式的区块链,区块链连数据公开,用户参与程度高,同时易于产生网路效应,便于应用推广。然而,系统的运行需要依赖于内建的激
2021-01-25 17:54:54
748
原创 区块链基本概念(一)
区块链的基本概念其概念为:区块链是一个去中心化的分布式数据库,改数据库有一串使用密码学方法产生的数据区块有序连接而成,区块中包含有一定时间内产生的无法被篡改的数据记录信息。区块中包含数据记录、当前区块根哈希(Hash)、前一区块根哈希、时间戳以及其他信息区块链不是一种单一的技术,而是多种技术整合的结果,包括密码学、数学、经济学、网络科学等。这些技术一特定的方式组合在一起形成了一种去中心化数据记录与存储体系,并给存储数据的区块打上时间戳,使其形成一个连续的,前后关联的诚实数据记录存储结构,最终的目的是
2021-01-24 18:22:31
1514
原创 定点补码一位除(加减交替算法)
定点补码一位除(加减交替算法)X÷\div÷YX为被除数Y为除数补码加减交替算法算法规则如下:1.被除数与除数同号,被除数减去除数;被除数与除数异号,被除数加上除数2.余数和除数同号,商为1,余数左移一位,下次减除数;余数和除数异号,商为0,余数左移一位,下次加除数。3.重复步骤2,包括符号在内,工作n+1步为了统一并简化控制线路,一开始就根据[x]补和[y]补的符号位是否相同上一次商q0。这位商q0不是真正的商的符号,故称其为假商(假商在最后的运算结果中是要去掉的)。如果[x]补和[
2020-12-25 20:17:27
8764
7
原创 定点原码、补码一位乘
计算机组成原理:定点原码、补码一位乘移位操作对于任何计算机来说都是不可缺少的操作,各种计算机指令系统中都含有移位指令。这里首先给大家介绍一下移位操作中的算术移位(原码右移、补码右移)算术原码右移:符号位不变,各位右移,最高有效位补0,末位移出。列如:1.1001 右移 1.0100 ; 0.1101 右移 0.0110算术补码右移:符号位不变,同时移至最高有效为,各位右移,最低位移出。列如:11.01 右移 11.11 ; 00.1011 右移 00.0101定点原码一位乘 x*y
2020-12-22 21:59:18
2336
原创 Python期末作业
完成以下程序的设计:某体操比赛共有10名运动员参加,12名评委将根据运动员表现进行评分(满分10分),请编写Python程序,解决下列问题:1).每个运动员评分中去掉一个最高分和一个最低分,计算平均成绩,然后给出运动员排名;2).尽量减少人为因素,组委会要求去掉第一个问题中打最高分或最低分次数排名前二的评委给每个运动员的评分,然后计算平均成绩后排名。这里给出几个核心的功能模块文件处理模块def dispose_file(f):#处理数据文件函数 # 将文件存储在lis列表中 lis
2020-12-21 15:27:05
10133
10
原创 C++实现全排列
全排列问题。(进一步理解递归的含义,单步运行观察每一个变量的变化)给定一个数组,求这个数组的全排列。列如:a={1,2,3,4},对数组a求全排列结题思路:将a数组中的元素依次放在第一个位置然,对剩下的元素进行全排列。剩下元素全排列依然是,将剩下的元素依次放在第一个位置,对剩下的元素进行全排列。直到剩下的元素个数为一个时,排列结束。这里我给出固定元素1,对元素2、3、4进行全排列的一种情况,其他情况类似代码#include<iostream>using namespace st
2020-12-20 15:30:41
2961
原创 session购物车操作
编写两个页面,A页面显示在售图书的信息,B页面显示购物车内的图书信息。A页面在每本图书后面有一个“购买”链接,点击可以将图书加入到购物车;在A页面的有一个“查看购物车”按钮,点击可以进入B页面查看购物车的图书信息;B页面在每本图书后面有一个“删除”链接,点击可以将图书从购物车中删除,同样在B页面有一个“查看图书区”按钮,点击可以进入A页面查看所有在售的图书信息。这个题我使用两个页面貌似没有编写成功,我一共写了四个页面代码:addBook.jsp<%@ page language="jav
2020-12-19 11:28:36
1512
2
原创 Python处理多项式相加,多项式求和之后输出结果
实现两个一元多项式的相加,输出相加后的结果假设两个多项式的和为:0x^6+0x^2-5x^3-x^2+3x^1+3则输出结果为:-5x^3-x^2+3x+3其中的难点主要是对结果的输出代码:#多项式相加在输出def dispose_data(str): #处理多项式数据 ,lis中存放的是多项式中的系数和指数 如:[1,2,3,4,5,0] = x^2+3x^4+5x^0 # 将输入的字符串转str化为列表m str = str.split(',') lis = l
2020-12-18 21:02:22
5910
1
原创 Python多项式输出
Python实现多项式输出兄弟们!!这个多项式输出考虑的情况有点多,说一下我的思路:对于多项式的输出,简化来说就是两项的输出:即第一项和第二项的输出这里我假设:第一项+第二项 = 2x^3 + 4x^5这里考虑 2 3 4 5 取不同的值的时候的情况:情况比较多,大家可以看我代码后面的注释,我是用举例来说明的,非常详细。直接上代码:def print_polynomial(poly):#输出多项式 i = 0 # 这个i用来记录这一项是第一项 i=0表示第一项 str1 = '
2020-12-17 22:10:10
2404
1
原创 Python实验数据处理
1 在sqlite中新建一个数据库data.db 2 在data.db中新建表score 3 将dafen.txt中数据输入到score中 4 建立一个python文件statistic.py,其具有以下功能:A 连接数据库data.db,读取其中表score中的数据到列表; B 通过numpy.std(a, axis=None),计算每个裁判员的标准差,输出标准差最大的前3个裁判员的序号; C 利用matplotlib…pyplot中的polt和scatter的方法绘制曲线图和散点图在同一坐标内。代码
2020-12-17 00:45:22
1897
2
原创 java web连接数据库
Java web连接MySQL数据库使用jsp访问数据库,并修改数据库中的某一个值,在页面显示修改成功信息。一、准备首先在MySQL数据库里面建立一张学生信息表,我这里是使用Navicat建立的数据库。大家也可以直接下载MySQL使用命令行的方式建立数据库二、代码编写首先在建立的项目中的lib目录下导入MySQL的厂商驱动包代码:<%@ page language="java" import="java.util.*" import="java.sql.*" pageEncoding
2020-12-15 16:52:34
14387
原创 java web
JSP(前端页面)+Servlet(控制器)+JavaBean(数据获取与封装组件),创建DAO获取数据库数据,创建VO封装取回的数据,并用EL表达式展示在页面中。实现一个数据库的模糊查询。(java web实验报告)1.首项给大家看一下我这个web实验的目录2.软件准备:MyEclipse和MySQL数据库2-1.MySQL数据库:首先我在MySQL数据库里面建立一张名为:t_student的表:3.核心代代码:3-1.jsp代码 <%@ page language="java"
2020-12-12 17:33:40
2856
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人