我试图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) 我一起玩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
我查了另一个帖子 …
我有一个模型'组织',其中包含以下字段
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错误
有人可以告诉我如何进行此查询
我试图理解如何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) 在调用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 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列表中有一些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) 我试图在范围内创建成对的随机整数[0,n).我需要确保对于任何输入n,创建的数字,比如p,q就是这样的p != q
我试图用java.util.Random与seedsothat我可以重现的结果..我试着输入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 ..但我不记得所需的数学
有人可以帮忙吗?
我正在尝试为泛型类型元素编写一个固定大小的队列.用户可以调用构造函数,提供一个大小,并为该大小创建一个内部数组.(见下文)
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更合适.有人可以提出建议吗?
我想创建一个打印数组内容的静态方法.我为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) 看起来不对..
有人可以帮忙吗?