当前位置: 首页 > news >正文

自由学习记录(32)

文件里找到切换颜色空间

fgui中的 颜色空间是一种总体使用前的设定

颜色空间,和半透明混合产生的效果有差异,这种问题一般可以产生联系

动效就是在fgui里可以编辑好,然后在unity中也准备了对应的调用手段,可以详细的使用每一个具体的数据,自定义修改

可以操控单独的一个帧的相关数据

stop可以额外设置,到底要怎么停下,比如要不要把当前播放位置直接设置到complete,或者要不要现在就调用结束的方法

得到动效,给动效安排

控制器配合动效使用

缓动函数简介

Back (回弹)

回弹缓动函数让动画在结束时稍微"回弹",即在结束前稍微倒回一点,然后才完成动画。适用于弹跳效果或非常强调动画结束时的张力。

Bounce (弹跳)

弹跳缓动函数模拟物体在地面上的弹跳。物体会在接近目标时弹回,逐渐减少弹跳的幅度。常用于模拟物理上类似跳跃的效果。

Circ (圆形)

圆形缓动函数模拟物体沿着圆形轨迹的运动。它的运动变化是平滑的,适合用于一些曲线运动的效果。

Cubic (三次方)

三次方缓动函数改变速率的变化更为平缓,相比于线性动画,它提供了一个平滑的加速和减速效果。

Elastic (弹性)

弹性缓动函数模拟弹簧或橡胶带的物理行为,动画会在到达目标之前来回波动,最后才会稳定下来。适合用来表现弹性运动。

Expo (指数)

指数缓动函数的变化速率比较剧烈,在开始时非常慢,然后快速加速,通常用于需要快速开始的动画。

Linear (线性)

线性缓动函数是匀速运动,不会加速或减速,适用于需要恒定速度的场景。

Quad (二次方)

二次方缓动函数变化较为平滑,但与三次方相比,它的速度变化更为缓和,适合用于需要较平滑的变化效果。

Quart (四次方)

四次方缓动函数与三次方类似,但变化更为剧烈,适用于一些需要快速加速的场景。

Quint (五次方)

五次方缓动函数通常具有较为强烈的加速效果,适用于结束时快速完成的动画。

Sine (正弦)

正弦缓动函数使动画变化看起来更加自然,速度变化呈现周期性的波动,通常用于模拟波动效果。

Custom (自定义)

自定义缓动函数让你创建特定的缓动曲线,完全根据需要来控制动画的变化。

是当前帧到下一帧之间的tween,

是关于结束的判定的,如果动效移出舞台时,是当前立刻停下删去还是等彻底结束位置来了再删去

右键这个组件,就可以改变一些属性

动效是以组件为单位创建的,附着于组件

在资源文件夹那边右键创建新材质

附着上去背景还是这个3D曲面,所以要改材质

硬性要求

曲面UI的设置

本不知名字,抓住GButton之后就可以赋值名字了

比如可以

得到按钮的名字

在unity里的使用要创建单独的菜单对象menu,在这个实例对象上添加items

在unity里使用的话,要先设置UIConfig的系统的弹出菜单,对应fgui里的组件地址,这是定下外形的框架

创建之后会变成一个新的组件在fgui里

要设置主菜单要在fgui软件里面设置图片,都是

menu 的显示要自己调用,对象是存在了,但只是数据上的对象已经存在

弹出功能,fgui也有内置,也算是对象类型

不一定要把面板都做成窗口

锁定窗口,一开始就设置好,可以在锁定后添加提示,防止不知道被锁定

模态窗口,就是窗口以外的区域都不可以点击

分支,组件是引用会切换,组件本源不一样,在分支文件夹里是无效的

一般是等比缩放

右键替换成元件

拖动中是在拖动就一直执行,停下的话也会停下

事件捕获,类似于事件监听传递的反向

using FairyGUI;
using UnityEngine;public class EventContextExample : MonoBehaviour
{GButton button;  // 定义一个按钮void Start(){// 初始化并加载FairyGUI资源UIPackage.AddPackage("UI/Example");  // 根据你的资源路径调整GComponent mainUI = UIPackage.CreateObject("Example", "MainUI").asCom;GRoot.inst.AddChild(mainUI);button = mainUI.GetChild("btnTest").asButton;  // 获取按钮// 监听按钮的点击事件button.onClick.Add(OnButtonClick);}// 按钮点击事件处理函数void OnButtonClick(EventContext context){// 获取触发事件的相关数据InputEvent inputEvent = context.inputEvent;// 打印触摸点的位置(转换为本地坐标)Vector2 localPos = button.GlobalToLocal(new Vector2(inputEvent.x, inputEvent.y));Debug.Log("Button clicked at position: " + localPos);// 打印键盘按键,如果是键盘事件if (inputEvent.keyCode != 0){Debug.Log("Key pressed: " + inputEvent.keyCode);}// 打印鼠标滚轮的移动值if (inputEvent.mouseWheelDelta != 0){Debug.Log("Mouse wheel delta: " + inputEvent.mouseWheelDelta);}// 获取触摸 IDif (inputEvent.touchId != -1){Debug.Log("Touch ID: " + inputEvent.touchId);}// 检查是否为双击事件if (context.isDoubleClick){Debug.Log("This was a double click!");}// 如果需要停止事件传播,可以调用// context.StopPropagation();}
}

代码解释

  1. 初始化 UI

    • 使用 UIPackage.AddPackage 加载 UI 包。
    • 获取按钮对象 button,并为其添加点击事件处理器。
  2. 监听事件并提取数据

    • button.onClick.Add(OnButtonClick):为按钮的点击事件添加监听器,并传入 OnButtonClick 作为回调。
    • OnButtonClick 方法中,我们通过 context 参数来获取有关事件的详细信息。
  3. EventContext 获取数据

    • inputEvent.xinputEvent.y:获取触摸或鼠标点击的全局坐标。
    • button.GlobalToLocal():将全局坐标转换为按钮本地坐标,以便更准确地处理点击位置。
    • inputEvent.keyCode:如果是键盘事件,输出按下的键。
    • inputEvent.mouseWheelDelta:获取鼠标滚轮的增量值。
    • inputEvent.touchId:获取当前触摸的 ID,用于多点触控场景。
    • context.isDoubleClick:检查是否为双击事件。
  4. 停止事件传播

    • 通过 context.StopPropagation() 方法,你可以阻止事件继续向其他元素传播,这对于一些特殊的交互设计很有用。

a breakdown of the key parameters described:

Parameters in EventContext:

  • sender: The object that triggered the event.
  • initiator: The object that initiated the event, typically a DisplayObject in FairyGUI.
  • type: The type of the event (e.g., mouse click, touch, keyboard event).
  • inputEvent: If the event is a keyboard, touch, or mouse event, inputEvent allows access to the specific data related to that event (such as key code, touch ID, or mouse coordinates).
    • x and y: The position of the touch or mouse pointer in the global coordinate system (needs conversion to local coordinates via GlobalToLocal).
    • keyCode: The key code if it's a keyboard event.
    • mouseWheelDelta: The value of the mouse wheel movement.
    • touchId: The ID of the touch point associated with the event.
    • isDoubleClick: A boolean indicating if the event is a double click.
  • data: The event's data. Depending on the type of event, this can have different meanings, such as the value of the key pressed, touch position, etc.
  • StopPropagation: A method used to stop the event from propagating further (i.e., prevent other listeners from receiving it).
  • CaptureTouch: A method that can be used during the TouchBegin phase to allow touch events to continue to be detected even if the pointer moves outside of the target object.
  • UncaptureTouch: A method used to cancel the capture and stop the propagation of touch events outside the target object.

这样就只有按钮按下和面板按下,因为在stoppropagation这里停止了向上的事件监听传递

事件传递的打断

类型为 InputEvent

关于键盘输入的检测

LongPressGestureSwipeGesturePinchGestureRotationGesture 都是绑定到特定的 UI 元件 panel1.m_btnTest 上的。这意味着只有在 panel1.m_btnTest 按钮区域内触发的相应手势才会被检测到。

手势识别并不总是针对整个屏幕,而是仅在你指定的 UI 元件内进行。例如,如果你想让一个按钮响应长按手势,而其他区域不响应,你就将手势绑定到这个按钮上。

这样的问题,首先是图片的物理屏幕坐标,unity的左下角起点坐标,FGUI的左上角起点坐标,FGUI在自身内部的无缩放逻辑坐标

要生成一张图片跟随鼠标移动用fgui,先有这个图片组件,然后写一个update一直更新它的位置,也就是物理屏幕坐标

调整组件的位置是用gComponent里带的改位置的方法...剩下的就是把定义的逻辑差异解决就可以 

是属于元件的方法

localtoroot可以把屏幕上的物理坐标,转成FGUI里的逻辑坐标(不含缩放影响的,在FGUI中最原始的操作的坐标)

,,,这么胆小有必要吗,本来就没什么要担忧的点,,没必要了吧

<<<,<<<<话不多说,开始

唉,1.12了,这几天很多事,也是挺心累的吧

想着留一两天给自己所谓的“放松”,但我现在的视角,所谓的放松好像已经有点脱模了,可能我认为我现在就是放松 的,而强行要我再放松一点,这让我觉得只是在犯傻

也是挺不可思议的吧,我在刚刚进入大学的时候,比起现在真的是什么都不懂(谁晓得之后我又会不会也觉得现在幼稚),所以那个时候也是真的迷惑了,产生了一种原初的迷惑:为什么我会到现在这个地步?是我真的还不够努力吗?是我还不够乖吗?不够听话吗?

现在看来,如果要细节的回答这个问题,首先,这个问题对当时的我是心里上真正直接产生的吗,还是看了别人的经历说出了这一段文字 我发现自己也差不多,于是产生的概念引用呢?

如果非要用各种词语的概念来解释,我将自己定义概念,表达我的体验,比如吃苦和努力这两个词,放在别人决定的卷子上,中间就是可以划等号的,而如果是我,我认为“努力”这个词已经被用臭了,什么懒人都可以轻松引用这个概念,“看那个家伙,真的好努力啊,可惜就是没有回报!”,所以我认为这个词不能和吃苦划等号,“没有苦难,就没有成长”,比起前一句,我对这一句的亲身体验更深刻,所以....要细节的扯下去,那估计也会没完没了了,还会扯到很多复杂的层面,比如“那你怎么解释,有些人吃了一辈子苦,却没有回报?”,回报对个人的定义不同,首先要怀疑的是物理事实和精神事实是否真正的达到合理的共通逻辑...

即使是最简单的问题“为什么今天不开心,不想学”,也不存在任何人可以告诉你百分百的答案。。。自己看的都嫌复杂,不想解释,最后得到的结果也会是,这个人得到了自己的逻辑自洽,选择放心的继续相信自己的观点,或者吸收外部的逻辑,然后自洽自身的逻辑

<<<<<<,<<<<

那个时候我就下定决心,我绝对不要被视为奴,凭什么我会被视为奴,就凭你们的一张试卷吗,就凭他们拿分拿的高一点吗,让我承认那样的人在我之上,我不可能

于是我想尽办法让自己可以看到更高的视角,即要先找到“站得高”的观点,又在一堆假的“站得高”里只凭自己挑出真的站得高的观点,

连我自己都不可思议,才这么短的时间,我现在的视角居然扩大了这么多,想到那个刚进大学,心里都是不甘和野心的我,真想抱抱他,鼓励一下他,孩子啊,凭着这份决心,你会值得更好的生活的

苦难都是人定的,放松这种 东西,也是为了欺骗自己,让自己不相信某种事实的手段,人的本身是一种平衡,而当激动的时候,就会想办法让自己平和,

how i wish you only knew

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<,

 之间都要用空格隔开

-p后面直接接密码,不隐藏

正常来说写到-p为止,按回车

之后输入密码就会变成星号

不加;就不算结束

 

刚登录默认为空,只要create之后不会自动切换,没use就是空

AUTO_INCREMENT 

手动设置跳过了某些值,后续的自动生成会从当前的最大值递增

primary key 是规范的,并不是说必须,但添加了一定是更加安全的

decimal(10,2)总共最多十位,总共最多两位小数,需要同时满足

命令行里输入mysql语句,如果输错了,只能ctrl+C,全部重新输入一遍

这一点有时候也比较麻烦的,也算是为什么有一些图形化界面的软件写sql语句

如果 households 表中某一行被删除或更新,外键约束可以控制当前表中相关行的行为(如级联删除或禁止删除)。

外键约束的报错

外键约束比主键就强硬多了,规范更强

如何避免外键约束错误:

  1. 确保引用的父表记录存在

    • 插入或更新数据前,先检查外键字段的值是否在父表中存在:

      SELECT * FROM households WHERE id = 99;

  2. 删除父表记录前清理子表数据

    • 如果需要删除父表的记录,可以先删除子表中相关的记录:

      DELETE FROM members WHERE household_id = 1;

      DELETE FROM households WHERE id = 1;

  3. 使用级联操作

    定义外键时添加 ON DELETE CASCADEON UPDATE CASCADE,让 MySQL 自动处理关联数据:
    • FOREIGN KEY (household_id) REFERENCES households(id)

      ON DELETE CASCADE ON UPDATE CASCADE;

  4. 确保引用的列是主键或唯一键

    • 定义外键时,被引用的列必须是父表的主键或唯一键。

一个Java项目文件夹里装的东西:

在 IntelliJ IDEA 中,当你运行或编译项目时,IDE 会自动将 .java 文件编译成 .class 文件,并将其放入指定的输出目录(通常是 outtarget 文件夹中)。

它们是同一个程序的不同阶段产物,IDE 会自动管理编译流程。

分src和out两个文件夹,是输出目录和源码分离是业界标准做法,为了清晰地分离 源码编译输出,便于管理和防止混淆。

.idea 文件夹是 IntelliJ IDEA 项目的 配置文件夹,存储与项目相关的配置信息。一般情况下,你不需要手动修改这些文件。

自动生成的初始Main的.class文件并没有什么特别,仅仅是名字为Main而已

写了多个 .class 文件且每个文件都有 main 方法,这不会造成冲突

每个 .class 文件可以包含自己的 main 方法。它们互不干扰。

Java 运行环境(JVM)需要你明确地指定运行哪个类

相关文章:

自由学习记录(32)

文件里找到切换颜色空间 fgui中的 颜色空间是一种总体使用前的设定 颜色空间&#xff0c;和半透明混合产生的效果有差异&#xff0c;这种问题一般可以产生联系 动效就是在fgui里可以编辑好&#xff0c;然后在unity中也准备了对应的调用手段&#xff0c;可以详细的使用每一个具…...

VScode+Latex (Recipe terminated with fatal error: spawn xelatex ENOENT)

使用VSCode编辑出现Recipe terminated with fatal error: spawn xelatex ENOENT问题咋办&#xff1f; 很好解决&#xff0c;大概率的原因是因为latex没有添加到系统环境变量中&#xff0c;所有设置的编译工具没有办法找到才出现的这种情况。 解决方法&#xff1a; winR 然后输…...

「蓝桥杯题解」蜗牛(Java)

题目链接 这道题我感觉状态定义不太好想&#xff0c;需要一定的经验 import java.util.*; /*** 蜗牛* 状态定义&#xff1a;* dp[i][0]:到达(x[i],0)最小时间* dp[i][1]:到达 xi 上方的传送门最小时间*/public class Main {static Scanner in new Scanner(System.in);static f…...

PHP EOF (Heredoc) 详解

PHP EOF (Heredoc) 详解 PHP 中的 EOF(End Of File)是一种非常有用的语法特性,允许开发者创建多行字符串。它特别适合于创建格式化文本,如配置文件、HTML 模板等。本文将详细讲解 PHP EOF 的用法、优势以及注意事项。 什么是 EOF? EOF 是一种特殊的字符串定义方式,它允…...

pyautogui操控Acrobat DC pro万能PDF转Word,不丢任何PDF格式样式

为了将PDF转换脚本改为多进程异步处理&#xff0c;我们需要确保每个进程独立操作不同的Acrobat窗口。以下是实现步骤&#xff1a; 实现代码 import os import pyautogui import time import subprocess import pygetwindow as gw from multiprocessing import Pooldef conver…...

Day32:字符串的复制

在 Python 中&#xff0c;字符串的复制是指创建一个新的字符串&#xff0c;它的内容与原字符串相同。字符串是不可变的对象&#xff0c;这意味着你不能直接修改字符串的内容&#xff0c;但是可以通过复制来创建新的字符串进行操作。字符串的复制在一些情况下非常有用&#xff0…...

基于Mybatis继承AbstractRoutingDataSource使用自定义注解实现动态数据源

一&#xff1a;实现 方式一&#xff1a;继承AbstractRoutingDataSource使用自定义注解实现 环境&#xff1a;springboot3 MyBatis3 mysql-connector8 DataSourceKeyEnum枚举类 有几个数据源就配置几个枚举类&#xff0c;和数据源数量一一对应 class DataSourceKeyEnum{D…...

ZooKeeper 数据模型

ZooKeeper 数据模型 ZooKeeper 拥有层次化的命名空间&#xff0c;类似分布式文件系统&#xff0c;但每个节点不仅能有子节点&#xff0c;还可关联数据。节点路径为规范的绝对路径&#xff0c;用斜杠分隔&#xff0c;无相对引用。路径命名有如下约束&#xff1a; 路径名不能包…...

【VUE】Vue2中Vue.extend方法

在 Vue.js 2.x 版本中&#xff0c;Vue.extend() 方法被用于创建一个新的 Vue 子类&#xff0c;可以在该子类上扩展一些属性、指令和组件选项等&#xff0c;然后进行实例化。 比如&#xff0c;可以在创建一些类似 loading 式的函数式插件时&#xff0c;使用&#xff1a; 在 Vue…...

MaskGAE论文阅读

What’s Behind the Mask: Understanding Masked Graph Modeling for Graph Autoencoders 碎碎念&#xff1a;一篇论文看四天&#xff0c;效率也没谁了(捂脸) 看一点忘一点&#xff0c;虽然在本子上有记录&#xff0c;但还是忘&#xff0c;下次看一点在博客上记一点启发 本来很…...

Mybatis-plus 更新 Null 的策略踩坑记

一个bug 在一个管理页面&#xff0c;有一个非必填字段被设置成空了并提交更新&#xff0c;再次打开的时候&#xff0c;发现字段还在&#xff0c;并没有被更新成功。 使用的数据库映射框架是 Mybatis-plus &#xff0c;对于Mybatis 在更新字段的时候会对空进行校验&#xff0c;…...

Oracle迁移DM数据库

Oracle迁移DM数据库 本文记录使用达梦官方数据迁移工具DTS&#xff0c;将Oracle数据库的数据迁移至达梦数据库。 1 数据准备 2 DTS工具操作步骤 2.1 创建工程 打开DTS迁移工具&#xff0c;点击新建工程&#xff0c;填写好工程信息&#xff0c;如图&#xff1a; 2.2 新建迁…...

HTML特殊符号的使用示例

目录 一、基本特殊符号的使用 1、空格符号&#xff1a; 2、小于号 和 大于号&#xff1a; 3、引号&#xff1a; 二、版权、注册商标符号的使用 1、版权符号&#xff1a;© 2、注册商标符号&#xff1a; 三、数学符号的使用 四、箭头符号的使用 五、货币符号的使用…...

数据结构基础之《(15)—排序算法小结》

一、排序算法的稳定性 1、稳定性是指同样大小的样本再排序之后不会改变相对次序 2、对基础类型来说&#xff0c;稳定性毫无意义 比如&#xff1a;3和3没有区别。《潜伏》里说同样两个一百元大钞&#xff0c;你能告诉我哪一个是高尚的那一个是龌龊的么 3、对非基础类型来说&a…...

Linux系统下速通stm32的clion开发环境配置

陆陆续续搞这个已经很久了。 因为自己新电脑是linux系统无法使用keil&#xff0c;一开始想使用vscode里的eide但感觉不太好用&#xff1b;后面想直接使用cudeide但又不想妥协&#xff0c;想趁着这个机会把linux上的其他单片机开发配置也搞明白&#xff1b;而且非常想搞懂cmake…...

【2024年 CSDN博客之星】我的2024年创作之旅:从C语言到人工智能,个人成长与突破的全景回顾

我的2024年创作之旅&#xff1a;从C语言到人工智能&#xff0c;个人成长与突破的全景回顾 引言 回望2024年&#xff0c;我不仅收获了技术上的成长&#xff0c;更收获了来自CSDN平台上无数粉丝、朋友以及网友们的支持与鼓励。在这条创作之路上&#xff0c;CSDN不仅是我展示技术成…...

Python 轻松扫描,快速检测:高效IP网段扫描工具全解析

Python 轻松扫描&#xff0c;快速检测&#xff1a;高效IP网段扫描工具全解析 相关资源文件已经打包成EXE文件&#xff0c;可双击直接运行程序&#xff0c;且文章末尾已附上相关源码&#xff0c;以供大家学习交流&#xff0c;博主主页还有更多Python相关程序案例&#xff0c;秉着…...

go入门Windows环境搭建

简介 Go 即 Golang&#xff0c;是 Google 公司 2009 年 11 月正式对外公开的一门编程语言。 根据 Go 语言开发者自述&#xff0c;近 10 多年&#xff0c;从单机时代的 C 语言到现在互联网时代的 Java&#xff0c;都没有令人满意的开发语言&#xff0c;而 C往往给人的感觉是&a…...

安装Ubuntu22.04

1.引用教程 如何安装Ubuntu Server 22.04 LTS_ubuntu22.04 server-CSDN博客 2.空间分配 要使用 docker 比较多所以分别的 docker 空间大...

对比OpenAI的AI智能体Operator和智谱的GLM-PC,它们有哪些不同?

OpenAI 的 AI 智能体 Operator 和智谱的 GLM-PC 有以下不同&#xff1a; 功能侧重 Operator&#xff1a;主要侧重于网页操作&#xff0c;能在网页上模拟人类进行点击、输入等操作&#xff0c;完成如预订旅行住宿、餐厅预约、在线购物、在 Arxiv 上进行论文分类搜索等任务123。…...

Git Bash 配置 zsh

博客食用更佳 博客链接 安装 zsh 安装 Zsh 安装 Oh-my-zsh github仓库 sh -c "$(curl -fsSL https://install.ohmyz.sh/)"让 zsh 成为 git bash 默认终端 vi ~/.bashrc写入&#xff1a; if [ -t 1 ]; thenexec zsh fisource ~/.bashrc再重启即可。 更换主题 …...

美格智能AIMO智能体+DeepSeek-R1模型,AI应用的iPhone时刻来了

导语&#xff1a; 当AI大模型从云端下沉至终端设备&#xff0c;一场关于效率、隐私与智能化的革命悄然展开。作为全球领先的无线通信模组及解决方案提供商&#xff0c;美格智能凭借其高算力AI模组矩阵与端侧大模型部署经验&#xff0c;结合最新发布的AIMO智能体产品&#xff0…...

Python标准库 - os (1) 环境变量、进程的用户和组

文章目录 1 访问和修改环境变量1.1 访问环境变量1.2 修改环境变量 2 进程的用户和组2.1 进程的ID2.2 进程的用户2.3 进程组 os模块提供了各种操作系统接口。包括环境变量、进程管理、进程调度、文件操作等方面。 这里整理了环境变量、进程的用户和用户组相关的控制方法。 参考…...

QT 通过ODBC连接数据库的好方法:

效果图&#xff1a; PWD使用自己的&#xff0c;我的这是自己的&#xff0c;所以你用不了。 以下是格式。 // 1. 设置数据库连接 QSqlDatabase db QSqlDatabase::addDatabase("QODBC");// 建立和QMYSQL数据库的连接 // 设置数据库连接名称&#xff08;DSN&am…...

机器学习 - 初学者需要弄懂的一些线性代数的概念

一、单位矩阵 在数学中&#xff0c;单位矩阵是一个方阵&#xff0c;其主对角线上的元素全为1&#xff0c;其余元素全为0。单位矩阵在矩阵乘法中起到类似于数字1在数值乘法中的作用&#xff0c;即任何矩阵与单位矩阵相乘&#xff0c;结果仍为原矩阵本身。 单位矩阵的定义&…...

WordPress event-monster插件存在信息泄露漏洞(CVE-2024-11396)

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...

ESP32 I2S音频总线学习笔记(二):I2S读取INMP441音频数据

简介 在这个系列的上一篇文章中&#xff0c;我们介绍了ESP32 I2S音频总线的相关知识&#xff0c;简要了解了什么是I2S总线、它的通信格式&#xff0c;以及相关的底层API函数。没有看过上篇文章的可以点击文章进行回顾&#xff1a; ESP32 I2S音频总线学习笔记&#xff08;一&a…...

本地大模型编程实战(03)语义检索(2)

文章目录 准备按批次嵌入加载csv文件&#xff0c;分割文档并嵌入测试嵌入效果总结代码 上一篇文章&#xff1a; 本地大模型编程实战(02)语义检索(1) 详细介绍了如何使用 langchain 实现语义检索&#xff0c;为了演示方便&#xff0c;使用的是 langchain 提供的内存数据库。 在实…...

LabVIEW橡胶动态特性测试系统

本文介绍了一个利用LabVIEW软件和NI高速数据采集设备构建的橡胶动态特性测试系统。该系统实现了橡胶材料动态性能的精确测量&#xff0c;并通过虚拟仪器技术&#xff0c;提高了测试数据的处理效率和准确性。系统支持实时数据处理和多种信号的动态分析&#xff0c;适用于工业和科…...

SpringBoot开发(二)Spring Boot项目构建、Bootstrap基础知识

1. Spring Boot项目构建 1.1. 简介 基于官方网站https://start.spring.io进行项目的创建. 1.1.1. 简介 Spring Boot是基于Spring4框架开发的全新框架&#xff0c;设计目的是简化搭建及开发过程&#xff0c;并不是对Spring功能上的增强&#xff0c;而是提供了一种快速使用Spr…...