Linux WEB服务器的部署及优化
1.用户常用关于web的信息
1.1.什么是www
www是world wide web的缩写,及万维网,也就是全球信息广播的意思。
通常说的上网就是使用www来查询用户所需要的信息。
www可以结合文字、图形、影像以及声音等多媒体,超链接的方式将信息以Internet传递到世界各 处去。
当你连接www网站,该网站会提供一些数据,客户端要使用可以解析这些数据的软件来处理,那就是浏览器。
1.2.网址
URI:Uniform Resource Identifier统一资源标识,分为URL和URN。
URN:Uniform Resource Naming,统一资源命名,P2P下载使用的磁力链接是URN的一种实现。
URL:Uniform Resorce Locator,统一资源定位符用于描述某服务器某特定资源位置
两者区别:URL提供查找该事物的方法;URN仅用于命名,而不指定地址。
1.3.URL组成
URL组成机
<scheme>://<user>:<password>@<host>:<port>/<path>:<params>?<query>#<frag>
2.HTTP简介
2.1.什么是http HTTP协议:
全称为Hyper Text Transfer Protocol(超文本传输协议) 简单来说http就是从服务器传输超文本(html)到本地浏览器的传输协议 HTTP协议工作于B/S架构上,浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务端发送请 求(Request)Web服务端根据接收到的请求数据后,向客户端发送响应信息(Response)。
https://developer.mozilla.org/zh-CN/docsWeb/
2.2.http工作机制
2.2.1.web中常用的语言介绍
html语言 超文本标记语言
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<title>HTML语言</title>
</head>
<body>
<h1 style="color:red">欢迎</h1>
<p><a href=http://www.baidu.com>百度</a>你好</p>
</body>
</html>
css 层叠样式表 表述网站的风格
<html>
<head>
<meta http-equiv=Content-Type content="text/htm1;charset=utf-8">
<link rel="stylesheet" type="text/css" href="mystyle.css" />
</head>
<body>
<h1>这是标题</h1>
<p>红色代表喜庆,该段为红色</p>
<p class="ex">蓝色,宁静而深邃的色彩,承载着丰富的寓意和象征意义。该段落中的文本是蓝色的。</p>
</body>
</html>
css文件
--body {color: #e76666}h1 {color: #65c2b1}p.ex {color: #6e6ea2}
js实现html和css实现不了的功能,比如动画效果
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
</head>
<body>
<h2>我的第一个JavaScript</h2>
<button type="button"
onclick="document.getElementById('demo').innerHTML = Date()">
点击这里来显示日期和时间
</button>
<p id="demo"></p>
</body>
</html>
2.2.2.mine(Multipurpose Internet Mail Extensions)多用途因特网邮件扩展
它设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处 理
为了支持多媒体数据类型,HTTP协议中就使用了附加在文档之前的MIME数据类型信息来标识数据 类型。
其主要功能是让服务器将它们发送的多媒体数据的类型告诉浏览器
服务器将MIME标志符放入传送的数据中来告诉浏览器使用哪种插件读取相关文件
MIME类型存在于HTTP响应报文的响应头部信息里,它是一种文本标记
MIME格式: type/subtype 文件类型后缀(html txt jpg png... ...)
2.3.http访问请求完整过程
1.建立连接:
TCP的3次握手建立链接,向服务器发送http请求,服务器拒绝或允许
2.接受请求
接受客户端请求报文对某个资源的一次请求过程web响应访问模型
a.单进程I/O模型:启动一个进程处理用户请求,而且一次只处理一个,多个请求被串行响应
b.多进程I/O模型:并行启动多个进程,每个进程响应一个连接请求
c.复用I/O结构:启动一个进程,同时响应N个连接请求
d.复用的多进程I/O模型:启动M个进程,每个进程响应N个连接请求,同时接收M*N个请求
3.处理请求:
服务器对请求报文进行解析,并获取请求的资源及请求方法等相关信息,根据方法,资源,首部和可选 的主体部分对请求进行处理常用请求Method: GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS
4.访问资源:
服务器获取请求报文中请求的资源web服务器,即存放了web资源的服务器,负责向请求者提供对方请求 的静态资源,或动态运行后生成的资源
5.构建响应报文:
一旦Web服务器识别除了资源,就执行请求方法中描述的动作,并返回响应报文。响应报文中包含有响 应状态码、响应首部,如果生成了响应主体的话,还包括响应主体 响应实体:如果事务处理产生了响应主体,就将内容放在响应报文中回送过去。
响应报文中通常包括:
描述了响应主体MIME类型的Content-Type首部
描述了响应主体长度的Content-Length
实际报文的主体内容:
2)URL重定向:web服务构建的响应并非客户端请求的资源,而是资源另外一个访问路径
3)MIME类型:Web服务器要负责确定响应主体的MIME类型。多种配置服务器的方法可将MIME类型 与资源管理起来
6.发送响应报文:
Web服务器通过连接发送数据时也会面临与接收数据一样的问题。服务器可能有很多条到各个客户端的 连接,有些是空闲的,有些在向服务器发送数据,还有一些在向客户端回送响应数据。服务器要记录连 接的状态,还要特别注意对持久连接的处理。对非持久连接而言,服务器应该在发送了整条报文之后, 关闭自己这一端的连接。对持久连接来说,连接可能仍保持打开状态,在这种情况下,服务器要正确地 计算Content-Length首部,不然客户端就无法知道响应什么时候结束
2.4.http协议报文头部结构
2.4.1.请求报文
请求报文由三部分组成:开始行、首部行、实体主体
开始行:请求方法 url 版本 CRLF
首部行通常用键值表示 空格 实体主题数据,一般在post动作中可以提看到
开始行中的请求方法:
2.4.2.响应报文
响应报文由三部分组成即:开始行、首部行、实体主体
开始行:http版本 状态码 短语 CRLF
首部行通常用键值表示 空格 实体主题数据,即获取内容
2.5.状态代码
状态码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值
常见状态代码、状态描述的说明如下:
3.web服务的配置详解
3.1.web服务的常用种类
Apache Nginx openresty 大厂自研
curl -I 163.com
curl -I baidu.com
3.2.Nginx的安装
开源版本的Nginx官网:nginx
[root@localhost 桌面]# dnf install nginx -y
[root@localhost ~]# systemctl enable --now nginx //开启服务
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
查看端口
[root@localhost 桌面]# netstat -antlupe | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 0 37696 3402/nginx: master
tcp6 0 0 :::80 :::* LISTEN 0 37697 3402/nginx: master
默认配置文件
[root@localhost 桌面]# cd /etc/nginx
默认发布目录
[root@localhost nginx]# cd /usr/share/nginx/html/
修改默认发布目录
[root@localhost nginx]# mkdir /nginx/virtual/aaa.org/{news,bbs}/html -p
[root@localhost nginx]# echo bbs.aaa.org > /nginx/virtual/aaa.org/bbs/html/index.html
[root@localhost nginx]# echo news.aaa.org >/nginx/virtual/aaa.org/news/html/index.html
[root@localhost nginx]# vim nginx.conf
root /nginx/html;
index aaa.html; //默认发布文件
3.4nginx配置文件内容详解
nginx全局配置
user nginx; #nginx程序运行用户
worker_processes auto; #开启work进程数量
error_log /var/log/nginx/error.log notice; #错误日志
pid /var/run/nginx.pid; #pid文件
events {worker_connections 1024; #可接受最大连接数
}
http模块配置
http {include /etc/nginx/mime.types; #可解析的静态资源类型default_type application/octet-stream; #用来配置Nginx响应前端请求默认的MIME类
型log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main; #访问日志sendfile on; # Nginx服务器是否使用sendfile()传输文件#tcp_nopush on; # 当包累计到一定大小后就发送,默认0.2s一次keepalive_timeout 65; # 长连接超时时间子配置文件#gzip on; #可以使网站的css、js 、xml、html 等静态资源在传输时
进行压缩include /etc/nginx/conf.d/*.conf; #指定子配置文件
}
子配置文件
/etc/nginx/conf.d/default.conf
server {listen 80; #监听端口server_name localhost; #服务器的名字location / {root /usr/share/nginx/html; #默认发布目录index index.html index.htm; #默认发布文件}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html; #访问出错呈现错误页面location = /50x.html {root /usr/share/nginx/html;
}
}
3.5.Nginx配置
3.5.1基于IP的虚拟主机
[root@localhost 桌面]# mkdir /nginx/virtual/aaa.org/{news,bbs}/html -p
[root@localhost 桌面]# ls -ld /nginx/virtual/aaa.org/{news,bbs}/html
drwxr-xr-x 2 root root 6 12月 10 16:13 /nginx/virtual/aaa.org/bbs/html
drwxr-xr-x 2 root root 6 12月 10 16:13 /nginx/virtual/aaa.org/news/html
[root@localhost 桌面]# echo bbs.aaa.org > /nginx/virtual/aaa.org/bbs/html/index.html
[root@localhost 桌面]# echo news.aaa.org > /nginx/virtual/aaa.org/news/html/index.html[root@localhost 桌面]# ip a a 172.25.254.101/24 dev ens160
[root@localhost 桌面]# ip a a 172.25.254.102/24 dev ens160[root@localhost conf.d]# vim vhosts.conf
[root@localhost conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost conf.d]# nginx -s reload
[root@localhost conf.d]# cat vhosts.conf
server{listen 172.25.254.101:80;root /nginx/virtual/aaa.org/bbs/html;index index.html;
}
server {listen 172.25.254.102:80;root /nginx/virtual/aaa.org/news/html;index index.html;
}
[root@localhost conf.d]# curl news.aaa.org
news.aaa.org
[root@localhost conf.d]# curl bbs.aaa.org
news.aaa.org
3.5.2基于域名的虚拟主机
[root@localhost conf.d]# vim vhosts.conf
[root@localhost conf.d]# cat vhosts.conf
server{listen 80;server_name bbs.aaa.org;root /nginx/virtual/aaa.org/bbs/html;index index.html;
}
server {listen 80;server_name news.aaa.org;root /nginx/virtual/aaa.org/news/html;index index.html;
}
[root@localhost conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost conf.d]# nginx -s reload
Linux中做域名解析
[root@localhost conf.d]# vim /etc/hosts
[root@localhost conf.d]# curl www.aaa.org
aaa
[root@localhost conf.d]# curl www.bbs.org
^[[A^C
[root@localhost conf.d]# curl bbs.aaa.org
bbs.aaa.org
[root@localhost conf.d]# curl news.aaa.org
news.aaa.org
3.5.3基于认证的访问控制
基于ip的访问控制
root@localhost html]# mkdir admin
[root@localhost html]# echo admin > admin/index.html
[root@localhost html]# curl 172.25.254.100/admin/
admin[root@localhost html]# vim /etc/nginx/nginx.conf
[root@localhost html]# nginx -s reload
[root@localhost html]# curl 172.25.254.100/admin/
admin
基于IP的访问控制
[root@localhost html]# dnf install httpd-tools -y
[root@localhost html]# htpasswd -cm /etc/nginx/.htpasswd admin
New password:
Re-type new password:
Adding password for user admin
[root@localhost html]# cat /etc/nginx/.htpasswd
admin:$apr1$wq41crUZ$hLYd97P6s4ceABx4XWZpD.[root@localhost html]# vim /etc/nginx/nginx.conf
[root@localhost html]# nginx -s reload
[root@localhost html]# curl 172.25.254.100/admin/ -uadmin:aaa
aaa
3.6.web服务器的数据加密(https)
3 3.6.1.https简介
- HTTP协议以明文方式发送内容,不提供任何方式的数据加密,
- HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等
- 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。
- HTTPS全称:Hyper Text Transfer Protocol over Secure Socket Layer ),是以安全为目标的HTTP通道
- HTTPS并不是一个新协议,而是HTTP+SSL(TLS)
- 原本HTTP先和TCP直接通信,而加了SSL后,就变成HTTP先和SSL通信,再由SSL和TCP通信,相当于SSL被嵌在了HTTP和TCP之间。
3.6.2.https握手流程
3.6.3.部署https
1.生成密钥
[root@localhost html]# openssl req -newkey rsa:2048 -nodes -sha256 -keyout /etc/nginx/certs/aaa.org.key -x509 -days 365 -out /etc/nginx/certs/aaa.org.crt
[root@localhost 桌面]# mkdir /nginx/virtual/aaa.org/login/html -p
[root@localhost 桌面]# echo login.aaa.org > /nginx/virtual/aaa.org/login/html/index.html[root@localhost html]# cd /etc/nginx/certs/
[root@localhost certs]# ls
aaa.org.crt aaa.org.key
[root@localhost certs]# openssl x509 -in aaa.org.crt -text -noout
[root@localhost certs]# cd /etc/nginx/conf.d/
[root@localhost conf.d]# vim https.confserver {listen 443;server_name login.aaa.org;root /nginx/virtual/aaa.org/login/html/;index index.htmlssl_certificate "/etc/nginx/certs/aaa.org.crt";ssl_certificate_key "/etc/nginx/certs/aaa.org.key";ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers HIGH:!aNULL:!MD5;
}
~
3.7搭建动态网站
动态网站指网站内容可根据不同情况动态变更的网站,一般情况下动态网站通过数据库进行架构。
动态网站除了要设计网页外,还要通过数据库和编程序来使网站具有更多自动的和高级的功能。
动态网页:使用网页脚本语言,比如php、JSP等,通过脚本将网站内容动态存储到数据库,用户访 问网站是通过读取数据库来动态生成网页的方法
配置web服务器对php站点的支持
[root@localhost ~]# mkdir -p /nginx/html/index.php
[root@localhost html]# cat index.php
<?phpphpinfo();
?>
2.配置web服务器对php页面的发布
location ~ \.php$ {fastcgi_pass php-fpm; # 对应前面在 php-fpm.conf 中定义的 upstream 名称fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /nginx/html/$fastcgi_script_name;include fastcgi_params;}
相关文章:
Linux WEB服务器的部署及优化
1.用户常用关于web的信息 1.1.什么是www www是world wide web的缩写,及万维网,也就是全球信息广播的意思。 通常说的上网就是使用www来查询用户所需要的信息。 www可以结合文字、图形、影像以及声音等多媒体,超链接的方式将信息以Internet…...
人工智能大模型LLM开源资源汇总(持续更新)
说明 目前是大范围整理阶段,所以存在大量机翻说明,后续会逐渐补充和完善资料,减少机翻并增加说明。 Github上的汇总资源(大部分英文) awesome-production-machine-learning 此存储库包含一系列精选的优秀开源库&am…...
目标跟踪算法:SORT、卡尔曼滤波、匈牙利算法
目录 1 目标检测 2 卡尔曼滤波 3《从放弃到精通!卡尔曼滤波从理论到实践》视频简单学习笔记 3.1 入门 3.2 进阶 3.2.1 状态空间表达式 3.2.2 高斯分布 3.3 放弃 3.4 精通 4 匈牙利算法 5 《【运筹学】-指派问题(匈牙利算法)》视…...
Java版-图论-拓扑排序与有向无环图
拓扑排序 拓扑排序说明 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列…...
GTC2024 回顾 | 优阅达携手 HubSpot 亮相上海,赋能企业数字营销与全球业务增长
从初创企业入门到成长型企业拓展,再到 AI 驱动智能化运营,HubSpot 为企业的每步成长提供了全方位支持。 2024 年 11 月下旬,备受瞩目的 GTC2024 全球流量大会(上海)成功举办。本次大会汇聚了全国内多家跨境出海领域企业…...
eclipse启动的时候,之前一切很正常,但突然报Reason: Failed to determine a suitable driver class的解决
1、之前项目都是启动正常的,然后运行以后发现启动不了了,还会报错: 2、这个Reason: Failed to determine a suitable driver class,说是没有合适的驱动class spring:datasource:url: jdbc:sqlserver://192.168.1.101:1433;databa…...
_tkinter.TclError: can‘t find package tkdnd Unable to load tkdnd library.解决办法
Traceback (most recent call last): File “tkinterdnd2\TkinterDnD.py”, line 55, in _require _tkinter.TclError: can’t find package tkdnd During handling of the above exception, another exception occurred: Traceback (most recent call last): File “1.导入总表…...
VBA高级应用30例应用在Excel中的ListObject对象:向表中添加注释
《VBA高级应用30例》(版权10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以…...
folly库Conv类型转换源码解析
1,普通类型转换 例子1: bool boolV = true;EXPECT_EQ(to<bool>(boolV), true);int intV = 42;EXPECT_EQ(to<int>(intV), 42);float floatV = 4.2f;EXPECT_EQ(to<float>(floatV), 4.2f);double doubleV = 0.42;EXPECT_EQ(to<double>(doubleV), 0.42)…...
UE4 骨骼网格体合并及规范
实现代码 // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "SkeletalMeshMerge.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "AceMeshCom…...
Java版企业电子招标采购系统源业码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis
功能描述 1、门户管理:所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含:招标公告、非招标公告、系统通知、政策法规。 2、立项管理:企业用户可对需要采购的项目进行立项申请,并提交审批,查看所…...
通过源码⼀步⼀步分析 ArrayList 扩容机制
ArrayList 是 Java 中常用的集合类,它底层实现是基于数组的。为了处理元素的动态增加,ArrayList 会在容量不足时进行扩容。以下是通过源码逐步分析 ArrayList 扩容机制的过程。 1. ArrayList 类的基本结构 ArrayList 继承自 AbstractList,实…...
源码分析之Openlayers中默认Controls控件渲染原理
概述 Openlayers 中默认的三类控件是Zoom、Rotate和Attribution 源码分析 defaults方法 Openlayers 默认控件的集成封装在defaults方法中,该方法会返回一个Collection的实例,Collection是一个基于数组封装了一些方法,主要涉及到数组项的添…...
中间件的分类与实践:从消息到缓存
目录 一. 中间件的基本概念 二. 中间件的主要类型 (1)消息中间件(Message-Oriented Middleware, MOM): (2)数据库中间件: (3)Web中间件: &a…...
京东e卡 h5st 4.96
声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间头像私信联系我删…...
《CSS 知识点》滚动条仅在 hover 时才显示(宽度不改变)
很简单! 滚动条的滑动小方块背景色默认透明,仅在hover时设置背景色; 滚动条的轨道背景色默认透明,仅在hover时设置背景色; /*滚动条的滑动小方块*/ ::-webkit-scrollbar-thumb {background: transparent; } /*hover…...
手里有病理切片+单细胞测序的数据,如何开展医工交叉的研究?
小罗碎碎念 这一期推文研究一个问题:病理如何与单细胞结合? 病理与单细胞的结合,时常出现在今年的各大顶刊中。 关于这一领域的研究,其实19年就开始了。我把部分低质量的文献做了剔除,但是也基本能反应这一领域的受关注…...
力矩扭矩传感器介绍
在机械臂(机器人臂)末端使用的力矩扭矩传感器主要用于测量机械臂末端执行器(例如机械手爪、抓取装置等)所受的扭矩和力。这些传感器对机械臂的控制系统至关重要,能够提供精确的力反馈信息,帮助实现更高效、…...
【Appium】AttributeError: ‘NoneType‘ object has no attribute ‘to_capabilities‘
目录 1、报错内容 2、解决方案 (1)检查 (2)报错原因 (3)解决步骤 3、解决结果 1、报错内容 在PyCharm编写好脚本后,模拟器和appium也是连接成功的,但是运行脚本时报错&…...
QT 中 多线程(备查)
基础 一个线程处理窗口事件,其他线程进行逻辑运算 在QT中使用多线程,需要额外注意的: 1)默认的线程在Qt中称之为窗口线程,也叫主线程,负责窗口事件处理或者窗口控件数据的更新 2)子线程负责后台…...
第八十六条:在实现serializable接口时要特别谨慎
要想使一个类的实例可被序列化,非常简单,只要在它的声明中加入"implements Serializable"字样即可。虽然使一个类可被序列化的直接开销低到甚至可以忽略不计,但是为了序列化而付出的长期开销往往是实实在在的。 为实现Serializable…...
【Elasticsearch 中间件】Elasticsearch 客户端使用案例
文章目录 一、安装 Elasticsearch1.1 启动 Elasticsearch1.2 启动 Kibana 二、客户端代码2.1 导入依赖2.2 配置 application.yaml2.3 定义实体类2.4 连接 Elasticserach2.5 定义 Service 层接口2.6 实现 Service 层功能 三、测试项目3.1 添加数据3.2 搜索数据3.3 更新数据3.4 删…...
深入理解MySQL中的ONLY_FULL_GROUP_BY
在MySQL数据库管理中,ONLY_FULL_GROUP_BY是一个重要的SQL模式,它直接影响着GROUP BY语句的执行方式和结果。本文将从基础概念出发,逐步解析ONLY_FULL_GROUP_BY的工作原理、应用场景及应对策略。 什么是ONLY_FULL_GROUP_BY? ONLY…...
获得日志记录之外的新视角:应用程序性能监控简介(APM)
作者:来自 Elastic David Hope 日志记录领域即将发生改变。在这篇文章中,我们将概述从单纯的日志记录到包含日志、跟踪和 APM 的完全集成解决方案的推荐流程。 通过 APM 和跟踪优先考虑客户体验 企业软件开发和运营已成为一个有趣的领域。我们拥有一些非…...
如何避免缓存击穿?超融合常驻缓存和多存储池方案对比
作者:SmartX 解决方案专家 钟锦锌 很多运维人员都知道,混合存储介质配置可能会带来“缓存击穿”的问题,尤其是大数据分析、数据仓库等需要频繁访问“冷数据”的应用场景,缓存击穿可能会更频繁地出现,影响业务运行。除…...
口语笔记——祈使句用法
省略主语 (You give me) a cup of tea, please. 一杯茶(You wait for) another minute. 两等一分钟(You) keep quiet. 保持安静give me a break. 饶了我吧take your hand off. 把你的手拿开take this thing away 把这东西拿开never talk to strangers. 永远不要跟陌生人说话Do…...
SQL连续登录问题(详细案例分析)
如果要统计用户活跃度,那就涉及连续登录问题,接下来将举一个简单的例子来详细说明这个问题: 一、创建一些模拟数据 一些测试数据如下: deviceid1,2022-10-26,2022-10-26,2022-11-01 deviceid1,2022-10-26,2022-11-03,2022-11-0…...
Next.js 系统性教学:深入理解缓存与数据优化策略
更多有关Next.js教程,请查阅: 【目录】Next.js 独立开发系列教程-CSDN博客 目录 前言 1. 缓存的基本概念 1.1 缓存的作用 1.2 Next.js 中的缓存策略 2. Next.js 的缓存机制 2.1 请求记忆化(Request Memoization) 2.1.1 什…...
【PyTorch】(基础六)---- 搭建卷积神经网络
关于神经网络中激活函数、卷积层、池化层等底层原理,我不会在本文中详解,但是关于pytorch中如何使用对应的方法实现这些层的功能我会进行解释,如果你想要了解一些关于神经网络底层的知识,我十分推荐你去看一下吴恩达老师的深度学习…...
【JAVA项目】基于ssm的【美食推荐管理系统】
【JAVA项目】基于ssm的【美食推荐管理系统】 技术简介:采用JSP技术、B/S架构、SSM框架、MySQL技术等实现。 系统简介:美食推荐管理系统,在系统首页可以查看首页、热门美食、美食教程、美食店铺、美食社区、美食资讯、我的、跳转到后台等内容。…...
敏捷开发流程的8个步骤/seo关键词排名公司
作者:Sinsonglew 出处:http://www.cnblogs.com/sinsonglew 欢迎转载,也请保留这段声明。thanks :) 注记:NCL官方依赖安装包全集列表、官方源码编译指导链接:http://www.ncl.ucar.edu/Download/build_from_src.shtml&am…...
织梦和wordpress/网站设计方案模板
渐变Gradients-径向渐变 -颜色结点 微信小程序交流群:111733917 | 微信小程序从0基础到就业的课程:https://edu.csdn.net/topic/huangjuhua 通用语法 径向渐变由它的中心定义。 为了创建一个径向渐变,你也必须至少定义两种颜色结点。颜色结点…...
深圳网站建设 网站设计/西安网站维护
文章目录前言Github pageHexo工作原理每次部署的流程模板引擎--Hexo怎样生成HTML数据填充配置文件中的数据配置文件中数据的使用总结前言 在2021年初对照着攻略趟过无数坑终于通过Hexo把博客给整出来了 Hexo官网-----快速、简洁且高效的博客框架 https://hexo.io/zh-cn/ 但是在…...
怎么和其他网站交换友情链接/营销策划书
使用 React Native 构建移动应用程序比你想象的要容易——那是因为它使用了 JavaScript,这是一种易于学习的编程语言。在该项目一位经验丰富的开发人员的帮助下,你可以节省时间和金钱,并创建一个具有原生感觉和外观的应用程序。 React Native…...
网站建设 开源/软文营销经典案例优秀软文
seq命令用于产生从某个数到另外一个数之间的所有整数。语法seq [选项]... 尾数seq [选项]... 首数 尾数seq [选项]... 首数 增量 尾数选项-f, --format格式 使用printf 样式的浮点格式-s, --separator字符串 使用指定字符串分隔数字(默认使用:\n)-w, --equal-width …...
wordpress喜欢 赏 分享/如何在百度提交自己的网站
广州商学院 计算机系 系(部) 2015 — 2016 学年第(1)学期 《软件工程》课程设计 一、课程简介及基本要求 软件工程是一门指导软件开发和维护的工程学科,主要内容包括:软件项目管理、结构化分析和设计、面向…...