Python MOOC 翻Wall和互联网编程的那些事

声明:

1)本报告由博客园bitpeach撰写,版权所有,免费转载,请注明出处,并请勿作商业用途。

2)若本文档内有侵权文字或图片等内容,请联系作者bitpeach删除相应部分。

3)本文档内容涉及主题在引言中提及。仅仅作为参考用途,抛砖引玉,不作为证据证明用途,请自行取舍,核实引用。

目录

0引言    1

1 Python的那些事    2

1.1Python的安装思路与简要介绍    2

1.1.1 Python安装思路    2

1.1.2 Python的调试平台    3

1.2 IPython的问题    5

1.2.1 IPython的命令行界面    5

1.3 Python与研究的相关性    6

2 MOOC / 翻Wall互联网编程的那些事    7

2.1 MOOC    7

2.2 翻Wall    7

2.2.1 GoAgent    8

2.2.2 红杏    8

2.2.3 网页代理及其他    8

2.3互联网编程平台    9

2.3.1 Github    9

2.3.2 Codeskulptor    9

5 附录    10

5.1引用文献及网页    10

0引言

这几天在整理读书报告之余,发现一些工作生活的技术问题、学习问题。总结起来其实就是几部分"Python的那些事","MOOC的那些事","翻Wall和互联网编程的那些事"。这几周在做读书报告的相关工作,一直都没有时间去做一些技术的实验,也没有总结技术性实验的相关文档,可以说是技术探索的低产时期。除了iNode客户端的逆写尝试,请教了Bitdust,成为本月的实验兴趣主题之外。剩下的这个月涉足了LaTex,请教了T老师和S师兄(忙到现在,都没来得及去正式咨询S师兄),还涉足了和Python相关程序问题。

Python以其独有的胶水特色,吸引着无数新人和旧老的目光,也成为了广泛排版编校的前锋阵地(这个是因为Tex和Latex的缘故,期望下个月写一篇相关的技术博客)。学习Python的气氛其实并不浓厚,然而在这自有其乐的一方世界听到外面的花语人言,都是Python的进步与普及。是否学习Python决定了未来编程走势,是否掌握Python直接影响了研究项目及开发程式的基本构架。

于是产生了一系列问题,问题的顺序关系和产生关系就这样开始了:

(一)是要去学习Python,产生了"Python的那些事";

(二)是要去学习Python就要去看看别人是如何学的,别人是如何教的,自然是逃不了去看书籍和去

学习MOOC的,因此产生了"MOOC那些事";

(三)是如果要去听MOOC,则意味着有些网址不支持打开,有些网速不能速度打开,有些网情不允

许打开,因此产生了翻Wall和互联网编程的那些事。

本文基本就写成了两部分:《Python的那些事》和《MOOC / 翻Wall互联网编程那些事》。即后面两个那些事合成一个了。本文由于主要学业的任务急促,无法提供技术细节,但是会提供相关的技术细节文章的链接。本文就这三个的那些事说一些做这些实验或操作的入手角度,还是那一句话,《提问的智慧》一文指出百度谷歌是当今信息时代里人们最好的老师,即使这个老师不会主动说话,如何自己善于主动挖掘出最有价值的信息,需要探索和学习。若本文经历能够使后来人避免走一些弯路,则非常开心。最后不敢自诩极客,但本人的技术兴趣活动从本科开始,就没有停止,一直永远在不停的折腾中循环,盼望着不断有缘有识人相互留下技术文章,以解弯路之惑。

1 Python的那些事

本部分大致介绍Python的简单介绍,主要涉及Python的一些情况,附属软件及其它的安装思路;Python的语言需求问题,主要涉及一些研究项目是否需要它,本人是否需要它。请注意本执行环境如未具体提及,则一般都是指Windows操作系统。

1.1Python的安装思路与简要介绍

引言中反复强调了本文由于本人时间不足,不能提供具体的细节和调试案例。只能提供简单的入门配置。后文时有文献引用标号,可参看引用文献及网页一节对照具体内容。

1.1.1 Python安装思路

在使用Python的安装方式上,主要有两种:

  1. 单独配置安装:自行下载Python2.7或2.5,不推荐3.0以上。自行下载IPython,自行配置Python的环境变量Path,自行配置Python的插件库,较为麻烦,故建议使用集成环境安装。
  2. 集成环境安装:下载Enthought公司的ESD-Free,现在更名为ESD。如果使用集成环境安装,非常方便,基本已集成好Pylab的相关库,所以推荐使用集成环境。

针对单独配置安装的一些看法:单独配置安装也是很多人的入门选择之一,也是非常普遍的做法。但是从经验角度,我更倾向集成环境安装,为后续的研究项目和操作做好基础。Python当前形成了2.x和3.x两支的主流趋势,如想参看相关规格文档,可通过资料[1]看到Python3和Python2的详细说明文档。看到开源中国社区网站针对Python的一些文章[2]强调过Python2.x和3.x的一些问题,一定程度上可以对照大数据平台Hadoop1.x和2.x版本来看,实际上新版并不是旧版的简单升级,甚至某程度上可以认为是割裂的。Python3.x有时既然被视为未来,那也意味着早晚成为标准,其不向下兼容的格局导致选择Python2.7最为稳定版本成为一种二择一的残酷路线。佐证我思路的还有资料[3],正是3.x和2.x的不容问题,产生了一直以来发展Python的研究者企图使用4.0完成替代工作,然而3.x工作尚要半旬之数才能壮大推广,值得承认的还是2.x作为广泛运用的对象,讲的最多的当然就是豆瓣了,典型的Python最大应用成果,既体现Web2.0时代的功能特色,也体现了编校排版的用户体验美,果然不是Python浪得虚名。

在组织Python学习小组时H同学与我第一次讨论Python代码作业,就发现两个人部分接口使用不同,也正是3.x和2.x不同的格局所致,那次实验结果也印证了3.x对字符和数字的界限划分更加分明,而2.x对于字符和数字界限较为模糊,所以我才在单独配置中不推荐3.0,当然了一切以个人具体情况需求为主,有时若一定需要3.0,则自取所需。单独配置带来的好处是Python的基础编程较为简易,但是真正伴随着后续研究项目的进展,Python早晚走向模块和胶水的世界,迟早是要在宏包和接口的熔炉里锻造,那么单独配置显得多么脆弱和苍白。

针对集成环境安装的一些看法:推荐Enthought公司的ESD-free,记不清貌似这个公司以前很出名,后来因为知识产权问题,最后更名为现在的Enthought,之前的旧名字貌似在Python科学计算上非常知名(如有误,可评论提示更正)。集成环境为Python2.7提供了良好的基础模块。单独配置的Python2.7在import模块时缺斤少两,有时感到缺口气,短了手脚,例如在刚完成单独配置Python2.7的情形下,import matplotlib或import scipy等,都会报错。不如使用ESD集成环境,该软件免费下载,功能强大,模块较为完备,是Python编程者居家旅行,工作生活的必备良药。(=。=)

1.1.2 Python的调试平台

Python程序和Python的插件环境安装好,但是使用Python自带的IED调试器感到调试代码和修改代码不是很方便。因而,我想选择使用其他的调试器,我选择的是Eclipse的调试平台。配置方法主要有以下几步:

  1. 安装Eclipse软件和Pydev库:

事先声明,电脑须安装好JDK,这个有很多教程可以参考。在JDK环境配置好后,就可以进行后面操作了。在Eclipse主页上,寻找两样软件包进行安装,文件名分别为:

eclipse-standard-kepler-SR2-win32

org.python.pydev.feature-1.6.3.2010100513

上者是Eclipse标准包,标准包现在是Kepler。下者是python在Eclipse的插件。如果是Python2.7,适合Eclipse的插件是1.6.3版本。具体对应的关系可查询互联网。

Eclipse的标准包安装非常简单,安装完毕后。再去安装Python的的dev库,只需要替换与插件包同名的目录即可。

  1. 还可以在线安装Pydev库:

如果pydev库不会下载替换,还有一个简便的方式,就是通过Eclipse菜单-帮助-安装新软件一项内在线安装。(需联互联网)

具体安装方式细节参见资料[4],这里我就不赘述了。

  1. Eclipse Pydev调试平台的注意事项:

其实注意事项有很多,我也不能一一而足,因此我只提一个入门的注意事项,也是入门的需求,即注释问题。在刚学Python的过程中,由于有时需要写注释,注释中常常含有中文,因此注释Python带来一个问题,GBK编码有可能不识别,所以如何解决Eclipse识别中文注释问题是非常关键的,因为这个中文注释会直接导致Python调试不能启动。

主要解决方法有二:

(一)是打开Eclipse-Python后,需要调整字符标准,因为编程时总会引入一些字符,编译器总是识别有问题。例如(下面蓝色的是代码,本来想用SyntaxHighlighter4Word.zip  插件在Word里插入代码高亮模式,但是发现木有Python代码高亮):

月19日

@author: PEACH

编写程序之前就会有一个注释段,这个注释段本身会影响调试,后续调试程序即使是正确的,但总是会报错,建议把中文删掉,即去掉年,月,日,换成点线符号都可以。处理完这一段注释段后,需要保证程序本身不要含有未识别字符,所以点击窗口-首选项。如下图所示。

点击开后,出现对话框,选择常规-编辑器-文本编辑器-拼写,在编码上选择UTF-8,或你想要选择的字符集。

然后,再选择常规-工作空间,在文本文件编码和文本文件行定界符选择你想要的编码格式即可,我选择的是Unix-UTF8。因考虑到Windows可以打开UTF8,Unix也可以打开,而Windows的GBK,Unix不一定正常打开。

(二)是每次程序开头添加一句话即可。内容为

# -*- coding: cp936 -*-

cp936实际上指代的就是GBK,这个也可以解决中文注释问题。该代码语句可以如下图所示。

1.2 IPython的问题

开源中国社区给出了IPython的一些解释说明[5],IPython 是Python的原生交互式shell的增强版,可以完成许多不同寻常的任务,比如帮助实现并行化计算;主要使用它提供的交互性帮助,比如代码着色、改进了的命令行回调、制表符完成、宏功能以及改进了的交互式帮助。百度百科也给出了相关解释,IPython是一个python的交互式 shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数。在Ubuntu下只要sudo apt-get install ipython就装好了,通过终端直接输入IPython或ipython启动。Windows下(如果没有记错的话)单独配置的时候需要额外自己去寻找ipython的可执行程序安装,但是如果你使用的事ESD集成环境的话,就不用担心了,一切麻烦都不用担心了,一切烦人的琐事都不用操心了。有了它,IPython也被集成进去了,真是令人放心的好药!哦,不,是好软件!(请自行脑补电视推销的音调=。=)

专门有一门书叫《利用Python进行数据分析》,里面用的就是IPython shell命令。有感于IPython做数据分析的强大,这里就做一个推销吧。

1.2.1 IPython的命令行界面

本执行在Windows命令行,即Dos界面下,输入指令如下:

ipython notebook –pylab inline

Windows下会弹出IE界面的IPython可视化界面,Ubuntu下会弹出火狐浏览器的可视化界面。点击New Notebook,建立新的可视化命令脚本窗。注意此时不要关掉Dos命令窗口,两者同生同存。

开始时显示IPython[ ],括号内为空。当在可视化界面内输入指令后回车,括号内会显示指令顺序号,然后点击左边侧栏的Insert-Below,则可添加新的命令行。

当命令行输出完毕后,点击Run-all即可。

最后为了证明IPython和Python是一家,可以试试搜索"蛇宗三字经",IPython和Python都是可以实现的,可以认为是Python的一个小彩蛋。(T.T你当龟叔没见过世面么,虽然因为圣诞节无聊,开发Python语言的典型宅男,但引用廖雪峰前辈的话,全球600多种编程语言,至今流行的也就20多种,再看看TIOBE排行榜,Python稳居前十。当然了,pycon us2012大会上龟叔做了一个报告,内容大致是Python的致命缺陷修补。最后号称中国第一技术开源社区AVPlayer有一位网友留言,说Python是Ruby的,C也是Ruby的,世界早晚是Ruby的。看来R语言要占领30年后的未来世界啊。)

1.3 Python与研究的相关性

引用廖雪峰前辈的观点[6],Python会有一些不对口的问题,那么需要与自己的研究扬长避短。

第一个缺点:就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。

但是大量的应用程序不需要这么快的运行速度,因为用户根本感觉不出来。例如开发一个下载MP3的网络应用程序,C程序的运行时间需要0.001秒,而Python程序的运行时间需要0.1秒,慢了100倍,但由于网络更慢,需要等待1秒,你想,用户能感觉到1.001秒和1.1秒的区别吗?这就好比F1赛车和普通的出租车在北京三环路上行驶的道理一样,虽然F1赛车理论时速高达400公里,但由于三环路堵车的时速只有20公里,因此,作为乘客,你感觉的时速永远是20公里。不要在意程序运行速度。

第二个缺点:就是代码不能加密。如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。

这个缺点仅限于你要编写的软件需要卖给别人挣钱的时候。好消息是目前的互联网时代,靠卖软件授权的商业模式越来越少了,靠网站和移动应用卖服务的模式越来越多了,后一种模式不需要把源码给别人。再说了,现在如火如荼的开源运动和互联网自由开放的精神是一致的,互联网上有无数非常优秀的像Linux一样的开源代码,我们千万不要高估自己写的代码真的有非常大的"商业价值"。那些大公司的代码不愿意开放的更重要的原因是代码写得太烂了,一旦开源,就没人敢用他们的产品了。

上述引用完毕了,主要观点最后导致两个结论。说白了,搞硬件相关的,使用Python可能会得不偿失,那么问题来了!H同学,你学这个真的好吗?学Python牌的挖掘机哪家强?你的研究成果真的没有问题吗?不,我说的不是你的软件问题,Python写软件没问题,但是你软件要运行在硬件上,在硬软相互连接的数据高速公路上Python可能会产生木桶短板原理的问题,更何况还是异构调度问题。所以你的对口问题,需要自己慢慢查找相关资料,来证实一下,你是否真的需要它。那么至于我的研究相关性,利弊各占一半。先说说弊处吧。

(一)弊在何处

一门语言重新去学,需要曲不离口,拳不离手。一旦一两周不去写,真的会忘的。。。学习起来也比较麻烦。这是一个方面。还有一个方面,就是Python语言本身的问题,作为解释型语言,不如C直接翻译为机器语言快。我虽然不做硬件,但是在软件程式的时空复杂度很担心它不能胜任,一度测试数据的时候,虽然我程序写得不好,至少指望数据能测个几万条。写完发现最多也就测个几千条,而且一等就是12个小时,这还能指望Python么=。=

Python既然号称胶水语言,那么在模块库上肯定不用担心。唯一在查找部分模块库上担心pcap库可能不太稳定,查过大部分的搜索引擎和博客论坛,比较少的人用Python做在线的pcap功能工作,大多都是离线工作。

(二)益在何处

在这里不点名地表扬逆向分析的开山宗师,以基于算法逆向分析的开山鼻祖为例,自2004年提出相关交叉理论以来,可能是苦于程序原因,他一开始写了C,不知道为什么在2010年还是发布Python版本,难道他不知道序列SA问题的计算时空复杂度吗(=。=)复杂度那么高,这位开山祖师爷竟然还发布Python版本,说明Python可能是可以胜任的,那么如何胜任,以及具体细节是什么?这需要去看祖师爷的代码了。祖师爷整个人自从被麦咖啡买下来以后,公布在开源代码里面永远留着一个无法痊愈的BUG,好想说….祖师爷你丫的是叛变了么←.←

与这位算法分析的祖师爷相比,还有一位苦行僧祖师爷更惨,从1992年开始逆向Windows的文件共享协议,花了10多年才逆向分析出来结果。忘了说,人家用的是手工分析=。=后来2005年这位苦行僧祖师爷实在是不能忍了,终于在某某项目上发布了Python版本。看来也是叛变投敌了。

所以学习Python势在必行,从去年一直讲到现在,真的是荒废了不少的光阴,一直没有真正动手。时至今日,需要真正动手去解决Python这个问题了。因而我将Python推荐给每一个更需要的人,尤其是搞计算机方向的同志(当然了Java和C也是个不错的选择)。

2 MOOC / 互联网编程的那些事

MOOC(MOOC学院)是果壳网旗下的知名网站(貌似也有"中文慕课"一说,是其他的网站,看来公开课程平台也是多方争夺的焦点),主要涉及互联网在线免费公开课程的学习。当然了,它是个平台,有时候它的课程链接,也是从某些其他公开课网站链接过来的。例如,著名的coursera(网易公开课如果跟他比,实事求是地说还是网易弱了一些。TED不一样,定位不一样,Ted内容快速精炼,只是图个眼界广,如果想要真的学些东西,Coursera确是不错的选择)。

2.1 MOOC/Youtube

Mooc作为当今开放型课程的平台,最为著名。上学期有幸学习了七角的Q教授开设的自然语言处理课程,Q教授使用哥伦比亚大学教授的10余周英文课程进行教学,作业代码均为提交英文报告。一时之间,收益匪浅。从一周到4周的一路坎坷,到后面的渐入佳境,都是Q教授的教学艺术。全英文教学仿若又回到本科时代,那样的青葱。后来因为需要又学习了机器学习和Python课程,在上学期自身研究出现瓶颈的状态下,一度中断。但不可否认的是Mooc作为当前获取互联网时代的课程平台,没有时间,没有毅力,没有自我的强迫学习,是不可能有获收获。当你拿到全球认证的Coursera学习证书及签名时,那是怎样的自豪。在机器学习和语言处理的鼻祖多次点评参与者作业,那么课程参与者的结业证书将熠熠生辉。

一时忽然想起Youtube或Freebuf,在信息安全领域的Freebuf业内也算是新闻界的有名之处,也只有会在Youtube才会上传2014blackhat的经典视频,甚至2004Usenix的传奇黑客讲解录像也历历其中。将是怎样的互联网时代,激起传统学科的思路碰撞,和新型学科的研究交锋。难道可见光不可以通过这些与伦敦实验室做简单的交互或邮件咨询吗?交流不仅仅是局促在一间房内的谈话,是走向院外校外的交流,更是走向天南地北,咫尺天涯的寥寥数语。

由于近年版权问题MOOC未能提供下载方式,但是硕鼠或爬缓冲等工具的使用带来便利,或使用Ipad下载也可以。Youtube则需要遵守法规,健康恰当地学习学术活动知识。

2.2 翻Wall

翻Wall这种事,是中国网民最感兴趣,也是骂的最多的。先不讨论墙好墙坏,这里专门解决翻Wall问题,而且是小巫问题,因为小巫见大巫,我这种解决方法算不得高明手段。这里不会介绍翻Wall的具体技术细节,翻Wall本无法规限定,但是如果利用翻Wall技术作为违反法规的行动用途,与本文无关,本文也没有介绍翻Wall的详细步骤和过程。博客园是面向开发者的知识分享社区,不允许发布任何推广、广告、政治方面的内容。所以做了一些细节虚化处理。也不算违规了。(=。=)

2.2.1 GoAgent

早期接触GoAgent是2012年,那是颇具思想进步的W教授讲授计算机网络课程时,带头教育去利用谷歌资源去搜集学术资料,利用国外互联资源既实现世界社会的新闻掌握,又实现个人工作的资料准备。那时他用FACEBOOK建了班上的一个群,推荐使用GoAgent作为翻Wall工具插件,当然了同时还需要使用google chrome浏览器。

GoAgent是使用Python编程语言写成,完成的是服务器中转代理的网络转接工作,因而实现翻Wall目的。如何使用GoAgent,自行百度,这里提供Google自己给出的配置方法,网址为:

https://code.google.com/p/goagent/wiki/InstallGuide

很快你会发现,这个网址打开为404 NOT FOUND。(你在逗我?)实不相瞒,翻Wall就陷入了这样的困境,不是仅仅成为了我的感受,更是千千万万的前辈们已经经历过的死循环:一个翻Wall的工具在墙外的网页里,而此时你却翻不了墙。

国内虽然可以提供GoAgent下载,但是GoAgent是版本更替的。若你的GoAgent在反复检查没有配置问题,但是载入upload时也提示了启动成功,旋即error时,不妨试试更新一下GoAgent版本吧。于是迎来了死循环,国内提供的GoAgent都是老版本,忽然google更新了新版本,但是我们已经无法翻出去。

如果足够耐心,可以等个几小时或几天,会有人从国外网络下载回来最新版,但是根据墨菲定律,这几个小时偏偏是你最着急使用的时候。所以建议不要在一棵树上吊死,还是多准备几种翻Wall的手法吧。

2.2.2 红杏

红杏为国产产物,早在前不久都是免费的,不知道为什么今年开始收费了。人家打出的广告是"3分钟教你红杏出墙!"。所以红杏的含义就在于此。(请不要纠结了"红杏出墙"这四个字了,程序猿哪有女朋友,不要想太多!)

红杏翻Wall工具以其独有的半合法模式运作,原因在于红杏的目的不是为了同步国外游戏服务器,也不是隐藏上网者身份(本来想把某软件单独列为一章节的,该软件以匿名翻Wall著名,结果形成了当今的暗影世界,甚至吸引了不分国家意志和个人潜伏的各种力量去穿行其中,今年貌似还有一份著名的暗影报告。考虑了一会儿,就在这里提一句吧,有兴趣的可以去使用,但不要引火上身。),红杏而是专门为互联网工作者打造,按照互联网工作者的使用习惯提供尽量方便的使用方法。使用红杏的过程中,可以开启"自动切换模式",将被墙域名加入到红杏的规则列表中。这样的话,当你访问在规则列表中的网站的时候,就会自动开启***模式;而访问不在规则列表中的网站时,就自动使用直接连接。既不影响国内网站的速度,又不影响国外网站的访问,只需要初次遭遇被墙的时候添加规则,后续不用进行任何操作。

值得一提的是红杏的广告有一句极具鄙视了GoAgent了,"说你呢说你呢,远离那些设置麻烦的翻Wall工具",想想也是哦,GoAgent有时候配置觉得挺麻烦。当然了红杏收费了也是正常的,设计人员以此谋生,总不能失去经济来源。

2.2.3 网页代理及其他

网页代理不失为一种翻Wall选择,而且是非常简便易行的,在IE或各家浏览器中都有代理设置,只是这些代理需要搜集可以使用的服务器。如何获取这些可以使用的代理服务器网址,一般在百度搜索相关关键词,都会有检测平台提供网址列表,指明可用状态,提供可以使用的代理服务器。随着当今网络的查封力度,几乎有时昨日还能用的服务器,今日就不能用了。更有甚者,查封者专门盯着几大著名代理服务器检测平台,一旦检测出新的,就立刻封住。

自由之门实际上就是部分利用这个原理制作,不知道最新版本怎么样了。但是以前版本界面不是很好看,打开的速度也不是很快。有人用它,是因为它作为互联网早期的翻Wall工具,成为了一方老爷,至于有没有衰败,很难说。自由之门的软件在社会上简单使用也无不可,只是不太建议公务人员使用它。

翻Wall有时候可以使用VPN,但是往往要付费,相比红杏而言,在这一点上红杏费用非常便宜,也比所谓的一些VPN性能更佳,费用高的VPN当然也性能不俗。有些同学曾推荐"乐飞加速器",因为有些网络骨干的节点,即使是红杏或GoAgent可能没有覆盖到,或许VPN覆盖到了大型节点,也可以成为一种选择。如果想免费使用,则推荐GoAgent或网页代理。

这里推荐一个第一开源社区的AVSocks软件吧,能免费翻Wall,原理没看懂,估计是SOCK5模式代理。AVSocks的广告内容,我还是不打出来了,比较愤青反墙的那种。Bitdust你能告诉我,是不是你当时逆向分析iNode的时候学了人家的广告,起了类似的名字=。=

2.3互联网编程平台

这里的"互联网编程"用词可能不太准确,主要想说的是涉及代码管理或编程学习的一些平台。但是请注意:代码是你我不从事本人研究的额外兴趣代码,绝非从事研究方向的代码,或者你只下载,不上传亦可以,一定要小心代码托管的不小心上传。Github已有泄露商业版权代码,受到逮捕和官司的前车之鉴。

2.3.1 Github

以八角萌萌章鱼为形象的著名代码免费托管网站,曾经一度被墙。在国内学术人士及程序界相关人员的写信和网络反馈,最终将其解封,但是有时遇到触发事件,网络节点仍然不太稳定。下面从廖雪峰老师那里盗图一张,用他的话说当看到下面的文档时,是不是很头疼,不知道哪个是自己最新的版本,哪个是修改的版本。(当然我的方式是使用版本号,即便使用版本号,但是本人修订的方便程度属于中等程度,一旦两人修订或共享修订,Word是满足不了需求的,代码托管会是不错的选择,当然了文档的共享修订也可以处理,不要上传不应该上传的文档,我也要谨记这一点。)

所谓代码托管,就是对代码进行在线管理,对于代码修改的每次记录都会做出档案备案,也会对比不同代码分支。再盗表一张,使用起来的感觉应该是这样的。Github是开源的圣地,是代码的天堂,在这里会寻找到意想不到的代码程序和实验方法。Github已经在壮大,已经处于领军地位。随着程序算法的进步发展,有一天Github会成为各类觊觎程序能够改变世界的人士潜行地方,它的潜能是无穷的。(Bitdust你自己说说,你搜罗了些奇奇怪怪的代码,干了些什么坏事=。=坦白从宽,为时不晚)

版本

用户

说明

日期

1

张三

删除了软件服务条款

7/12 10:38

2

张三

增加了License人数限制

7/12 18:09

3

李四

财务部门调整了合同金额

7/13 9:51

4

张三

延长了免费升级周期

7/14 15:17

当然了国内的代码托管也建起来了,叫做GIT@OSCHINA,网址如下

http://git.oschina.net/

2.3.2 Codeskulptor

在学校布置学习编程的课程的时候,有一个问题,谁来给你检测程序的对错。如果一个班上近60人,一个一个仔细核对程序结果,还得防止程序是假算法,那考试和检查课后作业岂不是占用了每一位老师的巨大时间。所以建立代码检测服务器,或代码执行检测网站,可以有效地验证程序课程的作业(还记得错误用例如果是不可告知的时候,是多么抓狂的事情)。Codeskulptor也是Coursera平台编程相关课程,经常推荐的代码检测网站,将代码投进去,会出结果评估分数。

有些累,先写这么多吧……还要回归到做自己事情和作业报告,以后还会继续写的。

下一阶段,向bitdust学习一下iNode协议,他是主力,我是喽啰,并斗胆发布其协议逆向报告。

5 附录

5.1引用文献及网页

  1. 开源中国社区之Python2/3相关文档

    http://www.oschina.net/p/python

  2. 开源中国社区之Python那些事

    http://www.oschina.net/question/1765084_162485

  3. 开源中国社区之Python4.0讨论

    http://www.oschina.net/translate/why-python-4-0-wont-be-like-python-3-0

  4. Bonker的博客园-Pydev在线安装方法

    http://www.cnblogs.com/Bonker/p/3584707.html/

  5. 开源中国社区之IPython

    http://www.oschina.net/p/ipython

  6. 廖雪峰官方网址-Python简介

    http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013747381369301852037f35874be2b85aa318aad57bda000


<<<<<<<<<  写在页面最底的小额打赏  >>>>>>>>>

如果读者亲愿意的话,可以小额打赏我,感谢您的打赏。您的打赏是我的动力,非常感激。

必读:如您愿意打赏,打赏方式任选其一,本页面右侧的公告栏有支付宝方式打赏,微信方式打赏。

避免因打赏产生法律问题,两种打赏方式的任一打赏金额上限均为5元,谢谢您的支持。

如有问题,请24小时内通知本人邮件。

Python/MOOC /翻Wall和互联网编程的那些事的更多相关文章

  1. Python全栈【Socket网络编程】

    Python全栈[socket网络编程] 本章内容: Socket 基于TCP的套接字 基于UDP的套接字 TCP粘包 SocketServer 模块(ThreadingTCPServer源码剖析) ...

  2. Python学习day23-面向对象的编程

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  3. python解无忧公主的数学时间编程题001.py

    python解无忧公主的数学时间编程题001.py """ python解无忧公主的数学时间编程题001.py http://mp.weixin.qq.com/s?__b ...

  4. 简学Python第三章__函数式编程、递归、内置函数

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

  5. 简学Python第六章__class面向对象编程与异常处理

    Python第六章__class面向对象编程与异常处理 欢迎加入Linux_Python学习群  群号:478616847 目录: 面向对象的程序设计 类和对象 封装 继承与派生 多态与多态性 特性p ...

  6. Python Web学习笔记之多线程编程

    本次给大家介绍Python的多线程编程,标题如下: Python多线程简介 Python多线程之threading模块 Python多线程之Lock线程锁 Python多线程之Python的GIL锁 ...

  7. python基础教程总结13——网络编程,

    1.网络设计模块 1.1 socket模块    根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认. 1)服务器监听:是服务器端套接 ...

  8. Python学习-第三天-面向对象编程基础

    Python学习-第三天-面向对象编程基础 类和对象 简单的说,类是对象的蓝图和模板,而对象是类的实例.这个解释虽然有点像用概念在解释概念,但是从这句话我们至少可以看出,类是抽象的概念,而对象是具体的 ...

  9. 【Python Deap库】遗传算法/遗传编程 进化算法基于python DEAP库深度解析讲解

    目录 前言 概述 启发式的理解(重点) 优化问题的定义 个体编码 初始族群的创建 评价 配种选择 锦标赛 轮盘赌选择 随机普遍抽样选择 变异 单点交叉 两点交叉 均匀交叉 部分匹配交叉 突变 高斯突变 ...

随机推荐

  1. js中复制方法总结

    js中有深拷贝和浅拷贝两种复制形式,下面总结一下常用方法,方便平时工作复习使用 一.浅拷贝 1.json对象浅拷贝 var newObj = JSON.parse(JSON.stringify( so ...

  2. 洛谷——P1609 最小回文数

    题目描述 回文数是从左向右读和从右向左读结果一样的数字串. 例如:121.44 和3是回文数,175和36不是. 对于一个给定的N,请你寻找一个回文数P,满足P>N. 满足这样条件的回文数很多, ...

  3. 【HDU 5283】Senior's Fish

    http://acm.hdu.edu.cn/showproblem.php?pid=5283 今天的互测题,又爆零了qwq 考虑每个点对答案的贡献. 对每个点能产生贡献的时间线上的左右端点整体二分. ...

  4. 洛谷P2782 友好城市

    题目描述 有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市.北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同.没对友好城市都向政府申请在河上开辟一条直线航 ...

  5. hdu 4074 Darts

    思路:p[n][m][0]表示A为n,B为m,A为先手胜的概率:          p[n][m][1]表示A为n,B为m,B为先手胜的概率.          d[i]表示圆盘上数字的大小. 容易得 ...

  6. sqlite 增加字段语句

    ALTER TABLE `table1` ADD `AAAA` VARCHAR( 10 ) NOT NULL ; ALTER TABLE 'IPC_FGUID' ADD 'iPassageway' V ...

  7. rocketmq持久化方式

    推荐看下RocketMQ,使用文件做持久化, 并支持分布式事务(虽然可能造成较多的写脏), 异步刷盘,内存预分配, 高可用采用了同步双写及异步复制的方式, 通信是用netty做的,基本上所有耗时的操作 ...

  8. python笔记13-多线程实战篇(tomorrow)

    安装 1.tomorrow安装,用pip可以直接安装 pip install tomorrow 单线程 1.以下案例是单线程时候跑的情况,在下载图片的时候很耗时. # coding:utf-8 fro ...

  9. 在 Ubuntu 14.04 上安装 Ubuntu Tweak 0.8.8

    转自:http://linux.cn/article-3335-1.html 关于 Ubuntu Tweak,Ubuntu 老用户再熟悉不过了,Ubuntu tweak 相当于 windows 的优化 ...

  10. BOOM -- 智能合约编程

    译注:原文首发于ConsenSys开发者博客,原作者为Eva以及ConsenSys的开发团队.如果您想要获取更多及时信息,可以访问ConsenSys首页点击左下角Newsletter订阅邮件.本文的翻 ...