小编Jam*_*sen的帖子

如果我只使用OpenID,我应该在401s上传递WWW-Authenticate标头?

HTTP规范声明:

10.4.2 401未经授权

该请求需要用户身份验证.响应必须包含WWW-Authenticate头字段(第14.47节),其中包含适用于所请求资源的质询.

如果我支持的唯一登录方案是OpenID(或CAS或OAuth令牌,等等),我应该在这个字段中添加什么?也就是说,如何指示客户端需要预先验证并创建会话,而不是尝试与每个请求一起发送凭据?

在您回答之前,"不要发送401;发送3xx重定向到OpenID登录页面",对于非HTML客户端呢?例如,Stack Overflow如何执行我的自定义软件可以与之交互的API?

openid authentication http http-headers

34
推荐指数
1
解决办法
2万
查看次数

开源Ruby项目

我刚刚开始研究Ruby,并代替Jeff周末的建议......

  1. 停止理论化.
  2. 写很多软件.
  3. 从错误中吸取教训.

...我有兴趣在帮助开源社区这个过程的同时磨练我的技能,所以我想我会问是否有人对你所知道或参与的用Ruby编写的酷/有趣的开源项目有任何建议.

ruby open-source

31
推荐指数
5
解决办法
2万
查看次数

如何吸引开发人员加入开源项目?

如何吸引开发人员加入开源项目?显然,如果项目很酷或很有价值,那么找人会更容易.(事实上​​,他们可能会来找我.)但是我该怎么做才能平凡或不引人注意?

广告项目?垃圾邮件论坛?或者只是继续插手,希望其他人注意到?

这是时间问题,项目真棒还是运气?

open-source

27
推荐指数
4
解决办法
1572
查看次数

哪些元素支持:: before和:: after伪元素?

我试图<input>在HTML5中为s 提出一些好的默认样式并尝试以下方法:

input::after         { display: inline; }
input:valid::after   { content: ' ? '; color: #ddf0dd; }
input:invalid::after { content: ' ? '; color: #f0dddd; }
Run Code Online (Sandbox Code Playgroud)

唉,::after内容永远不会出现.伪元素的双冒号与单冒号不是问题; 我试过了两个.拥有伪元素和伪类也不是问题; 我试过它不:valid:invalid.我在Chrome,Safari和Firefox中都有相同的行为(Firefox没有:valid:invalid伪类,但我没有那些尝试过.)

伪元件正常工作的<div>,<span>,<p>,和<q>元素-其中一些是块元件和一些是内联.

所以,我的问题是:为什么浏览器同意<input>s没有::after?我在规范中找不到任何可以表明这一点的内容.

html css forms pseudo-element

22
推荐指数
3
解决办法
9252
查看次数

如何在Ruby中编组lambda(Proc)?

Joe Van Dyk 询问了Ruby邮件列表:

嗨,

在Ruby中,我猜你不能编组一个lambda/proc对象,对吗?在lisp或其他语言中这可能吗?

我想做什么:

l = lamda { ... }
Bj.submit "/path/to/ruby/program", :stdin => Marshal.dump(l)
Run Code Online (Sandbox Code Playgroud)

所以,我正在向BackgroundJob发送一个lambda对象,该对象包含要执行的操作的上下文/代码.但是,猜测这是不可能的.我最终编组了一个普通的ruby对象,其中包含程序运行后要执行的操作的说明.

ruby lambda serialization proc-object

21
推荐指数
2
解决办法
7313
查看次数

在Rails中进行A/B拆分测试有哪些资源?

有关A/B拆分测试的一些信息:

我可以在Rails应用程序中执行此操作,在我的视图中使用简单caseif语句,但这会有很多重复.有没有宝石支持这个?任何有用的设计模式?

ruby ruby-on-rails ab-testing

21
推荐指数
4
解决办法
8101
查看次数

UML中的构造型和类继承之间有什么区别?

我对UML中"刻板印象"和"超类"之间的区别感到困惑.

假设我想创建一个涉及" WidgetMaker." 的图表. WidgetMaker显然是一个ActorUML标准是刻板它的演员:

<<Actor>> WidgetMaker
Run Code Online (Sandbox Code Playgroud)

但我在Java/Ruby/C++世界中长大了编程.在那个世界里,这种关系是:

class Actor
end

class WidgetMaker < Actor
end
Run Code Online (Sandbox Code Playgroud)

在UML中看起来像这样:

  Actor
    ^
    |
WidgetMaker
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:为什么UML有过一次定型时,你可以很容易地使用模型类的继承,它的概念有.

一旦我们有更多"种类"的演员,问题变得更加模糊:

              Actor
                ^
                |
    ------------------------
    |           |          |
  Person      Robot      Group
    ^
    |
WidgetMaker
Run Code Online (Sandbox Code Playgroud)

<<Actor>> <<Person>> WidgetMaker
Run Code Online (Sandbox Code Playgroud)

inheritance uml stereotype

21
推荐指数
2
解决办法
2万
查看次数

重置输入控件的边框颜色(HTML/Javascript)

有没有人知道如何使用javascript修改输入控件的边框颜色?通过突出显示其中包含不正确或无效数据的字段等来进行验证.

例如改变边界:

document.getElementById('myinput').style.border = '1px solid red';
Run Code Online (Sandbox Code Playgroud)

怎么重置?下一行完全删除边框...

document.getElementById('myinput').style.border = '';
Run Code Online (Sandbox Code Playgroud)

如果我将边框颜色重置为特定颜色(例如黑色或灰色等),在某些浏览器/操作系统中可能看起来很奇怪,那些"主题"控件......

谢谢堆!

html javascript validation dom border

20
推荐指数
2
解决办法
3万
查看次数

对于Ruby来说,有没有比CGI更好的HTML转义和转义工具?

CGI.escapeHTML是非常糟糕的,但CGI.unescapeHTML完全被塞了.例如:

require 'cgi'

CGI.unescapeHTML('&#8230;')
# => "…"                    # correct - an ellipsis

CGI.unescapeHTML('&hellip;')
# => "&hellip;"             # should be "…"

CGI.unescapeHTML('&#162;')
# => "\242"                 # correct - a cent

CGI.unescapeHTML('&cent;')
# => "&cent;"               # should be "\242"

CGI.escapeHTML("…")
# => "…"                    # should be "&#8230;"
Run Code Online (Sandbox Code Playgroud)

看来,unescapeHTML知道所有的数字代码加&amp;,&lt;,&gt;,和&quot;.并且escapeHTML只知道最后四个 - 它没有做任何数字代码.我知道转义通常不需要那么强大,因为HTML将允许大多数字符的文字版本,除了CGI.escapeHTML知道的四个字符.但是,失业应该会更好.

有没有更好的工具,至少对于unescaping?

html ruby escaping

19
推荐指数
1
解决办法
4862
查看次数

如何在加载iframe时处理错误?

我有一个<iframe>其他网站可以包括所以他们的用户可以POST将表格返回到我的网站.我想优雅地处理我的网站关闭或我的服务器无法提供<iframe>内容的情况(即响应超时或4xx或5xx错误).我尝试添加一个onError<iframe>对象,但似乎并没有做任何事情:

showIFrame = function() {
  var iframe = document.createElement('iframe');
  iframe.id = 'myIFrame';
  iframe.src = 'http://myserver.com/someURLThatFailsToLoad';
  iframe.onError = iframe.onerror = myHandler;
  document.body.appendChild(iframe);
};

myHandler = function(error) {
  document.getElementById('myIFrame').style.display = 'none';
  console.error('Error loading iframe contents: ' + error);
  return true;
};
Run Code Online (Sandbox Code Playgroud)

如果我的服务器返回一个404我只是获取我的未找到页面的内容<iframe>.实际上,永远不会触发该错误处理程序.有没有办法让这项工作?

(我目前正在使用Chrome进行测试,但我希望它也适用于FF和IE> = 7.)

html javascript error-handling iframe

19
推荐指数
1
解决办法
5万
查看次数