问题列表 - 第24280页

Oracle,PDO_OCI与OCI8

我工作的公司目前使用一些基本功能来抽象OCI库作为数据库连接的手段.我们正在考虑切换到PHP的PDO对象,但从一些快速搜索来看,看起来Oracle驱动程序比其他PDO驱动程序稍微不成熟.对于在生产环境中使用PDO/oci8的人,我将不胜感激.

谢谢!

php oracle pdo oracle-call-interface

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

添加JavaScript文件

我试图通过使用插入标题中的Javascript文件的引用drupal_add_js().我将此行放在template.php中的模板预处理函数中.代码根本不起作用的结果:输出中没有脚本链接.谁能告诉我我做错了什么?

function phptemplate_preprocess_page(&$vars) {
    $url = drupal_get_path("theme","mysite");  
    drupal_add_js($url."/jquery.js");  
    drupal_add_js($url."/drupal.js");  

.....
Run Code Online (Sandbox Code Playgroud)

javascript drupal drupal-6 drupal-templates

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

在调用自定义NHibernate IIdentifierGenerator之后确保插入

设置

我们数据库的一些"旧旧旧"表使用了一种奇特的主键生成方案[1],我试图用NHibernate覆盖这部分数据库.这种生成方案主要隐藏在称为"ShootMeInTheFace.GetNextSeededId"的存储过程中.

我写了一个IIdentifierGenerator调用这个存储过程:

public class LegacyIdentityGenerator : IIdentifierGenerator, IConfigurable
{
    // ... snip ...
    public object Generate(ISessionImplementor session, object obj)
    {
        var connection = session.Connection;

        using (var command = connection.CreateCommand())
        {
            SqlParameter param;

            session.ConnectionManager.Transaction.Enlist(command);

            command.CommandText = "ShootMeInTheFace.GetNextSeededId";
            command.CommandType = CommandType.StoredProcedure;

            param = command.CreateParameter() as SqlParameter;
            param.Direction = ParameterDirection.Input;
            param.ParameterName = "@sTableName";
            param.SqlDbType = SqlDbType.VarChar;
            param.Value = this.table;
            command.Parameters.Add(param);

            // ... snip ...

            command.ExecuteNonQuery();

            // ... snip ...

            return ((IDataParameter)command
                .Parameters["@sTrimmedNewId"]).Value as string);
     }
}
Run Code Online (Sandbox Code Playgroud)

问题

我可以在XML映射文件中映射它,它工作得很好,但....

当NHibernate尝试批量插入时,例如在级联中,或者 …

legacy nhibernate nhibernate-mapping

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

在数据绑定期间不会绑定继承的属性

我有两个接口,IAuditable和ITransaction.

public interface IAuditable{
    DateTime CreatedOn { get; }
    string CreatedBy { get; }
 }

public interface ITransaction : IAuditable {
    double Amount{ get; }
} 
Run Code Online (Sandbox Code Playgroud)

还有一个实现ITransaction的类,调用Transaction.

public class Transaction : ITransaction{
    public DateTime CreatedOn { get { return DateTime.Now; } }
    public string CreatedBy { get { return "aspnet"; } }
    public double Amount { get { return 0; } }
}
Run Code Online (Sandbox Code Playgroud)

当我将ITransactions列表绑定到数据网格并使用自动创建列时,只有Amount被绑定.没有看到CreatedBy和CreatedOn.有没有办法在数据绑定期间可以看到这些值?

c# data-binding interface winforms

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

最好使用元组或numpy数组来存储坐标

我正在将一个C++科学应用程序移植到python,因为我是python的新手,我想到了一些问题:

1)我正在定义一个包含坐标(x,y)的类.这些值将被访问多次,但它们只会在类实例化后读取.在内存和访问时间方面使用元组或numpy数组是否更好?

2)在某些情况下,这些坐标将用于构建复数,在复杂函数上进行评估,并将使用此函数的实际部分.假设无法分离此函数的实部和复杂部分,并且最后必须使用实部,可能最好直接使用复数来存储(x,y)?在python中从复杂到真实的转换有多糟糕?c ++中的代码执行了很多这些转换,这在代码中是一个很大的减速.

3)还必须执行一些坐标转换,对于坐标,将分别访问x和y值,转换完成,并返回结果.坐标变换是在复平面中定义的,因此直接使用组件x和y比依赖复杂变量更快?

谢谢

python arrays tuples numpy complex-numbers

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

如何使用YourKit Java Profiler连接到Java命令行工具?

我在Java中构建了一个命令行工具,我现在想用YourKit进行分析.我启动命令行工具,例如:

$ java -classpath .:foo.bar.jar com.foobar.tools.TheTool arg1 arg2 arg3
Run Code Online (Sandbox Code Playgroud)

它在不到2秒的时间内完成.

在阅读http://www.yourkit.com/docs/80/help/agent.jsp后,我尝试了以下内容:

$ java -agentpath:/home/dspitzer/yjp-8.0.24/bin/linux-x86-32/libyjpagent.so -classpath .:foo.bar.jar com.foobar.tools.TheTool arg1 arg2 arg3
Run Code Online (Sandbox Code Playgroud)

......我得到:

[YourKit Java Profiler 8.0.24] JVMTI version 3001016d; 14.3-b01; Sun Microsystems Inc.; mixed mode, sharing; Linux; 32-bit JVM
[YourKit Java Profiler 8.0.24] Profiler agent is listening on port 10001...
[YourKit Java Profiler 8.0.24] *** HINT ***: To get profiling results, connect to the application from the profiler UI
...
Run Code Online (Sandbox Code Playgroud)

(然后工具运行完成并退出.)

我猜(默认情况下,至少)YourKit旨在只连接到正在运行的应用程序.

我应该如何修改命令行工具以允许从YourKit连接?

  1. 我可以添加一个命令行选项,让它暂停输入,我不会按返回它继续,直到我从YourKit连接到它.
  2. 是否有一个YourKit API,我可以添加到我的工具,这将导致它阻止,直到我与YourKit连接?
  3. 是否有一个YourKit API或一个java命令行选项,可以创建一个分析"快照",我可以使用YourKit稍后加载和分析(在命令行工具完成后)?

java connection profiling yourkit

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

为什么Java的invokevirtual需要解析被调用方法的编译时类?

考虑这个简单的Java类:

class MyClass {
  public void bar(MyClass c) {
    c.foo();
  }
}
Run Code Online (Sandbox Code Playgroud)

我想讨论一下c.foo()行会发生什么.

原创,误导性问题

注意:并非所有这些实际上都发生在每个invokevirtual操作码上.提示:如果您想了解Java方法调用,请不要只阅读invokevirtual的文档!

在字节码级别,c.foo()的内容将是invokevirtual操作码,并且根据invokevirtual 的文档,或多或少会发生以下情况:

  1. 查找编译时类MyClass中定义的foo方法.(这涉及首先解析MyClass.)
  2. 做一些检查,包括:验证c不是初始化方法,并验证调用MyClass.foo不会违反任何受保护的修饰符.
  3. 找出实际调用的方法.特别是,查找c的运行时类型.如果该类型具有foo(),则调用该方法并返回.如果没有,查找c的运行时类型的超类; 如果该类型具有foo,则调用该方法并返回.如果没有,查找c的运行时类型的超类的超类; 如果该类型具有foo,则调用该方法并返回.等等..如果找不到合适的方法,那么错误.

单独的步骤#3似乎足以确定调用哪个方法并验证所述方法具有正确的参数/返回类型.所以我的问题是为什么第一步执行第一步.可能的答案似乎是:

  • 在步骤#1完成之前,您没有足够的信息来执行步骤#3.(乍一看似乎难以置信,所以请解释一下.)
  • 在#1和#2中完成的链接或访问修饰符检查对于防止发生某些不良事件至关重要,并且必须基于编译时类型而不是运行时类型层次结构执行这些检查.(请解释.)

修订问题

行c.foo()的javac编译器输出的核心将是这样的指令:

invokevirtual i
Run Code Online (Sandbox Code Playgroud)

其中i是MyClass的运行时常量池的索引.该常量池条目的类型为CONSTANT_Methodref_info,并将指示(可能是间接的)A)调用方法的名称(即foo),B)方法签名,以及C)调用该方法的编译时类的名称on(即MyClass).

问题是,为什么需要编译时类型(MyClass)的引用?由于invokevirtual将在c的运行时类型上进行动态调度,因此将引用存储到编译时类是不是多余的?

java methods jvm virtual-functions

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

SQLite的CASE语句贵吗?

我想知道是不是建议在SQLite(或其他SQL引擎)中使用CASE语句来替换数据.例如,假设我有一个查询.

SELECT Users, 
                CASE WHEN Active = 0 THEN 'Inactive'
                        WHEN Active = 1 THEN 'Active'
                        WHEN Active = 2 THEN 'Processing'
                        ELSE 'ERROR' END AS Active
FROM UsersTable;
Run Code Online (Sandbox Code Playgroud)

何时更好地创建引用表并执行JOIN.在这种情况下,我将使用ActiveID,ActiveDescription创建一个表'ActiveStatesTable'并执行JOIN.

mysql sql sqlite

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

如何在Python中使用PIL将图像合成到另一个图像上?

我需要拍摄一张图片并将其放置在新生成的白色背景上,以便将其转换为可下载的桌面壁纸.所以这个过程会:

  1. 生成具有1440x900尺寸的全新白色图像
  2. 将现有图像放在顶部,居中
  3. 保存为单张图片

在PIL中,我看到了ImageDraw对象,但没有任何迹象表明它可以将现有图像数据绘制到另一个图像上.任何人都可以推荐的建议或链接?

python image-processing python-imaging-library

63
推荐指数
3
解决办法
7万
查看次数

从R中的for循环写入数据帧

我正在尝试从循环写入R中的数据帧,例如像这样的循环>

for (i in 1:20) {
print(c(i+i,i*i,i/1))}
Run Code Online (Sandbox Code Playgroud)

并将每行3个值写入具有三列的数据帧,以便每次迭代都采用新行.我尝试过使用矩阵,ncol = 3并按行填充,但只能从循环中获取最后一项.

谢谢.

for-loop r dataframe

16
推荐指数
4
解决办法
6万
查看次数