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软件开发的干涉型光纤水听器闭环工作点控制系统。该系统通过调节光源频率和非平衡干涉仪的光程差,实现了工作点的精确控制,从而提高系统的稳定性和检测精度,避免了使用压电陶瓷,使操作更加简便。 项目背景 …...

Shell——流程控制语句(if、case、for、while等)
在 Shell 编程中,流程控制语句用于控制脚本的执行顺序和逻辑。这些语句包括 if、case、for、while 等,它们的使用可以使脚本实现更复杂的逻辑。以下是它们的详细说明和语法结构: 1. if 语句 if 语句用于条件判断,执行符合条件的…...

【redis的大key问题】
在使用 Redis 的过程中,如果未能及时发现并处理 Big keys(下文称为“大Key”),可能会导致服务性能下降、用户体验变差,甚至引发大面积故障。 本文将介绍大Key产生的原因、其可能引发的问题及如何快速找出大Key并将其优…...

HighPoint SSD7749M2:128TB NVMe 存储卡实现28 GB/s高速传输
HighPoint Technologies推出了一款全新的SSD7749M2 RAID卡,能够在标准的桌面工作站中安装多达16个M.2 SSD,实现高达128TB的闪存存储。该卡通过PCIe Gen4 x16接口提供高达28 GB/s的顺序读写性能。这些令人瞩目的性能规格伴随着高昂的价格标签。 #### 技术…...

ARM 裸机与 Linux 驱动对比及 Linux 内核入门
目录 ARM裸机代码和驱动的区别 Linux系统组成 内核五大功能 设备驱动分类 内核类型 驱动模块 驱动模块示例 Makefile配置 命令 编码辅助工具 内核中的打印函数 printk 函数 修改打印级别 编辑 打印级别含义 驱动多文件编译 示例 模块传递参数 命令行传递参数…...

0101DNS TCP fallback on UDP query timeout disabled-redission-中间件
文章目录 1.问题描述2.临时解决方案 结语 1.问题描述 Springcloud 项目,微服务模块使用redission,启动报错 DNS TCP fallback on UDP query timeout disabled. Upgrade Netty to 4.1.105 or higher.相关软件版本如下 软件版本描述springboot2.7.18spr…...

位运算
x1010 原码:000...1010 (一共32位) 反码:111...0101 (~x) 补码:111...0110 (反码1)(-x) 1、n 的二进制表示中第 k 位是几 #include<iost…...

MemFire Cloud是否真的可以取代后端
近年来,随着前端技术的迅速发展,前端工程师们越来越多地开始思考一个问题:“我还能不能不依赖后端?” 这种想法并非空穴来风,尤其是随着像MemFire Cloud这样的工具出现,它不仅能让开发者在没有后端的情况下…...

数据结构(邓俊辉)学习笔记】优先级队列 06——完全二叉堆:批量建堆
文章目录 1. 自上而下的上滤:算法2. 自上而下的上滤:效率3. 自下而上的下滤:算法4. 自下而上的下滤:实例5. 自下而上的下滤:效率 1. 自上而下的上滤:算法 在介绍过完全二叉堆标准的静态和动态操作接口之后…...

Java | Leetcode Java题解之第344题反转字符串
题目: 题解: class Solution {public void reverseString(char[] s) {int n s.length;for (int left 0, right n - 1; left < right; left, --right) {char tmp s[left];s[left] s[right];s[right] tmp;}} }...

定制开发AI智能名片O2O商城小程序:基于限量策略与个性化追求的营销创新
摘要:随着科技的飞速发展和消费者需求的日益多元化,传统商业模式正经历着前所未有的变革。在数字化转型的大潮中,定制开发AI智能名片O2O商城小程序作为一种新兴的商业模式,凭借其独特的个性化定制能力、高效的线上线下融合(O2O&am…...