小编Yuv*_*dam的帖子

从Django中的其他网站缓存数据

假设我有一个简单的视图,需要解析来自外部网站的数据.

现在它看起来像这样:

def index(request):
    source = urllib2.urlopen(EXTERNAL_WEBSITE_URL)
    bs = BeautifulSoup.BeautifulSoup(source.read())
    finalList = [] # do whatever with bs to populate the list
    return render_to_response('someTemplate.html', {'finalList': finalList})
Run Code Online (Sandbox Code Playgroud)

首先,这是否可以接受?

显然,这在性能方面并不好.外部网站页面非常大,我只提取了一小部分内容.我想到了两个解决方案:

  1. 以异步方式完成所有这些操作.加载页面的其余部分,一旦我得到它就填充数据.但我甚至不知道从哪里开始.我刚开始使用Django并且从未做过任何异步直到现在.
  2. 我不在乎这个数据是否每2-3分钟更新一次,因此缓存也是一个很好的解决方案(也节省了额外的往返次数).我该如何缓存这些数据?

python django caching

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

您如何模仿将数据推送到Web应用程序?

显然,您无法将数据推送到Web应用程序,因为HTTP在请求 - 响应周期中工作.

但是,您知道哪些黑客/方法可以模仿将数据推送给客户?

language-agnostic ajax networking web-applications http

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

Apache服务的纯HTML网站可以被黑客攻击吗?

假设您在Apache上运行纯HTML网站.只提供静态文件,没什么动态,没什么花哨的.

还假设所有密码都是安全的,没有社交黑客攻击(即网络钓鱼攻击等...)

这种性质的网站基本上可以被黑客攻击吗?服务器可能会受到损害吗?这有什么例子吗?

security

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

ConcurrentHashMap修饰符的同步

我想借助于缓存一些IO ConcurrentHashMap.二进制文件的修改也应该反映在缓存中.由于缓存将由多个线程使用,因此所有IO操作都是同步的.地图的修改进入同synchronized一块内.大致如下:

synchronized (file) {
    file.deleteRecord(index)
    map.remove(index);
}
Run Code Online (Sandbox Code Playgroud)

synchronized(file) {
    file.writeRecord(index, record);
    map.put(index, record);
}
Run Code Online (Sandbox Code Playgroud)

这两个mapfile是私人,而不是从缓存级外看到.

如果缓存读取,是否保持线程安全,即map.get(index)没有synchronized块?

正如我前面提到的,ConcurrentHashMap用作地图实现.

java concurrency synchronization concurrenthashmap

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

jQuery通配符选择

假设你有一些<div>s:

<div id="div_num1"></div>
<div id="div_num2"></div>
<div id="div_num3"></div>
Run Code Online (Sandbox Code Playgroud)

您可以通过选择选择所有这些div $("div[id^='div_num']").你如何建立一个引用前缀后面的数字的函数?

例如,一个将警告数字3的函数"div_num3".

更一般地说,如何在jQuery选择器中使用完整的正则表达式?

regex jquery

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

列出对三角洲系列的理解

你如何在python中编写列表推导来生成有序列表中项目n-1之间的一系列增量n

例:

L = [5,9,2,1,7]
RES = [5-9,9-2,2-1,1-7] = [4,7,1,6] # absolute values
Run Code Online (Sandbox Code Playgroud)

python list-comprehension

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

设置现有的Django + South项目实例

我已经和django + south一起工作了一段时间,仍然没有把这个问题钉死.

使用现有应用程序和随时间添加的现有迁移来获取现有项目.现在假设您要将其部署到具有干净数据库的新开发机器(例如).

这个过程会是什么?

请记住,此时的设置包含:

INSTALLED_APPS = (
    'django.contrib.auth',
    # ...
    'south',
    'myapp1',
    'myapp2',
)
Run Code Online (Sandbox Code Playgroud)

因此,一方面,如果您尝试运行迁移,则由于尚未存在数据库,因此您将无法获得任何内容.但是,如果你试图syncdb它只是在没有南迁移的情况下进行同步.

那么这样做的正确过程是什么?

django django-south

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

序列化的对象构造 - 这是首选?

假设您有一个SomeClass具有自己的实现的类toString(),并且还能够通过读取相同的字符串来解析自身的新实例.

您更喜欢哪种方法,还是更好用?您可以将其定义为另一个构造函数:

public SomeClass(String serializedString);
Run Code Online (Sandbox Code Playgroud)

或者你可以将它定义为静态方法,然后创建一个新实例(由其他构造函数之一,用它做一些,并返回新实例:

public static SomeClass toObject(String serializedString);
Run Code Online (Sandbox Code Playgroud)

它甚至重要吗?(我的预感是没有任何重要的事情,但我正在努力确保)

java oop parsing

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

如何更正此程序执行的错误?

我已经尝试过所有的东西,这是我的第一个C++程序,但它并没有出来.我收到两条错误消息.error7:1 warning: character constan too long for its type.7:error: expe

//My first C++ program
#include <iostream>
int main():
{
    "-std::cout << "I will get it" << -std::cout::end1";
    "-std::cout << "I hope so" << -std::end1;
    return(0);
}
Run Code Online (Sandbox Code Playgroud)

c++

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

Visual Studio 2005中的C++错误检测

来自不同的开发环境(主要是Java)我试图对我习惯的习惯进行类比.

我正在使用Visual Studio 2005中的C++项目,该项目在更改后需要大约10分钟进行编译.奇怪的是,如果我发出一个小的语法错误,我需要等待几分钟,以便在运行整个项目构建时从编译器获得反馈.

Eclipse给了我一个习惯,即如果我做了一些小改动,我会立即得到编译器错误,下划线显示错误.似乎足够合理,VS应该能够做到这一点.

alt text http://i31.tinypic.com/zlrm0j.png

这是我可以在VS中启用的,还是我需要一个外部插件?

c++ visual-studio visual-c++-2005

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

Oracle(?)数据库转储文件

我有一个遗留的数据库转储文件,它启动如下:

^C^@&D
EXPORT:V07.03.04
DHISTO
RTABLES
8192
0
^@    Mon Jan 11 09:02:31 2010
TABLE "ABCD"
CREATE TABLE "ABCD" ("TIME" DATE, "ELEMENT" CHAR(16), ....
Run Code Online (Sandbox Code Playgroud)

从"EXPORT:V07.03.04"和我拥有的数据,我假设这是一个Oracle数据库转储(v7).我可以使用哪些工具导入此数据?


谢谢大家的帮助.我最终安装了Oracle XE 10g,并使用它来导入转储文件 - 工作得很好.

database oracle

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

这条线返回了什么?

int lf = ((t.left==null) = (t.right==null)) ? 1:0;
Run Code Online (Sandbox Code Playgroud)

如果较大括号中的语句为真,则返回1,但在中间,是否为lefT分配正确的值?

java

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