摘要: 实现个爬虫小例子,用浏览器登录百度帐号后,不要退出。运行如下代码: 1 # -*- coding: utf-8 -*- 2 import re,sys 3 import urllib,urllib2,cookielib 4 class Requests: 5 def __init__(self): 6 cj = cookielib.CookieJar() 7 opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 8 urllib2.install_open... 阅读全文
posted @ 2013-10-20 18:33 除e尘 阅读(2037) 评论(1) 推荐(1) 编辑
摘要: dynamic_cast与static_cast用于子类与基类之间的转换。首先dynamic_cast: 1 #include 2 using namespace std; 3 class A{ 4 public: 5 virtual ~A(){} //使用dynamic_cast时,必要! 6 }; 7 class B:public A{ 8 public: 9 B(){10 m_b=12;11 }12 void foo(){13 cout(a);22 b... 阅读全文
posted @ 2013-10-19 18:54 除e尘 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 1.格式化打印json串import jsondata={'a':[1,2,3],'b':[4,5,6]}print json.dumps(data,sort_keys=True,indent=4){ "a": [ 1, 2, 3 ], ... 阅读全文
posted @ 2013-10-10 11:29 除e尘 阅读(237) 评论(0) 推荐(1) 编辑
摘要: 神奇的pypy,想了解更多pypy:http://pypy.org/python官方版本由c语言开发,也叫cpython;pypy通过python编写的(真实是rpython)。pypy即时编译(just-in-time compile)python脚本,通常执行的速度比cpython更快。用比较耗时间的算法fib.py,比较pypy与python(cpython)。1 import sys2 3 def fib(n):4 if n<2:5 return n6 else:7 return fib(n-1)+fib(n-2)8 if __name... 阅读全文
posted @ 2013-07-23 15:35 除e尘 阅读(1258) 评论(0) 推荐(1) 编辑
摘要: 记录一下,现在记录的都是简单的东西。以后会记录和分享操作系统和python源码方面的学习记录。言归正传... linux老爸说过想了解它就要先学会使用。当然了,这个它是指linux。我最初使用的apache,后来就在系统上一直用的是nginx。原因就不说了,每件事情都有个人、环境的因素在其中,很难说好与坏。 基本的配置就不说了。这里讲的是模块开发,当然也可以叫nginx插件编写。我也是看看code,网上搜搜资料、看看博客学习的。 Ngnix模块主要的三个任务是:1)处理程序处理请求,和产生所要的输出;2)通过处理程序中的一个或多个过滤程序产生输出;3)当后台有多以一个可用的服务时,起到负... 阅读全文
posted @ 2013-07-17 18:19 除e尘 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 使用ubuntu等linux发行版时经常犯一些重复的错误,今天记录一下。 1.如果hello.c属于root用户,直接vi hello.c进行编辑,突然发现没有root,是不是经常犯的错误。有办法,在vi或者vim命令模式下输入::w !sudo tee %就OK了。 2.如果我们安装g++,在ubunntu下使用apt-get install g++。在肯定是不行的,对吧。有人会说按上键回到上个指令,然后按left键把光标定位到apt-get前然后加上sudo。当然也有人会按上键回到上个指令,然后使用Ctrl+A直接把光标定位到apt-get前加上sudo。但是还有不错的方法是直接... 阅读全文
posted @ 2013-07-03 21:49 除e尘 阅读(497) 评论(2) 推荐(3) 编辑
摘要: 问题:已知一个从小到大的有序数组,这个数组中一个平台就是连续的一串值相同的数,并且不可再延伸。请找出最长的平台。例如:1,2,2,3,3,3,3,4,5,5,6中1,2,3,4,5,6各自是一个平台,找出连续最长的。 先上python,本人思考问题后总是先用python实现,然后再转成c或者c++,难道python实现起来容易?我感觉有点。plateau.py : 1 def num(a): 2 t=a[0] 3 c=0 4 b=0 5 tmp=0 6 for i in a: 7 if t==i: 8 c+=... 阅读全文
posted @ 2013-06-08 21:55 除e尘 阅读(921) 评论(0) 推荐(0) 编辑
摘要: 待续... 阅读全文
posted @ 2013-05-28 15:45 除e尘 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 目前UEFI仅支持FAT格式,上篇“UEFI Shell在vbox上使用”介绍中,使用UEFI shell指令中的map打印出来Maping Table只有BLK0、BLK1......这些不是EFI能识别的,如果格式是FAT,当EFI启动后显示的是fs0、fs1,能够识别几个就已累加的方式显示fsn。这些fs开头的设备实质是能够识别的BLK设备的别名。 现在介绍制作一个fat格式的软盘。命令如下:1 dd if=/dev/zero of=f1.img bs=1440 count=10002 3 mkfs.vfat f1.img第一行创建一个1.44M的镜像,但是没有文件系统,需要第三行实.. 阅读全文
posted @ 2013-04-24 10:27 除e尘 阅读(2507) 评论(0) 推荐(1) 编辑
摘要: 上次的“c调用汇编”使用的clang编译器,而且使用的是mac 64位系统。当时感觉写的汇编怪怪的,今天闲来无事,就在w7 32位系统下把c文件汇编后,确实与mac后的差异很大。可不仅仅是寄存器eax与rax的区别。我想说的是函数参数传递的不同。mac下clang编译后函数的参数先保存在寄存器中(以一定的规则保存),然后在函数中压入栈里,以待后用。例如上篇例子,红色部分:.global _decToBin _decToBin: pushq %rbp movq %rsp,%rbp movq %rdi,-8(%rbp) #第一个参数,保存在r... 阅读全文
posted @ 2013-04-19 23:17 除e尘 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 写博客或者看博客都能使我们的知识更加深刻,也能使我们知道很多新东西。就像这个题目中ns-3,相信没几个人听过,就是我也是帮同学了解毕设才知道的。工作中相信没几个人用到,但是新知识能够开阔我们的思维,这也是有些人学习新知识快的的原因。 ns-3 is a discrete-event(离散事件) network simulator for Internet systems, targeted primarily for research and educational use.官网:http://www.nsnam.org 也就是为研究用的,我感觉唯一的好处或者最大的好处就是学习C++了... 阅读全文
posted @ 2013-04-17 14:49 除e尘 阅读(2509) 评论(11) 推荐(0) 编辑
摘要: 我们知道linux是模块化的内核。实现模块、利用kernel提供的接口,首先了解写模块的基本框架。下面的c文件就是最基本的框架,当然还有怎样添加一些符号变量,利用的module_param,没用上。 c文件printPid.c 1 #include <linux/kernel.h> 2 #include <linux/module.h> 3 #include <linux/init.h> 4 #include <linux/sched.h> 5 #include <linux/list.h> 6 7 static __init int 阅读全文
posted @ 2013-04-07 13:24 除e尘 阅读(1636) 评论(1) 推荐(1) 编辑
摘要: 先记录一种进度条实现: 1 #!/bin/bash 2 3 b='' 4 i=0 5 while [ $i -le 100 ] 6 do 7 printf "progress:[%-50s]%d%%\r" $b $i 8 sleep 0.1 9 i=`expr 2 + $i` 10 b=#$b11 done12 echo shell能够实现很多很酷的功能,有遇到都会记录下来。 阅读全文
posted @ 2013-04-07 12:54 除e尘 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 在此记录一下:11:30: ~$ script -t 2>record.log -a session.logIn command lines we input "script -t 2>record.log -a session.log".In the current directory,there are two files which have been made, calledrecord.logandsession.log.但是script此后在后台运行,然后我们就可以输入其他的command,我们的动作都会被script在record.log和sess 阅读全文
posted @ 2013-04-07 12:38 除e尘 阅读(739) 评论(0) 推荐(1) 编辑
摘要: 今天我所讲的是不通过修改一个class的成员,就能够追踪其成员。方法就是类似C语言中的函数指针,比如:int (*foo)(int arg),记住要和另一个指针函数区分开来,类似这样:int *foo(int arg). 比如我们可以这样声明一个变量和函数:int (*pfun)(int arg)=0;int fun(int arg); //这个函数实现随便啦,我就不写了。如果我们想利用函数指针操作函数,就和指针变量使用一样:pfun=fun;int result=(*pfun)(123);对,很鸡肋也没必要。这是当然,因为我们没用在对的地方。下面我要讲的是利用一个类去call b... 阅读全文
posted @ 2013-04-01 10:04 除e尘 阅读(164) 评论(0) 推荐(0) 编辑