分享到微博 分享到人人 分享到LinkedIn 分享到Email
2016编程之美“凌云之智” 分享系列干货第二波

本次分享我们邀请到了Azure开发工程师杜仲轩,他在“凌云之智”第二期中为参加复赛的选手介绍Azure的使用教程,并围绕Azure平台上建立虚拟机的具体步骤、如何连接已经建立的虚拟机、如何在Azure虚拟机上运行自己的程序、比赛评价系统及流程进行介绍。

如何在Azure上构建Windows虚拟机

在 Azure上建立虚拟机,首先虚拟机的tab里有一个创建虚拟机的选项,一个是快速创建,一个是from gallery选择镜像创建。第一个是用快速创建,创建一个中文版的Windows server 2012,选择完镜像之后选择虚拟机的大小,编程之美复赛是要求使用A3大小的虚拟机(4核7G内存),然后填写DNS NAME,用户名密码,最后选择这台虚拟机所在的区域,目前中国是有中国东部和中国北部两个区域,大家就近选择,最后点击创建,大概一分钟的时间就可以创建好了。

我们能做的一些操作都在虚拟机底部列出来了,之后下载一个连接文件,点击connect就可以连接这台虚拟机了,这里会用到刚才的用户名和密码登陆。另外大家需要注意的是由于是快速创建的虚拟机,所以暂时只开放了两个端口,在endpoints里可以看到一个是PowerShell,另一个是远程连接端口。编程之美复赛是需要在虚拟机上部署一个外部可以访问的RESTFUL API,所以要把http加进来,内外部端口都选80。完成这些后,我们就可以在外部打开。如果想要加上其他服务一定要记得在endpoints里把端口打开,否则会被azure的防火墙禁止。以上就是服务器的创建和连接过程了。

如何在Azure上构建Linux虚拟机

这个可以用from gallery创建,以Ubuntu为例,选择发行版14.04LTS,选择发行时间、name、虚拟机大小、user name,可以选择传统的用户名和密码登陆进去。这种创建方法会自动提醒是否增加一些端口,你可以现在加入http或其他需要的端口,剩下的就是直接下一步。Linux虚拟机安装完成后,连接方式换到了仪表盘右面。SSH Detail会指导大家去连接。创建虚拟机时,如果你电脑就是Linux或者mac你可以直接使用SSH登陆,如果本地机器是Windows的话就要下载一个putty或者类似的带SSH连接功能的软件。

评测系统概述

Linux系统中安装一个node.js,简单写一个server。

假设到时候评测系统会请求你的路径,在DNS name的基础上加两个参数,id1和id2,这里是把两个参数解析成Int类型。Json格式会要求我们返回一个Json数组,数组里的每一个元素是一条路径,路径也是一个数组的表示。

实际做题的时候要在里面写自己的逻辑,这里是假设从id1到id2有一条直达的路径,把它放到结果点,以Json的形式返回。具体的题目会比这个要复杂的多,大概的要求是建立一个http 服务器,使得它能接受两个参数id1和id2。大家在做的时候可以用自己熟悉的工具,最后开放评测系统的时候会让同学们提交一下网址。评测系统会自动把后面的GET参数加上后访问你的网页,你需要把正确结果返回给系统,系统读到返回后根据准确率和运行时间进行评分。

需要注意的问题

1 必须自己创建虚拟机,在虚拟机上架设自己的Web API,不能选用Azure Web服务

2 id1和id2,一定可以判定为Id或者是AuId,不存在均可的情况