springboot农机电招平台源码和论文

随着农机电招行业的不断发展,农机电招在现实生活中的使用和普及,农机电招行业成为近年内出现的一个新行业,并且能够成为大群众广为认可和接受的行为和选择。设计农机电招平台的目的就是借助计算机让复杂的销售操作变简单,变高效。

农机电招平台采用了B/S结构,JAVA作为开发语言,数据库采用了B/S结构,Mysql数据库进行开发。该系统包括前台操作和后台管理两个部分,一方面,为用户提供首页,农机,系统公告,个人中心,后台管理等功能;另一方面,为管理员提供首页,个人中心,农机机主管理,使用者管理,农机类型管理,农机管理,农机预约管理,系统管理等功能。

【关键词】农机电招;JAVA;B/S结构

springboot农机电招平台源码和论文326

演示视频:

springboot农机电招平台源码和论文

Abstract

With the continuous development of the agricultural mechanical and electrical recruitment industry, the use and popularization of agricultural mechanical and electrical recruitment in real life, the agricultural mechanical and electrical recruitment industry has become a new industry that has emerged in recent years, and can become a behavior and choice widely recognized and accepted by the masses. The purpose of designing the agricultural mechanical and electrical recruitment platform is to make complex sales operations simple and efficient with the help of computers.

The agricultural mechanical and electrical recruitment platform adopts the B/S structure, JAVA as the development language, the database adopts the B/S structure, and the Mysql database is developed. The system includes two parts of front-end operation and background management, on the one hand, to provide users with the home page, agricultural machinery, system announcements, personal center, background management and other functions; on the other hand, to provide administrators with homepage, personal center, agricultural machinery master management, user management, agricultural machinery type management, agricultural machinery management, agricultural machinery appointment management, system management and other functions.

【Keywords】Agricultural mechanical and electrical moves; JAVA; B/S structure

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 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.NongjijizhuEntity;
import com.entity.view.NongjijizhuView;

import com.service.NongjijizhuService;
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 java.io.IOException;

/**
 * 农机机主
 * 后端接口
 * @author 
 * @email 
 * @date 2022-04-18 15:38:13
 */
@RestController
@RequestMapping("/nongjijizhu")
public class NongjijizhuController {
    @Autowired
    private NongjijizhuService nongjijizhuService;


    
	@Autowired
	private TokenService tokenService;
	
	/**
	 * 登录
	 */
	@IgnoreAuth
	@RequestMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		NongjijizhuEntity user = nongjijizhuService.selectOne(new EntityWrapper<NongjijizhuEntity>().eq("jizhuzhanghao", username));
		if(user==null || !user.getMima().equals(password)) {
			return R.error("账号或密码不正确");
		}
		
		String token = tokenService.generateToken(user.getId(), username,"nongjijizhu",  "农机机主" );
		return R.ok().put("token", token);
	}
	
	/**
     * 注册
     */
	@IgnoreAuth
    @RequestMapping("/register")
    public R register(@RequestBody NongjijizhuEntity nongjijizhu){
    	//ValidatorUtils.validateEntity(nongjijizhu);
    	NongjijizhuEntity user = nongjijizhuService.selectOne(new EntityWrapper<NongjijizhuEntity>().eq("jizhuzhanghao", nongjijizhu.getJizhuzhanghao()));
		if(user!=null) {
			return R.error("注册用户已存在");
		}
		Long uId = new Date().getTime();
		nongjijizhu.setId(uId);
        nongjijizhuService.insert(nongjijizhu);
        return R.ok();
    }

	
	/**
	 * 退出
	 */
	@RequestMapping("/logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        NongjijizhuEntity user = nongjijizhuService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	NongjijizhuEntity user = nongjijizhuService.selectOne(new EntityWrapper<NongjijizhuEntity>().eq("jizhuzhanghao", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
        user.setMima("123456");
        nongjijizhuService.updateById(user);
        return R.ok("密码已重置为:123456");
    }


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,NongjijizhuEntity nongjijizhu,
		HttpServletRequest request){
        EntityWrapper<NongjijizhuEntity> ew = new EntityWrapper<NongjijizhuEntity>();
		PageUtils page = nongjijizhuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, nongjijizhu), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,NongjijizhuEntity nongjijizhu, 
		HttpServletRequest request){
        EntityWrapper<NongjijizhuEntity> ew = new EntityWrapper<NongjijizhuEntity>();
		PageUtils page = nongjijizhuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, nongjijizhu), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( NongjijizhuEntity nongjijizhu){
       	EntityWrapper<NongjijizhuEntity> ew = new EntityWrapper<NongjijizhuEntity>();
      	ew.allEq(MPUtil.allEQMapPre( nongjijizhu, "nongjijizhu")); 
        return R.ok().put("data", nongjijizhuService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(NongjijizhuEntity nongjijizhu){
        EntityWrapper< NongjijizhuEntity> ew = new EntityWrapper< NongjijizhuEntity>();
 		ew.allEq(MPUtil.allEQMapPre( nongjijizhu, "nongjijizhu")); 
		NongjijizhuView nongjijizhuView =  nongjijizhuService.selectView(ew);
		return R.ok("查询农机机主成功").put("data", nongjijizhuView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        NongjijizhuEntity nongjijizhu = nongjijizhuService.selectById(id);
        return R.ok().put("data", nongjijizhu);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        NongjijizhuEntity nongjijizhu = nongjijizhuService.selectById(id);
        return R.ok().put("data", nongjijizhu);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody NongjijizhuEntity nongjijizhu, HttpServletRequest request){
    	nongjijizhu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(nongjijizhu);
    	NongjijizhuEntity user = nongjijizhuService.selectOne(new EntityWrapper<NongjijizhuEntity>().eq("jizhuzhanghao", nongjijizhu.getJizhuzhanghao()));
		if(user!=null) {
			return R.error("用户已存在");
		}
		nongjijizhu.setId(new Date().getTime());
        nongjijizhuService.insert(nongjijizhu);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody NongjijizhuEntity nongjijizhu, HttpServletRequest request){
    	nongjijizhu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(nongjijizhu);
    	NongjijizhuEntity user = nongjijizhuService.selectOne(new EntityWrapper<NongjijizhuEntity>().eq("jizhuzhanghao", nongjijizhu.getJizhuzhanghao()));
		if(user!=null) {
			return R.error("用户已存在");
		}
		nongjijizhu.setId(new Date().getTime());
        nongjijizhuService.insert(nongjijizhu);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody NongjijizhuEntity nongjijizhu, HttpServletRequest request){
        //ValidatorUtils.validateEntity(nongjijizhu);
        nongjijizhuService.updateById(nongjijizhu);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        nongjijizhuService.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<NongjijizhuEntity> wrapper = new EntityWrapper<NongjijizhuEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = nongjijizhuService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	







}
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 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.ShiyongzheEntity;
import com.entity.view.ShiyongzheView;

import com.service.ShiyongzheService;
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 java.io.IOException;

/**
 * 使用者
 * 后端接口
 * @author 
 * @email 
 * @date 2022-04-18 15:38:13
 */
@RestController
@RequestMapping("/shiyongzhe")
public class ShiyongzheController {
    @Autowired
    private ShiyongzheService shiyongzheService;


    
	@Autowired
	private TokenService tokenService;
	
	/**
	 * 登录
	 */
	@IgnoreAuth
	@RequestMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		ShiyongzheEntity user = shiyongzheService.selectOne(new EntityWrapper<ShiyongzheEntity>().eq("yonghuming", username));
		if(user==null || !user.getMima().equals(password)) {
			return R.error("账号或密码不正确");
		}
		
		String token = tokenService.generateToken(user.getId(), username,"shiyongzhe",  "使用者" );
		return R.ok().put("token", token);
	}
	
	/**
     * 注册
     */
	@IgnoreAuth
    @RequestMapping("/register")
    public R register(@RequestBody ShiyongzheEntity shiyongzhe){
    	//ValidatorUtils.validateEntity(shiyongzhe);
    	ShiyongzheEntity user = shiyongzheService.selectOne(new EntityWrapper<ShiyongzheEntity>().eq("yonghuming", shiyongzhe.getYonghuming()));
		if(user!=null) {
			return R.error("注册用户已存在");
		}
		Long uId = new Date().getTime();
		shiyongzhe.setId(uId);
        shiyongzheService.insert(shiyongzhe);
        return R.ok();
    }

	
	/**
	 * 退出
	 */
	@RequestMapping("/logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        ShiyongzheEntity user = shiyongzheService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	ShiyongzheEntity user = shiyongzheService.selectOne(new EntityWrapper<ShiyongzheEntity>().eq("yonghuming", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
        user.setMima("123456");
        shiyongzheService.updateById(user);
        return R.ok("密码已重置为:123456");
    }


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ShiyongzheEntity shiyongzhe,
		HttpServletRequest request){
        EntityWrapper<ShiyongzheEntity> ew = new EntityWrapper<ShiyongzheEntity>();
		PageUtils page = shiyongzheService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shiyongzhe), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ShiyongzheEntity shiyongzhe, 
		HttpServletRequest request){
        EntityWrapper<ShiyongzheEntity> ew = new EntityWrapper<ShiyongzheEntity>();
		PageUtils page = shiyongzheService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shiyongzhe), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( ShiyongzheEntity shiyongzhe){
       	EntityWrapper<ShiyongzheEntity> ew = new EntityWrapper<ShiyongzheEntity>();
      	ew.allEq(MPUtil.allEQMapPre( shiyongzhe, "shiyongzhe")); 
        return R.ok().put("data", shiyongzheService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ShiyongzheEntity shiyongzhe){
        EntityWrapper< ShiyongzheEntity> ew = new EntityWrapper< ShiyongzheEntity>();
 		ew.allEq(MPUtil.allEQMapPre( shiyongzhe, "shiyongzhe")); 
		ShiyongzheView shiyongzheView =  shiyongzheService.selectView(ew);
		return R.ok("查询使用者成功").put("data", shiyongzheView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ShiyongzheEntity shiyongzhe = shiyongzheService.selectById(id);
        return R.ok().put("data", shiyongzhe);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ShiyongzheEntity shiyongzhe = shiyongzheService.selectById(id);
        return R.ok().put("data", shiyongzhe);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody ShiyongzheEntity shiyongzhe, HttpServletRequest request){
    	shiyongzhe.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(shiyongzhe);
    	ShiyongzheEntity user = shiyongzheService.selectOne(new EntityWrapper<ShiyongzheEntity>().eq("yonghuming", shiyongzhe.getYonghuming()));
		if(user!=null) {
			return R.error("用户已存在");
		}
		shiyongzhe.setId(new Date().getTime());
        shiyongzheService.insert(shiyongzhe);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ShiyongzheEntity shiyongzhe, HttpServletRequest request){
    	shiyongzhe.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(shiyongzhe);
    	ShiyongzheEntity user = shiyongzheService.selectOne(new EntityWrapper<ShiyongzheEntity>().eq("yonghuming", shiyongzhe.getYonghuming()));
		if(user!=null) {
			return R.error("用户已存在");
		}
		shiyongzhe.setId(new Date().getTime());
        shiyongzheService.insert(shiyongzhe);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody ShiyongzheEntity shiyongzhe, HttpServletRequest request){
        //ValidatorUtils.validateEntity(shiyongzhe);
        shiyongzheService.updateById(shiyongzhe);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        shiyongzheService.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<ShiyongzheEntity> wrapper = new EntityWrapper<ShiyongzheEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = shiyongzheService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	







}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

React(3): React 实现卖座App

React实现卖座App 娱乐项目&#xff0c;请勿当真 &#xff01;&#xff01;&#xff01; 简介 之前在学习React的时候&#xff0c;在 bilibili 看到 React 学习视频&#xff0c;于是马上着手 React版本的卖座App 开发 技术栈 // 前端 React TypeScript Antd-Mobile Dayjs 3D…

《Linux高性能服务器编程》笔记08

Linux高性能服务器编程 本文是读书笔记&#xff0c;如有侵权&#xff0c;请联系删除。 参考 Linux高性能服务器编程源码: https://github.com/raichen/LinuxServerCodes 豆瓣: Linux高性能服务器编程 文章目录 Linux高性能服务器编程第08章 高性能服务器程序框架8.1 服务器…

Redis——list以及他的应用场景

介绍 &#xff1a;list 即是 链表。链表是一种非常常见的数据结构&#xff0c;特点是易于数据元素的插入和删除并且且可以灵活调整链表长度&#xff0c;但是链表的随机访问困难。许多高级编程语言都内置了链表的实现比如 Java 中的 LinkedList&#xff0c;但是 C 语言并没有实现…

如何学习VBA_3.2.12.13:VBA中工作表函数的利用

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的劳动效率&#xff0c;而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册&#xff0c;现在已经全部完成&#xff0c;希望大家利用、学习。 如果…

JavaScript进阶:WebAPIs重点知识整理1

目录 1 DOM修改元素内容 2 DOM修改元素常见属性 3 修改元素样式属性 3.1 通过style修改元素样式 3.2 通过类名className修改元素样式 3.3 通过classList修改元素样式 4 操作表单元素属性 5 自定义属性 6 定时器 7 事件监听 7.1 点击事件 click 7.2 鼠mouseenter和移…

Web网页生成桌面应用

前言&#xff1a;网页生成桌面指的是将一个网页保存为桌面应用程序的形式&#xff0c;使得用户可以在桌面上直接打开该网页&#xff0c;而不必通过浏览器打开。这种桌面应用程序一般具有独立的窗口、菜单、工具栏等界面元素&#xff0c;能够提供更加方便快捷的使用体验。 实现…

Vue 动态组件与异步组件:深入理解与全面应用

聚沙成塔每天进步一点点 本文内容 ⭐ 专栏简介1. 动态组件实现原理&#xff1a;用法示例&#xff1a; 2. 异步组件实现原理&#xff1a;用法示例&#xff1a; 3. 异步组件的高级应用a. 异步组件的命名&#xff1a;b. 异步组件的加载状态管理&#xff1a; ⭐ 写在最后 ⭐ 专栏简…

目标检测算法改进系列之添加C2f-DCN模块

DCNv2简介 可变形卷积网络的卓越性能源于其适应物体几何变化的能力。通过对其自适应行为的检查&#xff0c;我们观察到&#xff0c;虽然对其神经特征的空间支持比常规的 ConvNet 更接近对象结构&#xff0c;但这种支持可能远远超出感兴趣区域&#xff0c;导致特征受到不相关图…

使用KMP迁移Android app到IOS平台

使用KMP迁移Android app到IOS平台 如果你有一款Android app&#xff0c;你想将其迁移到IOS平台&#xff0c;但是你不熟悉Swift语言&#xff0c;那么你该如何做呢&#xff1f;辛亏JetBrains 推出 Kotlin Multiplatform 和 Compose Multiplatform &#xff0c;突然间&#xff0c…

代码随想录算法训练营第十六天| 104.二叉树的最大深度 ● 111.二叉树的最小深度 ● 222.完全二叉树的节点个数

104.二叉树的最大深度 本题可以使用前序&#xff08;中左右&#xff09;&#xff0c;也可以使用后序遍历&#xff08;左右中&#xff09;&#xff0c;使用前序求的就是深度&#xff0c;使用后序求的是高度。 ●二叉树节点的深度&#xff1a;指从根节点到该节点的最长简单路径边…

Linux-Shell脚本基础

一、前言&#xff1a; 1.程序编程风格&#xff1a; 面向过程语言&#xff1a; 开发的时候 需要 一步一步 执行 做一件事情&#xff0c;排出个步骤&#xff0c;第一步干什么&#xff0c;第二步干什么&#xff0c;如果出现情况A&#xff0c;做什么处理&#xff0c;如果出现了情…

DC-9靶机做题记录

靶机下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1LR44-oFnO6NU6bTNs7VNrw?pwdhzke 提取码&#xff1a;hzke 参考&#xff1a; 【DC系列靶机DC9通关讲解】 https://www.bilibili.com/video/BV1p24y1s78C/?share_sourcecopy_web&vd_source12088c392…

Fluent Bit配置与使用——基于版本V2.2.2

Fluent Bit日志采集终端 文档适用版本&#xff1a;V2.2 1、日志文件处理流程 数据源是一个普通文件&#xff0c;其中包含 JSON 内容&#xff0c;使用tail插件记录日志&#xff0c;通过parsers进行格式化匹配&#xff08;图里没写&#xff09;&#xff0c;通过两个筛选器&…

白酒:发酵过程中的化学反应与香气形成

云仓酒庄的豪迈白酒在发酵过程中经历了多种化学反应&#xff0c;这些反应对于酒的香气和口感的形成起到了至关重要的作用。 首先&#xff0c;我们要了解发酵的定义。发酵是一个生物化学过程&#xff0c;通过特定微生物的作用&#xff0c;将原料中的糖类物质转化为酒精和二氧化碳…

爬虫正则+bs4+xpath+综合实战详解

Day3 - 1.数据解析概述_哔哩哔哩_bilibili 聚焦爬虫&#xff1a;爬取页面中指定的页面内容 编码流程&#xff1a;指定url -> 发起请求 -> 获取响应数据 -> 数据解析 -> 持久化存储 数据解析分类&#xff1a;正则、bs4、xpath(本教程的重点) 数据解析原理概述&am…

JQuery下载和一些语法

最近学了六种jQuery选择器&#xff0c;我想把学过案例和知识结合起来&#xff0c;给大家分享下&#xff01; 那么既然学jQuery选择器&#xff0c;肯定要先了解下jQuery是什么吧&#xff01;jQuery是一个快速、简洁的JavaScript框架&#xff0c;相当于用jQuery能更加高效的创建…

男主角展现炸裂演技,演绎方式独具匠心,令人叹为观止

♥ 为方便您进行讨论和分享&#xff0c;同时也为能带给您不一样的参与感。请您在阅读本文之前&#xff0c;点击一下“关注”&#xff0c;非常感谢您的支持&#xff01; 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 在漫长的等待之后&#xff0c;《要久久爱》这部都市情感剧终…

Redis的主从复制

目录 一、主从复制 1.主从复制是什么 2. 主从复制能干嘛 3 主从复制 3.1创建一主二仆 3.2创建伪主从 3.3编写配置文件 3.4启动三台redis服器 3.5配置注册关系 4.复制原理 5.薪火相传 6.反客为主 7.哨兵模式(sentinel) 一、主从复制 1.主从复制是什么 主机数据更新…

服务器运维小技巧(二)——如何进行监控告警

服务器运维难度高的原因&#xff0c;很大程度是因为服务器一旦出现问题&#xff0c;生产环境的业务就会受到严重影响&#xff0c;极有可能带来难以承担的后果。因此这份工作要求工程师保持高要求的服务质量&#xff0c;能够快速响应问题&#xff0c;及时解决问题。 但是“及时…

EasyExcel实现导出图片到excel

pom依赖&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.0</version> </dependency> 实体类&#xff1a; package com.aicut.monitor.vo;import com.aicut.monit…