小编liv*_*cmg的帖子

连接/合并/连接两个AVL树

假设我有两个AVL树,并且第一个树中的每个元素都小于第二个树中的任何元素.将它们连接成一个单独的AVL树的最有效方法是什么?我到处搜索但没找到任何有用的东西.

c c++ algorithm avl-tree data-structures

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

如何存储Markdown评论

我想将Markdown用于我网站的评论系统,但我偶然发现了以下问题:我应该在数据库中存储什么 - Markdown中的原始评论,HTML中的解析评论,或两者兼而有之?

如果用户需要编辑他的评论,我需要用于查看的HTML版本和Markdown版本.如果我存储Markdown版本,我必须在运行时解析注释.如果我存储HTML版本,我需要在用户需要编辑时将注释转换回Markdown(我发现Markdownify,但它并不完美).如果我存储两个版本,我将使用的空间加倍.

什么是最好的选择?另外,Stack Overflow如何处理这个问题?

php database markdown

15
推荐指数
3
解决办法
2441
查看次数

按颜色分组照片

我有相当多的照片和RGB彩色地图(比方说约100种颜色).如何按颜色对图片进行分组并获得如下内容:http://labs.ideeinc.com/multicolr

我目前的想法是:使用ImageMagick,为每张照片执行此操作:

  1. 将其调整为较小的大小,以便可以更快地处理它.
  2. 使用我选择的颜色贴图,无需抖动即可对其进行量化.
  3. 获取照片的直方图以获取每种颜色出现的次数.
  4. 将颜色存储在数据库中,但我还没有弄清楚快速检索的最佳方法是什么.

你知道更好更有效的方法吗?我选择的语言是PHP,因为所有繁重的处理都将由ImageMagick完成,而数据库是PostgreSQL.先感谢您!

php postgresql colors imagemagick photos

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

如何通过分组其他表单字段来创建自定义表单字段?

我想在ExtJS 4中将几个标准表单字段组合成一个自定义表单字段.基本上,我想要一个类别选择器:当您从第一个组合框中选择一个类别时,会出现一个显示其子类别的辅助组合框,依此类推.

我已经为此编写了逻辑,它全部封装在一个扩展Ext.form.FieldSet的自定义组件中.但是,我想在带有记录的表单中使用此组件,因此我猜我需要将其转换为具有setValue,getValue和验证器等函数的字段.我发现提供所有这些的Ext.form.field.Base,但我找不到一种方法来和谐地组合这两个组件(像Ext.form.FieldSet这样的容器+像Ext.form.field.base这样的字段) .

有谁知道我是否以及如何实现这一目标?

先感谢您!

javascript extjs web-applications extjs4

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

PHP中的UTF-8验证,不使用preg_match()

我需要验证一些以UTF-8编码的用户输入.许多人建议使用以下代码:

preg_match('/\A(
     [\x09\x0A\x0D\x20-\x7E]
   | [\xC2-\xDF][\x80-\xBF]
   |  \xE0[\xA0-\xBF][\x80-\xBF]
   | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}
   |  \xED[\x80-\x9F][\x80-\xBF]
   |  \xF0[\x90-\xBF][\x80-\xBF]{2}
   | [\xF1-\xF3][\x80-\xBF]{3}
   |  \xF4[\x80-\x8F][\x80-\xBF]{2}
  )*\z/x', $string);
Run Code Online (Sandbox Code Playgroud)

这是来自http://www.w3.org/International/questions/qa-forms-utf-8的正则表达式.一切都很好,直到我发现PHP中的错误似乎至少自2006年以来一直存在.如果$ string太长,Preg_match()会导致seg错误.似乎没有任何解决方法.您可以在此处查看错误提交:http: //bugs.php.net/bug.php?id = 36463

现在,为了避免使用preg_match,我创建了一个与上面的正则表达式完全相同的函数.我不知道这个问题在Stack Overflow中是否合适,但我想知道我所做的功能是否正确.这里是:

编辑[13.01.2010]: 如果有人有兴趣,我发布的先前版本中有几个错误.以下是我的函数的最终版本.

function check_UTF8_string(&$string) {
    $len = mb_strlen($string, "ISO-8859-1");
    $ok = 1;

    for ($i = 0; $i < $len; $i++) {
        $o = ord(mb_substr($string, $i, 1, "ISO-8859-1"));

        if ($o == 9 || $o == 10 || $o == 13 || ($o >= 32 && $o <= 126)) {

        }
        elseif …
Run Code Online (Sandbox Code Playgroud)

php regex validation utf-8

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

在ExtJS 4中提交表单+网格

我有一个包含网格和一些文本字段的Ext.form.Panel,用于编辑网格中的每一行.它非常类似于:http://dev.sencha.com/deploy/ext-4.0.2a/examples/writer/writer.html,只是没有涉及AJAX; 我的数据存储是本地的.

如何通过标准POST提交网格行?

如果我只是执行myForm.submit(),则有两个问题:

  1. 正在验证用于编辑网格行的字段.提交表单时应忽略它们.

  2. 没有提交来自网格的数据.

我看到的唯一解决方案是以某种方式阻止字段被验证,并创建一些包含每行数据的隐藏字段.还有更好的选择吗?

先感谢您!

javascript extjs web-applications extjs4

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

提交表单中允许的字符(包括UTF-8)

假设我允许我的用户提交包含一些文本字段的表单(我不是在谈论密码).我的用户偶尔会使用非ASCII字符,如俄语,中文等,所以我在我的数据库中使用UTF-8字符集.问题是,我是否应该真正允许所有可能的UTF-8字符?我查看了ASCII表,看到字符0到31与文本无关,除了换行符和空格.字符176到223似乎是出于装饰目的:p.我应该限制它们吗?

ascii utf-8

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

限制IMagick中的线程数(PHP)

使用ImageMagick时,我可以为内存使用和最大线程数设置一些限制.据我所知,有3种方法可以做到这一点:

  1. 使用命令行选项,如"convert -limit memory 128mb original.jpg new.jpg"
  2. 使用像"MAGICK_THREAD_LIMIT = 1"这样的环境变量
  3. 编辑'policy.xml'配置文件以更改默认值.

我已经使用"convert -list resource"测试了这些方法中的每一个并且它们都有效.

现在,我需要在PHP中使用IMagick扩展.有一个我可以用来设置限制的功能:

bool Imagick::setResourceLimit (int $type, int $limit)
Run Code Online (Sandbox Code Playgroud)

对于第一个参数,我可以使用以下之一:

imagick::RESOURCETYPE_AREA (integer)   //equivalent of MAGICK_AREA_LIMIT
imagick::RESOURCETYPE_DISK (integer)   //equivalent of MAGICK_DISK_LIMIT
imagick::RESOURCETYPE_FILE (integer)   //equivalent of MAGICK_FILE_LIMIT
imagick::RESOURCETYPE_MAP (integer)    //equivalent of MAGICK_MAP_LIMIT
imagick::RESOURCETYPE_MEMORY (integer) //equivalent of MAGICK_MEMORY_LIMIT
Run Code Online (Sandbox Code Playgroud)

问题是没有MAGICK_THREAD_LIMIT的等价物,IMagick似乎只是忽略了配置文件和环境变量.我怎么知道这个?我已将所有内存限制设置为零,并且IMagick在报告内存不足时仍然可以正常运行.

我真的希望我已经清楚了.问题是:如何在使用IMagick时更改线程限制?

编辑:我已设法通过使用'--without-threads'选项编译ImageMagick将线程限制设置为1.:P必须要做,直到找到更好的解决方案.

php imagemagick imagick

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