springboot+echarts +mysql制作数据可视化大屏(六图)

news2024/11/15 9:25:41

 作者水平低,如有错误,恳请指正!谢谢!!!!!

项目简单,适合大学生参考

分类专栏还有其它的可视化博客哦!

专栏地址:https://blog.csdn.net/qq_55906442/category_11906804.html?spm=1001.2014.3001.5482

目录

 一、数据源

二、所需工具

三、项目框架搭建

四、代码编写

订单金额折线图

利润情况信息

虚拟柱状图

平均支付时间统计

订单金额统计

旭日图

五、大屏编写


成果展示:

 一、数据源

1)可以使用自己的MySQL数据库;

2)使用我提供的数据。(要数据私信/留言——>留下邮箱即可)

二、所需工具

MySQL、IDEA、jdk1.8、Maven等等,总之编写工具要准备好,环境要搭建好

三、项目框架搭建

参考我博客的项目框架搭建,从3.1看到4.3即可springboot+mybatis+echarts +mysql制作数据可视化大屏_spring + 可视化大屏_一个人的牛牛的博客-CSDN博客

四、代码编写

代码简单,后端代码都写在一起了,没有区分controller等等,前端也是一样,没有单独写js等等。有些图数据为了偷懒是手敲的,没有从数据库读取。

订单金额折线图

后端

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
public class Big2Controller {

    private final JdbcTemplate jdbcTemplate;

    @Autowired
    public Big2Controller(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    @GetMapping("/chart-data2")
    public Map<String, Object> getChartData() {
        String query = "SELECT dt, order_amount FROM ads_order_daycount";
        List<Map<String, Object>> result = jdbcTemplate.queryForList(query);

        List<String> labels = new ArrayList<>();
        List<Integer> values = new ArrayList<>();

        for (Map<String, Object> row : result) {
            String dt = row.get("dt").toString();
            Integer orderAmount = ((Number) row.get("order_amount")).intValue();

            labels.add(dt);
            values.add(orderAmount);
        }

        Map<String, Object> data = new HashMap<>();
        data.put("labels", labels);
        data.put("values", values);

        return data;
    }
}

 验证接口:运行项目,浏览器访问http://localhost:8081/chart-data2

前端

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>折线图</title>
  <style>
    html, body {
      height: 100%;
      margin: 0;
      padding: 0;
    }
    #chart-container {
      width: 100%;
      height: 100%;
      min-height: 300px; /* 设置最小高度,防止内容过小时显示异常 */
    }
  </style>
</head>
<body>
<div id="chart-container"></div>

<script src="https://cdn.jsdelivr.net/npm/echarts@5.2.2/dist/echarts.min.js"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script>
  // 使用 Axios 发送 AJAX 请求
  axios.get('/chart-data2')
          .then(function (response) {
            // 处理从后端返回的数据
            const data = response.data;

            // 提取 X 轴和 Y 轴数据
            const xData = data.labels;
            const yData = data.values;

            // 创建图表
            const chartContainer = document.getElementById('chart-container');
            const chart = echarts.init(chartContainer);

            // 监听窗口大小变化事件
            window.addEventListener('resize', function() {
              chart.resize(); // 调整图表大小
            });

            const option = {
              title: {
                text: '订单金额折线图'
              },
              xAxis: {
                type: 'category',
                data: xData
              },
              yAxis: {
                type: 'value'
              },
              series: [{
                type: 'line',
                data: yData,
                areaStyle: {
                  color: 'rgba(0, 128, 255, 0.3)' // 设置背景颜色
                }
              }]
            };

            // 渲染图表
            chart.setOption(option);

          })
          .catch(function (error) {
            console.log(error);
          });
</script>
</body>
</html>

验证页面:运行项目,浏览器访问http://localhost:8081/big2.html

利润情况信息

前端

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>利润情况信息</title>
    <!-- 引入 echarts.js -->
    <script src="/js/echarts.min.js"></script>
    <script src="/js/jquery-3.5.1.min.js"></script>
    <style>
        html, body {
            height: 100%;
            margin: 0;
            padding: 0;
        }
        #main {
            width: 100%;
            height: 100%;
            min-height: 300px; /* 设置最小高度,防止内容过小时显示异常 */
        }
    </style>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main"></div>
<script type="text/javascript">
    var chartDom = document.getElementById('main');
    var myChart = echarts.init(chartDom);
    var option;

    // 监听窗口大小变化事件
    window.addEventListener('resize', function() {
        myChart.resize(); // 调整图表大小
    });

    option = {
        title: {
            text: '利润情况信息',
            textStyle: {
                textAlign: 'center'
            }
        },
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'shadow'
            }
        },
        legend: {
            data: ['利润', '费用', '收入']
        },
        grid: {
            left: '3%',
            right: '4%',
            bottom: '3%',
            containLabel: true
        },
        xAxis: [
            {
                type: 'value'
            }
        ],
        yAxis: [
            {
                type: 'category',
                axisTick: {
                    show: false
                },
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            }
        ],
        series: [
            {
                name: 'Profit',
                type: 'bar',
                label: {
                    show: true,
                    position: 'inside'
                },
                emphasis: {
                    focus: 'series'
                },
                data: [200, 170, 240, 244, 200, 220, 210]
            },
            {
                name: 'Income',
                type: 'bar',
                stack: 'Total',
                label: {
                    show: true
                },
                emphasis: {
                    focus: 'series'
                },
                itemStyle: {
                    emphasis: {
                        shadowBlur: 10,
                        shadowOffsetX: 0,
                        shadowColor: 'rgba(0, 0, 0, 0.5)'
                    },
                    normal:{
                        color:function(params) {
                            //自定义颜色
                            var colorList = ['#00FFFF', '#00FF00', '#FFFF00', '#FF8C00', '#FF0000', '#FE8463','#6495ed','#ff69b4','#00FFFF', '#00FF00', '#FFFF00', '#FF8C00', '#FF0000', '#FE8463','#6495ed','#ff69b4'];
                            return colorList[params.dataIndex]
                        }
                    }
                },
                data: [320, 302, 341, 374, 390, 450, 420]
            },
            {
                name: 'Expenses',
                type: 'bar',
                stack: 'Total',
                label: {
                    show: true,
                    position: 'left'
                },
                emphasis: {
                    focus: 'series'
                },
                itemStyle: {
                    emphasis: {
                        shadowBlur: 10,
                        shadowOffsetX: 0,
                        shadowColor: 'rgba(0, 0, 0, 0.5)'
                    },
                    normal:{
                        color:function(params) {
                            //自定义颜色
                            var colorList = ['#00FFFF', '#00FF00', '#FFFF00', '#FF8C00', '#FF0000', '#FE8463','#6495ed','#ff69b4','#00FFFF', '#00FF00', '#FFFF00', '#FF8C00', '#FF0000', '#FE8463','#6495ed','#ff69b4'];
                            return colorList[params.dataIndex]
                        }
                    }
                },
                data: [-120, -132, -101, -134, -190, -230, -210]
            }
        ]
    };

    option && myChart.setOption(option);

</script>
</body>

验证页面:运行项目,浏览器访问http://localhost:8081/negative.html

虚拟柱状图

前端

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>虚拟柱状图</title>
    <script src="/js/echarts.min.js"></script>
    <script src="/js/jquery-3.5.1.min.js"></script>
    <style>
        html, body {
            height: 100%;
            margin: 0;
            padding: 0;
        }
        #main {
            width: 100%;
            height: 100%;
            min-height: 300px; /* 设置最小高度,防止内容过小时显示异常 */
        }
    </style>
</head>
<body>
<div id="main"></div>
<script type="text/javascript">
    var chartDom = document.getElementById('main');
    var myChart = echarts.init(chartDom);
    var option;

    // 监听窗口大小变化事件
    window.addEventListener('resize', function() {
        myChart.resize(); // 调整图表大小
    });

    // Generate data
    let category = [];
    let dottedBase = +new Date();
    let lineData = [];
    let barData = [];
    for (let i = 0; i < 20; i++) {
        let date = new Date((dottedBase += 3600 * 24 * 1000));
        category.push(
            [date.getFullYear(), date.getMonth() + 1, date.getDate()].join('-')
        );
        let b = Math.random() * 200;
        let d = Math.random() * 200;
        barData.push(b);
        lineData.push(d + b);
    }
    // option
    option = {
        title: {
            text: '虚拟柱状',
            textStyle: {
                textAlign: 'center'
            }
        },
        backgroundColor: '',
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'shadow'
            }
        },
        legend: {
            data: ['line', 'bar'],
            textStyle: {
                color: '#ccc'
            }
        },
        xAxis: {
            data: category,
            axisLine: {
                lineStyle: {
                    color: '#ccc'
                }
            }
        },
        yAxis: {
            splitLine: { show: false },
            axisLine: {
                lineStyle: {
                    color: '#ccc'
                }
            }
        },
        series: [
            {
                name: 'line',
                type: 'line',
                smooth: true,
                showAllSymbol: true,
                symbol: 'emptyCircle',
                symbolSize: 5,
                data: lineData
            },
            {
                name: 'bar',
                type: 'bar',
                barWidth: 10,
                itemStyle: {
                    borderRadius: 5,
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                        { offset: 0, color: '#14c8d4' },
                        { offset: 1, color: '#43eec6' }
                    ])
                },
                data: barData
            },
            {
                name: 'line',
                type: 'bar',
                barGap: '-100%',
                barWidth: 10,
                itemStyle: {
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                        { offset: 0, color: 'rgba(20,200,212,0.5)' },
                        { offset: 0.2, color: 'rgba(20,200,212,0.2)' },
                        { offset: 1, color: 'rgba(20,200,212,0)' }
                    ])
                },
                z: -12,
                data: lineData
            },
            {
                name: 'dotted',
                type: 'pictorialBar',
                symbol: 'rect',
                itemStyle: {
                    color: '#0f375f'
                },
                symbolRepeat: true,
                symbolSize: [12, 4],
                symbolMargin: 1,
                z: -10,
                data: lineData
            }
        ]
    };

    option && myChart.setOption(option);

</script>
</body>

验证页面:运行项目,浏览器访问http://localhost:8081/histogram.html

平均支付时间统计

后端

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
public class Big3Controller {

    private final JdbcTemplate jdbcTemplate;

    @Autowired
    public Big3Controller(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    @GetMapping("/chart-data3")
    public Map<String, Object> getChartData() {
        String query = "SELECT dt, payment_avg_time FROM ads_payment_daycount";
        List<Map<String, Object>> result = jdbcTemplate.queryForList(query);

        List<String> labels = new ArrayList<>();
        List<Integer> values = new ArrayList<>();

        for (Map<String, Object> row : result) {
            String dt = row.get("dt").toString();
            Integer paymentAvgTime = ((Number) row.get("payment_avg_time")).intValue();

            labels.add(dt);
            values.add(paymentAvgTime);
        }

        Map<String, Object> data = new HashMap<>();
        data.put("labels", labels);
        data.put("values", values);

        return data;
    }
}

 验证接口:运行项目,浏览器访问http://localhost:8081/chart-data3

前端

<!DOCTYPE html>
<html>
<head>
  <title>平均支付时间统计</title>
  <meta charset="UTF-8">
  <script src="https://cdn.jsdelivr.net/npm/echarts@5.2.2/dist/echarts.min.js"></script>
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  <style>
    html, body {
      height: 100%;
      margin: 0;
      padding: 0;
    }
    #chart {
      width: 100%;
      height: 100%;
      min-height: 300px; /* 设置最小高度,防止内容过小时显示异常 */
    }
  </style>
</head>
<body>
<div id="chart"></div>
<script type="text/javascript">
  var chart = echarts.init(document.getElementById('chart'));

  // 监听窗口大小变化事件
  window.addEventListener('resize', function() {
    chart.resize(); // 调整图表大小
  });

  // 使用Ajax异步获取数据
  $.ajax({
    url: '/chart-data3',
    type: 'GET',
    dataType: 'json',
    success: function(data) {
      var option = {
        title: {
          text: '平均支付时间统计',
          textStyle: {
            textAlign: 'center'
          }
        },
        tooltip: {},
        angleAxis: {},
        radiusAxis: {
          type: 'category',
          data: data.labels
        },
        polar: {},
        series: [{
          name: 'Avg Time',
          type: 'bar',
          data: data.values,
          coordinateSystem: 'polar',
          itemStyle: {
            color: function(params) {
              // 设置背景颜色
              var colorList = ['#C1232B', '#B5C334', '#FCCE10', '#E87C25', '#27727B', '#FE8463', '#9BCA63', '#FAD860', '#F3A43B', '#60C0DD'];
              return colorList[params.dataIndex % colorList.length];
            }
          }
        }]
      };
      chart.setOption(option);
    }
  });
</script>
</body>
</html>

 验证页面:运行项目,浏览器访问​​​​​​​http://localhost:8081/big3.html

订单金额统计

后端

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
public class Big4Controller {

    private final JdbcTemplate jdbcTemplate;

    @Autowired
    public Big4Controller(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    @GetMapping("/chart-data4")
    public Map<String, Object> getChartData() {
        String query = "SELECT dt, order_amount FROM ads_payment_daycount";
        List<Map<String, Object>> result = jdbcTemplate.queryForList(query);

        List<String> labels = new ArrayList<>();
        List<Integer> values = new ArrayList<>();

        for (Map<String, Object> row : result) {
            String dt = row.get("dt").toString();
            Integer orderAmount = ((Number) row.get("order_amount")).intValue();

            labels.add(dt);
            values.add(orderAmount);
        }

        Map<String, Object> data = new HashMap<>();
        data.put("labels", labels);
        data.put("values", values);

        return data;
    }
}

 验证接口:运行项目,浏览器访问​​​​​​​​​​​​​​http://localhost:8081/chart-data4

前端

<!DOCTYPE html>
<html>
<head>
  <title>订单金额统计</title>
  <meta charset="UTF-8">
  <script src="https://cdn.jsdelivr.net/npm/echarts@5.2.2/dist/echarts.min.js"></script>
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  <style>
    html, body {
      height: 100%;
      margin: 0;
      padding: 0;
    }
    #chart {
      width: 100%;
      height: 100%;
      min-height: 300px;
    }
  </style>
</head>
<body>
<div id="chart"></div>
<script type="text/javascript">
  var chart = echarts.init(document.getElementById('chart'));

  // 监听窗口大小变化事件
  window.addEventListener('resize', function() {
    chart.resize(); // 调整图表大小
  });

  // 使用Ajax异步获取数据
  $.ajax({
    url: '/chart-data4',
    type: 'GET',
    dataType: 'json',
    success: function(data) {
      var option = {
        title: {
          text: '订单金额统计',
          textStyle: {
            textAlign: 'center'
          }
        },
        tooltip: {
          trigger: 'item',
          formatter: '{b}: {c} ({d}%)'
        },
        series: [{
          name: '订单金额',
          type: 'pie',
          radius: '50%',
          data: data.values.map(function(value, index) {
            return {
              name: data.labels[index],
              value: value
            };
          })
        }]
      };
      chart.setOption(option);
    }
  });
</script>
</body>
</html>

验证页面:运行项目,浏览器访问​​​​​​​http://localhost:8081/big4.html

旭日图

前端

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>旭日图</title>
  <!-- 引入 echarts.js 和 jQuery(CDN引用) -->
  <script src="https://cdn.jsdelivr.net/npm/echarts@5.2.2/dist/echarts.min.js"></script>
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  <style>
    html, body {
      height: 100%;
      margin: 0;
      padding: 0;
    }
    #main {
      width: 100%;
      height: 100%;
      min-height: 300px; /* 设置最小高度,防止内容过小时显示异常 */
    }
  </style>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main"></div>
<script type="text/javascript">

  var chartDom = document.getElementById('main');
  var myChart = echarts.init(chartDom);
  var option;

  option = {
    title: {
      text: '旭日图',
      textStyle: {
        textAlign: 'center'
      }
    },
    silent: true,
    series: [
      {
        radius: ['15%', '80%'],
        type: 'sunburst',
        sort: undefined,
        emphasis: {
          focus: 'ancestor'
        },
        data: [
          {
            value: 8,
            children: [
              {
                value: 4,
                children: [
                  {
                    value: 2
                  },
                  {
                    value: 1
                  },
                  {
                    value: 1
                  },
                  {
                    value: 0.5
                  }
                ]
              },
              {
                value: 2
              }
            ]
          },
          {
            value: 4,
            children: [
              {
                children: [
                  {
                    value: 2
                  }
                ]
              }
            ]
          },
          {
            value: 4,
            children: [
              {
                children: [
                  {
                    value: 2
                  }
                ]
              }
            ]
          },
          {
            value: 3,
            children: [
              {
                children: [
                  {
                    value: 1
                  }
                ]
              }
            ]
          }
        ],
        label: {
          color: '#000',
          textBorderColor: '#fff',
          textBorderWidth: 2,
          formatter: function (param) {
            var depth = param.treePathInfo.length;
            if (depth === 2) {
              return 'radial';
            } else if (depth === 3) {
              return 'tangential';
            } else if (depth === 4) {
              return '0';
            }
            return '';
          }
        },
        levels: [
          {},
          {
            itemStyle: {
              color: '#CD4949'
            },
            label: {
              rotate: 'radial'
            }
          },
          {
            itemStyle: {
              color: '#F47251'
            },
            label: {
              rotate: 'tangential'
            }
          },
          {
            itemStyle: {
              color: '#FFC75F'
            },
            label: {
              rotate: 0
            }
          }
        ]
      }
    ]
  };

  option && myChart.setOption(option);

</script>
</body>
</html>

五、大屏编写

前端

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>大屏可视化6</title>
    <style>
        /* CSS样式 */
        body, html {
            height: 100%;
            margin: 0;
            padding: 0;
            background-color: cornflowerblue;
        }
        #header {
            width: 100%;
            height: 8%;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: cyan;
            font-size: 24px;
            font-weight: bold;
        }
        #content {
            width: 100%;
            height: 90%;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-around;
            align-items: center;
        }
        .chart-container {
            width: 32%;
            height: 48%;
            background-color: aquamarine;
            margin-bottom: 20px;
            box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
        }
    </style>
</head>
<body>
    <div id="header">电商数据情况大屏</div>

    <div id="content">
        <div class="chart-container" id="chart1">
            <iframe src="negative.html" style="width: 100%; height: 100%; border: none;"></iframe>
        </div>
        <div class="chart-container" id="chart2">
            <iframe src="big2.html" style="width: 100%; height: 100%; border: none;"></iframe>
        </div>
        <div class="chart-container" id="chart3">
            <iframe src="histogram.html" style="width: 100%; height: 100%; border: none;"></iframe>
        </div>
        <div class="chart-container" id="chart4">
            <iframe src="big3.html" style="width: 100%; height: 100%; border: none;"></iframe>
        </div>
        <div class="chart-container" id="chart5">
            <iframe src="big4.html" style="width: 100%; height: 100%; border: none;"></iframe>
        </div>
        <div class="chart-container" id="chart6">
            <iframe src="yun.html" style="width: 100%; height: 100%; border: none;"></iframe>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/d3@7.0.0/dist/d3.min.js"></script>
    <script>
    </script>
</body>
</html>

运行项目,浏览器访问​​​​​​​http://localhost:8081/yun.html

注:http://localhost:8080/加上HTML的文件名都能够查看相应的图!

要码源的私聊/评论留下邮箱号,压缩包包括项目源码、数据sql文件,readme.txt。

声明:作品仅可作学习使用​​​​​​​。

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

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

相关文章

数据结构--队列的链表实现

数据结构–队列的链表实现 队列的链表实现代码定义 typedef struct LinkNode {ElemType data;struct LinkNode* next; }LinkNode;typedef struct {LinkNode *front, *rear; }LinkQueue;带头结点 初始化 void InitQueue(LinkQueue &Q) {Q.front Q.rear (LinkNode*)malloc…

python进行windows系统UI自动化之【pyautoit】

python进行windows系统UI自动化之【pyautoit】 一、AutoIT中文手册1.1、安装AutoIt1.2、使用Auto Window Info 二、python引用2.1、安装2.2、引用2.3、使用2.3.1、窗口操作2.3.2、控件操作2.3.3、进程操作2.3.4、鼠标操作2.3.5、键盘操作2.3.5.1、Send 是非常有用的一个函数/命…

Segment Any Medical-Model (SAMM)在3D slicer上部署

参考&#xff1a; GitHub - bingogome/samm: A 3D Slicer integration to Metas SAM. https://www.cnblogs.com/odesey/p/17322413.html 一、下载代码仓库和权重文件 https://github.com/facebookresearch/segment-anything.git https://github.com/bingogome/samm.git htt…

举例说明Chatgpt模型训练的过程

Chatbot GPT模型训练过程详解 在人工智能领域&#xff0c;聊天机器人是一种模拟人类对话行为的计算机程序。近年来&#xff0c;随着深度学习和自然语言处理技术的飞速发展&#xff0c;聊天机器人越来越流行。本文将详细阐述GPT&#xff08;Generative Pre-trained Transformer&…

软考A计划-系统集成项目管理工程师-项目整体管理-上

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

chatgpt赋能python:如何将Python改成中文

如何将Python改成中文 Python是一种广泛使用的编程语言&#xff0c;但默认情况下是英文界面。对于非英语母语国家的程序员来说&#xff0c;使用Python的过程中可能会遇到许多不方便之处&#xff0c;因此将Python改成中文是很有必要的。本文将介绍如何将Python改成中文&#xf…

Loadrunner进行http接口压力测试

使用Loadrunner进行http接口压力测试 业务描述&#xff1a; 在业务系统里进行查询操作&#xff0c;查询的结果是通过请求http接口,从系统中处理并将结果以json字符串返回。 使用Loadrunner对此类接口进行压力测试并记录相关的性能指标数据: 一.安装Loadrunner 本次测试过程…

excel数据的编排与整理——表格结构的整理(三)

excel数据的编排与整理——表格结构的整理(三) 1 提取不重复的数据 1.1 题目内容 1.2 在D2单元格输入公式并回车 1.3 填充数据到末尾 1.4 填充后的效果 1.5 点击筛选 1.6 筛选出D列为1的数据 1.7 筛选后的效果 1.8 把A列显示数据复制到C列(复制出来可能只显示第一个) 1.9 再次…

Angular实现一个简单的带tabs选项卡切换的首页导航功能

Angular版本&#xff1a;16.1.1 项目结构&#xff1a; angular.json配置&#xff1a; {"$schema": "./node_modules/angular/cli/lib/config/schema.json","version": 1,"newProjectRoot": "projects","projects"…

自定义双亲委派-JVM(三)

上篇文章说了java类加载源码&#xff0c;双亲委派的加载。 JVM类加载&双亲委派-JVM&#xff08;二&#xff09; 自定义类加载器 全盘负责委托机制 “全盘委托”指当一个classLoader装载一个类时&#xff0c;除非显示的使用另外一个classLoader加载&#xff0c;否则该类…

如何使用命令提示符重新启动Windows 资源管理器?

电脑资源管理器出现问题&#xff0c;导致电脑黑屏&#xff0c;如何使用命令提示符重新启动Windows 资源管理器呢&#xff1f;出现这个问题的时候&#xff0c;不要慌&#xff0c;按照下面的操作步骤&#xff0c;大概率是可以复原的&#xff0c;当然你觉得这样比较麻烦&#xff0…

C语言offsetof宏的使用与模拟实现

⭐️ 往期文章 ✨链接1&#xff1a;C语言文件打开关闭详解、文件顺序读写详解。 ✨链接2&#xff1a;C语言文件随机读写详解(fseek、ftell、rewind)。 ✨链接3&#xff1a;C语言scanf/fscanf/sscnaf和printf/fprintf/sprintf的区别。 ✨链接4&#xff1a;C语言打开文件一次既可…

论文不详细解读(二)——SimCLR系列

1. SimCLR v1 论文名称&#xff1a; A Simple Framework for Contrastive Learning of Visual Representations 开源地址&#xff1a;https://github.com/google-research/simclr 大佬论文解读&#xff1a;https://zhuanlan.zhihu.com/p/378953015 highlight&#xff1a;更多…

机器学习10:正则化-Regularization

目录 1.什么是正则化&#xff1f; 2.简化正则化&#xff1a;Lambda 3.两个练习 3.1 问题一 3.2 问题二 4.参考文献 1.什么是正则化&#xff1f; 考虑以下泛化曲线&#xff0c;它显示了训练集和验证集相对于训练迭代次数的损失。 图 1. 训练集和验证集的损失 图 1 显示了…

Docker数据卷与容器的挂载

什么是Docker数据卷: 数据卷&#xff08;Volumes&#xff09;是宿主机中的一个目录或文件&#xff0c;当容器目录和数据卷目录绑定后&#xff0c;对方的修改会立即同步。一个数据卷可以被多个容器同时挂载&#xff0c;一个容器也可以被挂载多个数据卷。简单来说数据卷本质其实是…

面试之谈谈你对SpringMVC的理解:

1.把传统的MVC架构里面的Controller控制器进行了拆分。分成了前端控制器的DispatcherServlteth和后端控制器的Controoler. 2.吧Model模型拆分成了业务层Service和数据访问层Repository 3.在试图层&#xff0c;可以支持不同的试图&#xff0c;比图Freemakr,volocity,JSP等等。 所…

【多维Dij+DP】牛客小白月赛75 D

D-矩阵_牛客小白月赛75 (nowcoder.com) 题意&#xff1a; 思路&#xff1a; 首先&#xff0c;对于这种类似于多维BFS的东西&#xff0c;我们一定需要判断是否必要加上新的一维&#xff0c;即我们需要判断新的一维对决策有没有影响 在这道题中&#xff0c;如果把某一个位置取…

MySql脚本 asc 排序字段空值条目靠后的写法

场景&#xff1a; mysql中如果使用正序 asc 排序&#xff0c;那么默认是把排序字段值为空的条目数据&#xff0c;优先排到前面&#xff0c;这明显不符合需求&#xff0c;解决如下 一、重现问题 -- 按排序号-正序 select shop_id,sort_num,update_time from t_shop_trend_conte…

详解c++---哈希闭散列

目录标题 一道题了解哈希哈希的实现原理方法一方法二 准备工作insertfind函数erase函数检测代码 一道题了解哈希 点击此处来尝试做这道题 首先题目告诉我们这个字符串中只含有小写的英文字母而小写的英文字母只有26个&#xff0c;所以我们可以创建一个大小为26的字符数组用来记…

【python爬虫应用03】csdn个人所有文章质量分查询

&#x1f6e0;️ 环境准备 在开始编写代码之前&#xff0c;我们需要进行一些环境准备。以下是所需的环境和库&#xff1a; 操作系统&#xff1a;Windows编程语言&#xff1a;Python 3编辑器&#xff1a;VSCode&#xff08;可选&#xff09; 安装所需的库&#xff1a; reque…