基于springboot中小型制造企业质量管理系统源码和论文

信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容越多,也需要更多的人来对数据进行整理,并且数据的汇总查询方面效率也是极其的低下,并且数据安全方面永远不会保证安全性能。结合数据内容管理的种种缺点,在互联网时代都可以得到有效的补充。结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。本次开发的中小型制造企业质量管理实现了成品检验管理、抽样标准管理、出货检验管理、字典管理、公告管理、工作人员管理、控制图初始化管理、来料检验管理、输出立方图管理、制成检验管理、输出直方图管理、管理员管理等功能。系统用到了关系型数据库中王者MySql作为系统的数据库,有效的对数据进行安全的存储,有效的备份,对数据可靠性方面得到了保证。并且程序也具备程序需求的所有功能,使得操作性还是安全性都大大提高,让中小型制造企业质量管理更能从理念走到现实,确确实实的让人们提升信息处理效率。

关键信息管理,时效性,安全性,MySql

基于springboot中小型制造企业质量管理系统源码和论文660

演示视频:

【包调试运行】基于springboot中小型制造企业质量管理系统源码和论文


Abstract

Information data has been changing from traditional to contemporary, and the sudden Internet has allowed traditional information management to see a revolutionary dawn, because traditional information management is in terms of timeliness, security, or operability. It was only after encountering the Internet era that it was able to make up for the shortcomings since ancient times, and effectively improve the management efficiency and business level. The traditional management model, the longer the time, the more content is managed, and more people are needed to organize the data, and the efficiency of data aggregation and query is extremely low, and data security will never guarantee security performance. Combined with various shortcomings of data content management, they can be effectively supplemented in the Internet era. Combined with advanced Internet technology, develop software that meets the needs, so that the data content management can maximize the accuracy rate from the timeliness of entry, the timeliness of viewing, and the timeliness of summary analysis. The train ticket selling system developed this time has realized the functions of online booking, online payment, online change of ticket, and online refund of train tickets. The system uses MySql, the king of the relational database, as the system database, which effectively stores the data safely and effectively backs up, ensuring the reliability of the data. And the program also has all the functions required by the program, which greatly improves the operability or security, so that the train ticket sales system can go from concept to reality, and it really allows people to improve the efficiency of information processing.

Key WordsInformation management, timeliness, security, MySql


目  录

摘  要

目  录

第1章 绪论

1.1 研究背景

1.2目的和意义

1.3 论文研究内容

第2章 程序开发技术

2.1 Mysql数据库

2.2 Java语言

第3章 系统分析

3.1可行性分析

3.1.1技术可行性分析

3.1.2经济可行性分析

3.1.3操作可行性分析

3.2系统运行环境

3.3系统流程分析

第4章 系统设计

4.1 系统设计的原则

4.2 系统结构设计

4.3功能结构设计

4.4数据库设计

4.4.1 数据库E-R图

4.4.2 数据库表结构

第5章 系统实现

5.1管理员功能实现

5.1.1 成品检验管理

5.1.2 公告信息管理

5.1.3公告类型管理

第6章 系统测试

6.1系统测试方法

6.2 系统功能测试

6.2.1 用户登录测试

6.2.2 添加账户功能测试

6.3 系统测试分析

结  论

致  谢

参考文献

第1章 绪论

1.1 研究背景

互联网概念的产生到如今的蓬勃发展,用了短短的几十年时间就风靡全球,使得全球各个行业都进行了互联网的改造升级,标志着互联网浪潮的来临。在这个新的时代,各行各业都充分考虑互联网是否能与本行业进行结合,是否能解决本行业或者本行业中某些方面的自古以来的痛点。长期以来,数据内容,数据传播,数据储存等都是一门门专业的内容,因为需要记住的内容很多,造成古人的言简意赅,如今互联网的到来让数据更加的清晰好认不复杂,一目了然不出错,毕竟在整个历史上数据的丢失,传承的断代,都是因为数据不能好好的保存,不能好好的流传。当年的年代用互联网思维和互联网技术,对大量数据的录入更新,存储汇总,备份分析方面,使得远远的超过传统的数据管理技术。在这样的时代潮流下,采用新技术开发新软件,对传统行业进行革命性的改造成为了当今的主流。本次开发中小型制造企业质量管理,解决了成品检验信息管理关于数据方面的管理分析,存储传输的痛点,不仅仅对管理员提供了便利,还能提高用户的满意度。

1.2目的和意义

此次中小型制造企业质量管理的开发,需要用到的知识不仅涉及到界面设计与功能设计方面的知识,还需要涉及到数据库与编程语言上面的知识,这些知识点对于一个即将毕业的学生来说,一是为了巩固在校所学相关专业知识;二是为了让学生学会如何将专业理论知识运用于现实软件的开发过程;三是让学生明白知识是无穷无尽的,要时刻明白活到老学到老的真正含义,让学生要养成时刻学习的习惯,同时也要相信通过此次程序的开发,会让学生对于专业知识的理解与软件开发水平的提高有着极大的帮助。

 


package com.controller;import java.io.File;
import java.math.BigDecimal;
import java.net.URL;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.JSONObject;
import java.util.*;
import org.springframework.beans.BeanUtils;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import com.service.TokenService;
import com.utils.*;
import java.lang.reflect.InvocationTargetException;import com.service.DictionaryService;
import org.apache.commons.lang3.StringUtils;
import com.annotation.IgnoreAuth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.*;
import com.entity.view.*;
import com.service.*;
import com.utils.PageUtils;
import com.utils.R;
import com.alibaba.fastjson.*;/*** 工作人员* 后端接口* @author* @email
*/
@RestController
@Controller
@RequestMapping("/gongzuorenyuan")
public class GongzuorenyuanController {private static final Logger logger = LoggerFactory.getLogger(GongzuorenyuanController.class);private static final String TABLE_NAME = "gongzuorenyuan";@Autowiredprivate GongzuorenyuanService gongzuorenyuanService;@Autowiredprivate TokenService tokenService;@Autowiredprivate ChengpinjianyanService chengpinjianyanService;//成品检验@Autowiredprivate ChouyangbiaozhunService chouyangbiaozhunService;//抽样标准@Autowiredprivate ChuhuojianyanService chuhuojianyanService;//出货检验@Autowiredprivate DictionaryService dictionaryService;//字典@Autowiredprivate GonggaoService gonggaoService;//公告@Autowiredprivate KongzhituchushihuaService kongzhituchushihuaService;//控制图初始化@Autowiredprivate LailiaojianyanService lailiaojianyanService;//来料检验@Autowiredprivate LifangtuService lifangtuService;//输出立方图@Autowiredprivate ZhichengjianyanService zhichengjianyanService;//制成检验@Autowiredprivate ZhifangtuService zhifangtuService;//输出直方图@Autowiredprivate UsersService usersService;//管理员/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永不会进入");else if("工作人员".equals(role))params.put("gongzuorenyuanId",request.getSession().getAttribute("userId"));CommonUtil.checkMap(params);PageUtils page = gongzuorenyuanService.queryPage(params);//字典表数据转换List<GongzuorenyuanView> list =(List<GongzuorenyuanView>)page.getList();for(GongzuorenyuanView c:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c, request);}return R.ok().put("data", page);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id, HttpServletRequest request){logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);GongzuorenyuanEntity gongzuorenyuan = gongzuorenyuanService.selectById(id);if(gongzuorenyuan !=null){//entity转viewGongzuorenyuanView view = new GongzuorenyuanView();BeanUtils.copyProperties( gongzuorenyuan , view );//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody GongzuorenyuanEntity gongzuorenyuan, HttpServletRequest request){logger.debug("save方法:,,Controller:{},,gongzuorenyuan:{}",this.getClass().getName(),gongzuorenyuan.toString());String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永远不会进入");Wrapper<GongzuorenyuanEntity> queryWrapper = new EntityWrapper<GongzuorenyuanEntity>().eq("username", gongzuorenyuan.getUsername()).or().eq("gongzuorenyuan_phone", gongzuorenyuan.getGongzuorenyuanPhone()).or().eq("gongzuorenyuan_id_number", gongzuorenyuan.getGongzuorenyuanIdNumber());logger.info("sql语句:"+queryWrapper.getSqlSegment());GongzuorenyuanEntity gongzuorenyuanEntity = gongzuorenyuanService.selectOne(queryWrapper);if(gongzuorenyuanEntity==null){gongzuorenyuan.setCreateTime(new Date());gongzuorenyuan.setPassword("123456");gongzuorenyuanService.insert(gongzuorenyuan);return R.ok();}else {return R.error(511,"账户或者工作人员手机号或者工作人员身份证号已经被使用");}}/*** 后端修改*/@RequestMapping("/update")public R update(@RequestBody GongzuorenyuanEntity gongzuorenyuan, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {logger.debug("update方法:,,Controller:{},,gongzuorenyuan:{}",this.getClass().getName(),gongzuorenyuan.toString());GongzuorenyuanEntity oldGongzuorenyuanEntity = gongzuorenyuanService.selectById(gongzuorenyuan.getId());//查询原先数据String role = String.valueOf(request.getSession().getAttribute("role"));
//        if(false)
//            return R.error(511,"永远不会进入");if("".equals(gongzuorenyuan.getGongzuorenyuanPhoto()) || "null".equals(gongzuorenyuan.getGongzuorenyuanPhoto())){gongzuorenyuan.setGongzuorenyuanPhoto(null);}gongzuorenyuanService.updateById(gongzuorenyuan);//根据id更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Integer[] ids, HttpServletRequest request){logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());List<GongzuorenyuanEntity> oldGongzuorenyuanList =gongzuorenyuanService.selectBatchIds(Arrays.asList(ids));//要删除的数据gongzuorenyuanService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 批量上传*/@RequestMapping("/batchInsert")public R save( String fileName, HttpServletRequest request){logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName);Integer gongzuorenyuanId = Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId")));SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//.eq("time", new SimpleDateFormat("yyyy-MM-dd").format(new Date()))try {List<GongzuorenyuanEntity> gongzuorenyuanList = new ArrayList<>();//上传的东西Map<String, List<String>> seachFields= new HashMap<>();//要查询的字段Date date = new Date();int lastIndexOf = fileName.lastIndexOf(".");if(lastIndexOf == -1){return R.error(511,"该文件没有后缀");}else{String suffix = fileName.substring(lastIndexOf);if(!".xls".equals(suffix)){return R.error(511,"只支持后缀为xls的excel文件");}else{URL resource = this.getClass().getClassLoader().getResource("static/upload/" + fileName);//获取文件路径File file = new File(resource.getFile());if(!file.exists()){return R.error(511,"找不到上传文件,请联系管理员");}else{List<List<String>> dataList = PoiUtil.poiImport(file.getPath());//读取xls文件dataList.remove(0);//删除第一行,因为第一行是提示for(List<String> data:dataList){//循环GongzuorenyuanEntity gongzuorenyuanEntity = new GongzuorenyuanEntity();
//                            gongzuorenyuanEntity.setUsername(data.get(0));                    //账户 要改的
//                            gongzuorenyuanEntity.setPassword("123456");//密码
//                            gongzuorenyuanEntity.setGongzuorenyuanUuidNumber(data.get(0));                    //工作人员编号 要改的
//                            gongzuorenyuanEntity.setGongzuorenyuanName(data.get(0));                    //工作人员姓名 要改的
//                            gongzuorenyuanEntity.setGongzuorenyuanPhone(data.get(0));                    //工作人员手机号 要改的
//                            gongzuorenyuanEntity.setGongzuorenyuanIdNumber(data.get(0));                    //工作人员身份证号 要改的
//                            gongzuorenyuanEntity.setGongzuorenyuanPhoto("");//详情和图片
//                            gongzuorenyuanEntity.setSexTypes(Integer.valueOf(data.get(0)));   //性别 要改的
//                            gongzuorenyuanEntity.setJianyangongzhongTypes(Integer.valueOf(data.get(0)));   //检验工种 要改的
//                            gongzuorenyuanEntity.setGongzuorenyuanEmail(data.get(0));                    //工作人员邮箱 要改的
//                            gongzuorenyuanEntity.setJinyongTypes(Integer.valueOf(data.get(0)));   //账户状态 要改的
//                            gongzuorenyuanEntity.setCreateTime(date);//时间gongzuorenyuanList.add(gongzuorenyuanEntity);//把要查询是否重复的字段放入map中//账户if(seachFields.containsKey("username")){List<String> username = seachFields.get("username");username.add(data.get(0));//要改的}else{List<String> username = new ArrayList<>();username.add(data.get(0));//要改的seachFields.put("username",username);}//工作人员编号if(seachFields.containsKey("gongzuorenyuanUuidNumber")){List<String> gongzuorenyuanUuidNumber = seachFields.get("gongzuorenyuanUuidNumber");gongzuorenyuanUuidNumber.add(data.get(0));//要改的}else{List<String> gongzuorenyuanUuidNumber = new ArrayList<>();gongzuorenyuanUuidNumber.add(data.get(0));//要改的seachFields.put("gongzuorenyuanUuidNumber",gongzuorenyuanUuidNumber);}//工作人员手机号if(seachFields.containsKey("gongzuorenyuanPhone")){List<String> gongzuorenyuanPhone = seachFields.get("gongzuorenyuanPhone");gongzuorenyuanPhone.add(data.get(0));//要改的}else{List<String> gongzuorenyuanPhone = new ArrayList<>();gongzuorenyuanPhone.add(data.get(0));//要改的seachFields.put("gongzuorenyuanPhone",gongzuorenyuanPhone);}//工作人员身份证号if(seachFields.containsKey("gongzuorenyuanIdNumber")){List<String> gongzuorenyuanIdNumber = seachFields.get("gongzuorenyuanIdNumber");gongzuorenyuanIdNumber.add(data.get(0));//要改的}else{List<String> gongzuorenyuanIdNumber = new ArrayList<>();gongzuorenyuanIdNumber.add(data.get(0));//要改的seachFields.put("gongzuorenyuanIdNumber",gongzuorenyuanIdNumber);}}//查询是否重复//账户List<GongzuorenyuanEntity> gongzuorenyuanEntities_username = gongzuorenyuanService.selectList(new EntityWrapper<GongzuorenyuanEntity>().in("username", seachFields.get("username")));if(gongzuorenyuanEntities_username.size() >0 ){ArrayList<String> repeatFields = new ArrayList<>();for(GongzuorenyuanEntity s:gongzuorenyuanEntities_username){repeatFields.add(s.getUsername());}return R.error(511,"数据库的该表中的 [账户] 字段已经存在 存在数据为:"+repeatFields.toString());}//工作人员编号List<GongzuorenyuanEntity> gongzuorenyuanEntities_gongzuorenyuanUuidNumber = gongzuorenyuanService.selectList(new EntityWrapper<GongzuorenyuanEntity>().in("gongzuorenyuan_uuid_number", seachFields.get("gongzuorenyuanUuidNumber")));if(gongzuorenyuanEntities_gongzuorenyuanUuidNumber.size() >0 ){ArrayList<String> repeatFields = new ArrayList<>();for(GongzuorenyuanEntity s:gongzuorenyuanEntities_gongzuorenyuanUuidNumber){repeatFields.add(s.getGongzuorenyuanUuidNumber());}return R.error(511,"数据库的该表中的 [工作人员编号] 字段已经存在 存在数据为:"+repeatFields.toString());}//工作人员手机号List<GongzuorenyuanEntity> gongzuorenyuanEntities_gongzuorenyuanPhone = gongzuorenyuanService.selectList(new EntityWrapper<GongzuorenyuanEntity>().in("gongzuorenyuan_phone", seachFields.get("gongzuorenyuanPhone")));if(gongzuorenyuanEntities_gongzuorenyuanPhone.size() >0 ){ArrayList<String> repeatFields = new ArrayList<>();for(GongzuorenyuanEntity s:gongzuorenyuanEntities_gongzuorenyuanPhone){repeatFields.add(s.getGongzuorenyuanPhone());}return R.error(511,"数据库的该表中的 [工作人员手机号] 字段已经存在 存在数据为:"+repeatFields.toString());}//工作人员身份证号List<GongzuorenyuanEntity> gongzuorenyuanEntities_gongzuorenyuanIdNumber = gongzuorenyuanService.selectList(new EntityWrapper<GongzuorenyuanEntity>().in("gongzuorenyuan_id_number", seachFields.get("gongzuorenyuanIdNumber")));if(gongzuorenyuanEntities_gongzuorenyuanIdNumber.size() >0 ){ArrayList<String> repeatFields = new ArrayList<>();for(GongzuorenyuanEntity s:gongzuorenyuanEntities_gongzuorenyuanIdNumber){repeatFields.add(s.getGongzuorenyuanIdNumber());}return R.error(511,"数据库的该表中的 [工作人员身份证号] 字段已经存在 存在数据为:"+repeatFields.toString());}gongzuorenyuanService.insertBatch(gongzuorenyuanList);return R.ok();}}}}catch (Exception e){e.printStackTrace();return R.error(511,"批量插入数据异常,请联系管理员");}}/*** 登录*/@IgnoreAuth@RequestMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {GongzuorenyuanEntity gongzuorenyuan = gongzuorenyuanService.selectOne(new EntityWrapper<GongzuorenyuanEntity>().eq("username", username));if(gongzuorenyuan==null || !gongzuorenyuan.getPassword().equals(password))return R.error("账号或密码不正确");else if(gongzuorenyuan.getJinyongTypes() != 1)return R.error("账户已被禁用");String token = tokenService.generateToken(gongzuorenyuan.getId(),username, "gongzuorenyuan", "工作人员");R r = R.ok();r.put("token", token);r.put("role","工作人员");r.put("username",gongzuorenyuan.getGongzuorenyuanName());r.put("tableName","gongzuorenyuan");r.put("userId",gongzuorenyuan.getId());return r;}/*** 注册*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody GongzuorenyuanEntity gongzuorenyuan, HttpServletRequest request) {
//    	ValidatorUtils.validateEntity(user);Wrapper<GongzuorenyuanEntity> queryWrapper = new EntityWrapper<GongzuorenyuanEntity>().eq("username", gongzuorenyuan.getUsername()).or().eq("gongzuorenyuan_phone", gongzuorenyuan.getGongzuorenyuanPhone()).or().eq("gongzuorenyuan_id_number", gongzuorenyuan.getGongzuorenyuanIdNumber());GongzuorenyuanEntity gongzuorenyuanEntity = gongzuorenyuanService.selectOne(queryWrapper);if(gongzuorenyuanEntity != null)return R.error("账户或者工作人员手机号或者工作人员身份证号已经被使用");gongzuorenyuan.setGongzuorenyuanUuidNumber(String.valueOf(new Date().getTime()));gongzuorenyuan.setJinyongTypes(1);//启用gongzuorenyuan.setCreateTime(new Date());gongzuorenyuanService.insert(gongzuorenyuan);return R.ok();}/*** 重置密码*/@GetMapping(value = "/resetPassword")public R resetPassword(Integer  id, HttpServletRequest request) {GongzuorenyuanEntity gongzuorenyuan = gongzuorenyuanService.selectById(id);gongzuorenyuan.setPassword("123456");gongzuorenyuanService.updateById(gongzuorenyuan);return R.ok();}/*** 修改密码*/@GetMapping(value = "/updatePassword")public R updatePassword(String  oldPassword, String  newPassword, HttpServletRequest request) {GongzuorenyuanEntity gongzuorenyuan = gongzuorenyuanService.selectById((Integer)request.getSession().getAttribute("userId"));if(newPassword == null){return R.error("新密码不能为空") ;}if(!oldPassword.equals(gongzuorenyuan.getPassword())){return R.error("原密码输入错误");}if(newPassword.equals(gongzuorenyuan.getPassword())){return R.error("新密码不能和原密码一致") ;}gongzuorenyuan.setPassword(newPassword);gongzuorenyuanService.updateById(gongzuorenyuan);return R.ok();}/*** 忘记密码*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request) {GongzuorenyuanEntity gongzuorenyuan = gongzuorenyuanService.selectOne(new EntityWrapper<GongzuorenyuanEntity>().eq("username", username));if(gongzuorenyuan!=null){gongzuorenyuan.setPassword("123456");gongzuorenyuanService.updateById(gongzuorenyuan);return R.ok();}else{return R.error("账号不存在");}}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrGongzuorenyuan(HttpServletRequest request){Integer id = (Integer)request.getSession().getAttribute("userId");GongzuorenyuanEntity gongzuorenyuan = gongzuorenyuanService.selectById(id);if(gongzuorenyuan !=null){//entity转viewGongzuorenyuanView view = new GongzuorenyuanView();BeanUtils.copyProperties( gongzuorenyuan , view );//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/61523.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器密码错误被锁定怎么解决?

当服务器密码错误多次导致账号被锁定时&#xff0c;解决方法需要根据服务器的操作系统&#xff08;如 Linux 或 Windows &#xff09;和具体服务器环境来处理。以下是常见的解决办法&#xff1a; 一、Linux 服务器被锁定的解决方法 1. 使用其他用户账号登录 如果有其他未被…

Java基础——(四)继承

1. 类、超类和子类 在Java中&#xff0c;通过关键字extends表示继承。extends表明正在构造的新类派生与一个已存在的类&#xff0c;已存在的类称为超类&#xff08;superclass&#xff09;、基类&#xff08;base class&#xff09;或父类&#xff08;parent class&#xff09…

Python语法基础(四)

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 高阶函数之map 高阶函数就是说&#xff0c;A函数作为B函数的参数&#xff0c;B函数就是高阶函数 map&#xff1a;映射 map(func,iterable) 这个是map的基本语法&#xff0c;…

《datawhale2411组队学习 模型压缩技术7:NNI剪枝》

文章目录 一、NNI简介二、 NNI剪枝快速入门2.1 加载并训练模型2.2 模型剪枝2.3 模型加速&#xff08;剪枝永久化&#xff09;2.4 微调压缩模型2.5 Slim Pruner测试 三、 使用NNI3.0进行Bert压缩&#xff08;剪枝、蒸馏)3.1 数据预处理3.2 训练模型3.3 设置模型蒸馏函数3.4 修剪…

day22:lamp项目部署

一&#xff0c;lamp概述 lamp概述 LAMP 是一组开源软件的缩写&#xff0c;用于搭建动态网站或Web应用程序的基础环境。LAMP 代表了四个主要的组成部分&#xff1a; Linux&#xff1a;操作系统&#xff0c;LAMP 环境的基础。通常使用的是 Linux 发行版&#xff0c;如 CentOS、…

【提高篇】3.6 GPIO(六,寄存器介绍,下)

目录 2.3 输出速度寄存器OSPEEDR(GPIOx_OSPEEDR) (x = A..I) 2.4 上拉/下拉寄存器 (GPIOx_PUPDR) (x = A..I) 2.5 输入数据寄存器(IDR) 2.6 输出数据寄存器(ODR) 2.7 置位/复位寄存器(BSRR) 2.8 BSRR与ODR寄存器的区别 2.3 输出速度寄存器OSPEEDR(GPIOx_OSPEEDR) (…

【IMF靶场渗透】

文章目录 一、基础信息 二、信息收集 三、flag1 四、flag2 五、flag3 六、flag4 七、flag5 八、flag6 一、基础信息 Kali IP&#xff1a;192.168.20.146 靶机IP&#xff1a;192.168.20.147 二、信息收集 Nmap -sP 192.168.20.0/24 Arp-scan -l nmap -sS -sV -p- -…

记一次腾讯云海外服务器http能正常访问https访问拒绝问题处理过程

最近双十一, 购了一台腾讯云的海外服务器&#xff0c; 开通后就是一堆的服务器软件安装数据上传和配置&#xff0c;没想到&#xff0c;等待配置完成后才发现https无法正常访问&#xff0c;于是开启了自查。 1. 检查nginx软件的ssl配置 nginx http https配置参考 server {l…

hdlbits系列verilog解答(mt2015_muxdff)-90

文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 本节要实现的电路来自于ECE253 2015中期测试问题5。要实现以下如图所示的时序电路中复用器及D触发器子模块。 模块声明 module top_module ( input clk, input L, input r_in, input q_in, output reg Q); 思路…

Android 图形系统之七:SurfaceFlinger

一. 引言 什么是 SurfaceFlinger&#xff1f;SurfaceFlinger 的核心作用和地位&#xff1f;为什么需要了解 SurfaceFlinger&#xff1f; 二. SurfaceFlinger 的基本概念 Surface 和 SurfaceFlinger 的关系SurfaceFlinger 与图形渲染&#xff08;OpenGL ES 和 Vulkan&#xf…

基于Java Springboot宠物服务中心微信小程序

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 微信…

算法妙妙屋-------1.递归的深邃回响:全排列的奇妙组合

全排列的简要总结 全排列&#xff08;Permutation&#xff09;是数学中一个经典的问题&#xff0c;指的是从一组元素中&#xff0c;将所有元素按任意顺序排列形成的所有可能序列。 特点 输入条件&#xff1a; 给定一组互异的元素&#xff08;通常为数组或字符串&#xff09;。…

内网穿透步骤

步骤 第一次需要验证token window和linux的方法不同。 然后 启动 cpolar 服务&#xff1a; 在命令窗口中输入 cpolar.exe htttp 8080&#xff0c;启动内网穿透服务。确保命令窗口保持开启状态&#xff0c;以维持穿透效果。 cpolar.exe hhttp 8080 成功后 注意事项 命令窗口…

房屋结构安全监测系统守护房屋安全卫士

一、系统背景 随着时间的流逝&#xff0c;建筑物的主体结构、设备设施等会因为自然老化、材料疲劳、使用环境的变化以及维护不当等各种因素的影响&#xff0c;逐渐出现性能下降甚至安全隐患。因此&#xff0c;进行房屋安全监测显得尤为重要。房屋结构安全是指建筑物的结构体系在…

直击高频编程考点:聚焦新版综合编程能力考查汇总

目录 一、业务性编程和广度能力考查 &#xff08;一&#xff09;基本定义 &#xff08;二&#xff09;必要性分析 二、高频考查样题&#xff08;编程扩展问法&#xff09; 考题1: 用java 代码实现一个死锁用例&#xff0c;说说怎么解决死锁问题&#xff1f;&#xff08;高…

架构05-架构安全性

零、文章目录 架构05-架构安全性 1、软件架构安全的重要性 **系统安全&#xff1a;**不仅包括防御黑客攻击&#xff0c;还包括安全备份与恢复、安全审计、防治病毒等。**关注重点&#xff1a;**认证、授权、凭证、保密、传输安全、验证。 2、认证&#xff08;Authenticatio…

4399大数据面试题及参考答案(数据分析和数据开发)

对数据分析的理解 数据分析是一个从数据中提取有价值信息以支持决策的过程。它涵盖了数据收集、清洗、转换、建模和可视化等多个环节。 首先&#xff0c;数据收集是基础。这包括从各种数据源获取数据&#xff0c;例如数据库、文件系统、网络接口等。这些数据源可以是结构化的数…

封装类与封装函数

目录结构 src/ ├── utils/ │ ├── test.js │ ├── Calculator.js ├── views/ │ ├── Home.vue ├── App.vue 共同点&#xff1a;模块导出与模块引入 封装函数 场景 简单、轻量级和性能敏感的场景&#xff0c;适合快速开发和维护。 优 可维护性&…

【STM32学习】TB6612FNG驱动芯片的学习,驱动电路的学习

目录 1、TB6612电机驱动芯片 1.1如下是芯片的引脚图&#xff1a; 1.2如下图是电机的控制逻辑&#xff1a; 1.3MOS管运转逻辑 1.3典型应用电路 2、H桥驱动电路 2.1、单极模式 2.2、双极模式 2.3、高低端MOS管导通条件 2.4、H桥电路设计 2.5、自举电路 3、电气特性 3…

Level DB --- Arena

class Arena 是Level DB中的重要数据结构&#xff0c;它是一个简易的内存池管理类。 内存资源管理模型 Level DB 内存管理模型如图1所示&#xff0c;在内存分配上&#xff0c;Level DB每次预先申请KBlock大小的资源&#xff0c;新分配的内存请求会预先在last KBlocak的资源上…