问题列表 - 第38281页

GeoDjango和MySQL:点数不能为NULL,我应该使用其他什么"空"值?

我有这个Django模型:

from django.contrib.gis.db import models

class Event(models.Model):
    address = models.TextField()
    point = models.PointField('coordinates', null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

当我使用MySQL同步此模型时,在创建索引时会打印此错误消息:

Failed to install index for events.Event model: (1252, 'All parts of a SPATIAL index must be NOT NULL')
Run Code Online (Sandbox Code Playgroud)

所以,不能使用null=True(假设我想拥有该索引),我还有其他可能性吗?我可以将点(0,0)定义为"空",但是我必须记住我计划使用数据的所有惯例,否则很多事件将发生在非洲大西洋西部的某个地方......

还有哪些其他可能性?

mysql django geodjango

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

为属性setter或getter创建一个高性能的开放委托

open delegate是没有目标的实例方法的委托.要调用它,您需要提供目标作为其第一个参数.它们是优化代码的一种聪明方法,否则会使用反射并且性能较差.有关开放代表的介绍,请参阅此内容.你在实践中使用它的方法是使用昂贵的反射代码来构建这些开放的委托,但是你可以像一个简单的委托调用一样非常便宜地调用它们.

我正在尝试编写将任意PropertyInfo转换为其setter的委托的代码.到目前为止,我想出了这个:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace Test
{
    class TestClass
    {
        static Action<T, object> MakeSetterDelegate<T>(PropertyInfo property)
        {
            MethodInfo setMethod = property.GetSetMethod();
            if (setMethod != null && setMethod.GetParameters().Length == 1) //skips over nasty index properties
            {
                //To be able to bind to the delegate we have to create a delegate 
                //type like: Action<T,actualType> rather than Action<T,object>.
                //We use reflection to do that
                Type setterGenericType = typeof(Action<,>);
                Type delegateType = setterGenericType.MakeGenericType(new Type[] …
Run Code Online (Sandbox Code Playgroud)

c# reflection delegates

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

Jquery动画在ajax加载时div高度的变化

我正在做一个简单的ajax加载来拉入搜索结果并将其显示在div中:

$('#myDiv').load('update.php?id=123', function() {
   //callback here
});
Run Code Online (Sandbox Code Playgroud)

这一切都正常,div按预期更新.'myDiv'会根据返回的结果数量缩小或增长.

如何为增长/缩小设置动画?

我知道我可以slideUp/slideDown或显示/隐藏例如

$('#myDiv').slideUp('fast').load('update.php?id=123', function() {
   $('#myDiv').slideDown('fast');
});
Run Code Online (Sandbox Code Playgroud)

但是,我不想先缩小或隐藏它 - 我希望高度从ajax加载之前的值变为ajax加载之后的值.

这可能吗?

ajax jquery jquery-animate

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

如何设计业务逻辑层

完全清楚,我不希望这个问题有解决方案。解决这个问题的很大一部分显然是解决问题。但是,我在架构良好的 n 层应用程序方面没有很多经验,我不想最终得到一个不守规矩的 BLL。

在撰写本文时,我们的业务逻辑在很大程度上是一个混合的麻线球。具有相同业务逻辑的星系间依赖关系被多次复制。我现在的重点是从我们称为数据访问层的东西中提取业务逻辑,以便我可以定义可以订阅的众所周知的事件。我想我想支持事件驱动/反应式编程模型。

我希望有某些可实现的目标告诉我如何以非常适合业务逻辑的方式设计这些类集合。如果有什么东西可以区分好的 BLL 和坏的 BLL,我想听听更多关于它们的信息。

作为一名经验丰富的程序员但相当谦虚的架构师,我向我的社区成员寻求建议。

编辑1:

所以验证逻辑进入业务对象,但这意味着业务对象需要将验证错误/逻辑传达回 GUI。这让我想到将业务操作作为对象而不是对象来实现,以提供更多关于操作必要性的元数据。我不是代码克隆的忠实粉丝。

architecture oop n-tier-architecture

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

是什么决定了SVN 1.6合并操作的速度

我很惊讶将任何特定分支的非常小的变化合并到主干中需要多长时间; 在仅仅2k长的单个文本文件中合并几行文本的1-2分钟.

如果可能的话,我希望能更快地融合,但不知道从哪里开始.我做了一个快速谷歌和缓慢合并的可能原因似乎包括以下任何和所有: -

  • 大型仓库大小(在磁盘大小和修订数量方面).
  • 大型源代码树(显然SVN必须向下爬树才能计算出更改)
  • SVN服务器/客户端的版本
  • 非常大(几MB)文件(我们没有非常大的单个文件,所以我怀疑这会影响我们)

我想我真的想知道如何找出上述哪一点让合并变得如此缓慢.

现在我不知道它是在客户端工作还是在服务器上工作花费最多的时间(我怀疑它是客户端,因为服务器上的CPU使用量不大).我确实认为可能是大量的mergeinfo累积了100多个合并,但我已经做了一个测试,我从一些分支中删除了所有合并信息然后进行了合并,发现同样的慢.

所以我想问的是: - *如何诊断/分析SVN活动?*基于以下信息,是否有一些非常明显的因素导致性能不佳?

谢谢

克里斯

以下是有关SVN设置的一些事实/数据

  • 我们的SVN存储库有大约32000个修订版.
  • 磁盘上的回购大小:8.3GB
  • 我们的开发分支机构每个都有大约1400个版本化文件夹(19,000个版本化文件)
  • SVN服务器:1.6.6(r40053)(在Ubunto Lucid Lynx上运行的Apache中托管)
  • 我在Win7上使用的是1.6.9龟(虽然团队的其他成员使用SmartSVN,他们报告的速度相同).

编辑

可能值得补充的是,当我们分支/合并时,我们从trunk分支并始终将整个分支合并回trunk.所以mergeinfo都在trunk(和branches)文件夹中.

结论

在我的情况下,似乎是磁盘访问是合并过程中的瓶颈 - 当我将源树从我的硬盘移动到我的SSD时,同样的合并从50 +/- 5s到7 +/- 1s.
合并期间在进程资源管理器中观察乌龟SVN进程非常明确:在我的硬盘上进行合并时,I/O字节在大部分时间内介于500kb/s和3Mb/s之间.在SSD上,I/O字节高达10-20Mb/s.[相当令人困惑的是,我的硬盘驱动器上的某些合并速度(和I/O字节同样很高)与我的SSD上的相似 - 在这些情况下,我假设正在读取的很多文件已经在Windows文件缓存中].

我发现以下所有增加的合并速度

  • 从源代码层次结构深处的文件夹合并:这对于我们在"现实生活"中的选择并不是真正的选择,因为如果没有在"主干级"文件夹中记录合并跟踪变得几乎不可能,但确实显示合并很多较小的树木使这个过程更快.
  • 减少正在合并的工作集的大小有帮助(假设您使用"工作集"深度合并选项而不是完全递归) - 所以通过简单地删除文件夹(从我的工作集下干线)增加速度.

svn performance merge

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

为什么Google Wave Operational Transform需要注释?

Google Wave中使用的操作转换内容具有相当好奇的文档格式.文档基本上只是一个xml子集文档 - 字符,开始标记和结束标记.除此之外,文档具有"注释",其是与范围相关联的元数据,例如开始位置和结束位置.白皮书证明了他们的存在:

Wave文档操作也支持注释.注释是与项目范围相关联的一些元数据,即开始位置和结束位置.这对于描述文本格式和拼写建议特别有用,因为它不会使底层结构化文档格式不必要地复杂化.

我当然可以看到如果选择文档中的任意范围并且例如用粗体显示会有些困难 - XML标记嵌套是严格的并且会导致打开和关闭标记插入的混乱.

但是,这实际上是一个问题吗?我的意思是,是否必须支持这样的操作,如果不是使编辑器基本上模仿多年的文字处理范例而不是结构化编辑器?将纯XML操作转换为文档结构只是简单的HTML5会是那么可怕吗?是一个性能问题,样式会在文档中作为标记吗?或者,如果操作转换模型用标记表示,它们会以某种方式在文本格式上产生令人不满意的结果吗?

另外,一个侧面问题 - 纯粹的"插入字符,删除字符,保留"操作变换模型在纯文本表示中有多好?例如,将HTML5编辑为文本 - 还是编辑维基百科文章?

google-wave

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

在SQL中遇到SQL查询问题...(非常简单的代码)

好吧基本上我的代码没有按预期工作..所以我把它完全分开,甚至把这个查询放在页面顶部; 尝试过硬编码,但仍无法正常工作.这个特定的查询应该返回5行数据到$ weapon数组,但它不起作用.

$weapons_sql = "SELECT weapon_id, weapon_name, weapon_strength FROM Weapon_Info WHERE weapon_id BETWEEN 1 AND 5";
$weapons_query = mysql_query($weapons_sql);
$weapons = mysql_fetch_array($weapons_query);


print_r($weapons);
Run Code Online (Sandbox Code Playgroud)

所以数据库中的weapon_id是smallint(8)或更确切的东西,(确切长度我不确定atm)..它在表中有30行,weapon_id从1-30不等

运行时此特定代码段返回:

Array ( [0] => 1 [weapon_id] => 1 [1] => Humvee [weapon_name] => Humvee [2] => 100 [weapon_strength] => 100 )
Run Code Online (Sandbox Code Playgroud)

我只是不明白..我的整个项目中的每个其他查询都保存了这个.请帮忙?我也尝试用> = <=运算符替换BETWEEN运算符,它输出相同的结果.

php mysql

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

在oracle查询中拆分字符串

我正在尝试从Oracle数据库表中获取电话号码.电话号码可以用逗号或"/"分隔.现在我需要拆分那些带有"/"或逗号的条目并获取第一部分.

oracle split

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

在java中获取一个字符串作为引用

所以我希望能够在Java中拥有一组可变的字符串.

我有这个测试类来查看不可变字符串的功能:

public class GetStringTest
{
    private Vector<String> m_stringList;

    public GetStringTest()
    {
        m_stringList = new Vector<String>();

        m_stringList.add("zero");
        m_stringList.add("one");
        m_stringList.add("two");
        m_stringList.add("three");
        m_stringList.add("four");
        m_stringList.add("five");
        m_stringList.add("six");
    }

    public String getString(int index)
    {
        return m_stringList.get(index);
    }

    public String toString()
    {
        String str = "";

        for (String item : m_stringList)
        {
            str += item + "\n";
        }

        return str;
    }

    public static void main(String[] args)
    {
        GetStringTest gst = new GetStringTest();

        System.out.println("=== original content ===");
        System.out.println(gst);

        String strToChange = gst.getString(2); // "two"
        strToChange = "eleventy-one"; …
Run Code Online (Sandbox Code Playgroud)

java string mutable immutability

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

有没有办法以字节为单位获得PHP变量的大小?

我目前有一个广泛使用Zend Framework的PHP CLI脚本,它似乎在运行时使用了更大量的内存.它循环遍历从数据库中检索的大量模型,批量为1000.调用以memory_get_usage()显示脚本的内存使用量总是在增加.

尽管确保在每次迭代后我都没有设置模型并且实际上在每次迭代时使用array_shift()减少模型数组的大小.

我的问题是,在PHP中是否有一种方法可以发现变量的内存大小,以便跟踪正在增长的内容?

php memory variables memory-management

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