第四章 Web服务器(1)

news2024/11/27 7:31:28

1.www简介
        

        Web网络服务也叫WWW(World Wide Web 全球信息广播)万维网服务,一般是指能够让用户通过浏览器访问到互联网中文档等资源的服务

        Web 网络服务是一种被动访问的服务程序,即只有接收到互联网中其他主机发出的请求后才会响应,最终用于提供服务程序的 Web 服务器会通过 HTTP (超文本传输协议)HTTPS(安全超文本传输协议)把请求的内容传送给用户,如图:

1.1.常见Web服务程序介绍
        

        Windows系统中默认Web服务程序是IIS (Internet Information Services),这是一款图形化的网站管理工具,IIS程序不光能提供Web网站服务,还能够提供FTP、NMTP、SMTP等服务功能,但只能在Windows系统中使用

        2004 年10 月4 日,为俄罗斯知名门户站点而开发的 Web 服务程序 Nginx 横空出世。Nginx程序作为一款轻量级的网站服务软件,因其稳定性和丰富的功能而快速占领服务器市场,但Nginx最被认可的还当是低系统资源占用、内存少且并发能力强,因此得到了国内诸如新浪、网易、腾讯等门户站的青睐

       Apache--取自美国印第安人土著语Apache,寓意着拥有高超的作战策略和无穷的耐性,由于Apache--其跨平台和安全性广泛被认可且拥有快速、可靠、简单的API扩展。目前拥有很高的Web服务软件市场占用率,全球使用最多的Web服务软件,开源、跨平台 (可运行于Unix,linux,windows

        Tomcat一一属于轻量级的Web服务软件,一般用于开发和调试JSP代码,通常认为Tomcat是Apache的扩展程序

1.2.服务器主机


        网站是由域名、网页源程序和主机空间组成的,其中主机空间则是用于存放网页源代码并能够将网页内容展示给用户,虽然本小节与Apache服务没有直接关系,但如果您想要在互联网中搭建网站并被顺利访问,主机空间一定不能选错

        虚拟主机:在一台服务器中分出一定的磁盘空间供用户放置网站、存放数据等,仅提供基础的网站访问、数据存放与传输流量功能,能够极大的降低用户费用,也几乎不需要管理员维护除网站数据以外的服务,适合小型网站
        VPS(Virtual Private Server):在一台服务器中利用OpenVZ、Xen或KVM等虚拟化技术模拟出多个“主机”,每个主机都有独立的IP地址、操作系统,实现不同VPS之间磁盘空间、内存、CPU资源、进程与系统配置间的完全隔离,管理员可自由使用分配到的主机中的所有资源,所以需要有一定的维护系统的能力,适合小型网站

        云服务器(ECS):是一种整合了计算、存储、网络,能够做到弹性伸缩的计算服务,其使用起来与VPS几乎一样,但差别是云服务器建立在一组集群服务器中,每个服务器都会保存一个主机的镜像(备份),大大的提升了安全稳定性,另外还具备了灵活性与扩展性,用户只需按使用量付费的即可,适合大中小型网站。
        独立服务器:这台服务器仅提供给您使用,详细来讲又可以区分为租用方式与托管方式

                租用方式:用户只需将硬件配置要求告知IDC服务商,服务器硬件设备由机房负责维护,运维管理员一般需要自行安装相应的软件并部署网站服务,租期可以为月、季、年,减轻了用户初期对硬件设备的投入,适合大中型网站。

                托管方式:用户需要自行购置服务器后交给IDC服务供应商的机房进行管理(缴纳管理服务费用),用户对服务器硬件配置有完全的控制权,自主性强,但需要自行维护、修理服务器硬件设备,适合大中型网站
                另外有必要提醒,选择主机空间供应商时请一定要注意看口碑,综合分析再决定购买,某些供应商会有限制功能、强制添加广告、隐藏扣费或强制扣费等恶劣行为,一定一定不要上当!

1.3.主要数据


        服务器所提供的最主要数据是超文本标记语言 (Hyper Text Markup Language,HTML)、多媒体文件(图片、影像、声音、文字等,都属于多媒体或称为超媒体),HTML只是一些纯文本数据,通过所谓的标记来规范所要显示的数据格式

1.4.浏览器
 

        客户端收到服务器的数据之后需要软件解析服务器所提供的数据,最后将效果呈现在用户的屏幕上
        那么著名的浏览器就有内建在Windows操作系统内的IE浏览器 (淘汰)和Microsoft Edge,还有Firefox浏览器和Google的chrome浏览器

1.5网址及HTTP简介

        web服务器提供的这些数据大部分都是文件,那么我们需要在服务器端先将数据文件写好,并且放置在某个特殊的目录下面,这个目录就是我们整个网站的首页,在redhat中,这个目录默认在var/www/htm

           浏览器是通过你在地址栏中输入你所需要的网址来取得这个目录的数据的


1.5.1.URL


        Uniform Resource Locator,统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址
        网址格式:<协议>://<主机或主机名>[:port]/<目录资源,路径>**
        协议: : http、https、ftp等
        主机地址或者主机名: 主机地址就是服务器在因特网所在的IP地址。如果是主机名的话,那么就需要域名解析了
        端口号 (port): http为80,https为443 (IANA: 互联网数字分配机构)。

                    0-1023:永久地分配给固定的应用程序使用
                    1024-41951:注册端口,但要求不是特别严格,分配给程序注册为某应用使用                                  41952-60000:客户端程序随机使用的端口,动态端口,或私有端口

1.5.2.http请求方法:


        在http通信中,每个http请求报文都包含一个方法,用以告诉web服务器端需要执行哪些具体的动作,这些动作包括: 获取指定web页面、提交内容到服务器、删除服务器上资源文件等。

序号方法描还
1GET请求指定的页面信息,并返回实体主体,
2HEAD类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头        
3POST        向指定资源提交数据进行处理请求( 例提交表单或者上传文件 ),数据被包全在请求体中,POST请求可能会导致新的资源的建立和/或已有资源的修改。
4PUT从客户端向服务器传送的数据取代指定的文档的内容,
5DELETE请求服务器删除指定的页面。
6CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器
7OPTIONS允许客户精查者服务器的性能
8TRACE回显服务器收到的请求,主要用于测试或诊断

状态代码:由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。

        1xx: 指示信息一一 表示请求已接收,继续处理

        2xx:成功一一表示请求已被成功接收、理解、接
        3xx:重定向一一要完成请求必须进行更进一步的操作

        4xx:客户端错误一一请求有语法错误或请求无法实现
        5xx:服务器端错误一一服务器未能实现合法的请求

常见状态代码、状态描述的说明如下:

        200 0K:客户端请求成功
        400 Bad Request:客户端请求有语法错误,不能被服务器所理解

        401Unauthorized: 请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用
        403 Forbidden: 服务器收到请求,但是拒绝提供服务
        404 Not Found: 请求资源不存在,举个例子: 输入了错误的URL

        500Internal Server Error: 服务器发生不可预期的错误

        503 Server Unavailable: 服务器当前不能处理客户端的请求,一段时间后可能恢复正常

1.5.3.HTTP协议请求的工作流程


        终端客户在web浏览器地址栏输入访问地址http://www.ceshi.com:80/index.html

        web浏览器请求DNS服务器把域名www.ceshi.com解析成web服务器的IP地址

        web浏览器将端口号 (默认是80) 从访问地址 (URL) 中解析出来

         web浏览器通过解析后的ip地址及端口号与web服务器之间建立一条TCP连接

        建立TCP连接后,web浏览器向web服务器发送一条HTTP请求报文

        web服务器响应并读取浏览器的请求信息,然后返回一条HTTP响应报文

        web服务器关闭HTTP连接,关闭TCP连接,web浏览器显示访问的网站内容到屏幕上

1.6.www服务器的类型

1.6.1.静态网站

        仅提供用户浏览的单向静态网页单纯是由服务器单向提供数据给客户端,Server不需要与client端有互动,可以浏览网站,但是无法数据上传

1.6.2.动态网站

        该站可以让服务器与用户互动,'常见的例如留言板,博客。这种类型的网站需要通过“网页程序语言”来实现与用户互动的行为。常见的例如: PHP网页程序语言,配合数据库系统来进行数据的读、写。当你在向服务器请求数据时,其实是通过服务器端同一个网页程序在负责将数据读出或写入数据库,变动的是数据库的内容,网页程序并没有任何改变

        另外一种交互式的动态网页主要是在客户端实现。服务端将可执行的程序代码 (avaScript)传送给客户端,客户端的浏览器如果提供JavaScript的功能,那么该程序就可以在客户端的计算机上面工作了;另外一种可在客户端执行的就是flash动画格式,在这种动画格式内还可以进行程序设计


搭建动态网站的需求: LAMP (Linux+Apache+MySQL+PHP)

        Apache主要提供www的服务器平台

        MySQL: 传统的文件读取是很麻烦的,如果只要读取该文件当中的一小部分,系统还是会将整个文件读出来,若多个用户同时读取同一个文件时,那就会造成效率与系统上的问题,所以才会有数据库系统的推出。数据库其实是一种特殊格式的文件,这种文件要通过特殊接口(数据库软件)来进行读写。由于这个特殊接口已经针对数据的查询、写入做过优化设计,因此很适合多人同时写入与查询工作。
        PHP:PHP可以被用来建立动态网页,PHP程序代码可以直接在HTML网页当中嵌入,就像编辑HTML网页一样简单。PHP是一种“程序语言”,这种程序语言可以直接在网页当中编写,不需要经过编译即可执行

2.快速安装Apache

2.1 安装Apaxhe:

安装Apaxhe:

[root@node2 ~]# yum install httpd -y

利用getenforce查看SELinux状态:

若正在执行则用命令 

[root@node2 ~]# setenforce 0                将其关闭

关闭防火墙:

[fox@bogon ~]$ systemctl stop firewalld         #  临时关闭防火墙(重启设备后将再次自行启动)
[fox@bogon ~]$ systemctl disable firewalld      # 取消开机启动(重启设备后将不会自行启动)
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".

启动Apache:

[root@node2 ~]# systemctl start httpd            # 启动
[root@node2 ~]# systemctl enable httpd           # 开机启动
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@node2 ~]# systemctl status httpd           # 查看状态
● httpd.service - The Apache HTTP Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: d>
     Active: active (running) since Mon 2023-11-06 13:23:00 CST; 1min 59s ago
       Docs: man:httpd.service(8)
   Main PID: 2428 (httpd)
     Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes serve>
      Tasks: 213 (limit: 11984)
     Memory: 41.1M
        CPU: 460ms
     CGroup: /system.slice/httpd.service
             ├─2428 /usr/sbin/httpd -DFOREGROUND
             ├─2429 /usr/sbin/httpd -DFOREGROUND
             ├─2430 /usr/sbin/httpd -DFOREGROUND
             ├─2431 /usr/sbin/httpd -DFOREGROUND
             └─2432 /usr/sbin/httpd -DFOREGROUND

11月 06 13:22:57 node2 systemd[1]: Starting The Apache HTTP Server...
11月 06 13:22:59 node2 httpd[2428]: AH00558: httpd: Could not reliably determine the >
11月 06 13:23:00 node2 httpd[2428]: Server configured, listening on: port 80
11月 06 13:23:00 node2 systemd[1]: Started The Apache HTTP Server.

2.2 httpd所需目录

主配置文件所在目录:[root@node2 ~]# cd /etc/httpd/

主配置文件:[root@node2 httpd]# vim /etc/httpd/conf/httpd.conf 

存储默认网页的目录:[root@node2 httpd]# cd /var/www/html/

网站流量的日志以及错误日志文件: [root@node2 ~]# cd /var/log/httpd/

        [root@node2 httpd]# vim access_log 流量的日志

        [root@node2 httpd]#  vim error_log   错误日志

2.3主配置文件:

打开方式:[root@node2 httpd]# vim /etc/httpd/conf/httpd.conf 

全局参数:

ServerRoot "/etc/httpd":服务目录

Listen 80:监听端口号

Include conf.modules.d/*.conf: 加载模块储存位置
User apache                                                 
Group apache:Apache所用的工作组及账户
ServerAdmin root@localhost:管理员的邮箱
DocumentRoot "/var/www/html": 网页的启动目录

局部参数:<>   </>

目录访问权限:

<Directory />

    AllowOverride none     #  权限是否可以被覆盖改写 
    Require all denied        # 是否允许访问该目录
</Directory>                             

此处含义为不允许远程连接访问及改写本地更目录

用户访问网页的权限:

该局部参数一般与网页的启动目录一同出现

<Directory "/var/www">
    AllowOverride None      不允许权限被修改
    # Allow open access:
    Require all granted       允许访问该网页
</Directory>

2.4网站的搭建

2.4.1 快速搭建一个网站

[root@node2 httpd]# echo "welcome ti www.openlab.com"1 > /var/www/html/index.html\

                # 将字符串写入网页/index.html\ 
[root@node2 httpd]# ls /var/www/html/
index.html
[root@node2 httpd]# systemctl  restart httpd  重启服务

此时我们可以在VMwork中调用浏览器然后访问

        [root@node2 ~]# firefox

        输入网址:127.0.0.1或者192.168.17.132

注意:我们还可以在自己的win10浏览器上调用输入:192.168.17.132

也可以通过curl命令来验证网站是否搭建成功。

格式:        curl          IP地址           

作用:将网址下载到本机

2.4.2更换网页目录

第一步:准备工作

[root@node2 ~]# systemctl stop  firewalld              关闭防火墙          
[root@node2 ~]# systemctl  disable firewalld
[root@node2 ~]# setenforce 0                                关闭SELinux
[root@node2 ~]# yum install httpd -y                      安装软件
[root@node2 ~]# systemctl status httpd                  启动软件
[root@node2 ~]# systemctl enable httpd                 开机启动

第二步: 新建网页存储目录/web1,使用xftp将网页数据上传到/web1

[root@server ~]# mkdir /web1
[root@server ~]# cd /web1
[root@server web1]# Is

css        dingban.mp4         img        index.htm         js         temp

第三步:修改主配置文件                 
DocumentRoot        "/webl"                # 第124行修改为真实的网页存储目录
<Directory "/webl">                             # 第129行修改网页存储目录的访问权限

        Allowoverride None
       # A11ow open access:
        Require al] granted
</Directory>

第四步:重启服务器并测试
[root@server ~]# systemctl  restart httpd

windows端打开浏览器输入服务器地址

2.4.3 内网穿透

搭建网站使用花生壳进行内网穿透实现公网访问

第一步:准备工作

[root@node2 ~]# systemctl stop  firewalld              关闭防火墙          
[root@node2 ~]# systemctl  disable firewalld
[root@node2 ~]# setenforce 0                                关闭SELinux
[root@node2 ~]# yum install httpd -y                      安装软件
[root@node2 ~]# systemctl status httpd                  启动软件
[root@node2 ~]# systemctl enable httpd                 开机启动

第二步:搭建网站

# 将网页数据上传


root@server ~]# vim /etc/httpd/conf/httpd.conf                # 修改124及129行数据

DocumentRoot"/zy"

<Directory"/zy">
root@server ~]# systemct] restart httpd         # 重启服务

第三步:测试

浏览器中输入IP进行测试

第四步:使用花生壳进行内网穿透
        # 注册,登录,完成身份证的实名认证

进入贝瑞花生壳官网>注册(个人注册,使用手机号)

内网穿透第一步福创建内网映射,

立即创建:

添加映射: 

 具体信息如下:

如下:

        #应用名称: 自定
        # 映射类型: https
        # 外网域名: 系统指定,不能更改
        # 外网端口: 443,默认
        # 内网主机:本机linux服务的IP地址
        #内网端口: 本地linux端的http端口,默认80

创建成功后显示如下:

在官网复制Linux版的花生壳,复制链接并安装:

利用链接下载安装包:

安装:

接下来按照提示栏经行操作:

启动:[root@server ~]# phddns   start

                phtunnel service start success !       # 表示已启动

激活:利用提示的链接进入网站激活

激活成功时:

此时就可以使用使用图片中的链接访问所搭建的网站。

注:此时手机端也可以访问。

2.4.4  设置用户密码访问


        搭建一个个人用户主页功能网站,实现通过身份验证功能来访问数据

        如果想在系统中为每一位用户建立一个独立的网站,通常使用基于虚拟主机的功能来创建部署多个网站,但这个工作会让管理者苦不堪言,尤其是用户数据量很大的情况时,而且用户自行管理网站时,还会碰到权限限制,需要为此做很多额外的工作,其实,httpd服务程序提供的个人主页功能可以完全胜任此工作,该功能可以让系统内所有用户在自己的家目录中管理个人网站,且访问也非常容易

第一步:准备工作

        [root@node2 ~]# systemctl stop  firewalld              关闭防火墙          
        [root@node2 ~]# systemctl  disable firewalld
        [root@node2 ~]# setenforce 0                                关闭SELinux
        [root@node2 ~]# yum install httpd -y                      安装软件
        [root@node2 ~]# systemctl status httpd                  启动软件
        [root@node2 ~]# systemctl enable httpd                 开机启动

第二步:编辑httpd目录中的用户主页配置文件(不是httpd.conf文件)

        进入文件:[root@node2 ~]# vim /etc/httpd/conf.d/userdir.conf 

        将 UserDir disabled注释:

        将UserDir public_html释放:

                代表:启动网站存储数据的默认目录,路径: /home/账户名/public_htm]

第三步:新建账户设置权限问题。

[root@server ~]# useradd  andy

[root@server ~]# passwd  andy

        更改用户 andy 的密码

        新的密码                # 密码: 123456

        无效的密码:

        密码少于 8 个字符

        重新输入新的密码:
        passwd:所有的身份验证令牌已经成功更新。

[root@server ~]# useradd jenny

[root@server ~]# passwd jenny

        更改用户 jenny 的密码

        新的密码:

        无效的密码:

        密码少于 8 个字符

        重新输入新的密码:
        密码: 654321
        passwd:所有的身份验证令牌已经成功更新

切换到andv账户,设置存储网页目录即权限

[root@node2 ~]# su andy
[andy@node2 root]$ cd /home/andy/
[andy@node2 ~]$ ls
[andy@node2 ~]$ mkdir public_html
[andy@node2 ~]$ cd public_html/
[andy@node2 public_html]$ 

使用xftp将sxhkt网页数据上传到/home/andy/public_htm1目录中

[andy@server public_htmI]$ cd ~

[andy@server ~]$ chmod-Rf 755/home/andy

[andy@server ~]$ 11
        总用量 0
        drwxr-xr-x         7        andy         andy         100         8月 22 11:25         public_html

# 切换到jenny账户,设置存储网页目录及权限

[andy@server ~]$ su jenny

        密码:

[jenny@server andy]$ cd ~

[jenny@server ~]$ pwd

        /home/jenny

[jenny@server ~]$ mkdir public_html

[jenny@server ~]$ cd public_html/

[jenny@server public_html]$ cd
[jenny@server ~]$ chmod -Rf 755 /home/jenny
[jenny@server ~]$ 11

        总用量 0
        drwxr-xr-x         6        jenny         jenny         70         8月22 11:29         public_html

# 切换到root账户

[jenny@server ~]$ su root

密码:
[root@server jenny]# cd ~

[root@server ~]# pwd

/root

第四步:重启服务并操作

[root@server ~]# systemctl restart httpd

        测试:

        在windows端浏览器地址栏中,输入:

                192.168.48.130/~andy

                192.168.48.130/~jennyy

第五步:增加密码访问控制:

[root@server ~]# htpasswd         -c                                 /etc/httpd/passwd         andy

                                           创建存储密码的文件            存储密码的文件(密文)  用户名

New password:

Re-type new password:
Adding password for user andy
# 分析:
        # htpasswd: 生成密码数据的命令

        # -C: 表示第一次生成,会创建存储密码加密密文的存储文件,之后创建时不能增减-C参数,否则会将存储密码密文的文件会覆盖

        ​# ​​​​​​andy需要验证密码登录的账户

[root@server ~]# htpasswd /etc/httpd/passwa jenny

New password:                                #v密码: 654321
Re-type new password:

Adding password for user andy

第六步: 编辑个人主页配置文件,设置访问控制策略

[root@server ~]# vim /etc/httpd/conf.d/userdir.conf

# 定位最后一行输入以下内容:
<directory "/home/andy/public_htm1">            # 设置andy账户目录的区域配置

        authuserfile        "/etc/httpd/passwd"        # 设置验证密码的存储文件位置

        authname           "My privately                  #登录时的提示信息,可能不显示

        authtype              basic                             # 加密模式
        require        user         andy

</directory>                                                      # 需要验证密码的账户名                                  

<directory "/home/jenny/public_htm1">          

        authuserfile        "/etc/httpd/passwd"      

        authname           "My privately                

        authtype              basic                        
        require        user         jenny

</directory> 

第七步:从其服务并测试
[root@server ~]# systemct] restart httpd
# 在windows端浏览器地址栏中,输入以下 
        # 192.168.48.130/~andy
        # 192.168.48.130/~jenny

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

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

相关文章

LINQ to SQL系列三 使用DeferredLoadingEnabled,DataLoadOption指定加载选项

介绍linq to sql 的 DataContext类DeferredLoadingEnabled属性使用,以及DataLoadOptions限定加载相关表数据的LoadWith和AssociateWith方法。 本文中举例用到的数据模型如下: Student和Class之间是多对一关系,Student和Course之间是多对多关系。 DataContext的DeferredLo…

使用oracle虚拟机添加新硬盘

1、关闭运行的虚拟机后配置 单击选择要配置的oracle虚拟机&#xff0c;单击设置–>存储—>控制器&#xff0c;单击添加虚拟硬盘图标。 2、配置硬盘 单击“创建”&#xff0c;单击“下一步”&#xff0c;选择需要创建的虚拟硬盘大小&#xff0c;完成创建。 完成创建后…

基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖(一)

熟悉项目环境 1. 苍穹外卖项目介绍1.1 项目介绍1.2 技术选型 2. 开发环境搭建2.1 前端环境2.2 后端环境搭建2.3 Git版本控制2.4 nginx反向代理和负载均衡 3.登录功能4. Swagger4.1 介绍4.2 使用步骤4.3 常用注解 1. 苍穹外卖项目介绍 1.1 项目介绍 苍穹外卖是专门为餐饮企业&…

SRC | CORS跨资源共享漏洞

CORS跨资源共享 跨源资源共享 (CORS) 是一种浏览器机制&#xff0c;允许网页使用来自其他页面或域的资产和数据。 大多数站点需要使用资源和图像来运行它们的脚本。这些嵌入式资产存在安全风险&#xff0c;因为这些资产可能包含病毒或允许服务器访问黑客。 CORS响应头 CORS通…

C-DS二叉树_另一棵树的子树

Description 给你两棵二叉树tree1和tree2,检验tree1中是否包含和tree2具有相同结构和结点值的子树。如果存在,输出true;否则,输出false。 Input 第一行输入t,表示有t个测试样例。 第二行首先输入n1,接着输入n1个整数,表示二叉树tree1。 第三行首先输入n2,接着输入n…

Keras人工智能神经网络 Classifier 分类 神经网络搭建

前期我们分享tensorflow以及pytorch时&#xff0c;分享过tensorflow以及pytorch的分类神经网络的搭建步骤&#xff0c;在哪里我们使用的训练集是mnist&#xff0c;同样Keras分类神经网络的搭建&#xff0c;我们同样使用mnist数据集来进行分类神经网络的搭建&#xff08;有关mni…

【NI-DAQmx入门】NI-DAQmx之Python

NI-DAQmx Python GitHub资源&#xff1a; NI-DAQmx Python 文档说明&#xff1a;NI-DAQmx Python Documentation — NI-DAQmx Python API 0.9 documentation nidaqmx支持 CPython 3.7和 PyPy3&#xff0c;需要注意的是多支持USB DAQ和PCI DAQ&#xff0c;cDAQ需要指定…

改进的yolov5

The networkstructure of these models is constant, but the modules and con-volution kernels are scaled, which alters the complexity and sizeof each model.&#xff08;这些模型的网络结构是恒定的&#xff0c;但模块和卷积核被缩放&#xff0c;这改变了每个模型的复杂…

自动驾驶算法(五):基于遗传算法的路径规划(上)

目录 1 遗传算法介绍 2 遗传算法代码详解--绘制地图与种群初始化代码讲解 1 遗传算法介绍 模拟生物进化过程&#xff0c;物竞天择&#xff0c;适者生存。 我们先为栅格地图进行编码&#xff1a;从起点0出发到终点24这个栅格。我们首先有一条路径&#xff08;0&#xff0c;6&a…

最近面了12个人,发现连这种基础题都答不上来.....

一般面试我都会问一两道很基础的题目&#xff0c;来考察候选人的“地基”是否扎实&#xff0c;有些是操作系统层面的&#xff0c;有些是 python语言方面的&#xff0c;还有些… 深耕IT行业多年&#xff0c;我们发现&#xff0c;对于一个程序员而言&#xff0c;能去到一线互联网…

golang工程中间件——redis常用结构及应用(string, hash, list)

Redis 命令中心 【golang工程中间件——redisxxxxx】这些篇文章专门以应用为主&#xff0c;原理性的后续博主复习到的时候再详细阐述 string结构以及应用 字符数组&#xff0c;redis字符串是二进制安全字符串&#xff0c;可以存储图片等二进制数据&#xff0c;同时也可以存…

ns3入门基础教程

ns3入门基础教程 文章目录 ns3入门基础教程ns环境配置测试ns3环境ns3简单案例 ns环境配置 官方网站&#xff1a;https://www.nsnam.org/releases/ 代码仓库&#xff1a;https://gitlab.com/nsnam/ns-3-dev 如果安装遇到问题&#xff0c;可以参考以下博文&#xff1a; https://…

19、Flink 的Table API 和 SQL 中的内置函数及示例(1)

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

吴恩达《机器学习》6-4->6-7:代价函数、简化代价函数与梯度下降、高级优化、多元分类:一对多

一、代价函数 逻辑回归的代价函数是用来度量模型预测与实际结果之间的差异的。与线性回归使用均方误差不同&#xff0c;逻辑回归使用的代价函数在数学上更为复杂。为了理解逻辑回归的代价函数&#xff0c;首先要明白逻辑回归的假设函数&#xff1a; ℎ&#x1d703;(&#x1…

【高德地图API】JS高德地图API实现多边形绘画,高德获取多边形提交数据

目录 前言效果实现引入js 在项目中使用效果图引入htmlCSS具体实现JS调用说明添加的时候修改的时候判断是否在范围内 java绘画和判断是否在范围内pom.xml依赖引入import引入实现 前言 高德地图官方API&#xff1a;https://lbs.amap.com/demo/javascript-api/example/overlayers…

计算机编程软件编程基础知识,中文编程工具下载分享

计算机编程软件编程基础知识&#xff0c;中文编程工具下载分享 给大家分享一款中文编程工具&#xff0c;零基础轻松学编程&#xff0c;不需英语基础&#xff0c;编程工具可下载。 这款工具不但可以连接部分硬件&#xff0c;而且可以开发大型的软件&#xff0c;象如图这个实例…

LangChain+LLM实战---用AI(大模型)重构推荐系统

原文&#xff1a;Reimagining the Recommendation Engine AI助手的崛起 人工智能正在改变我们与在线应用程序互动的方式。目前&#xff0c;我们使用搜索引擎、新闻源和精心设计的菜单来导航&#xff0c;这些菜单引导我们找到所需的信息或服务。然而&#xff0c;我相信目前人工…

【IK分词器安装】

安装IK分词器&#xff1a; 下载链接&#xff08;如果es版本不同可以修改下版本号&#xff09;&#xff1a;https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip 通常下载是比较慢的&#xff1a;有需要可以从…

OFDM同步--载波频率偏差CFO

参考书籍&#xff1a;《MIMO-OFDM无线通信技术及MATLAB实现》 实验图基本都截取自该本书 一、什么是CFO OFDM解调是采用同步检波的方式&#xff0c;需要在接收机使用与发射机相同的载波信号进行向下变换恢复出基带信号。但在实际使用中无法获得完全相同的载波信号&#xff0c;…

Mybatis-Plus自动填充功能配置和使用 [MyBatis-Plus系列] - 第494篇

历史文章(文章累计490+) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《