分类 云计算 下的文章

云计算上课感悟

1、阿里神话,阿里将数据一致性高的都放在银行侧了,这是他们去ioe化的基础,并且,马云可以选择哪家银行存放钱,这是阿里的底气。在双十一阿里显得霸气侧漏的时候,其实苦逼的是银行。
2、数据中心进了老鼠怎么办,谷歌不知道怎么办,但国内银行是放只猫,抓完老鼠就拿出来。
3、企业IT和互联网IT,如果在某一方面达到极致,那么最后都是相通的,我随不做你那方面的东西,但我一眼就能看出来,哪些地方是夸大,哪些是创新。
4、对数据一致性要求高的一定是用IOE的,这是架构设计的选型依据。
上课感想(观点不一定正确),后续补充….
相关资料:
(1)、IOE事件中的I是代表IBM的缩写,也即去IBM的存储设备和小型机,主要是小型机,阿里巴巴、淘宝和支付宝主要是使用了IBM的小型机,IBM存储设备相对较少;
(2)、IOE 事件中的O是代表Oracle的缩写,也即去处Oracle数据库,采用MySQL和Hadoop替代的解决方案,Oracle RAC将会被Hadoop集群替代,其阿里巴巴B2B使用的GreenPlum集群,也将会在阿里巴巴集团完成运维团队和DBA团队合并之后,采用 Hadoop集群解决方案替代;
(3)、IOE事件中的E是代表EMC2,阿里巴巴B2B、淘宝和支付宝都是用大量EMC2的存储设备,也有少量DELL的存储设备,主要是EMC2,的存储设备性价比高;
(4)、阿里巴巴集团内部最早进行MySQL数据库替代Oracle数据库支持数据服务的子公司,是阿里巴巴B2B用PC Server替代EMC2,存储设备,替代IBM小型机。不过替换节凑是被合理控制的,因多方面的原因内部也没有那么雄壮的决心。后来,淘宝也开始进行MySQL数据库的应用摸索和推广,并且高调宣传去IOE事件,最后造成网络上满城风雨;

MySQL手册已经悄悄移除了GPL许可证

刚刚引起我们注意的是 MySQL 的手册已经修改了授权许可证,这是从 MySQL 5.5.30 到 5.5.31 时做的改动,该改动影响源码包中的 man 文件夹里的所有页面。
老的手册遵循 GPLv2 许可证(MySQL 5.5.30 或者更早版本):
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
而新的手册页面(MySQL 5.5.31 或者更新版本)则采用如下授权协议:
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
此举明显的显示出 Oracle 非常不友善的行为。新的许可证跟 GPL 差别巨大,并且明确表达不再使用 GPL 许可证。
oracle你这是要闹哪样啊???
 

Linux配置IP

Linux配置IP
先执行命令:

ifconfig

如果没有ip,则通过配置文件进行ip配置。
执行命令:

cd /etc/sysconfig/network-scripts
vi ifcfg-eth0

将其修改为如下所示结果:

DEVICE="eth0"
NM_CONTROLLED="yes"
ONBOOT="yes"
IPADDR=172.21.34.1
NETMASK=255.255.252.0
GATEWAY=172.21.32.1

然后保存,重启网卡(service network restart)。
如果重启网卡报eth0 failed。
则执行以下操作:

ifconfig -a

如果显示的结果中有eth1,则接着执行:

cd /etc/sysconfig/network-scripts/
mv ifcfg-eth0 ifcfg-eth1
vi ifcfg-eth1

将其内容改为:

DEVICE="eth1"
NM_CONTROLLED="yes"
ONBOOT="yes"
IPADDR=172.21.34.1
NETMASK=255.255.252.0
GATEWAY=172.21.32.1

然后保存,接着重启网卡。

curl命令

发现个好东东:curl。curl是利用URL语法在命令行方式下工作的文件传输工具。
它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。
curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法, FTP上传, kerberos认证,HTTP上传,代理服务器, cookies, 用户名/密码认证, 下载文件断点续传,上载文件断点续传,,http代理服务器管道( proxy tunneling), 甚至它还支持IPv6, socks5代理服务器,,通过http代理服务器上传文件到FTP服务器等等,功能十分强大。
Windows操作系统下的网络蚂蚁,网际快车(FlashGet)的功能它都可以做到。准确的说,curl支持文件的上传和下载,所以是一个综合传输工具,但是按照传统,用户习惯称curl为下载工具。
获得页面
使用命令:curl http://curl.haxx. se
这是最简单的使用方法。用这个命令获得了http://curl.haxx. se指向的页面,同样,如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地。如果下载的是HTML文档,那么缺省的将不显示文件头部,即HTML文档的header。要全部显示,请加参数 -i,要只显示头部,用参数 -I。任何时候,可以使用 -v 命令看curl是怎样工作的,它向服务器发送的所有命令都会显示出来。为了断点续传,可以使用-r参数来指定传输范围。
获取表单
在WEB页面设计中,form是很重要的元素。Form通常用来收集并向网站提交信息。提交信息的方法有两种,GET方法和POST方法。先讨论GET方法,例如在页面中有这样一段:

<form method=”GET” action=”junk.cgi”>
<input type=text name=”birthyear”>
<input type=submit name=press value=”OK”>
</form>

那么浏览器上会出现一个文本框和一个标为“OK”的按钮。按下这个按钮,表单就用GET方法向服务器提交文本框的数据。
例如原始页面是在 www.hotmail. com/when/birth.html看到的,然后您在文本框中输入1905,然后按OK按钮,那么浏览器的URL现在应该是:“www.hotmail. com/when/junk.cgi?birthyear=1905&press=OK”
对于这种网页,curl可以直接处理,例如想获取上面的网页,只要输入:
curl “www.hotmail. com/when/junk.cgi?birthyear=1905&press=OK”
就可以了。
表单用来提交信息的第二种方法叫做POST方法,POST方法和GET方法的区别在于GET方法使用的时候,浏览器中会产生目标URL,而POST不会。类似GET,这里有一个网页:

<form method=”POST” action=”junk.cgi”>
<input type=text name=”birthyear”>
<input type=submit name=press value=”OK”>
</form>

浏览器上也会出现一个文本框和一个标为“OK”的按钮。按下这个按钮,表单用POST方法向服务器提交数据。
这时的URL是看不到的,因此需要使用特殊的方法来抓取这个页面:
curl -d “birthyear=1905&press=OK” www.hotmail. com/when/junk.cgi
这个命令就可以做到。
1995年年末,RFC 1867定义了一种新的POST方法,用来上传文件。主要用于把本地文件上传到服务器。此时页面是这样写的:

<form method=”POST” enctype=’multipart/form-data’ action=”upload.cgi”>
<input type=file name=upload>
<input type=submit name=press value=”OK”>
</form>

对于这种页面,curl的用法不同:
curl -F upload=@localfilename -F press=OK URL
这个命令的实质是将本地的文件用POST上传到服务器。
有关POST还有不少用法,用户可以自己摸索。
使用PUT
HTTP协议文件上传的标准方法是使用PUT,此时curl命令使用-T参数:
curl -T uploadfile www.uploadhttp. com/receive.cgi
有关认证
curl可以处理各种情况的认证页面,例如下载用户名/密码认证方式的页面(在IE中通常是出现一个输入用户名和密码的输入框):
curl -u name:password www.secrets. com
如果网络是通过http代理服务器出去的,而代理服务器需要用户名和密码,那么输入:
curl -U proxyuser:proxypassword http://curl.haxx. se
任何需要输入用户名和密码的时候,只在参数中指定用户名而空着密码,curl可以交互式的让用户输入密码。
引用
有些网络资源访问的时候必须经过另外一个网络地址跳转过去,这用术语来说是:referer,引用。
对于这种地址的资源,curl也可以下载:
curl -e http://curl.haxx. se daniel.haxx. se
指定用户端
有些网络资源首先需要判断用户使用的是什么浏览器,符合标准了才能够下载或者浏览。
此时curl可以把自己“伪装”成任何其他浏览器:
curl -A “Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)” URL
这个指令表示curl伪装成了IE5.0,用户平台是Windows 2000。(对方服务器是根据这个字串来判断客户端的类型的,所以即使使用AIX也无所谓)。
使用:
curl -A “Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)” URL
此时curl变成了Netscape,运行在PIII平台的Linux上了。
COOKIES
Cookie是服务器经常使用的一种记忆客户信息的方法。如果cookie被记录在了文件中,那么使用命令:
curl -b stored_cookies_in_file www.cookiesite. com
curl可以根据旧的cookie写出新cookie并发送到网站:
curl -b cookies.txt -c newcookies.txt www.cookiesite. com
加密HTTP
如果是通过OpenSSL加密的https协议传输的网页,curl可以直接访问:
curl https://that.secure.server. com
http认证
如果是采用证书认证的http地址,证书在本地,那么curl这样使用:
curl -E mycert.pem https://that.secure.server. com

没有云的话 大数据就是个作坊by王坚

王坚,阿里巴巴最富争议性的人物之一,爱者极爱,恨者极恨。
5月12日,我和MTC的朋友,在杭州发起并主持了一场关于云计算的沙龙,虾米的思践聊了云音乐,快的打车陈伟星聊了云时代的产品设计,短趣网王强宇聊了云时代的创业,当然少不了王坚聊一聊他对云计算的看法。
当天,青龙老贼发了一段王坚的部分观点,遭遇了他开通微信公众号以来最强烈的退粉,也激起了圈内人的各种讨论,这就是王坚的“影响力”。
我把王坚的分享做了个详细版的梳理,里面涉及了阿里云的定位、对大数据的反思、对APP创新的不看好,信息量很大,你可以感受一下。
一、无人机是大数据的典型
我热爱和平,但一讲到云计算和大数据,我想到的两个例子,都跟战争有关。
一个例子是,《世界是平的》作者去前线,看了现场的指挥官,发现西点军校应该重新办了。因为一个连排级的军官,只要一个电话,航母上的飞机就过来了。这放在以前的战争里是不会发生的,一个连排级军官能够动用的战争资源非常有限。今天,其实一个连排级的军官需要的训练和过去的军长师长是一样的。
经常有人问,如果有一定的基础设施,我能不能改变世界。在以前,只有国家主席可以做,今天一个人可以做的比主席还能多。因为有了云计算。
另外一个例子是,有人和我吹牛,说世界上大数据用得最好的就是无人机。前几天美国还在开会讨论为什么要租用中国的卫星,就是因为它自己的数据不够。无人机就是非常典型的一个创新,以前仗不是这么打的,今天有了大数据后就变了。
所以,云计算可以让你做以前不能做的事情,做以前不能做的规模。
二、我们的客户才是最会用数据的人
阿里云最早成立的时候,我们说自己是数据分享第一平台,对于这个定位,我自己觉得还蛮超前的。
阿里巴巴最早在讨论的时候,我们说为什么提数据,不提信息,这是一个很关键的事情。IBM会说数据没有用,知识才有用,所以这个定位很关键。
只要一谈到数据,我们其实就把自己定位在平台上了。我们想象我们的客户是把数据用到最好的人,而不是我们自己。
今天,最成功的数据公司就是谷歌。谷歌拿了全世界每个人都有的数据,就是web,它就靠自己的处理能力,做成了世界上最大的生意。谷歌初期的时候,它有的数据别人也有,只是别人没有他的处理能力和思想。
数据就是数据,只是要有人把他做成生意。
所以我们定位自己的时候,数据就是数据,这个是最基本的东西,有人比你更聪明,会把这个事情做成重要的生意。
今天的数据远远超过以前WEB的数据,所以可以想象的生意也会多很多很多,所以肯定可以比以前做得更大。
以前也没人知道数据在哪里,直到谷歌把他变成一个搜索,有办法把广告引导搜索里面。今天看来这个很简单,放当初很难,因为要把大家都有的东西,做成一个挣钱的东西,当时没几个人想清楚的,否则微软、雅虎也都不会把雅虎外包给别人。
三、“大数据”叫错了
之前田溯宁在北京组织了一个活动,请了《大数据》的作者,大家开了一个很小的研讨会。
我分享时说,其实大数据是叫错掉的,“大数据”没有反应这个问题最本质的东西。
其实大数据很早以前就有,只是光只有数据大是没有用处的。世界上最大的数据估计和互联网一点关系都没有,欧洲对撞实验室做一次碰撞的数据,可能一辈子都做不完,最大的数据估计在那里。
今天的数据不是大,真正有意思的是数据变得在线了,这个恰恰是互联网的特点。所有东西在线这个事情,远远比“大”更反映本质。
像快的打车要用一个交通的数据,如果这些东西不在线,是没有用的。
为什么今天的淘宝数据值钱,因为他在线了。写在磁带、写在纸上的数据,根本没有用。
反过来讲,在线让数据搜集变得非常容易。过去美国谁要做总统,需要做盖勒普调查,去街上拦2000个人,在纸上打个勾,预测就很准了。现在不用做这个事情,只要在twitter上分析每个人发的东西,就可以知道总统会是谁了。
而且盖勒普调查做完之后很难快速影响社会,现在数据可以反过来快速影响社会。就像打车软件,如果要影响出租车司机,可能比出租车公司更大,原因就是数据在线了。
有时候,一些石油、地质之类的公司来跟我讲大数据,我就想不通这算不算大数据。他们的数据多是肯定的,但是他们的数据不在线,没有意义。
四、数据比功能更重要
产品我是不太懂的,阿里云的产品做得那么不好,都是我的责任,这个得求大家原谅。
但吃了很多苦头后,对于产品心得还是有的。
目前我没有看到一个产品和数据结合得很好。非互联网时期的产品,功能一定是它的价值,今天互联网的产品,数据一定是它的价值。
做航旅信息的产品,出了很多款。最近我看到出了一个“航旅纵横”,我用的比较多,我也不知道产品好不好,反正数据很好,他可以告诉你前一个航班发生了什么事情。
过去的软件,很多功能超出数据的重要性,但我相信,接下来,数据比功能会更重要。互联网人应该会能理解这个说法。
我和马云开玩笑说,阿里巴巴对数据的理解深度,不会超过苏宁对电子商务的理解。我的意思其实是,机会在哪里,大家都没搞清楚。
前几天我在北京碰到叶凯(京玩蟹科技有限公司CEO),他说游戏做来做去,发现数据是最重要的东西,在几个机房里数据拷来拷去很痛苦。
我猜测,他理解游戏的话,完全靠直觉已经不够了,数据可以帮他做这个事情。就好像一个人做在室内用数据来开飞机,光是训练飞行员的成本都不知道降低多少,这和用数据去改进游戏是异曲同工的。
五、云计算是个信任生意
我看云计算的时候,突然发现,云计算是个信任生意。包括虾米,短趣,能搬到阿里云,都是一个信任。
中国是全世界最早用纸币的国家。一张纸上盖个章,就让人相信是财富,这需要极大勇气的。今天,我们反而大大落后了,我们不相信信用卡,把信用卡当借记卡在用了,这是很要命的地方。
有人说他要做三年赚200亿美金(的互联网项目),他还要依靠别人(的云计算服务),他要相信这一点,是很了不起的。
我觉得,没有这个勇气,是不可能创新的。中国今天是有这样的机会。
我这里有个很自豪的案例。今天全国中国的药品,都有一个条形码,它需要去追踪每个药到了哪个批发商,到了哪个零售商,到了哪个医院,到了哪个患者,这个东西是个很重要的东西。现在这个东西就在阿里云上面,350万亿盒的数据都在上面。将来你跑到医院,自然能知道哪个是真药假药,也就是说,原来乱七八糟的事情就没了。这个是很大的创新。以前这些数据不在线的时候,你根本不敢去想,现在,你可以做很多的事情了。
另外一个案例,保险是一个很传统的行业。开一个保险公司,必须要开办事处。每人敢说,现在办一个保险,可以不签一个书面的东西。但是,可能今年下半年,中国会出一家保险公司,这是全世界第一家没有办事处的保险公司。不需要在纸上签任何东西,在线就能做完所有事情。
按我的理解,云计算能做好的话,创新机会非常大。
六、做APP,是在别人花园弄点盆栽
我觉得,移动互联网的创新,可以超越APP创新的范畴。
今天APP上的创新,有点像在人家花园里种点小花。因为苹果和安卓已经圈了一个花园,你种点花种点草是没有问题的,就像是去花鸟市场买点盆栽,反正是死也死不了活也活不好。
但是你要做点有生命力的东西,还是有挑战的。你要跑到大森林里,才能做有生命力的东西。否则叫你下架就下架,你会觉得还是有问题的。
当然,那个花园是一个很好的环境,也有人来看。但是在中国做生态的话,我们还是可以做有革命性的东西。
具体是什么,我们也真不知道。
七、有了施乐,才有苹果
我们做云计算最大的挑战是什么,就是我们真不懂。
这是一个无中生有的行业,我们过去只是在书上读到过的。是靠大家的互相配合、交互才能做起来。
我觉得应该办一个互联网博物馆。今天大家都看到了结果,没看到过程,这样的国家是很难创新。
大家可能不知道,大概百分之一百的鼠标都在中国生产,大部分也在中国消费,很多技术也在中国。很少有人去问,为什么有个东西要叫鼠标,第一个鼠标出来的时候是很丑陋的木头做的。
今天大家看到有个很漂亮的手机,叫做iphone,有个很好的操作系统,有个很好的appstore,大家可能没想过,这东西怎么来的。我早上在看一个关于美国八十年代经济的片子,其中采访了乔布斯,他说,如果不被苹果赶走,可能不会发生后面的事情。如果当时乔布斯没被赶走,没有一赌气去做NeXT,没有被买回来作为ios的基础的话,是不会有今天的苹果的。
所以,这里面的机缘巧合是很难计划的。
我要抱歉的是,阿里云是肯定要做好的,这个吃苦过程肯定逃不掉。
有一个八卦,苹果先做麦金塔,微软随后出了视窗,苹果就告微软抄袭。盖茨就和乔布斯说,我们就别互相搞了,其实我们都偷了施乐的东西。施乐没做大,但做出了很大的贡献。
中国的环境里没有施乐这样的公司,自然而然就不要想出苹果这样的公司。
我想说,就算各位创业者和施乐一样做点死不死活不活的东西,也很有意义。
八、不是搜集什么数据,而是做什么服务
今天的手机的传感器,和巡航导弹的传感器差不多。它能搜集到的东西很多,但是没有产生多大价值。
我觉得,数据搜集这件事,已经没有多大创新了,只要你想得到,我们一定能做得到。我觉得真正的创新,是你在这上面能够做什么,这还没有人弄懂。
这是一个鸡和蛋的问题,如果没有人能够用得好,那后面的东西不会发生。
最早的时候,有人会说,基于位置的服务什么的。但是到了今天,依然没有人知道了位置后,把服务做好。我觉得,这是最大的挑战。
九、云计算这名字有歧义
云计算是工业时代的电,大数据就是福特生产线,云存储就是钢铁工业。
也就是说,没有钢铁,就没有电,就不会有大规模工业化生产。没有云计算,大数据不会出来,如果美云计算没有解决云存储的问题,也不会出来。
我觉得云计算这名字的歧义在于,我们说这个的时候,其实包括了云计算、大数据、云存储等等所有的东西。
大数据,是我今天能想到的,那条能起来的福特生产线。到了最后,大家应该会忘记了云计算,只记得福特了。所以我说,看得见的前端,看不见的后台。
我不相信有人说,我做大数据,但是没有云的,那就是小作坊。
十、千万不要想着拿数据去改进业务
今天的银行,都不会是靠大数据起来的公司。银行靠什么处理数据,靠IBM。你可以算出来他做数据的成本,他处理数据产生的价值,可能都无法抹平处理数据的成本。
数据真正了不起的地方,是靠小的成本,去产生有价值的东西。
并不是说,有数据的地方,就会有大数据业务的存在。
阿里巴巴在数据上做的最好的是金融,但金融不等于银行。阿里金融做小贷的事情,恰恰是银行做不了的。银行没有这个数据,银行做信用评级的成本极高,银行不做小的贷款。
阿里金融每天贷10块钱,100块钱的人多得很。有个贷1块钱的客户,写了个感谢信,说这辈子从来没有人借给他一块钱,突然有人借他1块钱,他就觉得人生从此被尊敬了。
你千万不要想着拿数据去改进一个业务,这不是大数据。你一定是去做了一件以前做不了的事情。
亚马逊是全球做推荐最好的业务,这可以算是大数据的早期,但现在它每天想着怎么把推荐做得更好,我觉得这件事情一定没有希望。
http://www.techweb.com.cn/people/2013-05-14/1296347.shtml

关于fsockopen pfsockopen函数被禁用的解决方法

关于fsockopen pfsockopen函数被禁用的解决方法
一、
服务器同时禁用了fsockopen pfsockopen,那么用其他函数代替,如stream_socket_client()。注意:stream_socket_client()和fsockopen()的参数不同。
具体操作:
搜索程序中的字符串 fsockopen( 替换为 stream_socket_client( ,然后,将原fsockopen函数中的端口参数“80”删掉,并加到$host。
示例如下
修改前:
$fp = fsockopen($host, 80, $errno, $errstr, 30);
修改后:
$fp = stream_socket_client($host.”80″, $errno, $errstr, 30);
二、
如果PHP版本低于5.0,fsockopen被禁用,又没有stream_socket_client()怎么办呢?自己写一个函数实现fsockopen的功能,参考代码:
function b_fsockopen($host, $port, &$errno, &$errstr, $timeout) {
$ip = gethostbyname($host);
$s = socket_create(AF_INET, SOCK_STREAM, 0);
if (socket_set_nonblock($s)) {
$r = @socket_connect($s, $ip, $port);
if ($r || socket_last_error() == EINPROGRESS) {
$errno = EINPROGRESS;
return $s;
}
}
$errno = socket_last_error($s);
$errstr = socket_strerror($errno);
socket_close($s);
return false;
}
具体操作:
1.首先找到使用fsockopen函数的代码段,将上面代码加至其上端,搜索该代码段中的字符串 fsockopen( 替换为 b_fsockopen( 。
2.因为fsockopen函数返回文件指针所以可以被文件函数操作,但是这个b_fsockopen函数没能返回文件指针,需要继续修改代码段:用socket_read( 替换掉 fread( ,用socket_write( 替换掉fwrite( ,用socket_close( 替换掉fclose( 。
三、
使用CMS类网站程序的用户,如织梦CMS,phpwind,帝国,等程序,请将您的程序升级到最新的版本并及时更新安全漏洞补丁。
disable_functions = system,exec,passthru,escapeshellcmd,pcntl_exec,shell_exec,set_time_limit,fsockopen,pfsockopen

jenkins(husdon)检出代码错误

今天碰到了那个问题,那个像幽灵一样的问题,现象描述:
jenkins的job,没有任何人配置,修改,网络环境也没有人动过,突然就不能用了,报出如下错误:
ERROR: svn: authentication cancelled
org.tmatesoft.svn.core.SVNCancelException: svn: authentication cancelled
全部错误:

Started by user tianhailong
Building in workspace /root/.jenkins/workspace/web-query-1.0
Cleaning local Directory .
Checking out http://gforge.1verge.net/svn/data_analytics/trunk
ERROR: Failed to check out http://gforge.1verge.net/svn/data_analytics/trunk
org.tmatesoft.svn.core.SVNException: svn: OPTIONS /svn/data_analytics/trunk failed
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:298)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:283)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:271)
	at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:533)
	at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:98)
	at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1011)
	at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:180)
	at org.tmatesoft.svn.core.wc.SVNBasicClient.getRevisionNumber(SVNBasicClient.java:482)
	at org.tmatesoft.svn.core.wc.SVNBasicClient.getLocations(SVNBasicClient.java:876)
	at org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:534)
	at org.tmatesoft.svn.core.wc.SVNUpdateClient.doCheckout(SVNUpdateClient.java:901)
	at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:84)
	at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:136)
	at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:788)
	at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:769)
	at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:753)
	at hudson.FilePath.act(FilePath.java:851)
	at hudson.FilePath.act(FilePath.java:824)
	at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:743)
	at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:685)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1325)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:581)
	at hudson.model.Run.execute(Run.java:1516)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
	at hudson.model.ResourceController.execute(ResourceController.java:88)
	at hudson.model.Executor.run(Executor.java:236)
Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: OPTIONS /svn/data_analytics/trunk failed
	at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:200)
	at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:146)
	at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:89)
	... 28 more
Caused by: org.tmatesoft.svn.core.SVNAuthenticationException: svn: OPTIONS request failed on '/svn/data_analytics/trunk'
svn: OPTIONS of /svn/data_analytics/trunk: 403 Forbidden (http://gforge.1verge.net)
	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:62)
	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:656)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:292)
	... 27 more
Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: OPTIONS request failed on '/svn/data_analytics/trunk'
	at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:200)
	at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:146)
	at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:89)
	at org.tmatesoft.svn.core.SVNErrorMessage.wrap(SVNErrorMessage.java:366)
	... 29 more
Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: OPTIONS of /svn/data_analytics/trunk: 403 Forbidden (http://gforge.1verge.net)
	at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:200)
	at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:181)
	at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:133)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.createDefaultErrorMessage(HTTPRequest.java:444)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:189)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:379)
	... 28 more
FATAL: null
java.lang.NullPointerException
	at java.util.ArrayList.addAll(ArrayList.java:472)
	at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:743)
	at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:685)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1325)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:581)
	at hudson.model.Run.execute(Run.java:1516)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
	at hudson.model.ResourceController.execute(ResourceController.java:88)
	at hudson.model.Executor.run(Executor.java:236)

查看job配置:
会报svn验证错误:

错误截图

错误截图


但是当你输入用户名 密码的时候,它又说是正确的:
验证已通过,用户名、密码以保存,但是返回配置页面却还是错误的。
在谷歌中搜索“jenkins svn: OPTIONS 错误”和“hudson svn checkout Maybe you need to enter credential”(百度无效啊 ╮(╯▽╰)╭),查了好多资料,感觉是svn插件问题
有说是版本问题(我未验证是不是版本问题):
http://stackoverflow.com/questions/8642196/jenkins-build-fails-with-svnexception
有的说是网络问题:
http://serverfault.com/questions/355166/jenkins-missing-scm-options-after-networking-ip-change
Anyone have any ideas of how to fix this? I found some of the old IPs in /var/lib/jenkins/hudson.scm.SubversionSCM.xml and changed them to the new IP and restarted/reloaded, but that did not fix this. The same screen shows up when adding a new job as well. I also noticed there is a .subversion directory in /var/lib/jenkins too.
这个也特别像:
http://issues.hudson-ci.org/browse/HUDSON-4567
后来去插件官网:
https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin
在TroubleShooting找到答案了
TroubleShooting

TroubleShooting


最终答案:
Though I do not know why Hudson (SVNKit) cancels the SVN authentication but removing the ‘~/.subversion’ directory solves the issue.
http://blog.vinodsingh.com/2009/08/hudson-svn-authentication-cancelled.html
总结:技术搜索:谷歌靠谱;技术钻研:老外靠谱;到处搜索:不如官网靠谱。 O(∩_∩)O哈哈~

CMU博士用机器学习做出能够通关《超级马里奥兄弟》的人工智能

卡内基梅隆大学博士 Tom Murphy 写了一个可以通关《超级马里奥兄弟》等任天堂经典游戏的程序。这个程序可以玩基本上所有的任天堂游戏,但是它不一定每个都能够打赢。
这种程序算是一种比较简单的人工智能,它的算法是机器学习的一种。NES 游戏主机只有 2kb 的内存,其中会主要记录游戏的状态,包括游戏分数和人物所在位置。Murphy 通过记录 NES 游戏主机内存在玩游戏中的演变,以提升游戏的分数为目标,训练人工智能做出正确的选择或操作。它的决策方法也包括一些贪婪法类的算法。
经过几次迭代之后,Murphy 的程序可以打通《超级马里奥兄弟》的前两关,世界 1-1 和世界 1-2。因为这个人工智能的设计,它会做所有加分的行为,比如吃币。Murphy 还发现在无形之中,这个人工智能发现了很多他以前都不知道的《超级马里奥兄弟》中的小 bug,而且自动开始利用这些 bug 去通关。比如,你知道 Mario 如何可以用头去干掉敌人吗?人工智能知道:Mario 在跳起后的下降时是无敌的,所以头和脚都可以干掉敌人。人工智能能够如此精准地发现而且利用其它程序中的漏洞,很明显,未来的黑客大战将是人工智能对人工智能,因为毕竟人工智能的第一语言就是机器语言。
Murphy 也试着让这个程序去打其它的任天堂游戏,比如《俄罗斯方块》。虽然它不能赢,但是效果还是很有趣的。在它快要输的时候,人工智能会把游戏暂停,因为这是它在那时能做的最好的选择。看来人工智能也会耍赖。
太令人震惊了啊!!!

大数据是什么

大数据是什么?
这个视频介绍什么是大数据,为何应该关注大数据以及企业应该如何利用大数据来挖掘信息并实现巨大的竞争优势。

云安全-腾讯云平台

通过云安全入门知识的分析,介绍腾讯开放平台安全规范和平台可以提供的安全服务;并能解读腾讯开放平台反馈的安全类信息;运用腾讯开放平台提供的工具反馈安全问题和接入安全系统。
周斌,高级工程师,现负责云平台部业务安全工作。