如何制作一张动态壁纸? ------居然也和编程有关,简单总结一下下,因为我也很好奇哈哈(含实战代码和效果演示)

相关语言:    html ,css,JavaScript,c#

c#的开发难度高,本文以前端三剑客为例。

理论基础

制作一款类似于Wallpaper Engine上的动态壁纸是一个有趣的项目,它涉及到一些基本的编程知识以及图形设计技能。下面是一个简要的指南,制作第一张自己的动态壁纸:

准备工具和环境

  1. 安装Wallpaper Engine:首先确保你已经在Steam上购买并安装了Wallpaper Engine。
  2. 开发环境:Wallpaper Engine支持多种开发工具,但最常用的是Visual Studio Code或Visual Studio。
  3. 必要的软件库:你可能需要安装Node.js(如果使用JavaScript)、C#开发环境等。这个目前可以不管,我们做简单的实现,有VSCode就行。

基本步骤

  1. 创建壁纸工程:打开Wallpaper Engine,点击“创意工坊”选项卡,然后选择“创建壁纸”,这将引导你创建一个新的壁纸项目。
  2. 选择开发语言:Wallpaper Engine支持多种语言,但主要使用的是C#和HTML/CSS/JavaScript。对于初学者来说,HTML/CSS/JavaScript可能更容易入手。
  3. 设计壁纸:根据你的想法设计壁纸。你可以使用静态图片作为背景,添加动画效果,甚至可以加入交互功能。
    • 对于HTML/CSS/JavaScript壁纸,您可以使用HTML来构建结构,CSS来设计样式,JavaScript来增加动态效果。
    • 如果您选择C#,那么您需要编写代码来处理渲染逻辑,可以利用Unity等游戏引擎来帮助创建更复杂的3D动画效果。

示例:HTML/CSS/JavaScript壁纸

以下是一个简单的HTML/CSS/JavaScript壁纸示例,它展示了一个旋转的太阳图标。

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8">
5    <title>Simple Rotating Sun</title>
6    <style>
7        body, html {
8            margin: 0;
9            padding: 0;
10            width: 100%;
11            height: 100%;
12            overflow: hidden;
13        }
14        .sun {
15            position: absolute;
16            top: 50%;
17            left: 50%;
18            transform: translate(-50%, -50%);
19            width: 200px;
20            height: 200px;
21            background-image: url('path/to/sun.png');
22            background-size: cover;
23            animation: rotate 5s linear infinite;
24        }
25        @keyframes rotate {
26            from { transform: translate(-50%, -50%) rotate(0deg); }
27            to { transform: translate(-50%, -50%) rotate(360deg); }
28        }
29    </style>
30</head>
31<body>
32    <div class="sun"></div>
33</body>
34</html>

导入壁纸

  1. 将上述代码保存为一个.html文件。
  2. 在Wallpaper Engine中选择“导入壁纸”,然后选择你的HTML文件。
  3. 调整设置,确保壁纸正确加载。


 实战开始(代码+效果)

代码编写

先创个文件夹放文件,再创建一个html文件

打开VScode, 开始代码编写

在Wallpaper中打开壁纸 

不需要连上steam,离线状态可以

页面底部,打开离线壁纸

选择编写好的文件打开

出了点问题,壁纸一片黑。

查找问题

源代码中的图片路径应该只是个样板。

需要我们自己下载图片,并填写路径

图片下载,随便找一个就行了

根目录下创建一个文件夹,存放图片

 

修改代码中的图片路径

注意事项

image.png 存在于名为 image 的子目录中,而 sun.html 在根目录中。在这种情况下,我们需要更新 sun.html 中的 CSS 背景图片路径以指向正确的文件位置。

         请注意,我们更新了 background-image 属性的值,使其成为相对路径 ./image/image.png。这表示从当前 HTML 文件所在的目录开始查找 image 目录下的 image.png 文件。

成功显示

测试成功率。但是传不了视频,我就发几张图片吧。


进阶技巧

需要改进的点

1.添加背景图片

很简单,所以已经实现了,代码如下

效果如下

2.去掉太阳的黑色背景

要移除太阳的黑色背景并将太阳显示完整,你需要调整太阳图片的透明度。这里是一个简单的示例,展示了如何使用 CSS 来实现这一目标:

  1. 将太阳图片转换为 SVG 格式,这将使我们更容易控制它的样式。
  2. 使用 CSS 来改变太阳的颜色和透明度。

首先,我们将太阳图片转换为 SVG 格式。这是一个简单的太阳形状的 SVG 代码:

1<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 90 90">
2    <circle cx="45" cy="45" r="30" fill="#FFD700"/>
3    <path d="M45,15 L75,45 M45,15 L75,75 M45,75 L75,45 M15,45 L45,75 M15,45 L45,15 M15,75 L45,45" stroke="#FFD700" stroke-width="10" fill="none"/>
4</svg>

接下来,我们将这个 SVG 代码嵌入到 HTML 中,并应用一些 CSS 样式使其适应屏幕大小和位置:

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8">
5    <title>Rotating Sun over Beach</title>
6    <style>
7        body, html {
8            margin: 0;
9            padding: 0;
10            width: 100%;
11            height: 100%;
12            overflow: hidden;
13        }
14
15        body {
16            background-image: url('beach.jpg');
17            background-size: cover;
18            background-position: center;
19        }
20
21        svg.sun {
22            position: absolute;
23            top: 50%;
24            left: 50%;
25            transform: translate(-50%, -50%);
26            width: 200px;
27            height: auto;
28            animation: rotate 5s linear infinite;
29        }
30
31        @keyframes rotate {
32            from { transform: translate(-50%, -50%) rotate(0deg); }
33            to { transform: translate(-50%, -50%) rotate(360deg); }
34        }
35    </style>
36</head>
37<body>
38    <svg class="sun" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 90 90">
39        <circle cx="45" cy="45" r="30" fill="#FFD700"/>
40        <path d="M45,15 L75,45 M45,15 L75,75 M45,75 L75,45 M15,45 L45,75 M15,45 L45,15 M15,75 L45,45" stroke="#FFD700" stroke-width="10" fill="none"/>
41    </svg>
42</body>
43</html>

        注意,这里的 viewBox 属性值为 0 0 90 90,表示太阳的原始尺寸为 90x90 像素。你可以根据需要调整这个值来改变太阳的大小。同时,widthheight 属性用于调整太阳在屏幕上显示的大小。

        将上述 SVG 代码替换掉原来的 <img> 标签,并将 background.jpg 替换为你的海滩图片。确保图片文件名与路径匹配。

        现在,应该可以看到一个旋转的太阳,它会随着背景图片一起旋转。如果你希望太阳更大或更小,只需更改 width 属性的值即可。

3.添加点击事件 点击太阳,太阳变大

我们可以在现有的代码基础上添加点击事件,使得点击太阳时太阳会变大。以下是修改后的代码:

HTML 文件 (index.html)

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8">
5    <title>Rotating Sun over Beach</title>
6    <style>
7        body, html {
8            margin: 0;
9            padding: 0;
10            width: 100%;
11            height: 100%;
12            overflow: hidden;
13        }
14
15        body {
16            background-image: url('./image/sea.jpg');
17            background-size: cover;
18            background-position: center;
19        }
20
21        svg.sun {
22            position: absolute;
23            top: 50%;
24            left: 50%;
25            transform: translate(-50%, -50%);
26            width: 200px;
27            height: auto;
28            animation: rotate 5s linear infinite;
29            transition: all 0.5s ease; /* 添加过渡效果 */
30        }
31
32        .large {
33            width: 300px;
34            height: auto;
35        }
36
37        @keyframes rotate {
38            from { transform: translate(-50%, -50%) rotate(0deg); }
39            to { transform: translate(-50%, -50%) rotate(360deg); }
40        }
41    </style>
42    <script>
43        document.addEventListener("DOMContentLoaded", function() {
44            const sun = document.querySelector('.sun');
45
46            let isLarge = false;
47
48            sun.addEventListener('click', function() {
49                if (!isLarge) {
50                    sun.classList.add('large');
51                    isLarge = true;
52                } else {
53                    sun.classList.remove('large');
54                    isLarge = false;
55                }
56            });
57        });
58    </script>
59</head>
60<body>
61    <svg class="sun" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 90 90">
62        <circle cx="45" cy="45" r="30" fill="#FFD700"/>
63        <path d="M45,15 L75,45 M45,15 L75,75 M45,75 L75,45 M15,45 L45,75 M15,45 L45,15 M15,75 L45,45" stroke="#FFD700" stroke-width="10" fill="none"/>
64    </svg>
65</body>
66</html>

解释

  1. CSS 文件

    • 添加了 transition: all 0.5s ease; 属性以使大小变化更加平滑。
    • 新增了 .large 类以控制太阳变大的样式。
  2. JavaScript

    • 在文档加载完成后,为太阳元素添加点击事件监听器。
    • 点击事件处理函数会根据太阳的状态切换 .large 类,从而改变太阳的大小。

首次点击测试失败,修正代码及原因如下

如果点击没有反应,可能是由于 SVG 元素本身没有捕获点击事件。为了确保点击事件能够正常工作,我们可以稍微调整一下代码,确保点击事件能够正确绑定并生效。

以下是更新后的代码:

HTML 文件 (index.html)

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8">
5    <title>Rotating Sun over Beach</title>
6    <style>
7        body, html {
8            margin: 0;
9            padding: 0;
10            width: 100%;
11            height: 100%;
12            overflow: hidden;
13        }
14
15        body {
16            background-image: url('./image/sea.jpg');
17            background-size: cover;
18            background-position: center;
19        }
20
21        .sun {
22            position: absolute;
23            top: 50%;
24            left: 50%;
25            transform: translate(-50%, -50%);
26            width: 200px;
27            height: 200px;
28            animation: rotate 5s linear infinite;
29            transition: all 0.5s ease; /* 添加过渡效果 */
30        }
31
32        .large {
33            width: 300px;
34            height: 300px;
35        }
36
37        @keyframes rotate {
38            from { transform: translate(-50%, -50%) rotate(0deg); }
39            to { transform: translate(-50%, -50%) rotate(360deg); }
40        }
41    </style>
42    <script>
43        document.addEventListener("DOMContentLoaded", function() {
44            const sun = document.querySelector('.sun');
45
46            let isLarge = false;
47
48            sun.addEventListener('click', function() {
49                if (!isLarge) {
50                    sun.classList.add('large');
51                    isLarge = true;
52                } else {
53                    sun.classList.remove('large');
54                    isLarge = false;
55                }
56            });
57        });
58    </script>
59</head>
60<body>
61    <div class="sun">
62        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 90 90">
63            <circle cx="45" cy="45" r="30" fill="#FFD700"/>
64            <path d="M45,15 L75,45 M45,15 L75,75 M45,75 L75,45 M15,45 L45,75 M15,45 L45,15 M15,75 L45,45" stroke="#FFD700" stroke-width="10" fill="none"/>
65        </svg>
66    </div>
67</body>
68</html>

解释

  1. CSS 文件

    • 保持不变,用于控制太阳的样式和动画。
  2. JavaScript

    • 保持不变,用于处理点击事件。
  3. HTML 文件

    • 将 <svg> 放在一个具有 .sun 类的 <div> 中,这样可以确保点击事件能够绑定到整个太阳区域,而不仅仅是 SVG 内部的部分元素。


进阶实战开始 (代码+效果)

代码如下

去太阳黑白黑边代码

点击效果 代码

效果

去黑边效果如下

点击效果如下

高级效果案例(拓展篇)

问题:长发飘动效果

比如说,我的静态图片背景是一个长发女人,我想使她的头发飘起来,需要怎么实现这个效果

实现方案

要实现一个长发女性的静态图片背景中的头发飘动效果,可以采用不同的方法。

以下是几种常见的技术方案:

1. 使用CSS动画

如果你的目标是实现一个简单的、不需要太过真实的头发飘动效果,可以使用CSS的关键帧动画来模拟。这种方法相对简单,但可能无法达到非常自然的效果。

2. 使用SVG动画

如果头发的设计比较简单,可以尝试将头发部分转换成SVG格式,并且为每根头发或者头发组设置动画。这种方法可以提供较好的控制,但工作量较大,特别是对于复杂的设计。

3. 使用HTML5 Canvas 或 WebGL

对于更加真实的效果,可以使用HTML5的Canvas API或者WebGL技术来绘制头发,并且使用JavaScript来模拟风力或其他物理效应,使得头发能够自然地飘动。这种方法提供了最大的灵活性和最真实的视觉效果,但也要求较高的编程技巧。

4. 使用视频或GIF

另一种简便的方法是直接使用一段视频或GIF动画作为背景,其中包含了头发飘动的预录制动画。这种方法虽然简单有效,但是可能会增加网页的加载时间和资源消耗。

5. 使用Web动画库

为了简化动画制作流程,可以利用现有的Web动画库,如Popmotion、Anime.js等,这些库提供了高级动画功能,可以更容易地实现复杂的动画效果。

示例:使用HTML5 Canvas实现头发飘动

下面是一个使用HTML5 Canvas来简单模拟头发飘动的例子。我们将使用JavaScript来创建一些线条并应用简单的动画来模仿头发的飘动。

HTML 文件
1<!DOCTYPE html>
2<html lang="zh-CN">
3<head>
4    <meta charset="UTF-8">
5    <title>头发飘动效果示例</title>
6</head>
7<body>
8    <canvas id="canvas"></canvas>
9    <script src="script.js"></script>
10</body>
11</html>
JavaScript 文件 
1const canvas = document.getElementById('canvas');
2const ctx = canvas.getContext('2d');
3
4// 设置画布大小
5canvas.width = window.innerWidth;
6canvas.height = window.innerHeight;
7
8// 创建头发线条
9const strands = [];
10for (let i = 0; i < 50; i++) {
11    strands.push({
12        x: Math.random() * canvas.width,
13        y: canvas.height,
14        length: Math.random() * 100 + 100,
15        wind: Math.random() * 10 - 5 // 风力影响
16    });
17}
18
19function draw() {
20    // 清除画布
21    ctx.clearRect(0, 0, canvas.width, canvas.height);
22
23    // 绘制头发线条
24    strands.forEach(strand => {
25        ctx.beginPath();
26        ctx.moveTo(strand.x, strand.y);
27        ctx.lineTo(strand.x + strand.wind, strand.y - strand.length);
28        ctx.strokeStyle = 'brown';
29        ctx.lineWidth = 2;
30        ctx.stroke();
31
32        // 更新线条位置
33        strand.y -= 2;
34        if (strand.y < 0) {
35            strand.y = canvas.height;
36        }
37    });
38
39    // 请求下一帧
40    requestAnimationFrame(draw);
41}
42
43// 开始动画
44draw();

        请注意,这个示例非常基础,仅用于演示目的。实际应用中,你可能需要调整参数,增加更多细节,甚至引入物理引擎来更好地模拟现实世界的行为。如果您对这个主题感兴趣,建议进一步研究相关的图形学和动画技术。


如何查看壁纸源码

查看你下载的动态壁纸的源码取决于壁纸是由什么技术创建的。通常情况下,Wallpaper Engine 中的动态壁纸可能是用 C# 编写的(如果是使用 C# 开发的),也可能是用 HTML、CSS 和 JavaScript 编写的(如果是使用 Web 技术开发的)。下面是查看这些源码的方法:

查看 C# 源码

如果你下载的动态壁纸是用 C# 编写的,并且作者将其发布为开源或共享了源码,你可以按照以下步骤查看:

  1. 查找源码:如果作者发布了源码,通常会在 Wallpaper Engine 的创意工坊页面上有链接指向 GitHub 或其他代码托管平台。
  2. 下载源码:如果找到了源码链接,你可以下载并查看。

如果壁纸没有公开源码,那么通常情况下你无法直接查看 C# 源码,因为编译后的程序是二进制文件,除非你有反编译工具并且了解如何使用,但这可能违反版权法和使用条款。

查看 Web 技术源码

如果你下载的动态壁纸是用 HTML、CSS 和 JavaScript 编写的,那么你可以相对容易地查看源码:

  1. 找到壁纸文件夹:在 Wallpaper Engine 的安装目录下,通常会有一个 Wallpapers 文件夹,里面存放着你下载的所有壁纸。
  2. 定位壁纸:找到你想查看源码的壁纸文件夹。壁纸通常是以 .wpp 或者 .zip 文件的形式存储的,你可以解压缩这个文件。
  3. 查看源码:解压后的文件夹内应该包含 .html, .css, .js 文件,以及任何所需的图片资源。你可以使用文本编辑器(如 Notepad++ 或 Visual Studio Code)打开这些文件查看源码。

使用开发者工具查看

如果你在 Wallpaper Engine 中直接运行壁纸,并且壁纸是在一个浏览器窗口中显示的,那么你可以使用浏览器的开发者工具来查看源码:

  1. 打开壁纸:确保壁纸正在 Wallpaper Engine 中运行,并且壁纸是在一个浏览器窗口中显示的。
  2. 打开开发者工具:在壁纸的浏览器窗口中按下 F12 键,或者右键点击页面选择“检查”来打开开发者工具。
  3. 查看源码:在开发者工具中,你可以查看 Elements 面板来查看 HTML 结构,Sources 面板来查看 CSS 和 JavaScript 文件。

注意事项

  • 版权问题:查看和使用他人发布的源码时,请确保遵守版权法和使用条款。未经许可修改或分发他人的作品是违法的。
  • 安全风险:解压和查看未知来源的文件可能存在安全风险,请确保文件来自可信来源,并且使用防病毒软件扫描文件。


Wallpaper Engine 创作相关

对于 Wallpaper Engine 的创作者来说,激励和收入来源主要来自于以下几个方面:

  1. Wallpaper Engine 商店销售

    • 内置商店销售:创作者可以通过 Wallpaper Engine 的内置商店发布自己的壁纸作品,并设置付费下载。用户可以直接在 Wallpaper Engine 应用内部购买这些壁纸。
    • 分成模式:创作者可以从壁纸销售中获得一定比例的收益。具体分成比例可能会根据平台政策有所不同。
  2. Steam Workshop

    • 社区支持:创作者还可以通过 Steam Workshop 发布免费或付费的壁纸。Steam Workshop 提供了一个平台,让创作者可以与社区互动,并从用户的支持中获得收益。
    • 分成机制:通过 Steam Workshop 发布付费壁纸的创作者可以获得一定的收入分成。用户可以为喜欢的作品支付费用,创作者则从中获得收益。
  3. 捐赠和支持

    • Patreon 和其他众筹平台:一些创作者选择在 Patreon 或类似平台上建立个人页面,接受粉丝的定期捐赠和支持。
    • PayPal 捐赠:创作者也可以通过 PayPal 接受一次性捐赠,鼓励粉丝直接支持他们的创作活动。
  4. 社交媒体和广告

    • 社交媒体推广:创作者可以通过 YouTube、Twitch、Twitter 等社交媒体平台展示他们的作品,并吸引粉丝关注。
    • 广告收益:如果创作者在这些平台上拥有大量追随者,他们还可以通过广告合作获得收益。
  5. 直接销售

    • 个人网站:一些创作者可能会建立自己的个人网站,直接出售他们的壁纸作品。
    • 第三方市场:除了 Wallpaper Engine 和 Steam Workshop,创作者还可以在其他第三方市场上架自己的作品。
  6. 赞助和合作伙伴关系

    • 品牌合作:创作者可能会与品牌合作,制作特定主题的壁纸,并从中获得报酬。
    • 赞助商支持:有些创作者会吸引赞助商支持他们的创作活动,这些赞助商可能会提供资金支持或者其他形式的合作。

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

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

相关文章

C++_类和对象(中、下篇)—— const成员函数、取地址运算符的重载、深入构造函数、类型转换、static成员、友元

目录 三、类和对象&#xff08;中&#xff09; 6、取地址运算符重载 1、const成员函数 2、取地址运算符的重载 四、类和对象&#xff08;下&#xff09; 1、深入构造函数 2、类型转换 3、static成员 4、友元 三、类和对象&#xff08;中&#xff09; 6、取地址运算…

削峰+限流:秒杀场景下的高并发写请求解决方案

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! 哈喽,大家好!我是小米,一个29岁、活泼积极、热衷分享技术的码农。今天和大家聊一聊应对高并发的写请求这个主题,尤其是在大促、秒杀这种场景下,系统…

南京信息工程大学《2020年+2021年817自动控制原理真题》 (完整版)

本文内容&#xff0c;全部选自自动化考研联盟的&#xff1a;《25届南京信息工程大学817自控考研资料》的真题篇。后续会持续更新更多学校&#xff0c;更多年份的真题&#xff0c;记得关注哦~ 目录 2020年真题 2021年真题 Part1&#xff1a;20202021年完整版真题 2020年真题…

Unity3D下如何播放RTSP流?

技术背景 在Unity3D中直接播放RTSP&#xff08;Real Time Streaming Protocol&#xff09;流并不直接支持&#xff0c;因为Unity的内置多媒体组件&#xff08;如AudioSource和VideoPlayer&#xff09;主要设计用于处理本地文件或HTTP流&#xff0c;而不直接支持RTSP。所以&…

并查集的应用

目录 1.并查集的代码 2.union操作 3.find操作 4.图 写代码&#xff1a;定义一个并查集&#xff08;用长度为n的数组实现&#xff09; 基于上述定义&#xff0c;实现并查集的基本操作—— 并 Union 基于上述定义&#xff0c;实现并查集的基本操作—— 查 Find 自己设计一…

欧美游戏市场的差异

欧洲和美国的游戏市场虽然高度发达且利润丰厚&#xff0c;但表现出由文化偏好、消费者行为、监管环境和平台受欢迎程度塑造的独特特征。这些差异对于寻求为每个地区量身定制策略的游戏开发商和发行商来说非常重要。 文化偏好和游戏类型 美国&#xff1a;美国游戏市场倾向于青…

Java基础尚硅谷84-面向对象-package与import关键字的使用

曾国藩说&#xff0c;基础不牢&#xff0c;很难走得远。 所以时时回顾一下Java基础&#xff0c;打好地基&#xff0c;让自己走得更稳&#xff0c;更远。 今天这节课&#xff0c;学到对自己有点价值的东西是&#xff1a; 1 import 导入A包.*&#xff0c;可以使用A包下&#xff…

操作系统、数据库

操作系统 管道&#xff1a;读写先进先出&#xff0c;不能想读哪里就读哪里&#xff0c;想写哪里就哪里 内存 块表的理论支撑&#xff1a;局部性原理&#xff1a;1.时间局部性和空间局部性原理。 内存映射&#xff1a;

目标检测——flask后端YOLOv8检测视频,前端实时显示检测结果

前端代码&#xff1a; index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>YOLOv8 Video S…

网络安全笔试练习题,据说10分钟内答对的都是高手!

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 《Java代码审…

CSP-J/S赛前知识点大全2:初赛纯靠记忆的知识点

-NOI的中文意思是&#xff08;全国青少年信息学奥林匹克竞赛&#xff09;。 -NOIP从&#xff08;2022&#xff09;年开始不支持Pascal语言。 -中国计算机学会&#xff08;CCF&#xff09;于&#xff08;1962&#xff09;年成立&#xff0c;于(1984)年创办全国青少年计算机程序设…

惬意享受阅读,优雅的微信公众号订阅方式,极空间部署『WeWe RSS』

惬意享受阅读&#xff0c;优雅的微信公众号订阅方式&#xff0c;极空间部署『WeWe RSS』 哈喽小伙伴们好&#xff0c;我是Stark-C~ 不知道大家平时是怎么阅读自己关注的公众号文章的&#xff0c;是不是基本就靠微信平自动提醒更新呢&#xff1f;如果是这样&#xff0c;那么我…

dubbo二

dubbo dubbo扩展加载流程 服务调用过程 线程派发模型 多版本控制 集群容错 策略对比 负载均衡及其实现

ICM20948 DMP代码详解(25)

接前一篇文章&#xff1a;ICM20948 DMP代码详解&#xff08;24&#xff09; 上一回讲到了inv_icm20948_load_firmware函数&#xff0c;对于大体功能进行了介绍&#xff0c;本回深入其具体实现代码细节。为了便于理解和回顾&#xff0c;再次贴出相关代码&#xff1a; //Setup Iv…

甲骨文创始人埃里森:人工智能终有一天会追踪你的一举一动

9月17日消息&#xff0c;据外电报道&#xff0c;甲骨文创始人拉里埃里森在甲骨文财务分析师会议上表示&#xff0c;他预计人工智能有一天将为大规模执法监控网络提供动力。“我们将进行监督。”他说。“每一位警察都将随时受到监督&#xff0c;如果有问题&#xff0c;人工智能会…

从0到一个漏洞几千块,走了这么久,走了这么远,当然还要继续走下去。

从0到一个漏洞几千块&#xff0c;走了这么久&#xff0c;走了这么远&#xff0c;当然还要继续走下去。

odb使用

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、创建学生类和班级类1.学生类2.班级类3.生成数据库支持代码 二、创建数据库对象&#xff0c;对数据库进行操作1.构建连接池工厂配置对象2.构造数据库操作对象…

概率分布深度解析:PMF、PDF和CDF的技术指南

本文将深入探讨概率分布&#xff0c;详细阐述概率质量函数&#xff08;PMF&#xff09;、概率密度函数&#xff08;PDF&#xff09;和累积分布函数&#xff08;CDF&#xff09;这些核心概念&#xff0c;并通过实际示例进行说明。 在深入探讨PMF、PDF和CDF之前&#xff0c;有必…

JavaSE - 面向对象编程03

01 多态 01_01 认识多态 01_02 多态的好处和缺点 【1】好处&#xff1a;① 可以解耦合&#xff0c;扩展性更强&#xff0c;父类引用指向的子类对象可以随时切换&#xff0c;而后面的逻辑 代码并不需要更改。 ② 使用父类引用可以作为方法的形参或返…

java138-异常处理_java 138错误

//异常 public class test79 { //定义方法声明定义异常&#xff0c;在满足条件时抛出异常对象&#xff0c;程序转向异常处理 public double count(double n,double m)throws Exception { if (m 0) {//如果除数等于0.则抛出异常实例 throw new Ex…