javaEE13(网站第8章两个课后题)
1、对“jsp+servlet+javabean实现分页查询”功能做如下补充:
(1)记录批量删除:每个记录前添加复选框,点击批量删除,删除选中记录。
- 增加跳转到任意页功能。
- 用户可改变每页记录条数。



页面:
<%@ page pageEncoding="UTF-8" import="java.util.List,dao.StudentDao,entity.Student"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><!DOCTYPE html><html><head><title>模糊</title><script>function qingchu(){document.getElementById("sno").value='';document.getElementById("sname").value='';document.getElementById("sex").value='';}function jump1(pageNo){var queryForm=document.getElementById("queryForm");queryForm.pageNo.value=pageNo;queryForm.submit();}function jump2(pageNo){var pageNo1=document.getElementById("pageNo1").value;if(pageNo1!=""){jump1(pageNo1);}}function btSelectAllOnclick(obj) { var isCheck=obj.checked;var inputs=document.getElementsByTagName("input"); for(var i=0;i<inputs.length;i++){ if(inputs[i].type=="checkbox" && inputs[i].id!="selectAll") //刷选出所有复选框 { inputs[i].checked=obj.checked;if(isCheck==true){inputs[i].name="check";}else{inputs[i].name="user";}} } }function getCheckBox() { var inputs=document.getElementsByTagName("input"); var chkInputs=new Array(); var j=0; for(var i=0;i<inputs.length;i++) { if(inputs[i].type=="checkbox" && inputs[i].id!="selectAll") //刷选出所有复选框 { chkInputs[j]=inputs[i]; j++; } } return chkInputs; }function toChkSon(obj) { var isCheck=obj.checked;obj.name="check";if(isCheck==false) //单选复选框未选中 全选为未选 { document.getElementById("selectAll").checked=false;obj.name="user";return ; } var chkInputs=getCheckBox();var j=0; for(var i=0;i<chkInputs.length;i++) { if(chkInputs[i].checked==isCheck) j++; else break; } if(j==chkInputs.length) //当所有复选框为同一状态时 赋值全选同一状态 document.getElementById("selectAll").checked=isCheck; }function submitForm(){document.getElementById("queryForm").submit();}function pagesizee(){var pagesize=document.getElementById("pageSize").value;if(pagesize!=""&&pagesize!=null){document.getElementById("queryForm").submit();}}</script><style>th,td{border:2px solid gray;padding:3px;text-align:center;}table,form{border-collapse:collapse;margin:0 auto;text-align:center;}#pageSwitch{margin:5px;text-align:center;}</style></head><body><form method="post" action="${pageContext.request.contextPath}/student" id="queryForm">学号<input type="text" name="sno" id="sno" value="${param.sno}">姓名<input type="text" name="sname" id="sname" value="${param.sname}">性别<input type="text" name="sex" id="sex" value="${param.sex}"><input type="button" value="清除" onclick="qingchu()"/><input type="hidden" name="action" value="query3"/><input type="hidden" name="pageNo" value="1"/><input type="submit" value="查询"/><br><br><c:if test="${requestScope.recordCount==0}"><div style="text-align:center">无记录</div></c:if><c:if test="${requestScope.recordCount>0}"><table id="tab"><tr><th><input type="checkbox" id="selectAll" name="selectAll" onclick="btSelectAllOnclick(this)"/></th><th>序号</th><th>学号</th><th>姓名</th><th>性别</th><th>修改</th><th>删除</th></tr><c:forEach items="${studentList}" var="student" varStatus="status"><tr><td><input type="checkbox" onclick="toChkSon(this);" value="${student.id}" id="user" name="user"></td><td>${status.index+1}</td><td>${student.sno}</td><td>${student.sname}</td><td>${student.sex}</td><td><a href="${pageContext.request.contextPath}/student/edit.jsp?id=${student.id}&sno=${student.sno}&sname=${student.sname}&sex=${student.sex}">修改</a></td><td><a href="${pageContext.request.contextPath}/student?id=${student.id}&action=delete" onclick="return confirm('确实要删除该记录吗?')">删除</a></td></tr></c:forEach></table><input type="button" value="删除所选" onclick="submitForm()" /><div id="pageSwitch">共有记录${recordCount}条, 第${pageNo}/${pageCount}页,<c:if test="${pageNo>1}"><a href="javascript:jump1('1')">首页</a><a href="javascript:jump1('${pageNo-1}')">上页</a></c:if><c:if test="${pageNo==1}">首页 上页</c:if><c:if test="${pageNo<pageCount}"><a href="javascript:jump1('${pageNo+1}')">下页</a><a href="javascript:jump1('${pageCount}')">末页</a></c:if><c:if test="${pageNo==pageCount}">下页 末页</c:if>跳转到第<input type="text" name="pageNo1" id="pageNo1" value="" onclick="jump2('${pageNo}')">页,每页<input type="text" name="pageSize" id="pageSize" value="" onclick="pagesizee()">条</div></c:if></form><%String pagesize=request.getParameter("pageSize");if(pagesize!=null&&pagesize!=""){session.setAttribute("pageSize",pagesize);}%></body></html>
Servlet:
private void query3(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");request.setCharacterEncoding("UTF-8");String users[]=request.getParameterValues("check");StudentDao studentDao=new StudentDao();HttpSession session=request.getSession();if(users!=null){for(int i=0;i<users.length;i++){//循环删除被选中的数据try {studentDao.delete(Integer.parseInt(users[i]));} catch (Exception e) {e.printStackTrace();}}}try {String condition=" where 1=1 ";String sno=request.getParameter("sno");String sname=request.getParameter("sname");String sex=request.getParameter("sex");if(notEmpty(sno)) {condition+=" and sno like '%"+sno+"%' ";}if(notEmpty(sname)) {condition+=" and sname like '%"+sname+"%' ";}if(notEmpty(sex)) {condition+=" and sex like '%"+sex+"%' ";}int pageNo=1;int pageSize=10;try {pageNo=Integer.parseInt(request.getParameter("pageNo"));} catch (Exception e) {}String pagesize=request.getParameter("pageSize");String pagesize1=(String) session.getAttribute("pageSize");if(pagesize!= null && !pagesize.equals("")) {pageSize=Integer.parseInt(pagesize);}else if(pagesize1!= null && !pagesize1.equals("")) {pageSize=Integer.parseInt(pagesize1);}int recordCount=studentDao.getRecordCount(condition);if(recordCount>0){List<Student> studentList=studentDao.query(condition,"",pageNo,pageSize); int t1=recordCount%pageSize;;int t2=recordCount/pageSize;int pageCount=(t1==0?t2:t2+1);request.setAttribute("pageNo", pageNo);request.setAttribute("pageCount", pageCount);request.setAttribute("studentList", studentList);}request.setAttribute("recordCount", recordCount);request.getRequestDispatcher("/student/query3.jsp").forward(request,response);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}
Dao:
public void delete(int id) throws Exception{Connection conn = null;PreparedStatement ps = null;try {conn = JdbcUtil.getConnection();String sql = "delete from student where id=?";ps = conn.prepareStatement(sql);ps.setInt(1,id);ps.executeUpdate();}finally {JdbcUtil.free( null,ps, conn);}}
2、针对课程表数据库(数据库脚本下载)实现分页查询。同时按课程名、上课时间、上课地点、任课教师四列查询。
样例:http://47.93.11.179/test/courseServlet3

页面:
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8" import="java.util.List,dao.courseDao,entity.course"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><!DOCTYPE html><html><head><style>body{text-align:center;}th,td{border:2px solid gray;text-align:center;padding:3px 10px;}table{border-collapse:collapse;margin:0 auto;}</style><script>function jump1(pageNo){document.getElementById("pageNo").value=pageNo;document.getElementById("form11").submit();}function qc(){document.getElementById("kcm").value="";document.getElementById("sksj").value="";document.getElementById("skdd").value="";document.getElementById("rkjs1").value="";}</script><style>.odd{background-color:#E0EEEE;}</style></head><body><h2>课程表分页查询</h2><form action="${pageContext.request.contextPath}/courseServlet3" method="post" id="form11" >课程名<input name="kcm" value="${param.kcm}" id="kcm">上课时间<input name="sksj" value="${param.sksj}" id="sksj">上课地点<input name="skdd" value="${param.skdd}" id="skdd">任课教师<input name="rkjs1" value="${param.rkjs1}" id="rkjs1"><input type="hidden" name="pageNo" id="pageNo" value="1"/><input type="submit" value="查询"/><input type="button" value="清除" onclick="qc()"/></form><br><c:if test="${requestScope.recordCount==0}"><div style="text-align:center">无记录</div></c:if><c:if test="${requestScope.recordCount>0}"><table><tr><th>学院</th><th>课序号</th><th>课程号</th><th>课程名</th><th>任课老师</th><th>上课时间</th><th>上课周次</th><th>上课地点</th><th>班级</th><th>年级</th><th>校区</th></tr><c:forEach items="${studentList}" var="student" varStatus="status"><tr><td>${status.index+1}</td><td>${student.kxh}</td><td>${student.kch}</td><td>${student.kcm}</td><td>${student.rkjs1}</td><td>${student.sksj}</td><td>${student.skzc}</td><td>${student.skdd}</td><td>${student.bj}</td><td>${student.rs}</td><td>${student.xq}</td></tr></c:forEach></table><div id="pageSwitch">共有记录${recordCount}条, 第${pageNo}/${pageCount}页,<c:if test="${pageNo>1}"><a href="javascript:jump1('1')">首页</a><a href="javascript:jump1('${pageNo-1}')">上页</a></c:if><c:if test="${pageNo==1}">首页 上页</c:if><c:if test="${pageNo<pageCount}"><a href="javascript:jump1('${pageNo+1}')">下页</a><a href="javascript:jump1('${pageCount}')">末页</a></c:if><c:if test="${pageNo==pageCount}">下页 末页</c:if></div></c:if><br></body></html>
Servlet:
package servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.List;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import dao.courseDao;import entity.course;@WebServlet("/courseServlet3")public class CourseServlet extends HttpServlet{private static final long serialVersionUID = 1L;courseDao studentDao=new courseDao();public CourseServlet() {super();// TODO Auto-generated constructor stub}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubthis.doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubresponse.setContentType("text/html;charset=UTF-8");request.setCharacterEncoding("UTF-8");PrintWriter out = response.getWriter();try {String condition=" where 1=1 ";String kcm=request.getParameter("kcm");String sksj=request.getParameter("sksj");String skdd=request.getParameter("skdd");String rkjs1=request.getParameter("rkjs1");if(notEmpty(kcm)) {condition+=" and kcm like '%"+kcm+"%' ";}if(notEmpty(sksj)) {condition+=" and sksj like '%"+sksj+"%' ";}if(notEmpty(skdd)) {condition+=" and skdd like '%"+skdd+"%' ";}if(notEmpty(rkjs1)) {condition+=" and rkjs1 like '%"+rkjs1+"%' ";}int pageNo=1;int pageSize=10;try {pageNo=Integer.parseInt(request.getParameter("pageNo"));} catch (Exception e) {}int recordCount=studentDao.getRecordCount(condition);if(recordCount>0){List<course> studentList=studentDao.query(condition,"",pageNo,pageSize); int t1=recordCount%pageSize;int t2=recordCount/pageSize;int pageCount=(t1==0?t2:t2+1);request.setAttribute("pageNo", pageNo);request.setAttribute("pageCount", pageCount);request.setAttribute("studentList", studentList);}request.setAttribute("recordCount", recordCount);request.getRequestDispatcher("courseServlet.jsp").forward(request,response);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}private boolean notEmpty(String s) {return s!=null&&!"".equals(s.trim());}}
Dao:
package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import entity.course;import util.JdbcUtil;public class courseDao {public List<course> query(String condition) throws Exception{Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;List<course> studentList=new ArrayList<course>();try {conn = JdbcUtil.getConnection();String sql = "select * from course "+condition;ps=conn.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()){course student=new course();student.setId(rs.getInt(1));student.setXy(rs.getString(2));student.setKxh(rs.getString(3));student.setKch(rs.getString(4));student.setKcm(rs.getString(5));student.setRkjs1(rs.getString(9));student.setSksj(rs.getString(11));student.setSkzc(rs.getString(12));student.setSkdd(rs.getString(13));student.setBj(rs.getString(14));student.setRs(rs.getString(16));student.setXq(rs.getString(17));studentList.add(student);}}finally {JdbcUtil.free(rs, ps, conn);}return studentList;}public int getRecordCount(String condition) throws Exception{Connection conn = null;PreparedStatement pst = null;ResultSet rs = null;int recordcount=0;try {conn = JdbcUtil.getConnection();String sql = "select count(*) from course "+condition;pst = conn.prepareStatement(sql);rs=pst.executeQuery();rs.next();recordcount=rs.getInt(1);}finally {JdbcUtil.free(rs, pst, conn);}return recordcount;}public List<course> query(String condition,String order,int pageNo,int pageSize) throws Exception{Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;List<course> studentList=new ArrayList<course>();try {conn = JdbcUtil.getConnection();String sql = "select * from course "+condition+order+" limit ?,?";ps=conn.prepareStatement(sql);ps.setInt(1, (pageNo-1)*pageSize);ps.setInt(2, pageSize);rs=ps.executeQuery();while(rs.next()){course student=new course();student.setId(rs.getInt(1));student.setXy(rs.getString(2));student.setKxh(rs.getString(3));student.setKch(rs.getString(4));student.setKcm(rs.getString(5));student.setRkjs1(rs.getString(9));student.setSksj(rs.getString(11));student.setSkzc(rs.getString(12));student.setSkdd(rs.getString(13));student.setBj(rs.getString(14));student.setRs(rs.getString(16));student.setXq(rs.getString(17));studentList.add(student);}}finally {JdbcUtil.free(rs, ps, conn);}return studentList;}}
相关文章:
javaEE13(网站第8章两个课后题)
1、对“jspservletjavabean实现分页查询”功能做如下补充: (1)记录批量删除:每个记录前添加复选框,点击批量删除,删除选中记录。 增加跳转到任意页功能。用户可改变每页记录条数。 页面&am…...
【Leetcode每日一题】 递归 - 反转链表(难度⭐)(35)
1. 题目解析 题目链接:206. 反转链表 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 一、递归函数的核心任务 递归函数的主要职责是接受一个链表的头指针,并返回该链表逆序后的新头结点。递归…...
Unity基础学习
目录 基础知识点3D数学——基础Mathf三角函数坐标系 3D数学——向量向量模长和单位向量向量的加减乘除向量点乘向量叉乘向量插值运算 3D数学——四元数为何使用四元数四元数是什么四元数常用方法四元数计算 MonoBehavior中的重要内容延迟函数协同程序协同程序原理 Resources资源…...
Java并发编程学习笔记:AQS
Java并发编程学习笔记:AQS 一、底层原理核心功能同步状态管理CLH 队列和线程调度机制独占模式与共享模式模板方法设计模式自旋、阻塞与超时机制 运行流程 二、锁的公平性公平锁非公平锁 三、容器实现 JUC中的AQS(AbstractQueuedSynchronizer)…...
Github上哪些好用的工具
专注于web漏洞挖掘、内网渗透、免杀和代码审计,感谢各位师傅的关注!网安之路漫长,与君共勉! Qexo-爱写博客的师傅强烈推荐 漂亮的 Hexo 静态博客编辑器。该项目是基于 Django 的 Hexo 静态博客管理后台,支持文章管理、…...
如何确保面试流程标准化操作,避免人为因素影响**
一、背景 在招聘过程中,面试作为关键环节,其标准化操作至关重要。标准化不仅有助于提高面试效率和质量,还能减少人为因素的影响,确保公平、公正和客观。本文将从以下八个方面探讨如何确保面试流程的标准化操作。 二、明确面试标准 制定明确的面试标准和要求,确保所有面试…...
YOLOv7改进 | 更换主干网络之PP-LCNet
前言:Hello大家好,我是小哥谈。PP-LCNet是一个由百度团队针对Intel-CPU端加速而设计的轻量高性能网络。它是一种基于MKLDNN加速策略的轻量级卷积神经网络,适用于多任务,并具有提高模型准确率的方法。与之前预测速度相近的模型相比,PP-LCNet具有更高的准确性。此外,对于计…...
MySQL基础-----多表查询之子查询
目录 前言 子查询概述 1.概念 2.分类 一、标量子查询 二、列子查询 三、行子查询 四、表子查询 前言 上一期我们讲了内外连接查询以及自连接查询,那么本期我们就学习多表查询的子查询。本期会详细讲解什么是子查询,以及子查询的相关功能…...
nginx应用场景(附配置)
场景1:web服务器 server {listen 80;server_name example.com; # 替换为您的域名location / {root /data/wwwroot;index index.html index.htm;} }server {listen 443 ssl;server_name example.com; # 替换为您的域名ssl_certificate /path/to/certificate.crt;ssl…...
tvm android_rpc_test.py执行报错解决
执行 python3 tests/android_rpc_test.py 报错: Run CPU test ... Traceback (most recent call last): File "tests/android_rpc_test.py", line 129, in <module> test_rpc_module() File "tests/android_rpc_test.py", line …...
十、项目沟通管理
十、项目沟通管理 从马斯洛需求的各个层级上,都需要沟通的介入。如果缺乏沟通,甚至可能严重损伤身心健康。 沟通渠道 1、 规划沟通管理 规划沟通管理是基于每个相关方或相关方群体的信息需求、可用的组织资产,以及具体项目的需求&#x…...
SQL设计时增加说明列
后关闭sql Studio,然后打开注册表,注册表地址: 计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\SQL Server Management Studio\18.0_IsoShell\DataProject 如有版本不同,红色内容有所变化,修改内容如下: SSVPropViewColumnsSQL70,SSVPropViewColumnsSQL80 全修改为 1,2,6,7…...
前端提高性能——使用Intersection Observer API对图片视频进行懒加载
前言 最近做了一个项目是类似于商城的,需要放很多图片,在用户选择一页五十条时,页面加载速度会比较慢。为了提高性能,选择用Intersection Observer API 实现图片懒加载。 实现步骤 一、html代码: <img class&qu…...
杂七杂八111
MQ 用处 一、异步。可提高性能和吞吐量 二、解耦 三、削峰 四、可靠。常用消息队列可以保证消息不丢失、不重复消费、消息顺序、消息幂等 选型 一Kafak:吞吐量最大,性能最好,集群高可用。缺点:会丢数据,功能较单一。 二Ra…...
微信小程序(一)
WebView app.是全局配置,app.json是全局配置文件,在页面的.json配置文件中的配置会覆盖我们全局的配置 快捷键: .box 敲回车 ----- <view class"box"></view> .row*8 敲回车: .row{$}*8 敲回车 案例1&…...
【DL经典回顾】激活函数大汇总(十二)(GLU ReGLU附代码和详细公式)
激活函数大汇总(十二)(GLU & ReGLU附代码和详细公式) 更多激活函数见激活函数大汇总列表 一、引言 欢迎来到我们深入探索神经网络核心组成部分——激活函数的系列博客。在人工智能的世界里,激活函数扮演着不可或…...
【C++】string类初步介绍
个人主页 : zxctscl 如有转载请先通知 文章目录 1. 为什么学习string类1.1 C语言中的字符串1.2 推荐学习网站 2. 标准库中的string类2.1 string类2.2 string类的常用接口说明2.2.1 constructor2.2.2 遍历string2.2.2.1 下标加[]遍历2.2.2.2 迭代器(itera…...
HCIP --- BGP 综合实验
目录 实验拓扑图: 实验要求: 实验步骤: 1.划分IP地址 R1的配置 R2的配置 R3的配置 R4的配置 R5的配置 R6的配置 R7的配置 R8的配置 2.检测查询IP地址 3.OSPF 建邻 4.查询OSPF 建邻是否成功 5.AS 2 内部BGP 建邻 a. AS 2 内部 IBG…...
【优选算法】专题1 -- 双指针 -- 移动零
前言: 📚为了提高算法思维,我会时常更新这个优选算法的系列,这个专题是关于双指针的练习 🎯个人主页:Dream_Chaser~-CSDN博客 一.移动零(easy) 描述: 「数组分两块」是⾮…...
【计算机视觉】二、图像形成:2、几何基元和几何变换:2D变换
文章目录 一、向量和矩阵的基本运算二、几何基元和变换1、几何基元(Geometric Primitives)2、几何变换(Geometric Transformations)1. 各种变换的关系2. 变换公式3. 2D变换的层次4. python实现 一、向量和矩阵的基本运算 【计算机视觉】二、图像形成:1、向量和矩阵…...
攻克Switch 19.0.1系统Atmosphere启动故障:从诊断到优化的完整方案
攻克Switch 19.0.1系统Atmosphere启动故障:从诊断到优化的完整方案 【免费下载链接】Atmosphere Atmosphre is a work-in-progress customized firmware for the Nintendo Switch. 项目地址: https://gitcode.com/GitHub_Trending/at/Atmosphere 在Switch主机…...
当企业规模增长后,IT管理为什么越来越“失控”?
在企业早期,IT 管理往往是“够用就好”。 一套简单的工单工具、一份资产台账、几个人工流程,就足以支撑日常运转。但当企业规模逐渐扩大,员工数量增长、系统复杂度提升、业务节奏加快时,原本“还能用”的 IT 管理方式,…...
Qwen3.5-2B图文理解实战:上传建筑平面图,自动标注房间功能与面积
Qwen3.5-2B图文理解实战:上传建筑平面图,自动标注房间功能与面积 1. 引言:当AI遇见建筑设计 想象一下这样的场景:你刚拿到一张复杂的建筑平面图,需要快速标注每个房间的功能和面积。传统方法可能需要花费数小时手动测…...
ESP32-S3 PSRAM实战:PlatformIO Arduino配置与内存分配优化指南
1. ESP32-S3 PSRAM基础配置与验证 最近在折腾ESP32-S3的PSRAM配置时,发现PlatformIO Arduino环境下有些坑需要特别注意。先说说我的硬件配置:ESP32-S3-DevKitC-1开发板,搭载8MB PSRAM和16MB FLASH。这种配置非常适合需要大内存的应用场景&…...
Python 如何反向 `enumerate` 遍历枚举
在 Python 中,enumerate() 是一个常用的内置函数,用于在遍历可迭代对象(如列表、元组、字符串等)时同时获取索引和值。但默认情况下,enumerate() 是从前往后遍历的。那么,**如何反向 enumerate 遍历&#x…...
Univer:企业级协作平台开发实战
Univer:企业级协作平台开发实战 【免费下载链接】univer Build AI-native spreadsheets. Univer is a full-stack framework for creating and editing spreadsheets on both web and server. With Univer Platform, Univer Spreadsheets is driven directly throug…...
串口通信与Modbus协议:工业自动化中的黄金搭档
1. 工业自动化的通信基石:串口与Modbus为何成为黄金组合 在工厂车间的控制柜里,PLC正以每秒数十次的频率采集着温度传感器的数据;在自动化生产线上,机械臂的每个动作都精准同步着传送带的节奏。这些看似神奇的工业魔法,…...
避坑指南:PICO空间网格开发常见问题排查(视频透视/组件配置/真机调试)
PICO空间网格开发实战:视频透视配置与真机调试全解析 在混合现实(MR)开发领域,PICO设备凭借其出色的空间感知能力为开发者提供了广阔的创新空间。然而,当我们将Unity引擎与PICO硬件结合进行空间网格开发时,…...
如何在Linux系统中快速找到文件:FSearch终极文件搜索工具完整指南
如何在Linux系统中快速找到文件:FSearch终极文件搜索工具完整指南 【免费下载链接】fsearch A fast file search utility for Unix-like systems based on GTK3 项目地址: https://gitcode.com/gh_mirrors/fs/fsearch 在Linux系统中寻找特定文件常常令人头疼…...
C语言开发者视角:Kandinsky-5.0-I2V-Lite-5s高性能推理引擎调用
C语言开发者视角:Kandinsky-5.0-I2V-Lite-5s高性能推理引擎调用 1. 引言:当静态告警遇上动态生成 想象一下这样的场景:工业监控系统捕捉到设备异常,触发静态告警图片。传统方案中,这张图片需要人工介入分析ÿ…...
