前端HTML

news2024/11/16 15:55:02

文章目录

  • 一、什么是前端
            • 前端
            • 后端
      • 前端三剑客
      • 1.什么是HTML
      • 2.编写前端的步骤
            • 1.编写服务端
            • 2.浏览器充当客户端访问服务端
            • ​ 3.浏览器无法正常展示服务端内容(因为服务端的数据没有遵循标准)
            • 4.HTTP协议>>>:最主要的内容就是规定了浏览器与服务端之间数据交互的格式
      • 3. 前端BS架构
      • 4.搭建一个简易服务器通过浏览器访问
      • 5.解决办法
  • 二、HTTP协议
      • 1.什么是THHP协议
      • 2.四大特性
            • 1.基于请求响应
            • 2.基于TCP、IP作用于应用层之上的协议
            • 3.无状态
            • 4.无\短连接
      • 3.数据格式
            • 1.请求格式
            • 2.响应格式
            • 3.响应状态码
            • 4.自定义状态码
  • 三、基于HTTP协议搭建HTML
  • 四、HTML
      • 1.HTML概览
            • 1.HTML注释语法
            • 2.HTML文档结构
            • 3.HTML标签分类
            • 4.存网页文件、pycharm创建网页
            • 5.head常见标签
            • 6.body内标签
      • 2.验证form表单朝后端提交数据
            • form action=""
            • HTML提交数据
            • 后端获取form提交的数据

一、什么是前端

前端

任何与用户直接打交道的操作页面,都可以称之为前端(手机页面app、电脑页面软件、平板页面软件)

后端

不直接与用户打交道,而是控制核心逻辑的运行。

各种编程语言编写的代码(python代码、java代码、c++代码)

前端三剑客

1.HTML 网页的骨架(没有样式很难看)
2.CSS 网页的样式(给骨架美化)
3.JavaScript 网页的动态(丰富用户体验)

1.什么是HTML

1.超文本标记语言(Hypertext Markup Language, HTML)是一种用于创建网页的标记语言。

2.本质上是浏览器可识别的规则,我们按照规则写网页,浏览器根据规则渲染我们的网页。对于不同的浏览器,* 对同一个标签可能会有不同的解释。(兼容性问题)

3.网页文件的扩展名:.html或.htm
在这里插入图片描述

2.编写前端的步骤

1.编写服务端
2.浏览器充当客户端访问服务端
​ 3.浏览器无法正常展示服务端内容(因为服务端的数据没有遵循标准)
4.HTTP协议>>>:最主要的内容就是规定了浏览器与服务端之间数据交互的格式

3. 前端BS架构

我们在编写TCP服务端的时候,针对客户端的选择可以是自己写的客户端代码,也可以是浏览器充当客户端(b/s本质也是c/s架构)

4.搭建一个简易服务器通过浏览器访问

import socket

server = socket.socket()  # 实例化对象

server.bind(('127.0.0.1', 9001))  # 绑定地址

server.listen(3)  # 地址池
while True:
    sock, addr = server.accept()
    while True:
        try:
            data = sock.recv(1024)  # 接受客户端发来的消息
            if len(data) == 0:
                break
            print(data)
            sock.send(b'hello world')
        except Exception as e:
            print(e)
            break
    sock.close()

server.close()

浏览器客户端访问结果
在这里插入图片描述

服务端接受到客户端信息
在这里插入图片描述

5.解决办法

浏览器可以访问很多服务端 如何做到无障碍的与这么多不同程序员开发的软件实现数据的交互。

​ 1.浏览器自身功能强大 自动识别并切换(太过消耗资源)

​ 2.大家统一一个与浏览器交互的数据方式(统一思想) 统一标准 就是:HTTP协议

二、HTTP协议

1.什么是THHP协议

HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。我们在浏览器的地址栏里输入的网站地址叫做URL(UniformResourceLocator,统一资源定位符)。

像百度的地址:http://www.baidu.com/

2.四大特性

1.基于请求响应

客户端发送请求 服务端回应响应。服务端永远不会主动给客户端发消息,如果想让服务端主动给客户端发送消息可以采用其他网络协议

2.基于TCP、IP作用于应用层之上的协议

该协议属于应用层

3.无状态

服务端不会保存客户端的状态(不保存客户端的状态信息)
“纵使见她千百遍 我都当她如初见”

4.无\短连接

客户端与服务端不会长久保持连接(两者请求响应之后立刻断绝关系)
​ 如果想要长链接

3.数据格式

1.请求格式

请求首行(请求方式(有很多种) 协议版本)
请求头(一大堆K:V键值对)
换行
请求体(存放敏感信息 并不是所有的请求方式都有请求体)

2.响应格式

响应首行(状态码 协议版本)
响应头(一大堆K:V键值对)
换行
响应体(存放给浏览器展示的数据)

3.响应状态码

用数字来表示一串中文意思 xx表示不确定
1XX:服务端已经接受到了数据正在处理 你可以继续发送数据也可以等待
2XX:200 OK请求成功 服务端返回了相应的数据
3XX:301 永久重定向 302临时重定向
4XX:403没有权限访问 404请求资源不存在
5XX:服务器内部错误
在这里插入图片描述

4.自定义状态码

公司还会自定义状态码 一般以10000开头
参考: 聚合数据 APL
作用:
后端写给前端的状态码
在这里插入图片描述

三、基于HTTP协议搭建HTML

import socket

server = socket.socket()  # 实例化对象

server.bind(('127.0.0.1', 9001))  # 绑定地址

server.listen(3)  # 地址池
while True:
    sock, addr = server.accept()
    while True:
        try:
            data = sock.recv(1024)  # 接受客户端发来的消息
            if len(data) == 0:
                break
            print(data)
            sock.send(b'http/1.1 100 ok\r\n\r\n')
            sock.send(b'helloworld')
        except Exception as e:
            print(e)
            break
    sock.close()

server.close()

展示结果

b'GET / HTTP/1.1\r\n
# 请求头
Host: 127.0.0.1:9001\r\n
Connection: keep-alive\r\n
sec-ch-ua: "Chromium";v="118", "Google Chrome";v="118", "Not=A?Brand";v="99"\r\n
sec-ch-ua-mobile: ?0\r\n
sec-ch-ua-platform: "Windows"\r\n
Upgrade-Insecure-Requests: 1\r\n
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\r\n
Sec-Fetch-Site: none\r\n
Sec-Fetch-Mode: navigate\r\n
Sec-Fetch-User: ?1\r\n
Sec-Fetch-Dest: document\r\n
Accept-Encoding: gzip, deflate, br\r\n
Accept-Language: zh-CN,zh;q=0.9\r\n
请求体(当前为空)
\r\n'

网页实现web
在这里插入图片描述

代码实现的过程:浏览器发送请求>>HTTP协议>>服务端接收请求>>服务端返回响应>>服务端把HTML文件内容发送给浏览器>>浏览器渲染页面

四、HTML

HTML简介

1.直接发送手写的数据
2.转为发送文件里面的数据
3.编写HTML出现特殊的现象

超文本标记语言:所见即所得(没有任何逻辑 是什么就是什么)

1.HTML概览

1.HTML注释语法
单行注释:<!--注释语法-->
多行注释:
    <!--
    多行注释
    多行注释
    -->
2.HTML文档结构
<html>
	<head></head>
	<body></body>
</html>

1.<html>  固定格式  html包裹
2.<head>  主要放跟浏览器交互的配置
3.<body>  主要放给用户查看的花里胡哨的内容

'''在使用编程工具创建的时候就会自动编写文档结构'''


eg:
    <!DOCTYPE html>
    <html lang="zh-cn">
        <head>
            <meta charset="utf-8" />
            <title>网页标题</title>
        </head>
            <body>
            </body>
    </html>

解析:
1.<!DOCTYPE html>	:声明为HTML文档
2.<meta charset="UTF-8">	:默认编码
3.<html>,</html>	:是文档开始标记和结束的标记。是HTML页面的根元素,在他们之间是文档的头部(head)和主体(body)
4.<head>,</head>:定义了HTML文档的开头部分。它们之间的内容不会在浏览器的文档窗口显示。包含了文档的元(meta)数据。
5.<title>,</title>:定义了网页标题,在浏览器标题栏显示。
6.<body>,</boby>:之间的文本是可见的网页主体内容。
注意:对于中文网页需要使用 <meta charset="utf-8"> 声明编码,否则会出现乱码。有些浏览器会设置 GBK 为默认编码,则你需要设置为 <meta charset="gbk">
3.HTML标签分类

1.单标签(自闭和标签)

2.多标签 (有头有尾)

4.存网页文件、pycharm创建网页

在这里插入图片描述

5.head常见标签
标签意义
title定义网页标题
style定义内部样式表
script定义JS代码或引入外部JS文件
link引入外部样式表文件或网站图标
meta定义网页原信息

title网页小标题
在这里插入图片描述
meta定义网页源信息

meta		定义网页源信息
主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。

eg:
<meta name="keywords" content="查询关键字">
<meta name="description" content="网页简介">

补充知识
1.指定该网址2秒后跳转到jd
<meta http-equiv="refresh" content="2;URL=https://www.jd.com">
2.keywords 关键字搜索
<meta name="keywords" content="物流,科技,奶茶,跳转">
3.description 网页描述信息(简介)
<meta name="description" content="恒运集团科技">

在这里插入图片描述
style内部支持编写css代码

	<style>
            h1 {
                color: green;
            }
    </style>

在这里插入图片描述
link引入外部css文件

  <link rel="stylesheet" href="mycss.css">

script支持内部编写js代码,也可以引入外部js文件

1.内部写js代码
    <script>
          prompt('好好活着','不要浪费生命')</script>
    
2.引入外部js文件
    <script src="myjs.js"></script>

ps:了解每个标签大致的作用即可

在这里插入图片描述
整体代码展示
在这里插入图片描述

6.body内标签

基本标签

h1-h6标题标签
p段落标签
u下划线
i斜体
s删除线
b加粗
br换行(有其他符号也是换行的)
hr分割线
标签的分类二:
	行内标签	u i s b
		内部文本多大就占多大
	块儿级标签	h系列 p 
		独占一行

在这里插入图片描述
常见符号

1.&nbsp; 	空格
2.&gt;		大于
3.&lt;		小于
4.&amp;		&5.&yen;		¥
6.&copy;	© 
7.&reg;		®

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

div
	块儿级标签
span
	行内标签
"""
标签之间可以相互嵌套 并且理论上可以无线套娃
	块儿级标签内部可以嵌套块儿级标签和行内标签
		p标签虽然是块儿级标签 但是它的内部也不能嵌套块儿级标签
	行内标签内部只能嵌套行内标签
"""

eg:
    <p>123
        <p>321</p>
    </p>

在这里插入图片描述
常用标签

"""
标签括号内填写的 什么=什么 称之为的标签的属性
	1.默认属性
		标签自带的 编写的时候有自动提示
	2.自定义属性
		用户自定义 编写不会有提示甚至会飘颜色
"""
1.a标签		链接标签
	1.1 href
    	1.填写网址 			 具备跳转功能
        	href='url'
         2.填写其他标签的id值  具备锚点功能
    		 href='#id'
 	1.2 target
    	默认_self原网页跳转
       _blank新建网页跳转
    
2.img标签	图片标签
	2.1 src   属性指定图片地址
    	1.填写图片地址
   		2.还有更多特性 目前没法讲
  	2.2 title  属性写文本
    	鼠标悬浮在图片上自动展示的文本
	2.3 alt   属性编写文本
		图片加载失败提示的信息
 	2.4 width\height  性写像素
    	图片的尺寸 两者调整一个即可 等比例缩放
		
	
注意:图片无法显示
		< img src="https://pic.cnblogs.com/avatar/1549846/20191126100502.png" alt="加载失败"> 
		解决方案: 只需要在<head>标签内添加 
		<meta name="referrer" content="no-referrer">

在这里插入图片描述
列表标签

<ol type="I">
    <li>111</li>
    <li>222</li>
    <li>333</li>
</ol>
	 ps:还可以通过type竖向切换数字

标题标签

<dl>
    <dt>大标题</dt>
        	<dd>小标题1</dd>
        	<dd>小标题2</dd>
    <dt>大标题</dt>
        	<dd>小标题1</dd>
        	<dd>小标题2</dd>
        	<dd>小标题3</dd>
</dl>

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

1.先写基本骨架
	<table>
        <thead></thead>
        <tbody></tbody>
    </table>
2.再写表头及表单数据
	 <tr>  一个tr标签就表示一行
        <th>编号</th>  th主要用于表头字段中 用来加粗显示
        <th>姓名</th>
        <th>年龄</th>
    </tr>
    
    <tr>
        <td>1</td>  td主要用于表达数据中 
        <td>jason</td>
        <td>18</td>
    </tr>
 
1.tr就表示一行
2.th在表头的字段名称
3.td标签  普通的单元格数据
4.ul*3  快速生成无序列表
eg:
<table>
    <thead>
      <tr>
        <th>编号</th>
        <th>姓名</th>
        <th>年龄</th>
      </tr>
  </thead>

<tbody>
    <tr>
      <td>1</td>
      <td>kimi</td>
      <td>12</td>
    </tr>
    <tr>
      <td>2</td>
      <td>rose</td>
      <td>23</td>
    </tr>
</tbody>

</table>

在这里插入图片描述
表单标签

可以获取到用户的数据并发送给服务端

form标签
	action	控制数据的提交地址
  	method	控制数据的提交方法

input标签(类似于前端的变形金刚)
	type属性
    	text		普通文本
       password		密文展示
   		date		日期选项
    	email		 邮箱格式
     	radio		单选
       checkbox		多选
    	file		文件
       submit		触发提交动作
    	reset		重置表单内容
       button		暂无任何功能
 
select标签	下拉框
	option标签	一个个选项
  
textarea标签	获取大段文本

        
input标签应该有name属性
	name属性相当于字典的键 input标签获取到的用户数据相当于字典的值
	点击发送就会组织成字典的形式发送给服务端 这样才具有明确意义

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
  <div style="background-color: lightsteelblue;height: 50px;width: 100%"></div>
  <em>欢迎来到kimi网站</em>
    <title>Title</title>
  <a href="https://www.cnblogs.com/"target="_blank">我是博客园</a>
</head>
<body>
 ul>li*3
  <h2>用户注册页面</h2>
  <hr>
  <from action="">
    <p>姓名:
      <input type="text">
    </p>
    <p>密码:
      <input type="password">
    </p>
    <p>生日:
      <input type="date">
    </p>
    <p>email:
      <input type="email">
    </p>
    <p>gender:
      <input type="radio" name="gender" value="male"><input type="radio" name="gender" value="female"><input type="radio" name="gender" value="others">其他
    </p>
    <p>爱好:
      <input type="checkbox">酸奶
      <input type="checkbox">奶茶
      <input type="checkbox">水果
      <input type="checkbox">蔬菜
      <input type="checkbox">甜点
      <input type="checkbox">卤味
    </p>
    <p>省籍:
      <select name="" id="">
        <option value="">云南</option>
        <option value="">浙江</option>
        <option value="">北京</option>
        <option value="">江苏</option>
        <option value="">湖南</option>
      </select>
    </p>

    <p>friends:
      <select name="" id="" multiple>
        <option value="">kiki</option>
        <option value="">kimi</option>
        <option value="">lisa</option>
        <option value="">rose</option>
        <option value="">jenny</option>
      </select>
    </p>

    <p>file:
      <input type="file">
    </p>
    <p>files:
      <input type="file" multiple>
    </p>
    <p>
      <input type="submit" value="注册">
      <input type="reset" value="重置">
      <input type="button" value="按钮">
    </p>

    <hr>

<img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Finews.gtimg.com%2Fnewsapp_bt%2F0%2F13657877618%2F1000&refer=http%3A%2F%2Finews.gtimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1672405285&t=4df94bd39e49a2c1f250a5dd68accffa" alt="失败" title="镜玄大可爱" width="100px">
    <p>请个人点评:
      <textarea name="" id="" cols="30" rows="10"></textarea>
    </p>

    <div style="background-color: lightskyblue;height: 50px;width: 100%"></div>
  </from>

</body>
</html>

图片展示
在这里插入图片描述
表单的补充知识

基于from表单发送是数据

1.用于获取用户数据的标签至少应该含有name属性
name属性相当于字典的键,用户输入的数据会被保存到标签的value属性中,value属性相当于字典的值

2.如果不需要用户填写数据,只需要选择,那么我们需要自己填写value

<input type="radio" name="gender" value="male">
 注意:没有name属性的标签 form表单会直接忽略 不会发送

3.针对input标签理论上应该配一个label标签绑定,但是也可以不写

1.自定义输出
    <label for="">username:
        <input type="text">
    </label>
2.绑定文件
    <label for="d1">username:</label>
    <input type="text" id="d1">
    <input type="file" multiple>

在这里插入图片描述
4.标签的属性如果和属性值相等,那么可以简写

<input type="file" multiple="multiple">  # 完整写法
<input type="file" multiple>   # 简写

5.针对选择类型的标签可以提前设置默认选项

5.1 checked
        <input type="checkbox" checked="checked">奶茶    # 标签属性规范写法
        <input type="checkbox" name="juice" checked>果汁  # 简写

5.2 selected
         <option value="" selected="selected">222</option>  # 规范写法
         <option value="" selected>123</option> #简写

在这里插入图片描述
6.下拉框与文件上次可以复选

<input type="file" multiple>
<select name="" id="" multiple>

在这里插入图片描述
7.单独写input会飘黄

直接编写input会出现黄色阴影,原因在于input需要结合lable一起使用

方式1:lable包裹input并绑定id
   <label for='input标签id值'>input标签</label>

方式2:label与input单独出现并绑定id
<label for="d1">username:</label>
   <input type="text" id="d1">

2.验证form表单朝后端提交数据

用的是flask框架做后端后端语言

from flask import Flask

app = Flask(__name__)


# 路由:网址的后缀 baidu.com/abcd/
@app.route('/index/', methods=['GET', 'POST'])  # 支持get和post请求,不写默认是get请求
# @app.route('/abcd/')  # 支持get和post请求,不写默认是get请求
def index():
    return 'OK'


app.run()

运行后就是这样子的
在这里插入图片描述
点击蓝色字会跳转到网页,但是会报错404
在这里插入图片描述
只需要咋网址后面加上后缀即可
在这里插入图片描述

form action=“”

写超后端提交的地址
这里写什么地址就是超这个地址提交数据,应填写后端的地址

action里面有三种用法
1.什么都不写
2.全写:http://127.0.0.1:5000/index/ 朝这个地址提交
3.只写后缀/index/-------->IP:PORT/index

“”“form表单要想把数据提交到后端,每一个标签都要有一个name属性.”“”

name的属性值就是提交到后端数据的key值,用户输入的内容就是value值

针对于复选框、单选框标签都应该有一个value属性,用于区别前端用户选择的哪个选项

HTML提交数据
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>练习</title>
</head>
<body>
    <form action="http://127.0.0.1:5000/index/" method="post">  action里面填写需要提交的地址,method是post
        <p>
            <input type="text" id="username" name="username" placeholder="请输入用户名">
        </p>
        <p>
            <input type="password" id="password" name="password" placeholder="请输入密码">
        </p>
        <p>
            <input type="submit" value="提交">
        </p>
    </form>
</body>
</html>

输入完成后点击提交
在这里插入图片描述

后端获取form提交的数据

这里需要用到request模块

from flask import Flask,request

app = Flask(__name__)


# 路由:网址的后缀 baidu.com/abcd/
@app.route('/index/', methods=['GET', 'POST'])  # 支持get和post请求,不写默认是get请求
# @app.route('/abcd/')  # 支持get和post请求,不写默认是get请求
def index():
    print(request.form)  # 只能拿到post请求的数据
    # print(request.args)  # 只能拿到get请求的数据
    return 'OK'

app.run()

在这里插入图片描述
这时后端会接受到这些信息

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

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

相关文章

“第五十五天”

定点数&#xff1a; 原码的乘法&#xff1a; 乘法的符号位是单独处理的&#xff08;通过对被乘数和乘数的符号位进行异或实现&#xff09;&#xff0c;数值位去绝对值进行运算。这里的乘法实际上是通过多次加法实现的。 这里被乘数是放在x寄存器&#xff0c;乘数放在MQ寄存器…

数据结构线性表——顺序表

前言&#xff1a;小伙伴们好久不见&#xff0c;从这篇文章开始&#xff0c;我们就要正式进入数据结构的学习啦。 学习的难度也将逐步上升&#xff0c;希望小伙伴们能够和博主一起坚持&#xff0c;一起加油&#xff01;&#xff01;&#xff01; 目录 一.什么是线性表 二.什么…

便利店超市怎么做一个实用的微信小程序?

近年来&#xff0c;微信小程序商城越来越受到商家的青睐&#xff0c;因为它不仅提供了便捷的在线购物体验&#xff0c;而且不需要安装额外的应用。对于零编程经验的初学者&#xff0c;制作一个小程序商城可能会感到有些困难&#xff0c;但不用担心&#xff0c;本文将引导你一步…

Netty复习:(2)IdleStateHandler的用法

一、handler定义&#xff1a; package handler;import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter;public class MyChatServerHandler3 extends ChannelInboundHandlerAdapter {Overridepublic void userEventTriggered(…

【实用教程】MySQL内置函数

1 背景 在MySQL查询等操作过程中&#xff0c;我们需要根据实际情况&#xff0c;使用其提供的内置函数。今天我们就来一起来学习下这些函数&#xff0c;在之后的使用过程中更加得心应手。 2 MySQL函数 2.1 字符串函数 常用的函数如下&#xff1a; concat(s1,s2,…sn)字符串…

Ansible的安装和部署

目录 1.Ansible的安装 2.构建Ansible清单 直接书写受管主机名或ip 设定受管主机的组[组名称] 主机规格的范围化操作 指定其他清单文件 ansible命令指定清单的正则表达式 3.Ansible配置文件参数详解 配置文件的分类与优先级 常用配置参数 4.构建用户级Ansible操作环…

女神联盟2攻略,女神联盟2-GM红将全免

女神联盟2攻略&#xff1a;前期过渡阵容建议&#xff1a; 在女神联盟2-GM红将全免的初期玩法中&#xff0c;资源的获取是有限的&#xff0c;因此玩家需要合理运用搭配&#xff0c;避免浪费。同时在有限的资源中与敌人竞争资源需要进行头脑对决。首先&#xff0c;游戏中的硬通货…

Linux学习第27天:Platform设备驱动开发: 专注与分散

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 专注与分散是我在题目中着重说明的一个内容。这是今天我们要学习分离与分层概念的延伸。专注是说我们要专注某层驱动的开发&#xff0c;而对于其他层则是芯片厂商…

【QT】鼠标常用事件

新建项目 加标签控件 当鼠标进去&#xff0c;显示【鼠标进入】&#xff0c;离开时显示【鼠标离开】 将QLable提升成自己的控件&#xff0c;然后再去捕获 添加文件 改继承的类名 提升类 同一个父类&#xff0c;可以提升 效果 现在代码就和Qlabel对应起来了。 在.h中声明&…

1992-2021年全国各地级市经过矫正的夜间灯光数据(GNLD、VIIRS)

1992-2021年全国各地级市经过矫正的夜间灯光数据&#xff08;GNLD、VIIRS&#xff09; 1、时间&#xff1a;1992-2021年3月&#xff0c;其中1992-2013年为年度数据&#xff0c;2013-2021年3月为月度数据 2、来源&#xff1a;DMSP、VIIRS 3、范围&#xff1a;分区域汇总&…

短期经济波动:均衡国民收入决定理论(一

宏观经济学讲义 10 短期经济波动&#xff1a;均衡国民收入决定理论(一) 文章目录 10 短期经济波动&#xff1a;均衡国民收入决定理论(一)[toc]1 均衡国民收入决定1.1 均衡国民收入决定的不同理论1.2 两部门经济&#xff1a;有效需求原理和框架1.2.1 模型假设1.2.2 模型推导1.2…

正点原子嵌入式linux驱动开发——Linux 音频驱动

音频是最常用到的功能&#xff0c;音频也是linux和安卓的重点应用场合。STM32MP1带有SAI接口&#xff0c;正点原子的STM32MP1开发板通过此接口外接了一个CS42L51音频DAC芯片&#xff0c;本章就来学习一下如何使能CS42L51驱动&#xff0c;并且CS42L51通过芯片来完成音乐播放与录…

java八股文(基础篇)

面向过程和面向对象的区别 面向过程&#xff1a;在解决问题时&#xff0c;特别自定义函数编写一步一步的步骤解决问题。 面向对象&#xff1a;其特点就是 继承&#xff0c;多态&#xff0c;继承&#xff0c;在解决问题时&#xff0c;不再注重函数的编写&#xff0c;而在于注重…

EPLAN_012#自定义导航器

关键字&#xff1a;设备导航器、端子排导航器、电缆导航器、设备列表导航器&#xff0c;树形结构&#xff08;导航器&#xff09; 正常情况下&#xff0c;eplan中的设备导航器是这个模样 如何在导航器中显示更多内容或者进行规划。&#xff08;比如下图中&#xff0c;可以显示其…

买车软件有哪些,买车软件哪个好

买车软件是指为购买汽车提供便利的手机应用程序&#xff0c;可以帮助消费者找到心仪的汽车型号、比较不同车型的价格、了解车辆的详细参数和配置、预约试驾、办理贷款、购车保险等一系列服务。 买车软件可以让用户更加便捷地了解汽车信息、比较不同车型的价格和配置、预约试驾…

【STL】:vector的模拟实现

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关vector的模拟实现&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通 数…

qt 系列(一)---qt designer设计常用操作

最近转战qt, 主要用qt designer 进行GUI开发&#xff0c;记录下实战经验~ 1.前言 qt 是跨平台C图形用户界面应用程序开发框架&#xff0c;可以使用的IDE工具有 qt creator 和 vs, 这里我主要使用 Visual Studio 2017 工具进行程序开发与编写。 2. 环境配置 只写关键步骤~~ …

Java 谈谈你对OOM的认识

文章目录 前言一、基础架构二、常见OOM1、栈内存溢出java.lang.StackOverflowError2、堆内存溢出java.lang.OutOfMemoryError&#xff1a;Java heap space3、GC回收时间过长java.lang.OutOfMemoryError: GC overhead limit exceeded4、NIO程序堆外内存溢出java.lang.OutOfMemor…

MySQL使用存储过程迁移用户表数据,过滤用户名相同名称不同的用户

存储过程简介 存储过程&#xff08;Stored Procedure&#xff09;是一组为了完成特定功能的SQL语句集&#xff0c;经编译后存储在数据库中&#xff0c;用户通过指定存储过程的名字并给定参数&#xff08;如果该存储过程带有参数&#xff09;来调用执行它。它是一段预编译的SQL…

openGauss学习笔记-110 openGauss 数据库管理-管理用户及权限-Schema

文章目录 openGauss学习笔记-110 openGauss 数据库管理-管理用户及权限-Schema110.1 创建、修改和删除Schema110.2 搜索路径 openGauss学习笔记-110 openGauss 数据库管理-管理用户及权限-Schema Schema又称作模式。通过管理Schema&#xff0c;允许多个用户使用同一数据库而不…