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

PHP与MYSQL结合中中的一些常用函数,HTTP协议定义,PHP进行文件编程,会话技术

MYSQL:

查询函数:

执行查询语句:

1.mysql_query("SQL语法");

凡是执行操作希望拿到数据库返回的数据进行展示的(结果返回: 数据结果);

2.执行结果的处理:成功为结果集,失败为false;

成功返回结果:SQL指令没有错误,但是查询结果本身为空也返回true(结果集是一种资源:转换成bool永远为TRUE)

失败为false:SQL指令有问题

获取结果集行数:

mysqli_num_rows(SQL指令变量);

<meta charset="utf-8    " />
<?php
include 'Untitled-1.php';$ress = "select * from n_name ";
$result = mysqli_query($mysqli,$ress);
if($result){$eses = mysqli_num_rows($result);echo '结果字符集'.$eses;//释放结果集内存
}else{echo '查询执行失败'.mysqli_error($mysqli);
}mysqli_close($mysqli); //var_dump(mysqli_num_rows($mysqli,$ress));
?>

解析结果集:

将一种结果集资源(PHP不能直接使用),转换成一种PHP能够解析的数据格式,通过从结果集中(结果集指针,类似数组指针),按照结果集指针所在位置取出对应的一条记录(一行),返回一个数组,同时指针下移……直到指针移出结果集.

myqsli_fetch_assoc(变量);

获取关联数组,表的表单名字作为数组下标,元素值作为数组元素值。

mysqli_fetch_row(变量):

获取索引数组,只获取数据的值,然后数组的下标从0开始自动索引。

mysqli_fetch_array:

获取关联后者索引数组,但是默认是同时存在的:一个记录取两次,形成一组是关联数组,一组是索引数组;但是可以通过第二个参数来决定获取的方式

补:MYSQL_ASSOC 只获取关联数组,MYSQL_NUM只获取数组,MYSQL_BOTH获取全部两种:

常用相关函数:

mysqli_num_fields(变量):

获取一个指定结果种所有的字段数

mysqli_fetch_field_direct():

函数返回的是一个 stdclass对象(代表字段元数据 )

有关出错信息:

mysqli_error(变量):

获取出错对应的提示信息

mysqli_errno(变量):

获取出错对应的错误提示代号

错误的判断:基于Mysql_query这个函数执行的结果,结果返回false就代表执行错误

其他函数:

mysqli_insert_id():

获取上次插入操作所产生的自增长ID,如果没有自增长ID就返回0

HTTP协议:

HTTP协议概念:

HTTP协议,即超文本传输协议。是一种详细规定了服务器和万维网服务器之间相互通信的规则,通过因特网传送万维网文档的数据传送协议。

HTTP协议是用来从www服务器传输超文本到本地浏览器的传送协议。它可以使服务器更加高效,使网络传输更少.它不仅保证计算机正确快速的传输超文本文档,还确定了传输文档的哪一部分,已经哪一部分内容首先显示(如文本先于图形)等.

HTTP协议特点:

1.客户/服务器模式:客户端(浏览器)服务端

2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。由于HTTP协议简单,

使得HTTP服务器的程序规模小,因而通信速度很快。

3.灵活:HTTP允许传输任意类型的数据对象

4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并

收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状

态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据

量增大。另一方面,在服务器不需要先前信息时它的应答就较快。·

HTTP协议分类:

HTTP请求协议:浏览器向服务器发起请求的时候需要遵循的协议

HTTP响应协议:服务器向浏览器发起响应的时候需要遵循的协议

HTTP请求:

请求行:

形式:请求方式 资源路径 协议版本号

GET/index.php HTTP1.1

请求行独占一行(第一行 )

请求头:

请求头就是各种协议内容,具体的协议内容不会每次都使用全部

1.Host:请求的主机地址( 必须 );

2.Accept:当前请求能够接收服务器返回的类型(MIME类型);

3.Accept-Language:接收的语言;

4.User-Agent:客户服务器所在点的一些信息

注:请求头不固定数量,每个请求协议也是独占一行,最后会有一行空行(用来区分)

请求体:

请求数据:POST请求会有请求体.GET请求所有的数据都是跟在URL之后的,会在请求行中的资源路径上体现.

基本格式:资源名字=资源值&&资源名字=资源值……

HTTP响应:

响应行:

1.形式:协议版本号 状态码 状态信息(独占一行)

HTTP/1.1 200 ok;

2. 200 ok:成功;

3. 403 Forbidden: 没权限访问;

  1. 404 Not Found:未找到页面;

5. 500 Server Internal Error: 服务器内部错误;

响应头:

具体协议内容:

  1. 时间:web,16 Sep 2017 11:43:33 GMT
  2. 服务器: Server: Apache/2.2.22 (win32) PHP/5.3.13
  3. 内容长度:Content-Length:1571,数据具体的字节数(响应体);
  4. 内容类型:Content-Type:text/html:告诉浏览器对应的数据格式

列举了几个常见的响应头,并不是:响应头一个占一行

响应体:

实际服务器响应给浏览器的内容

常用HTTP状态码:

状态码 200 :成功

状态码 403 :forbidden,拒接访问(没有权限)

状态码 404 : NOT FOUND , 找不到(客户端出错了)

状态码 500 :服务器问题

1XX:

服务器正在处理中:

2XX:

3XX:

请求的目标已经转移或者需要更新:

4XX:

客户端(服务器)出错了

5XX:

服务器错误

常见HTTP响应设置及使用:

PHP中针对HTTP协议(响应)进行了底层设计,可以通过函数header来实现修改HTTP响应(响应头)

注意事项:

1、Header可以设计HTTP响应,因为HTTP协议特点是:响应行,响应头(空行结尾),响

应体。认为通过header设计响应头的时候,不应该有任何内容输出,所以一旦产生内容输

出(哪怕一个空格),系统都会认为响应头已经结束而响应体开始了,所有如果先输出内容

后设置响应头(header使用),理论设置无效;

2、在PHP5以后,增加程序缓存内容:允许服务器脚本在输出内容的时候,不直接返回刘

览器而是先在服务器端使用程序缓存保留(php.ini中使用output buffering),有了该内容之

后,在程序缓存内会自动调整响应头和响应体(允许响应头在已经输出的内容之后再设置),

但是此时会报错(警告)。

总结:header设置响应体之前不要有任何输出

location:重定向,立即跳转(响应体不用解析)

浏览器在解析服务器响应的时候:先判定响应行,继续响应头,最后响应体:location是在响应头中,所有浏览器一旦见到该协议项,不再往下解析.

Refresh:重定向,定时跳转(响应体会解析)

延时重定向,浏览器会根据具体时间延迟后在访问指定跳转链接:浏览器在准备跳转访问之前,会继续解析HTTP协议(响应头和响应体)

Content-type:内容类型,MIME类型

通过内容告知(MIME类型),浏览器正确解析内容

转换后:

content-disposition: 内容类型,MIME类型扩展,激活浏览器文件下载对话框

浏览器在解析内容的时候,默认是直接解析,那么有时候需要浏览器不解析,当做一个内容下载成文件

点击后立马下载成功:

PHP模拟HTTP请求:

原理:

PHP可以通过模拟HTTP协议发起HTTP请求

CURL是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等,我们使用它

来发送HTTP请求。它给我们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,

并且支持HTTPS。CURL可以根据URL前缀是“HTTP”还是“HTTPS”自动选择是否加密发

送内容。

前提条件:HTTP协议的客户端/服务端模式,HTTP协议不局限于一定要刻览器访问

curl扩展库使用:

1.建立连接:curl_init():激活一个curl连接功能

2.设置请求选项:

基本语法:Curl_setopt(变量,操作,文件地址):设定(连接)选项

//文件地址也可以写成布尔类型,意为文件流形式返回数据(不直接显示)

操作:

curlopt_url:连接对象

curlopt_returntransfer:将服务器执行的结果(响应)以文件流的形式返回请求界面(php脚本)

curlopt_post:是否才有post方式发起请求(默认请求时GET)

curlopt_postfields:用来传递post提交的数据,分为两种方式:字符串(name=abc&password=123),

以及数组形式(array('name'=>'abc',……))

curlopt_header:是否得到响应的header信息(响应头),默认不获取。

3.执行请求:curl_exec():执行选项(与服务器发起请求),得到服务器返回的内容

4.关闭请求:curl_close():关闭资源

文件编程:

文件编程的必要性:

文件编程指利用PHP代码针对文件(文件夹)进行增删改查操作.

在实际开发项目中,会有很多内容(文件上传,配置文件等)具有很多不确定性,不能在一开始就手动的创建,需要根据实际需求和数据本身进行管理,这个时候就可以使用PHP文件编程来实现代码批量控制和其他操作

文件编程的分类:

1.目录操作:文件夹,用来存放文件的特殊文件

2.文件操作:用来存放内容

路径操作(增删改查):

目录操作:

文件操作创建目录结构:

1.mkdir(路径名字):创建成功返回true,创建失败返回false

//一般来说创建失败的原因有2

1.路径错误

2.已有该文件

错误:

应该加上错误抑制符:@

删除操目录:

rmdir(指定文件夹目录):移出文件夹

读取目录:

读取方式:将文件夹(路径)按照资源方式打开

1.opendir():打开资源,返回一个路径资源,包含指定目录下的所有文件(文件夹);

2.readdir():从资源中读取指针所在位置的文件名字,然后指针下移,直到指针移出资源

又或者循环遍历:

如果已经没有资源了,再往下就不会在运行了:

关闭目录:

closedir():关闭资源

其他目录操作:

1.dirname(一个路径):得到的是路径的上一层路径

2.realpath(一个路径/文件):得到真实的路径信息(目录路径)

3.is_dir(一个路径):判断指定路径是否是一个目录

同理,如果是文件,结果也是false

4.scandir():

封装版的opendir/readdir/closedir,获取一个指定路径下的所有文件信息(第一层),以数组的形式返回

文件的形式就会报错:

递归遍历目录:

递归遍历目录:指定一个目录的情况下,将其下所有的目录和文件,及其目录内容的所有内容都输出出来。

递归遍历目录:指定一个目录的情况下,将其下的所有文件和目录,及其目录内部的所有内容都输出出来。

递归算法:将大问题切成相似的小问题(最小单位),然后可以调用解决大问题的方法来解决小问题。

递归函数:函数如果自己内部调用自己,该函数称之为递归函数。

递归遍历目录的思维逻辑:

1.设计一个能够遍历一层文件的函数:

a.创建函数

b.安全判定:是路径才访问

c.读取全部内容,遍历输出

2.找到递归,点:遍历得到的文件是目录,应该调用当前函数(调用自己):

a.需要构造路径(遍历得到的结果只是文件的名字)

b.需要注意除 “ . ” 和“ .. ”;

3、找到递归出口:遍历完这个文件夹之后,发现没有任何子文件夹(函数不再调用自己)

foreach自带递归出口

结果:

4、如问显示层级关系?

函数第一次运行遍历的结果是最外层目录,内部调用一次说明进入一个子目录,子目录再调用一次函数进行孙子目录如果能够在第一次调用的时候给个标记,然后在进入的时候,通过标记的变化来识别层级关系,就可以达到目的:该标记还能代表层次关系:缩进。

a.在函数参数中增加一个标记:默认值为0

b.递归调用的时候也需要使用该参数:但是是属于当前层级的子级,所以+1

c.根据层级缩进:str_repeat()

<?phpheader('Content_type:text/html;charset=utf-8');$res = 'xxx';function my_scandir($res,$lench = 0){if(!is_dir($res)){//保证文件安全,如果不是路径没有必要往下echo '没有路径';return ;}//读取全部路径信息,遍历输出$files = scandir($res);foreach($files as $file){//$file就是一个个文件名echo str_repeat("&nbsp;&nbsp",$lench) ,$file . '<br/>';//排除.和..if($file == '.' || $file == '..'){continue;}//构造路径$files_dir = $res.'/'.$file;if(is_dir($files_dir)){my_scandir($files_dir,$lench+1);}}}//测试my_scandir($res);
?>

设计知识点:

str_repeat 函数

str_repeat 是 PHP 的内置函数,作用是将指定字 符串 重复指定次数。它有两个参数,第一个参数是要重复的字符串,第二个参数是重复的次数。在这句代码中,str_repeat("&nbsp;&nbsp;",$lench) 就是将 "&nbsp;&nbsp;" 这个字符串重复 $lench 次 。

&nbsp; 的含义

&nbsp; 是 HTML 中的一种实体字符,代表一个空格 。在 HTML 文档中,普通的空格在多个连续出现时,浏览器会自动将其合并为一个空格来显示。而使用 &nbsp; 可以确保每个实体字符都显示为一个独立的空格。这里 "&nbsp;&nbsp;" 表示两个空格,通过 str_repeat 函数重复若干次,就能产生一定数量的空格效果。

文件操作:

常用文件操作函数:

file_get_contents(文件路径):获取指定文件的所有内容

如果路径不存在,最好做安全处理

file_put_contents(文件路径,内容):将指定内容写入指定文件内

如果当前路径不存在指定的文件,函数会自动创建(如果路径不存在,不会创建路径)

fopen(文件路径,打开模式):打开一个文件资源,限定打开模式

fread(资源,长度):从打开的资源中读取指定长度的内容(字节)

fwrite(资源,内容):向打开的资源中写入指定的内容

fclose(资源):关闭资源

相关函数:

is_file():判断文件是否正确(不识别路径);

filesize():获取文件大小

file_exists():判断文件是否存在(识别路径);
 

unlink():取消文件名字与磁盘地址的连接(删除文件);

filemtime():获取文件最后一次修改的时间

fseek():设定fopen打开的文件的指针位置

fgetc:一次获取一个字符

fgets():一次获取一个字符串(默认行)

file():读取整个文件,类似file_get_contents,区别是按行读取,返回一个数组

文件下载:

文件下载:从服务器将文件通过HTTP协议传输到浏览器,浏览器不解析保存成相应的文件。

提供下载方式可以使用HTML中的a标签:<a href="互联网绝对文件路径”>点击下载</a>

1、缺点1:a标签能够让浏览器自动下载的内容有限:浏览器是发现如果解析不了才会启用下载,如果能解析便不会下载

2、缺点2:a标签下载的文件存储路径会需要通过hf属性写出来,这样会暴露服务器存储数据的位置(不安全);

PHP下载:

读取文件内容,以文件流的形式传递给浏览器,在响应头中告知浏览器不要解析,激活下载框实现下载

1.指定浏览器解析字符集

2.设定响应头

a.设定文件返回类型:image/jpg || application/octem-stream

b. 设定返回文件计算方式:Accept-ranges:bytes

c. 设定下载提示:'content-disposition:attachment;fileename=' . 文件名字

d.设定文件大小:'Accept-length:' . 文件大小(字节)

//普遍使用filesize(文件名)来表示文件大小

//如果文件的名字是从文件夹里面读取出来,而且存在中文,那么如果直接使用名字作为下载名字会出现乱码,出现这种情况需要进行字符集转码,从GBK专成UTF-8:iconv(GBK,UTF-8,文件名字);

3.读取文件

4.输出文件

方案1:如果文件较小,可以直接使用文件函数操作:file_get_contents(文件名);

方案2:文件比较大,网络不是很好:使用文件操作方式:一次读一点

<?php//php文件下载$file = 'oende3';header( 'content-type:application/octem-stream');header('Accept-ranges:bytes');header('content-disposition:attachment;fileename='.$file);header('Accept-length:' . filesize($file));//输出文件//PHP:小文件//echo file_get_contents($file);//PHP:大文件$f = @fopen($file,'r') or die();while ($rew = fread($f,1024)){echo $rew;}?>

或者:

<?php//php文件下载$file = 'oende3';header( 'content-type:application/octem-stream');header('Accept-ranges:bytes');header('content-disposition:attachment;fileename='.$file);header('Accept-length:' . filesize($file));//输出文件//PHP:小文件//echo file_get_contents($file);//PHP:大文件$f = @fopen($file,'r') or die();while (!feof($f)){echo fread($f,1024);}//关闭资源fclose($f);
?>

补充:

结果(已经成功,只是页面没有改变而已):

会话技术:

初步认识:

web会话可简单理解为:用户开一个浏览器,访问某一个web站点,在这个站点点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。

HTTP协议的特点是无状态无连接,当一个浏览器连续多次请求同一个web服务器时,服务器是无法区分多个操作是否来自于同一个浏览器(用户)。会话技术就是通过HTTP协议想办法让服务器能够识别来自同一个浏览器的多次请求,从而方便浏览器(用户)在访问同一个网站的多次操作中,能够持续进行而不需要进行额外的身份验证。

会话技术分类:

cookie技术

cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式.

cookie是由web服务器保存在用户浏览器(客户端)上的小文本文件(HTTP协议响应头),它可以包含有关用户的信息。无论何时用户链接到服务器(HTTP请求携带数据),web站点都可以访问cookie信息.

session技术

Session直接翻译成中文比按困难,一般都译成时域。

在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。以及如果需要的话,可能还有一定的操作空间。

Session技术是将数据保存到服务器端,无论何时用户链接到服务器,Web站点都可以访问Session信息.

SESSION技术的实现是依赖COOKIE技术的。

区别:
1.安全性方面:
  1. session存储服务器端,安全性高
  2. cookie存储浏览器端,安全性低
2.数据大小方面:
  1. cookie的数量和大小都有限制(20个/4k)
  2. session数据存储不限
3.可用数据类型:
  1. cookie只能存储简单数据,数值/字符串
  2. session可以存储复杂数据(自动序列化)
4.保存位置方面
  1. cookie保存在浏览器上
  2. session保存在服务器上

COOKIE:

工作原理:

服务器将数据通过HTTP响应存储到浏览器上,浏览器可以在以后携带对应的cookie数据访问服务器;

1.第一次请求时,PHP会通过setcookie函数将数据通过http协议响应头传输给浏览器;

2.浏览器在第一次响应时将cookie数据保存到浏览器;

3.浏览器后续请求同一个网站的时候,会自动检测是否存在cookie数据,如果存在将在请求头中将数据携带到服务器;

4.PHP执行的时候会自动判断浏览器请求中是否携带cookie,如果写到,自动保存到$_cookie中;

5.利用$_cookie访问cookie数据。

交互过程:

COOKIE的基本使用:

设置cookie信息息

setcookie函数用来设置cookie信息

setcookie(名字,值);

  1. cookie名的设置:字符串,第一个参数
  2. cookie值的设置:第二个参数
  3. cookie值的类型要求:必须是简单类型中的整数或者字符串

查看:F12 => application(应用程序) => cooies

读取cookie信息:

1.$_COOKIE数组的使用

同时:

COOKIE高级:

cookle生命周期:


cookie在浏览器生存时间(浏览器在下次访问服务器的时候是否携带对应的cookie)

  1. 默认(不设定)是的生命周期:不设定周期默认是关闭浏览器(会话结束)
  2. 设定一个常规日期戳的周期:通过setcookie第三个参数可以限定生命周期,是用时间戳来管理,从格林威治时间开始

在经过重启后,a1和a2都消失了

  1. 设定一个" 0 "的周期:在第三个参数设置为0代替时间戳的时候,表示的就是普通设置,相当于没有,会话结束过期
  2. 删除一个cookie的做法

服务器没有权限去操作浏览器上的内容(不可能删除),可以 通过设定生命周期来让浏览器自动判定cookie是否有效,无效 就清除

a. 清空cookie数据内容

b. 设定时间戳过期

COOKIE适用范围:

作用范围:不同的文件层级中,设定的C00KIE默认是在不同的文件夹下有访问限制。上层文件夹中设定的C00KIE可以在下层(子文件夹)中访问,而子文件夹中设定的C00KIE不能在上层文件夹中访问。(就是子能看到父,而父看不到子)

  1. 默认(不设定)的范围,就是使用cookie默认的作用范围

  1. 设定为"/"的含义:告知浏览器当前cooie的作用范围是网站根目录(就是设定全局都可以访问,父也可以访问子问);

语法:setcookie(名字,值,生命周期,'/')

COOKIE跨子域:

跨子域:在同一级别域名下,myitcast.com(一级域名),可以有多个子域名(www.myitcast.com 和 gz.myitcast..com) , 他们之间是搭建在不同的服务器上(不同文件夹:E:/server/apache/htdocs和E:web) , 但是可以通过COOKIE设置实现对应的COOKIE共享访问,但是默认是不允许跨域名访问的。

  1. 设定cookie的有效域名,不同的域名(包含主机)之间不能共享cookie,可以通过setcookie的第五个参数进行控制

基本语法:setcookie(名字,值,生命周期,作用范围,有效域名)

//意为,凡是以有效域名为结尾的网站都可以共享

不设定时的默认有效域名

  1. 3)跨子域的设定方法:在设定域名访问的时候用设定上级域名即可:myitcast..com,这个是有所有以myitcast.com结尾的网站都可以共享COOKIE

COOKIE数组使用:

C00KIE本身只支持简单数据(数字或者字符串),能的够保留的数据本身有限,也不成体系。

如果需要使用C00KE来保留一组数据的化,想办法凑成数组。(C00KIE不支持数组)

  1. 设置形式:setcookie('cl[k1]',值)

  1. 读取形式:$_COOKIE['c1']['k1']

注:

相关文章:

PHP与MYSQL结合中中的一些常用函数,HTTP协议定义,PHP进行文件编程,会话技术

MYSQL&#xff1a; 查询函数: 执行查询语句: 1.mysql_query("SQL语法"); 凡是执行操作希望拿到数据库返回的数据进行展示的(结果返回: 数据结果); 2.执行结果的处理:成功为结果集&#xff0c;失败为false; 成功返回结果:SQL指令没有错误&#xff0c;但是查询结果…...

MapReduce 分布式计算模型

练习题 单词计数 需求&#xff1a;统计每个单词数量 "Hello World Hello Hadoop Hello MapReduce" 实现&#xff1a; map阶段&#xff1a;拆分成单词&#xff0c;执行map函数输出键值对<word, 1> <Hello, 1> <World, 1> <Hello, 1> <…...

Vue3 + Element Plus 防止按钮重复点击的解决方案

在 Vue3 和 Element Plus 项目中&#xff0c;防止按钮重复点击是一个常见的需求&#xff0c;特别是在表单提交、支付等场景下。以下是几种实现方式&#xff1a; 1. 使用 Element Plus 的 loading 状态 Element Plus 的按钮组件本身就支持 loading 状态&#xff0c;这是最简单…...

测试工程师学LangChain之promptTemplate 实战笔记

一、引言:大模型时代的测试自动化革命 2025 年,随着大模型(如 DeepSeek)在自动化测试领域的广泛应用,Prompt 编写已成为测试工程师的核心技能之一。 为什么? 大模型输出的质量 90% 取决于输入的 PromptLangChain 的 PromptTemplate 提供了参数化 Prompt 的标准化方案Ope…...

OpenCV计算机视觉实战(9)——阈值化技术详解

OpenCV计算机视觉实战&#xff08;9&#xff09;——阈值化技术详解 0. 前言1. 全局阈值与自适应阈值2. Otsu 算法3. 实战案例&#xff1a;文档扫描中的二值化处理4. 算法对比小结系列链接 0. 前言 在图像处理领域&#xff0c;阈值化 (Binarization) 技术就像一把魔术剪刀&…...

【Tauri2】049——upload

前言 这篇就看看一个简单地插件——upload Upload | Taurihttps://tauri.app/plugin/upload/upload的英文意思是“上传&#xff08;程序或信息&#xff09;”。 看来是用来上传文件的。 支持移动端 正文 安装 pnpm tauri add upload 在前后端都会安装&#xff0c;即 .plug…...

4、数据标注的武林秘籍:Label-Studio vs CVAT vs Roboflow

开篇痛点&#xff1a;90%的模型效果取决于数据质量 "标注3小时&#xff0c;训练5分钟"——这是很多AI工程师的真实写照。上周有位读者训练YOLOv12时发现&#xff0c;同样的代码&#xff0c;换批数据mAP直接跌了15%&#xff0c;根本原因是标注不规范&#xff01;本文…...

MATLAB项目实战:阻尼振动与数据拟合项目

关键技能点说明: 函数定义与匿名函数 使用匿名函数定义微分方程:damped_osc = @(t, Y) [...] 自定义拟合模型函数:model = @(b, t) b(1).*exp(...) 符号计算(可选) 使用符号数学工具箱求解析解:dsolve、diff、simplify 符号表达式数值化:subs + double 数值算法实现 ODE…...

74道Node.js高频题整理(附答案背诵版)

简述 Node. js 基础概念 &#xff1f; Node.js是一个基于Chrome V8引擎的JavaScript运行环境。它使得JavaScript可以在服务器端运行&#xff0c;从而进行网络编程&#xff0c;如构建Web服务器、处理网络请求等。Node.js采用事件驱动、非阻塞I/O模型&#xff0c;使其轻量且高效…...

Linux 基础IO(上)

目录 前言 重谈文件 文件操作 1.打开和关闭 2.对文件打开之后操作 理解文件fd 1.文件fd的分配规则与重定向 2.理解shell中的重定向 3.关于Linux下一切皆文件 关于缓冲区 1.为什么要有缓冲区 2.缓冲区刷新策略的问题 3.缓冲区的位置 前言 本篇到了我们linux中的文件…...

如何加载私钥为 SecKeyRef

本文介绍如何在 iOS/macOS 下将私钥加载为 SecKeyRef&#xff0c;涵盖 PEM 格式的 ECC 密钥读取、X9.63 数据构建、以及与 Keychain 的集成。 1. 使用 SecKeyCreateWithData 加载私钥 Apple 提供的 SecKeyCreateWithData 方法可以直接将密钥数据加载为 SecKeyRef 对象。 SecK…...

@Pushgateway自定义脚本推送数据

文章目录 Pushgateway 自定义脚本推送数据1. 目的2. 适用范围3. 前提条件4. 操作流程4.1 确定指标类型和格式4.2 编写推送脚本方法一:使用 curl 命令行推送方法二:使用 Python 脚本推送方法三:使用 Python 客户端库推送4.3 设置定时任务4.4 验证数据5. 高级配置5.1 使用基本…...

kubernate解决 “cni0“ already has an IP address different from 10.244.0.1/24问题

问题 NetworkPlugin cni failed to set up pod “coredns-5d4b4db-jkmnl_kube-system” network: failed to set bridge addr: “cni0” already has an IP address different from 10.244.0.1/24 解决方案 这个问题通常是由于Flannel网络插件残留配置导致的IP地址冲突。以下…...

el-tree拖拽事件,限制同级拖拽,获取拖拽后节点的前后节点,同级拖拽合并父节点name且子节点加入目标节点里

node-drag-start:开始拖拽节点时触发​​(按下鼠标按钮),无论是否允许放置,此事件都会触发。 allow-drop 返回 true 才能触发@node-drag-end="handleDragend"、@node-drop="handleDrop"; (1)allow-drop:动态控制​​是否允许放置; (2)node-dr…...

day62—DFS—太平洋大西洋水流问题(LeetCode-417)

题目描述 有一个 m n 的矩形岛屿&#xff0c;与 太平洋 和 大西洋 相邻。 “太平洋” 处于大陆的左边界和上边界&#xff0c;而 “大西洋” 处于大陆的右边界和下边界。 这个岛被分割成一个由若干方形单元格组成的网格。给定一个 m x n 的整数矩阵 heights &#xff0c; hei…...

《Python基础》第2期:环境搭建

在开始编写 Python 代码前&#xff0c;还需要搭建 Python 的开发环境。 电脑是没办法直接读懂 Python 代码的&#xff0c;而是需要一个解释器&#xff0c;实时把代码翻译成字节码&#xff0c;字节码再转换成 0 和 1&#xff0c;电脑就能读懂了。 Python 的运行过程就是翻译一行…...

WSL 安装 Debian 12 后,Linux 如何安装 curl , quickjs ?

在 WSL 的 Debian 12 系统中安装 curl 非常简单&#xff0c;你可以直接使用 APT 包管理器从官方仓库安装。以下是详细步骤&#xff1a; 1. 更新软件包索引 首先确保系统的包索引是最新的&#xff1a; sudo apt update2. 安装 curl 执行以下命令安装 curl&#xff1a; sudo…...

[CSS3]vw/vh移动适配

vw/vh 目标: 能够使用vw单位设置网页元素的尺寸 相对单位相对视口的尺寸计算结果.vw全称viewport width; 1vw1/100视口宽度 vh全称viewport height; 1vh1/100视口高度 体验vw和vh单位 <!DOCTYPE html> <html lang"en"> <head><meta charset…...

Python进阶与常用库:探索高效编程的奥秘

一、文件与目录操作&#xff1a;os模块 os模块是Python标准库中用于与操作系统交互的核心工具&#xff0c;提供了丰富的文件和目录操作方法。通过os&#xff0c;开发者可以轻松实现文件路径处理、环境变量获取、目录管理等功能。 1.1 核心功能与方法 以下是os模块中常用的方…...

nt!MiDispatchFault函数分析之nt!MiCompleteProtoPteFault函数的作用

nt!MiDispatchFault函数分析之nt!MiCompleteProtoPteFault函数的作用 第一部分&#xff1a; // // PTE is still in transition state, same protection, etc. // ASSERT (Pfn1->u4.InPageError 0); if (Pfn1->u2.ShareCount 0) { MI_REMO…...

YOLOX 的动态标签分类(如 SimOTA)与 Anchor-free 机制解析2025.5.29

YOLOX 的动态标签分类&#xff08;如 SimOTA&#xff09;与 Anchor-free 机制是其核心改进中的两个关键部分&#xff0c;它们在目标检测中的作用和实现方式存在显著差异。以下从原理、实现细节及效果三个方面进行详细对比&#xff1a; 一、核心原理与目标 1. Anchor-free 机制…...

打卡day42

DAY 42 Grad-CAM与Hook函数 知识点回顾 回调函数lambda函数hook函数的模块钩子和张量钩子Grad-CAM的示例 作业&#xff1a;理解下今天的代码即可 1、回调函数 回调函数&#xff08;Callback Function&#xff09;是一种特殊的函数&#xff0c;它作为参数传递给另一个函数&am…...

小白的进阶之路系列之八----人工智能从初步到精通pytorch综合运用的讲解第一部分

PyTorch Tensors 通过大量实例学习编程应用是最有效的方法。 本篇是PyTorch综合运用,旨在让读者通过一行行代码亲自掌握Pytorch工具包的各种功能,有利于大家部署自己的神经网络人工智能计算工程。 首先,载入torch库。 import torch我们来看看一些基本的张量操作。首先,…...

724.寻找数组的中心下标前缀和

题目链接&#xff1a; https://leetcode.cn/problems/find-pivot-index/ 这道题目我们可以使用暴力解法&#xff0c;就一个下标前数组之和&#xff0c;再求一个下标后数组之和&#xff0c;时间复杂度达到n方&#xff0c;我们来写一下&#xff1a; int pivotIndex(vector<in…...

软考-系统架构设计师-第十六章 层次式架构设计理论与实践

层次式架构设计理论与实践 16.2 表现层框架设计16.3 中间层框架设计16.4 数据访问层设计16.5 数据架构规划与设计16.6 物联网层次架构设计 软件体系结构为软件系统提供了结构、行为和属性的高级抽象&#xff0c;由构成系统的元素描述这些元素的相互作用、指导元素集成的模式以及…...

甘特图 dhtmlxGantt.js UA实例

摘要&#xff1a;本文介绍了一个基于AngularJS的排产资源占用甘特图系统&#xff0c;包含前端界面展示和后端控制逻辑。系统通过HTML模板实现甘特图展示区域、查询条件表单和数据绑定&#xff0c;使用JavaScript控制器处理数据查询、甘特图初始化和交互逻辑。主要功能包括&…...

Docker学习笔记:基础知识

本文是自己的学习笔记 1、什么是Docker2、Docker的架构设计2.1、镜像&#xff08;Image&#xff09;2.2、容器&#xff08;Container&#xff09;2.3、仓库&#xff08;Repository)2.4、Docker使用场景案例 1、什么是Docker Docker是基于Go语言实现的云开源项目。它的角色是作…...

5.2 初识Spark Streaming

在本节实战中&#xff0c;我们初步探索了Spark Streaming&#xff0c;它是Spark的流式数据处理子框架&#xff0c;具备高吞吐量、可伸缩性和强容错能力。我们了解了Spark Streaming的基本概念和运行原理&#xff0c;并通过两个案例演示了如何利用Spark Streaming实现词频统计。…...

uv:一个现代化的 Python 依赖管理工具

在 Python 的生态系统中&#xff0c;依赖管理和 Python 版本管理一直是开发者关注的核心问题。传统的工具如 pip、poetry 和 pyenv 虽然功能强大&#xff0c;但在性能和使用体验上仍有改进空间。uv 是由 Python 核心开发者开发的 现代化依赖管理工具&#xff0c;旨在提供更快、…...

Python趣学篇:交互式词云生成器(jieba + Tkinter + WordCloud等)

名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原《离骚》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、为什么要做词云&#xff1f;让文字"活"起来&#xff01;二、核心…...