?;ZnD(4?  
评测介绍 1V-sibE  
j|LOg

  • 评测产品: 云引擎ACE服务
  • 开发语言: PHP
  • 评测人: mr_wid
  • 评测时间: 2014年10月13日-19日

XV1XzG#C  
.>p.k*vU  
评测概要 9]:F!d/  
fYlqaO4[  
非常有幸能够申请到ACE的公测资格, 在本篇评测中, 笔者将以一个开发者的角度来对云引擎ACE服务进行介绍与使用。在本篇评测中, 您将看到:

  • ACE能够做些什么
  • ACE应用的创建与发布
  • 应用的配置与调试
  • ACE扩展服务的使用
  • 评测总结及建议
  • 附件: 演示代码及Demo应用"徽博"项目下载

<tdsUh:?&  
ACE能够做些什么 0@RVM|  
zEDN^K '  
阿里云应用引擎(ACE)是阿里云计算推出一款基于弹性扩展的网络应用托管平台, 通俗的讲,可以将其看做一个无需进行复杂配置的就可以快速进行部署、发布Web应用程序的应用运行平台, 且能根据应用负载情况自动弹性伸缩应用所需资源,使应用性能时刻维持在最佳状态。告别节日、活动等大量流量涌入时, 现有硬件无法支撑应用的运行, 而又临时无法解决的尴尬情况。 oWq]\yT<`  
I7W?}bR*6  
在ACE上, 用户只需将编写好的程序、资源通过svn提交到ACE, 而无需再关心服务器的维护、软件的配置等细节。使开发者/用户能够集中精力编写、运营ACE中托管的应用程序, 从而从繁重的服务器运维工作中解放出来。 iB+ _+A  
`t+;[G>ZE  
ACE除了能够让你轻松部署出属于自己的WordPress博客、Discuz论坛等常规网站类应用, 同时配合ACE的扩展服务, 同样能通过编写 Web API/Services 对移动APP、桌面应用等提供强大的后台支撑能力。


l7U<]i GL  
ACE应用的创建与发布 M,we,!B0  
g|M>C:ZT  
创建一个ACE应用的过程是十分愉快的, 只需为它填上精心准备的应用名称与二级域名, 再选上开发语言, 就可以创建了。如图所示, 笔者创建了一个名为 ACE公测评测 的应用, 并且二级域名为 wid-ace-test.aliapp.com,等应用发布后, 便可以通过二级域名进行访问。 u/%Z0`X  
{Rn*)D9  
此外, 也可将自己注册的域名的来"替换"这个二级域名进行访问, 具体操作作为后话, 暂且按下不表。 H=9{|%iS  
  YTg8Zg-Z  
在应用环境的模式选项, 有单实例和集群模式可选, 集群模式是指在同一时间内, 应用有多个实例同时运行, 在运行过程中, 即便有其中一个实例发生运行故障, 也几乎不会影响应用的正常访问。 ' ?a d  
B.~[m}  
对于弹性策略, 可以说是ACE服务的最大亮点之一, 开启自动弹性后, 能让应用程序真正做到了不再担心可用资源是否充足、应用是否达到了性能瓶颈等问题。 8L[\(~Zf  
bVr`a*EM  
S";}gw?r6  
实例模式与弹性策略在应用创建后也是可以根据需要随时切换的, 所以不用纠结自己的应用在创建时应该选择哪种模式。点确定创建应用, 并返回查看这个已创建的应用信息, 如图: 3gv?rJV  
  G<Urj+3/Xo  
接下来, 我们创建一个仅有一个页面的Web网站程序, 并且在接下来的评测中慢慢扩展它。 " s/ws  
~;uU{TT  
ACE目前使用SVN的方式来提交应用, SVN是一个开源版本控制系统, 管理方便, 易于维护, 在Windows、Linux、OS X下均有相关的svn客户端, 本文中以Windows下的 TortoiseSVN 为例来创建应用仓库和提交应用。 cL4Xh|NBp  
_p<wATv?7t  
_5o5/@  
首先在ACE应用的版本管理页生成一个应用仓库, 选择 生成SVN, 在弹出的对话框中选择创建空一个的SVN目录: a..LbQQ  
  [-^xw1:  
得到了SVN地址, 就可以通过SVN客户端对项目执行SVN检出(Checkout), 在检出的过程,是通过阿里云账号和SVN密码进行身份验证的, 第一次使用时, 需要为SVN设置认证密码(见上图), 否则无法正常检出。 lU`t~|>r+  
RY\0dv>  
在目标目录下, 右键,SVN检出, 检出流程如图: <2wC)l3j*  
  :\^jIKvZ  
成功后, 在检出目录下将多出如图中所示的文件/文件夹。webroot 为站点的根目录, 在 webroot 目录下的文件, 除在配置里做特殊设置外, 均能被用户通过浏览器直接访问, 因此, 较为敏感的文件, 不要放在该目录中。 [_*?~  
q-S#[I+g  
w8F`RRHEE  
app.yaml , 应用的配置文件, 可以配置URL重写、防盗链、访问控制等。 (W#^-*$R  
()<?^lr33  
发布第一个应用 E`|vu*l7  
f67t.6Vw2+  
在第一个应用中, 将使用经典的 phpinfo 函数来查看ACE服务中的PHP环境详细情况。在 webroot 目录下, 新建 phpinfo.php 文件并添加代码: VdGpreRPC  
  xEufbFAN?  
添加代码中应注意将代码保存为 UTF-8 无 BOM 编码方式(不同文本编辑器下操作有所不同), 避免出现不必要的麻烦。 l!:L<B  
k{bC3)'$#R  
接下来使用SVN将新添加的phpinfo页面提交到ACE中, 操作过程如图: <VhD>4f{]  
  Yi <1z:\  
提交成功后, 到ACE管理页面, 在 版本管理 项, 选择 "发布" 应用。约1分钟后, 即可通过二级域名访问。 #P {|7}jk  
  bd2QQ1[1vh  
从 phpinfo 的信息中可以看到, ACE服务的PHP版本为5.4.14,  并且启用了常用的一些扩展, 所以绝大多数之前编写好的PHP应用, 都可以不加修改的直接在ACE上运行。 GQ sE5Vb  
PoLk{{l3  
ACE的Web服务器程序选用的是Tengine, 由淘宝网发起的Web服务器项目, 目前已开源, 基于Nginx 1.4.7, 对其进行了大量的改进与优化, 使得性能与稳定性上都有了进一步的提升。详情参见 http://tengine.taobao.org/ F6_en z  
sAnb  
绑定外部域名 ^_BjO(b'e  
9xeg,#1  
若需要使用独立的域名, 如 www.example.com 来代替 xxx.aliapp.com 进行访问, 可在应用控制面板中添加一个外部域名绑定, 并在域名服务商那添加 CNAME 记录解析到 ACE 的二级域名, 即可完成绑定。绑定的条件是域名必须是经过备案的。


mdlMciP  
应用的配置与调试 >[Tt'.S!?  
,x?Jrcx~'C  
在这之前, 我们先将第一个应用进行扩展, 使它看起来更有意义一点。 对的, 我们来做一个超级简约的"匿名社交网站"(好吧, 其实就是一个匿名留言板), 名字笔者都想好了, 就叫徽博好了。 Q'YakEv >=  
N;4wbUPL7h  
由于这个应用与第一个发布的应用并无太大联系, 或者说功能改进实在太大, 我们选择重新生成一个空的SVN目录, 即一个新的版本, 这样做的好处之一就是, 等新的版本上线了, 又突然发现新版本存在若干重大BUG, 那么我们就可以快速一键切换回旧版本。 Y/ %XkDC~  
数据库采用ACE提供的MySQL数据库服务, 在控制面板的扩展服务将其打开。 w"L]?#  
  WwUHHm<v  
"徽博" 是这次ACE评测中笔者"临时起意"编写的一个小Web应用, 所有的源码、资源文件以及文档等, 将会以附件的形式放在评测的最后。来一起看一下 1.0 版本的徽博真面容。用我好友的话说, "徽博"有着一个不忍直视的前端配色。外加奇葩 -_-||| arvKJmD  
  ]1MZ:]k  
PS: 独创的随便登录, 无需注册, 更是让徽博独具"特色"。演示地址: http://wid-ace-test.aliapp.com/ u(8dsgR  
un}!&*+  
配置应用 V`G^Jyj  
9U3.=J  
通过编辑 app.yaml 配置文件可对应用做代码层配置, app.yaml 在wwwroot目录的同级目录下, 可以配置目录权限、IP黑白名单、URL重写、防盗链等。ACE还提供了xml版本的配置语法, 配置文件为 app.xml, 同样与 wwwroot 同级目录, 可手动创建, 当 app.xml 与 app.yaml 同时存在时, 仅有 app.xml 配置文件生效。 fZQ2<*)pqO  
\y+^r|IL  
限制: app.yaml 与 app.xml 文件大小最大均不得超过 1.6k 字节。 j|{ n?  
修改配置文件后, 需要重启发布应用(若未启用自动部署), 并且手动重新启动应用后才会生效。 5Ha(i [d  
5x!rT&!G  
Y Azj>c&  
笔者这里以 app.yaml 版本的配置文件作为介绍。 f`8?]@y{  
+o35${  
关于配置文件的特殊说明 =&~ K;=:  
PGuPw'2;[  
在测试配置文件的时候, 发现了一些可能会对配置时成困扰的问题: P G zwS  
:_Iz( 2hV  
1>. 配置中不支持使用 tab(\t) 缩进(请勿在配置的任何位置出现\t), 使用 tab缩进会造成重启失败, 错误内容 : while scanning for the next token found character '\t'that cannot start any token n*Hx"2XF  
s.a@uR^  
!e+Sa{X  
2>. 同一级配置下, 空格的缩进数目需相同, 这点类似于Python的缩进语法, 否则同样会重启失败。问题图示如下(以配置目录访问控制为例):
  %vUUx+  
O`Htdnu  
目录权限配置 09i77  
L@J$kqWY  
配置语法:   @c}Gw;e

复制代码
  1. deny:
  2. - /目录/
  3. - /目录1/子目录/

ONUa7  
目录结尾的 / 不可省略, 省略后会被判定为前缀匹配。例如配置成 - /lib, 则如 /libpng 目录,  /libxxx.html 等以lib开头的路径都将无法访问。支持最多配置10个重写规则。使用示例见上图[正确配置]。 -s^cy+jd  
%}unlSTPP  
伪静态 rewrite 配置 \w-3Spk*  
"B9zQ,[Q  
ACE的 rewrite 语法与与 nginx 一致, 仅写法的格式上有所不同。数量上仅允许10个rewrite规则。 /=QsZ,~xo  
@KJmNM1]V  
示例: 将 http://wid-ace-test.aliapp.com/articleView.php?aid=12138 伪静为 http://wid-ace-test.aliapp.com/article/12138.html D0Ls~qr  
M&e=LV  
u,~+ho@  
配置规则:   :Ye~I;"8  
BF"eVKA

复制代码
  1. rewrite:
  2. - url: ^/article/(.+)\.html$
  3. script: /articleView.php?aid=$1 last

`W7;-  
;zSV~G6-  
配置规则解释: ^/article/(.+)\.html$ 一条正则表达式表示的伪静态路径, 用于匹配路径规则,当请求的URI符合该正则规则时, 转交给目标脚本处理。这里配置的目标脚本为 /articleView.php?aid=$1 last。 QaXdO=3  
Psm9hP :m  
对于这里有一点不太好理解的就是 $1 从何而来, $1 表示一个参数, 它表示匹配路径规则中的 (.+) 部分, 即示例中的 12138,当匹配规则中有多个类似于 (.+) 时, 参数依次类推为 $1、$2、$n。 last 为rewrite结束标志。 >b~Q%{1  
P<9T.l  
伪静效果图示: COD^osM@  
 
Z*(OcQ-  
IP黑白名单配置 ^5+7D1>W%  
-*2b/=$u  
ACE同样支持对指定目录的IP访问控制, 每条规则最多支持10个IP, 以 /ontask/ 目录为例, 假设该目录仅允许 127.0.0.1(回传地址, 本机) 与 112.12.50.153 访问, 则可做如下配置:     z;>O5a>z

复制代码
  1. denyuri:
  2. - path: /ontask/
  3. allowip: ['127.0.0.1', '112.12.50.153']

,S?:lQuK5  
若要阻止某些IP访问指定目录, 如 /downloads/ 目录, 可采用 denyip 语句:     6K >(n

复制代码
  1. denyuri:
  2. - path: /ontask/
  3. allowip: ['127.0.0.1', '112.12.50.153']
  4. - path: /download/
  5. denyip: ['121.13.8.242', '112.12.48.242']

R^.c  
Z7Nhb{  
自定义错误页 :4pO/I ~  
\_+Af`  
用户可在配置文件中对如404(资源未找到)、50x(服务器内部错误)配置错误页面: W7 +Q&4Y

复制代码
  1. error_page:
  2. - status: 500 502 503 504 505
  3. page: /50x.html
  4. - status: 404
  5. page: /404.php

uuy0fQQ8ti  
rWBgYh  
调试应用 rNgAzH  
^(:na6C  
ACE支持 XHProf 对应用进行性能调试。先介绍下XHProf的使用, 首先在ACE应用的控制面板中侧栏的 性能分析 选项创建存储空间, 然后在PHP文件第一行加入Alibaba::Xhprof()->start() 启动调试, 在PHP文件的最后一行加Alibaba::Xhprof()->finish() 关闭调试, 然后在创建的存储空间中就可以查看相关的性能数据了,这是一个非常实用的性能分析工具, 对性能有一定要求的应用非常有用。 @d|]BqQ4jh  
PG'I7)Bv  
过程图示如下: 9y)}-TcSpY  
  v^ 1x}  
XHProf的分析结果是以网页页面形式报告的, 其中有个非常直观的可视化视图, 针对"徽博"的首页性能进行性能分析的结果如下(可视视图):

图片:22-ace-test-xhprof-callgraph.png

X4"[,:Tw  
从视图中可以看出, 应用在性能上整体还是非常可观的, 首页总执行用时 36.5ms, 其中约一半的时间用在了数据库的处理上,约14ms处在数据库的连接上, 但因为笔者使用的是免费的共享型MySQL数据库, 并且走的外网数据库连接路线,所以该数据库的连接速度也算是比较优秀的了。


vY,]f^F"  
ACE扩展服务的使用 1i Q(q\%  
; d}  
缓存服务(Cache) be.Kx< I  
,qhv(  
使用缓存, 最直接的目的之一就是提高数据的读取速度, 对于即时性要求不高的热点数据, 如网站的站内统计、阅读排行等, 提供了极大的便利, 大大减少了数据库的查询次数, 并且也减少了程序对数据的重复运算处理, 能够显著提高应用的性能。在应用的扩展服务列表中找到 缓存服务(Cache), 并按照提示创建缓存空间。 P?y{9H*  
  A^F0}MYT  
在代码中使用缓存服务:     w_q=mKu

复制代码
  1. // $expire缓存过期时间, UNIX时间戳
  2. // 调用方式: Alibaba::Cache('缓存空间名称')->方法名();
  3. // 常用方法
  4. set($key, $var, $expire = null);    //添加一条cache, 若 $key 不存在则新建, 若存在则覆盖
  5. add($key, $var, $expire = null);    //添加一条cache, 若 $key 已存在则添加失败并返回 false
  6. replace($key, $var, $expire = null);    //替换cache值, 若 $key 不存在则新建
  7. delete($key);    //删除一条cache
  8. get($keys);    //获取cache, $keys 可为 string 或 array

QSOJHRl=C  
tNW0 C]  
使用示例: `]<~lf  
  ralU9MN.  
测试页面: http://wid-ace-test.aliapp.com/test-cache.php >Wj8[9zf  
l3kBt-m  
定时任务服务 iLFhm4.PO  
N37#Vs  
定时任务允许在特定的时间点或周期性的执行一个请求URI的动作, 最小单位为分钟(即不支持秒级任务), 可用来刷新缓存、同步资源、统计数据等。 Js!Zk\O  
?^: xNRE$j  
如图所示创建一个任务名称为 test-task 并且每隔 30分钟 执行一次的定时任务, 执行的方式为发起一个 HTTP GET请求, 也就是执行 /onTask/updateCounts.php 脚本。 JZcW?Or  
  &E!-~'|z  
定时任务的时间规则采用的 Cron 表达式, 对Cron 表达式不熟悉的同学, 可以网页搜索 "在线Cron表达式生成器", 根据所需任务规则进行生成。 一些常用的任务规则: m*TJ@gI*t  
~Q1%DV.

*/30 * * * ? 每隔30分钟执行一次
0 0 12 * * ? 每天中午12点触发
0 0 5 ? * MON 每周一早晨5点触发
0 30 6 ? * MON-FRI 周一至周五的上午6:30触发
0 0 9 5 * ? 每月5号上午9:00触发

uvGFo)9q3  
如何保护任务脚本不被用户调用? 可以在任务脚本中取 GET 方式的参数进行身份验证。如保护示例中的 updateCount.php, 可在创建任务时的执行URL 中设置被执行的 URL 为: updateCount.php?howareyou=imok lb#`f,r>  
并在 updateCount.php 进行验证: rW9ULS2d  
  -Cf< #'x_  
应用实例: 在"徽博"首页右侧栏, 24小时热门中, 即运用的定时器配合缓存服务, 每30分钟更新一次热门。 Gt?ckMB  
h&?tF~h  
演示地址: http://wid-ace-test.aliapp.com/ ekuRGG  
[Uu!:SZ  
存储服务(Storage) wB0ONH[  
&k {1N.  
应用需要在本地写文件时, 需要先配置 存储服务, 否则所有本地写入操作会被认为是临时的, 不具备持久性。首先在扩展 存储(Storage) 服务中创建一个名称任意的存储空间, 然后在配置文件中指定所需写入文件的目录, 示例:     jhSc9

复制代码
  1. ossprefix:
  2. - /ace/app/webroot/upload/

{2%@I~US  
将 upload 指定为可写目录。 其中 /ace/app/ 是绝对路径, 不可省略。限制: ACE免费的存储服务, 总存储空间大小为1GB。 gUxJ>~  
=nN&8vRH  
V9kL\Ys  
在默认的配置模板中, 已将 /ace/app/ 设置配置为自动存储目录, 即默认应用目录下写入文件, 均可被保存, 但建议根据需要来指定特定目录即可, 提高文件储服务的效率。 uEkUK|  
v#`P?B\  
此外, 存储服务也允许通过SDK方式来存取文件。通过 SDK 方式写入文件, 再配合 rewrite 配置, 可达到任意路径的文件伪静态效果。 B(dq$+4  
示例伪静态配置:     m/W)IG>

复制代码
  1. rewrite:
  2. - url: ^/files/(.+)$
  3. script: /oss-sdk-test/view-file.php?file=$1 last

vc(6lN9>  
在上述伪静的配置中, 将 /files/ 路径后的所有请求, 转向 view-file.php 处理, view-file.php再通过 OSS SDK, 获取文件并输出, 完成静态文件的输出效果。 fdTyY ;  
演示地址: http://wid-ace-test.aliapp.com/oss-sdk-test/ ]i@VIvYq  
效果图示: l]o&D))R  
  $mG&4Y  
``mW\=fe  
限于评测主题以及篇幅长度, 所以扩展服务的介绍不能做到面面俱到, 更多扩展服务以及详细用法, 请参阅相关帮助文档。ACE开发者手册, 参见: http://ace.aliapp.com/


~ugK&0i[2  
评测总结及建议 g4^df%)&  
3?GEXO&,E  
ACE的相关特色及亮点, 笔者已经在评测中或多或少的都进行了相关的介绍。针对ACE服务, 用一句话总结就是: 弹性、零运维, 是中小型Web应用的首选服务。对ACE服务的相关建议如下: 3EKqXXzOB  
pV^hZ.  
功能改进:

  • 更多的扩展服务, 如邮件服务、推送服务等、统计服务、短信服务等;
  • 增加流量仪表盘, 提供访问数据和视图;
  • MySQL扩展允许内网路线;
  • 对各语言均提供日志写入SDK API;
  • 更多的编程语言支持, 如: 我大Python。

/xRPQ|  
用户体验:

  • 在版本发布页, "发布" 选项旁, 添加 "发布并重启", 使发布与重启一步到位。
  • 突破"10"的限制, 在配置上, 很多规则仅允许10条以内, 建议根据用户需求能够相应增加。并且在定时任务的任务名称上, 也仅允许 2-10 字符, 这个就有点短了, 最好多留个输入框来写任务描述。
  • 完善ACE应用文档, 丰富各服务、扩展使用细节描述, 整合相关FAQ到帮助文档。

,-*oc>  
we&g9j'  
疑似BUG: 在OSS以SDK方式存取文件时, 通过本地文件上传方式 $Storage->saveFile存入文件, 存入后, 在获取 content-type 时, 发现 content-type 并不能返回预期文件类型。如,当上传的文件为 jpg格式的图片时, content-type 预期应为 image/jpeg, 但使用     L7tC?F]}SK

复制代码
  1. $meta = $Storage->getMeta($filename);
  2. echo $meta['content-type'];

kiFTx &gf  
方式获得到的 type, 总为 application/octet-stream +9mnxU>  
:kDHwYv$  
评测中的文件输出代码: QNH5Cq;Y  
  IU`&h2KZ.  
这就导致了, 在取出文件后, 向浏览器输出时, 所有的文件都将以下载的方式进行保存, 而不能使浏览器根据响应头中的Content-type, 来在浏览器直接显示浏览器已识别类型的文件。 D-BWgK  
n1xN:A  
如果在设计时就是将所有OSS中的文件看做 octet-stream 类型, 那么同时也希望, 能够在 meta 中取得真实的 MIME Type。 j6KGri  
czf|c  
sCFqz[I  
当然, 也有可能是笔者对OSS SDK的使用还不够熟悉, 在取文件类型的方法上调用错误, 如是操作上的问题, 还希望能够及时指正! 谢谢。


Py[Z9KLX  
+SSF=]4+

原文地址:http://bbs.aliyun.com/read/179824.html

参加活动:http://promotion.aliyun.com/act/aliyun/freebeta/

转载于:https://www.cnblogs.com/aliyunblogs/p/4106660.html

【阿里云产品公测】以开发者角度看ACE服务『ACE应用构建指南』相关推荐

  1. 【阿里云产品公测】高大上的搜索服务OpenSearch, 你值得拥有!

    2019独角兽企业重金招聘Python工程师标准>>> [阿里云产品公测]高大上的搜索服务OpenSearch, 你值得拥有! 作者:阿里云用户trcher 一.前言:  在Open ...

  2. 【阿里云产品公测】大数据下精确快速搜索OpenSearch

    2019独角兽企业重金招聘Python工程师标准>>> [阿里云产品公测]大数据下精确快速搜索OpenSearch 作者:阿里云用户小柒2012 相信做过一两个项目的人都会遇到上级要 ...

  3. 2018年云计算大调查:五成开发者月入过万 阿里云称霸公有云市场

    戳蓝字"CSDN云计算"关注我们哦! 作者 | 刘丹 出品 | CSDN云计算(ID:CSDNcloud) 电影<第五波>讲述了外星人为了摧毁人类,发起了五轮攻击.第一 ...

  4. 阿里云产品头条(2018年1月刊)

    摘要: 一. 新产品发布1. 弹性高性能计算 商业化 发布弹性高性能计算(E-HPC)基于阿里云基础设施,为用户提供一站式公共云HPC服务,面向教育科研.企事业单位和个人提供快捷.弹性.安全和与阿里云 ...

  5. 阿里云产品头条(2017年12月刊)

    摘要: 一.新产品发布1.云防火墙 商业化 发布云防火墙是一款云环境下的防火墙产品,首创了基于业务可视的结果,实现业务梳理和业务隔离的技术.适用于互联网/通用/游戏/金融/新零售/专用云等行业客户.产 ...

  6. 【云计算】阿里云产品全景图

    2016阿里云93款产品全向图(6月制) 身行  2016-06-07 11:20:37 浏览8964 评论3 阿里云 全向图 摘要: 为了能一目了然知道阿里云产品和服务,并可以依照IT系统发展脉络理 ...

  7. 【阿里云 CDP 公开课】 第二讲:CDH/HDP 何去何从

    简介:Hadoop社区版CDH/HDP已经不再更新,也将终止服务.后续的平台路线图怎么规划?Cloudera CDP整合了CDH和HDP,有哪些性能提升和功能增强?如何平滑的进行迁移?本文结合CDH/ ...

  8. 阿里云产品经理刘宇:Serverless 的前世今生

    2022 年 9 月 24 日,阿里云用户组(AUG)第 12 期活动在厦门举办.活动现场,阿里云 Serverless 产品经理刘宇,向参会企业代表分享了Serverless 架构的前世今生.本文根 ...

  9. 阿里云网盘公测_阿里云网盘公测预约开启,领2T永久免费空间

    打开今日第3篇文章,忽略内容,直接拉到底部,解锁隐藏福利,每天不重样! 阿里云网盘公测预约开启,通过即可获得2T永久免费空间大家也知道,百度网盘下载限速是非常严重的,想换网盘可以看一下阿里云网盘之前已 ...

最新文章

  1. ASP.NET虚拟主机安全漏洞解决方案
  2. freemarker自定义标签(二十一)
  3. Microsoft.CSharp.CSharpCodeProvider
  4. 学习Python必会内容:print函数、赋值与代码块
  5. 虚拟机中那些可以作为root对象_java虚拟机面试题及答案整理
  6. Redis 初次尝试
  7. OpenFire源码学习之十九:在openfire中使用redis插件(上)
  8. 最稳妥的服务器阵列方案:RAID5+热备盘
  9. UUID实现之一twitter的分布式自增IDsnowflake算法
  10. 【图像融合】基于matlab IHS变换与自适应区域特征遥感图像融合【含Matlab源码 1636期】
  11. mysql 数据库安装命令_Mysql数据库的安装
  12. mysql的读写分离配置
  13. JavaScript介绍及视频教程
  14. Steam VR目录结构
  15. matlab hist 横坐标,matlab中hist函数的用法_matlab中hist函数 将EXCEL 中的日期 时间 导入到MATLAB坐标轴中...
  16. 【办公协作软件】万彩办公大师教程丨全能文档转换工具
  17. python分析比赛_世界杯:用Python分析热门夺冠球队-(附源代码)
  18. 大数据精准投放平台_大数据精准营销+全媒体精准投放+信息流广告=真实有效得客户...
  19. 基于Springboot+vue的在线聊天系统
  20. JSON long 型 数字过长精度丢失解决

热门文章

  1. matlab画线的形状颜色
  2. android最新源码(4.4.2_r1版本以上)下载
  3. Java基础 -> Java死锁如何避免?
  4. 操作系统第五章 设备管理(上)笔记
  5. 12.26:有一种关系叫做“乔布斯与比尔盖茨”
  6. 我来告诉你哪个银行的信用卡最好用!
  7. DeepLabCut AI Residency
  8. PostMan管理EZ
  9. 本地启动wss服务链接不成功原因
  10. 深度学习与自然语言处理实验——中文信息熵的计算