我正在使用插件将grails应用程序分解为模块,然后将内联插件位置添加到BuildConfig.groovy.现在我有一个名为'admin'的grails应用程序和一个名为'common'的插件.
'common'插件包含我所有的共享域对象,并且还安装了spring-security-core插件.据我所知,我还需要将spring-security-core插件安装到'admin'中,所以我已经完成了.
我在'common'上运行s2-quickstart,它包含Config.groovy中用户和角色的域映射.当我运行应用程序时,它会在安全内容上进行适当的重定向(通过@Secured注释).但是,当我尝试进行身份验证时,它仍在尝试查询Person而不是User.
我将'common'Config.groovy中的域映射添加到'admin'中,查询现在可以正常工作,但它无法找到我添加到'common'插件中存在的User域的其他属性.
我在这里错过了什么吗?我宁愿不必将用户和角色放在'admin'应用程序中,因为我希望能够在另一个也使用'common'插件的应用程序中重用User和Role.
更新:我意识到我安装了冲突的spring-security-core插件(复制和粘贴问题).我解决了它试图找到Person而不是User的问题.但是,现在我得到以下堆栈跟踪
java.lang.NullPointerException: Cannot get property 'clazz' on null object
at org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:56)
at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:156)
at org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:44)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:235)
at org.codehaus.groovy.grails.plugins.springsecurity.GormUserDetailsService.loadUser(GormUserDetailsService.groovy:80)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:153)
at org.codehaus.groovy.grails.plugins.springsecurity.GormUserDetailsService.loadUserFromSession(GormUserDetailsService.groovy:72)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1003)
at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)
at org.codehaus.groovy.grails.plugins.springsecurity.GormUserDetailsService$_loadUserByUsername_closure1.doCall(GormUserDetailsService.groovy:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at …Run Code Online (Sandbox Code Playgroud) 如何从Python中删除字典中的随机项?
我必须从字典中删除指定数量的项目,所以我尝试使用dict.popitem我认为是随机的,但似乎不是.
正如文档所说:
从字典中删除并返回任意(键,值)对.
对于我的问题,假设我有一个字典(例如):
>>> d = dict(zip((string.ascii_lowercase), range(1, 10)))
>>> d
{'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4, 'g': 7, 'f': 6, 'i': 9, 'h': 8}
Run Code Online (Sandbox Code Playgroud)
现在我需要从中删除一些项目(计数由用户指定).
所以我写了这个:
>>> for _ in range(4): # assume 4 items have to removed
... d.popitem()
...
('a', 1)
('c', 3)
('b', 2)
('e', 5)
Run Code Online (Sandbox Code Playgroud)
但是这段代码的问题是,每次运行脚本时,都会popitem()弹出完全相同的项目.您可以自由测试,我已经多次尝试过.
所以我的问题是:
popitem()按照应有的方式工作?删除任意项目不是随机的?我需要为请求设置HTTP标头.在NSURLRequest类的文档中,我没有找到任何有关HTTP头的信息.如何设置HTTP标头以包含自定义数据?
谁能告诉我如何在C中实现Eratosthenes算法的Sieve?我需要生成素数但我的算法很慢.
我的代码:
#include <stdio.h>
int prime(long int i)
{
long int j;
int state = 1;
for(j=2;j<i;j++)
{
if((i%j)==0){state=0;break;}
}
return state;
}
int main()
{
int t;
long int m,n,i;
scanf("%d", &t);
while(t--) {
scanf("%d %d", &m,&n);
for(i=m;i<=n;i++)
{
if(i==1){
//do nothing for 1
} else{
if(prime(i))printf("%d\n",i);
}
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
t 是测试用例的数量m和n是要打印质数的范围.
使用BETWEEN子句或使用<= AND> =比较之间是否存在性能差异?
即这两个查询:
SELECT *
FROM table
WHERE year BETWEEN '2005' AND '2010';
Run Code Online (Sandbox Code Playgroud)
...和
SELECT *
FROM table
WHERE year >= '2005' AND year <= '2010';
Run Code Online (Sandbox Code Playgroud)
在此示例中,year列是VARCHAR2(4),其上有索引.
可能吗?有人告诉我这是,但我不确定.
如果可能的话,我应该怎么做?我有一个/ www文件夹,我的网站所在.如何配置2个不同的站点?
想象一下这种情况,我有这样的功能:
Object f()
{
Object obj;
return obj;
}
Run Code Online (Sandbox Code Playgroud)
sizeof(Object)价值在哪里.
然后我调用了这个函数:
Object object = f();
Run Code Online (Sandbox Code Playgroud)
我是否正确理解第一个Object将在堆栈上创建(在函数中)然后将被复制到对象变量?
如果是这样,是否合理地在堆上的函数中创建一个对象并返回指向它而不是副本的指针?
但我的意思是必须在f()函数中创建对象- 不是通过指针或对此函数的引用传递并初始化.
编辑
我并不是说f是一个非常简单的功能.根据某些上下文,它可能有一个非常复杂的对象初始化例程.编译器是否仍会优化它?
我有一个开发者帐户,我配置了个人资料等.
如果我将iphone插入我的Mac,当我构建时,它是否会自动在我的手机上安装应用程序?
我正在尝试创建一个计算字段,如果两个值碰巧相同,则值会加倍.我在变量MY中编码这个条件.我是SQL的新手,所以我道歉.
这是我的尝试:
SELECT EXPERT_SCORE*MY
IF(CONSUMER_EXPERT_SCORE_ID= CONSUMER_EXPERT_ID, 1, -1) AS MY
FROM consumer_expert_score
WHERE CONSUMER_EXPERT_SCORE_ID=2 OR 1;
Run Code Online (Sandbox Code Playgroud)
提前致谢!
如何将整数变量传递给xml动画,如下所述:
<alpha
android:interpolator="@android:anim/decelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_shortAnimTime"
/>
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做.目前我唯一知道的是我可以像这样硬编码 - >android:duration="200"
有人知道答案吗?
c ×2
iphone ×2
sql ×2
algorithm ×1
android ×1
animation ×1
c++ ×1
cocoa ×1
cocoa-touch ×1
dictionary ×1
dns ×1
grails ×1
hosting ×1
if-statement ×1
ios ×1
java ×1
memory ×1
mysql ×1
objective-c ×1
oracle ×1
oracle10g ×1
oracle11g ×1
performance ×1
python ×1
random ×1
variables ×1
vps ×1
xml ×1