问题列表 - 第27168页

PHP爆炸并设置为空字符串丢失的部分

什么是实现以下目标的最佳方法.

我有这种格式的字符串:

$s1 = "name1|type1"; //(pipe is the separator)
$s2 = "name2|type2";
$s3 = "name3"; //(in some of them type can be missing)
Run Code Online (Sandbox Code Playgroud)

我们假设nameN/ typeN是字符串,它们不能包含管道.

由于我需要逐步提取名称/类型,我这样做:

$temp = explode('|', $s1);
$name = $temp[0];
$type = ( isset($temp[1]) ? $temp[1] : '' );
Run Code Online (Sandbox Code Playgroud)

是否有更简单(更智能更快)的方式来做到这一点,而不必做isset($temp[1])count($temp).

谢谢!

php explode

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

仅返回存储过程的最后一个选择结果

要求表示:存储过程用于根据 5 个标识符搜索数据。如果存在精确匹配,则仅返回精确匹配,如果没有,但非空参数上存在精确匹配,则仅返回这些结果,否则返回任何 4 个非空参数上的任何匹配...等等

我的(简化的)代码如下所示:

create procedure xxxSearch @a nvarchar(80), @b nvarchar(80)...
as 
begin
  select whatever 
    from MyTable t
    where ((@a is null and t.a is null) or (@a = t.a)) and
          ((@b is null and t.b is null) or (@b = t.b))...

    if @@ROWCOUNT = 0
    begin
        select whatever 
          from MyTable t
          where ((@a is null) or (@a = t.a)) and
                ((@b is null) or (@b = t.b))...
          if @@ROWCOUNT = 0
          begin
             ...
          end
    end
end
Run Code Online (Sandbox Code Playgroud)

因此,可以选择更多组结果,第一组为空,我只需要最后一组。我知道在应用程序端获得最后一个结果集很容易,但是我们所有的存储过程调用都通过一个框架,该框架期望第一个表中的重要结果,我并不急于更改它并测试所有现有的 …

sql-server sql-server-2005

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

从手写的持久层迁移到ORM

我们目前正在评估从手写持久层迁移到ORM的选项.

我们有一堆遗留持久对象(~200),它实现了这样的简单接口:

interface JDBC {
    public long getId();
    public void setId(long id);
    public void retrieve();
    public void setDataSource(DataSource ds);
}
Run Code Online (Sandbox Code Playgroud)

retrieve()被调用时,对象通过发出手写SQL查询来提供的连接使用它在设定器接收到的ID(这通常是对查询的唯一参数)填充本身.它管理自己的语句,结果集等.某些对象具有特殊的retrive()方法,例如retrieveByName(),在这种情况下会发出不同的SQL.

查询可能非常复杂,我们经常连接几个表来填充表示与其他对象的关系的集合,有时连接查询是在特定的getter(延迟加载)中按需发出的.基本上,我们手动实现了大部分ORM的功能.

原因就是表现.我们对速度有很强的要求,早在2005年(编写此代码时)性能测试表明,主流ORM都没有像手写SQL一样快.

我们现在面临的让我们想到ORM的问题是:

  • 此代码中的大多数路径都经过了充分测试并且稳定.但是,一些很少使用的代码很容易出现结果集和连接泄漏,而这些泄漏很难检测到
  • 我们正在通过向持久层添加缓存来挤压一些额外的性能,并且在此设置中手动维护缓存对象是一个巨大的痛苦
  • 数据库架构更改时支持此代码是一个大问题.

我正在寻找有关什么可能是我们最好的选择的建议.据我所知,ORMs在过去5年中已经取得了进展,所以可能现在有一个提供可接受性能的ORM.在我看到这个问题时,我们需要解决这些问题:

  • 找到一种方法来重用至少一些书面SQL来表达映射
  • 有可能发出本机SQL查询而无需手动分解其结果(即避免手动,rs.getInt(42)因为它们对模式更改非常敏感)
  • 添加非侵入式缓存层
  • 保持性能数据.

你有没有可以推荐的ORM框架?

更新要了解我们正在谈论的性能数据:

  • 后端数据库是TimesTen,内存数据库,与JVM在同一台机器上运行
  • 我们发现,改变rs.getInt("column1")rs.getInt(42)带来我们认为重要的性能提升.

java sql database performance orm

9
推荐指数
2
解决办法
1184
查看次数

如何在matlab中创建一个字符串数组?

我想将一个字符串向量从C++传递给matlab.我已经尝试使用可用的函数,如mxCreateCharMatrixFromStrings,但它没有给我正确的行为.

所以,我有这样的事情:

void mexFunction(
    int nlhs, mxArray *plhs[],
    int nrhs, const mxArray *prhs[])
{
   vector<string> stringVector;
   stringVector.push_back("string 1");
   stringVector.push_back("string 2");
   //etc...
Run Code Online (Sandbox Code Playgroud)

问题是我如何将这个向量带到matlab环境中?

   plhs[0] = ???
Run Code Online (Sandbox Code Playgroud)

我的目标是能够运行:

>> [strings] = MyFunc(...)
>> strings(1) = 'string 1'
Run Code Online (Sandbox Code Playgroud)

c++ matlab mex

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

jQuery - 禁用所选选项

需要使用jQuery在选择框中禁用已选择的选项.我希望它像asmselect一样变灰.

在这里测试我的例子.

//JS
$("#theSelect").change(function(){          
  var value = $("#theSelect option:selected").val();
  var theDiv = $(".is" + value);

  theDiv.slideDown().removeClass("hidden");
});


$("div a.remove").click(function () {     
  $(this).parent().slideUp(function() { $(this).addClass("hidden"); }); 
});

//HTML
<body>
<div class="selectContainer">
    <select id="theSelect">
        <option value="">- Select -</option>
        <option value="Patient">Patient</option>
        <option value="Physician">Physician</option>
        <option value="Nurse">Nurse</option>
    </select>
</div>
<div class="hidden isPatient">Patient <a href="#" class="remove" rel="Patient">remove</a></div>
<div class="hidden isPhysician">Physician <a href="#" class="remove" rel="Patient">remove</a></div>
<div class="hidden isNurse">Nurse <a href="#" class="remove" rel="Patient">remove</a></div>
</body>?
Run Code Online (Sandbox Code Playgroud)

更新:这是完成的解决方案.感谢Patrick和Simen.

jquery html-select

56
推荐指数
4
解决办法
21万
查看次数

C++全局变量的性能

澄清:我知道邪恶的全局是什么以及何时不使用它们:)

  • 在编译的C++程序中访问/设置全局变量与本地变量时是否存在性能损失?

c++

11
推荐指数
5
解决办法
3807
查看次数

包含重复的HTML块

我基本上div在我的网站上有一个总是有相同的东西.但是,这div并不存在于所有页面上,这就是我不使用动态Web模板的原因.我想知道PHP是否有可能从服务器上的文档中获取代码并放入div中?

例如:

<div id="section...
Run Code Online (Sandbox Code Playgroud)

然后我的文本文件包含

<p>hello</p>
Run Code Online (Sandbox Code Playgroud)

基本上我希望PHP在用户看到它时将它放入div中.

如果这是一种更聪明的方法,我也会对此持开放态度.

谢谢

php template-engine

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

执行与运行与执行与执行动词

  • 你在方法名称中使用了哪些动词列表?你的个人或团队标准是什么?
  • 我讨论是否使用Do vs. Run vs. Execute vs. Perform,我想知道是否不再推荐这些中的任何一个或者人们根本不使用它们,我应该抓它们.基本上这些动词中的任何一个都意味着同样的事情......调用一些进程(方法调用).这不在CRUD之内.例如:

ExecutePayPalWorkflow();

也可以是这些名称中的任何一个:

DoPayPalWorkflow();
RunPayPalWorkflow();
PerformPayPalWorkflow();
Run Code Online (Sandbox Code Playgroud)

或者它真的不重要......因为这些动词中的任何一个都可以理解为"什么"通过其后的其他词语"PayPalWorkflow"显示你的意图

命名是我非常认真对待的事情,并且在编写代码时真正考虑了很多:

  • 它使代码对其他开发者可读
  • 几周之后,当我不记得我编码的内容时,它让我的代码可读

这个讨论适用于任何语言.我只是将这两个主要标签C#和Java放在这里,这对我来说足够好,可以得到一些可靠的答案或经验.

c# java naming-conventions

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

IIS7集成管道模式:对于Windows身份验证,Context.User间歇性地为空

我们的代码依赖于检查Global.asax Application_AuthenticateRequest(...)方法中的Context.User.Identity值来检索有关登录用户的一些信息.这在经典模式下工作正常但是当我翻转IIS以使用集成管道"Context.User"返回为null时,但只是间歇性地返回.有什么想法吗?

我有<authentication mode ="Windows">并且只在虚拟目录中启用了Windows Auth.

asp.net iis-7 windows-authentication integrated-pipeline-mode

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

如何使一个ASP.NET MVC站点从另一个"派生"

我的问题类似于"ASP.NET 2项目共享相同的文件",但与ASP.NET MVC倾斜.

基本上,我们有两个站点,一个主要基于另一个站点(大约90%的视图,控制器,图像,第二个与第一个相同).但是,在某些情况下,视图可能不同,或者第二个站点中的控制器可能与第一个不同.

在ASP.NET MVC中有没有简单的方法来实现这一点?

到目前为止,我们已经考虑使用链接文件来完成两个完全独立的项目,其中第二个项目从第一个项目共享所需的文件.

这种方法的一个问题是第二个项目中的大多数页面实际上并不存在于虚拟目录中,这使得调试很麻烦 - 您必须发布才能生成文件以便进行调试.

有没有人有更好的方法,或者这种方法可以简化的方法?

c# asp.net asp.net-mvc

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