问题列表 - 第11902页

Composite模式带给我的只有Array有什么优势?

我最近正在研究树结构,多个节点,多个可增加的级别以及print()方法.起初,我认为它应该是一个复合词,然后我写下了一些可能的设计和代码:

替代文字

$struc = new Node(‘name0’, ‘id0’, ‘desc0’);
$node1 = new Node(‘node1’, ‘id1’, ‘desc1’);
$node2 = new Node(‘node2’, ‘id2’, ‘desc2’);
$node3 = new Node(‘node3’, ‘id3’, ‘desc3’);
$leaf1 = new Leaf(‘leaf1’, ‘ld1’, ‘lesc1’);
$leaf2 = new Leaf(‘leaf2’, ‘ld2’, ‘lesc2’);
$leaf3 = new Leaf(‘leaf3’, ‘ld3’, ‘lesc3’);
$leaf4 = new Leaf(‘leaf4’, ‘ld4’, ‘lesc4’);

$struc.add($node1);
$struc.add($node3);

$node1.add($leaf1);
$node1.add($leaf2);
$node1.add($node2);

$node2.add($leaf3);    
$node3.add($leaf4);
Run Code Online (Sandbox Code Playgroud)

看起来不错,我认为并开始编码,print()方法可能会遵循Iterator模式.但在编码过程中,我觉得这些简单的节点太复杂了吗?而且我必须实例化很多具体的类(超过50多个,并且不断增加).然后我通过使用数组停止并思考一个简单的类似方法:

-- Structure Class --
//To be more readable and clear, array here could be
//divided to 3 arrays(root/nodes/leafs), then connect
//in a similar …
Run Code Online (Sandbox Code Playgroud)

php design-patterns

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

在Centos 5上安装RMagick ruby​​gem的问题

我在Centos 5上安装RMagick ruby​​gem时遇到问题.我已经按照http://rmagick.rubyforge.org/install2-linux.html中详述的步骤进行了操作,但是当我尝试:

sudo gem install rmagick
Run Code Online (Sandbox Code Playgroud)

结果是:

Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... no
Can't install RMagick 2.11.0. Can't find Magick-config in /usr/bin:/bin

*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more …
Run Code Online (Sandbox Code Playgroud)

centos5 rubygems rmagick

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

在交互时重新导入python中的模块

我知道它可以做到,但我永远不会记得如何.

如何在python中重新导入模块?方案如下:我以交互方式导入模块并修改它,但后来我遇到了错误.我修复.py文件中的错误然后我想重新导入修复模块而不退出python.我该怎么做 ?

python

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

如果相同的字符串存储在多行中,MYSQL 是否以最佳方式存储它?

我有一个表,其中一列是一种用于对表中的几行进行分组的 id 字符串。假设列名是“map”,map 的值之一是例如“walmart”。该列上有一个索引,因为我习惯于过滤属于某个地图的那些行。

我有很多这样的地图,我不知道不同的地图值从表中占用了多少空间。MYSQL 是否识别为多行存储相同的映射值并且仅在内部存储一次并且仅使用内部数字 id 引用它?

或者,如果我想减小表的大小,我是否必须明确地用数字 id 替换映射字符串并使用不同的表将映射字符串与 id 配对?

mysql database storage

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

如何在Zend Framework中实现侧边栏

如何在Zend Framework中实现侧边栏?我知道我可以在Zend_layout中使用占位符或类似的东西,但是如何在控制器中自动生成侧边栏的代码而无需在每个控制器中调用侧边栏类?我的设置如下

Application
- modules
  - blog
  - other modules
Run Code Online (Sandbox Code Playgroud)

我只想要我的博客模块的侧边栏.

我找到了这个http://www.zfforums.com/zend-framework-components-13/model-view-controller-mvc-21/how-layout-sidebar-etc-2677.html但我不明白最后一个部分"只需注入您的布局,将其注册到前端控制器......"

model-view-controller zend-framework

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

JSTL针对每个问题

我有一个for循环,当使用scriplet以下列方式填充items属性时,它工作正常:

<%
    List<LandingCategory> cats = beanFactory.getLandingCategories();
%>

<c:forEach var="cat" items="<%=cats%>">
    <c:out value="${cat.id}"/>          
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

但是,当尝试使用另一个jsp文件中指定的参数填充项目列表时,for each将无效.

JSP1
<jsp:include page="/jsp/modules/index/index_categories.jsp">    
    <jsp:param name="categories" value="<%=cats%>"/>
</jsp:include>

JSP2
<c:forEach var="cat" items="${param.categories}">
    <c:out value="${cat.id}"/>          
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

抛出以下错误:

javax.servlet.jsp.el.ELException: Unable to find a value for "id" in object of class "java.lang.String" using operator "."
Run Code Online (Sandbox Code Playgroud)

似乎它正在考虑项目列表的对象是字符串,但我不知道为什么会发生这种情况.

有没有人有任何想法?

谢谢

java foreach jsp jstl

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

如何加快T-SQL查询速度?

我开发了几个T-SQL存储过程,它们迭代了相当多的数据.第一个需要花费几分钟来运行一年的数据,这对我的目的来说很好.第二个使用相同的结构/算法,虽然数据量更多,需要两个小时,这是无法忍受的.

我正在使用SQL-Server和Query-Analyzer.是否有任何分析工具,如果有,它们如何工作?

或者,根据下面的伪代码,有关如何提高速度的任何想法?简而言之,我使用游标迭代来自直接SELECT(来自几个连接表)的数据.然后我根据值构建一个INSERT语句,并将结果INSERT到另一个表中.一些SELECTed变量在INSERTion之前需要一些操作.包括从日期值,一些基本浮点运算和一些字符串连接中提取一些日期部分.

---粗略算法/伪代码

DECLARE <necessary variables>
DECLARE @cmd varchar(1000)
DECLARE @insert varchar(100) = 'INSERT INTO MyTable COL1, COL2, ... COLN, VALUES('

DECLARE MyCursor Cursor FOR
    SELECT <columns> FROM TABLE_1 t1
    INNER JOIN TABLE_2 t2 on t1.key = t2.foreignKey
    INNER JOIN TABLE_3 t3 on t2.key = t3.foreignKey

OPEN MyCursor
FETCH NEXT FROM MyCursor INTO @VAL1, @VAL2, ..., @VALn
WHILE @@FETCH_STATUS = 0
BEGIN
   @F = @VAL2 / 1.1  --- float op
   @S = @VAL3 + ' ' + @VAL1
   SET …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server optimization profiling

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

检查列表中是否已存在相同的对象

这是故事:

我试图列出不同的集群...我只想拥有必要的集群......而集群可以是相同的.

如何通过检查列表是否包含对象(我知道对象不能在此处传递)将其添加到列表中

这是我的样本报价:

foreach (Cluster cluster in clustersByProgramme)
{
    if (!clusterList.Contains(cluster))
    {
        clusterList.Add(cluster);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# list

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

混合Objective-C和C++代码

我有一个Objective-C/C++应用程序,它使用C++库提供的功能.

其中一个C++类包含这样的枚举:

class TheClass
{
public:
[...]

enum TheEnum
{
    YES,
    NO,
};

[...]
};
Run Code Online (Sandbox Code Playgroud)

包括(使用#import -if that matters-)带有Objective-C/C++源文件(*.mm)中的上述类声明的头文件将使编译失败,因为预处理器将用术语"替换"为"YES" (BOOL)1"("(BOOL)0"同样为"NO").

有没有办法解决这个问题而不重命名枚举的值?

c++ objective-c name-clash c-preprocessor

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

使用linq2sql/datacontext将记录插入db

我正在尝试使用linq2db将标准记录插入到我的数据库中,但我一直看到ADD方法的示例,我似乎没有...我目前的情况如下,因为你可以看到我有我的datacontext. ...(没有添加方法)... Reservation类是我作为DTO创建的一个单独的类 - 我认为这是正确的吗?

任何帮助真的很感激,

    public bool AddReservation(Reservation reservation)
    {
        bool success = false;
        try
        {
            MiningDataContext db = new MiningDataContext();


            db.Reservations. // NO ADD HERE


        }
        catch { }

        return success;
    }
Run Code Online (Sandbox Code Playgroud)

c# linq database visual-studio-2008 linq-to-sql

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