发布一个翻墙的小工具:
点这里
或者:
新开一个浏览器窗口,在浏览器地址栏输入:
javascript:var w = prompt('请输入');w.split('').reverse().join('');
按回车
具体使用方法:
1.加密要翻墙的内容(从今复古)
在提示的输入框中输入 需要翻墙的敏感内容 返回逆序的敏感内容 这些逆序的敏感内容 不出意外是可以翻墙的
将这些逆序的内容发布到 qq群 论坛 博客之类的地方 再附送一把钥匙 (复制这个钥匙链接 钥匙 放在发送的内容里)
其实 只要阅读的人学习一下古人的阅读习惯也是可以看懂的
2.解密已过墙的内容(从古到今)
方法和工具都和加密一样 只不过输入那些qq上 论坛里 博客上看到的逆序内容
返回的结果就是符合现代人阅读习惯的 从左到右式了
3.为了以后方便使用 收藏为书签
收藏刚才打开的那个页面(地址栏里是javascript:var w = prompt('请输入');w.split('').reverse().join('');的那个页面)
或者在这个链接上点击鼠标右键-添加到收藏夹
------------------------------------
美中不足 没法换行
2008-03-25
2008-03-24
大声疾呼:请中国的Tor中继服务提供者仅把自己设置为"中间人"
因为你是在中国 你是在互联网的伟大长城里
如果你有心作为Tor服务器(也就是被翻译成中继的东东)
切记将自己设置为中间人 也就是不允许任何客户端把你作为Tor网络的出口 否则....
就好像我要挖地道越狱 好不容易挖通了 却发现是在另一间监狱 : (
具体设置方法如下(假设您使用Vidalia):
设定->中继->Tor 网络中继->服务策略->清除所有的选择(也就是一个也别选中)->保存
如果你有心作为Tor服务器(也就是被翻译成中继的东东)
切记将自己设置为中间人 也就是不允许任何客户端把你作为Tor网络的出口 否则....
就好像我要挖地道越狱 好不容易挖通了 却发现是在另一间监狱 : (
具体设置方法如下(假设您使用Vidalia):
设定->中继->Tor 网络中继->服务策略->清除所有的选择(也就是一个也别选中)->保存
2008-03-20
2008-03-13
可以一直to下去
JavaScript里有趣的toString,可以一直to下去
>>> Object.toString.toString.toString.toString.toString.toString.toString.toString.toString.toString()
>>> Object.toString.toString.toString.toString.toString.toString.toString.toString.toString.toString()
"function toString() { [native code] }"
JavaScript prototype 彻底研究
在firebug里面信手拈来:
Function.toString()
返回如下:
"function Function() { [native code] }"
Obeject.toString()
"function Object() { [native code] }"
有时间去看看JavaScript运行时环境(比如rhino) 看看那些native code到底是怎么回事
看的很清楚 这些东东都是function,但他们是内置function,有文章说JavaScript其实是函数式语言Lisp披了C语法的皮
这些内置function 和 你在JavaScript里面写的function有什么不同呢?
这些内置function和你定义的function一样都有prototype属性,而prototype属性在经过new后便copy到目标对象上 这是prototype之所以叫prototype(原型)的原因
所不同的是:
1.这些内置function的prototype的类型是多样的,而你定义的function的prototype就是个Object对象
(当然你可以将你定义的function的prototype赋值为其他什么东西,但会有些诡异的事情发生:
比较奇特的是Image:
-------------------------------------------------------------------------------------------------------------------------------------------------------------
new (Function()) VS new Function() VS Function()
由前面的说明可知 Function的prototype还是个function (而且是个真正的匿名function) 而Function()的返回值也是个function (是叫做匿名(anonymous)的实名function) ,所以new和直接调用Function() 作用是一样的
------------------------------------------------------------------------------------------------------------------------------------------------------------
对于new我的理解:
对于Class式面向对象语言 new 是开辟内存空间 根据Class定义创建对象
而对于prototype式的面向对象语言JavaScript new的作用主要是copy function中的prototype对象到被创建的对象中,
Function.toString()
返回如下:
"function Function() { [native code] }"
Obeject.toString()
"function Object() { [native code] }"
有时间去看看JavaScript运行时环境(比如rhino) 看看那些native code到底是怎么回事
看的很清楚 这些东东都是function,但他们是内置function,有文章说JavaScript其实是函数式语言Lisp披了C语法的皮
这些内置function 和 你在JavaScript里面写的function有什么不同呢?
这些内置function和你定义的function一样都有prototype属性,而prototype属性在经过new后便copy到目标对象上 这是prototype之所以叫prototype(原型)的原因
所不同的是:
1.这些内置function的prototype的类型是多样的,而你定义的function的prototype就是个Object对象
(当然你可以将你定义的function的prototype赋值为其他什么东西,但会有些诡异的事情发生:
>>> var afn = function(){}; afn.prototype = function(){}; var affn = new afn(); new affn()
affn is not a constructor
undefined
2. 这些内置function的返回值往往和其prototype有某种近似,所以直接调用这些内置function和new这些内置function可能得 到相同的东西或者近似的东西(大概是JavaScript的作者为了更加方便),而你定义的function不会刻意追求返回值和其prototype有 某种近似>>> var afn = function(){}; afn.prototype = function(){}; var affn = new afn(); affn.prototype
Object
) >>> (function yourFunction(){}).prototype
Object
>>> Function
Function()
>>> Function()
anonymous()
>>> Function().toString()
"function anonymous() { }"
>>> Function.prototype.toString()
"function () { }"
>>> Function.prototype.prototypeObject
>>> Date
Date()
>>> Date()
"Thu Mar 13 2008 20:42:14 GMT+0800"
>>> Date.prototype
Invalid Date
>>> var d = new Date(); typeof(d);
"object"
>>> var d = Date(); typeof(d);
"string">>> Number
Number()
>>> Number.prototype 0 //0是对象
>>> Number()
0 //0是简单类型数字0
>>> new Number
0 //0是对象
>>> var n = Number(); typeof(n); "number"
>>> var n = new Number(); typeof(n);
"object"
>>> Array
Array()
>>> Array()
[]
>>> Array.prototype
[]
>>> new Array
[]
>>> new Array()
[]
比较奇特的是Image:
>>> Image
function()
>>> Image.toString()
"[Image]"
>>> Image()Image is not a function
undefined
javascript: with ... (line 1)>>> new Image()
<img>
>>> new Image
<img>
>>> Image.prototype
[xpconnect wrapped native prototype] ELEMENT_NODE=1 ATTRIBUTE_NODE=2 TEXT_NODE=3
-------------------------------------------------------------------------------------------------------------------------------------------------------------
new (Function()) VS new Function() VS Function()
>>> var foo4 = new Function('var temp = 100; this.temp = 200; return temp + this.temp;'); foo4;
anonymous()
>>> var foo4 = Function('var temp = 100; this.temp = 200; return temp + this.temp;'); foo4;
anonymous()
>>> var foo4 = new(Function('var temp = 100; this.temp = 200; return temp + this.temp;')); foo4;
Object temp=200
由前面的说明可知 Function的prototype还是个function (而且是个真正的匿名function) 而Function()的返回值也是个function (是叫做匿名(anonymous)的实名function) ,所以new和直接调用Function() 作用是一样的
------------------------------------------------------------------------------------------------------------------------------------------------------------
对于new我的理解:
对于Class式面向对象语言 new 是开辟内存空间 根据Class定义创建对象
而对于prototype式的面向对象语言JavaScript new的作用主要是copy function中的prototype对象到被创建的对象中,
2008-03-08
诡异的www.google.com无法访问
中国电信在搞什么鬼?
在宿舍ping的通 却访问不了 宿舍是深圳电信ADSL
而奇怪的是 同一时刻 在公司就可以访问
我观察到 公司和宿舍 www.google.com 的ip有互换的现象 但前后公司都可以访问 宿舍都不能访问 请看下面的ping记录
宿舍:
C:\Documents and Settings\Andrew>ping www.google.com
Pinging www-china.l.google.com [64.233.189.99] with 32 bytes of data:
Reply from 64.233.189.99: bytes=32 time=52ms TTL=243
Reply from 64.233.189.99: bytes=32 time=69ms TTL=243
Reply from 64.233.189.99: bytes=32 time=46ms TTL=243
Reply from 64.233.189.99: bytes=32 time=70ms TTL=243
Ping statistics for 64.233.189.99:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 46ms, Maximum = 70ms, Average = 59ms
C:\Documents and Settings\Andrew>ping www.google.com
Pinging www-china.l.google.com [64.233.189.104] with 32 bytes of data:
Reply from 64.233.189.104: bytes=32 time=25ms TTL=243
Reply from 64.233.189.104: bytes=32 time=47ms TTL=243
Reply from 64.233.189.104: bytes=32 time=24ms TTL=243
Reply from 64.233.189.104: bytes=32 time=76ms TTL=243
Ping statistics for 64.233.189.104:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 24ms, Maximum = 76ms, Average = 43ms
公司:
C:\Documents and Settings\AndrewGao>PING www.google.com
Pinging www-china.l.google.com [64.233.189.104] with 32 bytes of data:
Reply from 64.233.189.104: bytes=32 time=9ms TTL=243
Reply from 64.233.189.104: bytes=32 time=9ms TTL=243
Reply from 64.233.189.104: bytes=32 time=10ms TTL=243
Reply from 64.233.189.104: bytes=32 time=10ms TTL=243
Ping statistics for 64.233.189.104:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 9ms, Maximum = 10ms, Average = 9ms
C:\Documents and Settings\AndrewGao>PING www.google.com
Pinging www-china.l.google.com [64.233.189.99] with 32 bytes of data:
Reply from 64.233.189.99: bytes=32 time=9ms TTL=243
Reply from 64.233.189.99: bytes=32 time=10ms TTL=243
Reply from 64.233.189.99: bytes=32 time=10ms TTL=243
Reply from 64.233.189.99: bytes=32 time=9ms TTL=243
Ping statistics for 64.233.189.99:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 9ms, Maximum = 10ms, Average = 9ms
在宿舍ping的通 却访问不了 宿舍是深圳电信ADSL
而奇怪的是 同一时刻 在公司就可以访问
我观察到 公司和宿舍 www.google.com 的ip有互换的现象 但前后公司都可以访问 宿舍都不能访问 请看下面的ping记录
宿舍:
C:\Documents and Settings\Andrew>ping www.google.com
Pinging www-china.l.google.com [64.233.189.99] with 32 bytes of data:
Reply from 64.233.189.99: bytes=32 time=52ms TTL=243
Reply from 64.233.189.99: bytes=32 time=69ms TTL=243
Reply from 64.233.189.99: bytes=32 time=46ms TTL=243
Reply from 64.233.189.99: bytes=32 time=70ms TTL=243
Ping statistics for 64.233.189.99:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 46ms, Maximum = 70ms, Average = 59ms
C:\Documents and Settings\Andrew>ping www.google.com
Pinging www-china.l.google.com [64.233.189.104] with 32 bytes of data:
Reply from 64.233.189.104: bytes=32 time=25ms TTL=243
Reply from 64.233.189.104: bytes=32 time=47ms TTL=243
Reply from 64.233.189.104: bytes=32 time=24ms TTL=243
Reply from 64.233.189.104: bytes=32 time=76ms TTL=243
Ping statistics for 64.233.189.104:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 24ms, Maximum = 76ms, Average = 43ms
公司:
C:\Documents and Settings\AndrewGao>PING www.google.com
Pinging www-china.l.google.com [64.233.189.104] with 32 bytes of data:
Reply from 64.233.189.104: bytes=32 time=9ms TTL=243
Reply from 64.233.189.104: bytes=32 time=9ms TTL=243
Reply from 64.233.189.104: bytes=32 time=10ms TTL=243
Reply from 64.233.189.104: bytes=32 time=10ms TTL=243
Ping statistics for 64.233.189.104:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 9ms, Maximum = 10ms, Average = 9ms
C:\Documents and Settings\AndrewGao>PING www.google.com
Pinging www-china.l.google.com [64.233.189.99] with 32 bytes of data:
Reply from 64.233.189.99: bytes=32 time=9ms TTL=243
Reply from 64.233.189.99: bytes=32 time=10ms TTL=243
Reply from 64.233.189.99: bytes=32 time=10ms TTL=243
Reply from 64.233.189.99: bytes=32 time=9ms TTL=243
Ping statistics for 64.233.189.99:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 9ms, Maximum = 10ms, Average = 9ms
2008-03-03
订阅:
博文 (Atom)