小编Clo*_*boy的帖子

在Lisp中,代码就是数据.这提供了什么好处?

在Lisp中,任何程序的代码实际上都是有效的数据结构.例如,这会将一个和两个加在一起,但它也是三个项目的列表.

(+ 1 2)
Run Code Online (Sandbox Code Playgroud)

这提供了什么好处?是什么让你在其他语言中做到不可能和/或不那么优雅?

lisp

25
推荐指数
3
解决办法
7102
查看次数

为什么XML有这样详细的结束标记?

是的,这可能不应该让我烦恼.

但它确实!!

为什么XML有这样详细的结束标记?它不仅使文档对人类更加丑陋,而且不必要地引入了不匹配(或拼写错误!)打开和关闭标签的风险.

即使我们想要关闭标签,为什么我们需要在结束标签中包含开始标签的名称?XML中从不存在任何歧义,因为在关闭外部标记之前必须关闭最内层的标记!

例如:

<thisIsSomewhatLong>
    Hello, world!
</thisIsSomewhatLong>
Run Code Online (Sandbox Code Playgroud)

......比以下更加冗长:

<thisIsSomewhatLong>
    Hello, world!
</>
Run Code Online (Sandbox Code Playgroud)

并且它无法解决人类或计算机的任何歧义.

有谁知道这个规则的基本原理是什么?不允许空的关闭标签可以避免哪些风险?

xml verbosity

16
推荐指数
3
解决办法
4731
查看次数

这个可怕的XSS载体在Internet Explorer中仍然是一个问题吗?

来自hi.baidu.com/monyer/blog/item/d0f5d8b48fc442758bd4b2a4.html

Char 192是 <font face="xyz[0xC0]">not </font><font face=" onmouseover=alert(192) s=[0xC0]" >available</font>

0xC0是UTF-8中2字节序列(0xC0-0xDF)的32个第一个字节之一.因此,当IE解析上面的代码时,它会将0xC0和以下引用视为一个序列,因此这两对FONT元素将成为一个具有"xyz[0xC0]">not </font><font face="FACE参数的值.第二个0xC0将启动另一个2字节序列作为未引用的NOTEXIST参数的值.由于引号后跟一个空格字符,0xE0-0xEF是3字节序列的第一个字节,连同下面的引号和一个空格字符将被视为NOTEXIST参数的值.

实质上,某些字节表示UTF-8字符串中3字节字符的开头.如果这些字节进入网页,即使得到的三个字节不构成有效的UTF-8字符,IE也会占用接下来的两个字节.这可能会导致IE占用HTML属性中的结尾引号,从而造成XSS风格的破坏.

这篇文章是关于IE6的,所以我有两个紧密耦合的问题:

  1. 这在IE的后续版本中仍然是一个问题吗?
  2. 如果是这样,是否有一种纯粹的客户端方法来避免它?换句话说,假设从服务器收到"中毒"字符串,是否有任何可以在客户端完成以防止此漏洞?

javascript xss internet-explorer

16
推荐指数
1
解决办法
986
查看次数

在Rails 3.1中,是否真的不可能避免包含样式表的重复副本?

尝试在Sass样式表中共享变量和混合时,我遇到了一个令人沮丧的问题.

如果我@import用来包含一个全局样式表 - 一个包含全局颜色,mixins等的样式表 - 当Rails结合清单文件中引用的所有样式表时,它会再次被包含.

或者,如果我的清单文件,并没有包括全球样式表,但在清单导入它的多个文件,全局样式表仍然包含不止一次.GAH.

你怎么能绕过这个?萨斯有秘密包容警卫吗?我做错了什么吗?

ruby-on-rails sass ruby-on-rails-3.1

12
推荐指数
1
解决办法
4424
查看次数

10
推荐指数
1
解决办法
7446
查看次数

在JavaScript中,空的正则表达式模式是否定义了行为?

var pattern = /(?:)/
Run Code Online (Sandbox Code Playgroud)

从我的测试来看,它似乎与一切相符.这是定义的行为吗?

javascript regex

10
推荐指数
2
解决办法
3273
查看次数

在Vim中,为什么我不能将键重新映射到`w`?

在我的.vimrc:

noremap z w
Run Code Online (Sandbox Code Playgroud)

当我检查映射时,:map z仅显示:

z         * w
Run Code Online (Sandbox Code Playgroud)

当我按下时z,我的光标按预期移动(到下一个单词).然而,当我尝试使用类似diz或者ciz,什么都不会发生.在我的屏幕的底部,dici显示为我打字他们,但是当我键入z时,Vim兴高采烈地闲置.diwciw预期仍然工作.

我还需要做什么?是否有我不知道的映射模式?

vim

7
推荐指数
1
解决办法
798
查看次数

带有多个变量的Ruby case语句

case..when..else当你需要将标准与单个变量匹配时,Ruby有一个相当强大的构造.在不简单地嵌套case语句的情况下,将标准与多个变量匹配的"规范"方法是什么?

在数组中包装多个变量(如[x, y])并与之匹配并不等效,因为Ruby不会将魔法case ===运算符应用于数组的元素 ; 运算符仅适用于数组本身.

我将继续前进并回答社区维基的回答,并在这个问题上进行了(击败).

ruby case pattern-matching

6
推荐指数
1
解决办法
8994
查看次数

有人可以解释一下这个bash命令吗?

来自RVM的网站:

bash < <( curl https://rvm.io/releases/rvm-install-head )
Run Code Online (Sandbox Code Playgroud)

第一个小于符号的含义是什么?怎么样<(?我知道这是一个愚蠢的问题,但我很想理解这一点.

bash terminal

6
推荐指数
1
解决办法
1267
查看次数

这两个与vi相关的`.inputrc`行是多余的吗?

我见过人们建议将以下两行放在一个中.inputrc以启用vi键映射:

set editing-mode vi
set keymap vi
Run Code Online (Sandbox Code Playgroud)

有时,它们是单独推荐的; 有时,它们是一起推荐的.尔加!在任何系统上都是必需的吗?


作为一个贪婪的旁注,如果其中任何一个都包含在一个中.inputrc,是否仍然需要包括:

set -o vi
Run Code Online (Sandbox Code Playgroud)

......在一个人的.bash_profile

vi bash

6
推荐指数
1
解决办法
932
查看次数