2007年6月7日
#
最近看一些代码时,边看边改代码,发现getJSON这个方法没法正常使用。
1 var sURL= "http://api.xxxxxx.com/services/feeds/
2 xxxxxxx?format=json&callback=?";
3 $.getJSON(sURL, function(data) {
4 // do something with the JSON data returned
5 }); // end get
究其原因,发现url里有个callback,这里使用的是JSONP,一种跨域技术。
网上搜了下JSONP,多数都是在讲如何使用,而没有说明为什么它能跨域,且没有说明url服务器端的代码时如何生成的。
这方面,上面的文章里有比较详细的描述。
1 function jsonp(url,callback,name, query)
2 {
3 if (url.indexOf("?") > -1)
4 url += "&jsonp="
5 else
6 url += "?jsonp="
7 url += name + "&";
8 if (query)
9 url += encodeURIComponent(query) + "&";
10 url += new Date().getTime().toString(); // prevent caching
11
12 var script = document.createElement("script");
13 script.setAttribute("src",url);
14 script.setAttribute("type","text/javascript");
15 document.body.appendChild(script);
16 }
客户端的javascript代码会有如上的操作,代码不难,很容易理解,也就是加了一个script标签。
而服务器端会返回
callbackFunction( { "x": 10, "y": 15} );
这样的数据。
这其实是一段javascript代码,
callbackFunction是方法名,{ "x": 10, "y": 15}是参数。客户端代码里必须要有callbackFunction方法的定义。
1 public partial class JSONP : System.Web.UI.Page
2 {
3 protected void Page_Load(object sender, EventArgs e)
4 {
5 if (!string.IsNullOrEmpty(Request.QueryString["jsonp"]) )
6 this.JsonPCallback();
7 }
8
9 public void JsonPCallback()
10 {
11 string Callback = Request.QueryString["jsonp"];
12 if (!string.IsNullOrEmpty(Callback))
13 {
14 // *** Do whatever you need
15 Response.Write(Callback + "( {\"x\":10 , \"y\":100} );");
16 }
17
18 Response.End();
19 }
20 }
之后客户端会调用
callbackFunction。
使用JQuery的getJSON方法后,callback部分会变成如下形式。
callback=jQuery1710461701650187642_1326201333794&_=1326201356534
callbackFunction自然就是jQuery1710461701650187642_1326201333794部分了。
返回来的数据也会是
jQuery1710461701650187642_1326201333794( { "x": 10, "y": 15} ) 这种形式。
最后JQuery会调用匿名函数function(data),data即为json数据。
JQuery已经将客户端部分实现了,服务器端也得遵循同样的规则才能实现跨域。
*这里有一点,JQuery如何将匿名函数换名字的?有哪位大侠知道的,请用简单的语言讲解下。
记录一个小问题。
在Win7系统上装一个软件时失败,提示2个DLL没有注册成功。
于是准备手动注册。
运行
cd C:\WINDOWS\system32\
regsvr32 xxx.dll
后出现如下错误:
The module "xxx.dll" was loaded but the call to DllRegisterServer failed with error code 0x80004005.
网上搜索一番后,找到如下地址
http://forums.cnet.com/7723-12546_102-237219.html
其中有条说run as administrator,这是权限问题,不过我登陆的就是管理员账号,应该不存在这样的问题。
抱着姑且一试的想法,写了个cmd文件,右键run as administrator后,居然真的注册成功了!
看来Win7系统真的很安全,就算是管理员,也得来个run as administrator后才能做一些事,是在向sudo学习么?
最近试着用html5在页面加载mp3文件。在chrome下测试通过了,偶然的用firefox4打开,居然没法用……
怀疑哪里写错了,可audio标签也就几个属性而已。
几经搜索,最后发现的真相让我很崩溃……firefox的audio不支持播放mp3。
Codec support in modern desktop browsers Browser | Ogg Vorbis | MP3 | WAV |
FireFox 3.6+ | ✓ |
| ✓ |
Safari 5+ |
| ✓ | ✓ |
Chrome 6 | ✓ | ✓ |
|
Opera 10.5+ | ✓ |
| ✓ |
Internet Explorer 9 (beta) |
| ✓ | ✓ |
出自 http://html5doctor.com/native-audio-in-the-browser/
看了这个表之后,虽然很多浏览器都支持html5,但如果你想播放一个文件,任何一种格式都不能让所有浏览器正常播放。
哈哈哈,html5定义了媒体标签,但没规定媒体的默认编码格式,导致各浏览器各自为政。
真是不方便……
GD画图时通常显示文字是用imagettftext方法,但它的参数必须是UTF-8编码的。
此时得注意php文件的编码
1.如果是UTF-8的,直接传硬编码字符串就可正常显示
2.如果是gb2312或其它的,则必须进行转换 mb_convert_encoding($str, 'UTF-8')
另外,还有一种情况,JIS-mapped Japanese Font Support被开启时,imagettftext就必须传SJIS编码,传UTF-8反而会乱码。
此时必须将其转码后传入,mb_convert_encoding($sStr,"SJIS", "UTF-8")。
以上。
在次提供TurboC3.0英文版下载。
TCPP.rar
上网须谨慎,下载请杀毒。
TC3.0窗口模式,边框有中文乱码。全屏就没有。
原因是当前的code page是中文的936,可以在cmd中用chcp命令查看。
利用命令 chcp 437 改为老美的,就可以了。
具体操作
启动TCPP.exe->File->DOS Shell->chcp 437->exit
回到TCPP后就没乱码了。
但这个方法治标不治本,每次启动TCPP仍是乱码。
另一种方法
在TCPP窗口的左上角单击,出现菜单(包含最大化,最小化,属性等),在默认选项的第一个页面“选项”里Default code page选择437 (OEM United Status)。因为我目前使用的是英文系统,不知道中文系统中是否有该项。如果没有该项,请自行寻找方法让它有。
之后,一切OK,至少我OK了……
中铁快运 跨省 4.3元/KG
一般3天到,但有时货运量大,无法确定到货时间
上午10:30电话过去,说下午2点后才能来取货,我说下午不在,比较紧急,实际上取货师傅11点多就到了
来取货的人有2人,开的是面包车,能一次运走较多货物
货物较散时会收15元包装费。
一般人不支持货到付款,只有大客户才支持。
先交费,多退少补(一般会多收),发票不当场发,之后会联系你或邮寄给送货地址(具体不详)。
我是当天要离开,没法将发票给我,他们说会将发票和多的钱放到包装的货物里。
顺丰快递 跨省 1KG内20元,超过部分12元/KG
到货很快,合肥到杭州一天内能送到。
来取货的只有1人,开电动车,货物较多时无法一次取完。
支持货到付款,无包装费。
客服说1小时内到,通常半小时左右会有取货人来电话联系,之后看情况,有时候半小时能到,有时候很拖。
已经有人做了介绍
http://www.hzlzh.com/sina-app-engine-beta/
对我这种平时写点小应用自娱自乐的个人开发者来说,最重要的变化就是SAE不再免费了
1RMB=50云豆
SAE进入beta后发放给内测开发者5000云豆,我去帐号里查看时剩下4945,感觉用得有些快
平时也没写多少东西,也就10多个php页面,以后还是侧重玩GAE吧……
虽然SAE相比GAE规模不大,但也有些不错的地方
譬如cron,同样的5min间隔执行的东西,SAE比GAE更准些
譬如客户端,虽然SAE没法在本地执行代码,但能从服务器下载应用的最新代码很不错
之前GAE写的东西,有些是在公司电脑里写的,有些是在家里写的,现在都不知道家中电脑里的代码是不是最新的了
SAE进入beta后,能在线查看修改代码,使用的编辑器是ecoder,
http://ecoder.quintalinda.com/
SAE很多其他功能还没用到,就不多做评价了
以下说点胡话吧
国内整体环境有些急功近利,运营1年多了,没任何收入,SAE也是国内第一个吃螃蟹的,能否盈利也不清楚,投资者沉不住气,SAE团队大概也是顶不住上层的压力,迫不得已开始收费计划。
总感觉SAE还没成熟到能收费的阶段,因为SAE上的应用并不多,我只见到10多个而已
应用能减少建站难度。应用少会限制SAE的用途,SAE面向的群体是什么呢,现在能干什么呢?个人的话,租php空间来干嘛,主要是搭博客,建论坛,搞CMS;想创业的,大概不会选SAE,因为限制太多,不如租主机,自由度更高;企业的话,注重的是稳定,现在还不会尝试新出来的SAE
开发SAE开源项目,SAE会奖励云豆。应用不多这点也能靠收费来激发开发者多发开些SAE开源项目来弥补,不知效果会如何
现在还真不知道SAE会发展得如何……
预计近期SAE应该会开发注册吧,新帐号里应该会有一些云豆,给开发者试用,然后期待这些新鲜血液带来更多付费用户和SAE开源项目,希望SAE能发展下去
我出差的时候(是指在日本)
张X(日本那边的人)说:“这个叫李X的代码写得真烂啊。”
我:“他是我室友。”过了一会
张X:“这个叫唐XX的写得更烂。”
我:“这个是我前室友。”再过了一会
张X很无奈地问我:“这个叫郑X一定是你的前前室友吧?”
我。。。
今天遇到一个问题,写了一个页面,抓取其他某站点的内容,然后重组成新的页面,主要是一个图片的展示(gallery)。
但是该站点做了防盗链,图片无法显示,403.
这种盗链主要是靠Referer来实现的,也就是说更改了Referer就能显示图片,但Referer不是在页面编码能解决的。
Referer是浏览器发出的,只能更改浏览器才能更改Referer。
firefox有一个插件refcontrol,可以做到这一点,不过不是我要说的
继续研究,该站提供一种embed功能,供其他页面调用,此时就能允许其他站点直接显示图片。
一般网站是不提供这种功能的,所以下面方法并不是所有网站适用的。
通过对比header内容,最终知道是它在cookie里设定了一个字段,以此来判别。
那么,只要我设定该值即可。
两种方法
1.服务器端设定set-cookie,试验证明,此法不可行,主要是domain无法更改到对应站点的domain下
2.客户端用javascript设定document.cookie。仍不行……,原因不明,大概也是无法改domain吧
这下只剩最后一招了,在我的页面里直接调用embed页面,让它替我设cookie,如何调用呢?
首先想到用frame,试了下,frame和图片几乎同时发出request,这样cookie还没设定,请求图片肯定403.
又想到onload,呃,是在body完了后才调用,肯定不行
后来看到,html的head里的文件先下载完毕后,再请求图片。这点我以前也提到过,
javascript代码的执行顺序
head里主要有2种文件调用,js和css。
这里就不是什么正规写法了,因为embed页面既不是js文件,也不是css文件,但浏览器是不会管这个的,直接调用。
一般也不会这么用……旁门左道
先用了js这种,在src里写上embed页面地址,可以显示图片,但有个javascript错误。
接着改进,用css的,会发现最终调用了两次,一次是在开始,还有一次是在所有其他head文件全下载完之后
有些小影响,但问题不大。
时间比较晚,就懒得加上试验代码,OK,就这样,完工。
1.
http://www.jsforest.org/2010/07/29/js-this指向的小测试/
这个说是在考this的指向,实际上是在考变量的作用域。
先说其中第二题。o是一个对象,doIt是它的方法,那么doIt的this自然指向o
第二题结果为10无悬念。
再来看第一题,在doIt的内部加入了一个setTimeout方法,setTimeout又调用了一个匿名方法。
在javascript中,函数(或方法)也是对象,那么匿名方法中的this应该指向doIt,结果为20.
实际上将代码跑了下,第一题结果为5.哪里错了?
问题出在setTimeout。
window.setTimeout(code, delay)
When
code is executed, it is executed in the context of the Window object. If
code is a function, the Window object is the value of the
this keyword. If
code is a string, it is evaluated in the global scope with the Window object as the only object on the scope chain. This is true even if the call to
setTimeout( ) occurred within a function with a longer scope chain.
这段话说明了setTimeout不管在哪里执行,其作用域都是在Window下,this一直指向Window。
第一题的x=5是全局变量,Window作用域下的。
这题说是在考this的指向,原来最终考的是个setTimeout的问题……被耍了
2.
http://www.css88.com/archives/2429
看到这个问题,首先注意到的是第一个用了
===,第二个没有,而javascript是个弱类型语言,使用provisionalTable[item]取值没判断类型。
然后,试着找了Object中判断值是否存在的方法,譬如provisionalTable.item ,in等都没判断类型。
想法一,重载[]方法,不过,这个怎么重载?又不是个function
想法二,数字是利用toString()转成字符串的,那么重载Number.prototype.toString=function(){return this;}; 6=='6'返回false了,但provisionalTable[item]取值还是一样
想法三,provisionalTable同时存在6和'6'时,provisionalTable[item]能区分这两者,那么在provisionalTable中加入一个设为true时,将另一个也加入,并设为false。但这样会有效率问题,事实上,acsu提出的方法里仅仅加了个typeof方法,就将效率损失殆尽。
突然想到,这个问题不是找解决方法,而是找最优方法
嗯,作罢,效率问题不是我等小民该考虑的,这个必须从根本上重构javascript才行
不过思考下,还是能学到很多东西的
http://code.google.com/p/pubsubhubbub/
pubsubhubbub是google开发的一种Atom和RSS增强协议,能够接近实时发布信息。
也就是说,如果blogjava支持了pubsubhubbub,我在这里发布了博客,你就可以在你的阅读器里很快看到我的文章。
现在只有部分博客服务商提供了pubsubhubbub功能,譬如WordPress,FriendFeed,livedoor等。
pubsubhubbub的原理很简单。它由3部分组成,pub,sub,hub(最后的bub不是的,hubbub是骚动的意思)。
pub可以看成是博客,sub是阅读器,而hub是一个中转站。通常是由sub向pub请求内容,而pubsubhubbub是由sub想hub请求,hub再向pub请求,多一层hub的作用是降低pub的压力。hub收到pub的更新后,会向sub发布最新的内容。
因为不是pub直接向sub发布,所以这里说的“接近”实时发布信息。
那么如何让博客支持pubsubhubbub呢?只需要建立一个hub服务器,然后在生产rss时加入
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/>
http://pubsubhubbub.appspot.com就是hub服务器的地址。
<?xml version="1.0"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/>
</channel>
</rss>
因此判断博客是否正常pubsubhubbub,也很简单,查看
http://www.blogjava.net/liwei/rss的代码即可,没有hub的影子。
再看一个支持的例子
http://rasjacobson.wordpress.com/feed/ ,里面有一句 <atom:link rel='hub' href='http://rasjacobson.wordpress.com/?pushpress=hub'/> ,这个是支持的。
具体的hub实现请查看
http://code.google.com/p/pubsubhubbub/wiki/Hubs
我这里只是个人玩玩而已,没实力自己搭hub服务器。不过可以借助他人提供的hub服务器,譬如刚才appspot的。
知道了原理,接下来就好办。
因为要改代码才能修改生产的RSS,所以blogjava这种博客服务商不提供pubsubhubbub功能的话,我们这些用户是无能为力的。
但自建的独立博客是能简单支持。等咱啥时候有闲钱了,再去做吧……
deploy时会出现如下信息
WARNING appengine_rpc.py:399 ssl module not found.
Without the ssl module, the identity of the remote host cannot be verified, and
connections may NOT be secure. To fix this, please install the ssl module from
http://pypi.python.org/pypi/ssl .
To learn more, see http://code.google.com/appengine/kb/general.html#rpcssl
当打开上面的页面时会自动转到 http://code.google.com/intl/zh-CN/appengine/kb/general.html#rpcssl ,在这里看不到任何帮助,因为google还没将这段帮助信息翻译成中文Orz,可以到 http://code.google.com/intl/en/appengine/kb/general.html#rpcssl 查看。这里说明在用python appcfg.py update 命令时添加 --insecure
后就不会有问题。但我用GAE Launcher也无法修改命令。再让我回到没有Launcher,直接用命令行的时代,还真难适应。作罢。
我试着安装了ssl 模块,但无法编译。网上找到了这个页面,http://canofy.javaeye.com/blog/651968 ,该同学和我遇到了同样的问题,并且装了cygwin。
貌似之后还有其他问题。不谈。
今天,我突然发现,deploy时出现的ssl信息,完全可以忽视,对,可以忽视 ,之后仍会update成功的。
通常出现上述ssl提示后,console会没有任何显示,此时不要关闭console,再次deploy时会出现如下信息
Error 409: --- begin server output ---
Another transaction by user xxxxxx is already in progress for this app and major version. That user can undo the transaction with appcfg.py's "rollback" command.
--- end server output ---
这表明之前的update仍在进行。请安心等待……
最后,好嘛,一个不是问题的问题,花了我不少时间……
这个不弄明白,代码出问题了也不难以解决。
《learning Jquery 1.3》p15有一句 JavaScript code is generally run as soon as it is encountered in the browser
也就是说,浏览器遇到一个语句就立刻解析。貌似这个问题很快就解决了。
但javascript的写法相当多,譬如网上很多人讨论的$(document).ready(和<body onload= 执行先后问题
在p16中,提到onload to run after the page is completely loaded.即onload在页面完全加载完之后执行
ready是firing once the DOM is loaded—without waiting for images 。ready在DOM加载完,图片未加载时执行。
也即ready在onload之前调用。
这里就涉及html页面的加载顺序问题。网上搜到2篇相关文章。
浏览器做了什么?
http://www.cnblogs.com/guilipan/archive/2010/01/06/1640145.html
Javascript在页面加载时的执行顺序
http://dancewithnet.com/2007/03/22/order-of-execution-of-javascript-on-web/
看完之后,比之前明白了些,但具体的关系还是没能理解。
一个html页面包括head和body两个部分,head部会调用外部CSS和JS文件,body部会调用图片,音视频等内容。
下载顺序是html ->CSS JS ->图片等。
解析顺序是html(内部是按序执行head->body)->DOM生成 ->ready执行 ->图片下载 ->body.onload
将以上两者结合,html ->head(CSS JS) ->body->DOM生成 ->ready执行 ->图片下载 ->body.onload
其中head和body部都可能包含js,按代码顺序执行。
这里就有一个疑问,浏览器会等待JS等文件下载完后,并顺序执行该JS后再继续执行之后的html代码么?
按想应该不会,不然JS文件过大,会影响html页面渲染的速度,两者应该是异步的。
但这个异步就会将之前总结的顺序搅乱。譬如onload都执行完了,包含ready的JS还没下完,此时会发生什么?
这里说得有问题,JS未下载完,onload是不会执行的。
有待继续总结……
[zz]30岁软件工程师的迷茫和悲哀
http://bbs2.ustc.edu.cn/cgi/bbstcon?board=Job&file=M.1267231721.A
文章很长,就不转载了。
其中有一段
---------------------------------------------------------
35岁左右还在从事软硬件开发工作的仍有一大堆,分析这些仍然从事开发的朋友,
基本上都有以下特点:
1痴迷工作或者痴迷电脑,晚上八点到十二点的这段时间,基本上是在电脑桌或工作台前
渡过的。
2不喜欢与人交住,朋友很少,常联系的人不超过五个。
3与朋友交往时谈工作多,但一般不主动谈钱。
4体型偏胖或偏廋,不在正常区间。
5无未来计划,对五年后自已生活怎么样、从事什么工作说不清楚。
6俭省,从不乱花钱。
---------------------------------------------------------
和我很相似……嗯,我也确实想继续做开发,但人要生活,不可能一辈子这样
迷茫和悲哀吧
试用了下heroku,结果安装时就出问题了
windows环境,按照
http://docs.heroku.com/windows 装了
msysgit和
1.8.6 one click ruby installer
D:\Ruby>gem install heroku
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
timed out (http://gems.rubyforge.org/gems/json_pure-1.2.0.gem)
大概是网络不行,于是下载后本地安装
D:\Ruby>gem install "C:\Documents and Settings\wli\My Documents\Downloa
ds\heroku-1.8.0.gem"
ERROR: While executing gem ... (URI::InvalidURIError)
bad URI(is not URI?): C:/Documents and Settings/wli/My Documents/Do
wnloads/heroku-1.8.0.gem
不行
D:\Ruby>gem install C:\Documents and Settings\wli\My Documents\Download
s\heroku-1.8.0.gem
ERROR: could not find gem C:\Documents locally or in a repository
ERROR: could not find gem and locally or in a repository
ERROR: While executing gem ... (RegexpError)
Invalid escape character syntax: /\ASettings\wli\My\Z/
还是不行,猜测是路径空格的问题
D:\Ruby>gem install E:/json_pure-1.2.0.gem
Successfully installed json_pure-1.2.0
1 gem installed
Installing ri documentation for json_pure-1.2.0...
Installing RDoc documentation for json_pure-1.2.0...
OK,成功
如此
D:\Ruby>gem install E:/heroku-1.8.0.gem
Successfully installed heroku-1.8.0
1 gem installed
Installing ri documentation for heroku-1.8.0...
Installing RDoc documentation for heroku-1.8.0...
之前看小众软件,发现一个游戏 http://www.appinn.com/vitamini-game/ ,看到游戏作者过来留言,还特意用google翻译成中文,说只要在twitter上follow他就可以拿游戏完整版。
我就试了下。当时是1月21日,很久没看到回信,就忘了,今天突然看到他的回信,说他女友在他们结婚前给了他一周时间,就像电影《The Boat that Rocked》。原文 My girl left me a week before our wedding :-) Just like in the "The Boat that Rocked" film. 这是他在解释为何这么晚才回信。不过这句话我有些不明白的是,这一周是指哪一周?他是否已结婚了?
好吧,先不管这些,他公布了游戏完全版的地址,并说游戏很快就会免费,以下地址可随意使用。
http://www.vitaminigame.com/friends/
另外,Google昨天发布了Google Buzz,可在邮箱和手机上使用。不过我的常用邮箱里没出现(日文界面)。另外2个邮箱出现了,这两个邮箱都选用的英文界面。Google的很多新功能都先出现在英文界面里,于是将日文界面换成英文的,不过Buzz仍然没出现。想必很快就会有人如何调出Buzz了吧。
如同twitter一样,Buzz对我意义也不大,仅是尝鲜而已……
昨天
SAE第二批邀请码申请和发放开始 (
已结束)
http://blog.sae.sina.com.cn/?p=50
今天申请了数次,终于得到了邀请码!
申请地址
http://sae.sina.com.cn/?m=inviterequest
为了更快申请到,有些地方时必须注意的
1.个人博客这一栏不是没有红星标记,不是必须的,但不写,基本上得不到
申请得早不一定能得到邀请码。
我昨晚9点多申请过一次,没写blog,今天看到别人今天申请的都收到邀请码了,就知道希望不大。仔细看了下,那些人都有自己的网站,开发过web。
有Web开发经验者优先发放就是由blog体现出来的。另外,blog和web没关系也可以写,譬如我的这个blog就没几篇和web有关的。
虽然我用过GAE,但相关内容没写在blog上,一样获得了邀请码。
我总共申请了4次,主要不同点就在于个人博客那一栏。
昨晚9点多申请了第一次。没写blog,没收到邀请码。
第二次没写blog,没收到邀请码。
第三次blog地址写错,没收到邀请码。
今天下午3点多,申请了第四次,写上blog,6点半左右收到了邀请码邮件。
2.邮箱申请过一次后,就没法再申请了,如果想重新填写申请内容,就得换个邮箱。
3.邀请码申请和注册时的内容可以不同。
4.必须要有手机,接收短信验证码。
以上。
祝各位喜欢尝鲜者能顺利申请到邀请码!
hax01tips
注意:本文之后极有可能设为私有
题目
hax01
Your mission is the following: Simply enter a URL into the box. The domain of the URL must be or end with 'nasa.gov'. The URL will be fetched right away. The content returned should contain the string: "2200178118" in the first 10 Kbytes of data. 404/403/etc error pages are not accepted. Remember, do not do anything illegal. Make sure you type the right URL, do not guess.
Hint: google is your friend.
http://google.com/search?q=site:nasa.gov
当时我的思路是找出所有以nasa.gov结尾的域名,然后遍历这些网址。之后我真的写了个python程序,取了google检索出来的前1000个页面,取出域名,保存起来,去除重复的有500多个。接着,读取html页面,判断是否还有字符串。其间,遇到了个网速的问题,超时后经常会跑到电信的114搜索上去。验证了170多个页面后,我发现自己理解错题目了,这里的URL并不是指URL以nasa.gov结尾,而是指URL的域名以nasa.gov结尾。我无语了,这相当于域名下的所有网页都有可能。这个工作量巨大得几乎是不可能的。暂时中止。
以下代码可供参考,修改了n次,可能现在已经没法直接运行。
2.5
1from urllib import FancyURLopener
2import urllib2
3import sys
4import re
5import locale
6"""
7class MyOpener(FancyURLopener):
8 version = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11)Gecko/20071127 Firefox/2.0.0.11'
9
10res = re.compile(r'(([a-zA-Z]+\.)+nasa.gov)')
11
12myopener = MyOpener()
13url = 'http://www.google.co.jp/search?&num=100&as_qdr=all&as_occt=any&as_sitesearch=nasa.gov'
14li = []
15for i in range(0, 10):
16 url = url + '&start=' + str(i*100)
17 page = myopener.open(url)
18 str1 = page.read()
19 for aItem in res.findall(str1):
20 if not aItem[0] in li:
21 li.append(aItem[0])
22"""
23with open('nasa.txt') as li:
24#li = open('nasa.txt')
25#print li.count
26 m = 0
27 for a in li:
28 #print 'http://'+a
29 m = m + 1
30 print m
31 url = a
32 req = urllib2.Request(url)
33 try:
34 response = urllib2.urlopen(req)
35 the_page = response.read()
36 with open(url + '.txt') as nasa:
37 write(the_page)
38 if the_page.find(r'daohang.118114.cn') <> -1 :
39 print '114'
40 elif the_page.find('2200178118', 0, 10240) <> -1 :
41 print url
42 else :
43 print ''
44 except urllib2.URLError, e:
45 print e.reason
46
47"""
48#gUrl = 'http://www.google.co.jp/search?hl=ja&source=hp&q=site%3Anasa.gov&lr=&aq=f&oq='
49#google = urllib.urlopen(gUrl)
50#str = google.read()
51for str in open('sitenasa_gov.htm'):
52 for aItem in res.findall(str):
53 print aItem[0]
54
55#print str
56str = 'www.xxx.nasa.gov/wwf.nasa.gov'
57
58"""
59
60
61#2200178118
62
3.1
1from urllib.request import FancyURLopener
2import urllib
3import sys
4import re
5import locale
6"""
7class MyOpener(FancyURLopener):
8 version = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11)Gecko/20071127 Firefox/2.0.0.11'
9
10res = re.compile(r'(([a-zA-Z]+\.)+nasa.gov)')
11
12myopener = MyOpener()
13url = 'http://www.google.co.jp/search?&num=100&as_qdr=all&as_occt=any&as_sitesearch=nasa.gov'
14li = []
15for i in range(0, 10):
16 url = url + '&start=' + str(i*100)
17 page = myopener.open(url)
18 str1 = page.read()
19 for aItem in res.findall(str1):
20 if not aItem[0] in li:
21 li.append(aItem[0])
22"""
23fiPath = sys.argv[1]
24with open(fiPath) as li:
25#li = open('nasa.txt')
26#print li.count
27 m = 0
28 for a in li:
29 #print 'http://'+a
30 m = m + 1
31 #print m
32 url = a
33 req = urllib.request.Request(url)
34 try:
35 response = urllib.request.urlopen(req)
36 the_page = response.read()
37 with open(url[7:-1] + '.txt', 'wb') as nasa:
38 nasa.write(the_page)
39 nasa.flush()
40 if the_page.decode('utf8').find(r'icc.qonc.com') != -1:
41 print('114')
42 elif the_page.decode('utf8').find('2200178118', 0, 10240) != -1:
43 print(url)
44 else :
45 print('')
46 except urllib.error.URLError as e:
47 print(e.code)
48 except UnicodeDecodeError as UDE:
49 print(UDE)
50
51"""
52#gUrl = 'http://www.google.co.jp/search?hl=ja&source=hp&q=site%3Anasa.gov&lr=&aq=f&oq='
53#google = urllib.urlopen(gUrl)
54#str = google.read()
55for str in open('sitenasa_gov.htm'):
56 for aItem in res.findall(str):
57 print aItem[0]
58
59#print str
60str = 'www.xxx.nasa.gov/wwf.nasa.gov'
61
62"""
63
64
65#2200178118
66
而后,过了大概几个月,变换思路,解决,意外的简单……
事实上,只要向服务器提交数据,一般服务器也会将该数据返回到页面上。该题最后的hint不是让我们来搜该域名,而是告诉我们怎样在google.com的页面上显示我们想要的数据。譬如
http://www.google.co.jp/search?q=2200178118 该页面的前10K里应该包含了该字符串。接下来,我们只需要在nasa.gov上找个页面提交数据就行了。
over
以前曾写过PL/SQL,当时还是第一次接触,什么都不明白
顺手写了篇 《Oracle内建包UTL_FILE使用说明 》的博文,没想到还被转载(譬如百度搜索utl_file,第一篇就是,不过没写我的出处,可惜……)
http://www.blogjava.net/liwei/archive/2007/01/10/92902.html
当时项目做完就没接触PL/SQL了,时隔2年半,又要写PL/SQL了,而且遇到的问题居然还是和UTL_FILE有关。
于是上网找了些资料
http://www.shift-the-oracle.com/plsql/utl_file/utl_file_dir.html
http://www.shift-the-oracle.com/plsql/utl_file/create-directory.html
日文的,不得不说,日本人做事实在是认真,资料非常详细,看完之后,我就觉得我是高手了,可以整理点东西出来教别人了……哈哈
废话少说,开始
现在一般跑UTL_FILE.FOPEN时会出现ORA-29280的错误,出现这个错误主要有2个原因
1.文件夹没有读写权限
2.文件夹没有进行Oracle读写配置
注意:这里讨论的Oracle是在Unix类(包括linux,Solaris等)主机下安装的。
对于第1个原因,直接设定文件夹权限即可,譬如
# chmod 700 /u05/file_storage/recv_dir
这个没啥好说,不是我要说的重点。
第2个原因,可以好好说说。
Oracle进行文件夹读写配置有2种方式
1.设定UTL_FILE_DIR
2.使用DIRECTORY 对象
1.设定UTL_FILE_DIR
Oracle 8i之前,貌似没有DIRECTORY这个概念,所以只有一种方式。
编辑 initORACLE_SID.ora 文件(ORACLE_SID是个变数,因DB设定有所不同),添加
UTL_FILE_DIR='/u05/file_storage/recv_dir','/u05/file_storage/send_dir'
即可。
Oracle 9i之后还可以利用ALTER SYSTEM 命令进行设定
ALTER SYSTEM SET
UTL_FILE_DIR='/u05/file_storage/recv_dir','/u05/file_storage/send_dir'
SCOPE = SPFILE ;
也可以用命令来确认设定是否正确
SELECT NAME, VALUE FROM V$PARAMETER2 WHERE NAME='utl_file_dir' ;
注意:Oracle 8i 之后的DB不推荐使用这种方式,主要是情报泄露方面,日本很在意这个。
另外,让所有文件夹有效可使用('*')。
这种方法不方便的就是,设定了之后必须重启Oracle才能使设定有效。
使用例
CREATE OR REPLACE PROCEDURE RIVUS.UTL_FILE_DIR_WRITE_SAMPLE
AS
vHandle UTL_FILE.FILE_TYPE;
vDirname VARCHAR2(250);
vFilename VARCHAR2(250);
vOutput VARCHAR2(32767);
BEGIN
vDirname := '/u05/file_storage/send_dir'; -- 绝对路径
vFilename := 'test.txt';
vHandle := UTL_FILE.FOPEN(vDirname ,vFilename,'w', 32767);
vOutput := '利用 UTL_FILE_DIR 进行的文件处理';
UTL_FILE.PUT_LINE(vHandle, vOutput);
UTL_FILE.FCLOSE(vHandle);
EXCEPTION WHEN OTHERS THEN
UTL_FILE.FCLOSE_ALL;
RAISE;
END;
2.使用DIRECTORY 对象
从Oracle 9i 开始UTL_FILE就能使用CREATE DIRECTORY了。
首先文件夹必须存在,要有权限,我就不多说了。
然后做成DIRECTORY 对象
CREATE DIRECTORY recv_area AS '/u05/file_storage/recv_dir';
CREATE DIRECTORY send_area AS '/u05/file_storage/send_dir';
当recv_area已存在时,会出错,可使用下面这句
CREATE OR REPLACE DIRECTORY recv_area AS '/u05/file_storage/recv_dir';
接着,赋予用户该DIRECTORY 对象的读写权限
GRANT READ ON DIRECTORY recv_area TO user_name ;
GRANT WRITE ON DIRECTORY send_area TO user_name ;
同时读写权限
GRANT READ,WRITE ON DIRECTORY recv_area TO user_name ;
做好这些就可以确认了
SELECT * FROM ALL_DIRECTORIES ;
看到自己做成的DIRECTORY了吧
这里需要注意的是,当初CREATE DIRECTORY的时候是小写recv_area,现在这里是大写RECV_AREA
之后利用该DIRECTORY 对象时必须用大写。
还有,该DIRECTORY对象不包括上层目录(这个是当然的),也不包括子目录。
要利用子目录需要再定义一个子目录的DIRECTORY对象。
使用例
CREATE OR REPLACE PROCEDURE RIVUS.CREATE_DIR_WRITE_SAMPLE
AS
vHandle UTL_FILE.FILE_TYPE;
vDirname VARCHAR2(250);
vFilename VARCHAR2(250);
vOutput VARCHAR2(32767);
BEGIN
vDirname := 'SEND_AREA'; -- 必须用大写
vFilename := 'test.txt';
vHandle := UTL_FILE.FOPEN(vDirname ,vFilename,'w', 32767);
vOutput := '利用CREATE DIRECTORY进行的文件处理';
UTL_FILE.PUT_LINE(vHandle, vOutput);
UTL_FILE.FCLOSE(vHandle);
EXCEPTION WHEN OTHERS THEN
UTL_FILE.FCLOSE_ALL;
RAISE;
END;
到此为止,问题应该解决了。
貌似现在流行这个,很多人都已经有了吧
还没有的留下邮箱,最好是Gmail
相信很快wave就像白菜一样烂大街了
最近订阅了博客园的新闻频道,少有的RSS全文,看的相当爽快.
于是也想找下其他网站的全文RSS,搜索时发现可以自制,于是自己尝试了一下.
参考的文章是 http://jandan.net/2008/11/15/yahoo-pipes.html
制作步骤就省了,以下是结果.
可以显示全文,但仍有不足,cnBeta的图片都无法查看.不知有何方法解决.
暂且先这样了.
有兴趣的可以到下列地址查看
http://pipes.yahoo.com/pipes/pipe.info?_id=d370ce22946e9fafbbc5170695871cad
RSS地址如下
http://pipes.yahoo.com/pipes/pipe.run?_id=d370ce22946e9fafbbc5170695871cad&_render=rss
真见鬼,本来写了不少内容的,结果,页面挂了,写的全没了
懒得去写第二次了。简略之。
http://www.bylur.net/free/
http://www.red-pill.eu/freeunix.shtml
我申请成功的如下
http://freeshell.org
http://ninthfloor.org
http://mrejata.eu/
http://hax.tor.hu/
提供的服务条件依次增加。
不过加上申请条件来评价的话,第三个最方便……
问题 参照此贴
http://bbs.pcbeta.com/thread-352911-1-1.html
本来有个exe文件,选右键想用winrar打开看看自解压来,结果一不小心选中始终用winrar打开这类文件了,结果所有exe文件都打不开了
其中cmd.exe,regedit.exe也不可用,但command.com可用,assoc,ftype等命令也可用
Vista 中
C:\WINDOWS>assoc .exe
.exe=exefile
C:\WINDOWS>ftype exefile="%1" %*
exefile="%1" %*
均正常
HKEY_CLASSES_ROOT\exefile\shell\open\command
默认值也为"%1" %*
具体现象是只有exe文件打不开,其余类型的文件如txt仍然可以执行exe,譬如双击txt文件后会启动emeditor.exe。
那么说,Vista下exe的文件关联信息保存在其他地方。
打开RegWorkShop.exe(至于用什么方法,大家可以猜猜,提示,上面提到可以用某种方法启动exe),搜索winrar.exe
出现了一些结果,其中有两个比较可疑
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe\OpenWithList, a, WinRAR.exe
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe\UserChoice, Progid, Applications\WinRAR.exe
查看其它正常机器后发现,OpenWithList下只有一个默认值,UserChoice整个分支都不存在,也就是说这些都可以删掉。
OpenWithList下的两个值删除后,UserChoice却无法删除,访问被拒绝了。
尝试了一些方法,最后,好在RegWorkShop够强悍,Edit下有个permissions,可以设置权限,将当前用户设为全部允许后,成功删除了UserChoice。
之后,双击exe可直接运行了。不过很多exe的图标仍然为winrar的压缩包图标,大概下次重启后会恢复吧,先不管,上网去了……
很久以前在
http://www.pdfchm.net/ 注册过一个帐号,很久没用了,想想放着也可惜,48小时可以下2本书的条件都被我放过了
于是想为需要英文电子书的各位服务下,需要哪本书,放上pdfchm的链接,我看到后,去下载放到国内的一些网盘给大家分享。
注意:
1.如果你要找的书,网上到处都找得到,那还是请去其他地方下载吧。我的回应速度非常慢的,可能我还没放出下载,你就已经找到了
2.我不保证会满足各位提的每个要求,但你确实需要的话,告诉我,总会多一份希望。来得晚总比没有强
3.因为我在pdfchm的帐号是非付费帐号(我穷呀),48小时只能下2本,所以对各位的要求,反应会非常慢(当然,最主要的我太懒了),请各位耐心等待。不想等也就算了,不要人身攻击,我也是有脾气的……
4.请一定要给出pdfchm的链接,不然我会假装没看到的
5.想到再加
以上
更新
comet-and-reverse-ajax-the-next-generation-ajax-2-0-firstpress.9781590599983.44964.pdf
http://www.damipan.com/file/1dCCDSA.html
lucene-in-action-in-action-series.9781932394283.26350.pdf
http://www.damipan.com/file/1dCRT2F.html
professional-javascript-for-web-developers-wrox-programmer-to-programmer.9780470227800.45676.pdf
http://www.damipan.com/file/1dD0neX.html
最近收到的一些
骗人短信,很好奇网上是否有这些骗子的信息,上网搜索,没啥有用信息
那么,我就先写出来,让别人来搜吧……
款还没汇吧,那张卡的磁条坏了,请把款就汇到这新卡上;农业银行XXXX XXX
手机号 |
手机号所在地 |
银行账户 |
户主 |
银行 |
15321916024 |
北京 |
6228481770527140914 |
黄丽梅 |
农业银行 |
15321937629 |
北京 |
622848170528950113 |
赵雅君 |
农业银行 |
还有一条大概是合肥本地的骗人短信,合肥电话区号是0551
建行通知:您的信用卡与06月05日在百盛广场购物9586元,请到网点缴费逾期将从您的其他账上扣除,如有疑问请与本行联系:2362185
我没办过信用卡,不知用信用卡消费后是否会有短信通知。要是办了,那可得小心呀……
[DCC 致命的エラー] xxxx.pas(26): F2051 ユニット pngimage は異なるバージョンの Graphics.TGraphic.Equals によりコンパイルされています
英文的举例(网上搜的)
[DCC Error] XXXX.pas(7): F2051 Unit IdThread was compiled with a different version of Classes.TThread.Synchronize
问题主要在pngimage,搜索时发现 其路径在D:\Program Files\CodeGear\RAD Studio\6.0\source\Win32\vcl\Imaging\PNGImage\pngimage.pas
而我在Tools/Options,Environment Options/Delphi Options/Library - Win32的Library Path里加了个 d:\program files\codegear\rad studio\6.0\source\win32\vcl 路径
去掉这个路径后,就没有F2051问题了
另外,我这里遇到的是系统提供的unit,如果是自己写的unit出了问题,或许该在搜索路径里找错了。
参考
http://hi.baidu.com/liaoxuewei2008/blog/item/6928cf8282cffebc6d8119f5.html
http://topic.csdn.net/u/20080222/23/84f94b77-0c47-4cd1-b9fd-3aafdb9d7446.html
http://blog.sina.com.cn/s/blog_53912cf101000a5x.html
20091017更新
http://www.jsharer.com/blog/301655.htm
20091007更新
公共法语上册.pdf
https://www.damipan.com/file/1bvLJlH.html
公共法语下册.pdf
https://www.damipan.com/file/1bvOszS.html
公共法语练习参考答案.pdf
https://www.damipan.com/file/1bvWN00.html
MP3
https://www.damipan.com/file/4791Vq7.html
https://www.damipan.com/file/45xbSLk.html
以下失效
进入 http://pickup.mofile.com/ 填写提取码
或者点击下面的链接
若无法下载,请使用flashget等工具,或者换个时间下载,mofile就有这毛病。不过文件是存在的
20090607 add
MP3下载
PublicFrenchMp3.rar
PublicFrench2.rar
日文对照
http://www.blogjava.net/liwei/gallery/14442.html
http://www.blogjava.net/liwei/gallery/20785.html
翻译后记
从06年8月22日到今天07年6月16日,将近10个月。这段期间,我也经历了很多事,每次遇到点事,都会在当期翻译前吐一下,嘛,习惯了吧,将翻译作为一种生活。现在终于完成了这本小说的翻译,可喜可贺……
我不是日语专业的,也不是文科的,大学里也没看过什么文学作品(大部分时间都拿去看动画了),所以呀,这次翻译实在只是一次尝试,错误不可避免。就当是“学生”的一次作业吧,希望各位“老师”能给出具体的意见。
譬如
242p里的“蛹”,什么东西吗,分明就是“章鱼”呀……
ok,给出了具体p数以及错误点,嗯,不错的意见,我能依此修改。
小说下载地址
http://www.blogjava.net/Files/liwei/Seikai(CN).zip
提意见的地址在 http://www.blogjava.net/liwei/archive/2007/06/16/124629.html
欢迎各位光临……
呀,终于结束了……
明天放出全部文本……
这里就基本不会发和日语相关的东西了。欢迎各位去http://blog.hjenglish.com/liwei 捧场,我会在那里继续翻译的……嗯,想和我一起翻译的,热烈欢迎,但希望不是3分钟热度,现在的人都很浮躁啊……
日文对照:
http://www.blogjava.net/liwei/gallery/image/8474.htmlhttp://www.blogjava.net/liwei/gallery/image/8475.htmlhttp://www.blogjava.net/liwei/gallery/image/8476.htmlhttp://www.blogjava.net/liwei/gallery/image/8477.html294
杵筑毫无言语了。此时,在这里能够表达的语言在他的身体和精神里都不存在。他有的只是对这个世界的沉默。
手指轻轻离开杵筑,美和如同舞蹈般前行。两手直直伸向两旁,回旋转着身体。如同第一次离巢飞翔的雏燕,享受着这份自由在夏季的天空下舞蹈。
突然停止身体的少女,笑容四溢的脸庞稍微少顷看着杵筑说,
“喂,接下来戏弄谁的人生?”
295
(图)
296
后记
以某方面来说我喜欢单纯思考万事万物,并且想将那种感觉写下来,但仅这次不管那方面都没有那份单纯。更接近奇怪的行云吧。而且还是乌云。就如同在左转弯的椭圆跑道的最后一个拐弯处突然错误的右转弯,毁灭性的不吉呀。好像已经绝望了。单纯万岁。
下面是和那完全不相关的几年前的回忆了。曾经住在只看得见田地和山风光明媚的某地时,我的行走工具要说也只有自行车了。某个雨后的夏夜,如往常一样骑着自行车跑了40公里到达了目的地,嘿咻嘿咻刚从自行车上下来时,注意到一个不认识的乘客坐在我的车上甚感惊愕。一个小小的雨蛙静静的贴在车后座上。
我不认为在等待信号灯的短暂时间里能爬上来,那么应该是我骑车前就已经在上面了吧。不过跑了40公里还亏它能贴在那里没掉下去。
惊叹的同时我捏起雨蛙君,在不远的某个田埂附近的草丛里将其放生,而后这么想着。从出生仅仅几十分钟的场所离开被移动到遥远的异地,对于必须在那里生活的雨蛙君来说,这到底是福是祸呢。
希望它能尽可能单纯的生存下去。
已经到最后了,对与这本书面世所有相关人员,特别是画插图的G 梦如(注:此人名依其个人站点名翻译而来http://www.cronos.ne.jp/~munyo/)以及担当编辑的峰,致以最大限度的感谢,以及对读了此书的所有人致以无限大的感谢,就算你说不需要我也要致谢,这次就失礼了,那么,再见了————。
这次翻译找了些人,大家共同翻译,会是别样滋味吧。
http://blog.hjenglish.com/liwei/
第一次翻译已经发布……以后关于日语方面的东西,我会在那里发布了。
封闭的世界,在这里开始,也会在这里结束的……
今晚,上司(项目负责人)突然找我谈话。“你应该考虑下自己的发展,以后总不能做翻译吧。应该多了解下技术。对公司其他大部分人,瓶颈在日语,而对你,瓶颈在技术及其他方面。”大意如此……这位上司平时也看到了我下班后翻译,是出于此对我说的话,还是其他意思呢?
不过,我确实在日语上下了很多功夫,而忽视了技术。blogjava本就是一个技术blog,可看看我的内容,绝大部分都是日语相关……这点我得反思……
其实在这个谈话之前,我就准备将日语相关内容发到沪江blog去,嗯,下一部预订翻译的小说田中ロミオ的《人類は衰退しました》,正在找合作伙伴……因今天晚上的谈话,或许会有变动……啊,走一步算一步了……
下载:
http://www.51files.com/?CTOX9F9WUJGENZGQNXED
日文对照:
http://www.blogjava.net/liwei/gallery/image/8432.htmlhttp://www.blogjava.net/liwei/gallery/image/8433.htmlhttp://www.blogjava.net/liwei/gallery/image/8434.htmlhttp://www.blogjava.net/liwei/gallery/image/8435.html290
(空白)
291
第七日
292
今天,杵筑也和美和一起散着步。
姐姐不见了妹妹仍毫无变化。与平常一样和杵筑待在一起,白天在大街上约会,夜晚在她的房间继续着幽会。
杵筑对建御的旅行没有评价一句,美和与他一样对姐姐的旅行也没发表意见。那天晚上,来拜访她家的是谁,叫出云的幼女怎样了,这一切美和似乎都不感兴趣。
所以,开始谈起这个的是杵筑。
“那本奇怪的书是你写的吧”
“是的”
美和的步调没有减缓,手抓着帽子的边缘回答着。
“考虑出一种新的语言是件有趣的事情”
冷冷的声音翻转着来到杵筑的耳朵。
“唔?你怎么知道的?”
和姐姐问着同样的话。杵筑的回答也是一样的。
“因为会那样做的,只有你了”
少女嗤嗤的笑着。
“是啊”
293
“七年前”杵筑道,“教会神名那种怪模样也是你呀。将自己的母亲和我的父亲杀掉也是你教的”
“是的。作为魔术书使用的羊皮纸也是那时候得到的。一直以来,起着很重要的作用呢。”
“费了不少工夫吧”
“也不是那样。因为没必要考虑特别的关键点。以能被解开为前提的暗号很容易做出来。如果是我的姐姐几个月就足够了吧”
“你创造了召唤恶魔的方法,神名知道这个吗?”
“那是我做的。姐姐只是预测了那点而已”
“你为什么要那么做?”
“你的问题真多呀”
美和若无其事的用手指挽着杵筑的手腕。
“你不在意吗?姐姐到哪去了。在那个地方,她考虑着,只考虑着让我们俩幸福的方法。你明白了吧?”
正如她所说。杵筑看到了他们的未来。他听到了华丽的未来预测,如同从天界带来的福音般。那个毫无疑问正在到来。他的旁边一直有美和在,无论何时柔和的微笑都只向他倾注。
事先声明:这个不是我听写的……比我的正确率高……
下载
http://www.51files.com/?06FGUKEQCS7CGA9XJ56S
「なーに、シャーリー、そんな難しい顔して~。便秘?2日目?」ミレイ
「違いますぅ」シャーリー
『私は悩んでいた。お父さんからもらったコンサートのチケットをルルに渡すかどうか…』シャーリー
「暢気だね~。世間は一昨日のナリタ騒ぎで持ちきりだっていうのに。だーからさ、言っちゃえばいいのに、『好きです』って」ミレイ
「そ、そんなのダメですよ、そんなの!!」シャーリー
『本当は言いたい、一緒にコンサートに行こうって。本当は伝えたい、私の気持ちを。でも…どう声を掛ければいい?もし断られたら……。想像だけがどんどん膨らんでいく。そう、例えば……』シャーリー
「ルル!」シャーリー
「何だ、シャーリー」ルルーシュ
「あ、あのね、明日クラシックのコンサートがあるんだけど、もしよかったらどうかな?あの、チケットが一枚余っちゃって、それで…誰か興味のある人がいればって…」シャーリー
「それは嬉しいな。いいのか?」ルルーシュ
「も。もちろん!!」シャーリー
「ありがとう」ルルーシュ
「へ?…じゃあ」シャーリー
「喜ぶだろうな、ナナリー」ルルーシュ
「え?」シャーリー
「ナナリー、クラシックが好きでさ。明日か…咲世子さんに言っておかなくっちゃ。ありがとう、シャーリー。それじゃあ」ルルーシュ
「あ、あー……どう…いたしまして」シャーリー
『………ダメだー、これじゃあ…。恰好付けて気のない振りなんかするからいけないのよね。もっとストレートに言わなきゃ!……そう、例えば…』シャーリー
「クラシックのコンサート?」ルルーシュ
「ルルだから誘うんだからねっ!!」シャーリー
「え?」ルルーシュ
「ルルじゃなきゃダメなの、どうしても何が何でもルルなの!!!…私、私ね、ルルが」シャーリー
「おい、落ち着けよシャーリー。みんな見てるだろ?…だいたい、どうして俺なんだ?」ルルーシュ
「ルルがっ!……えーと…え…暇そうだなーって思って」シャーリー
「なっ!失敬なっ!!俺にだって予定くらいある。生徒会の仕事もあるし、宿題もやらなきゃならないし、炊事、洗濯、ギャンブルと24時間では捌ききれないな」ルルーシュ
『………ストレートすぎるのもダメかぁ…。ルルの都合だってあるよね。予定があって当然だし……っ!!!別の理由があるかも』シャーリー
「ごめん、2人では行けないよ。実は俺…」ルルーシュ
「シャーリーじゃない。なーに?私のルルに何かご用?」カレン
「ルルって…何でカレンが!?」シャーリー
「俺達、結婚を約束した仲なんだ」ルルーシュ
「ねー、ル~ル♪」カレン
『………や、ヤダ。変な想像になっちゃった。カレンだって否定してたし、それはないよ!……けど、ルルにも好きな人とか、いるのかも…』シャーリー
「ゴメン、俺には将来を約束した人がいるんだ」ルルーシュ
「カ、カレンじゃないよね?」シャーリー
「お兄様ーっ、早く行きましょう。結婚式が始まってしまう」ナナリー
「え!?ナナちゃん?」シャーリー
「あぁ、俺ナナリーと結婚するんだ」ルルーシュ
「で、でもナナちゃん、妹じゃない!!そんな…」シャーリー
「残念でした。実は私達血が繋がってないんです。うふっ」ナナリー
「じゃあ、そういうことだから」ルルーシュ
『……バカバカバカっ!そんなはずないじゃない!!確かにルルはナナちゃんに優しいけど、だからって…』シャーリー
「ルルーシュ、早くっ!結婚式が始まっちゃうよ」スザク
「あぁ。あっははははは」ルルーシュ
「あはははは」スザク
『……うわーっ!!!ストップストップ!変な想像ストップっ!!!!!何考えてんの、私。ソフィじゃあるまいし、そういう趣味はないはずっ』シャーリー
「何言ってるの、シャーリー…」ミレイ
「会長!??…私、もしかして声に出してました?」シャーリー
「あったり前じゃないっ、ねぇルルーシュ」ミレイ
「は?」シャーリー
「あぁ、恥ずかしいヤツだな、お前」ルルーシュ
「え、いや、でも…」シャーリー
「もういいよ。行こう、ミレイ。新婚旅行はモナコでいいかな?」ルルーシュ
「あれ、ちょっと待って…あれれっ!????」シャーリー
「ちょーっと待ったっ!!!ルルーシュは俺と」リヴァル
「リヴァルも?」シャーリー
「にゃーぉ」アーサー
「アーサー…あんたまで!」シャーリー
「お兄様は私と結婚するんですっ!!」ナナリー
「ルルーシュ、わかっているよな?」スザク
「許さない……。ルルは私だけのモノなんだから」カレン
「バイクに空き缶も付けたことだしさ」リヴァル
「おいおい、俺は一人しかいないんだぞ?」ルルーシュ
「ん~、良いじゃない。この際皆で結婚しちゃおうよっ」ミレイ
「賛成賛成大賛成っ!!」リヴァル
「ほら、シャーリーも。そんなところにいないで」スザク
「え、何、これ何っ!??」シャーリー
「いいじゃん、いいじゃんっ!!」リヴァル
「あははははははははははははははははははっ」皆
「………うふはははははははははははははははっ」シャーリー
「戻ってこーい!!!!」ミレイ
「痛てっ!!!」シャーリー
「こっちの世界に戻れましたか~?」ミレイ
「あの…私何を…」シャーリー
「もう、こっちが聞きたいところよ!せっかく恋愛のいろはを教えてあげてるのに、一人で笑い続けてさぁ~」ミレイ
「はぁ、すみません。違うこと考えてました」シャーリー
「もーっ…要するにだ、考えてるだけじゃダメ!行動が大事だってことよ」ミレイ
「そう……そうですよね。会長、私行ってきます!!」シャーリー
「よーっし、行って来い!その調子……ってどこに?」ミレイ
『わかってる。拒絶されることを恐れてちゃダメなんだ。会長も言ってた。今はずっと続かないって。想像の中で怖がってたら、このまま取り残されちゃう…。……私の気持ちだけ…』シャーリー
「ルルーっ!!!」シャーリー
「何だ?」ルルーシュ
「あ、あの、お父さん単身赴任してて、でも私のご機嫌取りにってよくこういうの送ってくるの。それでなんだけど」シャーリー
「何、これ?」ルルーシュ
「コンサートのチケット。よかったら一緒にどうかな?」シャーリー
「あ、ありがとう」ルルーシュ
「わ、私、待ってるからっ。それじゃあ」シャーリー
「おい!待ってるって、ちょっと…」ルルーシュ
『……どうしよう…やっちゃった、やっ端っこちゃったよ、私っ!…来てくれるよね?嫌だって言われなかったし。それに、一緒にコンサートに行くだけだもん。でも、チャンスだし。ありがとう、お父さん』 シャーリー
所剩无几,很快就要完了……
今天又发现了以前的翻译错误(以前是望字生意,这次查了下),嘛,我懒得改了……想必其他地方还有很多错误吧,有哪位好心人能帮忙校译下……嗯,想起以前某位,不知找到工作了否,说过不要太过期待的……
日文对照:
http://www.blogjava.net/liwei/gallery/image/8422.htmlhttp://www.blogjava.net/liwei/gallery/image/8423.html288
“万不得已的时候就需要你的活跃了。听着,你着可恶的天使,将我赶出房间的债是时候还了”
“万不得已的时候”
天使捏起垂落胸前的金发,
“虽说恶魔过于古怪,但,嘛,没关系的吧。只要他还在,我就不会回去。话说回来,我还有很多东西想教给死神呢。譬如能刻入那可爱肉体里的快乐。这个太遗憾了”
杵筑似乎想从天使的脸上看出点什么。
“你不是什么都没做吗?阻止恶魔应该是天使的职责吧”
万不得已的时候,天使也只会浅浅笑看着苦恼的建御吧。她们不会做任何事。只会玩弄人的生存罢了。
“并不一定会去做”
天使的表情没有变化。
“如果只是借住一宿的恩情,我确实不会做什么吧。但已经借住6天5夜了,多多少少的感谢还是需要的,我是这么想的。虽然古怪这点不会变”
“再见了,杵筑”
289
友人举起一只手告别着。
“偶尔会联系的。替我向乌衣妹妹问好。永别了”
转过身的建御坚定的踏出了步伐。天使优雅的跟随着。杵筑目送了两个背影一会儿,
“建御,你是不是喜欢过神名?”
友人没有停住脚步,
“你才是那样的吧”
建御只说了这些,就远去在炎热的日照下。
这谎说的真差。应该用现在时来问的。要是这样的话他或许就会点头的。又或者是无言的默认了吧。要回避被人提到的要害,那是最轻松的方法了吧。杵筑并没有选择其中一种手段。友人从视线里消失,杵筑似乎对他低语着。
“美和不是第二个神名。没有人能够代替她”
对于一只脚的章鱼来说,是没有第二个的。(注:以前翻成了蛹,嘛,是错的)
昨天又弄错了……
要是今天你觉得眼熟,那就请看昨天的吧……
日文对照:
http://www.blogjava.net/liwei/gallery/image/8404.htmlhttp://www.blogjava.net/liwei/gallery/image/8405.html286
“替我向神名问好。要是遇到的话”
“因为不见到她你是不准备回来的吧”
建御露出一瞬强烈的笑容后,又急速的变得很认真。
“你走下舞台后还努力干着吧。我可不想那样。你想安心走下舞台那就由我来干。我们就在这交换下职责吧”
“好主意呀。我同意”
这是心里的话。但建御或许也知道,那就意味着要成为她的装置。
“你认为能阻止神名吗?”
“我也想那么说呢”天使快乐的说着,“这个决定如同玄武岩一般刚硬,想推翻已经如此刚硬的决定不太可能吧。如果以天使的立场来看的话,或许有点勉强吧”
“我也是那样想的呀”
建御仍然很认真。
“但,或许又不是。虽然赛马券不中的概率高”
“但总会有人中的吧。所以赌博不管在哪个世界哪个时代都有。这是万国共通超越时空作为赚钱最快的方法,已经成为世界性的常识了”
287
“也就是世界标准吧”
“一般的道理那样说都是没问题的。顺带一提,未成年人购买赛马券是被禁止的”
对天使和建御的一唱一和感到想笑。可尽管想笑,杵筑也在一瞬间很羡慕他们。建御并没有留意到隐藏在天使微笑背后的恶意。天使那厚厚的面具要想打破也不是那么容易的事吧。比玄武岩还坚硬。
“杵筑,我是这样想的”建御一本正经的,“神名……她要是注意的话应该能完全将尸体处理掉。但是,有十多人被报道了,哪怕是很小的报道。她是不是想要人来阻止她……”
真像友人的那一贯乐观的想法。
“你们还是快点行动吧?”杵筑催促着。“天使消失的时候就是恶魔消失的时候吧?恶魔不见了,也就表明,神名已经构筑起绝望系统,并且发动了。虽然没法预见什么时候发动,但对方可是准备了7年的呀”
“是啊”
建御反射性的看了下手表,然后看向天使。
啊,越来越想休息了……虽然还有很工作没做……
上周就开始看《无限的未知》了,今天继续看,很有震撼力……主角并没有多么突出,一直也在碰壁,但却一直想改变现状……我也无能为力,看的心里很焦燥,替他捏把汗,幸好我没在他那种处境,像这样无为的过着,不必考虑那么多……
嗯,这片应该是很成功的,很多人,很多不同的想法,相互冲撞,有现实感。不像现在很多动画,过于单一,世界就围着自己在转一般……
泡面快烂了,吃面……
日文对照:
http://www.blogjava.net/liwei/gallery/image/8399.htmlhttp://www.blogjava.net/liwei/gallery/image/8400.html284
友人前来拜访是早上的事。
“哟”
建御仍板着脸。玄关旁放着一个巨大的包,似乎是为了雪山登顶般。
“神名不知道去哪了吧”
“听谁说的?”
“这家伙”
建御背后,丰满的浴衣身姿婀娜的站立着。
“你还在呀”
“嗯,还在”
天使典雅的弯腰打着招呼,
“恶魔和那位少女的气息越来越远,现在已不知去向。应该去了很远的地方吧。至少不在我的感知范围内”
“我要去寻找她”
似乎是深思熟虑的计划。建御的声音里毫无杂志。
“虽然扔下你不管有些不放心,但我和你不同。考虑两天后头脑很清晰了。考虑得太多全身都发热。几乎要卧病不起了”
285
“我有好好照顾他哟”
浴衣美女艳丽的微笑着。
“他的母亲大人,完全将我作为他的未婚妻来看待了。虽然我很识趣配合着,但我也得反省是否因这个导致他的热反而上升了”
“……老实说,我完全就没信她和那个家伙的胡话。那时是顺着氛围被轻易欺骗了,但仔细一想就能明白。神名生病了。是脑袋出了很重的病。因此才错误的呼唤了恶魔。一边说着如何杀人,一边还能那样笑的家伙不应该用法律而应该用道德来约束才对”
建御阴沉着脸。
“神名要是想和恶魔做什么事,我就带这家伙去阻止”
建御扛起满载物品的旅行包。
“她要将世界怎样或许是她的自由。但给全人类添麻烦,我还不知道有那种自由。杵筑,你不阻止的话就由我来”
杵筑从友人的表情里看出了出处不明的乐观,
“似乎是很长的旅行呢”
“啊。暑假结束前是不会回来的吧。要是延长了你就跟我的父母说声吧。就用你那得意的口才”
别以为我今天翻了很多……明晚,项目饭局……
日文对照:
http://www.blogjava.net/liwei/gallery/image/8390.htmlhttp://www.blogjava.net/liwei/gallery/image/8391.htmlhttp://www.blogjava.net/liwei/gallery/image/8392.htmlhttp://www.blogjava.net/liwei/gallery/image/8393.htmlhttp://www.blogjava.net/liwei/gallery/image/8394.html279
“代替你和我,为了你和我,考虑着你和我的人呀”
“是啊”
杵筑的脑海里描绘出了可怜友人的脸。现在正在干什么呢。天使还在他家吧。
“还有回来的打算吗?”
问这句话的同时,他就知道了答案。
如果还会回来的话,就不会来告别了。特意前来就表明这是最后一次了。不会再见到她了……
神名脸上浮起笑容。
这就足够了。比任何言语都雄辩的回答。
而后没有说任何话,目送着神名爬下梯子,此时杵筑才注意到院子门口有个黑影站立着。恶魔仰望着这里。
回到地上的神名站到恶魔的旁边,没有回头就开始前行。恶魔当然跟随着。
恶魔般的女孩得到了期待的恶魔,为了达成目的向某地前行。
280
如果她的愿望达成,这个世界会被她说的绝望所支配吧。神名一定会成功的。杵筑知道。乌衣神名就是这样的女人。因为他知道,神名是背负着地狱生存的。
和她一同生活过的父亲也不知道。他的双亲生前也不知道。谁都不知道。但他却知道。
“永别了,神名”
杵筑对着消失在黑暗中的双影低语。
之后关闭窗户和窗帘后,回到床上睡去了。和往常一样,安详且平稳的睡去。他已经很多年没做过梦了。梦是什么都已经忘了。梦也并不是麻烦的东西。只是对他不必要罢了。
如果是恶梦的话,没有梦更好。
281
第四、五日
282
普通的每日毫无变化的持续着。
但,夏天又变热了。
283
第六日