问题列表 - 第21281页

更糟糕的是:反思还是拳击?

我正在创建自己的DI框架,创建委托工厂作为学习练习.构建类型委托的方法是使用表达式来创建一个函数,该函数通过引用我的容器和任何构造函数参数来调用静态方法.

这引发了一个关于价值类型的有趣问题.哪个性能最高:

a)使用反射选择具有正确参数数量的静态通用方法,然后使用MakeGenericMethod删除泛型

b)去旧时尚params对象[]并采取拳击击中?

.net c# reflection performance boxing

8
推荐指数
1
解决办法
910
查看次数

需要将NSData转换为NSArray

我使用NSURLConnection从URL下拉一个plist,它返回一个NSData对象.我想将其转换为NSArray.谁能帮我?

我正在重构一个当前对URL执行同步请求的方法,使用arrayWithContentsOfURL:来获取NSArray.

谢谢!!

iphone objective-c nsurlconnection nsdata nsarray

2
推荐指数
1
解决办法
9004
查看次数

在甲骨文搞砸了桌子

我不得不承认,我只是把小狗搞砸了一个生产数据库.在SQL Developer中运行更新查询时,我没有意识到只有一部分查询被突出显示.如果您对SQL Developer有任何经验,这意味着SQL Developer将只执行查询的子部分 - 在这种情况下,显然,"UPDATE <table> SET <column> = <value>"被突出显示. .

这意味着查询变为"UPDATE <table> SET <column> = <value>".是的,提交已被按下.

除了从备份恢复之外,还有什么方法可以检索这些信息,还是现在只是搞砸了?

oracle database-restore

2
推荐指数
1
解决办法
124
查看次数

Android示例中的上下文问题"Google Map View"

我试图在Android开发者网站上实现Google Map View教程,但是当我点击叠加图片时尝试显示AlertDialog时遇到问题.问题是调用时mContext为null

AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
Run Code Online (Sandbox Code Playgroud)

在HelloItemizedOverlay的onTap方法中因为构造函数

public HelloItemizedOverlay(Drawable defaultMarker, Context context) {
    super(boundCenterBottom(defaultMarker));
    mContext = context;
}
Run Code Online (Sandbox Code Playgroud)

从来没有调用(我可以告诉)初始化mContext.当我更换

HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable);
Run Code Online (Sandbox Code Playgroud)

HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable, 
                this.getApplicationContext());
Run Code Online (Sandbox Code Playgroud)

在HelloGoogleMaps的onCreate方法中,为了初始化上下文,我得到一个例外

android.view.WindowManager $ BadTokenException:无法添加窗口 - 令牌null不适用于应用程序

当我尝试显示AlertDialog时:

dialog.show();
Run Code Online (Sandbox Code Playgroud)

我认为这个教程已经被成千上万的人成功实现,所以我很遗憾为什么没有其他人遇到这个问题...我是否错过了教程中的重要一步?

android google-maps

4
推荐指数
1
解决办法
3951
查看次数

更改python脚本的进程名称

有没有办法在Linux上更改运行python脚本的进程的名称?

当我这样做时ps,我得到的只是"python"进程名称.

python linux

24
推荐指数
4
解决办法
2万
查看次数

C++在for循环中声明int

暂时没有使用过C++.我一直依靠我的Java编译器来进行优化.

什么是在C++中进行for循环的最优化方法?或者现在与现代编译器完全相同?在"旧时代",存在差异.

for (int i=1; i<=100; i++)
Run Code Online (Sandbox Code Playgroud)

要么

int i;
for (i=1; i<=100; i++)
Run Code Online (Sandbox Code Playgroud)

要么

int i = 1;
for ( ; i<=100; i++)
Run Code Online (Sandbox Code Playgroud)

在C中它是一样的吗?

编辑: 好的,所以压倒性的共识是使用第一种情况,并让编译器优化它,如果它想.

c++

9
推荐指数
3
解决办法
8909
查看次数

弹簧单元/集成测试设置

我没有写单元或集成测试,但现在我正在尝试.我很难设置环境.

我在WEB-INF/applicationContext*.xml下有我的应用程序上下文,在我的applicationContext.xml中,它有一个对DB用户/传递,LDAP主机等的属性文件的引用

<bean id="propertyConfigurer"
            class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>/WEB-INF/spring-config/dev.properties</value>
            </list>
        </property>
    </bean>
Run Code Online (Sandbox Code Playgroud)

我有另一个log4j配置属性(DEV/Staging/Production的diff配置).${webapp.root}在web.xml中定义

 <!-- log4j setting -->
    <bean id="log4jInitialization" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
        <property name="targetClass" value="org.springframework.util.Log4jConfigurer" />
        <property name="targetMethod" value="initLogging" />
        <property name="arguments">
            <list>
                <value>${webapp.root}/${log4j.properties.location}</value>
            </list>
        </property>
    </bean>
Run Code Online (Sandbox Code Playgroud)

现在我试图将以下内容放入测试类中.

@Override
protected String[] getConfigLocations() {
   return new String[]{
            "file:trunk/code/web/WEB-INF/applicationContext.xml",
        };
}
Run Code Online (Sandbox Code Playgroud)

这正确引用了我的xml,但所有属性都被搞砸了.

我想知道以下内容:

  • 有没有办法在测试类中正确设置?如果没有,我应该移动这些课程吗?
  • 如果存在仅存在于容器中的webroot的引用,我该如何设置Log4j?
  • Spring配置位置的最佳实践是什么?

请指教

谢谢

java junit spring log4j

1
推荐指数
1
解决办法
4150
查看次数

JTree节点标签经常更改,但缓存宽度

目前,我正在使用自定义TreeCellRenderer来处理我的JTree的标签和图标更改.当我需要更改几个节点上的文本时,问题就出现了.TreeCellRenderer非常有效,因为它显示了新文本.但是,初始文本的宽度将被缓存并且不会更新.我试图通过覆盖TreeCellRenderer中的getPreferredSize来破解它,但由于我有html字符串,因此无法正常工作.我甚至试过解析标签并获得宽度,但它仍然不完美.我使用过SwingUtilities和FontMetrics.

似乎使用树的后台DefaultTreeModel.nodeChanged(TreeNode)是更改节点的正确方法.但是,我需要一个额外的数据结构来处理访问需要更改的节点.就个人而言,我只想更改需要更改的节点.但是,这将需要另一个数据结构来查找需要更新的所有节点.在这种情况下,支持JLabel大小缓存的最佳方法是什么?

java swing jtree

7
推荐指数
1
解决办法
3685
查看次数

有关django模板中对象的额外数据

我有django对象:

class Event(models.Model):
   title = models.CharField(max_length=255)
   event_start_date = models.DateField(null=True, blank='true')
   ...

class RegistrationDate(models.Model):
    event = models.ForeignKey(tblEvents)
    date_type = models.CharField(max_length=10, choices=registration_date_type)
    start_date = models.DateField(blank='true', null='true')
    end_date = models.DateField(blank='true', null='true') 
Run Code Online (Sandbox Code Playgroud)

事件可以具有早期,正常和晚期注册期.

我写了一个函数,它接受一个事件并返回以下之一:None,"Early","Normal"或"Late"

一切都很好.

在我的应用程序中,我想显示一个事件列表以及它们的注册状态.所以我这样做了一个查询.

Events = tblEvents.objects.all()
Run Code Online (Sandbox Code Playgroud)

所以我有关于事件的所有信息,但没有状态.

获取模板中显示的每个事件的状态的最简单/最佳方法是什么.

我认为我可以编写一个模板标签,但这似乎更多的工作应该是必要的.

python django django-templates django-models

0
推荐指数
1
解决办法
188
查看次数

为什么这个代码的两个版本都没有通过-c Perl检查失败?

有这个原型的new方法Parse::RecDescent:

sub new ($$$)
{
   # code goes here
}
Run Code Online (Sandbox Code Playgroud)

如果我创建这样的对象:

my $parser = Parse::RecDescent->new($grammar);
Run Code Online (Sandbox Code Playgroud)

它会创建一个解析器,该方法将接收2个参数"Parse :: RecDescent"和$ grammar,对吧?如果我尝试创建一个像这样的对象:

Parse::RecDescent::new("Parse::RecDescent",$grammar)
Run Code Online (Sandbox Code Playgroud)

这将失败说"没有足够的Parse :: RecDescent :: new参数",我理解这个消息.我只传递了2个参数.但是,我不明白为什么箭头版本有效.

你可以解释吗?

oop perl syntax-checking

3
推荐指数
1
解决办法
81
查看次数