问题列表 - 第24647页

是否可以在共享托管环境中设置MongoDB?

我正在使用GoDaddy,并希望将MongoDB用于宠物项目.我不确定它是否可能,因为它必须运行守护进程,但是,问一下它是不是有害,有办法吗?

编辑:他们已经结束了这个问题,但如果有人在这篇文章中遇到同样的问题:

虽然您无法在传统的共享环境中设置MongoDB,但由于云的神奇之处,您现在可以在以下位置找到Free Mongo Hosting:

https://mongolab.com/welcome/

https://www.mongohq.com/home

https://manage.windowsazure.com(通过mongolab)

daemon mongodb

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

操纵和比较字符串的最佳方法

我正在开发一个REST服务,所以请求可能是这样的:

/数据/主/表=客户/

我需要逐个获取段,并且对于每个段,我将决定我将要使用的对象,在我将查询的其余部分传递给该对象之后,它可以决定下一步做什么.基本上,REST查询是树上的路径:P

这意味着很多String操作(取决于查询复杂性),但StringBuilder仅用于连接和删除,您不能使用IndexOf或类似的搜索执行.

我已经开发了这个满足我要求的类,但问题是操作字符串,所以每次我得到一个段......我会创建额外的字符串,因为String是一个不可变的数据类型:

public class RESTQueryParser
{
    String _query;

    public RESTQueryParser(String query)
    {
        _query = query;
    }

    public String GetNext()
    {
        String result = String.Empty;
        Int32 startPosition = _query.StartsWith("/", StringComparison.InvariantCultureIgnoreCase) ? 1 : 0;

        Int32 i = _query.IndexOf("/", startPosition, StringComparison.InvariantCultureIgnoreCase) - 1;

        if (!String.IsNullOrEmpty(_query))
        {
            if (i < 0)
            {
                result = _query.Substring(startPosition, _query.Length - 1);
                _query = String.Empty;
            }
            else
            {
                result = _query.Substring(startPosition, i);
                _query = _query.Remove(0, i + 1);
            }
        }

        return result;
    }
} …
Run Code Online (Sandbox Code Playgroud)

.net c# string

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

关闭和普遍量化

我一直在努力研究如何在Scala中实现Church编码的数据类型.它似乎需要rank-n类型,因为你需要一个类型的第一类const函数forAll a. a -> (forAll b. b -> b).

但是,我能够如此编码对:

import scalaz._

trait Compose[F[_],G[_]] { type Apply = F[G[A]] }

trait Closure[F[_],G[_]] { def apply[B](f: F[B]): G[B] }

def pair[A,B](a: A, b: B) =
  new Closure[Compose[({type f[x] = A => x})#f,
                      ({type f[x] = B => x})#f]#Apply, Id] {
    def apply[C](f: A => B => C) = f(a)(b)
  }
Run Code Online (Sandbox Code Playgroud)

对于列表,我能够编码cons:

def cons[A](x: A) = {
  type T[B] = B => (A => B => …
Run Code Online (Sandbox Code Playgroud)

closures functional-programming scala quantifiers church-encoding

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

在linux上但不是os x的memcpy分段错误

我正在为文件作为类项目实现基于日志的文件系统.我有大量的工作在我的64位OS X笔记本电脑上,但当我尝试在CS部门的32位Linux机器上运行代码时,我得到一个seg错误.

我们给出的API允许一次写入DISK_SECTOR_SIZE(512)字节.我们的日志记录包括用户想要写入的512字节以及一些元数据(他想要写入哪个扇区,操作类型等).

总而言之,"记录"对象的大小为528字节,这意味着每个日志记录跨越磁盘上的2个扇区.

第一个记录在扇区0上写0-512,在扇区1上写0-15.第二个记录在扇区1写入16-512,在扇区2写入0-31.第三个记录在扇区2写入32-512,并且扇区3上的0-47.

所以我所做的是将我要修改的两个扇区读入2个新分配的缓冲区,从记录开始复制到buf1 + 512个偏移字节的计算偏移量.这在两台机器上都能正常工作.

但是,第二个memcpy失败了.具体来说,"record + DISK_SECTOR_SIZE-offset"在下面的代码段错误中,但仅限于linux机器上.运行一些随机测试,它会变得更加好奇.linux机器将sizeof(Record)报告为528.因此,如果我尝试将记录+ 500的memcpy转换为buf 1个字节,那么它应该没有问题.

事实上,我从记录中获得的最大偏移量是254.也就是说,memcpy(buf1,记录+ 254,1)可以工作,但是memcpy(buf1,记录+ 255,1)段错误.

有谁知道我错过了什么?

Record *record = malloc(sizeof(Record));
record->tid = tid;
record->opType = OP_WRITE;
record->opArg = sector;
int i;
for (i = 0; i < DISK_SECTOR_SIZE; i++) {
  record->data[i] = buf[i]; // *buf is passed into this function
}

char* buf1 = malloc(DISK_SECTOR_SIZE);
char* buf2 = malloc(DISK_SECTOR_SIZE);

d_read(ad->disk, ad->curLogSector, buf1);  // API to read a specified sector into a buffer
d_read(ad->disk, ad->curLogSector+1, buf2);

memcpy(buf1+offset, record, DISK_SECTOR_SIZE-offset);
memcpy(buf2, …
Run Code Online (Sandbox Code Playgroud)

c pointers memcpy segmentation-fault

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

如何确定对象或引用是否具有有效的字符串强制?

我遇到了一种情况(记录各种数据变化时),我需要确定引用是否具有有效的字符串强制(例如,可以正确打印到日志中或存储在数据库中).Scalar :: Util中没有任何东西可以做到这一点,所以我使用该库中的其他方法拼凑了一些东西:

use strict;
use warnings;

use Scalar::Util qw(reftype refaddr);

sub has_string_coercion
{
    my $value = shift;

    my $as_string = "$value";
    my $ref = ref $value;
    my $reftype = reftype $value;
    my $refaddr = sprintf "0x%x", refaddr $value;

    if ($ref eq $reftype)
    {
        # base-type references stringify as REF(0xADDR)
        return $as_string !~ /^${ref}\(${refaddr}\)$/;
    }
    else
    {
        # blessed objects stringify as REF=REFTYPE(0xADDR)
        return $as_string !~ /^${ref}=${reftype}\(${refaddr}\)$/;
    }
}

# Example:
use DateTime;
my $ref1 = DateTime->now;
my …
Run Code Online (Sandbox Code Playgroud)

perl reference coercion

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

Ruby中的方法:对象与否?

受到这种讨论的启发,经过一些谷歌搜索后,我无法找到关于Ruby方法的一个非常简单的问题的答案:方法对象与否?

这里那里有不同的意见,我真的想听听,比方说,深入解释.

我知道Object#method方法,它接受一个方法名称并返回一个Method实例,但另一方面,你可以用块做类似的事情来使它们成为Proc实例,而块不是对象,所以是什么使得方法有什么不同?

ruby methods language-features object

43
推荐指数
3
解决办法
9538
查看次数

如何在网页上运行任何内联脚本之前运行用户脚本?

我想为firefox创建一个在页面上的脚本之前运行的greasemonkey类型脚本.Greasemonkey脚本在页面上的脚本之后运行,因此不起作用.我需要这个的原因是因为我想编辑页面上的一个脚本.具体来说,我想删除一个强制页面加载到框架内的脚本,因为框架内的页面打破F5(按F5使页面跳回到首页而不是重新加载当前页面).另外,我不想通过AJAX加载代理页面,也不能切换到chrome/opera.我想也许Jetpack附加组件可以工作,但它似乎只有与greasemonkey使用相同的事件,DOMContentLoaded.有任何想法吗?

firefox greasemonkey userscripts

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

如何在选择框中检索所选选项的从零开始的索引?

假设我的HTML代码中包含以下内容:

  <select name="Currency" id="Currency">
    <option value="0.85">Euro</option>
    <option value="110.33">Japanese Yen</option>
    <option value="1.2">Canadian Dollars</option>
  </select>
Run Code Online (Sandbox Code Playgroud)

使用jQuery,我可以使用$("#Currency").val()给我选择的值,我可以$("#Currency :selected").text()用来获取所选的文本.

如何获取当前选择的从零开始的索引(在本例中为0,1或2)?

html javascript jquery

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

如何禁用移动系统菜单项?

在Microsoft Windows中,这适用于:

 mnu := GetSystemMenu(h, false);
 EnableMenuItem(mnu, SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

 mnu := GetSystemMenu(h, false);
 EnableMenuItem(mnu, SC_MOVE, MF_BYCOMMAND or MF_GRAYED);
Run Code Online (Sandbox Code Playgroud)

因此我知道如何禁用窗口的"关闭"系统菜单项,而不是"移动"项.我怎么做?

更新

当然,使用非常好的函数EnableMenuItem的一种替代方法是使用SetMenuItemInfo:

  FillChar(info, sizeOf(info), 0);
  with info do
  begin
    cbSize := sizeOf(info);
    fMask := MIIM_STATE;
    fState := MFS_GRAYED;
  end;
  SetMenuItemInfo(mnu, SC_MOVE, false, info);
Run Code Online (Sandbox Code Playgroud)

但这对SC_CLOSE再次起作用,但SC_MOVE完全没有!

更新2

即使问题已经解决,因为工作代码已经找到"完成工作",可以这么说,听到关于问题原因的假设会很有趣:为什么SC_CLOSE工作但不是SC_MOVE?

winapi systemmenu

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

用户的唯一标识符

如果我有一百个用户的表通常我会设置一个自动增量userID列作为主键.但是,如果突然我们有一百万用户或500万用户那么这变得非常困难,因为我希望开始变得更加分散,在这种情况下,自动增量主键将是无用的,因为每个节点将创建相同的主键.

解决方案是使用自然主键吗?我真的很难想到这群用户的自然主键.问题是他们都是年轻人,所以他们没有国家保险号码或我能想到的任何其他唯一标识符.我可以创建一个多列主键,但仍有机会,但重复次数发生微不足道.

有谁知道解决方案?

谢谢

sql primary-key natural-key

7
推荐指数
2
解决办法
270
查看次数