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

停车场收费系统

  1.系统的开发工具

    1.1 AppServe集成应用

    Mysql:MySQL 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 MySQL AB 公司开发、发布并支持,由 MySQL 的初始开发人员 David Axmark 和 Michael Monty Widenius 于 1995 年建立的。
    Php:PHP是一种嵌入式脚本语言,由于 PHP 简单、易用、跨平台、开源等特点,使其成为主流的网站开发语言,使用 PHP 开发的网站遍及各个行业。在具体开始学习 PHP 之前,本章先简单介绍一下 PHP 语言和 PHP7 的一些新特性,PHP 的发展趋势以及学好 PHP 语言的方法等,让读者对 PHP 语言有一个整体的了解,然后再慢慢地学习具体内容,最后达到完全掌握 PHP 语言的目的。

    1.2使用VScode编写html代码以及php的结合

在浏览器中使用“http://localhost:90”进入数据库进行数据操作Visual Studio Code(简称“VS Code” )是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代Web和云应用的跨平台源代码编辑器,可在桌面上运行,并且可用于Windows,macOS和Linux。它具有对JavaScript,TypeScript和Node.js的内置支持,并具有丰富的其他语言(例如C++,C#,Java,Python,PHP,Go)和运行时(例如.NET和Unity)扩展的生态系统。

  2.系统分析

    2.1 需求分析

本系统包括两类用户:管理员用户和普通用户。管理员可以使用系统所有功能,普通用户只能查询车辆历史记录、用户信息(只限于个人信息)、查询计费标准、查询当前在场信息、查询出入场信息、当前可用车位信息。具体模块划分为如下模块:系统管理模块、信息维护模块、信息查询模块、车场管理模块。
①系统管理模块
管理员注册 功能描述:管理员可以在这里添加新的管理员。
用户注册 功能描述:在这里可添加新的用户(普通用户)。
②信息维护模块
管理员在这里可以修改用户。这里会以表的形式显示所有的用户信息。管理员点击相应的一行用户信息,这行信息会自动填充到表下的面板里,用户可以在面板里修改用户信息,面板下面有两个按钮,修改、删除,点击相应的按钮可以实现相应的功能。
③信息查询模块
登录的管理员可以根据车牌号或用户名查询用户信息,登录的用户只可以查到自己的信息(进出场记录、收费记录)
④ 车场管理模块(应该分为车辆入场和车辆出场两部分)
车辆入场 功能描述:车辆进入停车场时进行登记,记录入场时间并指定车位。
车辆出场 功能描述:车辆开出停车场时进行登记,记录出场的时间并进行自动收费。根据车辆进场时间,出场时间及收费标准自动计算车主应该缴纳的费用。如果停车时间包含不足一小时的时间,超过30分钟按一小时计算,不足三十分钟不计算。
⑤当前在场信息
用户可以在这里查询到当前在场的车辆信息,包括车位号,开始停车时间。
⑥当前可用车位信息
在这里用户可以查询当前可用的车位的信息,包括车位号
⑦计费标准信息
管理员可以在这里根据市场价格变动适当调节停车价格

  4.系统设计

    4.1 界面设计

登陆与注册界面如图4.1所示
在这里插入图片描述

                                            图4.1登录与注册界面

管理员信息界面(可进行增删查改)如图4.2
在这里插入图片描述

                                            图4.2管理员信息界面

管理员信息增加界面如图4.3所示
在这里插入图片描述

                                            图4.3 管理员信息增加

用户信息界面(可进行增删查改)如图4.4所示
在这里插入图片描述

                                            图4.4用户信息
用户信息增加界面如图4.5所示
在这里插入图片描述

                                            图4.5 用户信息增加
停车记录界面如图4.6所示
在这里插入图片描述

                                            图4.6 停车记录
车费缴纳界面如图4.7所示
在这里插入图片描述在这里插入图片描述

                                            图4.7 车费缴纳
费用价格定价界面如图4.8所示
在这里插入图片描述

                                            图4.8 费用价格定价
车位状态管理界面如图4.9所示
在这里插入图片描述

                                            图4.9 车位状态管理

    4.2 内容设计

①登录与注册 实现管理员和用户的注册与登录,将得到的数据添入数据库并保存下来
②管理员信息界面 实现管理员的添加、删除、修改以及查询
③用户信息界面 实现用户的添加、删除、查询以及修改
④停车记录管理 可对停入停车场的车辆进行记录,有车主、电话、车牌号、停车时间,车辆离开后会有时间记录,显示总时长和应缴金额。管理员对停车记录也可进行增删查改。
⑤车辆管理界面 对停入车辆的车主、电话、车牌号、停留时间、离开时间以及是否缴费都会有记录,缴费状态会随是否缴费而进行变化。车费修改界面是由管理员对当下经济变动进行合理的修改。
⑥车位状态管理界面 此界面可随停车记录的变动而变动,在停车记录里有车辆停入并记录下来时,车位状态管理会随之减少相应的车位剩余数,反之增加相应的车位剩余数。

    4.3 技术难点

①数据库的建立,有些字段的属性使用场景不同,需要适当改变
②前端HTML的美化需要用到JavaScript,不是很熟练
③ Php未学,现下学,很多语法使用不当,对数据的显示很多时候都会出错
④停车场计费管理中,需要对车辆停入时间和驶出时间进行计算,最后通过单价计算出所需缴纳费用,所以TIMESTAMPIFF的运用也是个难点。
⑤对于车辆停入后来驶出,再次停入的记录,避免车牌号重复的记录是个难点

    4.4 问题解决

①场景不同所创建的数据表也有所变化
管理员数据表:SELECT adid, adname, adpsw FROM administrator WHERE 1;用户数据表:SELECT usid, usname, uslpn, ustel FROM users WHERE 1;停车记录表:SELECT prid, prname, prtel, prlpn, prstart, prend, prtimes, prmoney, prpay FROM prpayment WHERE 1;计费:SELECT pmoney FROM money WHERE 1等。

②网上查找JavaScript的相关知识,结合课本修饰美化页面

<script src="JQuery.js"> </script><script type="text/javascript">$(function () {$("ul.accordion li span").on('click', function () {$(this).parent().siblings().removeClass('selected').find('div').hide();$(this).parent().addClass('selected');$(this).next().slideDown(500);});});</script>

③Php进行数据库连接,网络上查找

<?phpsession_start();//开启缓存if(isset($_SESSION['yes'])){echo '<p align="center">'.$_SESSION['yes'].'</p>';unset($_SESSION['yes']);}$link=mysqli_connect('localhost','root','12345678','park');if(!$link){exit('数据库连接失败!');}

④TIMESTAMPIFF函数的运用
l e a v e 2 = m y s q l i q u e r y ( leave2=mysqli_query( leave2=mysqliquery(link,“update prpayment set prtimes =ceil((select * from(select timestampdiff(minute,prstart,prend) from prpayment where prid= r o w [ 0 ] ) a s p r ) / 60 ) w h e r e p r i d = row[0])as pr )/60) where prid= row[0])aspr)/60)whereprid=row[0]”);//计算时间
⑤判断停车场内的车辆是否驶出,可否可插入
l e a v e 1 = m y s q l i q u e r y ( leave1=mysqli_query( leave1=mysqliquery(link,“update prpayment set prend=(now()) where prid=$row[0]”);//离开时间
l e a v e 2 = m y s q l i q u e r y ( leave2=mysqli_query( leave2=mysqliquery(link,“update prpayment set prtimes =ceil((select * from(select timestampdiff(minute,prstart,prend) from prpayment where prid= r o w [ 0 ] ) a s p r ) / 60 ) w h e r e p r i d = row[0])as pr )/60) where prid= row[0])aspr)/60)whereprid=row[0]”);//计算时间
l e a v e 3 = m y s q l i q u e r y ( leave3=mysqli_query( leave3=mysqliquery(link,“update prpayment set prmoney=prtimes* m 1 [ 0 ] w h e r e p r i d = m1[0] where prid= m1[0]whereprid=row[0]”);//计算费用

  5.系统实施

    5.1 数据库连接

<?php$link=mysqli_connect('localhost','root','12345678','park');if(!$link){exit('数据库连接失败!');}else{echo "数据库连接成功!";
}

    5.2信息注册

<?php$link=mysqli_connect('localhost','root','12345678','park');if(!$link){exit('数据库连接失败!');}else{echo "数据库连接成功!";}mysqli_set_charset($link,"utf8");$aname=$_POST['adname'];$apsw=$_POST['adpsw'];if(isset($_POST['login'])){//注册$result1=mysqli_query($link,"select adname from administrator where adname='$aname'");if(mysqli_num_rows($result1)==true){echo '<script>alert("用户已存在,请重新注册!");location.href="denglu.html";</script>';}$result=mysqli_query($link,"insert into administrator(adname,adpsw) values ('$aname','$apsw')");if($result){   echo '<script>alert("注册成功!");// location.href="Ad.hph";</script>';header('location:Ad.php');}else{ echo '<script>alert("注册失败,请再次注册!");location.href="denglu.html";</script>';}}if(isset($_POST['register']))//登录{$result1=mysqli_query($link,"select adname,adpsw from administrator where adname='$aname' and adpsw='$apsw' ");if(mysqli_num_rows($result1)==true){echo '<script>alert("登录成功!");location.href="Ad.php";</script>';}elseecho '<script>alert("登录失败,用户名或密码错误!");location.href="denglu.html";</script>';}mysqli_close($link);?>

    5.3 信息添加

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>管理员信息新增</title><style>#sub{margin-left:48px;margin-right:50px;}#sub1{margin-left:10px;}</style></head><body><h1 align="center">新增管理员信息记录</h1><form action="" method="post" name="inf"><p align="center">名称:<input type="text" name="an"/></p><p align="center">密码:<input type="text" name="ap"/></p><p align="center"><input type="submit" name="insub" value="提交" id="sub"><input type="submit" name="insub1" value="取消" id="sub1"></p></form><?phpsession_start();$link=mysqli_connect('localhost','root','12345678','park');if(!$link){exit('数据库连接失败!');}if(!empty($_POST["insub"])){$an=$_POST['an'];$ap=$_POST['ap'];mysqli_query($link,"insert administrator (adname,adpsw) values ('$an','$ap')");$_SESSION['yes']='添加成功!';header('location:Ad.php');}if(!empty($_POST["insub1"])){header('location:Ad.php');}?></body>
</html>

    5.4 信息修改

                    <form action="" method="post" name="pr"><p align="center"><input type="text" name="sel"/> <input type="submit" value="搜索" name="selsub"/><input type="button" value="新增" name="inbut" onclick="location.href='prinsert.php'"/></p><table align="center" border="1px" cellspacing="0px" width="900px" bordercolor="black"><tr align="center"><th>编号</th><th>车主</th><th>电话</th><th>车牌号</th><th>停车时间</th><th>离开时间</th><th>总时长</th><th>费用<th>操作</th></tr><?phpsession_start();//开启缓存$link=mysqli_connect('localhost','root','12345678','park');$m=mysqli_query($link,"select pmoney from money limit 1 ");$m1=mysqli_fetch_array($m);//价钱if(!$link){exit('数据库连接失败!');}if(empty($_POST["selsub"])){$res=mysqli_query($link,"select * from prpayment order by prid asc ");}else{$sel=$_POST["sel"];$res=mysqli_query($link,"select * from prpayment where prlpn like '%$sel%' or prname like '%$sel%'");}while($row=mysqli_fetch_array($res)){echo '<tr align="center">';echo "<td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td><td>$row[4]</td><td>$row[5]</td><td>$row[6]</td><td>$row[7]</td><td><input type='submit' name='upleave$row[0]' value='离开'/><input type='submit' name='upadb$row[0]' value='修改'/><input type='submit' name='deladb$row[0]' value='删除'/></td>";echo '</tr>';if(!empty($_POST["upleave$row[0]"]))//离开{// $m= $_SESSION['money'];$leave1=mysqli_query($link,"update prpayment set prend=(now()) where prid=$row[0]");//离开时间$leave2=mysqli_query($link,"update prpayment set prtimes =ceil((select * from(select timestampdiff(minute,prstart,prend) from  prpayment  where prid=$row[0])as pr )/60) where prid=$row[0]");//计算时间$leave3=mysqli_query($link,"update prpayment set prmoney=prtimes*$m1[0] where prid=$row[0]");//计算费用mysqli_query($link,"update pstatus set rpspace=(select rpspace from (select rpspace from pstatus) as p)+1");echo'"<script> location.href="mpay.php";</script>"';}if(!empty($_POST["upadb$row[0]"])){//修改echo '<tr align="center">';echo "<td>$row[0]</td><td><input type='text' name='uppn' value='$row[1]'/></td><td><input type='text' name='uppt' value='$row[2]'/></td><td><input type='text' name='uppl' value='$row[3]'/></td><td><input type='text' name='upps' value='$row[4]'/></td><td><input type='text' name='uppe' value='$row[5]'/></td><td><input type='text' name='upall' value='$row[6]'/></td><td><input type='submit' name='upadbs$row[0]' value='确认'/><input type='submit' name='upadbc$row[0]' value='取消'/></td>";echo '</tr>';}if(!empty($_POST["upadbs$row[0]"])){//确认修改$uppn=$_POST['uppn'];$uppt=$_POST['uppt'];$uppl=$_POST['uppl'];$upps=$_POST['upps'];$uppe=$_POST['uppe'];$upall=$_POST['upall'];mysqli_query($link,"update prpayment set prname='$uppn',prtel='$uppt',prlpn='$uppl',prstart='$upps',prend='$uppe',prtimes='$upall'where prid=$row[0]");echo'"<script> location.href="precord.php";</script>"';//修改信息后更新数据// header("location:Ad.php");}if(!empty($_POST["upadbc$row[0]"])){//取消修改header('location:#');}if(!empty($_POST["deladb$row[0]"])){//删除// $_SESSION['del_if']=$row[0];// echo "$row[0]";echo '<script>if(confirm("是否删除?")==true){location.href="precord.php";}</script>';mysqli_query($link,"delete from prpayment where prid=$row[0]");header('location:precord.php');}}?></table></form></div></div>               </div></div></body>
</html>

    5.5 信息删除

 if(empty($_POST["selsub"])){$res=mysqli_query($link,"select * from users order by usid asc ");}else{$sel=$_POST["sel"];$res=mysqli_query($link,"select * from users where usid like '%$sel%' or usname like '%$sel%' or uslpn like '%$sel%'or ustel like '%$sel%'");}while($row=mysqli_fetch_array($res)){echo '<tr align="center">';echo "<td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td><td><input type='submit' name='upadb$row[0]' value='修改'/><input type='submit' name='deladb$row[0]' value='删除'/></td>";echo '</tr>';if(!empty($_POST["upadb$row[0]"])){//修改echo '<tr align="center">';echo "<td>$row[0]</td><td><input type='text' name='upun' value='$row[1]'/></td><td><input type='text' name='upul' value='$row[2]'/></td><td><input type='text' name='uput' value='$row[3]'/></td><td><input type='submit' name='upadbs$row[0]' value='确认'/><input type='submit' name='upadbc$row[0]' value='取消'/></td>";echo '</tr>';}

    5.6信息查询

<form action="" method="post" name="ad"><p align="center"><input type="text" name="sel"/> <input type="submit" value="搜索" name="selsub"/><input type="button" value="新增" name="inbut" onclick="location.href='Adinsert.php'"/></p><table align="center" border="1px" cellspacing="0px" width="800px" bordercolor="black"><tr align="center"><th>编号</th><th>管理员名称</th><th>密码</th><th>操作</th></tr>if(empty($_POST["selsub"])){$res=mysqli_query($link,"select * from administrator order by adid asc ");}else{$sel=$_POST["sel"];$res=mysqli_query($link,"select * from administrator where adid like '%$sel%' or adname like '%$sel%' or adpsw like '%$sel%'");}

  6.系统调试

    6.1 管理员登录与注册

管理员登录与注册如图6.1
在这里插入图片描述在这里插入图片描述

                                            图6.1 管理员登录与注册

    6.2 用户登录与注册

用户登录与注册如图6.2
在这里插入图片描述
在这里插入图片描述

                                            图6.2 用户登录与注册

    6.3 停车记录管理及停车缴费

停车记录管理及停车缴费如图6.3
在这里插入图片描述在这里插入图片描述

                                            图6.3 停车记录管理及收费

    6.4 管理员修改停车价格

管理员修改停车价格如图6.4

在这里插入图片描述

                                            图6.4 管理员修改停车价格

相关文章:

停车场收费系统

1.系统的开发工具 1.1 AppServe集成应用 Mysql&#xff1a;MySQL 是一款安全、跨平台、高效的&#xff0c;并与 PHP、Java 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 MySQL AB 公司开发、发布并支持&#xff0c;由 MySQL 的初始开发人员 David Axmark 和 Mi…...

nodejs+vue+elementui学生毕业生离校系统

学生毕业离校系统的开发过程中。该学生毕业离校系统包括管理员、学生和教师。其主要功能包括管理员&#xff1a;首页、个人中心、学生管理、教师管理、离校信息管理、费用结算管理、论文审核管理、管理员管理、留言板管理、系统管理等&#xff0c;前台首页&#xff1b;首页、离…...

儿童用灯哪个品牌好?推荐专业的儿童护眼台灯

一款好的儿童台灯&#xff0c;主要是从5个方面决定&#xff0c;照度及均匀度&#xff0c;蓝光&#xff0c;色温&#xff0c;显指&#xff0c;频闪 ① 照度及均匀度最高是国AA级&#xff0c;其次就是国A级 ② 蓝光一定要选择RG0无危险级&#xff0c;蓝光能量最强&#xff0c;…...

探究Android插件化开发的新思路——Shadow插件化框架

Shadow插件化框架是什么&#xff1f; Shadow是一种Android App的插件化框架&#xff0c;它利用类似于ClassLoader的机制来实现应用程序中的模块化&#xff0c;并让这些模块可以在运行时灵活地进行加载和卸载。Shadow框架主张将一个大型的Android App拆分成多个小模块&#xff…...

SimpleDateFormat和DateTimeFormatter的区别及使用详解

目录 1.简介2.区别3.SimpleDateFormat3.1 字符串转日期3.2 日期转字符串 4.DateTimeFormatter4.1 字符串转日期4.2 日期转字符串 扩展 1.简介 DateTimeFormatter 和 SimpleDateFormat 都是用于格式化日期和时间的类&#xff0c;但是它们有一些区别。 SimpleDateFormat 是 Jav…...

边缘人工智能——nanodet模型实践指引,从标注数据集到实现部署文件

内容概述 首先获得一个合适的nanodet模型版本&#xff0c;配置nanodet适用的环境&#xff0c;然后对网上公开的生数据集进行重新标注&#xff0c;配置nanodet并进行训练&#xff0c;.pth到.onnx的模型转化及简化&#xff0c;编写推理文件。 文章着重于实践方向指引&#xff0c;…...

SASS的用法指南

一、什么是SASS SASS是一种CSS的开发工具&#xff0c;提供了许多便利的写法&#xff0c;大大节省了设计者的时间&#xff0c;使得CSS的开发&#xff0c;变得简单和可维护。 本文总结了SASS的主要用法。我的目标是&#xff0c;有了这篇文章&#xff0c;日常的一般使用就不需要去…...

MCSM面板一键搭建我的世界服务器-外网远程联机【内网穿透】

文章目录 前言1.Mcsmanager安装2.创建Minecraft服务器3.本地测试联机4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射内网端口 5.远程联机测试6. 配置固定远程联机端口地址6.1 保留一个固定TCP地址6.2 配置固定TCP地址 7. 使用固定公网地址远程联机 转载自远程穿透文章&…...

( 数组和矩阵) 565. 数组嵌套 ——【Leetcode每日一题】

❓565. 数组嵌套 难度&#xff1a;中等 索引从 0 开始长度为N的数组 A&#xff0c;包含 0 到 N - 1 的所有整数。找到最大的集合 S并返回其大小&#xff0c;其中 S[i] {A[i], A[A[i]], A[A[A[i]]], ... } 且遵守以下的规则。 假设选择索引为 i 的元素 A[i] 为 S 的第一个元…...

linux内核网络子系统初探---概述

linux内核网络子系统初探—概述 一、网络模型 简单介绍 学习网络时&#xff0c;必定能在各种教材资料里见到以下三种网络模型&#xff1a; 三种模型间的差异&#xff1a; OSI七层模型是理论上的网络模型&#xff0c;从功能方面分成了相对独立的7个层次&#xff0c;由于太复…...

java版工程项目管理系统源代码-功能清单 图文解析

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下&#xff1a; 首页 工作台&#xff1a;待办工作、消息通知、预警信息&#xff0c;点击可进入相应的列表 项目进度图表&#xff1a;选择&#xff08;总体或单个&#xff09;项目显示…...

【chapter30】【PyTorch】[动量与学习率衰减】

前言&#xff1a; SGD的不足&#xff1a; ①呈“之”字型&#xff0c;迂回前进&#xff0c;损失函数值在一些维度的改变得快&#xff08;更新速度快&#xff09;&#xff0c;在一些维度改变得慢&#xff08;速度慢&#xff09;- 在高维空间更加普遍 ②容易陷入局部极小值和鞍点…...

【键入网址到网页显示】

文章目录 HTTPDNS五层协议TCPIPMAC网卡&#xff08;物理层&#xff09;交换机路由器 HTTP 对 URL 进行解析之后&#xff0c;浏览器确定了 Web 服务器和文件名&#xff0c;接下来就是根据这些信息来生成 HTTP 请求消息了。 http://www.server.com/dir1/file1.html http:访问数…...

Nacos配置中心、配置热更新、及配置共享的记录

Nacos除了提供了注册中心的功能,同样也提供了配置中心的功能,用于管理一些叫常改动的配置 当微服务部署的实例越来越多&#xff0c;达到数十、数百时&#xff0c;逐个修改微服务配置就会让人抓狂&#xff0c;而且很容易出错。我们需要一种统一配置管理方案&#xff0c;可以集中…...

MATLAB | 绘图复刻(八) | 堆叠柱状图+哑铃图

本次复刻的是Nature Communications中Friedman, S.T., Muoz, M.M. A latitudinal gradient of deep-sea invasions for marine fishes. Nat Commun 14, 773 (2023). https://doi.org/10.1038/s41467-023-36501-4的Fig1图像&#xff1a; 复刻效果&#xff1a; 文章可在如下网站下…...

Scala之集合(2)

目录 集合基本函数&#xff1a; &#xff08;1&#xff09;获取集合长度 &#xff08;2&#xff09;获取集合大小 &#xff08;3&#xff09;循环遍历 &#xff08;4&#xff09;迭代器 &#xff08;5&#xff09;生成字符串 &#xff08;6&#xff09;是否包含 衍生集合…...

【图像分割】视觉大模型SEEM(Segment Everything Everywhere All at Once)原理解读

文章目录 摘要&#xff08;效果&#xff09;二、前言三、相关工作四、method4.1 多用途4.2 组合性4.3 交互式。4.4 语义感知 五、实验 论文地址&#xff1a;https://arxiv.org/abs/2304.06718 测试代码&#xff1a;https://github.com/UX-Decoder/Segment-Everything-Everywher…...

Linux: command: ibstat; infiniband

文章目录 如何在Linux上安装infiniband相关的软件。ibstat相关资料 如何在Linux上安装infiniband相关的软件。 https://access.redhat.com/solutions/301643 https://docs.oracle.com/cd/E19436-01/820-3522-10/ch3-linux.html yum groupinstall “Infiniband Support” Pack…...

UML简介与类图详解

1 UML简介 1.1 UML是什么 UML&#xff0c;全称为Unified Model Language&#xff0c;即统一建模语言&#xff0c;是由一整套图表组成的&#xff0c;为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言。UML 代表了一组最佳工程实践&#xff0c;这些实践已被证明在…...

【每日一题】1994.好子集的数目

1994.好子集的数目 题目描述解决方案&#xff1a;状态压缩动态规划代码&#xff1a;Python 题目来源&#xff1a;LeetCode 原文链接&#xff1a;https://mp.weixin.qq.com/s/myI7_ZwJM7kizrwUtWgAZQ 难度级别&#xff1a;困难 题目描述 给你一个整数数组 nums。如果 nums 的一…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

GC1808:高性能音频ADC的卓越之选

在音频处理领域&#xff0c;高质量的音频模数转换器&#xff08;ADC&#xff09;是实现精准音频数字化的关键。GC1808&#xff0c;一款96kHz、24bit立体声音频ADC&#xff0c;以其卓越的性能和高性价比脱颖而出&#xff0c;成为众多音频设备制造商的理想选择。 GC1808集成了64倍…...

使用python进行图像处理—图像变换(6)

图像变换是指改变图像的几何形状或空间位置的操作。常见的几何变换包括平移、旋转、缩放、剪切&#xff08;shear&#xff09;以及更复杂的仿射变换和透视变换。这些变换在图像配准、图像校正、创建特效等场景中非常有用。 6.1仿射变换(Affine Transformation) 仿射变换是一种…...

从0开始一篇文章学习Nginx

Nginx服务 HTTP介绍 ## HTTP协议是Hyper Text Transfer Protocol&#xff08;超文本传输协议&#xff09;的缩写,是用于从万维网&#xff08;WWW:World Wide Web &#xff09;服务器传输超文本到本地浏览器的传送协议。 ## HTTP工作在 TCP/IP协议体系中的TCP协议上&#…...

如何使用 Redis 快速实现布隆过滤器?

以下是使用 Redis 实现布隆过滤器的两种方案&#xff0c;结合原理说明和操作步骤&#xff1a; 方案一&#xff1a;手动实现&#xff08;基于 Redis Bitmap&#xff09; 原理 利用 Redis 的 SETBIT 和 GETBIT 操作位数组&#xff0c;结合多个哈希函数计算位置。 步骤 确定参数…...