20xx年毕业生实习报告封面模板及格式

时间:2024.4.5

中国xx学院

2015届毕业生实习总结报告

学生姓名:______________________ 专业年级:______________________ 实习单位:______________________ 实习时间:______________________ 辅导员老师:____________________

年 月 日

毕业实习报告格式

1、封面:写明专业、班级、姓名、辅导员老师、实习报告题目、实习单位、实习时间、地点等。

2、摘要:作为实习报告部分的第一页,为摘要,字数一般为150字,是实习报告的中心思想。

3、正文(要求字数不低于3000字):是实习报告的核心。写作内容可根据实习内容和性质而不同

(1)实习目的或研究目的

(介绍实习目的和意义、实习单位的发展情况及实习要求等)

(2)实习内容

(3)实习结果

(4)实习总结或体会 (是对实习的体会和最终的、总体的结论,不是正文中各段小结的简单重复。)

实习报告要求

1、 封面——指定的样稿

2、 用A4纸输出, 左右页边距:2厘米,上下页边距:2厘米

正文:宋体,小四,行间距1.5倍

正文标题:黑体小二号段后:1行


第二篇:生产实习报告封面及内容模板


电子科技大学

通信与信息工程学院

生产实习

学号:   2010013050034 

姓名:     代玥玥      

指导教师:    许都     

电子科技大学通信与信息工程学院

生产实习考核表

一、实习目的和任务

    学习网络理论,了解无线网络拓扑,探讨分布与集中式管理对无线网络的优化,以及用户与无线网络管理之间的交互。设计使用web实现用户与无线网络管理之间的交互,设计用户界面,方便直观的反应交互内容。

二、实习内容和要求

实验要求:

1.了解luci用户界面的设计

2.学习lua脚本语言,html语言以及数据库相关信息

3.使用lua,html,sql设计用户界面,实现用户与无线网络之间的交互

实验内容:

 一、luci用户界面

   luci作为web服务器,实现客户端web页面配置功能。对于request处理方式,采用的是cgi,而所用的cgi程序就是luci,工作框架如下图所示:

    Client端和serv端采用cgi方式交互,uhttpd服务器的cgi方式中,fork出一个子进程,子进程利用execl替换为luci进程空间,并通过setenv环境变量的方式,传递一些固定格式的数据(如PATH_INFO)给luci。另外一些非固定格式的数据(post-data)则由父进程通过一个w_pipe写给luci的stdin,而luci的返回数据则写在stdout上,由父进程通过一个r_pipe读取。

luci程序流程

    luci作为web服务器的cgi程序,是通过execl函数替换到进程空间的,并且详细说明了它与其它进程的交互方法。

    它首先执行的是running()函数,其中create出另一个执行体httpdispatch,每次httpdispatch执行yield返回一些数据时,running()函数就读取这些数据,做相应处理,然后再次执行resume(httpdispath),……如此直到httpdispatch执行完毕。

    首先说明一下代码组成,在luci文件系统中,lua语言的代码不要编译,类似一种脚本语言被执行,还有一些uhttpd服务器的主目录,它们是:

/www/index.html

     /cgi-bin/luci

     /luci-static/xxx/xx.css、js、gif

/usr/lib/lua/nixio.so、uci.so

         /luci/http.lua、dispatcher.lua、core…

              /controller/xxx.lua

             /model/xxx.lua

             /view/xxx.lua

节点树node-tree

    在controller目录下,每个.lua文件中,都有一个index()函数,其中主要调用entry()函数,形如entry(path,target,title,order),path形如{admin,network,wireless},entry()函数根据这些创建一个node,并把它放在全局node-tree的相应位置,后面的参数都是该node的属性,还可以有其他的参数。其中最重要的就是target。

    Createtree()函数就是要找到controller目录下所有的.lua文件,并找到其中的index()函数执行,从而生成一个node-tree。这样做的io操作太多,为了效率,第一次执行后,把生成的node-tree放在/tmp/treecache文件中,以后只要没有更新(一般情况下,服务器里的.lua文件是不会变的),直接读该文件即可。生成的node-tree如下:

    这里要注意的是,每次dispatch()会根据path_info逐层索引,且每一层都把找到的节点信息放在一个变量track中,这样做使得上层node的信息会影响下层node,而下层node的信息又会覆盖上层node。比如{/admin/system},最后的auto=false,target=aa,而由于admin有sysauth值,它会遗传给它的子节点,也即所有admin下的节点都需要认证。

target简介

    对每个节点,最重要的属性当然是target,这也是dispatch()流程最后要执行的方法。target主要有:alise、firstchild、call、cbi、form、template。这几个总体上可以分成两类,前两种主要用于链接其它node,后一个则是主要的操作、以及页面生成。下面分别描述。

    链接方法:在介绍初始登录流程时,已经讲到了这种方法。比如初始登录时,url中的path_info仅为'/',这应该会索引到rootnode节点。而该节点本身是没有内容显示的,所以它用alias('admin')方法,自动链接到admin节点。再比如,admin节点本身也没有内容显示,它用firstchild()方法,自动链接到它的第一个子节点/admin/status。

    操作方法:这种方法一般用于一个路径的叶节点leaf,它们会去执行相应的操作,如修改interface参数等,并且动态生成页面html文件,传递给client。这里实际上是利用了所谓的MVC架构,这在后面再描述,这里主要描述luci怎么把生成的html发送给client端。

    Call、cbi、form、template这几种方法,执行的原理各不相同,但最终都会生成完整的http-response报文(包括html文件),并调用luci.template.render(),luci.http.redirect()等函数,它们会调用几个特殊的函数,把报文内容返回给luci.running()流程。

    如上图所示,再联系luci.running()流程,就很容易看出,生成的完整的http-response报文会通过io.write()写在stdout上,而uhttpd架构已决定了,这些数据将传递给父进程,并通过tcp连接返回给client端。

sysauth用户认证

    2.1节已描述了,由于节点是由上而下逐层索引的,所以只要一个节点有sysauth值,那么它所有的子节点都需要认证。不难想象,/admin节点有sysauth值,它以下的所有子节点都是需要认证才能查看、操作的;/mini节点没有sysauth值,那么它以下的所有子节点都不需要认证。

    luci中关于登陆密码,用到的几个函数为:

可以看出它的密码是用的linux的密码,而openwrt的精简内核没有实现多用户机制,只有一个root用户,且开机时自动以root用户登录。要实现多用户,必须在web层面上,实现另外一套(user、passwd)系统。

    另外,认证后,serv端会发给client一个session值,且它要一直以cookie的形式存在于request报文中,供serv端来识别用户。这是web服务器的一般做法,这里就不多讲了。

MVC界面生成

    这其实是luci的精华所在,第二节开始介绍/usr/lib/lua/luci/下有三个目录model、view、controller,它们对应M、V、C。第2.2节介绍了生成的界面怎么传递给client,下面简单介绍生成界面的方法。

Call()方法会调用controller里的函数,主要通过openwrt系统的uci、network、inconfig等工具对系统进行设置,如果需要还会生成新界面。动态生成界面的方法有两种,一是通过cbi()/form()方法,它们利用model中定义的模板map,生成html文件;另一种是通过template()方法,利用view中定义的htm(一种类似html的文件),直接生成界面。

  二、用户配置界面

目次布局

模块进口文件status.lua在目次lua\luci\controller\admin下。

function index()

    entry({"admin", "status"}, alias("admin", "status", "overview"), _("Status"), 20).index = true

    entry({"admin", "status", "overview"}, template("admin_status/index"), _("Overview"), 1)

end

 在index()函数中,应用entry函数来完成每个模块函数的注册,官方申明文档如下:

 entry(path, target, title=nil, order=nil)

path is a table that describes the position in the dispatching tree: For example a path of {"foo", "bar", "baz"} would your node in foo.bar.baz.

target describes the action that will be taken when a user requests the node. There are several predefined ones of which the 3 most important (call, template, cbi) are described later on on this page

title defines the title that will be visible to the user in the menu (optional)

order is a number with which nodes on the same level will be sorted in the menu (optional)

 此中target首要分为三类:call,template和cbi。

call用来调用函数。

即语句entry({"admin", "status", "iptables"}, call("action_iptables"), _("Firewall"), 2)

Firewall模块调用了action_iptables函数:

function action_iptables()

    if luci.http.formvalue("zero") then

        ……

    end

end

template用来调用已有的htm模版,模版目次在lua\luci\view目次下。

即语句entry({"admin", "status", "overview"}, template("admin_status/index"), _("Overview"), 1)

调用了lua\luci\view\admin_status\index.htm文件来显示。

cbi语句应用cbi模块,这是应用很是频繁也很是便利的模块,在cbi模块中定义各类控件,Luci体系会主动履行大项目组处理惩罚工作。其链接目次在lua\luci\model\cbi下。

显然语句entry({"admin", "status", "processes"}, cbi("admin_status/processes"), _("Processes"), 6)

调用lua\luci\model\cbi\admin_status\processes.lua来实现模块。

cbi模块包含的一系列lua文件构成界面元素的组合,所有cbi模块中的控件都须要写在luci.cbi.Map中。

在cbi.lua文件中封装了所有的控件元素,例如复选框,下拉列表等。

button = s:option(Button, "_button", "Button")

button.inputtitle = translate("exec")

button.inputstyle = "apply"

function button.write(self, section, value)

        AbstractValue.write(self, section, value)

        local listvalue = luci.fs.readfile("/etc/saveValue")

        os.execute("touch /etc/testfile%s" %{listvalue})

        self.inputtitle = translate("haha")

end

按钮的响应过程为:从saveValue文件中获取内容,然后以获取到的字符串定名创建新文件。

代码如下:

Model:

module("luci.controller.admin.ap",package.seeall)

function index()

    entry({"admin","AP"},alias("admin","AP","AP"),_("AP"),10).index=true

    entry({"admin", "AP", "AP"}, cbi("admin_ap/basic_settings"), _("Basic settings"), 1)

    entry({"admin", "AP", "overview"}, template("admin_ap/index"), _("AP1"), 20)

    entry({"admin", "AP", "packages"}, call("action_packages"), _("Software"), 30)

entry({"admin", "AP", "overview2"}, template("admin_ap/index2"), _("AP2"), 40)

end

  

CBI模块:

require "luci.fs"

local uci = require "luci.model.uci".cursor()

local sys = require "luci.sys"

local wa  = require "luci.tools.webadmin"

local fs  = require "nixio.fs"

    m = Map("basic_settings", "Basic settings")

s = m:section(TypedSection, "basic_settings", "Basic settings")

s.anonymous = true

s.addremove = false

s:tab("basic_settings", "Basic settings")

s:tab("security", "Security mode")

s:tab( "mac", "MAC filtering configuration")

s:tab("advance", "Advance settings")

button = s:taboption("basic_settings",Button, "_button", "Button")

button.inputtitle = translate("exec")

button.inputstyle = "apply"

  function button.write(self, section, value)

        AbstractValue.write(self, section, value)

         os.execute("touch /home/dyy/abc")

end

                  图一 AP基本配置

      

                  图二   AP加密设置

                  图三 AP的MAC设置

                  图四 AP高级设置

配置文件:

config 'basic_settings'

    option 'interface' 'wlan x'

    option 'ssid' 'dewgh6r'

    option 'hw_mode' '2'

    option 'channel' '0'

    option 'auth_algs' '0'

    option 'select' '0'

    option 'bridge' 'br0'

    option 'change' '0'

    option 'change1' '0'

......

三、实习的心得与体会

    经过一个半月的生产实习,我感觉收获颇多,这次实习是我真正意义上接触通信开端也是一次很好的历练。在这一个半月的时间里,我学习了lua语言,制作了用户界面,这让我很有成就感。在今后的工作和生活中,我将继续学习,深入实践,不断提升自我,努力创造业绩。

更多相关推荐:
毕业实习报告格式要求

一毕业实习报告基本要求1报告应有封面封面应有专业班级姓名实习单位实习起止日期等2文字要求文字要工整通顺语言流畅基本无错字不准请他人代写3图表要求图表要美观整洁布局合理不准徒手画必须按国家规定的绘图标准绘制4字数...

毕业生实习报告格式

毕业生实习报告格式1、写作方法第一部分:以实习时间、地点、任务作为引子,或把几个月的实践感受、结果,用高度概括的语言概括出来以引出报告的内容。第二部分:实习过程(实习内容、环节、做法)1、将学校里学到的理论、方…

毕业生实习报告格式

毕业生实习报告格式毕业生gt实习报告格式1写作方法第一部分以实习时间地点任务作为引子或把几个月的实践感受结果用高度概括的语言概括出来以引出报告的内容第二部分实习过程实习内容环节做法1将学校里学到的理论方式方法变...

大学生毕业实习报告及模板

毕业实习报告年级学号姓名专业指导老师20xx年4月6日工商管理系毕业实习评价表1毕业实习报告一引言11实习要求111在上学期的期末考试之后我们电子商务专业的领导同各位指导老师给我们毕业班做了寒假的安排最后一学期...

毕业实习报告格式范本

西安思源学院毕业实习报告11级同学毕业实习报告可按此格式顺序排列但内容上不要受此篇文章的模式制约不要与本文内容雷同注意写出自己的真情实感有自己的观点看法认知注意避免出现错别字封面封面一律采用西安思源学院教务处印...

大学毕业实习报告格式

河北农业大学毕业实习报告学生姓名学号成绩学院专业班级指导教师姓名指导教师职称实习时间至实习单位实习内容指导教师评语指导教师年月日实习报告要求实习报告包括题目和正文实习报告题目为关于在从事的实习报告正文包括概述实...

毕业实习报告格式(新)

毕业实习报告撰写要求撰写毕业实习报告是学生的一个重要学习环节是学习深化与升华的重要过程它既是学生学习研究与实习的全面总结又是对学生素质与能力的一次全面检验而且还是对学生的毕业资格认证的重要依据通过撰写实习报告对...

毕业实习报告范文

毕业实习报告院系电气工程与自动化系专业计算机控制技术班级Z090456学生姓名闫中原学号Z09045635一实习目的1通过本次实习使我能够从理论高度上升到实践高度更好的实现理论和实践的结合为我以后的工作和学习奠...

(20xx年新版)毕业实习报告格式要求及范本

四川天一学院学生毕业社会实习报告格式要求1毕业社会实习报告格式要求由各毕业班辅导员发给学生封面需填的字体采用三号宋体加黑详见附件1封面2封面的日期要具体3目录填写要规范目录用三号宋体加黑居中目录内容用宋体四号字...

毕业实习报告写作要求及格式规范

一毕业实习报告写作要求及格式规范1毕业实习报告的字数及印装毕业实习报告一般在30006000字之间为宜要求统一使用A4标准幅面210mm297mm页边距为上4厘米下25厘米左右各为3厘米全部要求使用打印稿统一进...

09级毕业实习报告写作要求及格式规范

一毕业实习报告写作要求及格式规范1毕业实习报告的字数及印装毕业实习报告一般在30006000字之间为宜要求统一使用A4标准幅面210mm297mm页边距为上4厘米下25厘米左右各为3厘米全部要求使用打印稿统一进...

毕业生实习报告封面模板及格式

XXXXXXX学院20xx届毕业生实习总结报告学生姓名专业年级实习单位实习时间辅导员老师200年月日毕业实习报告格式1封面写明专业班级姓名辅导员老师实习报告题目实习单位实习时间地点等2摘要作为实习报告部分的第一...

毕业生实习报告格式(56篇)