假设我有一个简单的视图,需要解析来自外部网站的数据.
现在它看起来像这样:
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)
首先,这是否可以接受?
显然,这在性能方面并不好.外部网站页面非常大,我只提取了一小部分内容.我想到了两个解决方案:
显然,您无法将数据推送到Web应用程序,因为HTTP在请求 - 响应周期中工作.
但是,您知道哪些黑客/方法可以模仿将数据推送给客户?
假设您在Apache上运行纯HTML网站.只提供静态文件,没什么动态,没什么花哨的.
还假设所有密码都是安全的,没有社交黑客攻击(即网络钓鱼攻击等...)
这种性质的网站基本上可以被黑客攻击吗?服务器可能会受到损害吗?这有什么例子吗?
我想借助于缓存一些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)
这两个map和file是私人,而不是从缓存级外看到.
如果缓存读取,是否保持线程安全,即map.get(index)没有synchronized块?
正如我前面提到的,ConcurrentHashMap用作地图实现.
假设你有一些<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选择器中使用完整的正则表达式?
你如何在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) 我已经和django + south一起工作了一段时间,仍然没有把这个问题钉死.
使用现有应用程序和随时间添加的现有迁移来获取现有项目.现在假设您要将其部署到具有干净数据库的新开发机器(例如).
这个过程会是什么?
请记住,此时的设置包含:
INSTALLED_APPS = (
'django.contrib.auth',
# ...
'south',
'myapp1',
'myapp2',
)
Run Code Online (Sandbox Code Playgroud)
因此,一方面,如果您尝试运行迁移,则由于尚未存在数据库,因此您将无法获得任何内容.但是,如果你试图syncdb它只是在没有南迁移的情况下进行同步.
那么这样做的正确过程是什么?
假设您有一个SomeClass具有自己的实现的类toString(),并且还能够通过读取相同的字符串来解析自身的新实例.
您更喜欢哪种方法,还是更好用?您可以将其定义为另一个构造函数:
public SomeClass(String serializedString);
Run Code Online (Sandbox Code Playgroud)
或者你可以将它定义为静态方法,然后创建一个新实例(由其他构造函数之一,用它做一些,并返回新实例:
public static SomeClass toObject(String serializedString);
Run Code Online (Sandbox Code Playgroud)
它甚至重要吗?(我的预感是没有任何重要的事情,但我正在努力确保)
我已经尝试过所有的东西,这是我的第一个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) 来自不同的开发环境(主要是Java)我试图对我习惯的习惯进行类比.
我正在使用Visual Studio 2005中的C++项目,该项目在更改后需要大约10分钟进行编译.奇怪的是,如果我发出一个小的语法错误,我需要等待几分钟,以便在运行整个项目构建时从编译器获得反馈.
Eclipse给了我一个习惯,即如果我做了一些小改动,我会立即得到编译器错误,下划线显示错误.似乎足够合理,VS应该能够做到这一点.
alt text http://i31.tinypic.com/zlrm0j.png
这是我可以在VS中启用的,还是我需要一个外部插件?
我有一个遗留的数据库转储文件,它启动如下:
^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,并使用它来导入转储文件 - 工作得很好.
int lf = ((t.left==null) = (t.right==null)) ? 1:0;
Run Code Online (Sandbox Code Playgroud)
如果较大括号中的语句为真,则返回1,但在中间,是否为lefT分配正确的值?