- 博客(67)
- 收藏
- 关注
原创 项目总结ABP
市场营销部门的人想出潜在客户可能会搜索的一些内容,然后作为关键字添加进去,然后将这些关键字在浏览器上搜索,然后看我们公司是否排在前面,如果没有排在前面的话,那么市场营销部门的就会相对应的去维护这些关键字,目的是让潜在客户搜一些内容的时候,我们公司能一直排在前面,目的应该是增加曝光量。3.设计并实现 了批量插入keywords的方法,利用MyBatis的动态SQL的特性,根据传入对象的属性动态生成插入语句,增强了代码的复用性和可维护性。流量、转化率、目标达成率的动态计算与可视化,减少人工报表制作时间80%。
2025-03-12 15:55:55
485
原创 项目总结ABP
动态查询: 作用:动态生成 子句,并自动处理以下问题: 若所有 条件不满足,不会生成 关键字(避免 语法错误)。 若首个有效条件以 或 开头,自动去除该关键字(避免 语法错误)。 3. 条件参数详解**(1) 参数** 参数来源:Java 对象 的 属性(通过 获取)。 条件逻辑: 当 非空且非空字符串时,添加条件 。 示例:若 值为 ,则生成 。 SQL注入(SQL Injection)
2025-03-04 14:07:46
421
原创 项目总结nk
系统比较用户输入的验证码和 Redis 中存储的验证码文本,如果一致,则验证通过;如果为空,返回相应的错误信息。在控制器方法中,通过检查当前用户的登录状态,决定返回不同的视图或数据。如果已被注册,返回相应的错误信息。:验证码在 Redis 中存储 60 秒,过期后需要重新生成。用户点击邮件中的链接,浏览器访问激活 URL。,然后从 Redis 中获取对应的验证码文本。用户填写注册表单,提交用户名、密码和邮箱。:根据文本生成的图像,用户需要识别并输入。将链接嵌入邮件内容,发送到用户的邮箱。
2025-02-26 16:44:35
743
原创 登录逻辑结合redis
如果用户已登录,页面会显示用户的登录信息(如“欢迎,用户名”)。现代应用通常是分布式的,用户的请求可能被分发到不同的服务器。(如 JWT)可以通过签名和加密保证数据的完整性和安全性。通过用户 ID 查询用户信息(如用户名、头像等)。和用户 ID 存储在缓存中(如 Redis)。用户访问登录页面,输入用户名和密码,提交表单。管理机制(如分布式缓存),简化系统架构。有效,从缓存中查询对应的用户 ID。中的数据,动态生成 HTML 页面。附加到请求头中,发送给服务端。是无状态的,更适合分布式系统。
2025-02-24 13:52:03
477
原创 1/31每日
通过负载因子和容量来平衡空间和性能,避免了过早的扩容带来的不必要开销,同时也防止了因为容量不足导致的频繁扩容。的扩容机制是基于负载因子(load factor)和容量(capacity)来动态调整大小的。是可预料的,通常是程序逻辑错误或者其他外部因素导致的,程序可以通过捕获这些异常来做出适当的处理。中的元素数量超过了负载因子和当前容量的乘积时(即元素数量 >= 容量 * 负载因子),就会触发扩容。:这是所有集合类的根接口。中存储的元素个数达到了容量的 75% 时,会触发扩容。的容量是它可以存储的桶的数量。
2025-01-31 20:05:03
946
原创 1/30每日一题
为什么不是两次握手?如果只有两次握手,就无法保证服务器是否准备好接收数据。第一次握手:客户端发送 SYN 请求。第二次握手:服务器收到 SYN 包后直接返回 SYN-ACK 包。这种情况下,客户端无法确认服务器是否成功接收了请求,也无法确认服务器是否准备好接收数据。如果只有两次握手,可能会出现服务器无法接收数据的情况,或者服务器错误地认为客户端已经收到了响应。三次握手通过客户端和服务器的互相确认,确保了双方的准备状态,避免了这种情况的发生。
2025-01-30 19:08:52
690
原创 lobechat搭建本地知识库
本文中,我们提供了完全基于开源自建服务的 Docker Compose 配置,你可以直接使用这份配置文件来启动 LobeChat 数据库版本,也可以对之进行修改以适应你的需求。我们默认使用作为本地 S3 对象存储服务,使用作为本地鉴权服务。
2025-01-13 17:17:00
1511
原创 使用docker 通过lobechat部署ollama中的模型
命令行工具,从 Ollama 模型管理系统中拉取(下载)服务器ip+映射端口访问lobechat。启动lobechat 并指定映射端口。通过 Docker 容器中的。清除之前的lobechat。
2025-01-06 17:44:59
477
原创 论文精读 A Supervised Bidirectional Long Short-Term Memory Network for Data-Driven Dynamic Soft Sensor
2)在双向LSTM中采用动态质量引导的监督,学习正向和反向传播中的隐藏变量信息,以捕捉额外的潜在信息;软传感器作为一种虚拟模型,通过输入可测量的变量,学习潜在变量信息,并输出质量特性预测,与基于模型的软传感器不同,数据驱动的软传感器使用数据驱动方法进行建模、分析和估计,而不需要过多的系统知识。许多基于深度学习的软传感模型可能不稳定且效率低下,因为提取的动态信息通常需要大量的隐藏神经元存储。问题:一些软传感器建模仅考虑了最近期的质量信息,忽视了动态质量变量中潜在的广泛动态信息。
2025-01-04 14:09:35
254
原创 软测量论文精读
收集地铁IAQ数据——>使用最大信息系数(MIC)去除与PM2.5浓度无关的变量——>采用KPCA技术对数据特征进行降维——>构建LSTM弱学习器,并通过AdaBoost算法进行集成,得到AdaBoost-LSTM模型。提高预测模型的精度和稳健性,可以从特征降维(PCA,核方法与PLS结合)和模型增强(随机森林(RF)、极端梯度提升(XGBoost)和自适应增强(AdaBoost))两个方面进行研究。KPCA是PCA的扩展,通过引入核函数,将原始数据映射到高维特征空间,并在该空间中进行PCA操作。
2025-01-04 10:09:45
213
原创 Deque 和stack的区别
它是类的实例方法,而你在一个静态方法中试图调用它。由于静态方法没有实例化对象的上下文,所以不能直接访问实例方法。Integer.parseInt(token) 字符串转换为整数。无法从 static 上下文引用非 static 方法。假设你有一个非静态方法。
2025-01-04 09:31:23
122
原创 c语言基础
编译器: 原因:CPU,只认识 1010010 ⼆进制码。abc、汉字 看不懂。作⽤:将⼈类易读易懂的语⾔转换成 cpu 能读懂的语⾔。—— 编译!语⾔不同,语法不同,因此使⽤的编译器不同。java 使⽤ javac 编译器。不能拿来编译C语⾔。C语⾔ 使⽤ gcc 编译器。不能拿来编译java语⾔。对于浮点数,编译器默认指定为 double 类型,如果希望指定为float 类型,需要在小数后面添加后缀 f 或 F;如果希望指定为long double类型,需要在小数后面添加后缀 l 或 L。
2025-01-02 14:48:38
726
原创 Stack<char> stack = new Stack<>();与Stack<Character> stack = new Stack<>();
由于 Java 的泛型不支持基本数据类型,不能直接使用。)的元素类型,因此你需要使用包装类。stack.pop() 移除并返回。要先检查是否为空 否则pop会移除。
2024-12-30 17:58:27
117
原创 Java基础12/23
作为占位符,并且把数据连同SQL本身传给数据库,这样可以保证每次传给数据库的SQL语句是相同的,只是占位符的数据不同,还能高效利用数据库本身对查询的缓存。使用Java程序访问数据库时,Java代码并不是直接通过TCP连接去访问数据库,而是通过JDBC接口来访问,而JDBC接口则通过JDBC驱动来实现真正对数据库的访问。因为JDBC接口并不知道我们要使用哪个数据库,所以,用哪个数据库,我们就去使用哪个数据库的“实现类”,我们把某个数据库实现了JDBC接口的jar包称为JDBC驱动。就在Java的标准库。
2024-12-23 14:50:52
660
原创 git常用操作
版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。现在,你回退到了某个版本,关掉了电脑,第二天早上就后悔了,想恢复到新版本怎么办?好比你从21世纪坐时光穿梭机来到了19世纪,想再回去已经回不去了,肿么办?办法其实还是有的,只要上面的命令行窗口还没有被关掉,你就可以顺着往上找啊找啊,找到那个。Git的版本回退速度非常快,因为Git在内部有个指向当前版本的。指针,当你回退版本的时候,Git仅仅是把HEAD从指向。
2024-12-21 17:38:14
450
原创 12/21java基础
Maven是一个Java项目的管理和构建工具:对于某个依赖,Maven只需要3个变量即可唯一确定某个jar包:在互联网中,一个IP地址用于唯一标识一个网络接口(Network Interface)。一台联入互联网的计算机肯定有一个IP地址,但也可能有多个IP地址。IP地址分为IPv4和IPv6两种。IPv4采用32位地址,类似,而IPv6采用128位地址,类似。IPv4地址总共有232个(大约42亿),而IPv6地址则总共有2128个(大约340万亿亿亿亿),IPv4的地址目前已耗尽,而IPv6的地址是根本
2024-12-21 16:24:34
925
原创 实例与非实例方法
实例方法需要通过对象来调用,因为它们通常涉及对象的状态(即类的实例变量)。实例方法可能会访问类中的实例变量和其他实例方法,而静态方法则无法直接访问这些实例成员。静态方法是独立于对象的,它们只能访问类的静态成员(静态变量和静态方法)。变量(如果它是实例方法),但是如果将其改为静态方法,它就不能直接访问实例变量。,因为静态方法属于类本身,并不依赖于对象实例。
2024-12-21 14:58:24
210
原创 54. 替换数字(第八期模拟笔试)
给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。打印一个新的字符串,其中每个数字字符都被替换为了number。类的一个静态方法,用于判断一个字符是否是数字字符。输入一个字符串 s,s 仅包含小写字母和数字字符。
2024-12-21 13:37:21
261
原创 【无标题】
包提供的用于替代加锁,我们来看一下传统的如果用因为是Java语言层面提供的语法,所以我们不需要考虑异常,而是Java代码实现的锁,我们就必须先获取锁,然后在finally中正确释放锁。顾名思义,是可重入锁,它和一样,一个线程可以多次获取同一个锁。和不同的是,上述代码在尝试获取锁的时候,最多等待1秒。如果1秒后仍未获取到锁,tryLock()返回false,程序就可以做一些额外处理,而不是无限等待下去。所以,使用比直接使用更安全,线程在tryLock()失败的时候不会导致死锁。
2024-12-19 15:20:50
162
原创 线程同步基础
Java的线程锁是可重入的锁。什么是可重入的锁?观察修饰的add()方法,一旦线程执行到add()方法内部,说明它已经获取了当前实例的this锁。如果传入的n < 0,将在add()方法内部调用dec()方法。由于dec()方法也需要获取this锁,现在问题来了:对同一个线程,能否在获取到锁以后继续获取同一个锁?答案是肯定的。JVM允许同一个线程重复获取同一个锁,这种能被同一个线程反复获取的锁,就叫做。
2024-12-19 10:25:51
770
原创 java集合基础
Java的java.utilListStudentListSetStudentSetMapStudentnameStudentMapJava的集合类定义在java.util包中,支持泛型,主要提供了3种集合类,包括ListSet和Map。Java集合使用统一的Iterator遍历,尽量不要使用遗留接口。ListArrayList在内部使用了数组来存储所有元素。例如,一个ArrayList拥有5个元素,实际数组大小为6当添加一个元素并指定索引到ArrayList时,ArrayList。
2024-12-16 14:26:45
713
原创 第18题. 四数之和
题意:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。是 Java 中的一个方法调用,它用于将指定的一系列元素打包为一个固定大小的。
2024-12-13 14:42:25
155
转载 3.2java基础
当我们想要比较两个字符串是否相同时,要特别注意,我们实际上是想比较字符串的内容是否相同。必须使用equals()方法而不能用==。String类还提供了多种方法来搜索子串、提取子串。注意索引号是从0开始的。
2024-12-12 13:41:38
235
转载 2.4java基础
println是print line的缩写,表示输出并换行。因此,如果输出后不想换行,可以用如果要把数据显示成我们期望的格式,就需要使用格式化输出的功能。格式化输出使用,通过使用占位符printf()nextInt()/ .条件判断if-else中else不是必须的可以只使用一个if。
2024-12-11 11:52:01
439
原创 使用llama.cpp估计一个模型的kl散度
KL(Kullback-Leibler)散度是一种衡量两个概率分布之间差异的指标。logits 是神经网络输出的未经激活的原始分数,用于预测下一个 token。之间的 KL 散度,可以帮助了解量化对模型性能的影响。这将把 FP16 模型的 logits 保存为二进制文件。使用量化模型进行推理,并在推理时指定。要计算 KL 散度,首先需要记录。int4 量化结果为。
2024-12-10 16:40:59
298
原创 12/10
class类名是Hello 大小写敏感 public表示这个类是公开的 class public都是java的关键字必须小写,Hello是类名按照惯例首字母大写。类的定义中定义了一个名为main的方法 方法参数是args public static 用来修饰方法表示是一个公开的静态方法,void是方法的返回类型。Java是将代码编译成字节码,类似于一种cpu指令,然后针对不同的平台编写不同的虚拟机,不同平台的虚拟机负责加载并执行字节码。一个Java源码只能定义一个public类型的class。
2024-12-10 16:20:37
198
原创 java中常见的数据结构及其构造方法
Set是一个不允许重复元素的集合接口,常用的实现包括HashSet和TreeSet。HashSet不保证元素顺序,适用于不关心顺序的场合。维护插入顺序,适用于需要按照插入顺序遍历元素的场合。TreeSet保证元素排序,适用于需要元素有序的场合。
2024-12-10 15:43:05
658
原创 1.两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
2024-12-10 09:34:23
340
原创 软传感器综述(二)
软传感器分类1.模型驱动(白盒)根据过程的物理或化学原理建模 适用于稳态操作条件2.数据驱动(黑盒)通过实际过程数据构建3.混合模型多元线性回归(MLR)是一种简单且有用的技术,用于根据一组自变量预测响应变量的行为(Tobias,1995)。然而,过程工业中的复杂过程涉及大量的自变量(即“易于测量”的输入过程变量),这些自变量高度冗余(即共线性),而且它们与响应变量(即“难以测量”的质量参数)之间的关系可能并不明确。MLR无法处理这些高度相关的数据。
2024-12-09 15:02:47
684
原创 软传感器综述整理
数据收集是数据驱动方法的基础。历史数据的质量直接影响软传感器的性能。在工业过程中的数据收集有时会遇到采样时间、缺失数据、离群值等问题。因此,数据不能直接用于软传感器建模。1.采样率在工业系统中,异构类型的变量通常具有不同的采样率。一些物理量可以通过高灵敏度设备进行测量,从而具有较高的采样率。而一些关键变量难以测量,因此采样率较低。为了解决这个问题,传统方法是重新采样,包括下采样和上采样。下采样可能会丢失一些有用的过程信息,而上采样则可能由于插值稀疏的高质量数据而导致模型性能较差。
2024-12-09 13:54:43
1056
原创 困惑度与交叉熵的关系
困惑度(Perplexity)和交叉熵(Cross-Entropy)是自然语言处理(NLP)中常用的两个概念,它们之间有密切的关系。
2024-12-09 10:08:32
363
原创 使用llama.cpp项目中的llama-perplexity对量化后的模型性能进行评估
6.使用llama-perplexity进行困惑度评估 注意模型和数据集还有编译后工具的路径。直接下载可能会因为网络问题出错 推荐先下载到本地然后通过gitbash上传到服务器。2.导航到服务器上的llama.cpp项目并使用make进行编译。注意:要cd到llama.cpp再进行编译。1.通过ssh连接远程服务器。
2024-12-06 17:55:52
339
原创 Linux下常用命令
回退到上一级 创建目录 进入。回退到上一级 cd..回退上一级并创建文件夹。查看有哪些文件 ls。创建文件夹 mkdir。进入指定文件夹 cd。
2024-12-06 17:44:41
86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人