php实训报告

news2025/1/16 13:00:09

实训一 PHP语法基础

一、实训目的

  1. 掌握PHP数据类型知识。
  2. 掌握PHP变量与常量的知识和运用方法。
  3. 掌握PHP选择结构流程控制的知识及应用。
  4. 掌握PHP循环结构流程控制的知识及应用。
    二、实训工具或设备
    主流 PC 机一台(要求安装 windows 操作系统),PHP运行环境、MySQL数据库软件,最好选择PHPstudy和PHPstorm软件。
    三、实训原理
  5. PHP基本语法
    变量赋值就是为变量赋予具体的数据值。变量赋值有3种方式,分别是直接赋值、传值赋值和引用赋值。
  1. 直接赋值
    直接赋值就是使用赋值运算符“=”直接将数据值赋给某变量。
  2. 传值赋值
    传值赋值就是使用赋值运算符“=”将一个变量的值赋给另一个变量。注意的是,此时修改一个变量的值不会影响到另一个变量。
  3. 引用赋值
    引用赋值也称传地址赋值,就是使用赋值运算符“=”将一个变量的地址传递给另一个变量。即两个变量共同指向同一个内存地址,使用的是同一个值。
    2.if条件控制语句
    if条件控制语句通过判断条件表达式的不同取值执行相应程序块,有三种编写方式,语法格式分别如下:
    if(条件表达式){程序块} //如果条件成立,执行程序块
    if(条件表达式){程序块1} else {程序块2} //如果条件成立,执行程序块1,否则,执行程序块2
    if(条件表达式1){程序块1}else if(条件表达式2){程序块2} else{程序块3}//可以判断多个条件
    3.switch多分支语句
    switch 多分支语句的功能是将条件表达式的值与case子句的值逐一进行比较,如有匹配,则执行该case子句对应的程序块,直到遇到break跳转语句时才跳出switch语句;如果没有break语句,switch将执行这个case以下所有case中的代码,直到遇到break语句,语法格式如下:
    switch( 条件表达式) {
    case 值1:
    程序块1;
    break;
    case 值2:
    程序块2;
    break;

    default:
    程序块n;
    break;
    }
  1. while循环语句
    while循环语句属于前测试型循环语句,即先判断后执行。执行顺序是先判断表达式当条件为真时反复执行循环程序块;当条件为假时,跳出循环,继续执行循环后面的语句。while循环语句流程图如图4-7所示,语法格式如下:
    while ( 条件表达式 ) { //先判断条件,当条件满足时执行语句块,否则不执行
    程序块;
    }
    5.do…while循环语句
    do…while循环语句属于后测试型循环语句,即先执行后判断。执行顺序是执行一次循环程序块,再判断表达式,当条件为真时反复执行循环程序块;当条件为假时,跳出循环,继续执行循环后面的语句。do…while循环语句流程图如图4-9所示,语法格式如下:
    do {
    程序块;
    }while ( 条件表达式 )
    6.for循环语句
    当不知道所需重复循环的次数时,使用while或do…while语句,如果知道循环时,可以使用for语句,语法格式如下:
    for ( expr1; expr2 ; expr3){
    statement;
    }
    7.break跳转语句
    break语句用于终止并跳出当前的循环,可以用于switch、while、do…while和for控制语句。
    8.continue跳转语句
    contiue语句的作用是终止本次循环,跳转到循环条件判断处,继续进入下一轮循环判断。
    四、实训内容
    任务1:预定义常量和自定义常量应用
    本任务通过调用并输出系统预定义常量,定义并使用自定义常量,来说明预定义常量和自定义常量的应用方法。浏览页面效果如下图所示。
    在这里插入图片描述
    任务2 九九乘法表实现
    在这里插入图片描述
    任务3 封7过游戏
    在这里插入图片描述
    五、实训步骤
    任务1:预定义常量和自定义常量的应用
    本任务通过调用并输出系统预定义常量,定义并使用自定义常量,来说明预定义常量和自定义常量的应用方法
    【实验步骤】
    步骤1;创建.php文件,编写PHP代码如下:
<?php
echo'输出系统预定义常量:';
echo'<br/>当前操作系统为:'.PHP_OS;
echo'<br/>当前PHP版本为:'.PHP_VERSION;
echo'<br/>当前文件路径:'.__FILE__;
echo'<br/>输出自定义变量:';
define("PI",3.14159);
$r=20;
$c=PI*$r*2;
echo"<br/>圆的半径=",$r;
echo"<br/>圆的周长=",$c;
?>
步骤2:浏览页面效果图:

任务2:九九乘法表
本任务使用PHP循环结构和表格实现
步骤:
步骤1 创建table.php文件,代码如下:
<?php
//九九乘法表
echo"<table border='1px'>";
for($i=1;$i<=9;$i++){
    echo "<tr>";
    for($j=1;$j<=$i;$j++){
        $k=$j*$i;
        echo"<td bgcolor='#ff7f50'>$j*$i=$k</td>";
    }
    echo"<tr>";
}
echo"</table>";

步骤二 浏览页面效果,显示九九乘法表
步骤三 加入相应的CSS样式。

任务3:逢七过游戏
本任务使用for()循环和if,else选择语句来实现
步骤:
步骤一 创建games.php文件,代码如下:

<?php
/**
 * Created by PhpStorm.
 * User: admin
 * Date: 2019/10/26
 * Time: 20:25
 */

echo "<table border='1px'>";
$j=1;
//echo "<tr> </tr>";
for($i=1;$i<=100;$i++){
    if($i%7==0||$i%10==7||($i-($i%10))/7==10){
        echo "<td bgcolor='#deb887'>过 </td>";
    }else{
        echo"<td>$i</td>";
    }
    if($j%10==0)
    echo"<tr> ";
        $j++;
}
echo "</table>";

步骤二 浏览页面效果,显示逢七过游戏。
步骤三 加入相应的CSS样式。
六、实训注意事项
1.while语句和do while语句的区别。
2.switch语句中break必不可少。
七、思考题
Switch语句中少break以后会出现什么情况。

实训二 PHP数组

一、实训目的

  1. 掌握PHP数据的创建与输出。
  2. 掌握PHP数据元素的赋值及应用。
    二、实训工具或设备
    主流 PC 机一台(要求安装 windows 操作系统),PHP运行环境、MySQL数据库软件,最好选择PHPstudy和PHPstorm软件。
    三、实训原理
    1、创建数组
    数字索引数组和关联数组的区别仅在于“键名”的取值不同,两者的创建方法相同,有两种方法,语法格式如下:
    $数组名[键名1]=元素值1; //方法一
    $数组名[键名2]=元素值2;
    $数组名 = array(“键名1”=>“元素值1”,“键名2”=>“元素值2”,… ); //方法二
    2、遍历数组
    遍历数组是指依序访问数组中的每个元素,可以使用foreach语句、for语句遍历数组元素。
  3. foreach语句遍历数组
    foreach( $array as k e y = > key=> key=>value){ //方法1 访问数组元素键和值
    echo “ k e y − − > key --> key>value”;
    }
    foreach( $array as $value) { //方法2 访问数组元素值
    echo KaTeX parse error: Expected 'EOF', got '}' at position 8: value; }̲ 参数说明:array为数组名称, k e y 为数组键名, key为数组键名, key为数组键名,value为键名对应的值。foreach语句可以遍历数字索引数组和关联数组。
  4. for语句遍历数组
    for语句只能用于数字索引数组的遍历。先使用count()函数计算数组元素个数作为for循环执行的条件,才能完成数组的遍历。语法格式如下:
    for($i=0; i < c o u n t ( i < count( i<count(array) ; $i++){
    echo a r r a y [ array[ array[i] . “
    ”;
    }
    参数说明: a r r a y 为数组名称,函数 c o u n t ( array为数组名称,函数count( array为数组名称,函数count(array)用于计算数组元素个数
    由于关联数组的关键字不是数字,因此无法使用for循环语句进行遍历。
    四、实训内容
    利用二维数组定义、遍历实现学生信息表
    在这里插入图片描述

五、实训步骤
任务:利用二维数组定义遍历实现学生信息表

步骤1 创建php文件,代码如下:
在这里插入图片描述
在这里插入图片描述

步骤2 浏览页面效果,显示数组遍历结果。
步骤3 加入相应的CSS样式。
六、实训注意事项
1.实验任务由个人独立完成。
2.二维数组的遍历过程中加入表格时怎样加入相应的CSS样式。
七、思考题
怎样用数组实现随机抽奖程序?

实训三 网站注册功能实现

一、实训目的

  1. 掌握PHP连接MySQL的编程方法。
  2. 掌握PHP与MySQL开发简单网站注册功能。
    二、实训工具或设备
    主流 PC 机一台(要求安装 windows 操作系统),PHP运行环境、MySQL数据库软件,最好选择PHPstudy和PHPstorm软件。
    三、实训原理
    1.连接MySQL服务器
    mysqli扩展提供了mysqli_connect()函数实现与MySQL数据库的连接,语法如下所示:

在这里插入图片描述
在这里插入图片描述

2.选择MySQL数据库
mysqli扩展还提供了mysqli_select_db()函数用来选择MySQL数据库,语法如下所示:
在这里插入图片描述

3.执行SQL语句
要对数据库中的表进行操作,通常使用mysqli_query()函数执行SQL语句,语法如下所示:
在这里插入图片描述

4.从结果集中获取一行作为枚举数组
mysqli_fetch_row()函数从结果集中取得一行作为枚举数组,语法如下所示:
在这里插入图片描述

5.从结果集中获取一行作为关联数组
mysqli_fetch_assoc()函数从结果集中取得一行作为关联数组,语法如下所示:
在这里插入图片描述

6.将结果集返回到数组中
mysqli_fetch_array()函数将结果集返回到数组中,语法如下所示:
在这里插入图片描述

7.获取查询结果集中的记录数
使用mysqli_num_rows()函数,可以获取由select语句查询到的结果集中行的数目语法如下所示:
在这里插入图片描述

8.从结果集中获取一行作为对象
mysqli_fetch_object()函数返回的是一个对象而不是数组,语法如下所示:
在这里插入图片描述

9.释放内存
mysqli_free_result()函数用于释放内存,语法如下所示:
在这里插入图片描述

10.关闭连接
使用mysqli_close()函数断开与MySQL服务器的连接,语法如下所示:
在这里插入图片描述

11.数据库的插入语句
向数据表中添加数据可以通过insert命令来实现,语法如下所示:
在这里插入图片描述

注意:值列表中的值应与字段列表中字段的个数和顺序相对应,值列表中值的数据类型必须与相应字段的数据类型保持一致。
四、实训内容
本任务综合应用PHP与MySQL数据库编程知识,开发党史学习教育网站注册功能,包括数据库创建,系统注册表单页面开发(register.php),注册处理页开发(doRegister.php)。
五、实训步骤
实训内容:创建数据库创建user表,制作党史学习教育网站注册界面,连接数据库,实现注册功能。
实训过程:
步骤1:使用PHPMyAdmain创建数据库,创建user表,表结构如下图所示:
在这里插入图片描述

步骤2:创建一个党史学习教育网站注册的静态页面register.php,页面中使用form表单和JavaScript代码判断注册的内容不能为空。
核心代码如下:

<body>
<div class="box">
    <div class="top">
        党史学习教育
    </div>
    <form method="post" name="form1" action="doRegister.php">
        <input type="text" name="user" class="text" placeholder="用户名" >
        <input type="password" name="pwd1" class="text" placeholder="密码">
        <input type="password" name="pwd2" class="text" placeholder="确认密码">
        <input type="text" name="tel" class="text" placeholder="手机号">
        <input type="button" value="注册" class="submit" onclick="check()">
    </form>
</div>
<script type="text/javascript">
    function check(){
        var user=document.getElementsByName("user")[0].value;
        if(!user){
            alert("请输入用户名");
            return false;
        }
        var pwd1=document.getElementsByName("pwd1")[0].value;
        if(!pwd1){
            alert("请输入密码");
            return false;
        }
        var pwd2=document.getElementsByName("pwd2")[0].value;
        if(!pwd2){
            alert("请输入确认密码");
            return false;
        }
        if(pwd1!=pwd2){
            alert("两次输入的密码不一致");
            return false;
        }
        var tel=document.getElementsByName("tel")[0].value;
        if(!tel){
            alert("请输入手机号");
            return false;
        }
        if(tel.length!=11){
            alert("请输入11位的手机号");
            return false;
        }
        form1.submit();
    }
</script>
</body>

步骤3:创建一个实现注册功能的页面:doRegister.php。接收来自静态页面收集的数据并把收集到的数据插入到数据库的user表中。
核心代码如下:

<?php
//连接数据库
$conn=mysqli_connect("localhost","root","root","demo");
//连接错误时的提示
if(mysqli_connect_errno()){
    exit(mysqli_connect_error());
}
//设置默认字符编码
mysqli_set_charset($conn,'utf8');
//执行插入语句
$result=mysqli_query($conn,"insert into user(user_name,user_pwd,user_tel) values('".$_POST["user"]."','".$_POST["pwd1"]."','".$_POST["tel"]."')");
if($result==true){
    echo "<script>alert('用户注册成功')</script>";
}else{
    echo "<script>alert('用户注册失败')</script>";
}

注册页面实现效果图
在这里插入图片描述

注册和登录最大的不同就在于登录是向数据库中直接查询,而注册是向数据库中插入数据。
六、实训注意事项
1.实验任务由个人独立完成;
2.实验作业在课堂上当场由老师检查并登记分数;
七、思考题
Mysqli_query()函数的返回值都有哪些?怎样判断注册成功?

实训四 网站登录功能实现

一、实训目的

  1. 掌握PHP连接MySQL的编程方法。
  2. 掌握PHP与MySQL开发简单网站后台功能。
  3. 掌握使用cookie技术实现免登录和记住密码的功能。
    二、实训工具或设备
    主流 PC 机一台(要求安装 windows 操作系统),PHP运行环境、MySQL数据库软件,最好选择PHPstudy和PHPstorm软件。
    三、实训原理
    1、创建Cookie
    创建Cookie应用的是setcookie()函数。
    在这里插入图片描述
    在这里插入图片描述

2、读取Cookie
在PHP中应用全局数组$_COOKIE[]读取客户端Cookie的值。
在这里插入图片描述

3、Cookie的工作原理
在这里插入图片描述

4、删除Cookie
使用setcookie()函数删除Cookie
在这里插入图片描述

思考:如果不设置Cookie的有效期,那Cookie的有效期是多长时间呢?(会话Cookie)
会话Cookie:浏览器关闭就消失
永久Cookie:存放在硬盘上,总是可用。
5、连接MySQL数据库
mysqli扩展提供了mysqli_connect()函数实现与MySQL数据库的连接,语法如下所示:

在这里插入图片描述
在这里插入图片描述

6、执行SQL语句(登录就是执行查询语句)
连接到MySQL服务器,选择了要操作的数据库之后,接下来开始执行SQL语句。mysql_query( )函数用于执行SQL语句。语法格式如下:
mysqli_query(“SQL语句” [, c o n n ] ) ; 其中,参数 S Q L 语句是要执行的 S Q L 语句,可以是添加、修改、删除和查询语句;参数 conn]); 其中,参数SQL语句是要执行的SQL语句,可以是添加、修改、删除和查询语句; 参数 conn]);其中,参数SQL语句是要执行的SQL语句,可以是添加、修改、删除和查询语句;参数conn是MySQL服务器的连接标识。
四、实训内容
本任务综合应用PHP与MySQL数据库编程知识,开发党史学习教育网站登录功能,包括数据库创建,网站登录表单页面开发,登录处理页开发,以及记住密码和免登录功能实现。
五、实训步骤
实训内容:制作用户登录静态页面(login.php)并做非空判断,连接数据库,实现登录页面(doLogin.php),实现记住密码功能:(1)添加记住密码界面;(2)判断是否选中记住密码选项;(3)若选中,能获取到Cookie变量,用户名和密码显示在文本框中;(4)若没选中,重新输入用户名和密码。
实训过程:步骤一 制作用户登录静态页面(login.php)并做非空判断,代码如下:

<body>
<div class="box">
    <div class="top">
        党史学习教育
    </div>
    <form method="post" name="form1" action="doLogin.php">
        <input type="text" name="user" class="text" placeholder="用户名" >        
<input type="password" name="pwd" class="text" placeholder="密码">
        <input type="button" value="登录" class="submit" onclick="check()">
    </form>
    <div class="bottom">
        没有账户?<a href="register.php" class="register">注册</a>
    </div>
</div>
<script type="text/javascript">
    function check(){
        var user=document.getElementsByName("user")[0].value;
        if(!user){
            alert("请输入用户名");
            return false;
        }
        var pwd1=document.getElementsByName("pwd")[0].value;
        if(!pwd1){
            alert("请输入密码");
            return false;
        }
        form1.submit();
    }
</script>

步骤二 连接数据库,实现登录页面(doLogin.php),核心代码如下:
//连接数据库
c o n n = m y s q l i c o n n e c t ( " l o c a l h o s t " , " r o o t " , " r o o t " , " d e m o " ) ; / / 连接错误时的提示 i f ( m y s q l i c o n n e c t e r r n o ( ) ) e x i t ( m y s q l i c o n n e c t e r r o r ( ) ) ; / / 设置默认字符编码 m y s q l i s e t c h a r s e t ( conn=mysqli_connect("localhost","root","root","demo"); //连接错误时的提示 if(mysqli_connect_errno()){ exit(mysqli_connect_error()); } //设置默认字符编码 mysqli_set_charset( conn=mysqliconnect("localhost","root","root","demo");//连接错误时的提示if(mysqliconnecterrno())exit(mysqliconnecterror());//设置默认字符编码mysqlisetcharset(conn,‘utf8’);
//执行查询语句
r e s u l t = m y s q l i q u e r y ( result=mysqli_query( result=mysqliquery(conn,"select from user where user_name=‘“. P O S T [ " u s e r " ] . " ′ a n d u s e r p w d = ′ " . _POST["user"]."' and user_pwd='". POST["user"]."anduserpwd="._POST[“pwd”].”’“);
if(mysqli_num_rows( r e s u l t ) > 0 ) e c h o " 登录成功 " ; e l s e e c h o " 登录失败 " ; 步骤三利用 C o o k i e 技术实现记住密码功能,核心代码如下: 1. l o g i n . p h p 页面中添加如下代码: v a l u e = " < ? p h p e c h o e m p t y ( result)>0){ echo "登录成功"; }else{ echo "登录失败"; } 步骤三 利用Cookie技术实现记住密码功能,核心代码如下: 1.login.php页面中添加如下代码: value="<?php echo empty( result)>0)echo"登录成功";elseecho"登录失败";步骤三利用Cookie技术实现记住密码功能,核心代码如下:1.login.php页面中添加如下代码:value="<?phpechoempty(_COOKIE[“user”])?”“: C O O K I E [ " u s e r " ] ; ? > " v a l u e = " < ? p h p e c h o e m p t y ( _COOKIE["user"];?>" value="<?php echo empty( COOKIE["user"];?>"value="<?phpechoempty(_COOKIE[“pwd”])?”“😒_COOKIE[“pwd”]?>”
2.doLogin.php页面中添加如下代码:
//判断是否选中记住密码
e x p i r e = e m p t y ( expire=empty( expire=empty(_POST[“expire”])?-1:intval( P O S T [ " e x p i r e " ] ) ; / / 创建 c o o k i e ,有效期 7 天 s e t c o o k i e ( " u s e r " , _POST["expire"]); //创建cookie,有效期7天 setcookie("user", POST["expire"]);//创建cookie,有效期7setcookie("user",_POST[“user”],time()+3600
24* e x p i r e ) ; s e t c o o k i e ( " p w d " , expire); setcookie("pwd", expire);setcookie("pwd",_POST[“pwd”],time()+360024$expire);
3.记住密码页面实现效果图,如下图所示:
在这里插入图片描述

步骤四 利用Cookie技术实现7天免登录功能,核心代码如下:
7天免登录功能与实现记住密码功能类似,具体区别如下:
1.login.php页面中删除如下代码:
value=“<?php echo empty($_COOKIE["user"])?"":$_COOKIE["user"];?>”
value=“<?php echo empty($_COOKIE["pwd"])?"":$_COOKIE["pwd"]?>”
2.login.php页面中添加如下代码:

<?php if(!empty($_COOKIE["user"])){ echo "欢迎你:".$_COOKIE["user"]; }else{ echo <<

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

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

相关文章

基于m-p条件查询代码生成

目录 起因 演示 使用 0.自定义注解 1.定义一个dto的条件查询类 2.调用主程序 效果图 小结 代码 注解 Dto类 完整代码 起因 最近两天一直写后台管理统计的增删改查(很少写增删改查&#xff0c;所以不是很熟练)&#xff0c;几乎每个表都要涉及到条件查询的业务&#xf…

7个常用的原生JS数组方法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 7个常用的原生JS数组方法一、Array.map()二、Array.filter三、Array.reduce四、Array.forEach五、Array.find六、Array.every七、Array.some总结一、Array.map() 作用&#…

Transformer 模型:入门详解(1)

动动发财的小手&#xff0c;点个赞吧&#xff01; 简介 众所周知&#xff0c;transformer 架构是自然语言处理 (NLP) 领域的一项突破。它克服了 seq-to-seq 模型&#xff08;如 RNN 等&#xff09;无法捕获文本中的长期依赖性的局限性。事实证明&#xff0c;transformer 架构是…

【数据结构初阶】详解“树”

目录 前言 1.树概念及结构 &#xff08;1&#xff09;树的概念 &#xff08;2&#xff09;树的名词介绍 &#xff08;3&#xff09;树的表示 ​编辑 2.二叉树概念及结构 &#xff08;1&#xff09;概念 &#xff08;2&#xff09;特殊的二叉树 &#xff08;3&#xff0…

sizeof与strlen练习

前言 本篇仅仅是为了更加了解sizeof操作符和strlen函数练习. 对于多条sizeof操作符和strlen函数出现,可能很容易造成头脑不清晰,做题时容易混乱. 目录前言一维数组字符数组情况1:情况2情况3二维数组练习之前请牢记下面这段话.这将是头脑清晰地关键. 提示: sizeof(数组名)&#…

MyBatis高频面试专题

一、介绍下MyBatis中的工作原理 1。介绍MyBatis的基本情况&#xff1a;ORM 2。原理&#xff1a; MyBatis框架的初始化操作处理SQL请求的流程 1.系统启动的时候会加载解析全局配置文件和对应映射文件。加载解析的相关信息存储在 Configuration 对象 Testpublic void test1(…

【ID:17】【20分】A. DS顺序表--类实现

时间限制1秒内存限制128兆字节题目描述用C语言和类实现顺序表属性包括&#xff1a;数组、实际长度、最大长度&#xff08;设定为1000&#xff09;操作包括&#xff1a;创建、插入、删除、查找类定义参考输入第1行先输入n表示有n个数据&#xff0c;即n是实际长度;接着输入n个数据…

HCIE-Cloud Computing LAB备考第二步:逐题攻破--第三题:迁移

迁移 题目 将一台AD服务器迁移到FusionCompute平台,并保障业务正常。 思维导图 markmap内容1 文字介绍 准备Rainbow服务器:在Windows系统安装Rainbow,必须保证其与源端主机、目的端平台互通。关闭防火墙。【首次登录rainbow时,需要注册用户名和密码,考试时根据考题要…

989. 数组形式的整数加法

989. 数组形式的整数加法https://leetcode.cn/problems/add-to-array-form-of-integer/ 难度简单226 整数的 数组形式 num 是按照从左到右的顺序表示其数字的数组。 例如&#xff0c;对于 num 1321 &#xff0c;数组形式是 [1,3,2,1] 。 给定 num &#xff0c;整数的 数组…

【Linux】进程等待 | 详解 wait/waitpid 的 status 参数

&#x1f923; 爆笑教程 &#x1f449; 《看表情包学Linux》&#x1f448; 猛戳订阅 &#x1f525; &#x1f4ad; 写在前面&#xff1a;在上一章中我们讲解了进程创建与进程终止&#xff0c;本章我们开始讲解进程等待。进程等待这部分知识相较于前面还是较为复杂的&#xff0…

Vue2的生命周期(详解)

Vue的生命周期一、生命周期的概念二、钩子函数三、Vue2的生命周期3.1 初始化阶段3.2 挂载阶段3.3 更新阶段3.4 销毁阶段一、生命周期的概念 Vue实例的生命周期: 从创建到销毁的整个过程 二、钩子函数 Vue框架内置函数,随着组件的生命周期阶段,自动执行 作用:特定的时间点,执行特…

Unity Lighting -- 向场景中添加光源

本节笔记来实践向场景中添加光源。 除了平行光源外&#xff0c;还有两种常用的光源&#xff1a; 点光源&#xff08;Point Lights&#xff09;&#xff1a;点光源所发出的光是朝四面八方发散的&#xff0c;我们可以用点光源来模拟灯泡之类的发光物体。 聚光灯源&#xff08;Spo…

python每日学9 : windows上配置gitee的远程仓库,git的初步使用

在开发中&#xff0c;如果遇到复杂的项目&#xff0c;使用版本控制是非常有必要的&#xff0c;如果涉及到多端开发&#xff0c;那么还需要使用远程仓库。本文作个简单记录&#xff0c;记录下git初步使用。 1 下载与安装 git还有几个ui版本&#xff0c;但是开始使用的话&#…

【LeetCode】带环链表两道题

第一题&#xff1a;环形链表 问题介绍 给你一个链表的头节点head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪next指针再次到达&#xff0c;则链表中存在环。为了表示给定链表中的环&#xff0c;评测系统内部使用整数pos 来表示链表…

【Storm】【三】Storm 核心概念详解

Storm 核心概念详解 一、Storm核心概念1.1 Topologies&#xff08;拓扑&#xff09;1.2 Streams&#xff08;流&#xff09;1.3 Spouts1.4 Bolts1.5 Stream groupings&#xff08;分组策略&#xff09;二、Storm架构详解2.1 nimbus进程2.2 supervisor进程2.3 zookeeper的作用2.…

【蒸滴C】C语言结构体入门?看这一篇就够了

目录 一、结构体的定义 二、结构的声明 例子 三、 结构成员的类型 结构体变量的定义和初始化 1.声明类型的同时定义变量p1 2.直接定义结构体变量p2 3.初始化&#xff1a;定义变量的同时赋初值。 4.结构体变量的定义放在结构体的声明之后 5.结构体嵌套初始化 6.结构体…

24节气-惊蛰 // 诗句、海报分享,春风至,惊雷动。

惊蛰&#xff0c;古称"启蛰"&#xff0c;是二十四节气中的第3个节气&#xff0c;更是干支历卯月的起始;时间点在公历3月5-6日之间&#xff0c;太阳到达黄经345时。《月令七十二候集解》:"二月节……万物出乎震&#xff0c;震为雷&#xff0c;故曰惊蛰&#xff0…

【ONE·C || 动态内存管理】

总言 C语言&#xff1a;动态内存管理介绍。 文章目录总言1、为什么存在动态内存管理2、动态内存函数介绍2.1、malloc、free2.1.1、malloc函数2.1.2、free函数2.2、calloc、realloc2.2.1、calloc函数2.2.2、realloc函数3、常见的动态内存错误3.1、对NULL指针的解引用操作3.2、对…

TEX:显示文本

文章目录字体选择字体fontspec宏包根据字体形状控制字体为不同的字体形状选择不同的特征为不同的字体大小状选择不同的特征中文字体选择xeCJK宏包字体选择与设置XELATEX字体名查找字体集与符号居中与缩进居中单边调整两边缩进诗歌缩进列表itemize样例enumerate样例description样…

Java多线程(三)——线程池及定时器

线程池就是一个可以复用线程的技术。前面三种多线程方法就是在用户发起一个线程请求就创建一个新线程来处理&#xff0c;下次新任务来了又要创建新线程&#xff0c;而创建新线程的开销是很大的&#xff0c;这样会严重影响系统的性能。线程池就相当于预先创建好几个线程&#xf…