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

七天免登录 为什么不能用seesion,客户端的http请求自动携带cookei的机制(比较重要)涉及HTTP规范

  如果是七天免登录,和session肯定没关系,因为session不能持久化,主要是客户端一旦关闭,seesion就失效了///

所以必须是能持久化的,这就清晰了,要莫在的服务器保存,要摸在客户端设置

cook机制

1. 使用Cookie实现七天免登录

前端(登录页面)

在登录页面中,提供一个“记住我”选项,允许用户选择是否启用免登录功能。

jsp复制

<form action="LoginServlet" method="post"><input type="text" name="account" placeholder="请输入账号"><input type="password" name="password" placeholder="请输入密码"><input type="checkbox" name="remember" value="1">记住我<input type="submit" value="登录">
</form>
后端(Servlet)

在登录成功后,根据用户是否勾选“记住我”,设置一个有效期为7天的Cookie。

java复制

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String account = req.getParameter("account");String password = req.getParameter("password");String remember = req.getParameter("remember");// 模拟用户验证boolean isValidUser = "admin".equals(account) && "123".equals(password);if (isValidUser) {// 如果用户勾选了“记住我”if ("1".equals(remember)) {Cookie cookie = new Cookie("auth_token", URLEncoder.encode(account + "-" + password, "utf-8"));cookie.setMaxAge(7 * 24 * 60 * 60); // 设置Cookie有效期为7天cookie.setPath("/"); // 设置Cookie路径resp.addCookie(cookie);}// 跳转到主页resp.sendRedirect("index.jsp");} else {// 跳转回登录页面resp.sendRedirect("login.jsp?error=true");}
}
自动登录逻辑

在用户访问主页时,检查Cookie是否存在并有效。

java复制

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {Cookie[] cookies = req.getCookies();if (cookies != null) {for (Cookie cookie : cookies) {if ("auth_token".equals(cookie.getName())) {String[] userInfo = URLDecoder.decode(cookie.getValue(), "utf-8").split("-");String account = userInfo[0];String password = userInfo[1];// 模拟验证用户信息if ("admin".equals(account) && "123".equals(password)) {// 自动登录成功,跳转到主页resp.sendRedirect("index.jsp");return;}}}}// 如果没有找到有效的Cookie,跳转到登录页面resp.sendRedirect("login.jsp");
}

2. 使用JWT实现七天免登录

后端(生成JWT)

在用户登录成功后,生成一个有效期为7天的JWT,并将其存储在Cookie中。

java复制

import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;import java.util.Date;public class JwtUtil {private static final String SECRET_KEY = "your_jwt_secret_key";public static String generateToken(String subject) {long nowMillis = System.currentTimeMillis();Date now = new Date(nowMillis);long expMillis = nowMillis + 7L * 24 * 60 * 60 * 1000; // 7天有效期Date exp = new Date(expMillis);return Jwts.builder().setSubject(subject).setIssuedAt(now).setExpiration(exp).signWith(SignatureAlgorithm.HS256, SECRET_KEY).compact();}
}

在登录成功后,将JWT存储在Cookie中。

java复制

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String account = req.getParameter("account");String password = req.getParameter("password");// 模拟用户验证boolean isValidUser = "admin".equals(account) && "123".equals(password);if (isValidUser) {String token = JwtUtil.generateToken(account);Cookie cookie = new Cookie("auth_token", token);cookie.setMaxAge(7 * 24 * 60 * 60); // 设置Cookie有效期为7天cookie.setPath("/");resp.addCookie(cookie);resp.sendRedirect("index.jsp");} else {resp.sendRedirect("login.jsp?error=true");}
}
验证JWT

在每次请求时,验证JWT的有效性。

java复制

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;public class JwtUtil {private static final String SECRET_KEY = "your_jwt_secret_key";public static Claims parseToken(String token) {return Jwts.parser().setSigningKey(SECRET_KEY).parseClaimsJws(token).getBody();}
}

在过滤器中验证JWT。

java复制

@Override
protected void doFilterInternal(HttpServletRequest req, HttpServletResponse resp, FilterChain filterChain) throws ServletException, IOException {Cookie[] cookies = req.getCookies();if (cookies != null) {for (Cookie cookie : cookies) {if ("auth_token".equals(cookie.getName())) {try {Claims claims = JwtUtil.parseToken(cookie.getValue());// 如果JWT有效,继续处理请求filterChain.doFilter(req, resp);return;} catch (Exception e) {// JWT无效,跳转到登录页面resp.sendRedirect("login.jsp");return;}}}}// 如果没有找到有效的JWT,跳转到登录页面resp.sendRedirect("login.jsp");
}

注意事项

  1. 安全性:为了确保安全性,建议使用HTTPS协议传输数据,避免Cookie或JWT被窃取。

  2. Cookie设置:如果使用Cookie存储JWT,建议设置httpOnly属性,防止JavaScript访问Cookie,从而降低XSS攻击的风险。

  3. 定期更新:定期更新JWT或Cookie的密钥,防止被恶意攻击者破解。

HTTP请求会携带Cookie的原因主要与Cookie的设计初衷和工作原理有关。Cookie是一种存储在客户端(通常是浏览器)的轻量级数据存储机制,用于在用户与服务器之间保持会话状态。以下是详细解释:

1. Cookie的设计初衷

  • 保持会话状态:HTTP协议本身是无状态的,这意味着服务器不会自动记住用户之前的请求。每次HTTP请求都是独立的,服务器无法区分是同一个用户还是不同用户发起的请求。为了弥补这一缺陷,Cookie被设计出来,用于在客户端存储少量数据,以便在后续请求中携带这些数据,从而让服务器能够识别用户的身份或状态。

  • 个性化体验:通过Cookie,网站可以记住用户的偏好设置(如语言、主题、登录状态等),从而为用户提供个性化的体验。

2. Cookie的工作原理

  • 服务器设置Cookie:当用户第一次访问网站时,服务器可能会在响应中包含一个Set-Cookie头,告诉浏览器存储一些数据。例如:

    http复制

    Set-Cookie: session_id=1234567890; Path=/; HttpOnly

    这里,服务器告诉浏览器存储一个名为session_id的Cookie,值为1234567890,并且该Cookie适用于网站的所有路径(Path=/)。

  • 浏览器存储Cookie:浏览器接收到Set-Cookie头后,会将这些Cookie存储在本地。存储的位置和方式因浏览器而异,但通常会以键值对的形式保存。

  • 浏览器自动携带Cookie:在后续的HTTP请求中,浏览器会自动将与当前请求相关的Cookie附加到请求的Cookie头中。例如:

    http复制

    GET / HTTP/1.1
    Host: example.com
    Cookie: session_id=1234567890

    浏览器会根据Cookie的PathDomain等属性,判断哪些Cookie应该附加到当前请求中。

3. 为什么HTTP请求会自动携带Cookie?

  • 浏览器的自动管理机制:浏览器会自动管理Cookie的存储和发送。当浏览器发起HTTP请求时,它会检查本地存储的Cookie,找出与当前请求匹配的Cookie,并将它们附加到请求的Cookie头中。这个过程对用户是透明的,用户无需手动添加Cookie。

  • 符合HTTP协议规范:根据HTTP协议的规范,浏览器有责任在每次请求时携带与该请求相关的Cookie。这是为了实现会话管理、身份验证等功能,确保用户在浏览网站时能够保持一致的状态。

4. Cookie携带的条件

  • 匹配PathDomain属性:浏览器只会将与当前请求的URL匹配的Cookie发送给服务器。例如,如果Cookie的Domain属性是example.com,那么只有当请求的域名是example.com时,该Cookie才会被发送。

  • Cookie未过期:如果Cookie设置了ExpiresMax-Age属性,浏览器会检查Cookie是否已过期。如果已过期,浏览器不会发送该Cookie。

  • HttpOnly属性的Cookie:如果Cookie设置了HttpOnly属性,浏览器会阻止JavaScript访问该Cookie,但仍然会在HTTP请求中自动携带。

5. 举例说明

假设用户访问了一个网站,服务器在响应中设置了以下Cookie:

http复制

Set-Cookie: session_id=1234567890; Path=/; Max-Age=3600
Set-Cookie: theme=dark; Path=/; HttpOnly
  • 存储Cookie:浏览器会将这两个Cookie存储在本地。

  • 后续请求:当用户再次访问该网站时,浏览器会自动将这两个Cookie附加到请求中:

    http复制

    GET / HTTP/1.1
    Host: example.com
    Cookie: session_id=1234567890; theme=dark

总结

HTTP请求会携带Cookie,是因为浏览器会自动管理Cookie的存储和发送。这是为了实现会话管理、身份验证和个性化体验等功能。浏览器会根据Cookie的PathDomainExpires等属性,判断哪些Cookie应该附加到当前请求中,并在每次请求时自动将它们发送给服务器。

这种机制使得用户在浏览网站时能够保持一致的状态,而无需手动管理Cookie,同时也为开发者提供了方便的方式来实现会话管理和用户跟踪。


参考资料

  1. Mozilla Developer Network - HTTP Cookies

  2. RFC 6265 - HTTP State Management Mechanism

  3. Google Developers - Cookies Explained

  4. Stack Overflow - How do cookies work?

  5. W3Schools - HTTP Cookies

相关文章:

七天免登录 为什么不能用seesion,客户端的http请求自动携带cookei的机制(比较重要)涉及HTTP规范

如果是七天免登录,和session肯定没关系,因为session不能持久化,主要是客户端一旦关闭,seesion就失效了/// 所以必须是能持久化的&#xff0c;这就清晰了&#xff0c;要莫在的服务器保存&#xff0c;要摸在客户端设置 cook机制 1. 使用Cookie实现七天免登录 前端&#xff08;登…...

从PGC到AIGC:海螺AI多模态内容生成系统的技术革命

一、内容生产的范式迁移&#xff1a;从PGC到AIGC的进化之路 在数字内容生产的历史长河中&#xff0c;人类经历了三次重大范式转变&#xff1a;专业生成内容&#xff08;PGC&#xff09;的工业化生产、用户生成内容&#xff08;UGC&#xff09;的全民创作浪潮&#xff0c;以及当…...

常考计算机操作系统面试习题(三上)

目录 1. 为何要引入与设备的无关性&#xff1f;如何实现设备的独立性&#xff1f; 2. 页面置换先进先出算法 3. 页面置换先进先出算法&#xff0c;4个页框 4. 进程优先级调度算法 5. 短作业优先调度策略 6. 平均内存访问时间计算 7. 页式存储和段式存储的物理地址计算 …...

数据结构之双向链表-初始化链表-头插法-遍历链表-获取尾部结点-尾插法-指定位置插入-删除节点-释放链表——完整代码

数据结构之双向链表-初始化链表-头插法-遍历链表-获取尾部结点-尾插法-指定位置插入-删除节点-释放链表——完整代码 #include <stdio.h> #include <stdlib.h>typedef int ElemType;typedef struct node{ElemType data;struct node *next, *prev; }Node;//初化链表…...

一键部署 GPU Kind 集群,体验 vLLM 极速推理

随着 Kubernetes 在大模型训练和推理领域的广泛应用&#xff0c;越来越多的开发者需要在本地环境中搭建支持 GPU 的 Kubernetes 集群&#xff0c;以便进行测试和开发。大家都知道&#xff0c;本地搭建 Kubernetes 集群通常可以使用 Kind&#xff08;Kubernetes IN Docker&#…...

C/C++蓝桥杯算法真题打卡(Day6)

一、P8615 [蓝桥杯 2014 国 C] 拼接平方数 - 洛谷 方法一&#xff1a;算法代码&#xff08;字符串分割法&#xff09; #include<bits/stdc.h> // 包含标准库中的所有头文件&#xff0c;方便编程 using namespace std; // 使用标准命名空间&#xff0c;避免每次调用…...

【C++】入门

1.命名空间 1.1 namespace的价值 在C/C中&#xff0c;变量&#xff0c;函数和后面要学到的类都是大量存在的&#xff0c;这些变量&#xff0c;函数和类的名称将存在于全局作用域中&#xff0c;可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化&#xff0c;…...

CUDA 学习(2)——CUDA 介绍

GeForce 256 是英伟达 1999 年开发的第一个 GPU&#xff0c;最初用作显示器上渲染高端图形&#xff0c;只用于像素计算。 在早期&#xff0c;OpenGL 和 DirectX 等图形 API 是与 GPU 唯一的交互方式。后来&#xff0c;人们意识到 GPU 除了用于渲染图形图像外&#xff0c;还可以…...

构建自定义MCP天气服务器:集成Claude for Desktop与实时天气数据

构建自定义MCP天气服务器:集成Claude for Desktop与实时天气数据 概述 本文将指导开发者构建一个MCP(Model Control Protocol)天气服务器,通过暴露get-alerts和get-forecast工具,为Claude for Desktop等客户端提供实时天气数据支持。该方案解决了传统LLM无法直接获取天气…...

[Lc_2 二叉树dfs] 布尔二叉树的值 | 根节点到叶节点数字之和 | 二叉树剪枝

目录 1.计算布尔二叉树的值 题解 2.求根节点到叶节点数字之和 3. 二叉树剪枝 题解 1.计算布尔二叉树的值 链接&#xff1a;2331. 计算布尔二叉树的值 给你一棵 完整二叉树 的根&#xff0c;这棵树有以下特征&#xff1a; 叶子节点 要么值为 0 要么值为 1 &#xff0c;其…...

搜广推校招面经五十六

字节推荐算法 一、Attention的复杂度是多少&#xff1f; 见【搜广推校招面经三十八】 二、如何对普适性强的物品&#xff08;如新华字典&#xff09;设计指标进行降权 2.1. 问题背景 普适性强的物品&#xff08;如新华字典&#xff09;在推荐系统或搜索排序中可能频繁出现…...

ZYNQ的cache原理与一致性操作

在Xilinx Zynq SoC中&#xff0c;Cache管理是确保处理器与外部设备&#xff08;如FPGA逻辑、DMA控制器&#xff09;之间数据一致性的关键。Zynq的ARM Cortex-A9处理器包含L1 Cache&#xff08;指令/数据&#xff09;和L2 Cache&#xff0c;其刷新&#xff08;Flush/Invalidate&…...

安装React开发者工具

我们在说组件之前&#xff0c;需要先安装一下React官方推出的开发者工具&#xff0c;首先我们分享在线安装方式 首先打开谷歌网上应用商店(针对谷歌浏览器)&#xff0c;在输入框内搜索react&#xff0c;安装如下插件&#xff1a; 注意安装提供方为Facebook的插件&#xff0c;这…...

多层感知机

多层感知机&#xff08;Multilayer Perceptron&#xff0c;简称 MLP&#xff09;是一种基于前馈神经网络&#xff08;Feedforward Neural Network&#xff09;的深度学习模型&#xff0c;由多个神经元层组成&#xff0c;每一层与前一层全连接。它包括至少一个隐藏层&#xff08…...

2025年渗透测试面试题总结- PingCAP安全工程师(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 PingCAP安全工程师 一、SQL注入判断数据库类型技术分析 1. 常规判断方法 2. 盲注场景下的判断 3. 补…...

CAD模型导入Geant4

CADMesh是一个开源项目&#xff0c;专门用于将STL格式的CAD模型导入Geant4。以下是使用CADMesh操作STL模型的步骤&#xff1a; 准备工作 下载CADMesh开源代码&#xff1a;可以从GitHub或Gitee下载CADMesh的开源代码。 将CAD模型转换为STL格式&#xff1a;在CAD软件中创建几何…...

DeepSORT 目标追踪算法详解

DeepSORT&#xff08;Deep Simple Online and Realtime Tracking&#xff09;是 多目标追踪&#xff08;MOT&#xff09; 领域的经典算法&#xff0c;通过结合目标检测、运动预测和外观特征匹配&#xff0c;实现了高效、稳定的实时追踪。其核心思想是通过 检测驱动追踪&#xf…...

mne溯源后的数据初步处理方法

文章目录 导入库 Yeo2011_7Networks_N1000绘制一些圆球来代表区域大小和强度 单网络绘制和扩展的方式AI补充一下背景知识&#x1f4da; **背景与研究来源**&#x1f9e0; **7 个功能网络的定义**&#x1f4c2; **标签数据获取**&#x1f50d; **标签文件内容解析**&#x1f6e0…...

基于STM32进行FFT滤波并计算插值DA输出

文章目录 一、前言背景二、项目构思1. 确定FFT点数、采样率、采样点数2. 双缓存设计 三、代码实现1. STM32CubeMX配置和HAL库初始化2. 核心代码 四、效果展示和后话五、项目联想与扩展1. 倍频2. 降频3. 插值3.1 线性插值3.2 样条插值 一、前言背景 STM32 对 AD 采样信号进行快…...

【用 Trace读源码】PlanAgent 执行流程

前提条件 在 Trae 中打开 OpenManus 工程&#xff0c;使用 build 模式&#xff0c;模型选择 claude-sonnet-3.7 提示词 分析 agent/planning.py 中 main 方法及相关类的执行流程&#xff0c;以流程图的方式展示PlanningAgent 执行流程图 以下流程图展示了 PlanningAgent 类…...

AI代码编辑器:Cursor和Trae

Cursor 定义&#xff1a;Cursor 是一款基于AI的代码编辑器&#xff0c;它继承了VS Code的核心功能&#xff0c;并在此基础上增加了深度AI支持。它支持代码生成、优化、重构以及调试等功能&#xff0c;提供直观的Diff视图和自动补全功能&#xff0c;是一款功能强大的编程工具。…...

LSM-Tree(Log-Structured Merge-Tree)详解

1. 什么是 LSM-Tree? LSM-Tree(Log-Structured Merge-Tree)是一种 针对写优化的存储结构,广泛用于 NoSQL 数据库(如 LevelDB、RocksDB、HBase、Cassandra)等系统。 它的核心思想是: 写入时只追加写(Append-Only),将数据先写入内存缓冲区(MemTable)。内存数据满后…...

介绍一个测试boostrap表格插件的好网站!

最近在开发一个物业管理系统。用到bootstrap的表格插件bootstrap table&#xff0c;官方地址&#xff1a; https://bootstrap-table.com/ 因为是英文界面&#xff0c;对国人不是很友好。后来发现了IT小书童网站 IT小书童 - 为程序员提供优质教程和文档 网站&#xff1a; IT…...

虚拟路由与单页应用(SPA):详解

在单页应用&#xff08;SPA&#xff0c;Single Page Application&#xff09;中&#xff0c;虚拟路由&#xff08;也称为前端路由&#xff09;是一种关键的技术&#xff0c;用于管理页面导航和状态变化&#xff0c;而无需重新加载整个页面。为了帮助你更好地理解这一概念&#…...

基于树莓派3B+的人脸识别实践:Python与C联合开发

基于树莓派3B的人脸识别实践&#xff1a;Python与C联合开发 引言 树莓派因其小巧的体积和丰富的扩展性&#xff0c;成为嵌入式开发的理想平台。本文将分享如何通过Python与C语言联合开发&#xff0c;在树莓派3B上实现从硬件控制、摄像头拍照到百度API人脸比对的完整流程。项目…...

尝试使用Tauri2+Django+React项目(2)

前言 尝试使用tauri2DjangoReact的项目-CSDN博客https://blog.csdn.net/qq_63401240/article/details/146403103在前面笔者不知道怎么做&#xff0c;搞了半天 笔者看到官网&#xff0c;原来可以使用二进制文件&#xff0c;好好好 嵌入外部二进制文件 | Taurihttps://v2.taur…...

Qt桌面客户端跨平台开发实例

在Windows平台上&#xff0c;桌面客户端软件通常使用C/C语言和Qt跨平台开发框架进行开发。因此&#xff0c;大部分代码可以运行于不同平台环境&#xff0c;但是程序运行依赖的三方库以及代码中一些平台相关的头文件和接口需要进行平台兼容。本文以windows桌面端应用迁移到Linux…...

c++进阶之------红黑树

一、概念 红黑树&#xff08;Red-Black Tree&#xff09;是一种自平衡二叉查找树&#xff0c;它在计算机科学的许多领域中都有广泛应用&#xff0c;比如Java中的TreeMap和C中的set/map等数据结构的底层实现。红黑树通过在每个节点上增加一个颜色属性&#xff08;红色或黑色&am…...

政安晨【超级AI工作流】—— 使用Dify通过工作流对接ComfyUI实现多工作流协同

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 目录 一、准备工作 Dify跑起来 ollama局域网化配置 Dify配置并验证 启动ComfyUI 二、…...

javaweb开发以及部署

先说一个阿里云学生无门槛免费领一年2核4g服务器的方法&#xff1a; 阿里云服务器学生无门槛免费领一年2核4g_阿里云学生认证免费服务器-CSDN博客 Java Web开发是使用Java编程语言开发Web应用程序的过程&#xff0c;通常涵盖了使用Java EE&#xff08;Java Enterprise Edition…...

树莓派5介绍与系统安装

简介 Raspberry Pi 5采用运行频率为2.4GHz的64位四核Arm Cortex-A76处理器&#xff0c;与Raspberry Pi 4相比&#xff0c; CPU性能提高了2至3倍。此外&#xff0c;它还配备了一个800MHz的VideoCore VII GPU&#xff0c;可以提供大幅度的图形 性能提升&#xff0c;通过HDMI实现…...

菜鸟之路Day25一一前端工程化(二)

菜鸟之路Day25一一前端工程化&#xff08;二&#xff09; 作者&#xff1a;blue 时间&#xff1a;2025.3.19 文章目录 菜鸟之路Day25一一前端工程化&#xff08;二&#xff09;1.概述2.Element快速入门3.综合案例一.布局二.组件三.Axios异步加载数据1. 生命周期钩子概述2. mo…...

vue如何获取 sessionStorage的值,获取token

// 使用Axios发送请求并处理下载 import axios from axios;const handleDownload () > {const params {warehouseId: selectedWarehouseId.value};const apiUrl /api/materials/wmMatCheck/export-wmMatCheckDetail;axios.get(apiUrl, {params,responseType: blob, // 接…...

图解AUTOSAR_CP_DiagnosticLogAndTrace

AUTOSAR 诊断日志和跟踪(DLT)模块详解 AUTOSAR 经典平台中的诊断和调试关键组件 目录 1. 概述2. DLT模块架构 2.1 模块位置2.2 内部组件2.3 接口定义 3. DLT操作流程 3.1 初始化流程3.2 日志和跟踪消息处理3.3 控制命令处理 4. 数据结构与配置模型 4.1 配置类4.2 消息格式4.3 …...

微调实战 - 使用 Unsloth 微调 QwQ 32B 4bit (单卡4090)

本文参考视频教程&#xff1a;赋范课堂 – 只需20G显存&#xff0c;QwQ-32B高效微调实战&#xff01;4大微调工具精讲&#xff01;知识灌注问答风格微调&#xff0c;DeepSeek R1类推理模型微调Cot数据集创建实战打造定制大模型&#xff01; https://www.bilibili.com/video/BV1…...

金仓KESV8R6任务调度

基本概念 • 程序&#xff08;program&#xff09; 程序对象描述调度器要运行的内容。 • 调度计划&#xff08;schedule&#xff09; 调度计划对象指定作业何时运行以及运行多少次。调度计划可以被多个作业共享。 • 作业&#xff08;job&#xff09; 作业就是用户定义的…...

Maven常见问题汇总

Maven刷新,本地仓库无法更新 现象 This failure was cached in the local repository and resolution is not reattempted until the update interval of aliyunmaven has elapsed or updates are forced原因 因为上一次尝试下载&#xff0c;发现对应的仓库没有这个maven配置…...

颠覆者的困局:解构周鸿祎商业哲学中的“永恒战争”

引言&#xff1a;被误解的破坏者 在北京海淀区知春路银谷大厦的某间会议室里&#xff0c;周鸿祎用马克笔在白板上画出一个巨大的爆炸图案——这是2010年360与腾讯开战前夜的战术推演场景。这个充满硝烟味的瞬间&#xff0c;恰是《颠覆者》精神内核的完美隐喻&#xff1a;在中国…...

基于ChatGPT、GIS与Python机器学习的地质灾害风险评估、易发性分析、信息化建库及灾后重建高级实践

第一章、ChatGPT、DeepSeek大语言模型提示词与地质灾害基础及平台介绍【基础实践篇】 1、什么是大模型&#xff1f; 大模型&#xff08;Large Language Model, LLM&#xff09;是一种基于深度学习技术的大规模自然语言处理模型。 代表性大模型&#xff1a;GPT-4、BERT、T5、Ch…...

如何实现单点登录?

单点登录(Single Sign-On, SSO)是一种身份验证机制,允许用户在多个应用系统中只登录一次,就能够访问所有受保护的系统或服务,而无需重复登录。SSO通过集中式认证来简化用户的登录体验,提高安全性,并减少管理复杂性。 一、原理 SSO的核心原理是通过一个认证中心(Ident…...

01 Overview

版本pytorch 0.4&#xff0c;应用期的技术 学习的前提 线性代数和概率分布&#xff0c;高数 内容 穷举、贪心、分治算法、动态规划 花书是经典中的经典 机器学习历史 1 基于规则的 2 经典的机器学习方法 3 深度学习 深度学习竞赛识别率超过了人类 神经网络是数学和工…...

第二天 开始Unity Shader的学习之旅之熟悉顶点着色器和片元着色器

Shader初学者的学习笔记 第二天 开始Unity Shader的学习之旅之熟悉顶点着色器和片元着色器 文章目录 Shader初学者的学习笔记前言一、顶点/片元着色器的基本结构① Shader "Unity Shaders Book/Chapter 5/ Simple Shader"② SubShader③ CGPROGRAM和ENDCG④ 指明顶点…...

moveit2基础教程上手-使用xarm6演示

0、前置信息 开发环境&#xff1a;wsl。 ros版本&#xff1a;jazzy&#xff0c;ubuntu版本&#xff1a;24.04 xarm-ros2地址 1、启动Rviz&#xff0c;加载 Motion Planning Plugin&#xff0c;实现演示功能 Getting Started — MoveIt Documentation: Rolling documentation…...

头部姿态估计(Head Pose Estimation)领域,有许多开源工具和库可供选择,一些常用的工具及其特点

在头部姿态估计&#xff08;Head Pose Estimation&#xff09;领域&#xff0c;有许多开源工具和库可供选择。以下是一些常用的工具及其特点比较&#xff1a; 1. OpenCV 特点: OpenCV 是一个广泛使用的计算机视觉库&#xff0c;提供了丰富的图像处理和计算机视觉算法。虽然 O…...

Qt调用Miniconda的python方法

1、 Win 64环境下载及安装 Miniconda 首先下载Windows 版Miniconda&#xff0c;https://docs.conda.io/en/latest/miniconda.html或 https://repo.anaconda.com/miniconda/ 安装界面及选择如下图所示&#xff1a; 安装完python3.12版报错如下。 说明&#xff1a;python3.11版…...

【Linux 下的 bash 无法正常解析, Windows 的 CRLF 换行符问题导致的】

文章目录 报错原因&#xff1a;解决办法&#xff1a;方法一&#xff1a;用 dos2unix 修复方法二&#xff1a;手动转换换行符方法三&#xff1a;VSCode 或其他编辑器手动改 总结 这个错误很常见&#xff0c;原因是你的 wait_for_gpu.sh 脚本 文件格式不对&#xff0c;具体来说…...

DSP数字信号处理

数字信号处理&#xff08;Digital Signal Processing&#xff0c;简称DSP&#xff09;是一门研究如何通过数字技术对信号进行分析、修改和合成的学科。DSP在现代电子系统中无处不在&#xff0c;广泛应用于音频处理、视频处理、通信、雷达、医学成像等领域。 什么是数字信号处理…...

vue3 获取当前路由信息失败问题

刷新浏览器时获取当前路由信息失败&#xff1a;undefined import { ref, reactive, onMounted } from vue; import { useRoute } from vue-router; const route useRoute();onMounted(()>{// 打印当前路由信息console.log(当前route, route ); // 这里的打印有值console.…...

数据驱动进化:AI Agent如何重构手机交互范式?

如果说AIGC拉开了内容生成的序幕&#xff0c;那么AI Agent则标志着AI从“工具”向“助手”的跨越式进化。它不再是简单的问答机器&#xff0c;而是一个能够感知环境、规划任务并自主执行的智能体&#xff0c;更像是虚拟世界中的“全能员工”。 正如行业所热议的&#xff1a;“大…...

汽车芯片成本控制:挑战、策略与未来趋势

一、引言 随着汽车行业的快速发展&#xff0c;汽车芯片在车辆中的应用越来越广泛。从简单的发动机控制单元到复杂的自动驾驶系统&#xff0c;芯片已成为汽车智能化、电动化的核心部件。然而&#xff0c;汽车芯片的高成本一直是制约汽车行业发展的重要因素之一。本文将深入探讨…...