我在文件中包含myscript.js,http://site1.com/index.html如下所示:
<script src=http://site2.com/myscript.js></script>
Run Code Online (Sandbox Code Playgroud)
在"myscript.js"中,我希望能够访问URL" http://site2.com/myscript.js ".我想要这样的东西:
function getScriptURL() {
// something here
return s
}
alert(getScriptURL());
Run Code Online (Sandbox Code Playgroud)
如果从上面提到的index.html调用,它会提醒" http://site2.com/myscript.js ".
我最近越来越多地使用Lisp和Lispy语言,我发现它们非常强大.
我一直在网上阅读的一件事是,在Lisp,Clojure等中编写的好处是你可以"在它运行时"编辑你的程序.
也许我错过了什么,但有什么意义呢?
当然,它可能会节省几秒钟,但就是这样吗?每当我对我的程序进行更改时,我就会停止它然后再次启动它,这已经好几十年了.
除了节省时间之外,必须有一个理由 - 它是什么?
有人能给我一个很好的案例研究,让我流口水这个功能吗?:)
期待流口水!
好的,我真的很喜欢HAML.特别是,我喜欢与RedCloth和BlueCloth的集成,所以我可以使用Markdown和Textile混合我的HAML.
我也喜欢Python和Django.
所以,我想将HAML与Django一起使用.现在,我已经明白有一些尝试克隆Python中的类似HAML的语法(SHPAML等).我试过这些,虽然它们还不错,但我发现我真的只想要真正的HAML.部分原因在于它的语法,还有RedCloth和BlueCloth之类的东西.
所以,我的问题是,如何让HAML和Django一起工作?
我认为,一个解决方案是创建HAML模板,然后在每次更新时使用命令行工具将它们编译为HTML.
问题1:我会遇到任何问题吗?
我也想知道是否有办法让Python和Ruby一起玩.我的一个想法实际上是在分配Ruby流程.这可能是一个坏主意,但是有人对此有任何想法吗?
问题2:使用Python调用真正的Ruby HAML怎么样?
最后,如果有人知道完整的HAML的Python实现,并支持Textile或Markdown,以及明文passthru,那么请告诉我.
问题3:是否有完整的HAML到Python的翻译,包括Markdown或Textile支持?
谢谢!
我使用如下命令在我的计算机(Mac OS X)上创建了一堆zip文件:
zip -r bigdirectory.zip bigdirectory
Run Code Online (Sandbox Code Playgroud)
然后,我将这些zip文件保存在某处并删除了原始目录.
现在,当我尝试解压缩zip文件时,我遇到了这样的错误:
$ unzip -l bigdirectory.zip
Archive: bigdirectory.zip
warning [bigdirectory.zip]: 5162376229 extra bytes at beginning or within zipfile
(attempting to process anyway)
error [bigdirectory.zip]: start of central directory not found;
zipfile corrupt.
(please check that you have transferred or created the zipfile in the
appropriate BINARY mode and that you have compiled UnZip properly)
Run Code Online (Sandbox Code Playgroud)
我发现这可能是因为zip无法处理超过一定大小的文件,也许是4演出.至少我在某处读过.
但为什么zip命令会让我创建这些文件?有问题的zip文件是9457464293字节,它让我更像这样,绝对没有错误.
很明显它可以创建这些文件.
我真的希望我的档案不会丢失.我已经吸取了教训,将来我会在删除原始文件之前检查我的档案,并且我可能还会使用其他文件格式,如tar/gzip.
但就目前而言,我该怎么办?我真的需要我的文件.
有些人建议我的unzip工具不支持足够大的文件(这很奇怪,因为我使用了内置的OS X zip和unzip).无论如何,我安装了一个新unzip的homebrew,并且看,我现在得到一个不同的错误:
$ …Run Code Online (Sandbox Code Playgroud) 可能重复:
构建LISP机器需要多少个原语?十,七,五?
我好奇.什么是最小的LISP,可以在其上构建所有进一步的功能?忽视效率 - 问题来自一个优雅的地方.
如果你在外星球上醒来并被指示构建最小的LISP,你可以在以后建立它来实现你喜欢的任何功能,你会包括什么?
编辑:澄清.我的意图不是开始辩论,而是我正在考虑实施一个最小的LISP,我想要了解我可以去的最小化,同时仍然允许我实施的语言是图灵完整等等.如果这证明是有争议的我我相信我会从观察争议中学到我想学到的东西.:).谢谢!
我有一组复杂的PHPUnit测试,其中一些涉及连接到世界各地的服务器,无论出于何种原因,有时会超时.
当服务器超时时,我不想让测试失败,我只想在实际将其标记为失败之前重试该测试一次或多次.
现在,我知道这可能不是处理我手头情况的最好方法.一个更好的解决方案是修复服务器.但是,这是我现在无法控制的.
所以,我真正喜欢的是一种告诉PHPUnit重新测试每个失败的测试用例X次的方法,并且只有在每次失败时才将其标记为失败.
有任何想法吗?
编辑:你们中的许多人都提出了有用的建议,我没有这样做.我明白了,谢谢.但是,具体而言我要创建一个测试套件来测试整个系统的操作,包括远程服务器.我理解使用来自外部的"模拟"响应测试我的代码的某些部分的概念......但如果我的部分测试测试"完整堆栈",我也会在晚上睡得更好.
我在PostgreSQL数据库中有大约100万个这种格式的事件:
id | stream_id | timestamp
----------+-----------------+-----------------
1 | 7 | ....
2 | 8 | ....
Run Code Online (Sandbox Code Playgroud)
大约有50,000个独特的流.
我需要找到所有事件,其中任何两个事件之间的时间超过特定时间段.换句话说,我需要找到在特定时间段内没有事件的事件对.
例如:
a b c d e f g h i j k
| | | | | | | | | | |
\____2 mins____/
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我想找到对(f,g),因为那些是紧邻间隙的事件.
我不在乎查询是否缓慢,即在100万条记录上如果需要一个小时左右就可以了.但是,数据集将继续增长,所以如果它的速度很慢,那么它可以保持稳定.
我也有MongoDB中的数据.
执行此查询的最佳方法是什么?
免责声明:我还在学习Django,所以我可能会在这里遗漏一些东西,但我看不出它会是什么......
我正在运行Python 2.6.1和Django 1.2.1.
(InteractiveConsole)
>>> from myproject.myapp.models import *
>>> qs = Identifier.objects.filter(Q(key="a") | Q(key="b"))
>>> print qs.query
SELECT `app_identifier`.`id`, `app_identifier`.`user_id`,
`app_identifier`.`key`, `app_identifier`.`value` FROM
`app_identifier` WHERE (`app_identifier`.`key` = a OR
`app_identifier`.`key` = b )
>>>
Run Code Online (Sandbox Code Playgroud)
请注意,它不会在"a"或"b"周围加上引号!现在,我已经确定查询执行正常.所以,实际上,它必须这样做.但是,打印出来的查询打印错误非常烦人.特别是如果我做了这样的事......
>>> qs = Identifier.objects.filter(Q(key=") AND") | Q(key="\"x\"); DROP TABLE
`app_identifier`"))
>>> print qs.query
SELECT `app_identifier`.`id`, `app_identifier`.`user_id`,
`app_identifier`.`key`, `app_identifier`.`value` FROM
`app_identifier` WHERE (`app_identifier`.`key` = ) AND OR
`app_identifier`.`key` = "x"); DROP TABLE `app_identifier` )
>>>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,不仅会创建完全格式错误的SQL代码,还会产生SQL注入攻击的种子.现在,显然这实际上不会起作用,原因很多(1.有意识地说,语法是错误的,以显示Django行为的奇怪之处.2.Django实际上不会像这样执行查询,它会实际上把引号和斜线和所有那些放在那里就像它应该的那样).
但是,这确实让调试变得混乱,这让我想知道我的Django安装是否出了问题.
这会发生在你身上吗?如果是这样,你有什么版本的Python和Django?
有什么想法吗?
我正在Ruby中实现LISP的基本版本,以便熟悉一些概念.我的实现基于Peter Norvig的Lispy(http://norvig.com/lispy.html).
虽然这里有一些我想念的东西,但我会感激一些帮助......
他将Python的dict子类化如下:
class Env(dict):
"An environment: a dict of {'var':val} pairs, with an outer Env."
def __init__(self, parms=(), args=(), outer=None):
self.update(zip(parms,args))
self.outer = outer
def find(self, var):
"Find the innermost Env where var appears."
return self if var in self else self.outer.find(var)
Run Code Online (Sandbox Code Playgroud)
然后,他继续解释为什么他这样做,而不仅仅是使用一个字典.然而,由于某种原因,他的解释不断透过我的眼睛,从我的脑后流出.
为什么不使用dict,然后在eval函数内部,当需要创建新的"子环境"时,只需获取现有的dict并更新需要更新的键/值对,并将新的dict传递给下一个评估?
Python解释器不会跟踪以前的"外部"环境吗?并且递归的性质不会确保将值从"内部"拉出到"外部"吗?
我正在使用Ruby,我尝试用这种方式实现.有些东西不起作用,可能是因为这个,或者可能不是.这是我的eval函数,env是常规哈希:
def eval(x, env = $global_env)
........
elsif x[0] == "lambda" then
->(*args) { eval(x[2], env.merge(Hash[*x[1].zip(args).flatten(1)])) }
........
end
Run Code Online (Sandbox Code Playgroud)
当然,重要的是"lambda".
如果存在功能差异,那么我在这里做什么与Norvig对他的Env课程做了什么之间的重要区别?有人可以向我描述两者会偏离的情况吗?
如果没有区别,那么也许有人可以告诉我为什么Norvig使用Env类.谢谢 :)
我正在开发一个包含以下内容的系统:
关键的一点是,不应该有一个工人同时连续操作.
当然这里有很多策略......我可以锁定数据库级别的东西,我可以使用互斥锁等.
但无论我如何实现这一点,我都需要能够测试系统以确保我做得对.
测试这个的正确方法是什么?
我一直在做的就是运行数百个线程并不断检查是否意外重叠.问题是,它是命中还是错过.这是概率.即使我运行500个线程一小时,仍然可能有一个线程与另一个重叠,很少.
另外,我如何正确检查重叠?"重叠检查器"本身具有有限的分辨率,可能缺少正在发生的实际重叠......
我知道并发是一个复杂的话题,但肯定必须有一些最佳实践或推荐的方法来测试这样一个系统,除了运行它很长一段时间并且交叉指...