基于ssm vue个人需求和地域特色的外卖推荐系统源码和论文

首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计。本项目软件架构选择B/S模式,总体功能模块运用自顶向下的分层思想。再然后就是实现系统并进行代码编写实现功能。论文的最后章节总结一下自己完成本论文和开发本项目的心得和总结。通过外卖系推荐统将会使外卖各个方面的工作效率带来实质性的提升。

关键字:外卖推荐系统 B/S模式 软件架构

基于ssm vue个人需求和地域特色的外卖推荐系统源码和论文741

演示视频:

基于ssm vue个人需求和地域特色的外卖推荐系统源码和论文741

Abstract

First of all, the thesis clearly discusses the systematic research content at the very beginning. Secondly, the analysis of system requirements analysis, understand "what to do", including business analysis and business process analysis and use case analysis, further clear system requirements. Then, on the basis of understanding the requirements of the system, we need to further design the system, mainly including software architecture pattern, overall functional modules and database design. The software architecture of the project is B/S mode, and the overall functional modules are layered from top to bottom. Then is the realization of the system and code writing to achieve the function. The last chapter of the paper summarizes the experience and summary of the completion of this paper and the development of this project. Through the delivery system recommendation system will make the delivery of all aspects of work efficiency to bring substantial improvement.

Key words: takeaway recommendation system B/S mode software architecture

 

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.OrdersEntity;
import com.service.OrdersService;import com.entity.CaidanliebiaoEntity;
import com.entity.view.CaidanliebiaoView;import com.service.CaidanliebiaoService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import com.service.StoreupService;
import com.entity.StoreupEntity;/*** 菜单列表* 后端接口* @author * @email * @date 2022-03-26 14:26:59*/
@RestController
@RequestMapping("/caidanliebiao")
public class CaidanliebiaoController {@Autowiredprivate CaidanliebiaoService caidanliebiaoService;@Autowiredprivate StoreupService storeupService;@Autowiredprivate OrdersService ordersService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,CaidanliebiaoEntity caidanliebiao, HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("shangjia")) {caidanliebiao.setShangjiazhanghao((String)request.getSession().getAttribute("username"));}EntityWrapper<CaidanliebiaoEntity> ew = new EntityWrapper<CaidanliebiaoEntity>();PageUtils page = caidanliebiaoService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, caidanliebiao), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,CaidanliebiaoEntity caidanliebiao, HttpServletRequest request){EntityWrapper<CaidanliebiaoEntity> ew = new EntityWrapper<CaidanliebiaoEntity>();PageUtils page = caidanliebiaoService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, caidanliebiao), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( CaidanliebiaoEntity caidanliebiao){EntityWrapper<CaidanliebiaoEntity> ew = new EntityWrapper<CaidanliebiaoEntity>();ew.allEq(MPUtil.allEQMapPre( caidanliebiao, "caidanliebiao")); return R.ok().put("data", caidanliebiaoService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(CaidanliebiaoEntity caidanliebiao){EntityWrapper< CaidanliebiaoEntity> ew = new EntityWrapper< CaidanliebiaoEntity>();ew.allEq(MPUtil.allEQMapPre( caidanliebiao, "caidanliebiao")); CaidanliebiaoView caidanliebiaoView =  caidanliebiaoService.selectView(ew);return R.ok("查询菜单列表成功").put("data", caidanliebiaoView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){CaidanliebiaoEntity caidanliebiao = caidanliebiaoService.selectById(id);caidanliebiao.setClicktime(new Date());caidanliebiaoService.updateById(caidanliebiao);return R.ok().put("data", caidanliebiao);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){CaidanliebiaoEntity caidanliebiao = caidanliebiaoService.selectById(id);caidanliebiao.setClicktime(new Date());caidanliebiaoService.updateById(caidanliebiao);return R.ok().put("data", caidanliebiao);}/*** 赞或踩*/@RequestMapping("/thumbsup/{id}")public R thumbsup(@PathVariable("id") String id,String type){CaidanliebiaoEntity caidanliebiao = caidanliebiaoService.selectById(id);if(type.equals("1")) {caidanliebiao.setThumbsupnum(caidanliebiao.getThumbsupnum()+1);} else {caidanliebiao.setCrazilynum(caidanliebiao.getCrazilynum()+1);}caidanliebiaoService.updateById(caidanliebiao);return R.ok();}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody CaidanliebiaoEntity caidanliebiao, HttpServletRequest request){caidanliebiao.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(caidanliebiao);caidanliebiaoService.insert(caidanliebiao);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody CaidanliebiaoEntity caidanliebiao, HttpServletRequest request){caidanliebiao.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(caidanliebiao);caidanliebiaoService.insert(caidanliebiao);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody CaidanliebiaoEntity caidanliebiao, HttpServletRequest request){//ValidatorUtils.validateEntity(caidanliebiao);caidanliebiaoService.updateById(caidanliebiao);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){caidanliebiaoService.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<CaidanliebiaoEntity> wrapper = new EntityWrapper<CaidanliebiaoEntity>();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("shangjia")) {wrapper.eq("shangjiazhanghao", (String)request.getSession().getAttribute("username"));}int count = caidanliebiaoService.selectCount(wrapper);return R.ok().put("count", count);}/*** 前端智能排序*/@IgnoreAuth@RequestMapping("/autoSort")public R autoSort(@RequestParam Map<String, Object> params,CaidanliebiaoEntity caidanliebiao, HttpServletRequest request,String pre){EntityWrapper<CaidanliebiaoEntity> ew = new EntityWrapper<CaidanliebiaoEntity>();Map<String, Object> newMap = new HashMap<String, Object>();Map<String, Object> param = new HashMap<String, Object>();Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, Object> entry = it.next();String key = entry.getKey();String newKey = entry.getKey();if (pre.endsWith(".")) {newMap.put(pre + newKey, entry.getValue());} else if (StringUtils.isEmpty(pre)) {newMap.put(newKey, entry.getValue());} else {newMap.put(pre + "." + newKey, entry.getValue());}}params.put("sort", "clicktime");params.put("order", "desc");PageUtils page = caidanliebiaoService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, caidanliebiao), params), params));return R.ok().put("data", page);}/*** 协同算法(按用户购买推荐)*/@RequestMapping("/autoSort2")public R autoSort2(@RequestParam Map<String, Object> params,CaidanliebiaoEntity caidanliebiao, HttpServletRequest request){String userId = request.getSession().getAttribute("userId").toString();String goodtypeColumn = "caixifenlei";List<OrdersEntity> orders = ordersService.selectList(new EntityWrapper<OrdersEntity>().eq("userid", userId).eq("tablename", "caidanliebiao").orderBy("addtime", false));List<String> goodtypes = new ArrayList<String>();Integer limit = params.get("limit")==null?10:Integer.parseInt(params.get("limit").toString());List<CaidanliebiaoEntity> caidanliebiaoList = new ArrayList<CaidanliebiaoEntity>();//去重List<OrdersEntity> ordersDist = new ArrayList<OrdersEntity>();for(OrdersEntity o1 : orders) {boolean addFlag = true;for(OrdersEntity o2 : ordersDist) {if(o1.getGoodid()==o2.getGoodid() || o1.getGoodtype().equals(o2.getGoodtype())) {addFlag = false;break;}}if(addFlag) ordersDist.add(o1);}if(ordersDist!=null && ordersDist.size()>0) {for(OrdersEntity o : ordersDist) {caidanliebiaoList.addAll(caidanliebiaoService.selectList(new EntityWrapper<CaidanliebiaoEntity>().eq(goodtypeColumn, o.getGoodtype())));}}EntityWrapper<CaidanliebiaoEntity> ew = new EntityWrapper<CaidanliebiaoEntity>();params.put("sort", "id");params.put("order", "desc");PageUtils page = caidanliebiaoService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, caidanliebiao), params), params));List<CaidanliebiaoEntity> pageList = (List<CaidanliebiaoEntity>)page.getList();if(caidanliebiaoList.size()<limit) {int toAddNum = (limit-caidanliebiaoList.size())<=pageList.size()?(limit-caidanliebiaoList.size()):pageList.size();for(CaidanliebiaoEntity o1 : pageList) {boolean addFlag = true;for(CaidanliebiaoEntity o2 : caidanliebiaoList) {if(o1.getId().intValue()==o2.getId().intValue()) {addFlag = false;break;}}if(addFlag) {caidanliebiaoList.add(o1);if(--toAddNum==0) break;}}}page.setList(caidanliebiaoList);return R.ok().put("data", page);}}
package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.OrdersEntity;
import com.service.OrdersService;import com.entity.CaidanliebiaoEntity;
import com.entity.view.CaidanliebiaoView;import com.service.CaidanliebiaoService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import com.service.StoreupService;
import com.entity.StoreupEntity;/*** 菜单列表* 后端接口* @author * @email * @date 2022-03-26 14:26:59*/
@RestController
@RequestMapping("/caidanliebiao")
public class CaidanliebiaoController {@Autowiredprivate CaidanliebiaoService caidanliebiaoService;@Autowiredprivate StoreupService storeupService;@Autowiredprivate OrdersService ordersService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,CaidanliebiaoEntity caidanliebiao, HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("shangjia")) {caidanliebiao.setShangjiazhanghao((String)request.getSession().getAttribute("username"));}EntityWrapper<CaidanliebiaoEntity> ew = new EntityWrapper<CaidanliebiaoEntity>();PageUtils page = caidanliebiaoService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, caidanliebiao), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,CaidanliebiaoEntity caidanliebiao, HttpServletRequest request){EntityWrapper<CaidanliebiaoEntity> ew = new EntityWrapper<CaidanliebiaoEntity>();PageUtils page = caidanliebiaoService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, caidanliebiao), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( CaidanliebiaoEntity caidanliebiao){EntityWrapper<CaidanliebiaoEntity> ew = new EntityWrapper<CaidanliebiaoEntity>();ew.allEq(MPUtil.allEQMapPre( caidanliebiao, "caidanliebiao")); return R.ok().put("data", caidanliebiaoService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(CaidanliebiaoEntity caidanliebiao){EntityWrapper< CaidanliebiaoEntity> ew = new EntityWrapper< CaidanliebiaoEntity>();ew.allEq(MPUtil.allEQMapPre( caidanliebiao, "caidanliebiao")); CaidanliebiaoView caidanliebiaoView =  caidanliebiaoService.selectView(ew);return R.ok("查询菜单列表成功").put("data", caidanliebiaoView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){CaidanliebiaoEntity caidanliebiao = caidanliebiaoService.selectById(id);caidanliebiao.setClicktime(new Date());caidanliebiaoService.updateById(caidanliebiao);return R.ok().put("data", caidanliebiao);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){CaidanliebiaoEntity caidanliebiao = caidanliebiaoService.selectById(id);caidanliebiao.setClicktime(new Date());caidanliebiaoService.updateById(caidanliebiao);return R.ok().put("data", caidanliebiao);}/*** 赞或踩*/@RequestMapping("/thumbsup/{id}")public R thumbsup(@PathVariable("id") String id,String type){CaidanliebiaoEntity caidanliebiao = caidanliebiaoService.selectById(id);if(type.equals("1")) {caidanliebiao.setThumbsupnum(caidanliebiao.getThumbsupnum()+1);} else {caidanliebiao.setCrazilynum(caidanliebiao.getCrazilynum()+1);}caidanliebiaoService.updateById(caidanliebiao);return R.ok();}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody CaidanliebiaoEntity caidanliebiao, HttpServletRequest request){caidanliebiao.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(caidanliebiao);caidanliebiaoService.insert(caidanliebiao);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody CaidanliebiaoEntity caidanliebiao, HttpServletRequest request){caidanliebiao.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(caidanliebiao);caidanliebiaoService.insert(caidanliebiao);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody CaidanliebiaoEntity caidanliebiao, HttpServletRequest request){//ValidatorUtils.validateEntity(caidanliebiao);caidanliebiaoService.updateById(caidanliebiao);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){caidanliebiaoService.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<CaidanliebiaoEntity> wrapper = new EntityWrapper<CaidanliebiaoEntity>();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("shangjia")) {wrapper.eq("shangjiazhanghao", (String)request.getSession().getAttribute("username"));}int count = caidanliebiaoService.selectCount(wrapper);return R.ok().put("count", count);}/*** 前端智能排序*/@IgnoreAuth@RequestMapping("/autoSort")public R autoSort(@RequestParam Map<String, Object> params,CaidanliebiaoEntity caidanliebiao, HttpServletRequest request,String pre){EntityWrapper<CaidanliebiaoEntity> ew = new EntityWrapper<CaidanliebiaoEntity>();Map<String, Object> newMap = new HashMap<String, Object>();Map<String, Object> param = new HashMap<String, Object>();Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, Object> entry = it.next();String key = entry.getKey();String newKey = entry.getKey();if (pre.endsWith(".")) {newMap.put(pre + newKey, entry.getValue());} else if (StringUtils.isEmpty(pre)) {newMap.put(newKey, entry.getValue());} else {newMap.put(pre + "." + newKey, entry.getValue());}}params.put("sort", "clicktime");params.put("order", "desc");PageUtils page = caidanliebiaoService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, caidanliebiao), params), params));return R.ok().put("data", page);}/*** 协同算法(按用户购买推荐)*/@RequestMapping("/autoSort2")public R autoSort2(@RequestParam Map<String, Object> params,CaidanliebiaoEntity caidanliebiao, HttpServletRequest request){String userId = request.getSession().getAttribute("userId").toString();String goodtypeColumn = "caixifenlei";List<OrdersEntity> orders = ordersService.selectList(new EntityWrapper<OrdersEntity>().eq("userid", userId).eq("tablename", "caidanliebiao").orderBy("addtime", false));List<String> goodtypes = new ArrayList<String>();Integer limit = params.get("limit")==null?10:Integer.parseInt(params.get("limit").toString());List<CaidanliebiaoEntity> caidanliebiaoList = new ArrayList<CaidanliebiaoEntity>();//去重List<OrdersEntity> ordersDist = new ArrayList<OrdersEntity>();for(OrdersEntity o1 : orders) {boolean addFlag = true;for(OrdersEntity o2 : ordersDist) {if(o1.getGoodid()==o2.getGoodid() || o1.getGoodtype().equals(o2.getGoodtype())) {addFlag = false;break;}}if(addFlag) ordersDist.add(o1);}if(ordersDist!=null && ordersDist.size()>0) {for(OrdersEntity o : ordersDist) {caidanliebiaoList.addAll(caidanliebiaoService.selectList(new EntityWrapper<CaidanliebiaoEntity>().eq(goodtypeColumn, o.getGoodtype())));}}EntityWrapper<CaidanliebiaoEntity> ew = new EntityWrapper<CaidanliebiaoEntity>();params.put("sort", "id");params.put("order", "desc");PageUtils page = caidanliebiaoService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, caidanliebiao), params), params));List<CaidanliebiaoEntity> pageList = (List<CaidanliebiaoEntity>)page.getList();if(caidanliebiaoList.size()<limit) {int toAddNum = (limit-caidanliebiaoList.size())<=pageList.size()?(limit-caidanliebiaoList.size()):pageList.size();for(CaidanliebiaoEntity o1 : pageList) {boolean addFlag = true;for(CaidanliebiaoEntity o2 : caidanliebiaoList) {if(o1.getId().intValue()==o2.getId().intValue()) {addFlag = false;break;}}if(addFlag) {caidanliebiaoList.add(o1);if(--toAddNum==0) break;}}}page.setList(caidanliebiaoList);return R.ok().put("data", page);}}

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

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

相关文章

利用管道、信号量、信号、共享内存和消息队列进行多进程通信

一.管道&#xff08;分为命名管道和匿名管道&#xff09; 管道的特点&#xff1a; ①无论是命名管道还是匿名管道&#xff0c;写入管道的数据都存放在内存之中。 ②管道是一种半双工的通信方式&#xff08;半双工是指终端A能发信号给终端B&#xff0c;终端B也能发信号给终端…

软件开发安全指南

2.1.应用系统架构安全设计要求 2.2.应用系统软件功能安全设计要求 2.3.应用系统存储安全设计要求 2.4.应用系统通讯安全设计要求 2.5.应用系统数据库安全设计要求 2.6.应用系统数据安全设计要求 软件开发全资料获取&#xff1a;点我获取

Linux 网络协议

1 网络基础 1.1 网络概念 网络是一组计算机或者网络设备通过有形的线缆或者无形的媒介如无线&#xff0c;连接起来&#xff0c;按照一定的规则&#xff0c;进行通讯的集合( 缺一不可 )。 5G的来临以及IPv6的不断普及&#xff0c;能够进行联网的设备将会是越来越多&#xff08…

vue 商品列表案例

my-tag 标签组件的封装 1. 创建组件 - 初始化 2. 实现功能 (1) 双击显示&#xff0c;并且自动聚焦 v-if v-else dbclick 操作 isEdit 自动聚焦&#xff1a; 1. $nextTick > $refs 获取到dom&#xff0c;进行focus获取焦点 2. 封装v-focus指令 (2) 失去焦点&#xff0c;隐藏…

用Rust刷LeetCode之66 加一

66. 加一[1] 难度: 简单 func plusOne(digits []int) []int { length : len(digits) // 从最低位开始遍历&#xff0c;逐位加一 for i : length - 1; i > 0; i-- { if digits[i] < 9 { digits[i] return digits } d…

【Mac】brew提示arch -arm64 brew以及uname返回x86_64的问题

背景 使用MacBook 14 M1 Pro两年了&#xff0c;自从使用了第三方Shell工具WindTerm后&#xff0c;使用brew时会提示我使用arch -arm64 brew安装&#xff0c;一开始没太在意&#xff0c;直到今天朋友问我uname -a返回的是什么架构&#xff0c;我才惊讶的发现竟然返回的是x86_64…

优化系统性能:深入性能测试的重要性与最佳实践

目录 引言 1. 为什么性能测试重要&#xff1f; 1.1 用户体验 1.2 系统稳定性 1.3 成本节约 1.4 品牌声誉 2. 性能测试的关键步骤 2.1 制定性能测试计划 2.2 确定性能测试类型 2.3 设计性能测试用例 2.4 配置性能测试环境 2.5 执行性能测试 2.6 分析和优化 2.7 回…

QT----Visual Studio打开.ui文件报错无法打开

问题 在我安装完qt后将它嵌入vs&#xff0c;后新建的文件无法打开ui文件 解决方法 右击ui文件打开方式,添加,程序找到你qt的安装目录里的designer.exe。点击确定再次双击就能够打开。

VMware提示:此虚拟机似乎正在使用中,取得该虚拟机的所有权失败错误的解决方案

当你遇到这个的时候是不是很疑惑&#xff0c;现在给你解决方案 step1: 先找到配置文件目录 D:\centOs7_mini\ 这里写成你的这个 step2: 在这个地方查找最后面是 .vmx.lck文件夹,然后进行修改、删除、移动都可以 step3: 去虚拟机那边重新启动就行

RabbitMQ-学习笔记(初识 RabbitMQ)

本篇文章学习于 bilibili黑马 的视频 (狗头保命) 同步通讯 & 异步通讯 (RabbitMQ 的前置知识) 同步通讯&#xff1a;类似打电话&#xff0c;只有对方接受了你发起的请求,双方才能进行通讯, 同一时刻你只能跟一个人打视频电话。异步通讯&#xff1a;类似发信息&#xff0c…

【mysql】下一行减去上一行数据、自增序列场景应用

背景 想获取if_yc为1连续账期数据 思路 获取所有if_yc为1的账期数据下一行减去上一行账期&#xff0c;如果为1则为连续&#xff0c;不等于1就为断档获取不等于1的最小账期&#xff0c;就是离当前账期最近连续账期 代码 以下为mysql语法&#xff1a; select acct_month f…

查看Linux的Ubuntu的版本

我的Ubuntu版本是 Jammy x86_64&#xff0c;即 Ubuntu 22.04.3 LTS&#xff0c;代号为"Jammy Jellyfish"&#xff0c;架构是 x86_64&#xff08;64位&#xff09;。

NLP自然语言处理学习笔记

参考&#xff1a;NLP&#xff08;自然语言处理&#xff09;介绍 - 知乎 (zhihu.com) 一、NLP是什么 自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自…

最新版本——Hadoop3.3.6单机版完全部署指南

大家好&#xff0c;我是独孤风&#xff0c;大数据流动的作者。 本文基于最新的 Hadoop 3.3.6 的版本编写&#xff0c;带大家通过单机版充分了解 Apache Hadoop 的使用。本文更强调实践&#xff0c;实践是大数据学习的重要环节&#xff0c;也能在实践中对该技术有更深的理解&…

105.长度最小的子数组(力扣)|滑动窗口

代码演示 class Solution { public:int minSubArrayLen(int target, vector<int>& nums) {int result INT_MAX; // 用于存储最小子数组的长度int sum 0; // 滑动窗口的长度int i 0; // 滑动窗口的起始位置int sumlength 0; // 当前子数…

深度学习与逻辑回归模型的融合--TensorFlow多元分类的高级应用

手写数字识别 文章目录 手写数字识别1、线性回归VS逻辑回归Sigmoid函数 2、逻辑回归的基本模型-神经网络模型3、多元分类基本模型4、TensorFlow实战解决手写数字识别问题准备数据集数据集划分 特征数据归一化归一化方法归一化场景 标签数据独热编码One-Hot编码构建模型损失函数…

探索人工智能领域——每日20个名词详解【day11】

目录 前言 正文 总结 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo__✍️原创&#xff0c;首发于CSDN&#x1f4da;。 &#x1f4e3;如需转载&#xff0c;请事先与我联系以…

uni-app 微信小程序之好看的ui登录页面(四)

文章目录 1. 页面效果2. 页面样式代码 更多登录ui页面 uni-app 微信小程序之好看的ui登录页面&#xff08;一&#xff09; uni-app 微信小程序之好看的ui登录页面&#xff08;二&#xff09; uni-app 微信小程序之好看的ui登录页面&#xff08;三&#xff09; uni-app 微信小程…

论文阅读:LSeg: LANGUAGE-DRIVEN SEMANTIC SEGMENTATION

可以直接bryanyzhu的讲解&#xff1a;CLIP 改进工作串讲&#xff08;上&#xff09;【论文精读42】_哔哩哔哩_bilibili 这里是详细的翻译工作 原文链接 https://arxiv.org/pdf/2201.03546.pdf ICLR 2022 0、ABSTRACT 我们提出了一种新的语言驱动的语义图像分割模型LSeg。…

【webpack】应用篇

基础应用 代码分离常用的代码分离方法方法一&#xff1a;配置入口节点方法二&#xff1a;防止重复方法三&#xff1a;动态导入 缓存原因解决思路 缓存第三方库原因解决思路 将所有js文件单独存放文件夹拆分开发环境和生产环境配置公共路径环境变量和区分环境代码压缩 拆分配置文…