Java、python、php版的企业单位考勤打卡管理系统的设计与实现(源码、调试、LW、开题、PPT)
💕💕作者:计算机源码社
💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流!
💕💕学习资料、程序开发、技术解答、文档报告
💕💕如需要源码,可以扫取文章下方二维码联系咨询
💕💕Java项目
💕💕微信小程序项目
💕💕Android项目
💕💕Python项目
💕💕PHP项目
💕💕ASP.NET项目
💕💕Node.js项目
💕💕选题推荐
项目实战|基于springboot企业单位考勤打卡管理系统
文章目录
- 1、选题背景
- 2、研究目的和意义
- 3、系统功能设计
- 4、系统页面设计
- 5、参考文献
- 6、核心代码
1、选题背景
在当今这个企业众多,员工众多的时代,那么保障企业基础的员工信息的考勤管理问题就显得尤为重要。有条有序的人力管理模式能提供企业最稳定的保障,是企业体现生产力的核心后援之一。随着现在网络时代的到来,互联网的冲击是所有当代人都无法避免的存在,因此,本文想设计的就是一个基于SpringBoot+Vue的企业单位考勤打卡管理系统,使得企业的考勤管理模式能更符合时代潮流的发展。基于SpringBoot Vue的企业单位考勤打卡管理系统是为了方便企业或领导人员对企业员工的管理能更加简单,提高企业对员工管理的业务效率,减轻工作量。以IDEA为开发平台,采用B/S架构。经过细心的调研和衡量,以Java技术为核心实现业务接口,以JSP进行数据的展示和操作。为了编程便捷性采用Spring框架进行项目架构管理和MySQL关系型数据库进行数据存储管理。由于基于SpringBoot Vue的企业单位考勤打卡管理系统是一个管理系统,涉及了员工的考勤、请假等信息的处理,这就触及到了大量数据信息存储的问题。因此本系统后期会对数据安全存储这一模块进行重点研究和优化,确保各个模块的信息准确性和安全性。
2、研究目的和意义
如今互联网信息技术的飞速进步,彻彻底底改变了人们的生活方式,各行各业都受到了冲击,众多企业的管理模式和方式也基本离不开网络。再加上在现在这个看重人才的时代,以人才为第一核心竞争力,大部分企业的人才储备会越来越多,就导致假如一个企业没有好的合理的企业管理模式,就会产生大量的繁琐工作,在一定程度上浪费企业成本和消耗企业人才,并且在企业组织架构重组或者大量人员变动时,那更是一大绞尽脑汁的工作。
所以假如企业拥有了一套完整合理的企业单位考勤打卡管理系统的话,可以很快解决繁琐的人员变动问题,同时企业的领导也可以根据管理系统中的信息进行工作上的安排和调整,例如系统中的考勤功能可以详细的看出员工的上班出勤情况,是否存在迟到早退甚至缺到的人员。也可以查看员工具体信息和薪资信息,进一步的对整个部门或者某个团队的生产能力有一定的把控,同时还有通讯录可以快速查看指定员工的通讯信息,增加工作效率。
总的来说,在这样的企业单位考勤打卡管理系统的帮助下,可以对员工信息管理工作以及考勤工作进行信息化管理,加强上下级之间的联系,有效地记录并查询员工信息、考勤等情况,使企业对员工的管理更加高效,大大地增加了一个企业的生产效率,给企业在这个竞争激烈的行业市场中,提高了很强的竞争力。
3、系统功能设计

员工关键功能包含员工登陆、个人信息修改、加班申请管理、打卡信息管理、工作汇报管理、请假信息管理、考勤信息管理、工资信息管理等有关功能。员工用例如下

管理员的权限是最高的,可以对系统所在功能进行查看,修改和删除等,管理员用例如下

4、系统页面设计







如需要源码,可以扫取文章下方二维码联系咨询
5、参考文献
[1]谭钊,齐杨,陈浩然,等.智慧考勤系统设计与应用[J].信息技术与标准化,2024,(Z1):93-97.
[2]汪涛.基于SpringBoot和人脸识别的企业考勤管理系统设计与实现[D].阜阳师范大学,2023. DOI:10.27846/d.cnki.gfysf.2023.000144.
[3]苏荣聪,董玉霞.基于Android技术的企业考勤信息系统的设计与实现[J].成都工业学院学报,2021,24(03):43-47.DOI:10.13542/j.cnki.51-1747/tn.2021.03.009.
[4]刘欣,王竹宁,葛妍娇,等.基于企业微信的移动考勤系统设计[J].电脑知识与技术,2021,17(26):65-68.DOI:10.14004/j.cnki.ckt.2021.2597.
[5]肖航,杨智,余茜.一种基于WEB技术的企业考勤管理系统[J].中国科技信息,2021,(15):52-54.
[6]张嘉涛,赵传超,王力华.基于企业微信平台医院健康系统的快速设计与实现[J].中国医学装备,2021,18(07):130-134.
[7]靳尹,骆文杰,江朝晖.基于人脸识别的企业考勤系统设计与实现[J].智能计算机与应用,2021,11(05):152-154+159.
[8]靳尹.基于人脸识别的企业移动考勤系统设计与实现[D].合肥工业大学,2021. DOI:10.27101/d.cnki.ghfgu.2021.001097.
[9]王鑫,乐晋昆.基于人脸识别的企业考勤系统分析与设计[J].电子世界,2021,(03):158-159.DOI:10.19353/j.cnki.dzsj.2021.03.067.
[10]范伟村.基于无线AP网络日志的考勤系统的设计与实现[D].哈尔滨工业大学,2020. DOI:10.27061/d.cnki.ghgdu.2020.006704.
[11]赵振华.智能化在企业管理中的应用[J].大众投资指南,2020,(12):81-82.
[12]欧阳志东.大型集团企业考勤自动结算系统的设计与实现[J].信息与电脑(理论版),2020,32(08):53-55.
[13]李铭钧.人脸识别技术在石化企业考勤系统的应用[J].工业控制计算机,2020,33(01):87-88.
[14]段修亮,赵霞.小型企业人事管理系统的设计与实现[J].科技风,2020,(01):76.DOI:10.19392/j.cnki.1671-7341.202001066.
[15]冯汝君.基于MIS的RS公司考勤系统设计及实施研究[D].天津大学,2019. DOI:10.27356/d.cnki.gtjdu.2019.003370.
[16]曹智.基于SSM框架的企业人事管理考勤系统的设计与实现[D].电子科技大学,2019. DOI:10.27005/d.cnki.gdzku.2019.000414.
[17]宫大伟.基于SAP HCM模块与OA系统搭建企业考勤管理框架[C]//天津市电子工业协会.天津市电子工业协会2019年年会论文集.中远海运(天津)有限公司;,2019:3.
[18]张春悦,韩飞.人脸识别系统设计[J].湖北农机化,2019,(12):85.
[19]李宇翔.企业外勤人员考勤系统的研究与实现[D].西安科技大学,2019.
[20]李雅琴.钢铁企业考勤信息系统的开发[J].数字技术与应用,2019,37(02):182-183.DOI:10.19695/j.cnki.cn12-1369.2019.02.99.
6、核心代码
/*** 打卡信息* 后端接口* @author * @email */
@RestController
@RequestMapping("/dakaxinxi")
public class DakaxinxiController {@Autowiredprivate DakaxinxiService dakaxinxiService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,DakaxinxiEntity dakaxinxi,HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yuangong")) {dakaxinxi.setGonghao((String)request.getSession().getAttribute("username"));}EntityWrapper<DakaxinxiEntity> ew = new EntityWrapper<DakaxinxiEntity>();PageUtils page = dakaxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, dakaxinxi), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,DakaxinxiEntity dakaxinxi, HttpServletRequest request){EntityWrapper<DakaxinxiEntity> ew = new EntityWrapper<DakaxinxiEntity>();PageUtils page = dakaxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, dakaxinxi), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( DakaxinxiEntity dakaxinxi){EntityWrapper<DakaxinxiEntity> ew = new EntityWrapper<DakaxinxiEntity>();ew.allEq(MPUtil.allEQMapPre( dakaxinxi, "dakaxinxi")); return R.ok().put("data", dakaxinxiService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(DakaxinxiEntity dakaxinxi){EntityWrapper< DakaxinxiEntity> ew = new EntityWrapper< DakaxinxiEntity>();ew.allEq(MPUtil.allEQMapPre( dakaxinxi, "dakaxinxi")); DakaxinxiView dakaxinxiView = dakaxinxiService.selectView(ew);return R.ok("查询打卡信息成功").put("data", dakaxinxiView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){DakaxinxiEntity dakaxinxi = dakaxinxiService.selectById(id);return R.ok().put("data", dakaxinxi);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){DakaxinxiEntity dakaxinxi = dakaxinxiService.selectById(id);return R.ok().put("data", dakaxinxi);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody DakaxinxiEntity dakaxinxi, HttpServletRequest request){dakaxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(dakaxinxi);dakaxinxiService.insert(dakaxinxi);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody DakaxinxiEntity dakaxinxi, HttpServletRequest request){dakaxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(dakaxinxi);dakaxinxiService.insert(dakaxinxi);return R.ok();}/*** 修改*/@RequestMapping("/update")@Transactionalpublic R update(@RequestBody DakaxinxiEntity dakaxinxi, HttpServletRequest request){//ValidatorUtils.validateEntity(dakaxinxi);dakaxinxiService.updateById(dakaxinxi);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){dakaxinxiService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<DakaxinxiEntity> wrapper = new EntityWrapper<DakaxinxiEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yuangong")) {wrapper.eq("gonghao", (String)request.getSession().getAttribute("username"));}int count = dakaxinxiService.selectCount(wrapper);return R.ok().put("count", count);}/*** (按值统计)*/@RequestMapping("/value/{xColumnName}/{yColumnName}")public R value(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName,HttpServletRequest request) {Map<String, Object> params = new HashMap<String, Object>();params.put("xColumn", xColumnName);params.put("yColumn", yColumnName);EntityWrapper<DakaxinxiEntity> ew = new EntityWrapper<DakaxinxiEntity>();String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yuangong")) {ew.eq("gonghao", (String)request.getSession().getAttribute("username"));}List<Map<String, Object>> result = dakaxinxiService.selectValue(params, ew);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");for(Map<String, Object> m : result) {for(String k : m.keySet()) {if(m.get(k) instanceof Date) {m.put(k, sdf.format((Date)m.get(k)));}}}return R.ok().put("data", result);}/*** (按值统计)时间统计类型*/@RequestMapping("/value/{xColumnName}/{yColumnName}/{timeStatType}")public R valueDay(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType,HttpServletRequest request) {Map<String, Object> params = new HashMap<String, Object>();params.put("xColumn", xColumnName);params.put("yColumn", yColumnName);params.put("timeStatType", timeStatType);EntityWrapper<DakaxinxiEntity> ew = new EntityWrapper<DakaxinxiEntity>();String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yuangong")) {ew.eq("gonghao", (String)request.getSession().getAttribute("username"));}List<Map<String, Object>> result = dakaxinxiService.selectTimeStatValue(params, ew);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");for(Map<String, Object> m : result) {for(String k : m.keySet()) {if(m.get(k) instanceof Date) {m.put(k, sdf.format((Date)m.get(k)));}}}return R.ok().put("data", result);}/*** 分组统计*/@RequestMapping("/group/{columnName}")public R group(@PathVariable("columnName") String columnName,HttpServletRequest request) {Map<String, Object> params = new HashMap<String, Object>();params.put("column", columnName);EntityWrapper<DakaxinxiEntity> ew = new EntityWrapper<DakaxinxiEntity>();String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yuangong")) {ew.eq("gonghao", (String)request.getSession().getAttribute("username"));}List<Map<String, Object>> result = dakaxinxiService.selectGroup(params, ew);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");for(Map<String, Object> m : result) {for(String k : m.keySet()) {if(m.get(k) instanceof Date) {m.put(k, sdf.format((Date)m.get(k)));}}}return R.ok().put("data", result);}}
💕💕作者:计算机源码社
💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流!
💕💕学习资料、程序开发、技术解答、文档报告
💕💕如需要源码,可以扫取文章下方二维码联系咨询
相关文章:
Java、python、php版的企业单位考勤打卡管理系统的设计与实现(源码、调试、LW、开题、PPT)
💕💕作者:计算机源码社 💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流&…...
在IntelliJ IDEA中使用Git推送项目
去gitee网站注册用户 gitee网站地址:https://gitee.com/ github网站地址:https://github.com/ 一、创建仓库 以下以gitee为例进行介绍,github操作雷同。 1、创建仓库 点击页面右上方的"“并选择"创建仓库” 2、设置仓库相关信息 首先输入仓库名&…...
CNN代码实战
CNN的原理 从 DNN 到 CNN (1)卷积层与汇聚 ⚫ 深度神经网络 DNN 中,相邻层的所有神经元之间都有连接,这叫全连接;卷积神经网络 CNN 中,新增了卷积层(Convolution)与汇聚(…...
迁移学习代码复现
一、前言 说来可能令人难以置信,迁移学习技术在实践中是非常简单的,我们仅需要保留训练好的神经网络整体或者部分网络,再在使用迁移学习的情况下把保留的模型重新加载到内存中,就完成了迁移的过程。之后,我们就可以像训练普通神经网络那样训练迁移过来的神经网络了。 我们…...
Elasticsearch(ES)常用命令
常用运维命令 一、基本命令1.1、查看集群的健康状态1.2、查看节点信息1.3、查看索引列表1.4、创建索引1.5、删除索引1.6、关闭索引1.7、打开索引1.8、查看集群资源使用情况(各个节点的状态,包括磁盘,heap,ram的使用情况࿰…...
C/C++ 不定参函数
C语言不定参函数 函数用法总结 Va_list 作用:类型定义,生命一个变量,该变量被用来访问传递给不定参函数的可变参数列表用法:供后续函数进调用,通过该变量访问参数列表 typedefchar* va_list; va_start 作用ÿ…...
C语言——函数专题
1.概念 在C语言中引入函数的概念,有些翻译为子程序。C语言中的函数就是一个完成某项特定任务的一小段代码,这个代码是有特殊的写法和调用方法的。一般我们可以分为两种函数:库函数和自定义函数。 2.库函数 C语言国际标准ANSIC规定了一些常…...
springboot打可执行jar包
1. pom文件如下 <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><m…...
【SQL】科目种类
目录 题目 分析 代码 题目 表: Teacher ------------------- | Column Name | Type | ------------------- | teacher_id | int | | subject_id | int | | dept_id | int | ------------------- 在 SQL 中,(subject_id, dept_id) 是该表的主键。 该表…...
【深度学习】【语音】TTS,最新TTS模型概览,扩散模型TTS,MeloTTS、StyleTTS2、Matcha-TTS
文章目录 基础介绍对比基础介绍 MeloTTS: MeloTTS 是 MyShell.ai 开发的一个多语言语音合成模型,支持包括英语、西班牙语、法语、中文、日语和韩语等多种语言。它以高质量的语音合成为特色,尤其擅长处理中英混合内容。该模型优化了在 CPU 上的实时推理能力,使其在多种应用场…...
【论文笔记】LION: Linear Group RNN for 3D Object Detection in Point Clouds
原文链接:https://arxiv.org/abs/2407.18232 简介:Transformer在3D点云感知任务中有二次复杂度,难以进行长距离关系建模。线性RNN则计算复杂度较低,适合进行长距离关系建模。本文提出基于窗口的网络线性组RNN(即对分组…...
打造高可用集群的基石:深度解析Keepalived实践与优化
高可用集群 集群类型 集群类型主要分为负载均衡集群(LB)、高可用集群(HA)和高性能计算集群(HPC)三大类。每种集群类型都有其特定的应用场景和优势。 1. 负载均衡集群(LB) 负载均衡集…...
Web大学生网页作业成品——环保主题介绍网页网站设计与实现(HTML+CSS)(5个页面)
🎉🎉🎉 常见网页设计作业题材有**汽车、环保、明星、文化、国家、抗疫、景点、人物、体育、植物、公益、图书、节日、游戏、商城、旅游、家乡、学校、电影、动漫、非遗、动物、个人、企业、美食、婚纱、其他**等网页设计题目, 可满足大学生网…...
Qt登录窗口设计
widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QIcon> //图标类 #include <QPushButton> #include <QLineEdit> //行编辑 #include <QLabel> #include <QTextEdit> #include <QMovie>class Widge…...
探索数据矿藏:我的AI大模型与数据挖掘实战经验分享
🚀 探索数据矿藏:我的AI大模型与数据挖掘实战经验分享 💖 前言:数据的金矿,AI的翅膀 在人工智能的浪潮中,我有幸作为项目负责人,带领团队深入挖掘数据的潜力,利用AI大模型的力量&am…...
linux C语言strcat函数及相关函数
讯飞星火 strcat函数是C语言中的一个字符串处理函数,用于将一个字符串追加到另一个字符串的末尾。它的原型如下: char *strcat(char *dest, const char *src);参数说明: dest:目标字符串,即要将src字符串追加到这个字符串的末尾。src:源字符串,即要追加到dest字符串末…...
使用 sort 进行文本文件处理
sort 使用经验笔记 一、简介 sort 是一个命令行工具,用于对文本文件中的行进行排序。它广泛应用于 Unix/Linux 系统中,可以用来对文件的内容进行简单的排序操作,也可以与其他命令结合使用来完成更复杂的任务。 二、基本用法 排序文件: sor…...
HarmonyOS笔记4:从云数据库获取数据
移动应用获取数据的方式主要有: 1.从网络中获取数据接口API。 2.从华为云数据库获取云数据库的资源。 3.从移动终端直接获取本地的数据 在HarmonyOS笔记3中已经完成了方式一从网络中获取数据接口API的方式。在本篇笔记中,将讨论从云数据库中获取数据。 因…...
QT5生成独立运行的exe文件
目录 1 生成独立运行的exe文件1.1 设置工程Release版本可执行文件存储路径1.2 将工程编译成Release版本 2 使用QT5自带的windeployqt拷贝软件运行依赖项3 将程序打包成一个独立的可执行软件exe4 解决QT5 This application failed to start because no Qt platform plugin could…...
LabVIEW光纤水听器闭环系统
开发了一种利用LabVIEW软件开发的干涉型光纤水听器闭环工作点控制系统。该系统通过调节光源频率和非平衡干涉仪的光程差,实现了工作点的精确控制,从而提高系统的稳定性和检测精度,避免了使用压电陶瓷,使操作更加简便。 项目背景 …...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...
嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...
QT开发技术【ffmpeg + QAudioOutput】音乐播放器
一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下,音视频内容犹如璀璨繁星,点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频,到在线课堂中知识渊博的专家授课,再到影视平台上扣人心弦的高清大片,音…...
