【推荐算法毕业设计源码】个性化学习推荐网站的设计及实现丨可定制

news2025/8/3 2:21:33

登录该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等学习内容。

目录

一、项目介绍:

二、文档学习资料:

三、模块截图:

四、开发技术与运行环境:

五、代码展示:

六、数据库表截图:

七、配套学习资料​编辑

八、项目部署与修改:包调试+指导图文修改


关键词:计算机毕业设计,源码网站,源码下载,java毕业设计源码,开题报告,毕业设计定制,小程序毕业设计源码,本科毕业设计


一、项目介绍:

       随着社会的发展线下管理的方式已经不可避免的显示出它在时间与空间等方面的局限性,广大的人民群众迫切的需要打破这种局限性。在这种要求下,基于网络的电子商务产生了。它的出现不但解决了传统管理方式的缺点,而且给了广大用户更大的选择空间,促进了个性化学习推荐网站的优化管理,有效的避免了个性化学习推荐网站管理缭乱的局面。所以像个性化学习推荐网站这种电子商务的发展壮大也是不可避免的。

     个性化学习推荐网站作为一种典型的电子管理系统也迅速的发展并深入人们的日常生活中,它使用户足不出户就可以查看课程视频、发布学习圈等,最大化减缩了用户的时间,使得用户不用出门就可以进行管理。

二、文档学习资料:

 

三、模块截图:

按照不同功能模块,在此对系统所涉及的关键页面的实现细节进行阐述,包括页面功能描述,页面涉及功能分析,介绍以及界面展示。

系统登录: 运行系统,首先进入登录界面,按照登录界面的要求填写相应的“账号”和“密码”以及用户类型,点击“登录”然后系统判断填写是否正确,若正确进入相应的界面,否则给出要求先注册信息。

 

 

 

 

 

 

 

四、开发技术与运行环境

开发语言:Java

框架:springboot

JDK版本:JDK1.8

服务器:tomcat7

数据库:mysql 5.7

数据库工具:Navicat12

开发软件:eclipse/idea

Maven包:Maven3.3.9

浏览器:谷歌浏览器

五、代码展示:

视频课程推荐代码及前端登录界面代码

/**
     * 前端智能排序
     */
	@IgnoreAuth
    @RequestMapping("/autoSort")
    public R autoSort(@RequestParam Map<String, Object> params,KechengshipinEntity kechengshipin, HttpServletRequest request,String pre){
        EntityWrapper<KechengshipinEntity> ew = new EntityWrapper<KechengshipinEntity>();
        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", "clicknum");
        params.put("order", "desc");
		PageUtils page = kechengshipinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kechengshipin), params), params));
        return R.ok().put("data", page);
    }


    /**
     * 协同算法(按收藏推荐)
     */
    @RequestMapping("/autoSort2")
    public R autoSort2(@RequestParam Map<String, Object> params,KechengshipinEntity kechengshipin, HttpServletRequest request){
        String userId = request.getSession().getAttribute("userId").toString();
        String inteltypeColumn = "kechengfenlei";
        List<StoreupEntity> storeups = storeupService.selectList(new EntityWrapper<StoreupEntity>().eq("type", 1).eq("userid", userId).eq("tablename", "kechengshipin").orderBy("addtime", false));
        List<String> inteltypes = new ArrayList<String>();
        Integer limit = params.get("limit")==null?10:Integer.parseInt(params.get("limit").toString());
        List<KechengshipinEntity> kechengshipinList = new ArrayList<KechengshipinEntity>();
        //去重
        if(storeups!=null && storeups.size()>0) {
            for(StoreupEntity s : storeups) {
                kechengshipinList.addAll(kechengshipinService.selectList(new EntityWrapper<KechengshipinEntity>().eq(inteltypeColumn, s.getInteltype())));
            }
        }
        EntityWrapper<KechengshipinEntity> ew = new EntityWrapper<KechengshipinEntity>();
        params.put("sort", "id");
        params.put("order", "desc");
        PageUtils page = kechengshipinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kechengshipin), params), params));
        List<KechengshipinEntity> pageList = (List<KechengshipinEntity>)page.getList();
        if(kechengshipinList.size()<limit) {
            int toAddNum = (limit-kechengshipinList.size())<=pageList.size()?(limit-kechengshipinList.size()):pageList.size();
            for(KechengshipinEntity o1 : pageList) {
                boolean addFlag = true;
                for(KechengshipinEntity o2 : kechengshipinList) {
                    if(o1.getId().intValue()==o2.getId().intValue()) {
                        addFlag = false;
                        break;
                    }
                }
                if(addFlag) {
                    kechengshipinList.add(o1);
                    if(--toAddNum==0) break;
                }
            }
        }
        page.setList(kechengshipinList);
        return R.ok().put("data", page);
    }





}
<template>
  <div>
        <canvas id="canvas"  style="background:linear-gradient(rgba(255,255,255, 1),rgba(56,182,230, 1) ,rgba(214,238,247, 1))"></canvas>
        <div class="container loginIn">

      <div :class="2 == 1 ? 'left' : 2 == 2 ? 'left center' : 'left right'">
        <el-form class="login-form" label-position="left" :label-width="1 == 3 || 1 == 2 ? '30px': '0px'">
          <div class="title-container"><h3 class="title">个性化学习推荐网站登录</h3></div>
          <el-form-item :style='{"padding":"0","boxShadow":"0 0 6px rgba(0,0,0,0)","margin":"0px 0px 6px 40px","borderColor":"rgba(0,0,0,0)","backgroundColor":"rgba(255, 140, 0, 0)","borderRadius":"0","borderWidth":"0","width":"420px","borderStyle":"solid","height":"auto"}' :label="1 == 3 ? '用户名' : ''" :class="'style'+1">
            <span v-if="1 != 3" class="svg-container" style="
			color:rgba(30, 25, 0, 1);
			line-height:30px;
			font-size:14px;
			width:30px;
			padding:0;
			margin:12px 0px 0px 40px;
			radius:0;
			border-width:0;
			border-style:solid;
			border-color:rgba(0,0,0,0);
			background-color:rgba(0,0,0,0);
			box-shadow:0 0 6px rgba(0,0,0,0);
			}"><svg-icon icon-class="user" /></span>
            <el-input placeholder="请输入用户名" name="username" type="text" v-model="rulesForm.username" />
          </el-form-item>
          <el-form-item :style='{"padding":"0","boxShadow":"0 0 6px rgba(0,0,0,0)","margin":"0px 0px 6px 40px","borderColor":"rgba(0,0,0,0)","backgroundColor":"rgba(255, 140, 0, 0)","borderRadius":"0","borderWidth":"0","width":"420px","borderStyle":"solid","height":"auto"}' :label="1 == 3 ? '密码' : ''" :class="'style'+1">
            <span v-if="1 != 3" class="svg-container" style="color:rgba(30, 25, 0, 1);
			line-height:30px;
			font-size:14px;
			width:30px;
			padding:0;
			margin:12px 0px 0px 40px;
			radius:0;
			border-width:0;
			border-style:solid;
			border-color:rgba(0,0,0,0);
			background-color:rgba(0,0,0,0);
			box-shadow:0 0 6px rgba(0,0,0,0);"><svg-icon icon-class="password" /></span>
            <el-input placeholder="请输入密码" name="password" type="password" v-model="rulesForm.password" />
          </el-form-item>
          <el-form-item label="角色" prop="loginInRole" class="role" style="display: flex;align-items: center;">
            <el-radio
              v-for="item in menus"
	      v-if="item.hasBackLogin=='是'"
              v-bind:key="item.roleName"
              v-model="rulesForm.role"
              :label="item.roleName"
            >{{item.roleName}}</el-radio>
          </el-form-item>
          <el-button type="primary" @click="login()" class="loginInBt">{{'1' == '1' ? '登录' : 'login'}}</el-button>
          <el-form-item class="setting">
            <!-- <div style="color:${template2.back.login.loginInSettingFontColor}" class="reset">修改密码</div> -->
          </el-form-item>
        </el-form>
      </div>

    </div>
  </div>
</template>
<script>

import menu from "@/utils/menu";
import canvasBg from "@/assets/js/canvas-bg-2.js";
import "@/assets/css/canvas-bg-2.css"

export default {
  data() {
    return {
      rulesForm: {
        username: "",
        password: "",
        role: "",
        code: '',
      },
      menus: [],
      tableName: "",
      codes: [{
        num: 1,
        color: '#000',
        rotate: '10deg',
        size: '16px'
      },{
        num: 2,
        color: '#000',
        rotate: '10deg',
        size: '16px'
      },{
        num: 3,
        color: '#000',
        rotate: '10deg',
        size: '16px'
      },{
        num: 4,
        color: '#000',
        rotate: '10deg',
        size: '16px'
      }],
    };
  },
  mounted() {
	let menus = menu.list();
	this.menus = menus;
		this.$nextTick(() => {
	  canvasBg()
	})
	  },
  created() {
    this.getRandCode()
	
  },
  methods: {
    register(tableName){
      this.$storage.set("loginTable", tableName);
      this.$router.push({path:'/register'})
    },
    // 登陆
    login() {
      if (!this.rulesForm.username) {
         this.$message.error("请输入用户名");
        return;
      }
      if (!this.rulesForm.password) {
         this.$message.error("请输入密码");
        return;
      }
      if (!this.rulesForm.role) {
         this.$message.error("请选择角色");
        return;
      }
      let menus = this.menus;
      for (let i = 0; i < menus.length; i++) {
        if (menus[i].roleName == this.rulesForm.role) {
          this.tableName = menus[i].tableName;
        }
      }
      this.$http({
        url: `${this.tableName}/login?username=${this.rulesForm.username}&password=${this.rulesForm.password}`,
        method: "post"
      }).then(({ data }) => {
        if (data && data.code === 0) {
          this.$storage.set("Token", data.token);
          this.$storage.set("role", this.rulesForm.role);
          this.$storage.set("sessionTable", this.tableName);
          this.$storage.set("adminName", this.rulesForm.username);
          this.$router.replace({ path: "/index/" });
        } else {
          this.$message.error(data.msg);
        }
      });
    },
    getRandCode(len = 4){
      this.randomString(len)
    },
    randomString(len = 4) {
      let chars = [
          "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
          "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
          "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",
          "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
          "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2",
          "3", "4", "5", "6", "7", "8", "9"
      ]
      let colors = ["0", "1", "2","3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"]
      let sizes = ['14', '15', '16', '17', '18']

      let output = [];
      for (let i = 0; i < len; i++) {
        // 随机验证码
        let key = Math.floor(Math.random()*chars.length)
        this.codes[i].num = chars[key]
        // 随机验证码颜色
        let code = '#'
        for (let j = 0; j < 6; j++) {
          let key = Math.floor(Math.random()*colors.length)
          code += colors[key]
        }
        this.codes[i].color = code
        // 随机验证码方向
        let rotate = Math.floor(Math.random()*60)
        let plus = Math.floor(Math.random()*2)
        if(plus == 1) rotate = '-'+rotate
        this.codes[i].rotate = 'rotate('+rotate+'deg)'
        // 随机验证码字体大小
        let size = Math.floor(Math.random()*sizes.length)
        this.codes[i].size = sizes[size]+'px'
      }
    },
  }
};
</script>
<style lang="scss" scoped>
.loginIn {
  min-height: 100vh;
  position: relative;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  

  .loginInBt {
    width: 250px;
    height: 36px;
    line-height: 36px;
    margin: 0px 0px 0px 115px;
    padding: 0px 0px 0px 0px;
    color: rgba(0, 0, 0, 1);
    font-size: 20px;
    border-radius: 5px;
    border-width: 0;
    border-style: solid;
    border-color: rgba(64, 158, 255, 1);
    background-color: rgba(56, 182, 230, 1);
    box-shadow: 0 0 6px rgba(64, 158, 255, 1);
  }
  .register {
    width: 90px;
    height: 25px;
    line-height: 25px;
    margin: 10px 0px 0px 0px;
    padding: 0px 0px 0px 20px;
    color: rgba(0, 0, 0, 1);
    font-size: 14px;
    border-radius: 0;
    border-width: 0;
    border-style: solid;
    border-color: rgba(64, 158, 255, 1);
    background-color: rgba(144, 238, 144, 0);
    box-shadow: 0 0 6px rgba(255,0,0,0);
	cursor: pointer;
  }
  .reset {
    width: auto;
    height: 24px;
    line-height: 24px;
    margin: 0;
    padding: 0;
    color: rgba(153, 153, 153, 1);
    font-size: 12px;
    border-radius: 0;
    border-width: 0;
    border-style: solid;
    border-color: rgba(64, 158, 255, 1);
    background-color: rgba(255, 255, 255, 0);
    box-shadow: 0 0 6px rgba(255,0,0,0);
  }


  .left {
    position: absolute;
    left: 0;
    top: 0;
	box-sizing: border-box;
	width: 550px;
	height: 540px;
	margin: 10px 0px 0px -5px;
	padding: 0px 0px 0px 0px;
	border-radius: 100%;
	border-width: 32px;
	border-style: dashed;
	border-color: rgba(255, 255, 255, 1);
	background-color: rgba(214, 238, 247, 1);
	box-shadow: 0px 0px 0px 20px rgba(255, 255, 255, 1);

    .login-form {
      background-color: transparent;
      width: 100%;
      right: inherit;
      padding: 0;
      box-sizing: border-box;
      display: flex;
	  position: initial;
      justify-content: center;
      flex-direction: column;
    }

    .title-container {
      text-align: center;
      font-size: 24px;

      .title {
        width: 400px;
        line-height: 0;
        margin: 5px 0px 20px 40px;
        padding: 10px;
        color: rgba(0, 0, 0, 1);
        font-size: 20px;
        border-radius: 0;
        border-width: 0;
        border-style: solid;
        border-color: rgba(0,0,0,.3);
        background-color: rgba(0, 206, 209, 0);
        box-shadow: 0px 0px 0px 0px rgba(214,238,247, 1);
      }
    }

    .el-form-item {
      position: relative;

      & /deep/ .el-form-item__content {
        line-height: initial;
      }

	  & /deep/ .el-radio__label {
	    width: auto;
	    height: 14px;
	    line-height: 14px;
	    margin: 0;
	    padding: 0 0 0 10px;
	    color: rgba(3, 0, 0, 1);
	    font-size: 15px;
	    border-radius: 0;
	    border-width: 0;
	    border-style: solid;
	    border-color: rgba(255, 255, 255, 0);
	    background-color: rgba(255, 255, 255, 0);
	    box-shadow: 0 0 6px rgba(255,0,0,0);
	    text-align: left;
	  }
	  & /deep/ .el-radio.is-checked .el-radio__label {
	    width: auto;
	    height: 14px;
	    line-height: 14px;
	    margin: 0;
	    padding: 0 0 0 10px;
	    color: rgba(64, 158, 255, 1);
	    font-size: 14px;
	    border-radius: 0;
	    border-width: 0;
	    border-style: solid;
	    border-color: rgba(255, 255, 255, 0);
	    background-color: rgba(255, 255, 255, 0);
	    box-shadow: 0 0 6px rgba(255,0,0,0);
	    text-align: left;
	  }
	  & /deep/ .el-radio__inner {
	    width: 14px;
	    height: 14px;
	    margin: 0;
	    padding: 0;
	    border-radius: 100%;
	    border-width: 1px;
	    border-style: solid;
	    border-color: #dcdfe6;
	    background-color: rgba(255, 255, 255, 1);
	    box-shadow: 0 0 6px rgba(255,0,0,0);
	  }
	  & /deep/ .el-radio.is-checked .el-radio__inner {
	    width: 14px;
	    height: 14px;
	    margin: 0;
	    padding: 0;
	    border-radius: 100%;
	    border-width: 1px;
	    border-style: solid;
	    border-color: rgba(64, 158, 255, 1);
	    background-color: rgba(64, 158, 255, 1);
	    box-shadow: 0 0 6px rgba(255,0,0,0);
	  }

      .svg-container {
        padding: 6px 5px 6px 15px;
        color: #889aa4;
        vertical-align: middle;
        display: inline-block;
        position: absolute;
        left: 0;
        top: 0;
        z-index: 1;
        padding: 0;
        line-height: 40px;
        width: 30px;
        text-align: center;
      }

      .el-input {
        display: inline-block;
        // height: 40px;
        width: 100%;

        & /deep/ input {
          background: transparent;
          border: 0px;
          -webkit-appearance: none;
          padding: 0 15px 0 30px;
          color: #fff;
          height: 40px;

		  width: 260px;
		  height: 36px;
		  line-height: 36px;
		  margin: 0px 0px 5px 95px;
		  padding: 0 70px;
		  color: rgba(0, 0, 0, 1);
		  font-size: 16px;
		  border-radius: 0;
		  border-width: 0px 0px 3px 0px;
		  border-style: solid;
		  border-color: rgba(255, 215, 0, 1);
		  background-color: rgba(144, 238, 144, 0);
		  box-shadow: 0 0 6px rgba(255,0,0,0);
        }
      }

    }


  }

  .center {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate3d(-50%,-50%,0);
  }

  .right {
    position: absolute;
    left: inherit;
    right: 0;
    top: 0;
  }

  .code {
    .el-form-item__content {
      position: relative;

      .getCodeBt {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translate3d(0, -50%, 0);
        line-height: 40px;
        width: 100px;
        background-color: rgba(51,51,51,0.4);
        color: #fff;
        text-align: center;
        border-radius: 0 4px 4px 0;
        height: 40px;
        overflow: hidden;
		padding: 0;
		margin: 0;
		width: 100px;
        height: 30px;
        line-height: 30px;
        border-radius: 0;
        border-width: 0;
        border-style: solid;
        border-color: rgba(64, 158, 255, 1);
        background-color: rgba(51, 51, 51, 0.4);
        box-shadow: 0 0 6px rgba(255,0,0,0);

        span {
          padding: 0 5px;
          display: inline-block;
          font-size: 16px;
          font-weight: 600;
        }
      }

      .el-input {
        & /deep/ input {
          padding: 0 130px 0 30px;
        }
      }
    }
  }

  .setting {
    & /deep/ .el-form-item__content {
      // padding: 0 15px;
      box-sizing: border-box;
      line-height: 32px;
      height: 32px;
      font-size: 14px;
      color: #999;
      margin: 0 !important;
	  display: flex;

      .register {
        // float: left;
        // width: 50%;
		text-align: center;
      }

      .reset {
        float: right;
        width: 50%;
        text-align: right;
      }
    }
  }

  .style2 {
    padding-left: 30px;

    .svg-container {
      left: -30px !important;
    }

    .el-input {
      & /deep/ input {
        padding: 0 15px !important;
      }
    }
  }

  .code.style2, .code.style3 {
    .el-input {
      & /deep/ input {
        padding: 0 115px 0 15px;
      }
    }
  }

  .style3 {
    & /deep/ .el-form-item__label {
      padding-right: 6px;
      height: 36px;
      line-height: 36px;
    }

    .el-input {
      & /deep/ input {
        padding: 0 15px !important;
      }
    }
  }
  
  & /deep/ .el-form-item__label {
	width: 30px;
	height: 30px;
	line-height: 30px;
	margin: 12px 0px 0px 40px;
	padding: 0;
	color: rgba(30, 25, 0, 1);
	font-size: 14px;
	border-radius: 0;
	border-width: 0;
	border-style: solid;
	border-color: rgba(0,0,0,0);
	background-color: rgba(0,0,0,0);
	box-shadow: 0 0 6px rgba(0,0,0,0);
  }

  .role {
    & /deep/ .el-form-item__label {
      width: 56px !important;
      height: 38px;
      line-height: 38px;
      margin: 0px 0px 0px 60px;
      padding: 0;
      color: rgba(0, 0, 0, 1);
      font-size: 15px;
      border-radius: 0;
      border-width: 0;
      border-style: solid;
      border-color: rgba(64, 158, 255, 1);
      background-color: rgba(255, 255, 255, 0);
      box-shadow: 0 0 6px rgba(255,0,0,0);
      text-align: left;
    }

    & /deep/ .el-radio {
      margin-right: 12px;
    }
  }
}
</style>

六、数据库表截图:

七、配套学习资料

八、项目部署与修改:包调试+指导图文修改

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

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

相关文章

UE4 GIS Cesium for Unreal插件的使用 教程

效果&#xff1a;&#xff08;成都郫都区某区域的运行场景&#xff09; 步骤&#xff1a; 1.到虚幻商城搜索 cesiuml&#xff0c;点击Cesium for Unreal 打开后可以看到目前支持的版本有4.26-4.27和5.0 将其安装到引擎 大概0.2G 2.下载完成后&#xff0c;打开4.26版本的虚幻编…

Study Git - Shell command with Git

前言 这一部分内容主要记录git使用时的重要命令&#xff0c;文章参考&#xff1a; MIT Missing classGit Pro Basic git help \<command>: get help for a git commandgit init: creates a new git repo, with data stored in the .git directorygit status: tells yo…

pytest学习和使用9-fixture中conftest.py如何使用?

9-fixture中conftest.py如何使用&#xff1f;1 引入2 conftest.py简介3 conftest.py特点4 实例4.1 conftest.py4.2 test_conftest1.py4.3 test_conftest2.py5 conftest.py优先级1 引入 之前学习使用fixture前置实现用例的登陆&#xff0c;当时在一个脚本中实现的&#xff1b;那…

基于PHP+MySQL学生创新作品展示系统的设计与实现

MySQL学生创新作品展示系统的基本功能包括用户注册登录,发布作品,查看作品和对评论评论以及在线留言等信息。 PHP本科学生创新作品展示系统是一个服务类型的网站,系统通过PHp&#xff1a;MySQL进行开发,分为前台和后台两部分,前台部分主要是让大学生查看和发布创新作品使用的。…

N3-PEG-MAL,Azdio-PEG-Maleimide,一种点击化学PEG试剂

击化学PEG试剂叠氮-聚乙二醇-马来酰亚胺&#xff0c;该化学试剂其英文名为Azdio-PEG-Maleimide&#xff0c;&#xff08;N3-PEG-MAL&#xff09;。所属分类为&#xff1a;Azide PEG Maleimide PEG。 化学试剂叠氮-PEG-马来酰亚胺的分子量均可定制&#xff0c;有&#xff1a;N3…

音视频开发面试题集锦

下面是 2022.06 月音视频面试题集锦内容的节选&#xff1a; 一、如何根据 NALU 裸流数据来判断其是 H.264 编码还是 H.265 编码&#xff1f; 1&#xff09;通常我们不是根据 NALU 裸流数据中的信息来选择解码器&#xff0c;而是根据媒体封装层的信息来确定解码器。 媒体封装层…

理解TCP协议三次握手、四次挥手、流量控制、拥塞控制 、重传机制

&#x1f468;‍&#x1f4bb;个人主页&#xff1a; 才疏学浅的木子 &#x1f647;‍♂️ 本人也在学习阶段如若发现问题&#xff0c;请告知非常感谢 &#x1f647;‍♂️ &#x1f4d2; 本文来自专栏&#xff1a; 计算机网络 &#x1f308; 每日一语&#xff1a;真正的勇气是&…

Mac 常用软件汇总

开发工具 1、Android Studio Android开发工程师对这个玩意是又爱又狠&#xff0c;爱它的灵活自由&#xff0c;恨他的放纵不羁。 2、Sourcetree git 图形化操作工具。 3、IntelliJ IDEA 开发Java项目神器。 4、Serial 串口调试工具。可以打印一些日志信息。 5、Navicat …

Python与pycharm-----windows安装与运行

目录 1.python下载 2.Python安装 3、安装并配置pycharm 1.python下载 上python官网下载。很多计算机自带python&#xff0c;如果不自带的话&#xff0c;需要官网下载。 选好版本&#xff0c;最好为3.7版本的。 2.Python安装 需要记下安装路径&#xff0c;免得后续找不到&am…

【算法系列】非线性最小二乘求解-梯度下降法

系列文章目录 【算法系列】卡尔曼滤波算法 【算法系列】非线性最小二乘求解-直接求解法 【算法系列】非线性最小二乘求解-梯度下降法 【算法系列】非线性最小二乘-高斯牛顿法 文章目录 系列文章 文章目录 前言 一、梯度下降法&#xff08;GD&#xff09; 二、最速下…

深度优先与宽度优先搜索(python)

算法原理 1、宽度优先搜索&#xff1a; 宽度优先搜索算法(Breadth First Search&#xff0c;BSF)&#xff0c;思想是&#xff1a; 从图中某顶点v出发&#xff0c;首先访问顶点v在访问了v之后依次从左往右访问v的各个未曾访问过的邻接点&#xff1b;然后分别从这些邻接点出发依…

loT行业生死竞速:Aqara绿米得用户得天下

作者 | 曾响铃 文 | 响铃说 日前&#xff0c;社科院发布了一份“2022年秋季中国宏观经济形势分析”报告&#xff0c;报告中指出当前&#xff0c;世界经济增长预期下挫&#xff0c;全球通胀居高不下&#xff0c;而中国经济整体仍呈持续恢复状态&#xff0c;但经济内增长动能仍…

【数据结构】树和二叉树以及经典例题

目录1.树的基本概念1.1 树的特点1.2 树的一些相关概念1.3 树的表示1.3.1 那种结构表示树最优&#xff1f;&#xff08;不是二叉树&#xff0c;就是普通的树&#xff09;1.4 树在实际中的运用&#xff08;表示文件系统的目录树结构&#xff09;2. 二叉树&#xff08;重点&#x…

嵌入式linux实现pppoe拨号上网

make menuconfig -> Device Drivers -> Network device support -> PPP (point-to-point protocol) 中&#xff0c;选中所有ppp选项。退出&#xff0c;保存配置&#xff0c;修改Makefile重新执行make zImage. 将arch/mips/boot/下的zImage下载到开发板上重启系统。 t…

oracle数据库的导入与导出

1、oracle数据库导入与导出需要注意 2、导出数据格式介绍 3、 传统方式exp(导出&#xff09;和&#xff08;imp&#xff09;导入 3.1 命令执行方式 3.2 命令格式 3.3 导出数据 3.3.1示例 3.4 导入数据 3.4.1 导入数据 4 使用PL/SQL Developer 实现数据导入与导出 4.1 导出与导…

文本分类微调技巧实战2.0

讯飞比赛答辩结束&#xff0c;笔者和小伙伴们参加了一些讯飞的比赛&#xff0c;今年讯飞文本分类比赛相比去年更加多元化&#xff0c;涉及领域、任务和数据呈现多样性&#xff0c;听完各位大佬的答辩之后&#xff0c;结合之前经验和以下赛题总结下文本分类比赛的实战思路。 1 …

allegro16.6导出版图到ADS2019仿真的方法

首先配置好allegro软件 1. 选择FILE->Script, 弹出窗口后选择Browse &#xff0c; 选择ADS对应文件夹下\Keysight\ADS2019\ial\scripts的描述文件&#xff0c;并勾选Change Directory 点击确认&#xff1b; 2.回到Scripting界面点击Replay &#xff1b; 在弹出的窗口红框位…

Au NPs/FA/PAMAM-DOX 金纳米粒子/叶酸/聚酰胺-胺型树枝状高分子修饰阿霉素的研究

下面小编要分享给大家的内容是Au NPs/FA/PAMAM-DOX 金纳米粒子/叶酸/聚酰胺-胺型树枝状高分子修饰阿霉素&#xff0c;和小编一起来看&#xff01; PAMAM-DOX 聚酰胺-胺型树枝状高分子修饰阿霉素制备方法&#xff1a; 采用逆向蒸发结合pH梯度法制备LLDs-PAMAM-DOX,观察形态,测定…

基于SpringBoot的体育场运营系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SpringBoot 前端&#xff1a;采用HTML和Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Mav…

【QT知识】在widget中的绘制事件函数

在widget中的绘制事件函数 文章目录1. 代码实现头文件部分cpp文件部分2. 事件函数参考博客&#x1f60a;点此到文末惊喜↩︎ 1. 代码实现 头文件部分 #include <QWidget> #include <QPainter>namespace Ui { class widget_2_1; }class widget_2_1 : public QWid…