制作一个简单HTML个人网页网页——人物介绍梵高(HTML+CSS)

news2024/9/23 15:32:09

🎉精彩专栏推荐👇🏻👇🏻👇🏻
✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主
💂 作者主页: 【主页——🚀获取更多优质源码】
🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (1000套) 】
🧡 程序员有趣的告白方式:【💌HTML七夕情人节表白网页制作 (110套) 】
🌎超炫酷的Echarts大屏可视化源码:【🔰 echarts大屏展示大数据平台可视化(150套) 】
🎁 免费且实用的WEB前端学习指南: 【📂web前端零基础到高级学习视频教程 120G干货分享】
🥇 关于作者: 历任研发工程师,技术组长,教学总监;曾于2016年、2020年两度荣获CSDN年度十大博客之星。 十载寒冰,难凉热血;多年过去,历经变迁,物是人非。 然而,对于技术的探索和追求从未停歇。 💪坚持原创,热衷分享,初心未改,继往开来!


📂文章目录

  • 一、👨‍🎓网站题目
  • 二、✍️网站描述
  • 三、📚网站介绍
  • 四、🌐网站演示
  • 五、🔧 网站代码
    • 🧱HTML结构代码
    • 💒CSS样式代码
  • 六、🥇 如何让学习不再盲目
  • 七、🎁更多干货


一、👨‍🎓网站题目

🧑个人网页设计、🙋‍♂️个人简历制作、👨‍💼简单静态HTML个人网页作品、👨‍🏭个人介绍网站模板 、等网站的设计与制作。


二、✍️网站描述

⭐个人网页设计网站模板采用DIV CSS布局制作,网页作品有多个页面,如 :个人介绍(文字页面)、我的作品(图片列表)、个人技能(图文页面)、在线留言(表单页面)CSS样式方面网页整体采用左右布局结构,制作了网页背景图片,导航区域每个导航背景色不同,导航背景色与页面背景呼应。

🏅 一套A+的网页应该包含 (具体可根据个人要求而定)

  1. 页面分为页头、菜单导航栏(最好可下拉)、中间内容板块、页脚四大部分。
  2. 所有页面相互超链接,可到三级页面,有5-10个页面组成。
  3. 页面样式风格统一布局显示正常,不错乱,使用Div+Css技术。
  4. 菜单美观、醒目,二级菜单可正常弹出与跳转。
  5. 要有JS特效,如定时切换和手动切换图片轮播。
  6. 页面中有多媒体元素,如gif、视频、音乐,表单技术的使用。。
  7. 页面清爽、美观、大方,不雷同。 。
  8. 不仅要能够把用户要求的内容呈现出来,还要满足布局良好、界面美观、配色优雅、表现形式多样等要求。

三、📚网站介绍

📔网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网页布局结构。

📓网站程序方面:计划采用最新的网页编程语言HTML5+CSS3+JS程序语言完成网站的功能设计。并确保网站代码兼容目前市面上所有的主流浏览器,已达到打开后就能即时看到网站的效果。

📘网站素材方面:计划收集各大平台好看的图片素材,并精挑细选适合网页风格的图片,然后使用PS做出适合网页尺寸的图片。

📒网站文件方面:网站系统文件种类包含:html网页结构文件、css网页样式文件、js网页特效文件、images网页图片文件;

📙网页编辑方面:网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad++ 等任意html编辑软件进行运行及修改编辑等操作)。
其中:
(1)📜html文件包含:其中index.html是首页、其他html为二级页面;
(2)📑 css文件包含:css全部页面样式,文字滚动, 图片放大等;
(3)📄 js文件包含:js实现动态轮播特效, 表单提交, 点击事件等等(个别网页中运用到js代码)。


四、🌐网站演示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


五、🔧 网站代码

🧱HTML结构代码


<!doctype html>
<html>

<head>
  <meta charset="utf-8">
  <title>首页</title>
  <link rel="stylesheet" type="text/css" href="css/style.css" />

</head>

<body>
  <table width="900" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td width="107" valign="middle"><img src="images/0.jpg" width="90" height="90"></td>
      <td width="793" valign="middle">
        <h1>原神</h1>
      </td>
    </tr>
    <tr>
      <td height="30" colspan="2" valign="middle">
        <hr>
      </td>
    </tr>
  </table>
  <div id="container">
    <!-- 轮播图 -->
    <ul id="img_ul">
      <!-- 与之前相比,前后多了两张图片 -->
      <li><img src="images/01.jpg"></li>
      <li><img src="images/0.jpg"></li>
      <li><img src="images/02.jpg"></li>
      <li><img src="images/03.jpg"></li>
      <li><img src="images/5.png"></li>
      <li><img src="images/6.jpg"></li>
    </ul>
    <!-- 底部按钮 -->
    <ul id="litCir_ul"></ul>
    <!-- 左右切换按钮 -->
    <div id="buttons">
      <span id="left">&lt;</span>
      <span id="right">&gt;</span>
    </div>
  </div>

  <table width="900" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td width="15%" height="30"><a href="index.html" id="Moveout" class="Moveout" onmouseover="Moveoutsover()"
          onmouseout="MoveoutSout()">首页</a>
      </td>
      <td width="16%"><a href="wy2.html" id="Moveout1" class="Moveout" onmouseover="Moveoutsover()"
        onmouseout="MoveoutSout()">星空</a></td>
      <td width="17%"><a href="wy3.html" id="Moveout2" class="Moveout" onmouseover="Moveoutsover()"
        onmouseout="MoveoutSout()">向日葵</a></td>
      <td width="20%"><a href="wy4.html" id="Moveout3" class="Moveout" onmouseover="Moveoutsover()"
        onmouseout="MoveoutSout()">松柏树</a></td>
      <td width="16%"><a href="wy5.html" id="Moveout4" class="Moveout" onmouseover="Moveoutsover()"
        onmouseout="MoveoutSout()">午睡</a></td>
      <td width="16%">&nbsp;</td>
    </tr>
    <tr>
      <td width="15%" height="30"><a href="index.html" class="contenter" id="content" style="display: none;">首页</a>
      </td>
      <td width="16%"><a href="wy2.html" class="contenter" id="content1" style="display: none;">星空</a></td>
      <td width="17%"><a href="wy3.html" class="contenter" id="content2" style="display: none;">向日葵</a></td>
      <td width="20%"><a href="wy4.html" class="contenter" id="content3" style="display: none;">松柏树</a></td>
      <td width="16%"><a href="wy5.html" class="contenter" id="content4" style="display: none;">午睡</a></td>
      <td width="16%">&nbsp;</td>
    </tr>
  </table>
  <table width="900" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td height="40" colspan="2">
        <hr>
      </td>
    </tr>
    <tr>
      <td width="627">
        <h2 align="center">梵高介绍</h2>
        <p>文森特·梵高(Vincent van Gogh,1853年3月30日—1890年7月29日),荷兰后印象派画家。代表作有《星月夜》、自画像系列、向日葵系列等。</p>
        <p>
          梵高出生于1853年3月30日荷兰乡村津德尔特的一个新教牧师家庭,早年的他做过职员和商行经纪人,还当过矿区的传教士最后他投身于绘画。他早期画风写实,受到荷兰传统绘画及法国写实主义画派的影响。1886年,他来到巴黎,结识印象派和新印象派画家,并接触到日本浮世绘的作品,视野的扩展使其画风巨变,他的画,开始由早期的沉闷、昏暗,而变得简洁、明亮和色彩强烈。1888年,来到法国南部小镇阿尔,已经摆脱印象派及新印象派的影响,走到了与之背道而驰的境地。同年与高更交往,但由于二人性格的冲突和观念的分歧,合作很快便告失败。此后,梵高的疯病(有人记载是“癫痫病”)时常发作,但神志清醒时他仍然坚持作画,1890年7月,他在精神错乱中开枪自杀,年仅37岁。
        </p>
      </td>
      <td width="273">
        <div>
          <p>
            <span>用户名:</span><input type="text" placeholder="请输入用户名">
          </p>
          <p>
            <span>密 码:</span><input type="text" placeholder="请输入密码">
          </p>
          <p>
            <button>登录</button>
          </p>
        </div>
      </td>
    </tr>
  </table>
  <table width="900" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td height="40">&nbsp;</td>
    </tr>

  </table>
</body>
<script>
  var img_ul = document.getElementById("img_ul"); // 轮播图
  var litCir_ul = document.getElementById("litCir_ul"); // 圆点按钮 ul
  var buttons = document.getElementById("buttons"); // 左右切换按钮

  var cLis = litCir_ul.children; // 圆点按钮
  var len = img_ul.children.length - 2; // 真实图片数,图片列表有6张,真实图片数只有4张
  var width = 500; //每张图片的宽度
  var picN = 1; //当前显示的图片下标为1,展示第一张图片
  // 根据图片数添加小圆点
  for (let i = 0; i < len; ++i) {
    var a_li = document.createElement("li");
    a_li.className = 'quiet';
    litCir_ul.appendChild(a_li);
  }
  // 默认把第一个圆点按钮设置 active
  litCir_ul.children[0].className = 'active';
  // 触碰小圆点切换图片
  for (var i = 0; i < len; i++) {
    // 给每个小圆点绑定 mouseover 事件
    cLis[i].onmouseover = function () {
      // 停止轮播
      clearInterval(img_ul.timer);
      for (var j = 0; j < len; j++) {
        cLis[j].className = "quiet";
      }
      this.className = "active";
      picN = i + 1; // 切换的图片下标
      img_ul.style.left = (picN * width * -1) + 'px'; // 切换图片
    }

    // 开启轮播
    cLis[i].onmouseout = function () {
      Roll();
    }
  }
  function setActiveSpot() {
    for (var j = 0; j < len; j++) {
      cLis[j].className = "quiet";
    }

    // 这里是 picN - 1 是因为下标picN的图片对应着下标为picN - 1的圆点
    cLis[picN - 1].classList = "active";
  }
  function Roll() {
    clearInterval(img_ul.timer);
    img_ul.timer = setInterval(() => {
      ++picN;
      img_ul.style.transition = "all .5s";
      img_ul.style.left = (picN * width * -1) + 'px';
      if (picN === len + 1) {
        picN = 1;
        setActiveSpot();
        setTimeout(() => {
          img_ul.style.transitionProperty = "none"; // 取消动画
          img_ul.style.left = -width + 'px'; // 改变 left 值
        }, 500)
      } else {
        setActiveSpot();
      }
    }, 2000)
  }
  Roll();
  // 停止轮播
  buttons.children[0].onmouseover = function () {
    clearInterval(img_ul.timer);
  }

  buttons.children[1].onmouseover = function () {
    clearInterval(img_ul.timer);
  }

  // 开启轮播
  buttons.children[0].onmouseout = function () {
    Roll();
  }

  buttons.children[1].onmouseout = function () {
    Roll();
  }
  // 节流函数
  function throttle(fn, time) {
    let canRun = true;
    // 闭包
    return function () {
      if (!canRun) return;
      canRun = false;
      setTimeout(() => {
        fn.apply(this, arguments);
        canRun = true;
      }, time);
    }
  }

  // 上一张按钮
  buttons.children[0].onclick = throttle(function () {
    --picN;
    img_ul.style.transition = "all .5s";
    img_ul.style.left = (picN * width * -1) + 'px';
    if (picN === 0) {
      picN = len;
      setActiveSpot();
      setTimeout(() => {
        img_ul.style.transitionProperty = "none";
        img_ul.style.left = (picN * width * -1) + 'px';
      }, 500);
    } else {
      setActiveSpot();
    }
  }, 500)

  // 下一站按钮
  buttons.children[1].onclick = throttle(function () {
    ++picN;
    img_ul.style.transition = "all .5s";
    img_ul.style.left = (picN * width * -1) + 'px';
    if (picN === len + 1) {
      picN = 1;
      setActiveSpot();
      setTimeout(() => {
        img_ul.style.transitionProperty = "none";
        img_ul.style.left = 0;
      }, 500);
    } else {
      setActiveSpot();
    }
  }, 500)
  var Moveout = document.getElementById("Moveout");
  var content = document.getElementById("content");
  //鼠标移入显示
  Moveout.onmouseover = function () {
    content.style.display = "block";
  }
  function Moveoutsover() {
    content.style.display = "block";
  }
  //鼠标移出隐藏
  Moveout.onmouseout = function () {
    content.style.display = "none";
  }
  function MoveoutSout() {
    content.style.display = "none";
  }
  var Moveout1 = document.getElementById("Moveout1");
  var content1 = document.getElementById("content1");
  //鼠标移入显示
  Moveout1.onmouseover = function () {
    content1.style.display = "block";
  }
  function Moveoutsover() {
    content1.style.display = "block";
  }
  //鼠标移出隐藏
  Moveout1.onmouseout = function () {
    content1.style.display = "none";
  }
  function MoveoutSout() {
    content1.style.display = "none";
  }
  var Moveout2 = document.getElementById("Moveout2");
  var content2 = document.getElementById("content2");
  //鼠标移入显示
  Moveout2.onmouseover = function () {
    content2.style.display = "block";
  }
  function Moveoutsover() {
    content2.style.display = "block";
  }
  //鼠标移出隐藏
  Moveout2.onmouseout = function () {
    content2.style.display = "none";
  }
  function MoveoutSout() {
    content2.style.display = "none";
  }
  var Moveout3 = document.getElementById("Moveout3");
  var content3 = document.getElementById("content3");
  //鼠标移入显示
  Moveout3.onmouseover = function () {
    content3.style.display = "block";
  }
  function Moveoutsover() {
    content3.style.display = "block";
  }
  //鼠标移出隐藏
  Moveout3.onmouseout = function () {
    content3.style.display = "none";
  }
  function MoveoutSout() {
    content3.style.display = "none";
  }
  var Moveout4 = document.getElementById("Moveout4");
  var content4 = document.getElementById("content4");
  //鼠标移入显示
  Moveout4.onmouseover = function () {
    content4.style.display = "block";
  }
  function Moveoutsover() {
    content4.style.display = "block";
  }
  //鼠标移出隐藏
  Moveout4.onmouseout = function () {
    content4.style.display = "none";
  }
  function MoveoutSout() {
    content4.style.display = "none";
  }
</script>
<style>
  /* 包裹轮播图的容器需要使用 overflow: hidden 来隐藏超出的图片 */
  #container {
    position: relative;
    width: 500px;
    height: 400px;
    margin: 0 auto;
    overflow: hidden;
    margin-left: 10;
    padding: 0;
  }

  ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  #img_ul {
    width: 3000px;
    /* 轮播图宽度为 图片数 * 图片宽 */
    height: 400px;
    position: absolute;
    top: 0;
    left: -500px;
    /* 图片列表的默认 left 值 */
    transition: all .5s;
  }

  #img_ul li {
    float: left;
    margin: 0;
    padding: 0;
    width: 500px;
    height: 400px;
  }

  #img_ul li img {
    width: 500px;
    height: 400px;
  }

  #litCir_ul {
    position: absolute;
    margin: 0;
    padding: 0;
    right: 10px;
    bottom: 10px;
  }

  #litCir_ul li {
    margin: 0;
    padding: 0;
    float: left;
    width: 20px;
    height: 20px;
    text-align: center;
    line-height: 20px;
    border-radius: 50%;
    margin-left: 10px;
    cursor: pointer;
  }

  /* 圆点按钮生效样式 */
  li.active {
    background-color: white;
  }

  li.quiet {
    background-color: #1e90ff;
  }

  #buttons {
    margin: 0;
    padding: 0;
    display: none;
  }

  /* hover 轮播图则显示左右切换按按钮 */
  #container:hover #buttons {
    display: block;
  }

  #buttons span {
    position: absolute;
    width: 40px;
    height: 40px;
    top: 50%;
    margin-top: -20px;
    line-height: 40px;
    text-align: center;
    font-weight: bold;
    font-family: Simsun;
    font-size: 30px;
    border: 1px solid #fff;
    opacity: 0.3;
    cursor: pointer;
    color: #fff;
    background: black;
  }

  #left {
    left: 5px;
  }

  #right {
    left: 100%;
    margin-left: -45px;
  }
</style>

</html>


💒CSS样式代码


@charset "utf-8";
/* CSS Document */
body{
	font-family:"宋体";
	font-size:14px;
}
a{
	color:#000;
	text-decoration:none;
}

a:hover{color:#F00; text-decoration:underline;}
p{
	line-height:28px;
	text-indent:2em;
	letter-spacing:2px;
}




六、🥇 如何让学习不再盲目

很多刚入门编程的小白学习了基础语法,却不知道语法的用途,不知道如何加深映像,不知道如何提升自己,这个时候每天刷自主刷一些题就非常重要(百炼成神),可以去牛客网上的编程初学者入门训练。该专题为编程入门级别,适合刚学完语法的小白练习,题目涉及编程基础语法,基本结构等,每道题带有练习模式和考试模式,可还原考试模式进行模拟,也可通过练习模式进行练习 。


七、🎁更多干货

1.如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “👍点赞” “✍️评论” “💙收藏” 一键三连哦!

2.💗【👇🏻👇🏻👇🏻关注我| 获取更多源码 | 优质文章】 带您学习各种前端插件、3D炫酷效果、图片展示、文字效果、以及整站模板 、大学生毕业HTML模板 、期末大作业模板 、等! 「在这里有好多 前端 开发者,一起探讨 前端 Node 知识,互相学习」!

3.

以上内容技术相关问题💌欢迎一起交流学习👇🏻👇🏻👇🏻🔥

在这里插入图片描述

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

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

相关文章

c++中的cin和getline()函数

cin cin 输入接触到第一个非空格字符时开始阅读&#xff0c; 当遇到下一个空格字符&#xff08;空格、制表符、换行符&#xff09;时就会停止读取&#xff0c; #include<iostream> using namespace std;int main() {string s;printf("输入:\n");cin >>…

[论文阅读] 颜色迁移-颜色空间的选择

[论文阅读] 颜色迁移-颜色空间的选择 论文: [Colour Spaces for Colour Transfer] 本文将颜色迁移方法分为了2大类: 一是直接3D颜色迁移方法二是转换为3个1D颜色迁移方法 对于第二种方法, 颜色空间的选择对颜色迁移结果有很大的影响, 如下所示为 RGB 和 Lab 颜色空间的结果…

使用Express框架操作MongoDB数据库

前言 1、NoSQL数据库&#xff1a;非关系型数据库。数据的组织形式不是二维表格。即Not Only SQL&#xff0c;不能使用SQL语句操作数据。适合存储超大 规模、数据长度不确定的数据&#xff0c;数据没有规定的格式&#xff0c;不需要进行任何的设置就可以自由的横向扩展 2、什…

[附源码]计算机毕业设计校园服装租赁系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

G1D30-NLP(Tokenizer)DP(交叠子问题)

一、NLP &#xff08;一&#xff09;bert中一些标记 1、[SEP] 用于断句&#xff0c;其真实效果&#xff0c;有待考究&#xff0c;因为有segment embedding 2、[CLS] 生成一个向量&#xff0c;用来进行文本分类 &#xff08;二&#xff09;AutoTokenizer 关于tokenizer更…

JMeter入门教程(16)——非GUI运行

文章目录1.任务背景2.任务目标3.任务实操1.任务背景 JMeter的场景运行方式分为两种&#xff0c;一种是GUI&#xff08;视窗运行&#xff0c;即我们可以看到的运行界面&#xff09;方式&#xff0c;另一种是非GUI&#xff08;命令窗口&#xff09;方式运行&#xff0c;在Window…

HTML网页大作业代码【免费代码已上传】

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

[附源码]计算机毕业设计校园便携系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

基于springboot的智慧养老平台

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;springboot 前端&#xff1a;html、Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#…

SpringBoot+Vue项目便捷洗衣服务平台

文末获取源码 开发语言&#xff1a;Java 使用框架&#xff1a;spring boot 前端技术&#xff1a;JavaScript、Vue.js 、css3 开发工具&#xff1a;IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库&#xff1a;MySQL 5.7/8.0 数据库管理工具&#xff1a;phpstudy/Navicat JD…

线程间实现通信的几种方式

目录线程通信相关概述提出问题方式一&#xff1a;使用Object类的wait() 和 notify() 方法方式二&#xff1a;Lock 接口中的 newContition() 方法返回 Condition 对象&#xff0c;Condition 类也可以实现等待/通知模式方法三&#xff1a;使用 volatile 关键字方法四&#xff1a;…

微服务系列之微服务架构

引言 他发现了人类行为的一大法则&#xff0c;那就是&#xff0c;为了要使一个大人或小孩极想干某样事情&#xff0c;只需要设法把那件事情弄得不易到手就行了----《汤姆索亚历险记》 参考书籍&#xff1a; “凤凰架构”“微服务架构设计模式” 在了解微服务架构之前&#…

WorkTool企微机器人APP分享自定义链接

移动端应用怎么分享自定义网页链接到企业微信 前言 我们知道分享自定义网页可以采用转发形式发到企业微信的客户或群里&#xff0c;但是如果我们业务需要配置每次链接入口不同&#xff0c;如链接附带一些业务参数&#xff0c;这时单纯使用转发常常不能满足需求。找到一种替代…

脉冲触发的触发器

唯一的不同在于时钟信号的控制不一样 前面的叫做主触发器&#xff0c;后面叫做从触发器 为什么在一个时钟周期内只可能改变一次&#xff1f;&#xff08;工作原理&#xff09; 在时钟信号等于0期间&#xff0c;看看时钟信号的工作 CLK1期间&#xff0c;主FF工作&#xff0c;…

JeecgBoot搭建(低代码)

环境安装 后端&#xff1a;JDK: 1.8 (小于11)、Maven: 3.5、MySql: 5.7、Redis: 3.2 前端&#xff1a;Node Js: 14.18 / 16、Npm: 5.6.0、Yarn: 1.21.1 、Pnpm 工具&#xff1a; IDEA、Navicat、Git、TortoiseGit拉取代码 后端&#xff1a;git clone https://gitee.com/jeecg/…

[附源码]计算机毕业设计网上电影购票系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

升级Seata Server 1.5.2

目录引言下载地址配置初始Mysql数据库支持TCC Fence引言 最近在做Seata TCC集成&#xff0c;集成过程中将Seata Server由原来的1.4.2升级为最新的1.5.2&#xff0c;本文记录了Seata 1.5的升级过程。 原Seata 1.4.2的安装过程可参见我之前的博客&#xff1a; 分布式事务 - Seat…

TPU编程竞赛系列|基于TPU平台的人车目标检测初赛收官!

近日&#xff0c;AI算法创新赛-“基于TPU平台的人车目标检测”初赛正式结束&#xff0c;经过激烈地角逐&#xff0c;最终排名TOP20的队伍成功进入复赛&#xff0c;开启新的赛程&#xff01; 目标检测是计算机视觉的热门方向&#xff0c;广泛应用于各种智能视频监控系统中。人、…

Flink系列之Flink中State设计详解与企业案例实践

title: Flink系列 二、Flink State 设计详解 Flink 官网解释&#xff1a;Apache Flink — Stateful Computations over Data Streams 前课中 WordCount 的例子&#xff0c;可以得知&#xff1a;其实我们会发现&#xff0c;单词出现的次数有累计的效果。如果没有状态的管理&am…

自制肥鲨HDO2电源升压延长线

自制肥鲨HDO2电源升压延长线1. 问题源由2. 解决方案3. 材料准备4. 最终延长线产出4.1 裸照4.2 成品5. 参考资料1. 问题源由 之前我们介绍了【自制肥鲨HDO2电源降压延长线&#xff0c;支持3S~6S动力电池】&#xff0c;主要解决使用动力电池给眼镜供电的问题。 但是马上有兄弟反…