我们正在设计新项目,我们需要确定缓存框架.我们正在寻找用于缓存的ehcache和lucene.我们需要决定是否使用lucene或ehcache来满足我们的缓存要求?使用ehcache或lucene进行缓存的优点/缺点是什么?
我正在尝试查询所有在1-2天前过生日的用户,他们今天过生日,从现在起1-2天.
是否可以以纯粹的rails方式进行,而无需编写特定于DB的SQL查询?
用户模型很简单:user_id,name,dob
这里有一个很好的解决方案,但这并不是我需要的.
当我运行Thor任务时,是否可以先调用特定任务?
我的Thorfile:
class Db < Thor
desc "show_Version", "some description ..."
def show_version # <= needs a database connection
puts ActiveRecord::Migrator.current_version
end
private
def connect_to_database # <= call this always when a task from this file is executed
# connect here to database
end
end
Run Code Online (Sandbox Code Playgroud)
我可以在每个任务中编写"connect_to_database"方法,但这看起来不是很干.
我正面临这个奇怪的问题而且我不确定我哪里出错了.
情况:
我有一个MainWindowController类,它将加载要显示的正确的nib.我创建了一个对象并将其更改为IB中的MainWindowController类,并将其与"MainWindowView"笔尖一起使用.
因此,基本上笔尖"MainWindowView"具有自定义视图和侧面的几个按钮,以便用户可以选择要加载的视图,并且它将加载其他相应的笔尖.我在IB中启动时隐藏了mainmenu,所以它只加载MainWindowView和其他nib文件.
然而,在调试时,当我在MainWindowController的awakeFromNib上放置NSLog时,我在控制台中看到它被调用了两次.
在我的项目中,我有一个startupController类和MainMenu.xib以及以下代码.
startUpController.h:
#import <Cocoa/Cocoa.h>
#import "MainWindowController.h"
@interface startupController : NSObject {
MainWindowController *myWindowController;
}
@end
Run Code Online (Sandbox Code Playgroud)
startUpController.m:
#import "startupController.h"
@implementation startupController
-(void)awakeFromNib {
[super init];
if(myWindowController == nil)
myWindowController = [[MainWindowController alloc] initWithWindowNibName:@"MainWindowView"];
[myWindowController showWindow:self];
}
@end
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.谢谢.
在Tomcat 6上部署两个或更多应用程序时,我无法使用JNDI.请考虑以下情形:我有2个webapps,其中每个web.xml包含一个JNDI参数.
web.xml webapp A:
<env-entry>
<env-entry-name>testEntry</env-entry-name>
<env-entry-value>value A</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
web.xml webapp B:
<env-entry>
<env-entry-name>testEntry</env-entry-name>
<env-entry-value>value B</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
当我部署两个webapps并查找testEntry的值时,两个 webapps都返回值A.似乎只有第一个加载的web.xml中的JNDI参数可用.根据我对JNDI的理解,每个web.xml都包含webapp特定的JNDI值,这些值仅在各自的上下文中可用.我在做什么/想错了?
这导致了我的下一个问题.如何定义所有上下文中可用的全局JNDI参数?在tomcat文档中,我读过你应该使用{CATALINA_HOME} /conf/context.xml来达到这个目的.但环境条目在上下文中不可用.将它们放在{CATALINA_HOME} /conf/web.xml中使它们可以全局访问,但我怀疑这是正确的方法.
这是我的Java代码来查找它们:
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
String value = (String)envCtx.lookup("testEntry");
任何帮助都会受到欢迎,因为关于JNDI的好文档是伤痕.
最近我读到了MDC中的JavaScript调用用法
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/call
如下所示的一个例子,我仍然不明白.
他们为什么在这里使用继承呢?
Prod_dept.prototype = new Product();
Run Code Online (Sandbox Code Playgroud)
这有必要吗?因为有一个超级构造函数的调用
Prod_dept()
Run Code Online (Sandbox Code Playgroud)
无论如何,像这样
Product.call
Run Code Online (Sandbox Code Playgroud)
这只是出于常见的行为吗?何时使用超级构造函数调用或使用原型链更好?
function Product(name, value){
this.name = name;
if(value >= 1000)
this.value = 999;
else
this.value = value;
}
function Prod_dept(name, value, dept){
this.dept = dept;
Product.call(this, name, value);
}
Prod_dept.prototype = new Product();
// since 5 is less than 1000, value is set
cheese = new Prod_dept("feta", 5, "food");
// since 5000 is above 1000, value will be 999
car = new Prod_dept("honda", 5000, "auto");
Run Code Online (Sandbox Code Playgroud)
谢谢你让事情更清楚
我有以下情况:我做了一些提交到我的本地存储库,然后另一个分支(~150提交)的巨大合并到主 - 它有很多冲突.
现在,我想在合并之前将我提交的提交移动到推送之前.
通常情况下,我会使用"rebase -i".
不幸的是,默认行为是打破我所做的一次合并提交,实际上已经将150多个提交添加到单独的提交中(我理解它就像我将使用rebase而不是合并开始) - 这是不好的行为我有几个原因.
我发现了rebase的'-p'标志,它保留了合并,并且非常高兴.不幸的是,这实际上再次应用了相同的合并,并且忘记了我在解决冲突方面的辛勤工作.再次 - 不好的行为!
是否有我想要的解决方案?合并后使用rebase -i重新排序或编辑特定提交而不必重复我的合并后操作?
谢谢!
我正在尝试获取当前正在运行的Python脚本的名称.
例如,我有一个调用的脚本foo.py,我想在其中执行类似的操作:
print Scriptname
Run Code Online (Sandbox Code Playgroud)
得到:foo.py.
我想每2小时执行一次任务.Python有一个Timer in Threading模块,但是它能满足我的需求吗?我如何自己生成一个合适的计时器?