我经常使用时髦的东西作为字典的键,因此,我想知道什么是正确的方法 - 这通过为我的对象实现良好的哈希方法.我知道这里提出的其他问题是实现哈希的好方法,但我想了解默认如何__hash__
适用于自定义对象,以及是否可以依赖它.
我注意到mutables显然是不可删除的,因为hash({})
引发了一个错误...但奇怪的是,自定义类是可以清除的:
>>> class Object(object): pass
>>> o = Object()
>>> hash(o)
Run Code Online (Sandbox Code Playgroud)
那么,有人知道这个默认哈希函数是如何工作的吗?通过理解这一点,我想知道:
如果我将相同类型的对象放入字典的键中,我可以依赖此默认哈希吗?例如:
key1 = MyObject()
key2 = MyObject()
key3 = MyObject()
{key1: 1, key2: 'blabla', key3: 456}
Run Code Online (Sandbox Code Playgroud)
如果我使用不同类型的对象作为字典中的键,我可以依赖它吗?例如
{int: 123, MyObject(10): 'bla', 'plo': 890}
Run Code Online (Sandbox Code Playgroud)
在最后一种情况下,如何确保我的自定义哈希值不会与内置哈希冲突?例如:
{int: 123, MyObject(10): 'bla', MyObjectWithCustomHash(123): 890}
Run Code Online (Sandbox Code Playgroud) 只是一个简单的问题:我应该何时使用术语"类",何时应该在Python中使用术语"类型"?
关于部署Node.js应用程序,我看到很多教程显示它与Nginx并排部署,或多或少的相同技巧允许2一起工作(和烦人的东西,如Nginx不支持WebSockets) .这对我来说似乎有点复杂......
为什么每个人都做这种设置?当Node.js提供任何优势时,部署Nginx会不会?你不能用Node.js提供静态文件吗?
我在Django中编写了很多应用程序,并且文档说你不应该使用Django来提供静态文件,因为它没有针对此进行优化等等......所以我想也许这就是原因.
Buffer.isBuffer
当instanceof
像魅力一样工作时,我不明白该功能的目的是什么:
var b = new Buffer('blabla')
assert.ok(b instanceof Buffer)
Run Code Online (Sandbox Code Playgroud) 我的问题很简单,我有一个网址,我想解决它,但获取url
名称而不是与之关联的视图功能...
例如......这是urlconf:
urlpatterns = patterns('',
...
url('^/books/$', book_list, name="overview_books"),
...
)
Run Code Online (Sandbox Code Playgroud)
这就是我想要的:
>>> resolve('/books/')
'overview_books'
Run Code Online (Sandbox Code Playgroud)
你知道怎么办?
我想测试WebAssembly做一些复杂的数组计算.
所以我写了一个简单的C++函数,添加了两个int
包含3个元素的数组:
// hello.cpp
extern "C" {
void array_add(int * summed, int* a, int* b) {
for (int i=0; i < 3; i++) {
summed[i] = a[i] + b[i];
}
}
}
Run Code Online (Sandbox Code Playgroud)
并编译了这个:
emcc hello.cpp -s WASM=1 -s "MODULARIZE=1" -s "EXPORT_NAME='HELLO'" -s "BINARYEN_METHOD='native-wasm'" -s "EXPORTED_FUNCTIONS=['_array_add']" -o build/hello.js
其中包括a js
和a wasm
文件.我用以下html页面加载这些:
<!doctype html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="build/hello.js"></script>
<script type="text/javascript">
function reqListener () {
// Loading wasm module
var arrayBuffer …
Run Code Online (Sandbox Code Playgroud) 我按照https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/中的说明操作,直到几天前,当我杀死uwsgi进程并尝试重新启动时,它工作正常.然后它说
uwsgi: unrecognized option '--module=MyProject.wsgi:application'
Run Code Online (Sandbox Code Playgroud)
我一直在试图解决这个问题,...我检查了我的提交历史记录,我用来启动uwsgi的脚本没有改变:
#!/bin/bash
# https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/
uwsgi --chdir=/home/MyProject \
--module=MyProject.wsgi:application \
--env DJANGO_SETTINGS_MODULE=MyProject.settings \
--master --pidfile=/tmp/MyProject-masted.pid \
--socket=/home/MyProject.sock \
--processes=5 \
--harakiri=20 \
--limit-as=128 \
--max-requests=5000 \
--vacuum \
--home=/home/MyProject/env \
--daemonize=/var/log/uwsgi/MyProject.log
Run Code Online (Sandbox Code Playgroud)
显然一些事情必定已经改变,但我看不出...我没有运行任何更新,脚本没有改变...... PlEaSe HeLp !!!
当我为Django项目编写JS文件时,我当然会做一些AJAX调用,而且目前这些调用的url是硬编码的(这非常难看).
我在考虑让django(而不是Apache)提供JS文件,所以我可以利用模板标签({% url %}
!!!).
我不应该这样做吗?
或者有正确的方法吗?
(我可以给出至少一个:它会消耗很多时间来重新发送没有改变的JS文件.最好的方法是让一个应用程序在重新启动django服务器时生成文件,然后静态地为它们提供服务!)
我pandas.DataFrame
在多线程代码中使用(实际上是DataFrame
被调用的自定义子类Sound
).我注意到我有内存泄漏,因为我的程序的内存使用量逐渐增加超过1000万,最终达到我的计算机内存的约100%并崩溃.
我使用objgraph来尝试跟踪这个泄漏,并发现实例的MyDataFrame
数量一直在增加而它不应该:它的run
方法中的每个线程都创建一个实例,进行一些计算,将结果保存在文件中退出...所以不应该保留任何参考.
使用objgraph
我发现内存中的所有数据帧都有一个类似的参考图:
我不知道这是否正常......看起来这就是将我的物品留在记忆中的原因.任何想法,建议,见解?
这是一个非常简单的例子,我试图在Chrome上运行iphone.其他网络音频API示例像这样一个http://alxgbsn.co.uk/wavepad/工作,但不是我的:(
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script>
var audioContext, osc
audioContext = new (window.AudioContext || window.webkitAudioContext);
osc = audioContext.createOscillator()
osc.connect(audioContext.destination)
if (osc.noteOn) osc.start = osc.noteOn
osc.start(0)
osc.frequency.value = 440
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
知道什么是错的吗?
编辑
总结答案:
python ×4
django ×3
javascript ×3
node.js ×2
assets ×1
browser ×1
c++ ×1
class ×1
django-urls ×1
emscripten ×1
memory-leaks ×1
objgraph ×1
pandas ×1
terminology ×1
types ×1
uwsgi ×1
webassembly ×1