作者归档:贝贝爸

python读书笔记-1

特殊符号,星号(*)的作用

* unpacking argument lists
分解开list类型的参数

** unpacking argument dicts
分解开dict类型的参数

iteritems()
retrieved the key and value of dict
上述函数可以得到dict的key和value

python怎么取得系统环境变量的值?
os.environ.get(‘path’)

python中导入模块搜索的顺序
1当前目录
2pythonpath
3,path
4install dir

怎么修改python的提示符用
修改sys.ps1,sys.ps2的值

添加搜索模块的目录

sys.path.append

看对象都有什么方法和属性
dir以及dir(__builtin__)

repr
repr函数用来取得对象的规范字符串表示。反引号(也称转换符)可以完成相同的功能。

格式化输出的函数
ljust,rjust,center,zfile

for,while loop 可以和else组合使用

try…except可以后边加上else
else必须在所有的excep后边,当try里面没有异常的时候,执行else的语句,可以避免截获不属于保护代码里面的异常。

确保关闭文件的读文件方法

with open("mf.txt") as f:
	for l in f:
		print l

贝贝最早的一次外出

贝贝到现在为止发了两次烧,第一次是因为打预防针,出了疹子。这次从5月10号晚上开始烧了近30个小时。
贝妈平时很辛苦的,贝贝睡觉了,她就就晕晕乎乎的也睡了。贝妈翻身的时候,下意识的摸了一下贝贝的额头,然后一个翻身就起来了,说贝贝发烧了。
发烧期间烧到39度多,挺吓人的,周六凌晨三点实在不行了,就抱着贝贝去医院了。
叫了车后,先是爷爷抱贝贝下楼,路上高架还封了,只能走地面,路上时间稍微长了点,凌晨3点了,路上居然还是车水马龙,真不知道这帮人不睡觉,干吗呢,到了医院后,才知道,看来都是去医院的,儿科医院里面人山人海。
先领了一个温度计,测量温度。医院晚上急诊分2类,一种是烧40度,呕吐不止什么的,比较严重的,可以算急诊,贝贝的温度不高,好像是39左右,就要等,等了好久,贝贝看到了一个小朋友的气球,叫着伸手,要气球。(很奇怪,贝贝下楼后,状态就好很多,温度好像也下来一点。)爷爷去医院对面的小店里买了一个电动的小汽车和一个摇铃,就这么哄着贝贝,直到医生叫到号。
先是验血,说白细胞多,说要验尿,看有没有感染,开了单子我就担心了,发烧后,都烤干了,没尿咋办?我就蹲着,等着,盼着,有种”求雨”的感觉。最后贝贝真的给面子,过了有2分钟,终于xuxu了一把。
检查的结果还不错,没有问题,于是开了药回家,后来贝贝吃药很不配合,可是居然靠自己的抵抗力强,自己退烧了,真是厉害。
BTW:半夜的医院真的恐怖,那么多人,那么多小孩子,有很小的孩子要打吊针,都要扎额头,真可怜。:(

eclipse tips

怎么修改eclipse启动的画面(Changing the Eclipse Splash Screen)

到eclipse\plugins\org.eclipse.platform_XXX目录
替换,编辑里面的
splash.bmp

指定eclipse使用的语言

eclipse -nl en_US

工作目录的指定

使用 -data 命令行自变量

让eclipse使用指定的java vm
如果有多个java vm可以用 -vm 设置使用那个 java VM
例如,-vm c:\jre\bin\javaw.exe

如何关闭闪屏(close the Eclipse Splash Screen)
-nosplash
在窗口标题栏中显示工作区的位置
-showlocation

设置虚拟机的自变量
-vmargs
-vmargs -Xms256m -Xmx512m
最小堆设置为 256MB,将最大 Java 堆大小设置为 1GB

上述设置可以设置在eclipse的config.ini里面,更详细的内容,请点击

http://help.eclipse.org/help32/topic/org.eclipse.platform.doc.isv/reference/misc/runtime-options.html

安装了一个防spam的插件

我这个wordpress这几天垃圾评论越来越多,好像是什么工程设备作黑帽seo的,很是气愤。于是google了一下,安装了一个叫Did You Pass Math的插件,地址是 http://www.herod.net/dypm/,遇到了一些问题,记录下来。
1.有中文版,但是编码好像有点问题,把英文版的自己修改了一下,问题解决,保存的时候注意时utf8编码就可以了
2.里面报错用的函数有点问题,数据会乱码,主要是没有指定编码,需要把里面的fail和fail函数替换成wp_die(这个函数的输出也不太好,准备回头再改改)
3.最后一个问题是输出格式的问题,这个插件要在网站的输入框下面添加一个输入框,部分代码如下

<p id="answerdiv">
<input type="text" name="answer" id="answer" size="6" tabindex="4" />
<label for="answer"><?=$dypm_strings&#91;'question'&#93;?></label>     
</p>
         <script type="text/javascript">
            var urlField = document.getElementById("url");
            var submitp = urlField.parentNode;
            var answerDiv = document.getElementById("answerdiv");
            submitp.appendChild(answerDiv, urlField);
       </script>

answer的位置是乱的,查了一下,是因为上述js代码是找到id为url的input,然后在它的parentNode后append一个answerDiv
但是结果却是在url所在的p里面,本来应该是:
<p>id="url" </p>
<p>id="answer"</p>
结果却是
<p>id="url" <p>id="answer"</p></p>
google了一下,不知道怎么直接用js解决(如果您知道,请告诉我哦),于是用了jquery,把上述javascript代码改成了

<script type="text/javascript">
$("#url").parent().after($("#answerdiv"));
</script>

问题解决。
I love jquery!

比dnslookup好的dns查询工具-dig

dig (domain information groper) 是一个功能强大的dns查询工具,比我们常用的dnslookup好很多,有使用方便,信息丰富等优点。
基本的用法是
dig @server name type

上面@server的意思是指定的dns服务器,如果没有设置,就是用本机默认的设置
name是要dig的域名
type是要查询的纪录类型,如果没有设置,默认的是查询A纪录

所以,最简单的用法是
dig sina.com.cn
输出

; <<>> DiG 9.2.4 <<>> sina.com.cn
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7164 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3 ;; QUESTION SECTION: ;sina.com.cn. IN A ;; ANSWER SECTION: sina.com.cn. 600 IN A 202.108.33.32 ;; AUTHORITY SECTION: sina.com.cn. 52074 IN NS ns3.sina.com.cn. sina.com.cn. 52074 IN NS ns1.sina.com.cn. sina.com.cn. 52074 IN NS ns2.sina.com.cn. ;; ADDITIONAL SECTION: ns1.sina.com.cn. 52074 IN A 202.106.184.166 ns2.sina.com.cn. 52074 IN A 61.172.201.254 ns3.sina.com.cn. 52074 IN A 202.108.44.55 ;; Query time: 101 msec ;; SERVER: 210.21.119.139#53(210.21.119.139) ;; WHEN: Thu May 17 09:33:34 2007 ;; MSG SIZE rcvd: 147[/code] HEADER部分 显示 QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3 有 意思是由1个查询,1个结果,3个验证部分,和3个附加部分 QUESTION部分 显示我们查询的问题 ;sina.com.cn. IN A 意思是我们查询sina的a纪录,还可以mx,txt等其他类型 ANSWER 部分, 自然就是我们要的结果了,600是ttl的数值 AUTHORITY 可以看出dns数据是从那里来的,现在显示应该是sina自己的dns服务器。 ADDITIONAL部分 显示的是上述dns服务器的ip地址。 怎么样,感觉到dig的强大了么? dig一下ebay的所有纪录 [code linenum="off"] [[email protected]il ~]$ dig ebay.com ANY ; <<>> DiG 9.2.4 <<>> ebay.com ANY
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51159 ;; flags: qr rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 4, ADDITIONAL: 1 ;; QUESTION SECTION: ;ebay.com. IN ANY ;; ANSWER SECTION: ebay.com. 2339 IN MX 10 data.ebay.com. ebay.com. 2339 IN MX 10 lore.ebay.com. ebay.com. 2069 IN TXT "spf2.0/pra mx include:s._sid.ebay.com include:m._sid.ebay.com include:p._sid.ebay.com include:c._sid.ebay.com ~all" ebay.com. 2069 IN TXT "v=spf1 mx include:s._spf.ebay.com include:m._spf.ebay.com include:p._spf.ebay.com include:c._spf.ebay.com ~all" ebay.com. 1431 IN A 66.135.192.87 ebay.com. 12050 IN NS smf-dns1.ebaydns.com. ebay.com. 12050 IN NS smf-dns2.ebaydns.com. ebay.com. 12050 IN NS sjc-dns1.ebaydns.com. ebay.com. 12050 IN NS sjc-dns2.ebaydns.com. ;; AUTHORITY SECTION: ebay.com. 12050 IN NS sjc-dns2.ebaydns.com. ebay.com. 12050 IN NS smf-dns1.ebaydns.com. ebay.com. 12050 IN NS smf-dns2.ebaydns.com. ebay.com. 12050 IN NS sjc-dns1.ebaydns.com. ;; ADDITIONAL SECTION: data.ebay.com. 2318 IN A 66.135.195.180 ;; Query time: 2 msec ;; SERVER: 202.96.209.6#53(202.96.209.6) ;; WHEN: Thu May 17 10:36:28 2007 ;; MSG SIZE rcvd: 506 [/code] linux和unix下有这个工具,也有windows的版本,请到 www.isc.org 下载 bind for windows 现在的版本是 http://ftp.isc.org/isc/bind9/9.4.1/BIND9.4.1.zip 安装后就可以在win下用dig工具了 其他的使用可以参照 http://bbs.chinaunix.net/viewthread.php?tid=229316 (我好像没跑出来结果):(

html tips&faq

html中的rel,rev是什么?
这2个标记主要是用于表示文档之间的联系,rel是从源文档到目标文档的关系;rev是从目标文档到源文档的关系
经常用到的属性如下:

Alternate — 定义交替出现的链接
Stylesheet — 定义一个外部加载的样式表
Start — 通知搜索引擎,文档的开始
Next — 记录文档的下一页.(浏览器可以提前加载此页)
Prev — 记录文档的上一页.(定义浏览器的后退键)
Contents
Index — 当前文档的索引
Glossary — 词汇
Copyright — 当前文档的版权
Chapter — 当前文档的章节
Section — 作为文档的一部分
Subsection — 作为文档的一小部分
Appendix — 定义文档的附加信息
Help — 链接帮助信息
Bookmark — 书签

使用严格的DOCTYPE(xhtml1-strict.dtd)时不能用 target=”_blank” 标记的解决
这么处理,据说是因为不经过允许就开新窗口是不友好的。
有一种方法是javascript+rel属性
html的写法

<a href="http://www.juyimeng.com" rel="external">新建窗口打开</a><br/>
<a href="http://www.juyimeng.com">当前窗口</a><br/>
<a href="http://www.juyimeng.com" rel="external">新建窗口打开</a><br/>
<a href="http://www.juyimeng.com">当前窗口</a><br/>

javascript的一种写法:
function externallinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName(“a”);
for (var i=0; i

如何做301转向

301 redirect: 301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好(SEO)的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。

现在知道的有2类,一类是在web服务软件上做,还有就是在程序里面做

先说在web服务软件

如果是iis:
打开internet信息服务管理器,在要重定向的网页或目录上按右键

  1. 选中“重定向到URL”
  2. 在对话框中输入目标页面的地址
  3. 选中“资源的永久重定向”
  4. 点击“应用

如果是apache方法多一些,也方便一些
如果要把访问www.juhui.com的请求全部301到www.juyimeng.com

<VirtualHost www.juhui.com>
Redirect 301 / http://www.juyimeng.com/
CustomLog logs/redir "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
</VirtualHost>

上面的
Redirect 301 / http://www.juyimeng.com/
可以写为
Redirect permanent / http://www.juyimeng.com/

也可以用apache的.htaccess,怎么使.htaccess起效,点这里
.htaccess文件的内容

RewriteEngine on
rewriterule abc\.html /index\.html [R=301]

其总用是把abc.html301到index.html

用程序来做

用PHP来做301重定向

<?
Header( "HTTP/1.1 301 Moved Permanently" ); 
Header( "Location: http://www.test.com" ); 
?> 

用JSP (Java)来做301重定向

<%
response.setStatus(301);
response.setHeader( "Location", "http://www.test.com/" );
response.setHeader( "Connection", "close" );
%> 

用CGI PERL 来做301重定向

$q = new CGI;
print $q->redirect("http://www.test.com/"); 

用ASP来做301重定向

<%@ Language=VBScript %>
<% Response.Status="301 Moved Permanently"; Response.AddHeader("Location","http://www.test.com/"); %>
用ColdFusion 来做301重定向

<.cfheader statuscode="301" statustext="Moved permanently">
<.cfheader name="Location" value="http://www.test.com"> 用ASP .NET Redirect来做301重定向

用Ruby on Rails Redirect来做301重定向

def old_action
headers[“Status”] = “301 Moved Permanently”
redirect_to “http://www.test.com/”
end

html的meta refresh和javascript也可以转向

<meta http-equiv="Refresh" content="0; url=http://test.com/page.html">

<script>
window.location="http://www.test.com/test.html";
</script>

但是上述的方法不推荐

如果要Redirect的源url是html这种结尾也可以,改apache的配置,把html扩展名的文件当Php或者其他脚本来处理就可以了
AddType application/x-httpd-php .html
AddType application/x-httpd-php .htm

上述改造是否成功,可以用httpwatch来查看

apache tips

apache如何多个域名指向一个site?
用ServerAlias

<VirtualHost www.juyimeng.com>
ServerName www.juyimeng.com
ServerAdmin [email protected]
ServerAlias www.abc.com
ServerAlias www.def.com
DocumentRoot /usr/juhui/htdocs/
ErrorLog logs/juyimenng.error_log
</VirtualHost> 

如何不用.htaccess这个文件名字?

AccessFileName .config
如何让.htaccess文件起作用?
如果.htaccess文件不起作用,请检查apache的配置文件里面的
AllowOverride 设置
简单的用
AllowOverride All
最少要是
AllowOverride FileInfo

通过在客户端缓存css.js,图片等文件来加速网站浏览速度

ExpiresActive On
ExpiresByType image/gif A259200
ExpiresByType image/png A259200
ExpiresByType image/jpg A259200
ExpiresByType image/jpeg A259200
ExpiresByType text/css A259200
ExpiresByType application/x-javascript A259200
259200是3天的秒数,A的意思是从最后一个访问开始,缓存三天。

推荐一个apache+mysql+php+java等的安装文件包http://www.apachefriends.org/
方便得很,直接集成多种服务,包括
Apache、MySQL、PHP + PEAR、Perl、mod_php、mod_perl、mod_ssl、OpenSSL、phpMyAdmin、Webalizer、Mercury Mail Transport System for Win32 and NetWare Systems v3.32、JpGraph、FileZilla FTP Server、mcrypt、eAccelerator、SQLite 和 WEB-DAV + mod_auth_mysql
等,你要用的有,想到的有,没想到的也有好,测试,本地开发环境使用,谁用谁知道阿。

用telnet发邮件(支持smtp认证)

1.用telnet连到远程服务器

可以

telnet mail.test.com 25

或者

telnet mail.test.com smtp

2.跟服务器打招呼

HELO mail.test.com

服务器应该返回
250

如果服务器smtp需要验证,进行第三步,否则到第四步
3.输入

AUTH LOGIN

会一次提示你
334 VXNlcm5hbWU6

334 UGFzc3dvcmQ6
后边的内容是提示输入用户名和口令,信息是经过base64编码的
输入的用户名和口令也要经过编码,这里是一个编码、解码的工具
smtp认证通过后会显示
235 2.0.0 Authentication successful
4.写信
输入

MAIL FROM: <[email protected]>

RCPT TO: <[email protected]>

分别是发自,发往
如果正常都应该返回250
输入

DATA

开始写信

Subject:test mail
test email
.

250 2.0.0 Ok: queued as 93223136C8E
退出

QUIT

Postfix上试用通过。