我很好奇$scope.$eval
你经常在指令中看到你,所以我查看了源代码,发现以下内容rootScope.js
:
$eval: function(expr, locals) {
return $parse(expr)(this, locals);
},
Run Code Online (Sandbox Code Playgroud)
$parse
似乎是由ParseProvider
in 定义的parse.js
,它似乎定义了它自己的某种迷你语法(文件长900行).
我的问题是:
究竟在$eval
做什么?为什么它需要自己的迷你解析语言?
为什么不使用普通的旧JavaScript eval
?
在我的JavaFx应用程序中,我需要在整个句子中用粗体字表示一两个字.目前,句子呈现为JavaFx标签,但升级组件也不允许我将文本设置为以便我可以将单词"Sample"以粗体显示.
String s = "This is a <b>Sample</b> sentence"
Label label = new Label(s);
Run Code Online (Sandbox Code Playgroud)
产量
This is a Sample sentence
JavaFx Text也不允许这样做.是否有任何组件,我可以用粗体表示部分文本?
我不确定JavaFx WebView是否适合在窗口中渲染许多小句子.
我正在Rails中为现实世界组织的成员构建一个基于社区的站点.我正在努力坚持RESTful设计的最佳实践,而且大多数都是或多或少地通过书本.使我的大脑在整洁的RESTful圈子中运行的问题是授权.身份验证是一个容易,长期解决的问题,广泛接受的RESTful解决方案,但RESTful授权似乎有点黑色艺术.我正在尝试找到这样一种方法,它将提供最通用和灵活的框架来控制对资源的访问,同时尽可能简单,同时符合RESTful架构.(还有一匹小马.)
注意事项:
考虑(2)是最让我担忧的问题.在我的权限概念和RESTful动作概念之间似乎存在阻抗不匹配.例如,选择帖子(如留言板).REST指示在Post资源上存在四个操作:创建,读取,更新和删除.很容易说用户应该能够更新自己的帖子,但只允许某些用户(或角色或组)锁定它们.表示锁定的传统方式在Post的状态内,但是这会导致在相同条件下的用户可能或可能无法根据他提供的(完全有效)值更新帖子的气味.对我来说,似乎有两种不同的行动来改变邮政的状态,
(我应该注意,这个问题与由于无效或不一致的数据导致更新失败的问题截然不同- 来自非特权用户的锁定请求原则上非常有效,简单地不允许.)
腐烂不是分解另一个词吗?
这可以通过分解Post来克服:一个Lock是一个特定帖子的子资源,而Create或Destroy一个可能具有单独的权限.这个解决方案具有REST环,但它带来了理论和实践方面的困难.如果我将锁定分解出来,那么其他属性呢?假设我完全决定只允许一名管理员修改帖子的标题?然后,授权的简单更改需要重组数据库以适应它!这不是一个解决方案.为了在分解策略下允许这种灵活性,需要每个属性都是资源.这有点进退两难.我的隐含假设是资源在数据库中表示为表.在这个假设下,每个属性的资源表示每个属性的表.显然,这是不切实际的.但是,要消除这种假设会导致表和资源之间的阻抗不匹配,这可能会打开它自己的蠕虫病毒.使用这种方法需要比我给出的更深入的考虑.一方面,用户合理地希望能够一次编辑多个属性.请求在哪里?到包含所有属性的最小资源?并行地对每个单独的资源?到月球?使用这种方法需要比我给出的更深入的考虑.一方面,用户合理地希望能够一次编辑多个属性.请求在哪里?到包含所有属性的最小资源?并行地对每个单独的资源?到月球?使用这种方法需要比我给出的更深入的考虑.一方面,用户合理地希望能够一次编辑多个属性.请求在哪里?到包含所有属性的最小资源?并行地对每个单独的资源?到月球?
其中一些东西不像其他东西......
假设我没有分解属性.然后,替代方案似乎是为每个资源定义一组权限.然而,在这一点上,REST的同质性已经丧失.为了定义资源的访问规则,系统必须具有该资源功能的特定知识.此外,现在不可能一般地将权限传播给后代资源 - 即使子资源具有相同名称的特权,特权之间也没有固有的语义连接.在我看来,定义类似REST的标准权限集是两个世界中最糟糕的,所以我对每种类型的资源都会遇到单独的权限层次结构.
好吧,我们做了鼻子.还有帽子.但这是一种资源!
我看到的一个建议减轻了上述方法的一些缺点,即将权限定义为资源上的create/delete 和属性的读/写.该系统是属性 - 资源和每资源特权之间的折衷:一个仍然只有CRUD,但为了授权,读取和更新属于属性,可以将其视为伪资源.这提供了属性 - 资源方法的许多实际好处,尽管概念完整性在某种程度上受到了损害.权限仍然可以从资源传播到资源,从资源传播到伪资源,但绝不会从伪资源传播.我还没有充分探讨这一战略的后果,但似乎它似乎很有希望.在我看来,这样的系统最适合作为模型的组成部分.例如,在Rails中,它可能是一个改进版ActiveRecord
.这对我来说似乎相当激烈,但授权是如此根本的交叉关注,这可能是合理的.
哦,不要忘记小马
所有这些都忽略了预测权限的问题.显然,用户应该能够编辑自己的帖子,但没有其他人的帖子.同样显然,管理员编写的权限表不应该为每个用户分别记录.这几乎不是一个罕见的要求 - 诀窍是使它成为通用的.我认为我所需要的所有功能都可以通过仅使规则具有预测性来获得,从而可以快速且立即地确定规则的适用性.规则" allow User write Post where Author(User, Post)
"将转换为" for all User, Post such that Author(User, Post), allow User write Post
"和" deny all write Post where Locked(Post)
"转换为" for all Post such that Locked(Post), deny all write Post
".(这将是伟大的如果所有这些谓词都可以用一个用户和一个资源来表达.)概念上得出的"最终"规则将是非预测性的.这提出了如何实现这样一个系统的问题.谓词应该是Model类的成员,但我不确定如何在规则的上下文中优雅地引用它们.要安全地这样做需要某种反思.在这里我再次感觉这将需要改进Model实现. …
我正在尝试授权我的独立应用程序.但是在我单击"允许"后,它总是重定向到http://oauth.vk.com/error?err=2
并将其作为响应主体给出:
{"error":"invalid_request", "error_description":"Security Error"}
Run Code Online (Sandbox Code Playgroud)
这是请求URL(我有正确的client_id
):
https://oauth.vk.com/authorize?client_id=...&scope=messages,offline&redirect_uri=https://oauth.vk.com/blank.html&display=page&v=5.37&response_type=token
Run Code Online (Sandbox Code Playgroud)
看来我已经尝试了一切:
scope
为位掩码我正在学习D语言(我很熟悉C++)...我想做一些Windows特定的东西,所以我写这个只是为了试用API:
import core.sys.windows.windows;
import std.stdio;
string name()
{
char buffer[100];
uint size = 100;
GetComputerNameA(&buffer[0], &size);
return buffer;
}
void main()
{
writeln(name());
}
Run Code Online (Sandbox Code Playgroud)
我收到了回复声明:
test.d(11): Error: cannot implicitly convert expression (buffer) of type char[100] to string
Run Code Online (Sandbox Code Playgroud)
好吧,在C++中,它会调用构造函数来创建一个字符串.它表示隐式,所以让我们用C样式转换:return (string)buffer;
.
test.d(11): Error: C style cast illegal, use cast(string)buffer
Run Code Online (Sandbox Code Playgroud)
好的,我记得,语法不同.
return cast(string)buffer;
Run Code Online (Sandbox Code Playgroud)
现在它编译但我只是垃圾.
我认为那是因为它将字符串中的指针存储到临时缓冲区.我不想这样做,我想把字符复制成一个字符串,但我很烦人,我似乎无法找到如何做到这一点?
所以问题:
如何从正确分配存储的char数组构造实际字符串?(复制字符)
像这样分配一个随机大小的缓冲区并转换为字符串似乎很难看.在D中有没有正确的方法呢?(我正在谈论一般性问题,不是专门针对此API,以防万一有另一个API来获取计算机名称).
如果在手册中回答了其中任何一个,我应该在哪里查找详细信息?
感谢您的帮助和建议.
是否有java实用程序clone()
为HashMap
这样做的方法,它不仅复制地图元素的地图对象(如clone()
在HashMap
类中)?
我正在使用twitter oauth登录.但是,当我执行request_token
第一步时,响应代码始终返回401 Unauthorized
.
我已经搜索了一周,但我找不到解决方案,请帮助.
这是我的联系:
URL url = new URL("https://api.twitter.com/oauth/request_token");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestProperty("Host","api.twitter.com");
conn.setRequestProperty("Authorization", data);
conn.setRequestMethod("POST");
conn.connect();
Run Code Online (Sandbox Code Playgroud)
对于我的数据:
String data = "OAuth oauth_nonce=\"" + oauth_nonce
+ "\", oauth_callback=\"" + oauth_callback
+ "\", oauth_signature_method=\"" + oauth_signature_method
+ "\", oauth_timestamp=\"" + oauth_timestamp
+ "\", oauth_consumer_key=\"" + oauth_consumer_key
+ "\", oauth_signature=\"" + oauth_signature
+ "\", oauth_version=\"" + oauth_version + "\"";
Run Code Online (Sandbox Code Playgroud)
另外,我确信我的签名是正确的,因为我使用了twitter示例的参数,我可以计算与其示例相同的结果,所以我认为我的方法是正确的.
这是我的计算:
String oauth_para = "oauth_callback=" + oauth_callback
+ "&oauth_consumer_key=" + oauth_consumer_key
+ "&oauth_nonce=" + oauth_nonce
+ …
Run Code Online (Sandbox Code Playgroud) 如何[]const []const u8
在不使用分配器的情况下构建?
我可以
var slice: []const []const u8 = undefined;
slice.len = 0;
// use slice
Run Code Online (Sandbox Code Playgroud)
但肯定有更好的方法。
说实话,我对别名有点困惑,所以我希望有人可以帮助我更好地理解它们.为了解释我所缺少的内容,我将使用示例.
让我们说我有:
Criteria criteria = session.createCriteria(Car.class)
criteria.createAlias("doors", "doors");
Run Code Online (Sandbox Code Playgroud)
这意味着现在我可以使用一些Restrcitions来找到Car
沿着这些线的左侧或其他东西的门.
现在我的问题是,如果我在哪里添加多个别名:
criteria.createAlias("doors", "doors").createAlias("doors.keytype", "keytype");
Run Code Online (Sandbox Code Playgroud)
和
criteria.createAlias("tier".tier);
Run Code Online (Sandbox Code Playgroud)
这是什么意思?我的criteria
对象有所有这些别名?在哪种情况下,getAlias()
方法会返回什么?
来自API:
获取此条件实例封装的实体的别名.
我的印象是所有的别名都被这个实例封装了?我错了吗?我不知何故失去了我的第一个别名?
如果我做的事情如下:
Criteria criteri2 = criteria.createAlias("tier".tier);
Run Code Online (Sandbox Code Playgroud)
这是否意味着两者criteria
和criteria2
点都相同Criteria
或差异,哪一个指向别名?
如果每个都createAlias
返回一个Criteria
应该我分配给原始criteria
或新的?
好吧,我希望你能看到我的困惑.