分类目录归档:学习

PYTHON学习:利用PYTHON查询星球大战的信息

最近《星球大战:绝地武士》上映了,作为一名伪星战迷,还是多多少少看了看豆瓣上的评论和评分。以前只觉得星战是一群人拿着手电筒打架的故事,还听过赵本山小品里面说出的“May the force be with you”,没想到星战都已经第八部了,真得花时间补习补习,想说的是在查询星战历史的时候,无意中发现了官网提供的星战数据库,可以查询星球大战中电影、星球、人物、车辆、种族等信息。

menu

继续阅读PYTHON学习:利用PYTHON查询星球大战的信息

PYTHON学习:行的划分和注释

PYTHON程序由一系列逻辑行组成,每一逻辑行由NEWLINE结尾,同时,逻辑行又由物理行通过显示或者隐式连接组成。物理行由一系列字符组成,以换行符结尾,换行符在UNIX系统中是LF,在WINDOWS系统中是CR LF,在Machintosh系统中用CR来表示,无论什么平台,这些行结尾符号都可以使用,没有区别。

先看看显式得连接不同的行,也就是一行写不完如何换行写程序,在写程序时,有可能一行写不完,如果直接回车换行再写,会出错,正确的做法是在要换和f的地方输入\,然后在下一行接着写,否则就会出错:

if 1900 < year < 2100 and 1 <= month <= 12 \
and 1 <= day <=31
return 1

隐式地连接不同的行,是指系统自动地认为不同行的内容为同一个逻辑行的情况,这些情况是指在一对括号、花括号、中括号中的内容,不用\换行:

month_names = [‘Januari’, ‘Februari’, ‘Maart’,
‘April’,   ‘Mei’, ‘Juni’  ] 继续阅读PYTHON学习:行的划分和注释

PYTHON学习:不同的PYTHON实现

PYTHON有很多不同的实现,每种实现都有一系列的内置和标准的模块,最常见的是CPython,也就是大家常常说的Python,但同时PYTHON还有很多种实现,这些不同的实现满足了不同的使用者的需求,面就是PYTHON的几种常见的实现:

CPython 是最原始、维护得最多的一种PYTHON实现,使用C语言编写,每当有新的特点、特性出现时,CPython最先更新。

Jython 是在JAVA中实现的PYTHON,这种实现可以当作JAVA应用的一个脚本语言,或者可以用来创建调用JAVA类库的应用,它常常用来创建JAVA类库的测试程序。

Python for .NET 使用了CPython的实现方式,与CPython不同的是它是一个可管理的.NET应用,可以使用.NET类库。

IronPython 也是一种.NET实现的PYTHON,与Python for .NET不同,它能够将Python代码编译成.NET汇编。

PyPy 完全使用Python实现的Python,它支持其它几种实现都没有的特性,比如StacklessJust in Time compiler,这使得它的运行速度比CPython快,也可以安全得运行一些不被信任的代码。

一次使用GHOST备份、重装系统失败的经历

一直以来,系统坏了,就使用GHOST重装系统,速度快,相当地方便。正常情况下安装系统,得半个小时左右,而且还得再安装驱动,比较麻烦。本人一直使用XP系统,习惯了,最近由于想使用EXCEL的一个功能强大的软件POWER QUERY,POWER QUERY要求的系统是win7以上,于是就萌生了安装win7的想法,说干就干,于是就安装了GHOST软件,下载了win7的镜像。

一切都准备好后,把C盘的文件备份到D盘,为了怕新装的系统不好用,于是采取的第一步是把整个C盘做一份镜像存到D盘,然后再安装新的win7系统,如果不好用,再恢复成原来的系统,想好后开始行动。

不过悲剧的是,安装过程中,将C盘生成镜像到D盘时,手一抖,选错了,直接导致D盘东西全没有了,内容跟C盘一模一样了。因此为了铭记这一刻,避免以后悲剧再发生,把错误记录下来:

GHOST备份时,选择partition后,有三个选项:

  • to partition  分区向分区复制
  • to image 将分区备份成镜像
  • from image 从镜像文件恢复分区

显然,备份系统应该选择第二个,然后指定文件;恢复系统时选择第三个,这个镜像文件可以是D盘、E盘中的文件;第一个没用过,不知道是哪种场景下使用。

韩非子·二柄第七读书笔记

今天拜读了韩非子先生的《二柄》一文,讲的是君主应该牢牢抓住的两个权柄以及如何使用这两大权柄的问题。君主之所以高高在上,大臣们畏惧,不是因为他贤能,而是因为他手中握有权力,这两大权力分别是刑罚恩德,有了这两大权力,就能牢牢控制住大臣。

1 为什么要抓住这两个权柄

一只狗见到老虎会害怕,因为老虎有锋利的爪牙,如果把锋利的爪牙给狗,那么狗就能把老虎降住了,所以君主要牢牢抓住这两个权柄。同样的道理,君主如果将权柄交给大臣,那么大臣就能进行奖罚,君主就要被控制了。

2 能不能只抓住其中一个权柄

当然不能,田常经常给百姓施以恩惠,也就是恩德,渐渐地掌握了权力,出现了田氏代齐;子罕请求承担恶名,掌握了刑罚,渐渐地宋恒侯就失去了权力。可见失去一个权柄,就会出现可怕的后果,更别说失去两个权柄呢。

3 如何使用权柄

使用权柄,禁止奸邪,无非就是去看职事和功效是否一致,如果一致就进行奖励,否则就进行处罚。这里的一致指的是完全一致,高了也不行,低了也不行,做的比说的好得多,也要受处罚,这个很难理解,也可能韩非子认为君主利益第一,如果有人越权做好事受到奖励,那么就会有更多的人越权,出现危险,所以要职事相符。下面是书中所举的韩昭侯的例子:

韩昭侯喝醉酒睡着了,掌帽官怕他着凉,就给他身上盖了衣服。韩昭侯醒后很高兴,问近待说:“盖衣服的是谁?”近待回答说是掌帽官。韩昭侯便同时处罚了掌衣官和掌帽官,一个是因为失职,一个是因为是越权。

韩非子·有度第六读书笔记

有度,讲的是使用法度选拨人才,治理国家。习主席讲话时提到:“国无常强,无常弱。奉法者强则国强,奉法者弱则国弱。”就是选自这篇文章,意思是国家没有永远的强大,也不会永远弱小,执法者强国家就会强大,执法者弱国家就会弱小。文章中提到齐恒公、燕昭襄王、魏安厘王在位时,国家都很强大,但是死后,国家就衰弱了,原因在于这些君主比较强势,他们在位时能控制得了大臣,死后大臣们就开始做违法乱纪的事儿,所以国家就衰弱了。

如何才能使国家得到治理、国富兵强呢?韩非子给出的答案:实行公法而不追求私利。具体地说就是:用法度选拨人才,而不是自己推举;用法度衡量功绩,而不是自己衡量。

使用法度选拨人才、考察业绩,是因为君主亲自考察官吏,时间、精力都不够,使用眼睛看,大臣就会粉饰;使用耳朵听,大臣就会掩饰;用头脑思考,大臣就会用花言巧语迷惑,所以用这三种方式选拨人才都不靠谱,唯有使用法度,拿业绩说话,才能客观公正。

最后韩非子指出,使用法令治国,无非就是制定法令,然后推行下去罢了。一个普通的木匠使用默线,就能将曲木砍直,如果使用经验来砍木头,那么再有经验、技术的人木匠也可能犯错,所以不如老老实实使用法度治理国家,不偏不袒。

韩非子·主道第五读书笔记

《史记·老子韩非列传》中说韩非喜欢刑名法术之学,而其归本于黄老,可见韩非子的思想与老子的思想关系多么密切,主道讲的是如何使用道家清静无为的思想驾驶群臣、治理国家。

君主为什么要在上面虚无清静呢?原因很简单,如果君主暴露出了欲望和意图,下面的人就会伪装,以便迎合君主,马丽、沈腾的小品《投其所好》讲的就是这个道理,新来的局长喜欢打乒乓球,于是大家都抓紧练习,甚至“分清主次”把本职工作放一边,转而练习领导喜欢的乒乓球,马科长讲她是如何当上科长的故事,更是入目三分:这个喜欢钓鱼,我就潜到水里往他鱼钩上一条一条挂鱼;这个喜欢打麻将,我就把把拆听给他点炮儿;这个喜欢文玩,我就把我太爷爷的舍利拿来给他穿串儿!这个喜欢我……。 继续阅读韩非子·主道第五读书笔记

比特币中的工作量证明机制

前一段时间在看中本聪论文《比特币:一种点对点的电子现金系统》时,一直没弄明白他所说的工作量证明机制,倒底是怎么一回事,也不明白挖矿为什么那么费资源,今天终于弄明白了。

先来看看中本聪论文中的描述,一个块包含了若干交易记录,将这个块加上一个随机数Nonce做SHA256运算,最终结果要满足前N位是0,以此类推,以后每一个块都前面一个块加随机数的散列值。这样可以有效防止交易被篡改,因为要修改某块中的数据,意味着要将该块及以后的每一个块中的随机数都要计算一遍,且满足某数据块加随机数的散列值前N位是0。找出Nonce的值很麻烦,但是验证起来很容易,只需要进行一次运算即可。

bitcoin_timestamp

继续阅读比特币中的工作量证明机制

比特币原理解读

最近勒索病毒爆发,凡是中毒的电脑,文件都被加密,需要向黑客支付一定量的比特币赎金才能恢复文件。现实生活中绑匪都要现金,黑客们则要求使用比特币支付赎金,可见比特币有很强的匿名性,还具有一定价值。原来比特币是中本聪2009年提出来的一种点对点的数字货币,它没有发行机构,依据特定算法和大量的运算产生,通过网络中的分布式节点来确认和记录交易,使用加密算法保证各个环节的安全性。比特币的价值目前处于疯涨状态,上周曾一度涨到18000多,由于比特币的数量有限,估计以后价值会越来越大。

现在不光比特币火爆,还有比特币的底层技术“区块链“,它是结合了分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,可以保证交易的可靠性和不可修改性。为了真正弄明白比特币,下面就对中本聪论文《比特币:一种点对点的电子现金系统》进行简单地解读,通过读文献,来了解比特币产生的背景、要解决的问题和实现的技术细节。bitcoin2

继续阅读比特币原理解读

利用LFTP工具上传、下载以及同步网站服务器中的文件

最近在维护网站的时候,发出了一个非常好的FTP工具LFTP,可以方便地往FTP服务器上传、下载文件,其中最实用的功能莫过于同步网站的功能,可以从本地向服务步同步,也可以从服务器住本地进行同步,对于网站备份、恢复和修改来说十份方便。

LFTP是命令行下比较成熟的文件传输工具,它支持FTP、HTTP、FISH、SFTP、HTTPS和FTPS协议,另外还支持种子文件。LFTP的每一个操作都是有效的,这意味着,当下载或上传执行出错时,它会自动重新开始,这种功能非常适合网速慢或者机器IP地址经常发生变化的情况。

LFTP命令使用时有点像SHELL,可以使用&符号将任务转到后台执行,比如执行:(cd /path && get file) &,意思是进入path目录,下载file文件,以后台方式执行。在任务执行的过程中,使用CTR+Z将任务切换到后台执行,也可以使用WAIT将后台任务切换到前台执行。

下面为说说这个命令的使用方法吧,和FTP工具一样,可以直接打开,然后用o命令打开FTP服务器,再输入密码;也可以使用参数在命令里面带上地址、用户名: 继续阅读利用LFTP工具上传、下载以及同步网站服务器中的文件