小编dam*_*mon的帖子

libmemcached-1.0.8在ubuntu lucid中失败

我试图libmemcached-1.0.8在ubuntu lucid中从源代码制作和安装.我尝试了这些步骤

sudo wget http://download.tangent.org/libmemcached-1.0.8.tar.gz
sudo ./configure -prefix=/usr
sudo make
Run Code Online (Sandbox Code Playgroud)

make命令导致此错误

In file included from memcached/assoc.c:14:
memcached/memcached.h:18:19: error: event.h: No such file or directory

    In file included from memcached/assoc.c:14:
    memcached/memcached.h:358: error: field ‘notify_event’ has incomplete type
    memcached/memcached.h:380: error: field ‘event’ has incomplete type
    make[1]: *** [memcached/memcached_memcached-assoc.o] Error 1
    make[1]: Leaving directory `/usr/local/src/libmemcached-1.0.8'
    make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)

我已经安装了memcached

sudo apt-get install memcached
Run Code Online (Sandbox Code Playgroud)

我尝试使用whereis memcached ..显示,检查memcached的位置

memcached: /usr/bin/memcached /etc/memcached.conf /usr/include/memcached /usr/share/memcached /usr/share/man/man1/memcached.1.gz
Run Code Online (Sandbox Code Playgroud)

谁能告诉我应该怎样做才能正确制作和安装这个库?

编辑:

根据@sarnold的建议,我用过

sudo apt-get install …
Run Code Online (Sandbox Code Playgroud)

ubuntu memcached libmemcached

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

java HashMap的快速行为失败

我一起玩java.util.HashMap,了解fail-fast行为是什么.

HashMap map = new HashMap();
map.put("jon", 10);
map.put("sean", 11);
map.put("jim", 12);
map.put("stark", 13);
map.put("vic", 14);
Set keys = map.keySet();
for(Object k:keys) {
    System.out.println(map.get(k));
}

for(Object k:keys) {
   String key =(String)k;
   if(key.equals("stark")) {
      map.remove(key);
    }
}

System.out.println("after modifn");
for(Object k:keys) {
    System.out.println(map.get(k));
}
Run Code Online (Sandbox Code Playgroud)

我得到了结果

12
11
10
14
13
after modifn
12
11
10
14
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用迭代器

Iterator<String> itr = keys.iterator();
while(itr.hasNext()) {
    String key = itr.next();
    if(key.equals("stark")) {
        map.remove(key);
    }
}
Run Code Online (Sandbox Code Playgroud)

ConcurrentModificationException在任何一种情况下我都没有得到任何东西..这是因为(来自javadoc)

迭代器的快速失败行为无法得到保证,因为一般来说,在存在非同步并发修改的情况下,不可能做出任何硬性保证.失败快速迭代器会尽最大努力抛出ConcurrentModificationException

我查了另一个帖子 …

java hashmap concurrentmodification

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

是否可以在django中使用逻辑OR进行查询

我有一个模型'组织',其中包含以下字段

class Organization(models.Model):
    members = models.ManyToManyField(User,related_name='org_members')
    title = models.CharField(max_length=200)
    description = models.TextField()
    founder = models.ForeignKey(User,related_name='org_founder')
    def __unicode__(self):
        return self.title
Run Code Online (Sandbox Code Playgroud)

进行查询以获取用户所属的所有组织

me=User.objects.get(username='damon')
Organization.objects.filter(members=me)
Run Code Online (Sandbox Code Playgroud)

类似地进行查询以获取用户是创建者的所有组织

Organization.objects.filter(founder=me)
Run Code Online (Sandbox Code Playgroud)

我想写一个查询,它将获取用户所属的所有组织或他是其创始人的课程.

我试过这个如下

Organization.objects.filter(members=me or founder=me)
Run Code Online (Sandbox Code Playgroud)

这会导致Invalid Syntax错误

有人可以告诉我如何进行此查询

python django django-queryset

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

java String构造函数逻辑

我试图理解如何java String实现.jdk7 source下面的代码显示了一个检查.originalValue.length > size我无法弄清楚它将如何实现/何时实现.我试图在一些java String创建语句中使用eclipse调试器,但这个检查从来都不是真的.是否有可能设计一个String参数,使这个检查成立?

public final class String{
    /** The value is used for character storage. */
    private final char value[];

    /** The offset is the first index of the storage that is used. */
    private final int offset;

    /** The count is the number of characters in the String. */
    private final int count;

    /** Cache the hash code for the string */
    private int hash; // Default to 0

     /** …
Run Code Online (Sandbox Code Playgroud)

java string

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

python从列表中的条目中删除所有空格

在调用readlines().srt文件时,我得到了一个包含大量前导和尾随空格的字符列表,如下所示

with open(infile) as f:
    r=f.readlines()
    return r
Run Code Online (Sandbox Code Playgroud)

我得到了这份清单

['\xef\xbb\xbf1\r\n', '00:00:00,000 --> 00:00:03,000\r\n', "[D. Evans] Now that you've written your first Python program,\r\n",'\r\n', '2\r\n', '00:00:03,000 --> 00:00:06,000\r\n', 'you might be wondering why we need to invent new languages like Python\r\n', '\r\n']
Run Code Online (Sandbox Code Playgroud)

为简洁起见,我只包含了一些元素.如何清理此列表,以便删除所有空白字符并仅获取相关元素

 ['1','00:00:00,000 --> 00:00:03,000',"[D. Evans] Now that you've written your first Python program"...]
Run Code Online (Sandbox Code Playgroud)

python string list

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

在dict键和值上使用zip

我对python docs for dictclass中的这一段感到有些困惑

如果调用items(),keys(),values(),iteritems(),iterkeys()和itervalues()而没有对字典进行干预,则列表将直接对应.这允许使用zip()创建(值,键)对:pairs = zip(d.values(),d.keys())

是什么意思called with no intervening modifications

如果我收到一个由某个函数喷出的dict实例(我无法知道这些元素是否因为dict被创建而被修改)..我还能使用zip(d.values(),d.keys())吗?

python dictionary

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

基于键排序python列表

我在python列表中有一些Entrys.每个Entry都有一个创建日期和创建时间.这些值存储为python datetime.date和datetime.time(作为两个单独的字段).我需要获取以前排序的Entrys列表创建条目来自其他人.

我知道有一个list.sort()函数接受一个关键函数.在这种情况下,我是否必须使用日期和时间来创建一个日期时间并将其用作关键字sort()?有一个datetime.datetime.combine(date,time)为此.但是如何在sort函数中指定它呢?

我试过了 key = datetime.datetim.combine(created_date,created_time)

但口译员抱怨说 the name created_date is not defined

class Entry: 
   created_date = #datetime.date
   created_time  = #datetime.time
   ...

my_entries_list=[Entry1,Entry2...Entry10]
my_entries_list.sort(key = datetime.datetim.combine(created_date,created_time))
Run Code Online (Sandbox Code Playgroud)

python sorting key

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

在java中生成随机数对,使得p!= q

我试图在范围内创建成对的随机整数[0,n).我需要确保对于任何输入n,创建的数字,比如p,q就是这样的p != q

我试图用java.util.Randomseedsothat我可以重现的结果..我试着输入100,200,400,800,他们都创造了P,Q这样p !=q.但在16002对用p == q

public static void generate(int size){      
    Random ran = new Random();
    ran.setSeed(123456L);       
    for(int i =0;i<size;i++){
        int p = ran.nextInt(size);
        int q = ran.nextInt(size);
        if(p==q)
            System.out.println(p+" equals "+q);
        //else
            //System.out.println(p+" "+q);
    }
}

public static void main(String[] args) {
    generate(1600);

}
Run Code Online (Sandbox Code Playgroud)

这给了

692 equals 692
843 equals 843
Run Code Online (Sandbox Code Playgroud)

我确信有一些方法可以确保p!= q对于任何输入n ..但我不记得所需的数学

有人可以帮忙吗?

java random

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

当用户尝试添加到完整容器时抛出的异常

我正在尝试为泛型类型元素编写一个固定大小的队列.用户可以调用构造函数,提供一个大小,并为该大小创建一个内部数组.(见下文)

class FixedSizeQ<E>{
    private E[] q;
    private int N;

    public FixedSizeQ(int max) {
        super();
        q = (E[]) new Object[max];
        N = 0;
    }
..
}
Run Code Online (Sandbox Code Playgroud)

我想到了为上面定义一个isEmpty()和isFull()方法以及一个insert()方法.如果客户端试图向已经完整的数组添加一个元素,我想抛出一个异常.通过javadocs,我以为IllegalStateException抛出是正确的例外.

public boolean isFull(){
    return N == q.length;
}
public void insert(Item item){
    if(isFull()){
        throw new IllegalStateException("queue full");
    }
    ...     
}
Run Code Online (Sandbox Code Playgroud)

我想知道我的理解是否正确.有人建议IllegalArgumentException更合适.有人可以提出建议吗?

java queue exception

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

在java中创建一个通用的静态方法

我想创建一个打印数组内容的静态方法.我为String []写了一个如下所示

public static void print(String[] a){
    for(String x : a){
    System.out.print(x+", ");
    }
    System.out.println();
}
Run Code Online (Sandbox Code Playgroud)

我以为我可以创建一个接受泛型类型的方法,并修改如下代码

public class ArrayPrinting<E> {

    public static void printArray(E[] a){
        for(E x : a){
            System.out.print(x+", ");
        }
        System.out.println();
    }
    public static void main(String[] args) {
        String[] a = {"A","B","C","D","E"};


    }
}
Run Code Online (Sandbox Code Playgroud)

但是,这会产生编译错误

'无法对非静态类型E进行静态引用

那么,我该如何创建这样的方法呢?还是不可能?由于这是一个静态方法,我想知道如何在不创建实例的情况下调用该方法.像这样的电话

ArrayPrinting<E>.printArray(a) 看起来不对..

有人可以帮忙吗?

java generics

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