- 博客(15)
- 收藏
- 关注
原创 Vue3——Pinia集中状态存储
vue2中提供的集中状态存储框架是Vuex,Vue3中新提供了Pinia。如果你使用的还是Vue2,那么主要下,Vuex和Pinia不能一起使用。如果需要将store中的数据声明成响应式数据,供Vue的模板使用,可以使用pinia提供storeToRefs函数。接下来使用pinia需要创建Store。一个Store可以理解为MVSOL中的一个库,保存一部分数据。简单理解:在当前Vue项目中使用的MySQL数据库。Pinia的使用方式和Route组件基本相似。需要在启动的ts文件中使用use函数引入。
2024-10-15 21:57:19
376
原创 VUE3生命周期
每个Vue组件实例在创建时都需要经历一系列的初始化步骤,比如设置好数据侦听,编译模板,挂载实例到DOM,以及在数据改变时更新DOM。在此过程中,它也会运行被称为生命周期钩子的函数,让开发者有机会在特定阶段运行自己的代码。生命周期有四个阶段:创建,挂载,更新,销毁。每个阶段有一前一后两个函数。
2024-10-12 23:25:17
68
原创 JS中var、let和const的区别
/块作用域:let和const变量如果在{}花括号内声明,在{}外部则不可用,而var变量则可用。方面,它们都被提升到了作用域顶部。但是var变量会被初始化为。//全局作用域:全局形式定义过的var变量全局位置都可用。//函数作用域:函数内部定义的var变量仅在函数内可用。提升到当前作用域的顶部。只提升声明,不提升赋值。var声明 的变量,其作用域是。//变量提升:在代码执行前,将。,而let和const。let和const是。
2024-10-08 00:48:28
291
原创 关于发现真实值和预测值不在一个数量级
如真实值是在0~10这个范围内,而预测值却在0~800左右,第一反应是目标列选错,检查了很久代码才发现,主要问题在两个方面。(1)在进行构造时间滞后的dataframe时,将目标列选错了(源码的目标列是var1,改成我的应该是var14)(2)在将目标列逆归一化时,选择了其他列的scaler参数。最近用lstm跑一个多特征多步的时序预测任务。过程中发现预测值和真实值总是不在一个数量级上。检查了很久才发现的问题,坑人。用了别人的源码进行改动。
2024-07-12 16:46:00
340
1
原创 协程的四种实现(基于python)
asyncio便会自动的执行其他任务,输出3;接着func2()阻塞2秒,func1()阻塞结束,打印2,解析:首先执行协程函数func1()(也可以说是任务1),输出1,这时人为进行阻塞2秒。也就是说asyncio能够在IO阻塞时自动的切换其他协程任务。func2()阻塞结束,打印4。
2023-07-25 21:02:40
213
1
原创 线程、进程、协程、并发、并行、同步、异步
对于python代码,一个py文件可以理解为一个工厂(程序),其中可以有多个进程,一个进程下又可以有多个线程。对于多核心处理器:可以让不同的任务 同时的在多个核心上进行,是真正的并行,即下文中的Parallelism。为了提高产能,可以(1)创建多个车间,每个车间内1个工人各自使用其中车间的资源,也就是多进程;也可以(2)在一个车间中招进多个工人,所有工人公用车间内的资源,也就是多线程。也就是让不同的任务在同一条道路上执行,但是要分先后,上一个任务执行完才执行下一任务。多线程就是实现异步的一种方式。
2023-07-25 20:59:19
148
原创 基于sklearn的K近邻算法的鸢尾花种类预测代码整理
这里的KNeighborsClassifier其实还可以添加一个参数指定算法如:algorithm='auto'/'ball_tree'/'kd_tree'/'brute'##其中改变random_state的数值将改变训练集和测试集数据,使最终准确率不同。,并且旨在与Python数值科学库NumPy和SciPy联合使用。2、先从sklearn当中获取数据集 然后进行数据集的分割。获取数据集—数据预处理—特征工程—机器学习—模型评估。的免费软件机器学习库。它具有各种分类,回归和。4、模型进行训练预测。
2023-04-09 20:26:41
486
原创 Redis实战—黑马点评项目—优惠券秒杀优化
为了解决这样的问题,考虑到可以采用异步的机制:将判断库存、校验一人一单这样的耗时较短的读操作缓存到redis上,其余操作交给tomcat。这样的分工就犹如前台接待和后厨分工配合。对于原有的优惠券秒杀架构,如图。其中所有的后端操作皆部署在同一台服务器上串行执行,而其中如判断库存、查询订单等大部分操作都要进行MySql的读写,这样大大拖慢了系统的速度。
2023-03-28 20:57:47
212
原创 Redis实战—黑马点评项目—分布式锁
若此时,线程1结束阻塞,便会不分青红皂白立即释放锁,线程3就会乘虚而入,与线程2并行。当线程1由于某种原因阻塞时间过长,导致锁提前释放,此时线程2拿到了锁并开始执行任务,若这时恰好线程1结束阻塞开始执行任务,并释放锁,这时线程2将丢失锁。为了使【判断是否是自己的锁】和【释放锁之间】操作具有原子性,首先想到了redis事务,但redis事务其实是一种批处理,若将这两者放在一个事务中,可能会导致释放失败。因此,需要在释放锁之前进行线程判断,仅当这个锁是当前线程的锁时,当前线程才能对锁进行释放。
2023-03-24 18:06:46
452
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人