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

我的创作纪念日——三周年

大家好,心心念念的三年之气已到,但是我似乎对于博客专家的身份没有那么渴望了哈哈。虽然最近比较忙,但是看到三周年纪念日的通知,还是想写一点什么,并不是因为三周年有多么值得纪念,而是这段时间确实有一些想说的话跟大家分享,借此机会发表一下。

一、最近一年收获了什么

要说收获,最大的收获肯定就是遇到了志同道合的朋友和一直支持的大家,至于其他收获,且听我娓娓道来

大家可以注意到,从24年6月份往后我的更新频率直线下降,甚至可以说是断更了,本来这里还想说一下为什么,但是想想还是算了,就把这些留到想说的话里面说吧。

1.1 上位机开发

大概24年10份开始真正接触上位机开发,最开始我只知道用QT去做上位机,也做过一个简单的串口助手,其他了解的还有Matlab,后来我了解到除了这些还有C#、Labview等等,Labview算是之前就已经知道的,但是一直没研究,看了一下图形化的编程实在是有些适应不了。QT总觉得有些用不明白,最后选择了C#,虽然C#基本上只能用在windows里面,但是用windows的场景其实也不少。选择C#倒不是因为他有多简单,其实最开始也是不了解的,先是安装了VSCode,简单学习了一下C#的一些基本语法,后来发现想要做页面还要学Winform,后来又安装了VS,学习winform,编写了一些窗体应用,再后来发现了WPF,相比winform能够做出更好看的页面。

其实整体来说如果大家想学习上位机开发的话,或者说想快速写一个上位机的话,很推荐大家学习C#用Winform去写,个人感觉还是比较容易上手的,WPF相比起来就稍微复杂一些了,当然这些都是因人而异,如果你写过微信小程序或者网页,其实WPF对你来讲可能更熟悉一些。

1.2 数据库

其实我对数据库也不算多么了解,只是说简单地用过,安装了Mysql和数据库管理软件,编写了上位机能够实现数据的增删改查等等,做到的基本也就这些东西,但也算有个了解吧哈哈。

1.3 CAN通信

之前虽然也知道CAN通信,了解过一些东西,但是实际并不深刻,尤其是针对其中的一些协议,真正做起来发现,原来会有那么多协议和一些细节,比如如果你要用CAN报文发送一个超过8字节的数据你要怎么发送

比如要发送的帧数据是:2E F1 5A 24 11 29 46 5A 42 00 00 00 00,共12字节,发送时会被分成两个8字节数据的帧
第一帧:10 0C 2E F1 5A 24 11 29
其中10表示是第一帧(首帧);0C表示后续有效数据是12字节
第二帧:21 46 5A 42 00 00 00 00
其中21表示是后续帧;
再往后的帧依次是22……

当然这只是其中的一小部分,整体来说,过去一年对于CAN相关的内容有了更深的理解和更清晰的认知。

1.4 bootloader

对于bootloader也有了更深刻的认识,之前知道bootloader是下载引导程序,也就是大家口中所说的底层,当需要更新应用层程序时底层会将通信线传输来的程序写入到对应的地址,但是bootloader设计起来有哪些细节或者说要你设计一个bootloader要怎么设计,这些在之前我都是没有太多理解的。但是现在对于bootloader,我可能知道他可以设计一些安全访问的校验,比如自己设计一套密钥的计算方法,当需要更新应用层程序时可以通过通信线向要更新的设备请求种子,这里的种子其实可以设计成一个数据,得到种子之后按照事先约定好的计算方法计算出密钥,之后将密钥发给设备进行验证,如果正确可以进行下一步的操作,甚至于你可以把这个种子设置成限时的,如果在规定时间内没有得到正确的密钥就需要重新请求种子,甚至你可以设计一套自己的更新流程再写一个配套的上位机。

二、一些想说的话

其实总结之前的一年,我并没有什么很多的进步,甚至于我都没有时间继续去做嵌入式相关的内容,但是除了上面的一些收获外我认为这段时间的经历也是我收获的一部分,放在这里和大家一起聊一些我想说的话,下面的内容属于是一些主观性的东西,仁者见仁,智者见智如果你有异议或者觉得不适,还请见谅。

2.1 打开思路,敢于追求

很多时候我们会被各种各样的东西限制住,这些限制好像是来自于观念、工作、生活、自己的想法等等各个方面,这些东西告诉我们要有一个稳定的工作,告诉我们你坚持下去可能能做到更好,告诉我们你现在要怎么怎么样等等,但其实如果我们打开思路,我们似乎并不是只有限制以内的这些选择,尤其是当这些限制跟我们所热爱的东西冲突的时候,我们要去敢于追求,比如你在做你喜欢的工作,可是有人告诉你或者你自己某一天突然觉得你需要有一份稳定的工作,不然以后万一被裁员了怎么办,所以你选择考公考编或者其他稳定的出路,但是我们想想,即使某一天我们不幸被裁员或者因为某些原因失业了,我们依旧有很多选择,新的选择可能会导致我们没有那么体面,至少我们不会饿死。有些时候我们不要自己给自己一些限制,要学会打开思路。

2.2 坚持自己热爱的东西

我认为活了二十多年,我只做过一件有一些后悔的事,那就是我做了一份自己不认可不喜欢的工作,没有及时止损。为什么不喜欢,一方面确实是跨行了,能胜任嘛,好像也可以胜任,但是发现自己做的东西即使在做五年十年也不会有什么实质的提升,另一方面整体氛围确实也是不太好,在刚开始准备做这份工作前我其实是忧郁的,但是因为某些原因我还是去做了,那段时间给我的最大感悟就是,要坚持自己真正热爱的东西,不要勉强自己甚至认为自己能够放弃。

2.3 要沉住气

有些时候我们可能会着急,或者说有些急于求成,又或者说对自己要求太高,导致我们有些乱了阵脚,做事情的时候我们要沉住气。做任何事都不是一口吃成胖子的,这个道理很简单,但是有时候乱了阵脚的我们反而很容易忽视这一点。刚开始做一件事情的时候不要对自己要求太高,我之前列了一些想要做的东西,设计文档整理的特别全面,各种功能想的非常齐全,但是真正做起来发现想要一开始就充着最完美的方向去做,似乎不是一个明智的选择,后面我就开始调整路线,先做到每一个功能能用,再考虑做整体,再把整体做到完美。

有时候看到很多大佬在谈论各种自己没有掌握甚至说没有接触过的东西,会觉得自己是不是进步太慢了,是不是换一个环境能够有更大更快的进步,是不是人只有年轻那几年才能做出成绩等等各种问题,导致自己焦虑沉不住气。首先不得不承认,年轻那几年很珍贵,是干事的年纪,可是我们要意识到并不是所有人都能在二十多岁三十岁干出成绩的,有些人干到四十五十才有一定成就,环境不同起点不同,不要因为这个自乱阵脚,只要我们当下是在步步向好其实就够了。我认为四十之前甚至到五十岁,我都还是可以做出成绩的年纪,可能成绩不大,甚至有些人都不屑一顾,但是人活一辈子,不就是要活的自己开心自己满意吗,不必太在意别人的看法。

其实含有很多话想说一说,但是时间原因,以后有机会再讲,祝大家看完能有所收获。

三、后面打算做什么

后面的话主要还是补短板,把自己薄弱的地方做起来,真正地做成一个系统,尤其是针对硬件设计和外壳设计,争取掌握上位机开发、单片机开发、硬件设计、外壳设计一套体系。

当然后面也会不断地记录自己的学习过程来和大家分享讨论,互相学习,也欢迎大家一起学习交流!

先预告一下最近要出的东西,首先是一个锂电池充放电和升降压电路的设计,从芯片的数据手册和大家一起学习电路设计方法,有不当的地方到时候还请各位大佬不吝赐教了,另外就是准备做一个wifi小电视套件,至于是什么样子的,做来干什么,这里就先不透露太多信息了,总之大家到时候是可以看到的哈哈哈!

最后祝大家工作顺利、身体健康、家庭和睦!还是再附上两周年时候的一句话,“只要方向没有大的错误,即使再慢,只要一步一步走下去,总会成功的”

相关文章:

我的创作纪念日——三周年

大家好,心心念念的三年之气已到,但是我似乎对于博客专家的身份没有那么渴望了哈哈。虽然最近比较忙,但是看到三周年纪念日的通知,还是想写一点什么,并不是因为三周年有多么值得纪念,而是这段时间确实有一些…...

Softmax 回归 + 损失函数 + 图片分类数据集

Softmax 回归 softmax 回归是机器学习另外一个非常经典且重要的模型,是一个分类问题。 下面先解释一下分类和回归的区别: 简单来说,分类问题从回归的单输出变成了多输出,输出的个数等于类别的个数。 实际上,对于分…...

基于云服务器的数仓搭建-hive/spark安装

mysql本地安装 安装流程(内存占用200M,升至2.1G) # 将资料里mysql文件夹及里面所有内容上传到/opt/software/mysql目录下 mkdir /opt/software/mysql cd /opt/software/mysql/ # 待上传文件 install_mysql.sh mysql-community-client-8.0.3…...

YOLO历代发展 图像增强方式 架构

YOLO1 YOLOV5 数据增强 mosaic 仿射变换(Affine)、透视变换(Perspective) 网络搭建...

Spring AI Alibaba EmbeddingModel使用

一、嵌入模型 (Embedding Model)简介 1、核心概念 嵌入模型(EmbeddingModel)是嵌入过程中采用的模型。 当前 EmbeddingModel的接口主要用于将文本转换为数值向量,接口的设计主要围绕这两个目标展开: 可移植性: 该接口…...

C++入门五式——类和对象(下)

目录 再探构造函数——初始化列表 类型转换 static成员 友元函数 内部类 匿名对象 再探构造函数——初始化列表 之前我们实现构造函数时,初始化成员变量主要使用函数体内赋值,构造函数初始化还有一种方式,就是初始化列表。 //初始化列…...

Spring的SPEL(Spring Expression Language)的使用说明,包含语法、示例和常见场景

以下是Spring的SPEL(Spring Expression Language)的使用说明,包含语法、示例和常见场景: 1. 基本语法 变量引用 表达式:#{变量名}(如#{systemProperties[os.name]})作用域:在Sprin…...

Linux应用:线程进阶

线程同步之信号量 信号量(Semaphore)是一个整型的计数器,用于控制对共享资源的访问。它通过 PV 操作来实现同步,P 操作将信号量的值减 1,如果值小于 0 则线程阻塞;V 操作将信号量的值加 1,如果…...

策略模式 (Strategy)

策略模式 (Strategy) 应用场景:用于处理不同的任务配置参数。在你的任务中,可能会有不同的任务类型,每个任务类型可能有不同的单位(比如米、毫米)或不同的处理方式。策略模式可以让你根据不同的任务类型选择不同的处理…...

【YOLOv8】YOLOv8改进系列(10)----替换主干网络之UniRepLKNet

主页:HABUO🍁主页:HABUO 🍁YOLOv8入门改进专栏🍁 🍁如果再也不能见到你,祝你早安,午安,晚安🍁 【YOLOv8改进系列】: YOLOv8改进系列&#xff0…...

mathtype一些用法总结

1.一个是公式旁边加入||,一般使用键盘直接打入的会比较小,mathtype中的会好看很多,打开这个栏目,会看到有很多。 2.另外是带^符号,在字符上面带没有办法直接带,所以可以在mathtype中先加帽子,然…...

1、SQL注入攻击的防范

原文地址: SQL注入攻击的防范 更多内容请关注:代码安全 PHP安全编码——书写安全的代码 1、SQL注入攻击的防范 提问 问题1:什么是SQL注入攻击? 问题2:有几种简单方法防范SQL注入攻击? 问题3:mys…...

核心知识——论文总结

引入 本文我们会针对论文中的核心内容进行总结,加深小伙伴对于Spark的理解。而通过Spark的论文,重点需要掌握理解如下内容: Spark 里核心的 RDD 是一个什么概念,它是通过什么方式来优化分布式数据处理的,它的设计思路…...

HTTP 核心知识点整理

1. HTTP 基础 ​定义:HTTP(HyperText Transfer Protocol)是应用层协议,基于 ​请求-响应模型,用于客户端(浏览器)与服务器之间的通信。​特点: ​无状态:每次请求独立&a…...

什么是矩阵账号

矩阵账号是指在同一平台或多个平台上,围绕同一品牌或个人,创建的多个相互关联、协同工作的账号组合。这些账号虽然独立,但在内容定位和运营策略上有所区分,同时又相互引流,共同形成一个网络结构,类似于矩阵…...

【6】VS Code 新建上位机项目---项目分层

【6】VS Code 新建上位机项目---项目分层 1 项目分层(layer)2 项目分层实现数据插入SQL3 项目分层实现 (实体类封装参数)4 项目分层的实现SQL查询数据1 项目分层(layer) 表示层(UI):与用户交互使用。比如按钮,输入信息等;业务层(BLL):传递数据,业务逻辑。根据用户需…...

EspressoSample深度解析:在CircleCI上高效运行Android UI测试

项目背景与简介 EspressoSample项目位于GitHub上的circleci/EspressoSample仓库,该项目旨在展示如何在CircleCI平台上配置和使用Espresso进行Android应用的UI测试。 项目结构与环境准备 项目结构 EspressoSample项目遵循典型的Android项目结构,包含a…...

【每日论文】MetaSpatial: Reinforcing 3D Spatial Reasoning in VLMs for the Metaverse

下载PDF或查看论文,请点击: LlamaFactory - huggingface daily paper - 每日论文解读 | LlamaFactory | LlamaFactory探索LlamaFactory,为你解读AI前沿技术文章,快速掌握最新技术动态https://www.llamafactory.cn/daily-paper/de…...

mac m4 Homebrew安装MySQL 8.0

1.使用Homebrew安装MySQL8 在终端中输入以下命令来安装MySQL8: brew install mysql8.0 安装完成后,您可以通过以下命令来验证MySQL是否已成功安装: 2.配置mysql环境变量 find / -name mysql 2>/dev/null #找到mysql的安装位置 cd /op…...

Java关于多态

多态 字面意思&#xff1a;对象的多种形态。 Student(子类)<-Person(父类)->Teacher(子类) Student snew Student(); 学生形态 对象 代表用new创建一个学生对象赋值给Student 类型&#xff0c;代表Student类型(学生对象)现在是学生形态。 有了多态之后&#xff…...

K8S学习之基础四十六:k8s中部署Kibana

部署kibana组件 上传kibina镜像到harbor 部署kibana组件&#xff0c;包括svc和deplomentvi kibana.yaml apiVersion: v1 kind: Service metadata:name: kibananamespace: kube-logginglabels:app: kibana spec:ports:- port: 5601selector:app: kibana --- apiVersion: apps/…...

如何快速对比两个不同的excel文件中的单元格的数据是否完全相同 并把不同的单元格的背景颜色更改为红色?

要快速对比两个不同的Excel文件中的单元格数据是否完全相同&#xff0c;并将不同的单元格背景颜色更改为红色&#xff0c;可以使用Excel的以下几种方法&#xff1a; 方法一&#xff1a;使用条件格式 打开两个Excel文件。将一个文件的内容复制到另一个文件的新工作表中&#x…...

基于Python+LanceDB实战向量搜索

本篇实战演示向量搜索的实现和示例。 预期效果 给出一个查询的字符串&#xff0c;通过向量搜索&#xff0c;在下面三个语句中搜索出关联性最大的那句。 "熊猫是中国的国宝&#xff0c;主要栖息在四川山区。","长城是古代中国建造的军事防御工事&#xff0c;全…...

多路转接epoll

目录 一、为什么epoll最高效&#xff1f; 二、epoll的三个系统调用 三、理解epoll模型 四、epoll的优点 五、epoll的使用示例 六、epoll的工作模式 ET模式和LT模式的对比 七、epoll的使用场景 总结 一、为什么epoll最高效&#xff1f; 按照 man 手册的…...

AI编程工具哪家强?对比Cusor、Copilot、Cline

前言 AI最先革谁的命&#xff1f;刚毕业参加工作的那个时候就在想是否可以开发一个程序让它自己写代码&#xff0c;在那个遥远的年代&#xff0c;这种想法仿佛就是天方夜谭。但是今天大模型的出现让理想成为了现实。回答前面的问题&#xff0c;AI最先革谁的命&#xff0c;最聪…...

[FPGA基础学习]实现流水灯与按键暂停

FPGA实现LED流水灯 1.vscode的安装和使用 vscode下载 Visual Studio Code - Code Editing. Redefined vscode插件&#xff08;Verilog-HDL/SystemVerilog&#xff09;下载 quartus绑定vscode 2.用6个LED完成周期为1秒的跑马灯效果 流水灯模块设计 时钟输入 DE2-115开发板…...

刷题记录(LeetCode 994.腐烂的橘子)

在给定的 m x n 网格 grid 中&#xff0c;每个单元格可以有以下三个值之一&#xff1a; 值 0 代表空单元格&#xff1b;值 1 代表新鲜橘子&#xff1b;值 2 代表腐烂的橘子。 每分钟&#xff0c;腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回 直到单元格中没有…...

ECharts折线图源码合集1(共18个自定义图表),附视频讲解与代码下载

引言&#xff1a; 在数据可视化的世界里&#xff0c;ECharts凭借其丰富的图表类型和强大的配置能力&#xff0c;成为了众多开发者的首选。今天&#xff0c;我整理了18个自定义折线图图表&#xff0c;不仅对每个图表代码进行了精简优化&#xff0c;剥离冗余配置项&#xff0c;…...

SQL小菜之TOP N查找问题

前言 SQL的编写是后端面试中非常常见&#xff0c;其中TOP N查找问题也是高频出现的问题&#xff0c;今天我们来看两道SQL TOPN问题。 问题 我们有一张雇员表Employee&#xff1a; CREATE TABLE Employee (id int DEFAULT NULL,salary int DEFAULT NULL,department varchar(…...

蓝桥杯 临时抱佛脚 之 二分答案法与相关题目

二分答案法&#xff08;利用二分法查找区间的左右端点&#xff09; &#xff08;1&#xff09;估计 最终答案可能得范围 是什么 &#xff08;2&#xff09;分析 问题的答案 和 给定条件 之间的单调性&#xff0c;大部分时候只需要用到 自然智慧 &#xff08;3&#xff09;建…...

Css环形旋转立体感动画

Css环形旋转立体感动画 index.html <!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>Css环形旋转立体感动画</title><link rel"stylesheet" href"./style.css">&l…...

音乐极客指南:Melody高音质私有云音乐平台本地部署方案

文章目录 前言1. 添加镜像源2. 本地部署Melody3. 本地访问与使用演示4. 安装内网穿透5. 配置Melody公网地址6. 配置固定公网地址 前言 嘿&#xff0c;各位音乐爱好者们&#xff01;今天我要带大家玩个大招——在香橙派Zero3上搭建你的专属在线音乐平台&#xff0c;还能通过cpo…...

Microi吾码界面设计引擎之基础组件用法大全【内置组件篇·中】

&#x1f380;&#x1f380;&#x1f380; microi-pageengine 界面引擎系列 &#x1f380;&#x1f380;&#x1f380; 一、Microi吾码&#xff1a;一款高效、灵活的低代码开发开源框架【低代码框架】 二、Vue3项目快速集成界面引擎 三、Vue3 界面设计插件 microi-pageengine …...

# WebSocket 与 Socket.IO 对比与优化

核心概念对比 WebSocket 协议性质&#xff1a;HTML5 提供的全双工通信协议 (RFC 6455)连接方式&#xff1a;基于 TCP 的低层协议通信模式&#xff1a;持久化连接&#xff0c;服务端可主动推送协议升级&#xff1a;通过 HTTP 101 状态码切换协议 Socket.IO 协议性质&#xf…...

vue3中,route4,获取当前页面路由的问题

首先应用场景如下&#xff1a; 在main.js里面&#xff0c;引入的是路由的配置文件&#xff0c;如下&#xff1a; import {router} from /router; app.use(router); 路由配置文件router.js如下&#xff1a; import { createRouter, createWebHistory } from vue-router; imp…...

python将整个txt文件写入excel的一个单元格?

要将整个txt文件写入Excel的一个单元格&#xff0c;可以使用Python的openpyxl库来实现。以下是一个简单的示例代码&#xff1a; from openpyxl import Workbook# 读取txt文件内容 with open(file.txt, r) as file:txt_content file.read()# 创建一个新的Excel工作簿 wb Work…...

日志2333

Pss-9 这一关考察的是时间盲注 先练习几个常见命令语句&#xff1a; select sleep(5);--延迟5s输出结果 if &#xff08;1>0,ture,false&#xff09;;--输出‘ture’ /if &#xff08;1<0,ture,false&#xff09;;--输出‘false’ select ascii()/select ord()返回字…...

用Deepseek写扫雷uniapp小游戏

扫雷作为Windows系统自带的经典小游戏&#xff0c;承载了许多人的童年回忆。本文将详细介绍如何使用Uniapp框架从零开始实现一个完整的扫雷游戏&#xff0c;包含核心算法、交互设计和状态管理。无论你是Uniapp初学者还是有一定经验的开发者&#xff0c;都能从本文中获得启发。 …...

C++中的异常和智能指针

一、C中的异常 1.1C语言中关于错误的处理&#xff08;回顾&#xff09; 1.1.1处理一&#xff1a;文件中的错误码&#xff0c;错误信息 C语言中&#xff0c;文件打开成功则返回地址&#xff0c;不成功返回0 FILE* foutfopen("Test.txt","r"); cout<&…...

Selenium 简单入门操作示例

最简单的 Selenium 示例&#xff08;Python版&#xff09; 下面是一个完整的、最简单的 Selenium 操作示例&#xff0c;带你快速上手&#xff1a; from selenium import webdriver from selenium.webdriver.common.by import By import time# 1. 启动浏览器&#xff08;这里使…...

6.1 模拟专题:LeetCode 1576. 替换所有的问号

1. 题目链接 LeetCode 1576. 替换所有的问号 2. 题目描述 给定一个仅包含小写字母和问号 ? 的字符串 s&#xff0c;要求将所有 ? 替换为任意小写字母&#xff0c;使得替换后的字符串中 没有相邻的两个字符相同。 示例&#xff1a; 输入&#xff1a;s "?zs" →…...

前端知识点---用正则表达式判断邮箱(javascript)

// 全面的正则&#xff08;兼容大多数情况&#xff09; const emailRegex /^[a-zA-Z0-9._%-][a-zA-Z0-9.-]\.[a-zA-Z]{2,}$/;// 或直接使用浏览器内置验证 <input type"email" required>/&#xff1a;正则表达式的起始和结束标志。 ^&#xff1a;匹配字符串的…...

深度剖析 Spring 源码 性能优化:核心原理与最佳实践

深度剖析 Spring 源码 & 性能优化&#xff1a;核心原理与最佳实践 &#x1f680; Spring 框架 作为 Java 生态的核心技术&#xff0c;广泛应用于企业级开发。但很多开发者只会“用”Spring&#xff0c;而不深入其内部原理&#xff0c;导致无法高效排查问题 & 进行性能优…...

Axure RP9教程 :轮播图(动态面板) | 头部锁定

文章目录 引言I 轮播图操作步骤在画布中添加一个动态面板设置面板状态II 头部锁定将头部区域选中,右键组合或用Ctrl+G快捷键;将组合的头部区域,右键创建动态面板;引言 动态面板的功能十分强大,比如:拥有独立的内部坐标系,有多个状态; Banner的案例中会用到动态面板多个…...

rabbitmq承接MES客户端服务器

文章目录 背景整体架构概述方案详细步骤1. 数据库选型与搭建2. 设备端数据上传至数据库3. 搭建 RabbitMQ 服务器4. 数据同步模块&#xff08;数据库到 RabbitMQ&#xff09;5. MES 服务器从 RabbitMQ 接收数据6. 指令接收模块&#xff08;RabbitMQ 到设备端&#xff09; 7. MES…...

重学vue3(三):vue3基本语法及使用

组合式 API是vue3 的核心特性&#xff0c;替代 Vue2 的选项式 API&#xff0c;强调逻辑复用和代码组织。基本语法如下&#xff1a; <script setup> import { ref, reactive, computed, onMounted } from vue;// 1. 响应式数据 const count ref(0); // 基本类…...

算法 | 麻雀搜索算法原理,公式,改进算法综述,应用场景及matlab完整代码

一、麻雀搜索算法(SSA)原理 1. 算法基础 麻雀搜索算法(Sparrow Search Algorithm, SSA)是2020年提出的一种群体智能优化算法,灵感来源于麻雀群体的觅食与反捕食行为。算法将麻雀分为三类角色:发现者(Producer):适应度最高,负责探索全局最优区域;加入者(Follower)…...

0322-数据库与前后端的连接、数据库表的增删改查

前端 <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>Insert title here</title> <script srcjs/jquery-3.7.1.min.js></script> <script> //jquaryajax发起请求 //传参形式不同 post用data{}…...

详细介绍Qt中用于断言的宏 Q_ASSERT

Q_ASSERT 是 Qt 框架中用于调试的核心宏之一&#xff0c;其作用类似于标准 C/C 的 assert&#xff0c;但针对 Qt 的特性进行了优化。它用于在开发阶段验证程序的逻辑正确性&#xff0c;帮助开发者快速定位潜在的错误。 1.基本用法 Q_ASSERT(condition);功能&#xff1a;在调试…...

基于Python的自然语言处理系列(60):使用 LangChain 构建 Multi-Vector Retriever 进行文档检索

在 NLP 和 AI 领域&#xff0c;基于嵌入&#xff08;Embeddings&#xff09;进行文档检索已成为一种高效的解决方案。本文介绍如何使用 LangChain 构建 Multi-Vector Retriever&#xff0c;实现对长文档的分块索引和高效检索。 1. 环境准备 首先&#xff0c;我们需要安装相关…...