我需要在JavaScript中等待文档准备,在正文的底部插入一个div.
我想要:
在我的文件中内联整个jQuery源代码太大了,所以我正在寻找其他方法.window.onload会工作,但我特别想要文件准备,而不是等待window.onload事件.
有谁知道可以做到这一点的JS片段?或者我应该只复制jQuery的部分源代码?
编辑:
我设法抓取jQuery源代码并将以下代码段放在一起:
var ready = (function () {
var ready_event_fired = false;
var ready_event_listener = function (fn) {
// Create an idempotent version of the 'fn' function
var idempotent_fn = function () {
if (ready_event_fired) {
return;
}
ready_event_fired = true;
return fn();
}
// The DOM ready check for Internet Explorer
var do_scroll_check = function () {
if (ready_event_fired) {
return;
}
// If IE is used, use the …Run Code Online (Sandbox Code Playgroud) 我有一个如下所示的数据结构:
Model Place
primary key "id"
foreign key "parent" -> Place
foreign key "neighbor" -> Place (symmetryc)
foreign key "belongtos" -> Place (asymmetric)
a bunch of scalar fields ...
Run Code Online (Sandbox Code Playgroud)
我在模型表中有超过500万行,我需要在两个外键表中插入约5000万行.我有这样的SQL文件:
INSERT INTO place_belongtos (from_place_id, to_place_id) VALUES (123, 456);
Run Code Online (Sandbox Code Playgroud)
它们各约为7 Gb.问题是,当我这样做时psql < belongtos.sql,在我的AMD Turion64x2 CPU上导入约400万行需要大约12个小时.操作系统是Gentoo~amd64,PostgreSQL是8.4版,本地编译.数据目录是一个绑定挂载,位于我的第二个扩展分区(),我认为这不是瓶颈.ext4
我怀疑插入外键关系需要这么长时间,因为psql检查每一行的键约束,这可能会增加一些不必要的开销,因为我确信数据是有效的.有没有办法加快导入,即暂时禁用约束检查?
在与Django合作之后,我发现人们倾向于推荐使用GZIP Middleware来压缩HTML页面.
但是,WSGI v1.0规范告诉我们:
(注意:应用程序和中间件不得
Transfer-Encoding对其输出应用任何类型,例如分块或gzipping;作为"逐跳"操作,这些编码是实际Web服务器/网关的范围.请参阅下面的其他HTTP功能, 更多细节.)
这表明压缩应留给服务器/网关.这是有道理的,因为服务器可能要快得多.此外,它可能更喜欢SDCH而不是gzip,因为大多数现代Chrome/Chromium浏览器都支持它.
所以我的问题仍然存在,我是否应该使用中间件来压缩我的回复?具体来说,Google App Engine的正确选择是什么?
编辑:
Pylons Book还包含一个示例gzip中间件.
我没有提到我的选择框架是Pyramid(ex-repoze.bfg).
嗨,我试图在golang中学习一些套接字编程,我正在跟随本教程
http://synflood.at/tmp/golang-slides/mrmcd2012.html#1
以下是本教程在一页上的最终结果. https://github.com/akrennmair/telnet-chat/blob/master/03_chat/chat.go
我很困惑如何编写这个程序的客户端,我创建一个连接并拨入服务器运行的同一个端口/ IP但从那里我不知道.我有新创建的连接的read()和write()函数,但不知道在哪里划分读取或任何东西.考虑到文本输入是在服务器中进行的,我想我只需要读一些东西吗?
package main
import (
"bufio"
"fmt"
"net"
"os"
)
func main() {
conn, err := net.Dial("tcp", "127.0.0.1:6000")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
for {
fmt.Println(bufio.NewReader(conn).ReadString([]byte("\n")))
}
}
Run Code Online (Sandbox Code Playgroud) 考虑这两种情况:
fmt.Println(912 * 0.01)
fmt.Println(float64(912) * 0.01)
Run Code Online (Sandbox Code Playgroud)
(去游乐场链接)
第二个打印9.120000000000001,这实际上很好,我明白为什么会这样.
但是,为什么第一行打印9.12,最后没有... 01?Go是否将两个无类型常量相乘,并在编译时简单地用9.12文字替换它们?
我正在尝试使用Python 2.6和PIL 计算两个图像的相似度(读取:Levenshtein距离).
我计划用python-levenshtein库进行快速比较.
主要问题:
比较图像的好策略是什么?我的想法是这样的:
当然,这不会处理镜像图像,裁剪图像等情况.但是对于基本比较,这应该是有用的.
在某处记录了更好的策略吗?
编辑: Aaron H对速度问题是正确的.对于大于几百乘几百像素的图像,计算Levelshtein需要永远.但是,在我的示例中缩小到100x100和200x200之后的结果之间的差异小于1%,因此将最大图像大小设置为~100px左右可能是明智的...
编辑:感谢PreludeAndFugue,这个问题就是我想要的.
顺便说一句,Levenshtein的距离似乎可以优化,但它给了我一些非常糟糕的结果,也许是因为背景中有很多冗余元素.要看一些其他算法.
EIDT:均方根偏差和峰值信噪比似乎是另外两个选项,不是很难实现,看起来不是很昂贵.但是,似乎我需要某种上下文分析来识别形状等.
无论如何,感谢所有的链接,并指出朝向NumPy/SciPy的方向.
我正在使用PostgeSQL 9.2.2.我的数据库架构是
pg_rocks_post
title | character varying(1024) | not null
body | text | not null
body_title_tsv | tsvector |
body_title_titleupweight_tsv | tsvector |
Run Code Online (Sandbox Code Playgroud)
我创建了body_title_titleupweight_tsv作为类型tsvector.然后,我使用文档中的示例定义了一个触发器,该文档按如下方式对标题进行加权.
pgdj=# CREATE FUNCTION title_upweight_trigger() RETURNS trigger AS $$
begin
new.body_title_titleupweight_tsv :=
setweight(to_tsvector('pg_catalog.english', coalesce(new.title,'')), 'A') ||
setweight(to_tsvector('pg_catalog.english', coalesce(new.body,'')), 'D');
return new;
end
$$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
我知道触发器有效,因为当我更新pg_rocks_post中的一个条目然后查询它时:我看到它已正确填充了body_title_titleupweight_tsv ts_vector和更新的行.
我的问题是如何将触发器应用于表中的现有行.我只学习postgres,因此我的测试数据库中有几百个条目,想知道如何填充body_title_titleupweight_tsv列.
我认为这样做的一种方法是运行更新并使用类似的东西来编写函数
pgdj=# UPDATE pg_rocks_post SET body_title_titleupweight_tsv =
setweight(to_tsvector( coalesce(title,'')),'A') ||
setweight(to_tsvector(coalesce(body,'')),'D');
Run Code Online (Sandbox Code Playgroud)
而不是在上面的更新语句中再次为触发器重写逻辑.有没有办法通过执行虚拟更新或"触摸"样式操作来触发上面的触发器,该操作会翻转数据库中所有行的触发器.
我试图寻找这种虚拟或"触摸"类型操作的语法或示例,但找不到任何解释如何执行此操作的操作.
我现在正在尝试这个近两个小时,没有任何运气.
我有一个看起来像这样的模块:
try:
from zope.component import queryUtility # and things like this
except ImportError:
# do some fallback operations <-- how to test this?
Run Code Online (Sandbox Code Playgroud)
稍后在代码中:
try:
queryUtility(foo)
except NameError:
# do some fallback actions <-- this one is easy with mocking
# zope.component.queryUtility to raise a NameError
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
编辑:
亚历克斯的建议似乎不起作用:
>>> import __builtin__
>>> realimport = __builtin__.__import__
>>> def fakeimport(name, *args, **kw):
... if name == 'zope.component':
... raise ImportError
... realimport(name, *args, **kw)
...
>>> __builtin__.__import__ = fakeimport
Run Code Online (Sandbox Code Playgroud)
运行测试时: …
我的RESTFul API只能响应JSON编码的数据(即我的所有标题都有Content-Type: application/json).如果请求的Accept标头不允许JSON(例如Accept: text/html),我应该返回什么?我应该只返回一个400 Bad Request带有解释的正文,还是有一个更具体的状态代码用于此异常?
请注意,这与不受支持的请求内容类型不同.
我想使用python的re模块从(大多数是有效的)JavaScript过滤掉(主要是单行)注释.例如:
// this is a comment
var x = 2 // and this is a comment too
var url = "http://www.google.com/" // and "this" too
url += 'but // this is not a comment' // however this one is
url += 'this "is not a comment' + " and ' neither is this " // only this
Run Code Online (Sandbox Code Playgroud)
我现在正在尝试这个超过半个小时而没有任何成功.谁能帮帮我吗?
编辑1:
foo = 'http://stackoverflow.com/' // these // are // comments // too //
Run Code Online (Sandbox Code Playgroud)
编辑2:
bar = 'http://no.comments.com/'
Run Code Online (Sandbox Code Playgroud) python ×3
go ×2
javascript ×2
postgresql ×2
api ×1
client ×1
database ×1
doctest ×1
fuzzy-logic ×1
http ×1
jquery ×1
mocking ×1
networking ×1
performance ×1
regex ×1
replace ×1
rest ×1
sockets ×1
sql ×1
sql-update ×1
tcp ×1
triggers ×1
tsvector ×1
unit-testing ×1
wsgi ×1