小编sgi*_*ons的帖子

好的PHP ORM库?

PHP有一个很好的对象关系映射库吗?

我知道PDO/ADO,但它们似乎只提供数据库供应商之间差异的抽象,而不是域模型和关系模型之间的实际映射.我正在寻找一个PHP库,其功能类似于Hibernate为Java和NHibernate为.NET做的方式.

php database orm

268
推荐指数
12
解决办法
32万
查看次数

PHP YAML解析器

有没有人知道PHP的YAML解析器?如果是这样,这个图书馆的优点和缺点是什么?

php parsing yaml

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

在php中解压缩参数数组

Python提供了"*"运算符来解压缩元组列表并将它们作为参数提供给函数,如下所示:

args = [3, 6]
range(*args)            # call with arguments unpacked from a list
Run Code Online (Sandbox Code Playgroud)

这相当于:

range(3, 6)
Run Code Online (Sandbox Code Playgroud)

有谁知道在PHP中是否有办法实现这一点?一些谷歌搜索"PHP解包"的变化并没有立即出现任何东西..也许它在PHP中被称为不同的东西?

php python arguments iterable-unpacking

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

Lisp/Scheme中的自引用数据结构

有没有办法在lisp或scheme中构建一个自引用数据结构(比如带有周期的图形)?我之前从未想过它,但是由于缺乏进行破坏性修改的方法,我可以找不到任何简单的方法来制作它.这只是函数式语言的一个重要缺陷,如果是这样,那么像haskell这样的懒函数语言呢?

lisp scheme functional-programming graph data-structures

18
推荐指数
4
解决办法
3797
查看次数

如何深入复制Ruby中的Proc?

Ruby中有一种简单的方法可以生成Proc的副本吗?

我有一个Proc叫@foo.我想要另一种方法来定期用额外的逻辑来增加@foo.例如:

# create initial Proc
@foo = lambda { |x| x }

# augment with more logic
@foo = lambda { |x| x > 1 ? x*x : @foo[x] }
Run Code Online (Sandbox Code Playgroud)

希望进行扩充的第二行产生递归函数.相反,我希望@foo被值绑定到新的@foo定义的词法范围,产生一个看起来更像这样的函数:

@foo = lambda { |x| x > 1 ? x*x : lambda{ |x| x }[x] }
Run Code Online (Sandbox Code Playgroud)

我得到一个无限递归和最终的堆栈溢出,因为结果函数看起来像这样:

@foo = lambda { |x| x > 1 ? x*x : lambda { |x| x > 1 ? x*x : { lambda |x| # etc...
Run Code Online (Sandbox Code Playgroud)

我希望代码是这样的:

# …
Run Code Online (Sandbox Code Playgroud)

ruby functional-programming

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

.net持久资源管理器,用于事务性文件系统访问

我试图围绕在C#中使用System.Transactions命名空间.我在MSDN上找到了一些关于使用资源管理器的文档,但它只涵盖任何细节的易失性内存资源管理器(如Transactional).我基本上在寻找可以在TransactionScope中使用的东西,就像Transactional <>一样,但是用它来写入/修改/删除磁盘上的文件.标准库中是否存在类似的内容?我已经读过NTFS现在有"TxF"允许事务性文件系统访问 - 我期望在.net中找到一些利用它的东西.也许我需要实现自己的?

.net c# ntfs system.transactions txf

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

最小化布尔表达式NP-Complete?

我知道布尔可满足性是NP-Complete,但它是布尔表达式的最小化/简化,我的意思是以符号形式给出一个给定的表达式,并以符号形式生成一个等价但简化的表达式,NP-Complete?我不确定从可满足性到最小化的减少,但我觉得可能存在.有人有确切消息么?

algorithm complexity-theory np-complete satisfiability simplification

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

OpenRemoteBaseKey()凭据

我正在尝试使用powershell来访问远程注册表,如下所示:

$reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey("LocalMachine", $server)
$key = $reg.OpenSubkey($subkeyPath)
Run Code Online (Sandbox Code Playgroud)

根据我无法确定的某些因素,我得到了

使用"1"参数调用"OpenSubKey"的异常:"不允许请求的注册表访问."

要么

System.UnauthorizedAccessException:尝试执行未经授权的操作.Microsoft.Win32.RegistryKey.Win32ErrorStatic(Int32 errorCode,String str)at Microsoft.Win32.RegistryKey.OpenRemoteBaseKey(RegistryHive hKey,String machineName)

很明显,这是因为我正在运行powershell脚本的用户没有相应的凭据来访问远程注册表.我希望能够提供一组用于远程注册表访问的凭据,但我无法找到任何方法来执行此操作.我也不清楚确切地指定哪些用户可以远程访问注册表.

.net registry permissions powershell

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

有限时间内两个FSM等价的一般证明?

是否存在总是需要有限时间的两个(确定性)有限状态机的等价性的一般证明?也就是说,给定两个FSM,你能证明给定相同的输入它们总是产生相同的输出而不需要实际执行FSM(可能是非终止的吗?).如果确实存在这样的证据,那么时间复杂度是多少?

theory proof state-machine fsm

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

ASP:LinkBut​​ton和Eval

我在GridView中的TemplateField内部的ItemTemplate中使用ASP:LinkBut​​ton.对于链接按钮的命令参数,我想从gridview绑定的数据源传递行的ID,所以我做的是这样的:

<asp:LinkButton ID="viewLogButton" CommandName="viewLog" CommandArgument="<%#Eval("ID")%>" Text="View Log" runat="server"/>
Run Code Online (Sandbox Code Playgroud)

不幸的是,生成的HTML是这样的:

<asp:LinkButton ID="viewLogButton" CommandName="viewLog" CommandArgument="3" Text="View Log" runat="server"/>
Run Code Online (Sandbox Code Playgroud)

它似乎正在正确解析Eval(),但这在某种程度上导致它解析LinkBut​​ton标记并将其作为文字文本转储出来.有人知道吗:

a)为什么会发生这种情况,以及b)这个问题的一个好方法是什么?

asp.net gridview linkbutton templatefield

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

在C#中使用Type对象作为泛型的类型参数

我找不到在C#3.0/.NET 3.5的通用构造中使用第一类Type对象(System.Type实例)作为类型参数的方法.以下是我想要做的简化示例:

public void test()
{
    Type someType = getSomeType(); // get some System.Type object

    MyGeneric<someType> obj = new MyGeneric<someType>();  // won't compile
}
Run Code Online (Sandbox Code Playgroud)

有没有办法使用someType对象作为泛型的类型参数?

c# generics types

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

使用附加列选择INTO

我试图从一个表插入一行的副本到另一个具有相同模式的表,并添加一列(时间戳)以提供MS Sql Server 2005中第一个表的"历史记录".

所以,我的查询,没有附加列将是:

"SELECT INTO [WebsiteHistory] FROM [Website]"
Run Code Online (Sandbox Code Playgroud)

我也希望填充时间戳列,但我不确定如何最好地执行此操作.我想做点什么:

"SELECT Website.*, '" + DateTime.Now.ToShortDateString() + "' INTO [WebsiteHistory] FROM [Website]"
Run Code Online (Sandbox Code Playgroud)

但这不应该工作,特别是如果timestamp列不是最后一列.有没有办法做到这一点?

.net sql t-sql sql-server-2005

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

如何修复在服务器上部署的程序包执行期间发生的错误?

我用Sql Server商业智能开发工作室创建了一个dtsx包,我正在使用dtexec实用程序执行它.使用dtexec我在运行时使用/ set开关设置某些属性.所以我的命令看起来像:

dtexec /f "mypackage.dtsx" /set 
\Package.Connections[Destination].Properties[UserName];myUserName
Run Code Online (Sandbox Code Playgroud)

当我在我的本地系统(它开发的那个)上运行它时,这非常有效.不幸的是,当我将此包复制到另一个系统并尝试运行这个完全相同的命令时,我收到以下错误:

Warning: The package path referenced an object that could not be found: 
\Package.Connections[Destination].Properties[UserName]. This occurs when an 
attempt is made to resolve a package path to an object that cannot not be found.
Run Code Online (Sandbox Code Playgroud)

移动包的新系统安装了SSIS,并且运行与本地系统(SP2)相同版本的Sql Server.也许我误解了dtsx软件包的预期用途,但我真的不知道这是怎么回事.

ssis sql-server-2005

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