在Ruby中,我有:
require 'uri'
foo = "et tu, brutus?"
bar = URI.encode(foo) # => "et%20tu,%20brutus?"
Run Code Online (Sandbox Code Playgroud)
我试图让bar等于"et%20tu,%20brutus%3f"("?"替换为"%3F")当我尝试添加此内容时:
bar["?"] = "%3f"
Run Code Online (Sandbox Code Playgroud)
"?" 匹配一切,我明白了
=> "%3f"
Run Code Online (Sandbox Code Playgroud)
我试过了
bar["\?"]
bar['?']
bar["/[?]"]
bar["/[\?]"]
Run Code Online (Sandbox Code Playgroud)
还有一些其他的东西,都没有用.
提示?
谢谢!
我需要在Chrome扩展程序中执行跨域请求.我知道我可以通过消息传递,但我宁愿坚持只是jQuery习语(所以我的JavaScript也可以作为一个<script src="">).
我做的很正常:
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?", function(data) {
console.log(data);
});
Run Code Online (Sandbox Code Playgroud)
但在错误控制台中我看到:
Uncaught ReferenceError: jsonp1271044791817 is not defined
Run Code Online (Sandbox Code Playgroud)
jQuery没有正确地将回调函数插入到文档中吗?我能做些什么来完成这项工作?
(如果我将代码粘贴到chrome控制台中,它可以正常工作,但如果我把它作为page.js放在扩展名中就会出现问题.)
我正在设计一个 Web 服务。请求是幂等的,所以我选择了GET方法。响应计算起来相对昂贵,而且不小,所以我想正确缓存(在协议级别)。(不要担心我的记忆,我已经讲过了;我在这里的问题实际上也是关注整个网络。)
只有一个必需参数和一些可选参数,如果缺少则具有默认值。例如,以下两个映射到响应的相同表示。(如果这是处理界面的愚蠢方式,请提出更好的建议。)
GET /service?mandatory_parameter=some_data HTTP/1.1
GET /service?mandatory_parameter=some_data;optional_parameter=default1;another_optional_parameter=default2;yet_another_optional_parameter=default3 HTTP/1.1
Run Code Online (Sandbox Code Playgroud)
但是,我想客户不知道这一点,并且会将它们分开处理,从而浪费缓存存储。我应该怎么做才能避免违反缓存的黄金法则?
ETag相同的响应做出相同的响应就足够了?我在具有两个不同域的两个不同服务器上运行两个不同的站点.一个站点运行Joomla,另一个运行Moodle.我已经将Moodle服务器配置为基于Joomla站点上的users表进行身份验证,因此我们拥有权威的用户信息源.
我想做的是:在有人登录到Joomla网站后,提供一个Moodle网站的链接,该网站将默默登录,有点伪造单点登录解决方案.Joomla中的密码是MD5'd,每个密码都有自己的秘密盐.
如何解决这个问题的第一个想法是告诉Moodle密码以纯文本形式存储,然后通过隐藏的表单输入,在点击链接时发送加密密码.除了明显的安全问题之外,它还意味着如果他们尝试通过Moodle界面登录,他们需要输入一个巨大的MD5字符串,因为这是Moodle认为他们的密码.
我一直在考虑更改Moodle中的身份验证模块,这样如果提交的密码符合某些条件(例如:它是32个十六进制字符),那么在与Joomla版本进行比较之前不要使用MD5 - 问题在于任何人都可以(在发现加密密码时)然后使用它来登录.我需要的是一些特殊方式将加密密码从Joomla发送到Moodle并发信号通知Moodle以不同方式处理该登录请求.
有什么想法吗?
我试图通过添加"图像服务器"(用于处理图像请求的专用服务器)以及将.gif,.jpg,.png等的所有请求重定向到我来减少web服务器的负载.
我的问题是,处理重定向的最佳方法是什么?
感谢您提供有关最佳方法的任何建议.
--Update--
我要补充的一点是,这些是为第三方托管的域,因此我不能指望所有开发人员修改他们的代码并将他们的图像指向另一台服务器.
我已经看到了在不同场景下使用多个.net应用程序设置单点登录的资源,但是有可能为.NET和CF网站提供SSO解决方案吗?
谢谢!
我们有一个 WinForms 应用程序,它使用 SQL Server 来存储其数据。为了对应用程序用户进行身份验证,我们使用 SQL Server 进行身份验证。用户必须拥有数据库服务器上存在的用户名/密码才能登录。
到目前为止,一切都很好。
现在我们的一位客户希望我们实现单点登录。他们希望能够在不输入任何用户名/密码的情况下启动我们的应用程序,他们希望使用 Windows 来验证用户身份。
您对我们如何实现这一目标有什么建议吗?
我注意到,与不同依赖方签约的用户体验存在巨大差异.我自己实现了一些依赖方,所以我已经有了一些想法,但我很想知道其他人有什么有效,什么没有.经验证据(OpenID登录统计数据之前/之后)将是理想的,但轶事的东西也很好.即便是小调整也会很有趣.
身份提供者对这个等式有多大影响?雅虎的实施显然很糟糕,而myOpenID非常好.Verisign是类似金库的,我开始认为这会严重影响用户体验.但其他人呢?您是否看到用户与一个提供商相比有更多问题?
如果有的话,最好的做法是什么呢?
已经创建了Object-Relational-Mappers来帮助应用程序(以对象的方式思考)以与其他类/对象类似的应用程序友好方式处理存储的数据.
但是,我从未见过NoSQL"Key/Value"存储系统的OKM(Object-Key/Value-Mapper).这看起来很奇怪,因为需要更多的东西,因为更多的价值关系必须硬编码到应用程序中而不是常规的单个SQL表行对象.
four requests:
user:id
user:id:name
user:id:email
user:id:created
vs one request:
user = [id => ..., name => ..., email => ...]
Run Code Online (Sandbox Code Playgroud)
此外,您必须跟踪"列表"(发布has_many评论),因为您没有通过表或外键使用has_many.
INSERT INTO user_groups (user_id, group_id) VALUES (23, 54)
vs
usergroups:user_id = {54,108,32,..}
groupsuser:group_id = {23,12,645,..}
Run Code Online (Sandbox Code Playgroud)
还有更多的逻辑示例,应用程序需要复制正常关系数据库使用的一些基本功能.所有这些原因使OKM的声音听起来像鞋子.
有吗?有什么理由没有吗?
可能已经问过但我找不到..这里有两种常见的情况(对我而言编程rails ..)在ruby中写的很令人沮丧:
"a string".match(/abc(.+)abc/)[1]
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我得到一个错误,因为字符串不匹配,因此调用[]运算符为零.我想要找到的是一个更好的替代方案:
temp="a string".match(/abc(.+)abc/); temp.nil? ? nil : temp[1]
Run Code Online (Sandbox Code Playgroud)
简而言之,如果它不匹配则只返回nil而没有错误
第二种情况是这样的:
var = something.very.long.and.tedious.to.write
var = something.other if var.nil?
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我想只在不是nil的情况下为var分配一些东西,如果它是零,我将分配something.other ..
有什么建议吗?谢谢!