学习记录

Zzzzs

  DonewsBlog  |  Donews首页  |  Donews社区  |  Donews邮箱  |  我的首页  |  联系作者  |  聚合   |  登录
  25篇文章 :: 0篇收藏:: 11篇评论:: 0个Trackbacks

公告

write to me
CURRENT MOON

License

Creative Commons Licence

The content of this blog is licensed under a Creative Commons License.

Locations of visitors to this page

文章

收藏

相册

关注

存档


正在读取评论……


2007年10月22日


    摘要:
  当Gtalk用户(假设为A)添加某一位好友(假设为B)时(第一次),B会收到这样一段消息:
<presence from='A@gmail.com' type='subscribe' to='B@gmail.com/resource'></presence>
如果B批准了A的订阅请求,会发出消息<presence to='A@example.net' type='subscribed'/>如果B拒绝了A的订阅清酒,会发出消息
<presence to='A@example.net' type='unsubscribed'/>
虽然在用户端可以接收到以上信息,但我猜测在发送订阅和处理订阅信息的同时,Gtalk 服务器端会产生一个相互的订阅信息。

当我(使用Gtalk订阅某一帐户    (全文共952字)——点击此处阅读全文


2007年10月17日


    摘要:  实现了信息的自动回复,可以把例如goog、ibm或yhoo等股票的价格作为对话的回复。  写程序的过程中,当知道如何接收消息和发送消息后,只要再加个对消息的处理就可以了。  写程序时偷懒,直接调用了以前写的查询股票价格的程序,并将查询结果返回,然后调用sendMessage()函数将结果发送给用户。  这样就好办了,可以改成任意的交互形式了。比如读取某地天气预报(Google Desktop就有),查看是否有新邮件等等吧。  仍需解决的问题:  1.我想,对于机器人这种程序,应该是发现如果有人加它,那就应该自动加对方;删除也应如此。  2.多线程。否则如果用户查询特别多,或者网络特别慢(更糟糕的是两者皆有),反馈的太慢用户说不定会认为机器人睡着了。  其他问题要在继续的学习中不断的发现和提出。    (全文共477字)——点击此处阅读全文


2007年09月05日


    摘要:小U盘传大电影时可以免去用winrar分割文件时的压缩和解压缩过程。file.pyimport sysfrom os.path import existsfileCount = 0def splitFile(fileName, partSize=1):    # 1024 * 1024 = 1048576此处阅读全文


2007年07月24日

simpleRequest.html
<!DOCTYPE html PUTLIC "-//W3C//DTD XHMTL 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Simple XMLHttpRequest</title>
    <script type="text/javascript">
    var xmlHttp;

    function createXMLHttpRequest() {
        if (window.ActiveXObject) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        } else if (window.XMLHttpRequest) {
            xmlHttp = new XMLHttpRequest();
        }
    }

    function startRequest(){
        createXMLHttpRequest();
        xmlHttp.onreadystatechange = handleStateChange;
        xmlHttp.open("GET", "simpleResponse.xml", true);
        xmlHttp.send(null);
    }

    function handleStateChange() {
        if(xmlHttp.readyState == 4) {
            if(xmlHttp.status == 200) {
                alert("The server replied with: " + xmlHttp.responseText);
            }
        }
    }

    </script>
</head>

<body>
    <form action = "#">
        <input type="button" value = "Start Basic Asynchronous Request" onclick="startRequest();" />
    </form>
</body>
</html>


simpleResponse.xml

<?xml version="1.0" encoding = "utf-8">
<abc>123334</abc>
</xml>
也可以直接只写一行文本。可以看出即使请求的是XML文件,但以responseText方式返回的只能是文本形式。

</html>



处理XML文档的属性和方法(具体介绍自己找):

属性:
childNodes
firstChild
lastChild
nextSibling
nodeValue
parentNode
previousSibling

方法:

getElementById(id) (document)
getElementsByTagName(name)
hasChildNodes()
getAttribute(name)

需要注意的是XML的层次关系,返回的是数组时要便利处理,如果只返回一个,则要在后面加[0]来得到这唯一的一个值。
例如在parseXML.html和parseXML.xml中,如果只有一个<north></north>对,那么
var northNode = xmlDoc.getElementsByTagName("north")[0];
就可以了。但我给他加了个<north></north>对,就要通过循环来得到两个north对中的全部内容了。(对于没有JavaScript调试器的机器,用alert()来调试也很管用。)
parseXML.xml
<?xml version="1.0" encoding="UTF-8"?>
<states>
<north>
    <state>Minnesota</state>
    <state>Iowa</state>
    <state>North Dakota</state>
</north>
<north>
    <state>1</state>
    <state>2</state>
    <state>3</state>
</north>
<south>
    <state>Texas</state>
    <state>Oklahoma</state>
    <state>Louisiana</state>
</south>
<east>
    <state>New York</state>
    <state>North Carolina</state>
    <state>Massachusetts</state>
</east>
<west>
    <state>California</state>
    <state>Oregon</state>
    <state>Nevada</state>
</west>
</states>

parseXML.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Parsing XML Responses with the W3C DOM</title>
<script type="text/javascript">
var xmlHttp;
var requestType = "";
function createXMLHttpRequest() {
    if (window.ActiveXObject) {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if (window.XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest();
    }
}
function startRequest(requestedList) {
    requestType = requestedList;
    createXMLHttpRequest();
    xmlHttp.onreadystatechange = handleStateChange;
    xmlHttp.open("GET", "parseXML.xml", true);
    xmlHttp.send(null);
}
function handleStateChange() {
    if(xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200) {
            if(requestType == "north") {
                listNorthStates();
            }
            else if(requestType == "all") {
                listAllStates();
            }
        }
    }
}
function listNorthStates() {
    var xmlDoc = xmlHttp.responseXML;
    var northNode = xmlDoc.getElementsByTagName("north");
    var out = "Northern States";
    var s=""
    for(var i = 0; i < northNode.length; i++) {
        var states = northNode[i].getElementsByTagName("state");
        for(var j=0; j< states.length; j++)
            s = s + states[j].childNodes[0].nodeValue + "\n";
    }
    alert(s);

    outputList("Northern States", s);
}
function listAllStates() {
    var xmlDoc = xmlHttp.responseXML;
    var allStates = xmlDoc.getElementsByTagName("state");
    outputList("All States in Document", allStates);
}
function outputList(title, states) {
    var out = title;
    var currentState = null;
    for(var i = 0; i < states.length; i++) {
        currentState = states[i];
        out = out + "\n- " + currentState.childNodes[0].nodeValue;
    }
    alert(out);

}
</script>
</head>
<body>
<h1>Process XML Document of U.S. States</h1>
<br/><br/>
<form action="#">
    <input type="button" value="View All Listed States"
    onclick="startRequest('all');"/>
<br/><br/>
    <input type="button" value="View All Listed Northern States"
    onclick="startRequest('north');"/>
</form>
</body>
</html>




    摘要:XMLHttpRequest 对象的方法和属性自己可以在网上或者书上自己找,我只说比较重要的或者容易错的地方,其他我就不翻译或者粘贴了。

onreadystatechange属性,每当状态改变时这个事件处理器就会被调用,通常是调用一个JavaScript函数
(例如
xmlHttp.onreadystatechange = handleStateChange;
是当状态发生改变时就调用handleStateChange函数,在该函数内可以通过判断状态值来做各种不同的操作。
)

readyState属性,请求的状态,五个可能的值是0 = 未初始化,1 = 正在加载, 2 = 加载完成, 3 = 交互, 4 = 完成。

responseText属性,以字符串的形式返回服务器的相应。

responseXML属性,以XML形式返回服务器的响应。这个对象可以作为一个DOM对象被分析和检测。

status属性,来自服务器的HTTP状态码(200代表     (全文共5447字)——点击此处阅读全文


2007年07月14日


    摘要:想做个有意思的课程设计,选的题目要用到PHP和AJAX,先画个好玩的东西。<?php//set up image$height = 200;$width = 200;$im = ImageCreateTrueColor($width, $height);$white = ImageColorAllocate($im, 255, 255, 255);$blue = ImageColorAllocate($im, 0, 0, 64);//draw on imageImageFill($im, 0, 0, $blue);ImageLine($im, 0, 0, $width, $height, $white);ImageString($im, 4, 50, 150, "Sales", $white);//output imageHeader('Content-type: image/png');此处阅读全文


2007年03月17日


    摘要:运行msi文件出现"不能访问Windows Installer服务。可能是你在安全模式下运行windows,或者windows Installer没有正确的安装。请和你的支持人员联系已获得帮助。"的窗口.有的警告窗口是"nsi error".而且.exe文件不能运行(内部好象也是msi的?例如QQ安装文件),不能删除. winrar.exe一下载就被感染,无法解压缩,说文件损坏.在学校服务器上直接点下载,运行,安装成功. 在学校服务器上找到两个卡巴斯基.其中一个可以安装,版本太低,杀不出病毒,有无法升级.另一个高版本不能安装. 重装两次系统,两个不同版本,都没有解决. 网上说是"nsi error病毒",我觉得它的麻烦比灰鸽子大多了,因为连杀毒软件都没办法装!怎么杀? 短期内电脑只能睡觉了。。。。。      (全文共43字)——点击此处阅读全文


2007年03月09日


    摘要:  单节打出40比7的比分,使球队反败为胜,这在大超联赛史上是极其少见的。赛后东北师范大学的王春教练也掩饰不住内心的喜悦,对师大的队员提出了集体表扬。王春教练认为本场比赛取胜的关键在于防守。“上半场,队员们开始打得很急,普遍发挥失常,没有发挥出自己应有的水平,比赛曾一度陷入被动。中场休息时,我对球队的战术作出了调整,要求队员对对方有球队员进行夹击防守。下半场正是防守的成功给球队带来多次快攻的机会,场上的被动局面得到扭转。队员的信心找回来了,比赛也打得顺利得多。”   在谈到队员的表现时,王春教练认为,目前队员的状态调整得还可以。这两场比赛也打得比较顺利。“比赛中球队面临困境时,老队员起到了很重要的作用,稳定了军心。李宋在内线的防守给对手制造了很大的压力。”谈到本场比赛表现突出但没有首发的丛晨时,王教练说:“丛晨这名队员的特点更适合打第六人。虽然没有首发,但他是球队不可或缺的一员。他在场上的出色表现是与平时的刻苦训练分不开的。”他强调,“队员在场上不仅仅是代表个人,而且还要体现出东师    (全文共729字)——点击此处阅读全文


2007年02月28日


    摘要:Python的eval()函数可以把字符串“123”变成数字类型的123,PP3E上说它很危险,还可以执行其他命令! 在家没事,做了些试验。果然,如果python写的cgi程序中如果使用eval()而非int()来转换诸如年龄这样的输入框中的内容时是非常危险的。不仅可以看见列出系统的全部文件,还可以删除文件,察看文件源代码。 试着写了个程序,想把本地的脚本文件同过这样的形式一行一行的写到服务器的某个文件里,可最后失败在无法输入换行符"\n",在提交的语句里只要有换行符,就会出现EOL的出错提示,换了编码方式还是没能成功。 在网吧上网不方便,等开学再把过程写下来。    (全文共1294字)——点击此处阅读全文


2006年12月14日


    摘要:

买Head First Java的时候把书后面的回执添完寄了回去,早以为不会有什么结果了呢.

过了N个月后的今天收到一个信封,里面装有2007年的日历,小巧而精致,上面同样印有O'REILLY计算机系列图书的动物图标.还附带一张图书价格清单.

我觉得O'REILLY的书内容好,质量高,看起来也很舒服,但价格有些贵.

    (全文共181字)——点击此处阅读全文


2006年12月05日


    摘要:        上次写的得到某网页内所有URL和相应链接名称的程序时在脑子里留了个问题,给我的感觉很不好,想想就烦,所以要重新实现一下.
        那个程序是分别得到某个网页内的全部URL和链接名的,然后被分别存储在两个不同的list里面,当需要用的时候要用相同的index分别到两个list里面去取数据.虽然不会出现两个list里相应index内的内容不相对应的问题,但给我的心里感觉是不好的.
       重写的如下.

# -*- coding: utf-8 -*-
import re

html='''<a href="www.website.com">1</a>
    <a href="WWW.website.com">    (全文共2671字)——点击此处阅读全文


2006年12月04日


    摘要:《The Art of Assembly Language》
《汇编语言编程艺术》


相关下载
http://www.jmsonline.com.cn/qhwkdownpage/hbyy2005.1.21.rar

这边书看起来比那本《IBM-PC汇编语言程序设计》好的多。

想起老师讲的课就痛苦,还好发现了它,让我看见了光明。    (全文共490字)——点击此处阅读全文


2006年11月30日


    摘要:

虽然在学校没有电视可看,可是计算机已经能够给我们提供比电视更方便、更丰富的信息。刚下载了第八届中韩歌会的高清晰版,觉得里面基本没有能让人眼前一亮的节目,这时计算机的好处又可以体现出来了--不想看的可以快进,电视则不行。

有人说在国家问题上一定要大是大非,我不知道该怎么评价中国大陆的歌星,说好吧我都觉得心虚,说比人家差吧又怕丢了国人的面子,还好韩国出演的歌手也不都是最有名的,这样倒是可以稍微拉近一点中韩两国娱乐界艺人的差距。

我是觉得这个歌会的可看性不强,这种大型盛会更不会有什么娱乐性了。可看性比不上好一点的《同一首歌》,娱乐性更不用说,肯定比不过《情书》,所以还不如去看这两个节目有意思。

不过,这种活动对中韩两国的文化交流、民族间的友好和平应该有促进作用吧。

    (全文共364字)——点击此处阅读全文


2006年11月29日


    摘要:几星期前学了一点《精通UNIX Shell脚本编程》,在echo命令里用\c \n \b命令时都是直接把这些字符输出,而不是执行相应的继续输出不换行 换行 退格,用print命令时就可以。用了好几个书中的源代码都无法得到相应的结果。今天再编辑一个shell又出了问题,可以肯定自己根本没输入错误,作者都说了:Changing the the "<<" to "<<-" causes bash to ignore the leading whitespace in the here script. The output from the cat command will not contain any of the leading spaces or tab characters.可是我的输出就是包含每行开头的空格。既然在文件里输出的有问题,直接在shell下执行个试试吧。me@my-laptop:~$ cat <&    (全文共1849字)——点击此处阅读全文