真的有好久没有更新了,杂事一大堆,处在毕业前的阵痛期吧,尽量使自己安定下来,学一点新东西。
Web开发,一直以来接触都不很多,当然也就一直都不熟悉,接下来该是认真学习一下Web开发知识的时候了,昨天看了些django,由于光缆的原因打开djangobook还是出奇的慢,现在也没有了好用的代理,页面总也不能完整的打开,用wget做的镜像也是一样没有办法看。
不过功夫不负有心人,在我的努力和耐心等待下我还是得到了完整的前10章的内容,看了大半。寒哪,发给Cheng Zhang的代码里,我还是把一些本属于template的东东直接写在了view里,虽然只有那么一点点。每每看一些新东西,总觉得以前做的东西不堪回首,sigh。django的MTV很有意思,也很清晰,这个概念和java的struts中的概念还是有很大区别的,觉得django的东西更容易理解用起来也更方便。巨喜欢django的url pattern,清晰优雅的url就靠它了。django的数据访问很方便,加上admin site,真是省了不少的功夫啊,赞。希望以后能够天天有python,日日有django,慢慢体会如此的幸福吧,呵呵。
JavaScript也没有写过,看了点prototype.js和rico.js的东西,浏览了一本javascript和ajax的电子书,总算是对ajax有了些懞懂的认识。jQuery似乎很热,得看看,刚刚定了它的maillist在写这点东西的时间里已有了3封mail,看来这一定是一个很好的东东,我喜欢好东东,就像我喜欢linux和python一样,喜欢,不惜代价。
getsong增加新功能
修改了getsong,增添了如下的功能:
1。使用-n参数可以下载新歌Top n,实际上是从Top100中选出前n个而已,如:
getsong -n 10 可以只下载Top100中的前十个
2。使用-d参数可以导出歌曲列表到当前目录的songlist文件,如:
getsong -d -5 导出Top500
getsong -d -n 70 导出Top100前70
用途:导出后可以编辑该文件以删除不需要下载的个去
3。使用-f参数可以从当前目录的songlist文件读取歌曲列表来下载,如:
getsong -f
用途:主要用于从-d参数导出的列表中下载,当然是你筛选过的列表。
要使用最新版的getsong可以从svn软件仓库中检出,方法参见:这里
1。使用-n参数可以下载新歌Top n,实际上是从Top100中选出前n个而已,如:
getsong -n 10 可以只下载Top100中的前十个
2。使用-d参数可以导出歌曲列表到当前目录的songlist文件,如:
getsong -d -5 导出Top500
getsong -d -n 70 导出Top100前70
用途:导出后可以编辑该文件以删除不需要下载的个去
3。使用-f参数可以从当前目录的songlist文件读取歌曲列表来下载,如:
getsong -f
用途:主要用于从-d参数导出的列表中下载,当然是你筛选过的列表。
要使用最新版的getsong可以从svn软件仓库中检出,方法参见:这里
在啄木鸟社区创建了pygetsong项目
今天在limodou的引荐下向Zoom.Quiet申请在啄木鸟社区创建了pygetsong项目。
项目的wiki页面地址为:
http://wiki.woodpecker.org.cn/moin/PyGetsong
项目的svn代码仓库地址为:
http://cvs.woodpecker.org.cn/svn/woodpecker/pygetsong/
感谢Zoom.Quiet,大中午还忙着配置pygetsong的svn仓库,感谢所有关心和支持pygetsong的人们:)
从今天开始最新的getsong将会出现在svn软件仓库里,使用过程中出现问题的朋友请先检查一下所使用的getsong是否为最新版本,从svn获取最新getsong代码的方法如下:
方法一:安装subversion客户端,使用如下命令:
svn co http://cvs.woodpecker.org.cn/svn/woodpecker/pygetsong/trunk getsong
方法二:使用其他的svn客户端,使用方法参考该客户端的帮助文档。
项目的wiki页面地址为:
http://wiki.woodpecker.org.cn/moin/PyGetsong
项目的svn代码仓库地址为:
http://cvs.woodpecker.org.cn/svn/woodpecker/pygetsong/
感谢Zoom.Quiet,大中午还忙着配置pygetsong的svn仓库,感谢所有关心和支持pygetsong的人们:)
从今天开始最新的getsong将会出现在svn软件仓库里,使用过程中出现问题的朋友请先检查一下所使用的getsong是否为最新版本,从svn获取最新getsong代码的方法如下:
方法一:安装subversion客户端,使用如下命令:
svn co http://cvs.woodpecker.org.cn/svn/woodpecker/pygetsong/trunk getsong
方法二:使用其他的svn客户端,使用方法参考该客户端的帮助文档。
改进mp3下载脚本,内置多线程下载和速度优先选择
昨天晚上进行了一些改进,使其不再依赖外部的下载程序而独立运行,在我的gentoo和windows xp下都运行良好。
主要有三个改进:
1。脚本改名为getsong(下载),简单些,呵呵。
2。内置多线程下载,不再依赖axel。
3。选择速度较快的站点进行下载,减少等待时间。
目前还有一些小毛病:在多线程下载一块儿,如有异常情况发生导致线程重试时产生错误的下载结果,这个应该不难修正,晚些时有空了再改一下。
Changes:
在linuxsir上pupilzeng的帮助下已经修正了多线程下载的错误,现在getsong算是一个基本上好用的小程序,说基本好用是因为:靠关键字在百度搜索所得的结果并不全是正确的,因此有可能下载的歌曲不是你想要的,尤其是下载的歌曲如果和某张专辑同名,那下载结果不正确的可能性还会大大提高。
TODO:
提高搜索精确度,尽量保证匹配精度。
主要有三个改进:
1。脚本改名为getsong(下载),简单些,呵呵。
2。内置多线程下载,不再依赖axel。
3。选择速度较快的站点进行下载,减少等待时间。
目前还有一些小毛病:在多线程下载一块儿,如有异常情况发生导致线程重试时产生错误的下载结果,这个应该不难修正,晚些时有空了再改一下。
Changes:
在linuxsir上pupilzeng的帮助下已经修正了多线程下载的错误,现在getsong算是一个基本上好用的小程序,说基本好用是因为:靠关键字在百度搜索所得的结果并不全是正确的,因此有可能下载的歌曲不是你想要的,尤其是下载的歌曲如果和某张专辑同名,那下载结果不正确的可能性还会大大提高。
TODO:
提高搜索精确度,尽量保证匹配精度。
昨晚遭遇LVM2误操作,灾难恢复折腾人
把新硬盘转为 LVM2 有个把月了,lv 的缩放的确方便,尽管不是天天缩放来玩儿,但说不定哪天就有这样的需要了,比如昨天就遇到这样的情况。昨天想要安装一个 Ubuntu 以备不时之需,因为新硬盘全部使用 LVM2 管理,这就需要从现在的 vg 中划分出一些空间给 Ubuntu 使用。/dev/vg/data 这个 lv 有 110G 大小,其中只有 30G 多的数据,于是进行了如下的操作:
(以下操作极度危险,请小朋友不要模仿)
1
| |
就是这条命令带来了我几个小时的噩梦,我的本意是把 /dev/vg/data 减小 5G,但这条命令的实际含义是减小到 5G,天哪。当我又敲下 resizefs.reiserfs /dev/vg/data 时提示我其空间不足以容下现有的数据,这时我才意识到自己犯了一个多大的错误。
卸下 /dev/vg/data 的挂载,试图再次挂载的时候已经造成了灾难:无法挂载!虽说不是什么宝贵的数据,那点学习资料也是辛辛苦苦下载的啊,可不能付诸东流了。
恢复 lv 的大小:
1
| |
把希望寄托在 fsck 上吧:
1
| |
并不奏效,提示需要使用 --rebuild-tree,以前曾经遇到过 reiserfs 的故障,同样是无法挂载,rebuild-tree 之后就好了,看到这样的提示稍稍放松了些。
1
| |
漫长的等待后 fsck 终于结束了,再次尝试挂载成功,看看可爱的数据还在,心里踏实了。
其实正确的缩小 lv 的步骤应该是:
1 2 | |
创建新的 lv :
1
| |
一开始步骤就颠倒了,难免铸成大错,还好这是我个人的计算机,也没有什么太珍贵的数据,再也还好数据基本上都恢复了。这是一个教训,来的早是好事,吃一堑长一智,以后决不能再犯这样的错误了。