html01-常见概念
文档声明 什么是<!DOCTYPE>?是否需要在HTML5中使用? 什么是严格模式与混杂模式 列举怪异模式中的怪癖行为 什么是<!DOCTYPE>?是否需要在HTML5中使用? <!DOCTYPE>是HTML的文档声明,通过它告诉浏览器,使用哪一个HTML版本标准解析文档。 文档声明有很多种书写格式,对应不同的HTML版本,<!DOCTYPE>这种书写是告诉浏览器,这个文档使用HTML5的标准进行解析。 什么是严格模式与混杂模式 严格模式: 标准模式。浏览器按照W3C标准解析代码 混杂模式: 怪异模式或兼容模式。浏览器用自己的方式解析代码 区分:与网页中的DTD直接相关 如果共包含严格DOCTYPE,一般以严格模式呈现 如果包含DTD和URI的DOCTYPE,也以严格模式呈现。有DTD没有URI的以混杂模式呈现 DOCTYPE不存在或形式不正确会导致文档以混杂模式呈现。 HTML5没有DTD,因此也就没有严格模式与混杂模式的区别,HTML5有相对宽松的语法,是现实,已经尽可能大的实现了向后兼容。 意义: 怪...
langchain02-记忆会话
记忆与存储策略做出来能够调用tools的agent远远还不够,为了能够让用户基于之前的会话内容去回答用户新的问题,还需要做记忆管理。langchainjs通过historyAPI存储用户对话和llm回答,还通过存储策略对记忆进行管理,毕竟对话内容可以无穷无尽。 短时记忆 InMemoryChatMessageHistory创建’记忆’,利用运行内存存储用户与llm对话内容。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859import 'dotenv/config';import { ChatOpenAI } from '@langchain/openai';import { InMemoryChatMessageHistory } from "@langchain/core/chat_history";import { HumanMessage, SystemMessage } from "@langch...
langchain-01-tool的使用
创建和配置文件夹 创建文件夹 1mkdir langgraph-agent 安装对应包: @langchain/langgraph用于组装代理,拼成图(如名:graph) @langchain/openai使得agent能够调用OpenAI的大语言模型(LLM) @langchain/community社区安装包,包含Tavily集成,为agent提供搜索功能 LangGraph与LangChain都是组装agent的编排框架,用于构建、管理和部署长时间运行、有状态的agent。 1npm install @langchain/core@^1.1.33 @langchain/langgraph @langchain/openai @langchain/community@^1.1.24 LangChain LangChain的promt模板 下载dotenv插件实现环境变量管理。创建.env文件,放入千问密钥 123OPENAI_API_KEY="sk-xxxx"OPENAI_BASE_URL=https://dashscope.aliyuncs.c...
Latex在论文中的使用技巧
由于博主临近毕业,苦于传统word排版调试不得志,寻求Latex排版打法,撰写论文期间研究了Latex常用语法,此条博客用于记录语法,以便之后的二次利用回顾。在这里推荐overleaf在线编辑Latex文件平台,可以在管理文件栏导入本地项目。 使用方法打开overleaf 上传自己项目,至于项目怎么,本文以**GitHub**论文项目为例,项目下载到本地后可以直接上传值overleaf 技巧 大篇幅换行技巧 12345\\:换行不缩进 \par:换行+缩进两字符 直接空一行:换行+缩进两字符 文献插入 如@book后引用lamport1994latex就是引用名。用的时候如下第一块代码,效果如下第一张图。 1\cite{lamport1994latex} 12345678910111213141516171819@book{lamport1994latex, title={LATEX: a document preparation system...}, author={Lamport, Leslie}, year={1994}, publisher...
安全域名访问,ssl层配置
前端配置 找到云厂商的ssl证书管理版面 下载云厂商申请的免费证书: 把在云厂商申请到的ssl证书指定格式通过scp传送到自己的云服务器: 123scp -r *.pem *.key ubuntu@公网ip:/etc/nginx/sslscp *.pem *.key ubuntu@134.175.7.57:/etc/nginx/ssl 如下图所示位置,没有文件夹可以自己创建一个新的 如果ssh文件夹访问受限,也可以先上传到根目录,在用sudo权限移动到ssl文件夹下 12345scp *.pem *.key ubuntu@134.175.7.57:~cd ~sudo mv *.pem *.key /etc/nginx/ssl 然后在需要的添加ssl层的应用的.conf文件中增加ssl配置,以我的考试服务系统为例,我为我的考试服务系统增加了exam-system.wlwhonest.top的域名解析,同时通过配置server对ssl证书的验证如下: 1234567891011server { listen 443 ssl; server...
顺电面经
面试官问题: 有没有用过git stash git stash 把工作区和暂存区的改动保存在一个栈上,后续可以在任何分支重新将某次修改推出来,可以添加后缀命令: list: 展示当前保存进度 pop:把最近一次保存到内容弹出并恢复到工作区,有冲突需要手动处理才能pop成功。 apply: 类似pop操作,但是不会删除弹出的修改 show: 查看最新保存的stash和当前目录的差异 drop + stash名称: 移除某个指定的stash clear: 删除所有存储的进度 说一下electron通信方式 通过IPC进程通信机制,主进程的ipcMain和渲染进程ipcRender之间进行通信,渲染进程之间通过主进程进行通信。 git如何合并: 在某一分支上输入命令git merge which-branch 场景题,如果一处代码已经提交到a分支,我在c分支也用了,要怎么处理 如果能确定具体的commit,复用a分支上的某个功能,可以通过在c分支通过git cherry-pick <commit-id>; 如果需要很多改动,需要同步整体...
如何快速定位react组件源码
react中快速定位组件的插件,windows同时按下 Shift和Alt,鼠标点击网页元素,在对应代码编辑器即可显示对应组件源码位置 快速定位组件:插件code-inspector-plugin 1npm install code-inspector-plugin 如果是vite起的react项目则直接在vite.config.ts配置文件中配置如下 123456789101112import { codeInspectorPlugin } from 'code-inspector-plugin'// https://vite.dev/config/export default defineConfig({ plugins: [ react(), codeInspectorPlugin({ bundler: 'vite', editor: 'cursor', // 关键配置:指定用 Cursor 打开 }), ],})
烧录工具开发
代码实现主要用的是node.js。其中async await 语法用的尤为多,用于控制同步异步代码,从而准确发包和收包。其他细节主要在帧格式。 真正的开发还是在实验室学长那拿到了逻辑分析仪后才算真正开始。 烧录工具开发 代码实现主要用的是node.js。其中async await 语法用的尤为多,用于控制同步异步代码,从而准确发包和收包。其他细节主要在帧格式。 looderboot前两块 下载命令tx rx eot 每个分区的最后一块数据,等待设备返回指定包 tx rx 2025.7.28 开发叙事: 基于以上分析,重新校对ymodem.js发送数据块的内容,发现每个分区的第零个数据包地址这块少了0x(转成十六进制表示就是【0x30,-x78】) 然后就是同步异步的逻辑检查,一个await少写了,导致怀疑代码怀疑了快两个小时 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061...
星爷杯
25-4-6 蓝桥杯模拟A 用二分写的,0pts。 没有根据题目给的条件分析出同余的式子. 即区间前缀和用s[r]-s[l-1]表示,则区间和是k的倍数,可以得出,s[r]与s[l-1]在模k下同余。 细节: 开long long,注意在余数为零的时候,当前端点作为区间右端点也算。所以初始化cnt[0]=1。 1234567891011121314151617181920212223242526272829303132#include<bits/stdc++.h>using namespace std;#define int long long typedef pair<int,int> pii;const int N=1e5+10;int a[N],sum[N];int cnt[N];signed main() { ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); int n,k; cin>>n>>k; for(int i=1;i<=n;i++){ c...
ABC400(a-d)
A 输入x 输出400%x B 直接累加,累加过程中res+=pow(n,i),如果res>1e9,则输出inf,否则最后输出答案。 C 在做题过程中打表发现了 当a=1和a=2的时候能够表示1-n的所有好数。 下面是打表关键部分 123456789101112131415161718192021222324252627282930313233343536373839404142#include<bits/stdc++.h>using namespace std;// #define int __int128#define int long longconst int N=1e9;const int M=1e7;typedef pair<int,int> pii;signed main() { ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); int n; cin>>n; for(int i=1;i<=log2(n);i++){ int di=pow(2,...










