ASP一个简单的网上教务系统模型的设计与实现

       对于一个学校来说,大量教师信息,学生信息管理,学生成绩管理,基本数据的维护都难于通过传统的方法进行管理:这就迫切需要利用计算机技术来帮助学校管理者处理这些日常管理。本系统正是为了简化教学任务的管理,提高办公效率,方便师生而设计的。

       本设计所完成的网上教务处管理系统主要实现的功能有:前台学生对班级情况、课程安排、学期成绩、和最新发布的教务信息的查询。后台管理员对全校教师信息、学生信息、学生成绩、课表安排等进行管理,即添加、删除、修改。同时发布新的公告等。

本设计采用ASP(Active Server Pages)和ACCESS数据库等有关技术开发的,因为ASP语言编写容易、支持面向对象并可扩展Active Server组件功能、与任何ActiveX Script语言兼容,能很好地实现本系统中教师与学生交互的各项功能。

本系统从结构上主要分为两部分:管理员部分和学生部分:

管理员模块的建设:包括用户权限验证,学生信息管理(包括录入、修改、删除等),教师信息管理(包括修改、删除、添加),学生成绩管理,课表的发布管理等

学生模块的建设:包括登陆网站,查询教师信息,查看成绩,查看课表,学生留言等。

系统建设是基于Browser/Server模式的。Browser/Server模式即浏览器和服务器结构,通过Internet进行通信,可以不受地域的限制。B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。对于本网上教务处系统,主要是实现学生通过浏览器可以查看到教务处的相应信息。系统的管理者只需自己的口令与密码就能在web页面下进行相应的日常必需管理。

此网上教务处系统共包含了14个数据表,其中主要的数据表结构如下:

1.管理员信息表(y_admin)用来保存管理员信息,该表结构如下:

表1 管理员信息表

字段名称

数据类型

Id

自动编号

Y_username

文本

Y_password

文本

2.班级信息表(班级)用来保存班级的详细信息,该表的结构如下:

表2 班级信息表

字段名称

数据类型

说明

Id

自动编号

Classno

文本

班级号

Zhuanyeno

文本

专业号

Zhuanye

文本

专业

Xino

文本

系号

Xiname

文本

Jino

文本

级号

Banno

文本

班级

Stum

文本

学生人数

room

文本

教室

3.学生信息表(学生)用来保存学生的详细信息,该表的结构如下:

表3 学生信息表

字段名称

数据类型

说明

Id

自动编号

Xh

数字

学号

User

文本

学生姓名

Mm

文本

密码

Banno

文本

班级

Sex

文本

性别

Addr

文本

学生家庭地址

yb

数字

邮编

4.学生成绩表(成绩)用来保存学生成绩的详细信息,该表结构如下:

表4 学生成绩表

字段名称

数据类型

说明

Id

自动编号

Xh

数字

学号

User

文本

学生姓名

Cj

数字

成绩

Kc

文本

课程

Xq

文本

学期

Banno

文本

班级

lx

文本

课程类型

5.教师信息表(教师),用来保存教师的详细信息,该表的结构如下:

表5 教师信息表

字段名称

数据类型

说明

Id

自动编号

Teacherno

数字

教师号

Teachername

文本

教师姓名

Xino

文本

系号

Xiname

文本

系名

sex

文本

性别

teleph

数字

教师电话

6.课程信息表(课程),记录了课程安排的详细情况,该表的结构如下:

表6 课程表

字段名称

数据类型

说明

Id

自动编号

Xiname

文本

系明

Zhuanyeno

文本

专业号

Xino

文本

系号

Zhuanye

文本

专业

Jino

文本

级号

Banno

文本

班级

teachername

文本

教师姓名

Lessonname

文本

课程名

Stnum

数字

学生人数

Room

文本

教师

Week

文本

星期

Jieci

文本

上课节次

Hours

数字

学时

Xuefen

数字

学分

lx

文本

课程类型

7.信息发布表(news),主要包含信息发布的相关信息,该表结构如下:

表7 信息发布表

字段名称

数据类型

说明

newid

自动编号

Title

文本

消息标题

Content

备注

Authors

数字

Views

数字

sentdata

日期/时间

发表日期

8.活动信息表(huodong),保存了学校活动的详细信息,该表的结构如下:

表8 活动信息表

字段名称

数据类型

说明

hdid

自动编号

Name

文本

活动名

Baomingdd

文本

报名地点

About

备注

Content

备注

Hdtime

文本

活动时间

Address

文本

活动地点

Setndata

时间/日期

发布时间

9.活动报名表(baoming),保存了活动报名的详细情况,该表的结构如下:

表9 报名表

字段名称

数据类型

说明

Id

自动编号

Name

文本

名字

Class

文本

班级

Tel

文本

电话

Sushe

备注

宿舍号

Huodong

文本

活动名

根据网上教务系统的特点,可以将其分为前台和后台两个部分设计。前台主要用于学生对课程,教师信息和成绩以及重要新闻的查询;后台主要用于管理员对教师、学生、课程、学生成绩、活动安排等进行管理。

前台学生查询部分的功能结构如图3所示:

后台学生管理员功能结构如图4所示:

 

在进行动态网站开发时,一个很重要的步骤就是建立数据库连接,即访问数据库。访问数据库可以用DSN和非DSN两种方法。应用DSN访问数据库需要配置ODBC数据源(即系统DSN),该方法的优点是比较安全,其具体方法已经在3.2节后台数据库的配置中作了详细的介绍。非DSN访问数据库不需要配置ODBC数据源,比较方便。

创建数据库连接主要分为两步进行:一是创建数据库连接文件conn.asp,二是在需要与数据库连接的页面包含该文件(如:<!--#include file=”conn.asp” -->)。

由于本系统采用的是Access数据库存储数据,所以使用以下的代码连接数据库:

<%Class Cls_Database

            Public Conn,Db,Connstr

               Public Sub LoadData()

               Db="Data/Data.mdb"

               Connstr="Provider=Microsoft.Jet.Oledb.4.0;

Data Source="&Server.MapPath(db)

               End Sub

               Public Sub Connect ()

               Set Conn=Server.CreateObject("Adodb.Connection")

                      Conn.Open Connstr

               End Sub

               Public Function Execute(Sql)

               Set Rs=Server.CreateObject("Adodb.Recordset")

                   If Isobject(Conn)=false then

                         Connect()

                            Rs.Open Sql,conn,1,3

                            Else

                            Rs.Open Sql,conn,1,3

                      End If

                      Set Execute=Rs

               End Function

               Public Sub Disconnect ()

                   Conn.Close

                      Set Conn=Nothing

               End Sub

      End Class

      Set Data=New Cls_Database 

      Data.LoadData

      %>

由于基本所有的页面都要使用该段代码,所以单独把这段代码保存为一个文件conn.asp。在所有与数据库连接的页面中只要包含该文件,就可以打开和连接数据库。包含该文件的代码如下:

<!--#include file="data/conn.asp"-->

1.模块功能介绍

前台页面主要包括以下功能模块:

a.首页面:通过首页面可以看到教务活动安排和重大新闻

b.课表查询:该查询分为按班级查询和按教师查询

c.教师信息查询:可以看到各教师的详细情况

d.成绩查询:学生只能登录后才能看到自己的成绩,成绩查询又分为按课程查询,按课程类型查询,按学期查询,按成绩查询四种方式

e.作息时间安排

前台功能主要使用的是数据库的查询语句,连接数据库以后通过“select * from 表名”这样的语句对想要查询的信息进行查询,其主要的实现如下:

1.首页面:进入首页面(index.asp),在左下方的登录框中可以看到管理员(admin_login.asp)和学生登录(studenglu.asp)的链接。通过首页面,我们可以看到管理员最近发布的消息,可以了解最近的活动,并对自己想参加的活动进行报名,报名成功后会提示“谢谢你的参与”。并将其信息存储在报名表(baoming)中,此表的数据结构已在3.3数据库的设计中列出了。

2.课程表查询的实现(news1.asp),其页面如图5

 

该页面分为两种查询方式:按班级查询和按教师查询,选择方式后,点击查询按钮将分别进入不同的页面chaxunclass.asp和chaxunteach.asp。查询结果显示的页面将会根据所选择的条件,列出相应的课表。

3.成绩查询功能的实现

学生需通过登录(studenglu.asp),才能进入查询页面(chaxun.asp)。在教务处的主页面登录框处点击学生,会跳转到学生登录页面(studenglu.asp):

登录验证的主要代码:

<!--#include file="data/conn.asp"-->

<%

response.buffer=true

Response.Expires=0

if session("pwd")<>"" then

mm=session("pwd")

else

mm=request("mm")

end if

if session("user")<>"" then

xh=session("user")

else

xh=request("xh")

end if

Set rs = Server.CreateObject("ADODB.Recordset")

sql="select id from 学生 where xh='"&xh&"' and mm='"&mm&"'"

rs.open sql,conn,3,3

if rs.eof then

response.write("<table width=300 border=0 cellspacing=0 cellpadding=0 align=center>")

response.write("<script language=JavaScript>" & chr(13) & "alert('无效的学号或密码,请重新确认');" & "history.back()" & "</script>")

response.write("</table>")

response.end

else

session("pwd")=mm

session("user")=xh

define="1"

%>

如果不进行登录,直接点首页的课程查询,则会弹出“无效的学号和密码,请重新确认”的对话框,对话框提示的主要实现是通过使用JavaScript。后面的很多提示框都使用的这段代码,其代码如下:

<script language=JavaScript>" & chr(13) & "alert('无效的学号或密码,请重新确认');" & "history.back()" & "</script>

学生登录后进入查询页面,可以通过按课程查询,按学期查询,按类型查询,按成绩查询等四个不同的查询条件,查到相应的成绩,成绩显示页面(stulook.asp),查询页面的主要代码:

<!--#include file="data/conn.asp"-->

<%

xh=session("user")

kc=request.form("kc")

cj=request.form("cj")

xq=request.form("xq")

lx=request.form("lx")

al=request.form("al")

if lx="" and kc="" and cj="" and xq="" and al="" then

response.write "<script language=JavaScript>" & chr(13) & "alert('请输入你要查询的条件');" & "history.back()" & "</script>"

Response.End

end if

set rs=server.createobject("adodb.recordset")

conn="DBQ="+server.mappath("data/tyydb.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"

if request("kc")<>"" then

sql="select * from 成绩 where kc like'" & kc & "' and xh like'" & xh & "'"

else if request("cj")<>"" then

sql="select * from 成绩 where cj like'" & cj & "' and xh like'" & xh & "'"

else if request("xq")<>"" then

sql="select * from 成绩 where xq like'" & xq & "' and xh like'" & xh & "'"

else if request("lx")<>"" then

sql="select * from 成绩 where lx like'" & lx & "' and xh like'" & xh & "'"

else

sql="select * from 成绩 where xh like'" & xh &"'"

end if

rs.Open sql,conn,1,1

totalput=rs.RecordCount

if rs.EOF and  rs.BOF then

Response.Write "<table width=752 border=0 cellpadding=0 cellspacing=0 align=center><tr><td><br>当前没有符合这个条件的成绩</td></tr></table>"

else

%>

4.教师情况(news3.asp)。

在此页面可以方便的浏览学校的所有教师的一些基本信息,如教师所在的系、教师的姓名、性别、联系电话等。查询的代码如下:

<%

set rs=server.createobject("adodb.recordset")

sql="select * from 教师"

set rs=conn.execute(sql)

do while not rs.eof

xiname=rs("xiname")

teachername=rs("teachername")

sex=rs("sex")

teleph=rs("teleph")

%>

5.班级情况(news4.asp)

 此页面主要的功能是把学校的所有班级显示出来,包括班级的学生人数、年级、教室,以及班级所在的专业及系。这可以方便教师及学生对学校的所有班级的一些基本情况的了解,此页面的主要实现和上面教师信息查询页面所用的查询代码一样,都使用“select * from 表名”。

6.作息时间(news5.asp)

此页面主要给老师和学生提供作息时间表,让老师和学生清楚的知道什么时间上课,什么时间休息,保证授课按着正常的秩序进行。此页面的时间表主要是通过静态代码直接实现,而没有采用数据库的方式,如果需要对时间表进行修改的时候,只需news5.asp这一页面进行编辑修改一下就可以了。

后台文件总体架构

1.后台功能介绍

A.管理员登录:用于管理员登录到后台管理系统。

B.管理课程表信息:主要包括课程信息的添加、修改和删除。

C.管理教师信息:主要包括教师信息的添加、修改和删除。

D.学生信息管理:学生信息的添加、修改和删除。

E.学生成绩管理:学包括学生成绩的添加、删除、修改。

F.新闻管理:发布新的消息并对以前的消息进行管理。

G.活动管理:安排活动,并对学生报名情况进行管理。

H.退出系统:退出后台管理系统。

管理员登录页面(admin_login.asp):管理员通过身份验证后,才能登录到后台管理。首先接受管理员用户和密码:

username=request("username")

password=request("password")

然后连接数据库

<!--#include file="inc/conn1.asp"-->

<%

if username<>"" or password<>"" then

set rs=newconn.execute("select * from y_admin where username='"& username & "'")/判断是否存在该用户

if not (rs.bof and rs.eof) then/判断是否有该权限

if rs("password")=password then

session("password")=rs("password")

session("username")=rs("username")/为真则将该用户的该权限放入SESSION中

Response.Redirect"admin_admin.asp"/跳转到管理员管理页面

2.在新闻管理中主要调用的是:admin_news.asp,在管理前台新闻中主要是admin_news.asp页面,而在此网页中需要调用很多模块来进行网页数值判断:Head()首先对管理员权限进行判断,如果你未登录或者不具备该管理的权限,则会提示你“您没有登录或者不是管理员”。sub SaveSet()保存新建的消息、sub SaveEdit()保存修改的消息、Sub del()删除、sub add()添加新的消息、Sub admin()管理员管理、sub add()新建消息。此外还有调用网页<!-- #include file = "edit.asp"-->,调用的edit.asp中的程序是一个ASP的文本编辑器,可以编辑html等特效文字和效果。而在此中的管理中是调用了admin_news.asp?action=admin是调用本网页中的Sub admin()来进行管理。

3.教务处是管理学生工作的一个部门,需要管理一定的学生组织,就特意细化了它们之间的关系,设计了社团管理模块,这样更利于工作的管理和协调。此网页的主要调用的是admin_Shetuan.asp网页。其中为了完成不同的工作也同样调用相同的模块Head()、sub SaveSet()、sub SaveEdit()、Sub del()、sub add()、Sub admin()此外还有调用网页<!-- #include file = "edit.asp"-->等而在此中的管理中是调用了admin_Shetuan.asp?action=admin来进行管理的。

4.在教务处活动管理中,主要调用的是admin_huodong.asp的网页,同样需要调用等能模块块Head()、sub SaveSet()、sub SaveEdit()、Sub del()、sub add()、Sub admin()此外还有调用网页<!-- #include file = "edit.asp"--> 等,来进行管理。在此中的管理页面是调用了admin_huodong.asp?action=admin。在此中的报名页面中我们调用了admin_huodong.asp?action=Bmadmin。两个值传递页面中有效的更新了数据库,以便前台查询。

5.课程表数据管理主要包括以下三个页面如图6:

 
页面如图7所示:

A.录入课程表(keadd2.asp)是实现新学期课程表的录入,界面见图8

 

首先应连接数据源:<!--#include file="data/conn.asp"-->, 通过对添加信息的选择

<form name="form1" method="post" action="keadd2lian.asp">/接收表单form1数据,利用“post|”方法把数据送到"keadd2lian.asp"

<select name="xino" size="1">

<option value="--选择系--" selected>--选择系--</option>

<% set rs=server.createobject("ADODB.Recordset")

/建立数据库的链接

sql="select * from 系"

rs.open sql,conn,1,1/打开的方式为可读写可自由移动

do while not rs.eof %>

<option value="<%=rs("xino")%>"><%=rs("xiname")%></option>

<% rs.movenext

loop %>

</select>

(1)keadd2lian.asp

<%jino=request.form("jino") /首先从keadd2.asp表单中接收数据

if xino="--选择系--" then  /判断是否选择系

if zhuanyeno="--选择专业--" then判断是否选择专业

session("xino")=xino /再把接受的数据进行存放

对存放的数据进一步处理,在kebiao.asp中进行,由response.redirect "kebiao.asp" %>/跳转页面实现

(2)kebiao.asp,课表添加页面,如图9:

进行了专业班级的选择后,进入课表的添加页面,其中带*号的为必须填写的信息。填写了相应的信息后,数据被post到kebiaolian.asp页面进行添加操作。如有带*号的信息未填,就会弹出相应的提示,并且添加信息不成功。相关的代码如下:

if lessonname="" then/判断其信息是否为空

response.write "<script language='javascript'>"

response.write "alert('请输入课程名');"

response.write "history.back(1);"

response.write "</script>"

response.end

end if

B.添加班级信息(kebiaoclass.asp)是对班级信息的录入,要进行班级信息的录入,就必需填写班级信息(系名、专业、年级、班级、人数、教室),提交到addc.asp录入。其代码实现与上面课表的添加基本相似。都是在建立数据源连接以后,接收表单中的数据并通过post方法把参数传递到下个页面。

C.添加教师信息(kebiaoteach.asp)是对教师信息的录入主要包括教师的系、姓名、性别、电话,填入后提交到addth.asp录入。该部分的建设所用的主要代码也和上面课表的添加类似。


6.课程表更新(keupdatecha.asp)是针对现有的课程进行调整而开发的,要想对现有的课程表进行更新就必须找到该表,设计思想是按以下流程图9进行的,为了便于更新,就得找到该表,按专业查或按教师查,然后进行修改或删除,其流程如下图10:

A.keupdatecha.asp

此页面主要是对想要查询的信息按方式查询:按专业查询和按教师查询,主界面如图10:


选择相应的查询方式后,显示出相关的课表,对此课表我们可以进行修改和删除操作,如图12:

其功能的实现和上个模块选择课表基本类似,都是通过post把表单的值进行传递,然后在下个相关页面进行调用(keupdatez.asp)和(keupdate.asp)。(keupdatez.asp)和(keupdate.asp)这2个页面连上数据源以后,按照上一页面传递的参数进行显示,其中设置了页面显示的记录条数:

rs.PageSize=10 /设置一个页码里面显示的记录数

pagecount=rs.PageCount  /pagecount是记录的个数

page=int(request.QueryString ("page"))

if page<=0 then page=1

if request.QueryString("page")="" then  /当前页为 page页

page=1

end if

rs.AbsolutePage=page

B.修改(kenew.asp)

仍然使用post方法,把所有的值post到kenew1.asp进行操作,修改的主要使用的代码是:update 表名 set 字段名。修改成功后,出现对话框,提示修改成功。

C.删除(kedeletez.asp),选择删除后,会出现对话框,提示你是否确定要删除,如果确定,进行以下的操作:

<!--#include file="data/conn.asp"-->/连接数据源

<% ID=request("id") /接收 id

set rs=server.CreateObject("adodb.recordset") /打开课程表进行id查询

sqlstr="select * from 课程  where ID="&ID

rs.open sqlstr,conn,3,2  if not rs.eof then  rs.delete/数据删除;rs.update移动指针;

end if rs.close关闭数据库表;

set rs=nothing从内存中清空;

set conn=nothing

response.Redirect"keupdatecha.asp"%>

8.成绩数据管理(scoreadd1.asp)的实现

首先是录入学生信息scoreaddstu.asp是为了确定录入学生信息的前提条件比如:系别、专业、年级、班级等,确定好这几个条件后,就可以录入学生的信息了,仍使用<select>……</select>进行选择确定,然后把确定好的信息发送到scoreaddstu1.asp进行值传递的过渡,如果有未选择的信息,将会进行提示,要求你对这些信息进行选择了,才能进行下一步的操作。然后将这些值传递到scoreaddstu2.asp。

接收到上一页面传递的值后并将值查询出来把数据库指针指向这条数据并做出查询、接受值工作。并把表单上接受到的值post到scoreaddstu3.asp进行保存。接收到值后并查询出来把数据库指针指向这条数据并做出数据库写操作。

B.录入班级上课信息

 此功能主要是在表单中scoreaddke.asp,此表单只需选择班级、学期、就可以添加本班级在那学期要考试的科目,这个表单至关重要,添加好科目就能对学生成绩进行录入并做查询。把选择出的值接收并把他们post到save_scoreaddke.asp中去用来保存:

lessonname=request.form("lessonname")

xueqi=request.form("xueqi")

set rs=server.createobject("ADODB.Recordset")

sqlstr="select * from 上课"

rs.open sqlstr,conn,3,3 rs.addnew rs("xiname")=xiname rs("zhuanye")=zhuanye

rs("jino")=jino rs("banno")=banno rs("lessonname")=lessonname

rs("xueqi")=xueqi rs("classno")=classno rs.update rs.close

把数据保存到数据库表“上课”中, 当添加一条新数据后,就会在数据库中生成一条新的数据,用与记录班级上课的课程。

C.添加学生成绩

当你添加好班级信息后,添加好班级后,添加好班级的学生后,那就需要添加学生的成绩,对学生成绩的录入:

在此的第一个表单中需选择班级、学期等就可以选择,就进行查询把数据POST到send_scoreadda.asp页面中,进行数据转换:

<!--#include file="data/conn.asp"-->

<% classno=request.form("classno")

   xueqi=request.form("xueqi")  response.end  end if

   Session.Contents("classno")=classno

   Session.Contents("xueqi")=xueqi

response.redirect "scoreadda.asp"%>

以便下一个表单从中接受到数值进行查询在表单中显示出来并能显示录入信息

<%set rs=server.createobject("adodb.recordset")

 sql="Select * from 上课 where classno='"&classno&"' order by id desc "

 rs.open sql,conn,1,1

 do while not rs.eof %>

<%rs.movenext   i=i+1  loop %>

等录入后,要数据POST到save_scoreadda.asp保存

这样就可以接受到此同学的考试成绩,成绩的录入成功,这样后,就又了对数据表成绩的修改和对数据库表的查询成绩

9.成绩更新

成绩更新是更新数据库中的学生的成绩,在现实运用中,假如又一个同学的成绩出错,我们要做出修改,那么我们要更新此条数据,以便恢复数据库的正确性。

成绩更新(scoreupdatecha.asp)

我们首先接收

<%id=request("id")

classno=Session.Contents("classno")

Session.Contents("id")=id%>

接收ID值,以便判断出值。然后在查找

<% set rs=server.createobject("adodb.recordset")

sql ="select * from 成绩 where studentname='"&studentname&"' and xueqi='"&xueqi&"' and classno='"&classno&"'"

rs.open sql,conn,1,1   do while not rs.eof %>

在按ID值进行查找到此人的数据库指针处,进行查询,然后把值传递到scoreupdate.asp?id=<%=rs("id")%>"><%=rs("studentname")%>进行更新修改更新数据库信息。

10.管理员退出页面(admin_logout.asp),当退出系统的时候,会清空登录时所创建的Session变量的值并返回到首页。

 

 

 

 

 

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python爬虫之多线程加快爬取速度

之前我们学习了动态翻页我们实现了网页的动态的分页&#xff0c;此时我们可以爬取所有的公开信息了&#xff0c;经过几十个小时的不懈努力&#xff0c;一共获取了 16万 条数据&#xff0c;但是软件的效率实在是有点低了&#xff0c;看了下获取 10 万条数据的时间超过了 56 个小…

Vue——组件基础

目录 定义一个组件​ 使用组件​ 传递 props​ 监听事件​ 通过插槽来分配内容​ 动态组件​ DOM 模板解析注意事项​ 大小写区分​ 闭合标签​ 元素位置限制​ 组件允许我们将 UI 划分为独立的、可重用的部分&#xff0c;并且可以对每个部分进行单独的思考。在实际应…

如何用 YonBuilder 构建线索管理应用

加速企业数智营销&#xff1a;如何用 YonBuilder 构建线索管理应用 如何用 YonBuilder 低代码开发线索管理应用&#xff1f; 线索管理是指通过各种渠道收集、筛选、打分、分配、跟进和培育潜在客户的信息&#xff0c;以便将其转化为成交客户的过程。 通过数智化手段实现良好…

00后整顿职场,我直呼太卷了....

内卷的来源 内卷最早的“出处”是几张名校学霸的图片。 大学生们刷爆朋友圈的几张“内卷”图片是这样的&#xff1a;有的人骑在自行车上看书&#xff0c;有的人宿舍床上铺满了一摞摞的书&#xff0c;有的人甚至边骑车边端着电脑写论文。这些图片最早在清华北大的学霸之间流传。…

C++学习从基础到高阶(基于黑马程序员教程)

视频链接&#xff1a;黑马程序员匠心之作|C教程从0到1入门编程,学习编程不再难&#xff08;52个小时&#xff09; C语言中文网&#xff1a;http://c.biancheng.net/cplus/ Visual Studio 2022 下载地址&#xff1a;https://visualstudio.microsoft.com/zh-hans/downloads/ Visu…

JavaWeb - Web网站的组成,工作流程以及开发模式

一. Web Web&#xff1a;全球广域网&#xff0c;也称玩万维网(www Wrold Wide Web)&#xff0c;就是能够通过浏览器访问的网站学习Web开发&#xff0c;其实就是要使用Java这门语言来开发这样的Web网站&#xff0c;这也是现在Java语言最主流的企业级应用方式。使用Java语言开发…

PERSIANN 降雨数据使用教程

一、前言PERSIANN&#xff0c;“使用人工神经网络从遥感信息中估算降水”&#xff0c;是一种基于卫星的降水检索算法&#xff0c;可提供近乎实时的降雨信息。该算法使用来自全球地球同步卫星的红外 (IR) 卫星数据作为降水信息的主要来源。 红外图像的降水基于云顶温度和降水率之…

一位腾讯在职7年测试工程师的心声...

作为一个在腾讯工作7年的测试工程师&#xff0c;今天就来聊聊腾讯工作压力到底从何而来。 压力的开始&#xff1a;时间回到7年前&#xff0c;我人生中的第一份实习工作&#xff0c;是在腾讯公司做一个自动化测试工程师。当时的我可谓意气风发&#xff0c;想要大干一场&#xf…

工厂模式白话 - 3种都有哦

前言 工厂模式&#xff08;Factory Pattern&#xff09;里所谓的“工厂”和现实生活中的工厂一样 主要作用都是生产产品 像食品厂、服装厂、汽车厂生产吃的、穿的、开的 设计模式里的工厂则是生产对象 划分 工厂模式可分为简单工厂、工厂方法、抽象工厂3种 有啥不同呢&a…

PyTorch笔记

Tensor torch中的Tensor是一种数据结构&#xff0c;使用上与Python的list、numpy的array、ndarray等数据结构类似&#xff0c;可以当成一个多维数组来用。 数学上对张量有特定定义&#xff0c;但通常理解为多维数组即可。 生成Tensor&#xff1a;torch包中提供了直接生成Tens…

【微信小程序】初识微信小程序组件

作者简介&#xff1a;一名C站萌新&#xff0c;前来进行小程序的前进之路博主主页&#xff1a;大熊李子&#x1f43b; 一、组件的创建与引用 1.1 创建组件 在项目的根目录中&#xff0c;鼠标右键&#xff0c;创建 components -> test 文件夹在新建的 components -> test…

十分钟验证一个轻量化车联网解决方案

智能网联汽车在车联网的应用上&#xff0c;通常是以智能传感器、物联网、GIS技术为基础&#xff0c;结合大数据、人工智能技术&#xff0c;通过OT&#xff08;Operation tecnology&#xff09;和IT&#xff08;information tecnology&#xff09;融合的方式&#xff0c;实现智能…

2.3 连续性随机变量

思维导图&#xff1a; 学习目标&#xff1a; 我会按照以下步骤学习连续型随机变量&#xff1a; 复习概率论的基础知识&#xff0c;包括概率、期望、方差等概念和公式&#xff0c;以及离散型随机变量的概率分布函数和概率质量函数的概念和性质。 学习连续型随机变量的概念和性…

学生信息管理系统(student information manage system, SIMS)

一、前言 本项目为学生信息管理系统&#xff0c;使用C语言编写。 ★★★项目详见本人gitee仓库&#xff0c;地址 https://gitee.com/omnipotent-brother/student-information-manage-system.git ★★★ 二、项目介绍 开发环境&#xff1a; 基于windows 11系统下的Visual Studio…

YC-A11(原创)基于springboot,vue网上商城

绪论 课题的开发背景 随着计算机和网络的快速发展&#xff0c;并且越来越普及&#xff0c;互联网日益成为人们收集信息常用渠道&#xff0c;电子商务开始流行&#xff0c;一种全新的理念不断形成并且快速发展&#xff0c;像国内电商巨头淘宝、京东、苏宁易购、唯品会等电商平台…

【JavaScript】2.JavaScript函数

JavaScript 函数 1. 函数的概念 函数&#xff1a;就是封装了一段可被重复调用执行的代码块 通过此代码块可以实现大量代码的重复使用 2. 函数的使用 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta na…

前馈PID控制(热交换器/反应釜温度控制)

如何利用PID进行温度控制请参看下面博客文章: 博途PID 1200/1500PLC PID_Compact比例作用权重b微分作用权重c解读(PI-D控制器 I-PD控制器)_RXXW_Dor的博客-CSDN博客很多人会问PLC自带的PID指令和我们自己设计的PID有什么区别,这个问题要看你和什么PID控制器作对比,PID负反…

NDK RTMP直播客户端二

在之前完成的实战项目【FFmpeg音视频播放器】属于拉流范畴&#xff0c;接下来将完成推流工作&#xff0c;通过RTMP实现推流&#xff0c;即直播客户端。简单的说&#xff0c;就是将手机采集的音频数据和视频数据&#xff0c;推到服务器端。 接下来的RTMP直播客户端系列&#xff…

Redis用于全局ID生成器、分布式锁的解决方案

全局ID生成器 每个店铺都可以发布优惠卷 当用户抢购时&#xff0c;就会生成订单并保存到tb_voucher_order这张表中&#xff0c;而订单表如果使用数据库自增id就存在一些问题&#xff1a; 1.id的规律性太明显 2.受单表数据量的限制 全局ID生成器&#xff0c;是一种在分布式系…

Atlassian后Server时代 | Server版vs.数据中心版,二者的区别在哪里?

2024年2月&#xff0c;也就是一年不到&#xff0c;Atlassian将终止对Server产品及插件的所有支持。 此公告发布后&#xff0c;许多用户需要了解怎样的前进方向才是最适合企业的。为此&#xff0c;Atlassian提供了本地部署的数据中心&#xff08;Data Center&#xff09;版以及云…