当前位置: 首页 > news >正文

超全面!一文带你快速入门HTML,CSS和JavaScript!

作为一名后端程序员,在开发过程中避免不了和前端打交道,所以就要了解一些前端的基础知识,比如三剑客HTML,CSS,JavaScript,甚至有必要学习一下Vue、React等前端主流框架。
在这里插入图片描述

学习文档:https://www.w3school.com.cn/

一、HTML

在这里插入图片描述

1、注意事项

1)HTML文件以.htm或.html为扩展名
2)HTML结构标签
在这里插入图片描述

在这里插入图片描述

3)HTML标签不区分大小写
4)HTML标签属性值用单双引皆可
5)HTML语法松散

2、基础标签

1)概览
非常简单,如下标签可自行测试
在这里插入图片描述

2)html表示颜色(3种方式)

1、英文单词:red , pink , blue. . .
2、rgb(值1,值2,值3):值的取值范围:0~255,如 rgb(255,0,0)
3、#值1值2值3,值的范围:00~FF

<font face="楷体" size="5" color="#ff0000">html基础</font>

3)拓展(转义字符)
在这里插入图片描述

3、图片音频视频标签

在这里插入图片描述

1)img(定义图片)

src: 规定显示图像的URL(统一资源定位符)
height: 定义图像的高度
width: 定义图像的宽度

<!-- 使用相对路径 -->
<img src="a.jpg" width="300" height="400">
<!-- 使用绝对路径 -->
<img src="https://gitee.com/zhengyquan/images/raw/master/img/gzh.png">

2)audio(定义音频)
支持的音频格式: MP3、WAV、OGG

src: 规定音频的URL
controls: 显示播放控件

<audio src="b.mp3" controls></audio>

3)video(定义视频)
支持的视频格式: MP4, WebM、OGG

src: 规定视频的URL
controls: 显示播放控件

<video src="c.mp4" controls width="500" height="300"></video>

一些小结
在这里插入图片描述

4)其他说明
资源路径:

  • 绝对路径: 完整路径。

    • 绝对磁盘路径。如 https://gitee.com/zhengyquan/images/raw/master/img/gzh.png
    • 绝对网络路径。如 D:\Blog1\themes\butterfly\source\img\星球.jpg
  • 相对路轻: 相对位置关系。如 …/img/a.jpg

    • ./ :当前目录, ./可以省略
    • …/ :上一级目录

尺寸单位:

1、px:像素
2、%:百分比

4、超链接与列表标签

标签描述
<a>定义超链接。用于链接到另一个资源
4.1 超链接

1)href: 指定访问资源的URL
2)target: 指定打开资源的方式

_self: 默认值,在当前页面打开
_blank: 在空白页面打开

如,在<body>标签内部编写如下超链接

<a href="https://zhengyquan.cn" target="_blank">欢迎访问我的个人小站</a>

一般在页面内部跳转用_self,要跳转到外部资源用_blank。

4.2 列表标签
标签描述
<ol>定义有序列表
<ul>定义无序列表
<li>定义列表项

1)有序列表(order list)
如,在<body>标签内部编写如下有序列表

<ol><li>咖啡</li><li></li><li>牛奶</li>
</ol>

2)无序列表(unorder list)
如,在<body>标签内部编写如下无序列表

<ul><li>咖啡</li><li></li><li>牛奶</li>
</ul>

5、表格标签与布局标签

1)表格标签
在这里插入图片描述

2)布局标签
在这里插入图片描述

相关注意如下
在这里插入图片描述

6、表单 & 表单项标签

6.1 表单

表单:在网页中主要负责数据采集功能,使用<form>标签定义表单

表单项(元素):不同类型的input元素、下拉列表、文本域等

1)标签说明

<form>  定义表单
<input>  表单项(元素):不同类型的input元素、下拉列表、文本域等
<label>  为表单项定义标注
<select>  定义下拉列表
<option>  定义下拉列表的列表项定义文本域
<textarea>  定义文本域如下是form标签详解(重点)
form:定义表单
- action:规定当提交表单时向何处发送表单数据,URL
- method:规定用于发送表单数据的方式- get:浏览器会将数据直接附在表单的action URL之后。大小有限制- post:浏览器会将数据放到http请求消息体中。大小无限制

2)表单示例(注意看注释,是重点)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>演示表单标签</title>
</head>
<body>
乾坤未定,你我皆是牛马!
<!--
form:action:指定表单数据提交的URL*表单项数据要想被提交,则必须指定其name属性method:指定表单提交的方式(重要--面试题常考)1.get:默认值*请求参数会拼接在URL后边*url的长度有限制 4KB2.post:*请求参数会在http请求协议的请求头中(可以打开开发者工具网络抓包查看)*请求参数无限制
--><form action="#" method="post"><input type="text" name="username"><input type="submit"></form>
</body>
</html>

测试数据,查看结果。打开开发者工具(我的是ctrl+shift+i),输入hello
在这里插入图片描述

6.2 表单项

1)说明
在这里插入图片描述

2)表单项示例(重点看注释)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>表单项标签</title>
</head>
<body>
<!--action:规定当提交表单时向何处发送表单数据。method:规定用于发送表单数据的方式-->
<form action="#" method="post"><!--hidden:设置隐藏字段,当需要悄悄(修改)提交某些数据时用到--><input type="hidden" name="id" value="123"><!--绑定name属性才能提交到服务器,设置label并关联(for)到id,实现单击文本就能跳转单选按钮/复选框,增强用户体验--><label for="username">用户名:</label><input type="text" name="username" id="username"><br><label for="password">密码:</label><input type="password" name="password" id="password"><br>性别:<!--绑定同一个name,在单选时表现为互斥。value为设置提交到服务器时显示的数据(方便后端辨识),提交成功默认都为on--><input type="radio" name="gender" value="1" id="male"> <label for="male"></label><input type="radio" name="gender" value="2" id="female"> <label for="female"></label><br>爱好:<input type="checkbox" name="hobby" value="1">旅游<input type="checkbox" name="hobby" value="2">电影<input type="checkbox" name="hobby" value="3">游戏<br>头像:<!--type="file" 文件上传--><input type="file"><br><br> <!--br换行-->城市:<select name="city"><!--value起别名,最好是英文,防止提交后端时出现乱码--><option value="beijing">北京</option><option value="shanghai">上海</option><option value="guangzhou">广州</option></select><br><br>个人描述:<textarea cols="20" rows="5" name="textarea"></textarea><br><br><input type="submit" value="免费注册"><input type="reset" value="重置"><input type="button" value="一个按钮">
</form>
</body>
</html>

运行界面如下
在这里插入图片描述

测试数据,查看结果。打开开发者工具(我的是ctrl+shift+i),输入数据,点击免费注册。
在这里插入图片描述

二、CSS

1、CSS概述

在这里插入图片描述

2、导入方式(3种)

1)内联样式(行内样式):在标签内部使用style属性,属性值是css属性键值对(不推荐)

  • <div style=“color: red”>Hello CSS~</div>

2)内部样式(内嵌样式):定义<style>标签,在标签内部定义css样式(可以写在页面任何位置,但通常约定写在head标签中)
3)外部样式(外联样式):定义link标签,引入外部的css文件。即写在一个单独的.css文件中(需要通过link标签在网页中引入)

  • <link href=“…/css/demo.css” rel=“stylesheet”>
  • demo.css:p{color: red;}

demo.css

p{color: red;
}

3、示例(演示CSS的三种导入方式)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>演示CSS</title><!--内部样式:定义style标签并使用span选择器控制body的span标签--><style>span{color: red;}</style><!--外部样式:link关联外部的css, ../回到上一级目录。rel指定为stylesheet(css样式)--><link href="../css/demo.css" rel="stylesheet">
</head>
<body><!--未使用CSS-->Hello CSS<!--内联样式演示CSS--><div style="color: red">Hello CSS</div><!--内部样式演示CSS--><span>Hello CSS</span><!--外部样式演示CSS--><p>Hello CSS</p>
</body>
</html>

注:外部样式用到的css文件(demo.css)

p{color: red;
}

在这里插入图片描述

运行结果如下,黑色的是没有用CSS样式的,其他三个是使用了CSS三种不同样式的。
在这里插入图片描述

4、CSS选择器

在这里插入图片描述

小结
在这里插入图片描述

三、Javascript

1、js概述

在这里插入图片描述

2、js引入方式

2.1 内部脚本

将JS代码定义在HTML页面中,几点注意如下

1、在HTML中,JavaScript代码必须位于<script>与</script>标签之间

2、在HTML文档中可以在任意地方,放置任意数量的<script>。

3、一般把脚本置于<body>元素的底部,可改善显示速度,因为脚本执行会拖慢显示

2.2 外部脚本

将JS代码定义在外部JS文件中,然后引入到HTML页面中
1)外部文件:demo.js
2)引入外部 js文件
注意:

1、外部脚本不能包含<script>标签

2、<script>标签不能自闭合

2.3 引入方式示例

1)html代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>演示javascript</title>
</head>
<body>
<!--内部脚本引入js-->
<script>alert("hello js!");
</script><!--外部脚本引入js-->
<!--src属性指定路径,../返回当前文件的上一级目录-->
<script src="../js/demo.js"></script>
<!--注意虽然没有写内容,但不能自闭合,即不能写成 <script src="../js/demo.js"/>  -->
</body>
</html>

2)外部脚本引用用到的 js文件(demo.js)

alert("hello js!")

3)运行结果,会跳出一个弹窗,点击两下后会消失。
在这里插入图片描述

3、js基础语法

3.1 书写语法

1)区分大小写
与Java一样,变量名、函数名以及其他一切东西都是区分大小写的。
2)每行结尾的分号可有可无(尽量写上更加严谨)
3)注释

单行注释://
多行注释:/* */

4)大括号{ }:表示代码块

if(count==3){alert(count);
}
3.2 输出语句

1)window.alert():写入警告框。

window.alert(“hello JS~”); //弹出警告框

2)document.write():写入HTML输出

document.write(“hello JS ~”); //写入HTML

3)console.log():写入浏览器控制台

console.log(“hello JS~”); //写入控制台

示例(演示3种输出方式)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>演示js输出</title>
</head>
<body>
<script>window.alert("hello js~") //写入警告框,window可省略document.write("hello js 2~") //写入HTMLconsole.log("hello js 3~") //写入浏览器控制台,按ctrl+shift+I,打开开发者工具,控制台显示hello js 3~
</script>
</body>
</html>

运行结果如下,会有3次输出,写入浏览器控制台的需要打开开发者工具(我的是按ctrl+shift+I),点击控制台查看
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.3 变量

1)说明

JavaScript中用 var关键字(variable的缩写)来声明变量

JavaScript是一门弱类型语言,变量可以存放不同类型的值

2)变量名需要遵循的规则

1、组成字符可以是任何字母、数字、下划线(_)或美元符号($)
2、数字不能开头
3、建议使用驼峰命名

3)var 关键字声明变量的特点

  • 作用域:全局变量
  • 变量可以重复定义(后面定义的值会覆盖前面定义的)

注:let和const关键字

ECMAScript 6新增了let关键字来定义变量。它的用法类似于var,但是所声明的变量,只在let关键字所在的代码块内有效,且不允许重复声明

ECMAScript 6新增了const关键字,用来声明一个只读的常量。一旦声明,常量的值就不能改变。

3.4 数据类型 & 运算符

1)说明
JavaScript 中分为:原始类型和引用类型
5种原始类型:

  • number:数字(整数、小数、NaN(Not a Number))
  • string:字符、字符串,单双引皆可
  • boolean:布尔。true,false
  • null:对象为空,返回Object类型
  • undefined:当声明的变量未初始化时,该变量的默认值是undefined

使用 typeof运算符可以获取数据类型

  • 如 alert(typeof age);

2)示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script>/*演示js的弱类型(变量可以存放不同类型的值)*/var a=10; // number类型alert(a);alert(typeof(a)) // typeof运算符可以获取数据类型 a="hello js~"; // string类型alert(a);alert(typeof(a))/*var: 特点1. 作用域:全局变量2. 变量可以重复定义*/{var age=30;var age=20; // 变量可以重复定义,后者覆盖前者}alert(age); // 作用域为全局变量,可以在代码块外访问ageconst PI=3.14;//PI=3.141; 报错,const关键字声明一个常量,不可变
</script>
</body>
</html>

3)运算符
比较简单,可自行测试。
在这里插入图片描述

4)流程控制
js的流程控制语句可类比java,不再赘述。
在这里插入图片描述

4、js函数

4.1 概述

1)函数
函数(方法)是被设计为执行特定任务的代码块。

  • 定义:JavaScript函数通过function关键词进行定义,语法为:function functionName(参数1,参数2…){要执行的代码}
  • 调用:函数名称(实际参数列表);

2)注意

形式参数不需要类型。因为JavaScript是弱类型语言

返回值也不需要定义类型,可以在函数内部直接使用return返回即可

JS中,函数调用可以传递任意个数的参数。

4.2 示例(两种函数定义方式)

新建一个html文件,引入并编写如下js代码。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script>/*演示js函数*/// 第一种函数定义方式function add(a,b){return a+b;}let result = add(1,2);alert(result);// 第二种函数定义方式var add=function (a,b) {return a+b;}let result1 = add(2,3);alert(result1);
</script></body>
</html>

5、js对象

5.1 Array数组

JavaScript中 Array对象用于定义数组。
1)定义

var 变量名= new Array(元素列表); // 方式一
var 变量名=[元素列表]; // 方式二

2)访问

arr[索引]=值;

注意:JS数组类似于Java集合,长度,类型都可变 (变长变类型)

3)属性与方法
在这里插入图片描述

4)示例
演示js创建数组的两种方式及相关属性和方法

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>js数组</title>
</head>
<body>
<!--演示js创建数组的两种方式及属性方法-->
<script>var arr=new Array(1,2,3);// alert(arr);var arr1=[1,2,3]// alert(arr1)// 访问并修改值arr[1]=4;// alert(arr);// 特点:js里的数组相当于java中的集合,变长变类型var arr2=[1,2,4];arr2[10]=10; // 变长// alert(arr2[10]); // 10// alert(arr2[9]); // undefined,找不到的定义为undefined// alert(arr2); // 1,2,4,,,,,,,,10// 变类型arr2[5]='hello';// alert(arr2); // 1,2,4,,,hello,,,,,10// 属性和方法 属性:length 数组长度for(let i=0;i<arr.length;i++){// alert(arr[i]);}// forEach:遍历数组中有值的函数arr.forEach(function (e){// alert(e);})// ES6箭头函数:(...)=>{...} --简化函数定义arr.forEach((e) =>{// alert(e);})// push:添加元素arr.push(5);alert(arr) // 1,4,3,5// splice:删除元素arr.splice(0,1)alert(arr) // 4,3,5
</script>
</body>
</html>

注:上面演示了部分运行结果,其他结果可自行打开对应的注释运行查看

5.2 String字符串

1)创建对象的方式 & 属性与方法说明
在这里插入图片描述

注:substring(start,end) —开始索引,结束索引(含头不含尾)

2)代码示例
演示js创建字符串及相关属性和方法。新建一个html文件,在其中引入并编写如下js代码。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>js字符串</title>
</head>
<body>
<script>//创建字符串对象// var str = new string ("Hello string" );var str1 = " Hello string "; // 首尾各有一个空格console .log(str1); //  Hello string// lengthconsole.log(str1.length); // 14// charAtconsole.log (str1.charAt (4)); // l// indexOfconsole.log (str1.indexOf ("lo")); // 4// trimvar s1 = str1.trim (); // Hello stringconsole.log (s1) ;//substring(start,end) ---开始索引,结束索引(含头不含尾)console.log (s1.substring(0,5)); // Hello
</script>
</body>
</html>

在浏览器中运行,打开开发者模式(按ctrl+shift+I),进入控制台查看输出结果。如下
在这里插入图片描述

5.3 自定义对象

在这里插入图片描述

5.4 JSON

1)json概述
在这里插入图片描述

2)基础语法
注:json与js对象的转换是重点
在这里插入图片描述

3)代码示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>js字符串</title>
</head>
<body>
<script>var jsonstr = '{"name" : "Tom" , "age":18 , "addr" : [ "北京","上海","西安"]}';alert(jsonstr.name) ; // undefined// json字符串--js对象var obj = JSON.parse (jsonstr);alert(obj.name) ; // Tom// js对象--json字符串alert(JSON .stringify(obj)); // {"name":"Tom","age":18,"addr":["北京","上海","西安"]}
</script>
</body>
</html>
5.5 BOM

1)BOM概述

概念:

BOM(Browser Object Model),浏览器对象模型,允许JavaScript与浏览器对话, JavaScript将浏览器的各个组成部分封装为对象

组成:

  • window:浏览器窗口对象
  • Navigator:浏览器对象
  • Screen:屏幕对象
  • History:历史记录对象
  • Location:地址栏对象

2)window介绍
在这里插入图片描述

定时器相关注意

1、setInterval --周期性的执行某一个函数

2、setTimeout --延迟指定时间执行一次

代码示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>js字符串</title>
</head>
<body>
<script>//获取window .alert ("Hello BOM");alert ("Hello BOM window");//方法//confirm -对话框--确认: true ,取消: falsevar flag = confirm ("您确认删除该记录吗?");alert (flag) ;//定时器- setInterval --周期性的执行某一个函数var i = 0 ;setInterval(function (){i++;console.log("定时器执行了"+i+"次");},2000)//定时器- setTimeout --延迟指定时间执行一次setTimeout(function (){alert("JS")},3000)
</script>
</body>
</html>

上述setInterval定时器在控制台的运行结果
在这里插入图片描述

3)Location介绍
在这里插入图片描述

代码示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>js字符串</title>
</head>
<body>
<script>// location地址栏对象alert(location.href);// 会自动跳转到指定网站location.href = "https://zhengyquan.gitee.io/"
</script>
</body>
</html>
5.6 DOM

1)DOM概述
在这里插入图片描述

2)DOM的3个部分
在这里插入图片描述

3)Document对象获取Element元素对象的函数
在这里插入图片描述

更多详情请参考官方文档:https://www.w3school.com.cn/js/js_htmldom.asp

6、js事件监听

6.1 事件

HTML事件是发生在HTML元素上的“事情”。如:
1)按钮被点击
2)鼠标移动到元素上
3)按下键盘按键

6.2 事件监听

JavaScript可以在事件被侦测到时执行代码。

6.3 事件绑定的两种方式

在这里插入图片描述

6.4 常见事件

在这里插入图片描述
OK!以上就是这篇文章的全部内容了!欢迎点赞、收藏、关注!
在这里插入图片描述

相关文章:

超全面!一文带你快速入门HTML,CSS和JavaScript!

作为一名后端程序员&#xff0c;在开发过程中避免不了和前端打交道&#xff0c;所以就要了解一些前端的基础知识&#xff0c;比如三剑客HTML,CSS,JavaScript&#xff0c;甚至有必要学习一下Vue、React等前端主流框架。 学习文档&#xff1a;https://www.w3school.com.cn/ 一…...

C语言 | Leetcode C语言题解之第557题反转字符串中的单词III

题目&#xff1a; 题解&#xff1a; char* reverseWords(char* s) {int length strlen(s);char* ret (char*)malloc(sizeof(char) * (length 1));ret[length] 0;int i 0;while (i < length) {int start i;while (i < length && s[i] ! ) {i;}for (int p …...

408笔记合集

操作系统 《王道操作系统》-BitHachi 计算机网络 《王道计算机网络》--BitHachi 组成原理 《王道计算机组成原理》--BitHachi...

智慧医疗:纹理特征VS卷积特征

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…...

OPC学习笔记

一. 解决使用milo读取OPC设备字符串类型时&#xff0c;出现中文和特殊符号乱码的情况 解决前&#xff0c;读取字符串&#xff1a;你好 2. 解决后&#xff0c;读取字符串&#xff1a;你好 3. 解决前&#xff0c;读取字符串&#xff1a;165℃ 解决后&#xff0c;读取字符串&am…...

数据结构的时间复杂度和空间复杂度

目录 时间复杂度 空间复杂度 时间复杂度 基本操作的执行次数&#xff0c;为时间复杂度。 我们使用大O的渐进表示法来表示时间复杂度。 怎么使用&#xff1f; 先看例子&#xff1a; 在这个例子中&#xff0c; 基本操作为变量 count 的 加加 操作&#xff0c;并且&#xff0c;执行…...

HBase理论_背景特点及数据单元及与Hive对比

本文结合了个人的笔记以及工作中实践经验以及参考HBase官网&#xff0c;我尽可能把自己的知识点呈现出来&#xff0c;如果有误&#xff0c;还请指正。 1. HBase背景 HBase作为面向列的数据库运行在HDFS之上&#xff0c;HDFS缺乏随机读写操作&#xff0c;HBase正是为此而出现。…...

生产模式打包

在生产模式下打包 Node.js 和前端&#xff08;例如 Vue 或 React&#xff09;应用时&#xff0c;通常需要对代码进行优化&#xff0c;使其在生产环境中运行更高效。以下是如何在生产模式下配置和打包项目的步骤&#xff1a; 1. Node.js 生产模式打包 Node.js 本身不需要像前端…...

Vue的路由

Vue的路由 出发点&#xff1a;遇到多页面网页的反复跳转&#xff0c;有些繁琐&#xff0c;可以通过Vue的路由实现单页面中数据的变化 实现单页面中数据的变化&#xff08;通过Vue-router来进行操作的&#xff0c;数据的请求获取也需要ajax异步交互&#xff09;&#xff0c;具…...

Spring框架之策略模式 (Strategy Pattern)

策略模式&#xff08;Strategy Pattern&#xff09;详解 策略模式&#xff08;Strategy Pattern&#xff09;是一种行为型设计模式&#xff0c;用于定义一系列算法&#xff0c;并将每种算法封装到独立的策略类中&#xff0c;使它们可以相互替换&#xff0c;从而使算法的变化独…...

探索Google Earth Engine:利用MODIS数据和R语言进行2000-2021年遥感生态指数(RSEI)的时空趋势分析

前段时间,小编学习了在GEE上进行遥感生态指数(RSEI)的评估,非常头疼,但是实验了两周后,亲测有效,主要采用的是MODIS数据分析了2000-2021年中国内蒙古某地的RSEI时间序列分布状况,现在把学习的代码分享给大家。 1 GEE计算RSEI 1.1研究区域导入与初步定义 var sa = ee…...

多商户中英双语电商系统设计与开发 PHP+mysql

随着全球电商市场的扩展&#xff0c;多商户平台成为了越来越多商家参与全球贸易的重要方式。为了适应不同语言用户的需求&#xff0c;尤其是中英双语用户的需求&#xff0c;设计一个支持中英双语的电商系统显得尤为重要。本文将重点探讨如何设计一个多商户中英双语电商系统&…...

牵手App红娘专属1V1服务,打造贴心交友指导

对于年轻一代而言&#xff0c;婚恋方式已明显区别于传统&#xff0c;他们更倾向于直接、活泼的交流方式&#xff0c;享受着在轻松愉快的氛围中边玩边交友的乐趣。线上社交平台&#xff0c;尤其是那些基于兴趣构建的交友模式&#xff0c;正逐渐成为他们探索爱情、寻找共鸣的新舞…...

论文解析:边缘计算网络中资源共享的分布式协议(2区)

目录 论文解析:边缘计算网络中资源共享的分布式协议(2区) 核心内容: 核心创新点的原理与理论: 多跳边缘计算场景 一、边缘计算的基本概念 二、多跳边缘计算场景的含义 三、多跳边缘计算场景的应用 四、多跳边缘计算场景的优势 论文解析:协作边缘计算网络中资源共…...

Android Osmdroid + 天地图 (一)

Osmdroid 天地图 前言正文一、配置build.gradle二、配置AndroidManifest.xml三、获取天地图的API Key① 获取开发版SHA1② 获取发布版SHA1 四、请求权限五、显示地图六、源码 前言 Osmdroid是一款完全开源的地图基本操作SDK&#xff0c;我们可以通过这个SDK去加一些地图API&am…...

浅谈:基于三维场景的视频融合方法

视频融合技术的出现可以追溯到 1996 年 , Paul Debevec等 提出了与视点相关的纹理混合方法 。 也就是说 &#xff0c; 现实的漫游效果不是从摄像机的角度来看 &#xff0c; 但其仍然存在很多困难 。基于三维场景的视频融合 &#xff0c; 因其直观等特效在视频监控等相关领域有着…...

PostgreSQL序列:创建、管理与高效应用指南

一、引言 在PostgreSQL中&#xff0c;序列&#xff08;Sequence&#xff09;是一种用于生成唯一标识符的数据库对象。它们常常被用于为主键字段提供连续且唯一的值&#xff0c;特别是在创建新记录时。序列提供了一种机制&#xff0c;能够确保每次调用都能返回一个唯一的值&…...

部署安装jdk8\redis\mysql8\nginx

安装jdk8 linux安装jdk8详细步骤_linux jdk8安装-CSDN博客 安装redis 安装redis 后台启动命令 cd /ra/redis-6.0.0/src ./redis-server --daemonize yes安装mysql8.0&#xff08;自定义目录安装&#xff09; 1、创建自己的mysql-8.0&#xff0c;解压mysql安装包 tar -zxv…...

重要通知:Sedex 旧平台即将关闭

我们正在对 Sedex 平台进行一些重要更新&#xff0c;这些更新将更好地提升您的用户体验。 作为更新计划的⼀部分&#xff0c;我们将在 2025 年 2 ⽉关闭 Sedex Advance 平台&#xff08;即&#xff0c;Sedex 旧平台&#xff09;。旧平台的⼀些功能将转移到当前的平台上。这些改…...

Windows配置NTP时间同步

Windows下实现NTP时间同步 1、Windows时间服务(W32Time)2、Windows 时间同步的工作原理3、配置和管理 Windows 时间同步3.1 命令行工具&#xff1a;w32tm3.2 控制面板中的设置 4. 高级设置&#xff08;Windows Server 环境&#xff09;5.调整时间同步的间隔5.1 通过组策略调整时…...

学Linux的第八天

目录 管理进程 概念 程序、进程、线程 进程分类 进程前后台调用 查看进程 ps命令 unix 风格 bsd风格 GNU风格 top命令 格式 统计信息区 进程信息区&#xff1a;显示了每个进程的运行状态 kill命令 作用 格式 管理进程 概念 程序、进程、线程 程序&#x…...

2024IJCAI | MetalISP: 仅用1M参数的RAW到RGB高效映射模型

文章标题是&#xff1a;《MetaISP:Effcient RAW-to-sRGB Mappings with Merely 1M Parameters》 MetaISP收录于2024IJCAI&#xff0c;是新加坡国立大学&#xff08;Xinchao Wang为通讯作者&#xff09;和华为联合研发的新型ai-isp。 原文链接&#xff1a;MetaISP 【1】论文的…...

aws-athena查询语句总结

完全归于本人mysql语句小白&#xff0c;是一点也写不出来&#xff0c;故汇总到此 1. cloudtrail ## 查询事件排序 SELECT eventname,eventtime,count(eventname) as num FROM your_athena_tablename where eventtime between 2024-11-10 and 2024-11-11 group by eventname…...

电信网关配置管理后台 upload_channels.php 任意文件上传漏洞复现

0x01 产品描述: ‌ 电信网关配置管理后台‌是用于管理和配置电信网关的设备,提供了一系列功能来帮助用户监控和管理网络设备。以下是电信网关配置管理后台的主要功能和操作方法。0x02 漏洞描述: 电信网关配置管理系统/bak_manager/upload_channels.php 接口存在文件上传…...

Vue全栈开发旅游网项目(11)-用户管理前端接口联调

联调基本步骤 1.阅读接口文档 2.配置接口地址 3.使用axios获取数据 4.将数据设置到模型层 1.发送验证码联调 1.1 配置接口地址 文件地址&#xff1a;src\utils\apis.js //系统相关的接口 const SystemApis {sliderListUrl:apiHost"/system/slider/list/",//发送…...

react 中 useContext Hook 作用

useContext是一个用于在组件之间共享数据的重要钩子函数 一、跨组件数据共享 1. 简化多层级组件数据传递 例如&#xff1a;在一个具有多层级菜单结构的应用中&#xff0c;如果要将用户权限数据从根组件传递到最深层的菜单项组件&#xff0c;可能需要经过多个中间组件的 prop…...

【HarmonyOS】鸿蒙系统在租房项目中的项目实战(一)

从今天开始&#xff0c;博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”&#xff0c;对于刚接触这项技术的小伙伴在学习鸿蒙开发之前&#xff0c;有必要先了解一下鸿蒙&#xff0c;从你的角度来讲&#xff0c;你认为什么是鸿蒙呢&#xff1f;它出现的意义又是…...

前 K 个高频元素

前 K 个高频元素 ​ 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2]示例 2: 输入: nums [1], k 1 输出: [1]提示&#xff1a; 1 < nums.le…...

【ubuntu】Geogebra

Geogebra 几何作图工具 是一款跨平台的几何作图工具软件&#xff0c; 目前已经覆盖了&#xff0c; windows&#xff0c;android&#xff0c; mac, linux 等操作系统。 Ubuntu 现状 Ubuntu 自带应用市场 Ubuntu 自带应用市场目前只有 Geogebra 4.0 版本&#xff0c; 不能画立…...

vue2和vue3的区别详解

vue2 VS vue3 对比vue2vue3配置脚手架cmd命令行可视化方式创建脚⼿架组件通信props、$emit、provide、$arrts、EventBus等props、$emit、provide、inject、arrts等数据监听watch,computedwatch,watchEffect,computed双向绑定Object.definePropertyProxyAPI⽣命周期四个阶段befo…...