版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章:接口开发与云平台ontents目录查看做题情况api开发01后台api开发02C注册页面课前讨论
王坚:坚持你相信的事平头、格子衫、瘦瘦小小、笑起来憨憨的、有点羞涩,这就是“一介书生”王坚。非常简单的一个人。他的成就却不简单。30岁成为心理学教授、31岁成为博导、32岁做系主任,37岁放着好好的系主任不干了,加入微软亚洲研究院,之后做到了副院长。如今,他不仅是阿里云创始人,更当选为中国工程院院士。2008年6月,马云在阿里巴巴B2B高管会上,首次提出要做云计算的构想。当时内部有很大的争议,也有很大的反对意见,但马云力排众议,要求必须马上做这件事。于是彭蕾找到了王坚,一通猛挖。2008年9月,王坚离开微软亚洲研究院,加入阿里巴巴。2008年底,王坚首创了以数据为中心的云计算体系结构,命名为“飞天”。当年,在王坚的主导下,阿里巴巴开始了轰轰烈烈的“去IOE”(IBM小型机、Oracle商业数据库和EMC集中式存储),同样引发了业内不小的争议。那几年里,他主持的云计算研发耗费巨资,但迟迟未做出成绩;他手下的员工纷纷出走,将近80%的员工或者转岗到风生水起的淘宝、天猫等业务部门,或者直接离开阿里巴巴。王坚知道,要想成功肩负起底层计算系统,就必须有能力调度5000台服务器,这相当于一根及格线。这就是“5K”的由来。2013年6月底,5K进入了最后的稳定性测试阶段,有人提出了一个钢铁直男般的测试方法:拔电源。理由是,如果5K连这种突然暴力断电都能撑得住,阿里云还有什么不稳定的。王坚同意了。负责拉电的人还反复向他确认了三遍:拉吗?拉吗?拉吗?当所有机器重新启动的时候,当系统完全恢复运行的时候,一切正常。这一刻,在场见证的所有人都明白,成了。他主持研发的飞天操作系统,也获得中国电子协会十六年来首个“科技进步”特等奖。他不仅引领了中国技术史上第一次从0到1的完整跳跃,也掀起了整个中国云计算的浪潮,为商业、为社会、为人,带来了新的变化。王坚:坚持你相信的事所幸,马云信任王坚,要人给人、要枪给枪,给王坚吃下了定心丸。那时的阿里巴巴看似是一个行走顺畅的人,但它的“两条腿”——核心技术——来自另外两家技术公司:雅虎和IBM。所以,云计算也是为了公司做“截肢手术”,去雅虎化和去IBM化。王坚坚信:技术才是一家公司的核心竞争力,阿里巴巴只有改变自身对其他公司的技术依赖,才能找到自己不可替代的坚实力量。同时,随着阿里巴巴的业务快速增长,IT基础设施成本的上升将会拖垮阿里巴巴,王坚也必须换掉老引擎,从零开始建立这套技术体系。
而此时,功成名就的王坚却想要保持自己一贯的低调,他只轻描淡写地,把自己几年来的种种经历总结为两句话:“要坚持你所相信的东西,也要相信你所坚持的东西。”中国云市场规模达3229亿元
中国信通院发布的《云计算白皮书(2022年)》显示,我国云计算市场持续高速增长。2021年中国云计算总体处于快速发展阶段,市场规模达3229亿元,较2020年增长54.4%。其中,公有云市场继续高歌猛进,规模增长70.8%至2181亿元,有望成为未来几年中国云计算市场增长的主要动力;与此同时,私有云市场突破千亿大关,同比增长28.7%至1048亿元。数据显示,我国公有云IaaS及PaaS保持高速增长,SaaS稳步发展。2021年,公有云IaaS市场规模达1614.7亿元,增速80.4%,占总体规模的比例接近十分之三;PaaS依然保持着各细分市场中最高的增长速度,同比增长90.7%至194亿元;SaaS市场继续稳步发展,规模达到370.4亿元,增速略微滑落至32.9%,预计在企业上云等相关政策推动下,有望在未来数年内随着数字化转型重启增长态势。中国公有云(IaaS+PaaS)市场份额前五名IaaS:提供给消费者的服务是对所有设施的利用,包括处理、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。其中云服务器就是最大的一方面。厂商份额方面,阿里云、天翼云、腾讯云、华为云、移动云占据中国公有云IaaS市场份额前五;公有云PaaS方面,阿里云、华为云、腾讯云、百度云处于领先地位。我国云计算展现中国特色
我国数字经济规模已经连续多年位居世界第二,取得显著成绩。但同世界数字经济大国、强国相比,我国数字经济还有很大成长空间。伴随中国从全球第二大经济体再向前迈进的总攻,中国云计算产业将再一次获得“浴火重生”的机会。
当前,我国云计算发展呈现“中国特色”:1.政策指引转向深度上云用云,标准建设拓展至新技术应用;2.产业集聚效应明显,布局发展从东部向中西部逐步扩散;3.是市场需求持续更迭,多种部署模式并存发展;4.是行业应用水平参差不齐,阶梯状发展特点明显。云原生技术和能力不断成熟,加速企业IT要素变革。在云计算已步入发展成熟的时期,云原生由于具备弹性扩展和响应、服务自治和故障自愈、跨平台及服务的规模复制的能力特性,成为了充分发挥云效能的最佳实践路径。云服务向算力服务演进,助力算力经济高质量发展。算力作为数字经济的核心生产力,正在成为加速行业数字化及经济社会发展的重要引擎。作为云服务的升级,算力服务正在呈现出泛在化、普惠化、标准化的特点。云市场机遇与挑战并存
工信部发布的2022年上半年通信业经济运行情况显示,三大运营商2022年上半年共完成云计算、大数据等新兴业务收入1624亿元,同比增长36.3%,其中云计算收入同比增速139.2%。在云计算赛道“马太效应”明显。互联网头部企业,如阿里云、腾讯云、华为云等充分利用网络资源、技术能力等关键要素优势,市场份额不断扩大。随着IaaS增速放缓,PaaS和SaaS市场需求不断增加,互联网厂商和IT厂商的优势将进一步扩大。运营商在上层云服务领域本就存在劣势,未来将面临更大挑战。“从基础设施向平台层和软件层发展,赛道会越分越细,技术含量和专注度会越来越高。”中国人民大学信息学院计算机科学与技术系主任柴云鹏表示,做云本不是互联网的本职工作,但互联网有人才的积累,加上自身业务需求大,给用云、做云提供了很好的环境。如果PaaS、SaaS每一层电信运营商都要自己投入,研发的效率比较低,合作才是正确的路。查看做题情况api开发01ranspageT9.1查看做题情况api开发
★做题情况页面布局(1)右击my目录,单击“新建Page”按钮。命名为statistic,完成做题情况页面的新建。(2)做题情况页面主要用于显示总做题数、正确题数、所做的单选题数、多选题数以及判断题数。样式就选择WeUI样式库中表单->list对应的带说明的列表项。将该样式对应的代码拷贝至doudouyun项目的statistic.wxml文件中,并修改标题文字。9.1查看做题情况api开发
修改后statistic.wxml中代码具体如下:<view
class="weui-cellsweui-cells_after-title">
<view
class="weui-cell">
<view
class="weui-cell__bd">总做题数</view>
<view
class="weui-cell__ft">说明文字</view>
</view>
<view
class="weui-cell">
<view
class="weui-cell__bd">正确题数</view>
<view
class="weui-cell__ft">说明文字</view>
</view>
<view
class="weui-cell">
<view
class="weui-cell__bd">单选题数</view>
<view
class="weui-cell__ft">说明文字</view>
</view>
<view
class="weui-cell">
<view
class="weui-cell__bd">多选题数</view>
<view
class="weui-cell__ft">说明文字</view>
</view>
<view
class="weui-cell">
<view
class="weui-cell__bd">判断题数</view>
<view
class="weui-cell__ft">说明文字</view>
</view></view>做题情况页面9.1查看做题情况api开发
在myinfo.wxml文件中添加一个button组件,按钮名称为“查看做题情况”,并给该button添加bindtap属性,触发函数名为bind_statistic具体代码如下:
<button
class="weui-btn"
type="primary"
bindtap='bind_statistic'>查看做题情况</button>该button的主要作用是实现myinfo页面到statistic页面的带参跳转,参数为uid,uid的值对应的是userinfo中的用户id。在后面查看做题情况Api主要通过uid来查找每个学生的做题情况。myinfo.js中bind_statistic函数的代码具体如下:bind_statistic:function(){wx.navigateTo({url:'./statistic?uid='+this.data.userinfo.id,})},9.1查看做题情况api开发
★新建数据表(1)新建一张名为pingshifen_homework_statistics的数据表用作存储每个用户的做题情况。该数据表共有6个字段,其中,由于是以每个用户为单位,因此设置uid为主键,uid对应的索引选择“PRIMARY”。另外5个字段分别对应用户做题的做对题数、做错题数、单选题数、多选题数和判断题数因为存储内容均为整数,因此6个字段的类型均选择INT,长度如果不设置默认为11;PRIMARY为主键的意思,为不可重复项,类比于每个人的身份证号不可重复,并且是一对一的关系;如果字段需要存储中文,Collation需要选择utf8,常用utf8_general_ci。9.1查看做题情况api开发
(2)单击右下角的“保存”按钮,即完成数据表的新建9.1查看做题情况api开发
★获取做题情况Api开发(1)在后台代码的UserController中添加get_homework_statistic方法,该方法的代码具体如下:
/* *读取做题情况 */ publicfunctionget_homework_statistic() { $uid=I('uid'); //合法性判断 if(!$uid){ $this->ajaxReturn('uid参数错误'); } //数据存储 $STATISTIC=M('homeworkStatistics'); $selectData=$STATISTIC->where(['uid'=>$uid])->find(); if(empty($selectData)){ //如果不存在,则执行更新操作 $this->ajaxReturn($this->update_homework_statistic()); }else{ //否则更新原有数据 $this->ajaxReturn($selectData); } }9.1查看做题情况api开发
(2)在statistic.js文件的onLoad函数中请求这个Api,statistic.js的具体代码(从左到右)://pages/my/statistic.jsconstuserUrl=require('../../config.js').userUrlPage({
/***页面的初始数据*/data:{statistic:{},uid:undefined},
/***生命周期函数--监听页面加载*/onLoad:function(options){
letthat=this
this.setData({uid:options.uid})
if(this.data.uid==undefined){
return}
wx.request({url:userUrl+'get_homework_statistic',data:{
'uid':that.data.uid},success:function(res){that.setData({
'statistic':res.data})console.log('http返回结果',res)},fail:function(res){console.log('请求失败',res)}})},})9.1查看做题情况api开发
★更新做题数据Api开发(1)在后台代码的UserController中添加update_homework_statistic方法,该方法的代码(从左到右):
/* *统计做题情况 */ publicfunctionupdate_homework_statistic() { $uid=I('uid'); //合法性判断 if(!$uid){ $this->ajaxReturn('uid参数错误'); } $data['uid']=$uid; //实例化数据表 $RECORD=M('questionRecord'); //查询做对题数 $data['right_count']=$RECORD->where(['uid'=>$uid,'result'=>1])->count(); //查询做错题数 $data['wrong_count']=$RECORD->where(['uid'=>$uid,'result'=>2])->count(); //查询判断题数 $data['judge_count']=$RECORD ->join('pingshifen_question_bankONpingshifen_question_bank.id=pingshifen_question_record.qid')//自然连接 ->where(['uid'=>$uid,'pingshifen_question_bank.type'=>1])//type=1代表判断题 ->count(); //查询单选题数 $data['single_count']=$RECORD ->join('pingshifen_question_bankONpingshifen_question_bank.id=pingshifen_question_record.qid')//自然连接 ->where(['uid'=>$uid,'pingshifen_question_bank.type'=>2])//type=2代表单选题 ->count();//查询多选题数 $data['multiple_count']=$RECORD ->join('pingshifen_question_bankONpingshifen_question_bank.id=pingshifen_question_record.qid')//自然连接 ->where(['uid'=>$uid,'pingshifen_question_bank.type'=>3])//type=3代表多选断题 ->count();
//数据存储 $STATISTIC=M('homeworkStatistics'); $save_data=$STATISTIC->create($data);//生成符合数据库格式的数组 $existed=$STATISTIC->where(['uid'=>$uid])->find(); if(empty($existed)){ //如果不存在,则新增数据 $STATISTIC->add($save_data); }else{ //否则更新原有数据 $STATISTIC->where(['uid'=>$uid])->save($save_data);//这里的where部分可以省略,因为data中存在uid,即主键 } $this->ajaxReturn($data); }9.1查看做题情况api开发
(2)在statistic.wxml文件中添加一个button用于更新做题数据,具体代码如下:<button
class="weui-btn"
type="primary"
bindtap='bind_update_statistic'>更新做题情况</button>bind_update_statistic函数代码具体如下:bind_update_statistic:function(){
letthat=this
if(this.data.uid==undefined){
return}wx.request({url:userUrl+'update_homework_statistic',data:{
'uid':that.data.uid},success:function(res){that.setData({
'statistic':res.data})console.log('http返回结果',res)},fail:function(res){console.log('请求失败',res)}})},9.1查看做题情况api开发
写完后,重新编译doudouyun项目,单击“查看做题情况”按钮,可以看到调试器中打印出后台返回值同时,可以看到数据库中pingshifen_homework_statistics表中成功插入了对应的一条记录9.1查看做题情况api开发
把请求返回值,显示在statistic页面,其中总做题数=正确题数+错误题数,修改后statistic.wxml代码:<view
class="weui-cellsweui-cells_after-title">
<view
class="weui-cell">
<view
class="weui-cell__bd">总做题数</view>
<view
class="weui-cell__ft">{{statistic.right_count*1+statistic.wrong_count*1}}</view>
</view>
<view
class="weui-cell">
<view
class="weui-cell__bd">正确题数</view>
<view
class="weui-cell__ft">{{statistic.right_count}}</view>
</view>
<view
class="weui-cell">
<view
class="weui-cell__bd">单选题数</view>
<view
class="weui-cell__ft">{{statistic.single_count}}</view>
</view>
<view
class="weui-cell">
<view
class="weui-cell__bd">多选题数</view>
<view
class="weui-cell__ft">{{statistic.multiple_count}}</view>
</view>
<view
class="weui-cell">
<view
class="weui-cell__bd">判断题数</view>
<view
class="weui-cell__ft">{{statistic.judge_count}}</view>
</view></view><button
class="weui-btn"
type="primary"
bindtap='bind_update_statistic'>更新做题情况</button>9.1查看做题情况api开发
重新编译后,单击“查看做题情况”按钮,进入做题情况页面在课程练习模块再做几道题目,进入做题情况页面,单击“更新做题情况”按钮,可以看到数据得到了更新阿里云后台搭建02ranspageT9.2阿里云环境配置
(1)注册阿里云账号,并登录(阿里云官网/)(2)进入首页后,点击右上角头像,进入账号中心页面,完成实名认证和学生认证。★创建阿里云应用9.2阿里云环境配置
(3)将鼠标悬停在“学生认证”按钮上会弹出提示框,单击提示框里的“查看详情”进入学生验证页面,点击“马上领取”,再点击“免费领取”可以免费购买一台ECS★创建阿里云应用9.2阿里云环境配置
(4)领取完ESC后,点击页面左上角三条杠,选择云服务器ECS,或者在首页鼠标移到左上角“产品”,选择云服务器ECS,再点击页面中间的“控制管理台”,就可以看到刚刚创建的实例★创建阿里云应用注意:在实例页面看的话要切换到实例对应的地址9.2阿里云环境配置
(4)搭建环境(为了远程连接服务器进行操作,mac系统可直接远程不需要下载软件)下载软件:Xshell和Xftp(/en/xshell-download/)步骤:点击页面右侧“FreeLicensingPage”,下滑找到输入框,填写Name和Email,勾选Both,点击Download,查看自己的邮箱,即可找到下载链接。下载Xshell和Xftp并安装。9.2阿里云环境配置
(5)检查邮箱获取下载链接。分别安装完成(6)Xshell操作:--新建会话--名称自定义--主机填公网ip(云服务器分配的公网IP)--保存接受密钥--登录账号root--密码重置自行填写9.2阿里云环境配置(6)Xshell操作:--新建会话--名称自定义--主机填公网ip(云服务器分配的公网IP)--保存接受密钥--登录账号root--密码重置自行填写步骤:云服务器ECS->实例与镜像->实例->选择所购买的服务器所属地区->更多->密码/密钥->重置实例密码9.2阿里云环境配置
(7)Xshell操作:
双击新建的会话,进行连接:用户名+密码9.2阿里云环境配置
◆安装后台环境相关:mysql和apache最好是首先进行安装的,因为在配置php的时候需要与mysql和apache进行关联配置和测试(1)安装mysql:下载mysql-service文件#wget/get/mysql-community-release-el7-5.noarch.rpm
安装mysql-service文件#rpm-ivhmysql-community-release-el7-5.noarch.rpm
安装mysql(中途键入y以同意)#yuminstallmysql-community-server
安装完毕之后启动mysql服务#servicemysqldrestart
进入mysql#mysql-uroot
初步安装的mysql是没有密码的,用户名默认是root。所以我们需要修改密码,用mysql命令行进行修改mysql>setpasswordfor'root'@'localhost'=password('你要修改的密码');
退出mysql界面mysql>\q9.2阿里云环境配置
(2)安装apache:#yuminstallhttpd#servicehttpdstart启动#servicehttpdstatus查看运行状态命令#servicehttpdrestart重启9.2阿里云环境配置
(3)配置端口允许被访问:云服务ECS—网络与安全—安全组—配置规则—快速添加常规端口选择HTTP(80)和HTTP(443),授权对象填/0配置完成后可公网访问页面(浏览器键入公网IP地址)9.2阿里云环境配置
(4)安装php:#yuminstallphp//php安装命令#servicehttpdrestart//安装完毕后重启httpd
之后在默认路径/var/www/html/下建立一个test.php文件#cd/var/www/html/#vitest.php//vim编辑器输入以下内容(vim编辑器使用方法自行百度,i输入模式,:wq保存退出)<?phpphpinfo();?>访问自己服务器/test.php就可以看到phpinfo界面:(浏览键入:公网IP地址/test.php)9.2阿里云环境配置
★关联php和mysql,安装相关模块
#yuminstallphp-mysqlphp-gdphp-imapphp-ldapphp-odbcphp-pearphp-xmlphp-xmlrpc(安装相关模块)
重启httpd:servicehttpdrestart9.2阿里云环境配置
(1)使用xftp(获取、安装过程与xshell一模一样)使用方式也类似:新建会话
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理课件老年人尿路感染护理
- 《证券行情指标分析》课件
- 《教材循环利用》课件
- 初中体育与健康教学参考计划5篇
- 《软件无线电原理与技术》课件-第3章
- 2024-2025学年年八年级数学人教版下册专题整合复习卷第14章 一次函数单元复习测试卷(含答案)
- 加油站安全设备管理培训教材
- 《第一章》课件-第六章:无人船
- 安全生产责任的归属与分工
- 2025年海南货运从业资格证考试模拟试题答案
- 【MOOC】农产品贸易-福建农林大学 中国大学慕课MOOC答案
- 连云港市农商控股集团限公司2024年专业技术人员招聘【重点基础提升】模拟试题(共500题)附带答案详解
- 石文化与宝玉石鉴赏智慧树知到期末考试答案2024年
- MOOC 3D工程图学-华中科技大学 中国大学慕课答案
- 劳务外包服务方案(技术方案)
- 亚马逊品牌授权书(英文模板)
- 离退休干部管理岗试题
- 钢板桩围堰监测方案
- 学校五个不直接分管制度
- 青岛海事局平台建设方案
- 施工现场临水临电.PPT
评论
0/150
提交评论