HTTP规范声明:
10.4.2 401未经授权
该请求需要用户身份验证.响应必须包含WWW-Authenticate头字段(第14.47节),其中包含适用于所请求资源的质询.
如果我支持的唯一登录方案是OpenID(或CAS或OAuth令牌,等等),我应该在这个字段中添加什么?也就是说,如何指示客户端需要预先验证并创建会话,而不是尝试与每个请求一起发送凭据?
在您回答之前,"不要发送401;发送3xx重定向到OpenID登录页面",对于非HTML客户端呢?例如,Stack Overflow如何执行我的自定义软件可以与之交互的API?
我刚刚开始研究Ruby,并代替Jeff周末的建议......
...我有兴趣在帮助开源社区这个过程的同时磨练我的技能,所以我想我会问是否有人对你所知道或参与的用Ruby编写的酷/有趣的开源项目有任何建议.
如何吸引开发人员加入开源项目?显然,如果项目很酷或很有价值,那么找人会更容易.(事实上,他们可能会来找我.)但是我该怎么做才能平凡或不引人注意?
广告项目?垃圾邮件论坛?或者只是继续插手,希望其他人注意到?
这是时间问题,项目真棒还是运气?
我试图<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?我在规范中找不到任何可以表明这一点的内容.
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对象,其中包含程序运行后要执行的操作的说明.
乔
有关A/B拆分测试的一些信息:
我可以在Rails应用程序中执行此操作,在我的视图中使用简单case或if语句,但这会有很多重复.有没有宝石支持这个?任何有用的设计模式?
我对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) 有没有人知道如何使用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)
如果我将边框颜色重置为特定颜色(例如黑色或灰色等),在某些浏览器/操作系统中可能看起来很奇怪,那些"主题"控件......
谢谢堆!
CGI.escapeHTML是非常糟糕的,但CGI.unescapeHTML完全被塞了.例如:
require 'cgi'
CGI.unescapeHTML('…')
# => "…" # correct - an ellipsis
CGI.unescapeHTML('…')
# => "…" # should be "…"
CGI.unescapeHTML('¢')
# => "\242" # correct - a cent
CGI.unescapeHTML('¢')
# => "¢" # should be "\242"
CGI.escapeHTML("…")
# => "…" # should be "…"
Run Code Online (Sandbox Code Playgroud)
看来,unescapeHTML知道所有的数字代码加&,<,>,和".并且escapeHTML只知道最后四个 - 它没有做任何数字代码.我知道转义通常不需要那么强大,因为HTML将允许大多数字符的文字版本,除了CGI.escapeHTML知道的四个字符.但是,失业应该会更好.
有没有更好的工具,至少对于unescaping?
我有一个<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 ×4
ruby ×4
javascript ×2
open-source ×2
ab-testing ×1
border ×1
css ×1
dom ×1
escaping ×1
forms ×1
http ×1
http-headers ×1
iframe ×1
inheritance ×1
lambda ×1
openid ×1
proc-object ×1
stereotype ×1
uml ×1
validation ×1