最近,我尝试了我的zsh,一切看起来都不错,直到我尝试virtualevn和virtualenvwrapper.当我激活virtualenv(例如测试)时,在正常的bash上,我会看到virtualenv名称,如:
(test)abc@abc:
Run Code Online (Sandbox Code Playgroud)
但是当我切换到zsh时,我看不到virtualenv的名字.尽管如此,我还是在我的zsh的插件中添加了virtualenv和virtualenvwrapper.我还检查了我的virtualenv的激活文件,它包含:
f [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then
_OLD_VIRTUAL_PS1="$PS1"
if [ "x" != x ] ; then
PS1="$PS1"
else
PS1="(`basename \"$VIRTUAL_ENV\"`) $PS1"
fi
export PS1
fi
Run Code Online (Sandbox Code Playgroud)
是因为比较["x"!= x]返回true?
更新: 我试图在激活文件中回显$ PS1,并得到了这个:
(test) %{$fg[magenta]%}%n%{$reset_color%}%{$fg[cyan]%}@%{$reset_color%}%{$fg[yellow]%}%m%{$reset_color%}%{$fg[red]%}:%{$reset_color%}%{$fg[cyan]%}%0~%{$reset_color%}%{$fg[red]%}|%{$reset_color%}%{$fg[cyan]%}?%{$reset_color%}
Run Code Online (Sandbox Code Playgroud)
似乎$ PS1是正确的,但当我在终端回应$ PS1时,(测试)消失了.似乎$ PS1被其他东西覆盖!
当我尝试使用&=
和/和两个使用和|=
运算符时,我得到了一些奇怪的结果.
s1 = {1,2,3}
s2 = {2,3,4}
tmp = s1
tmp &= s2
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,tmp将是{2,3},但我不知道为什么s1
还将其值改为{2,3}.
但是,如果我这样做:
tmp = tmp & s2
Run Code Online (Sandbox Code Playgroud)
然后,s1
将保持不变!谁能解释一下&=
运营商下面会发生什么?
我尝试了一个字符串拆分的简单示例,但得到一些意想不到的行为.以下是示例代码:
def split_string(source,splitlist):
for delim in splitlist:
source = source.replace(delim, ' ')
return source.split(' ')
out = split_string("This is a test-of the,string separation-code!", " ,!-")
print out
>>> ['This', 'is', 'a', 'test', 'of', 'the', 'string', 'separation', 'code', '']
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,当我使用space作为split()函数的分隔符参数时,我在列表的末尾有一个额外的空字符串.但是,如果我没有传入split()函数的任何参数,我在输出列表的末尾没有空字符串.
从我在python docs中读到的内容,他们说split()的默认参数是space.那么,为什么当我明确地传入''作为分隔符时,它会在输出列表的末尾创建一个空字符串?
我有一个线程池由4个线程组成:t1,t2,t3和t4.它们同时运行,但t3和t4的输入取决于t2的输出.我应该如何实现消息队列,以便在t2完成后,它将输出数据发送到t3和t4进行处理?我试图使用锁定机制实现消息队列,但似乎锁定非常昂贵.是否有在线程之间传递数据的无锁机制?我在visual studio 2010中使用boost :: thread.
我想从站点B访问站点A的内容。因此,我将站点B的Access-Control-Allow-Origin配置为通配符(*)。但是,配置后,我将获得跨域异常。然后,我尝试卷曲站点A url,并得到以下结果:
access-control-allow-headers: *
access-control-allow-origin: *
Run Code Online (Sandbox Code Playgroud)
因此,我不确定是因为关键字Access-Control-Allow-Origin是否区分大小写吗?
我试图四处搜寻,找不到任何文档指定必须是驼峰式大小写。
更新:
让我解释一下我到底发生了什么:
我有网站B(https://siteB.com),其中的iframe带有src =“ https://siteA.com ”。
在网站B上,我有一个脚本来获取该iframe的动态高度:
function showPageDialog(url, id, title, onCloseDialog) {
var iframe = $('<iframe/>', {'class': 'frame', 'src': url}).load(function(){
setTimeout(function() {
$(iframe).height($(iframe).contents().height());
}, 100);
});
showDialog(iframe, id, title, onCloseDialog);
}
该函数在访问$(iframe).contents()时发生异常,异常详细信息如下:
Uncaught DOMException: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "https://siteB.com" from accessing a cross-origin frame.
Run Code Online (Sandbox Code Playgroud)
这是卷曲结果:
HTTP/1.1 200 OK
Server: Apache
ETag: "f8daec99fedb6b0cd0d205598167cf11:1477550373"
Last-Modified: Thu, 27 Oct 2016 06:39:33 …
Run Code Online (Sandbox Code Playgroud) 我有两组点(cv :: Point2f):setA和setB.对于setA中的每个点,我想在setB中找到它的最近邻居.所以,我尝试了两种方法:
线性搜索:对于setA中的每个点,只需扫描setB中的所有点即可找到最近的点.
使用opencv kd-tree:
_首先,我使用opencv flann为setB构建了一个kd-tree:
cv::flann::KDTreeIndexParams indexParams;
cv::flann::Index kdTree(cv::Mat(setB).reshape(1), indexParams);
Run Code Online (Sandbox Code Playgroud)
_然后,对于setA中的每个点,我都会查询以找到最近的邻居:
kdTree.knnSearch(point_in_setA, indices, dists, maxPoints);
Run Code Online (Sandbox Code Playgroud)注意:我将maxPoints设置为1,因为我只需要最近的一个.
我做了一些研究,并为每个案例提出了一些时间复杂性:
线性搜索:O(M*N)
Kd-Tree:NlogN + MlogN =>构建kd-tree的第一个术语,第二个术语用于查询
其中M是setA中的点数,N是setB的点数.并且范围N:100~1000,范围M:10000~100000.
因此,kd-tree应该比线性搜索方法运行得快得多.但是,当我在笔记本电脑上运行真正的测试时,结果是kd-tree方法比线性搜索慢(0.02~0.03s vs 0.4~0.5s).
当我进行性能分析时,我在knnSearch()函数中得到了热点,它占用了20.3%的CPU时间,而线性搜索则为7.9%.
嗯,我读了一些在线文章,他们说要查询kd-tree它通常需要logN.但我不确定opencv如何实现它.
谁知道这里有什么问题?是否有任何参数我应该在kd-tree中调整,或者我在代码或计算中的某处出错?
我尝试使用 mailchimp api 更新我的活动 html 内容:
/campaigns/{campaign_id}/content
Run Code Online (Sandbox Code Playgroud)
您可以在此处找到有关此 API 的更多信息:https : //developer.mailchimp.com/documentation/mailchimp/reference/campaigns/content/#
在发送活动之前,我尝试获取活动内容 html,对其进行修改,然后使用上述 api 设置活动内容 html。我只是简单地使用 BeautifulSoup 将一个新标签附加到内容正文:
content.body.append(BeautifulSoup('<p>Mailchimp is freaking shittttt</p>'))
Run Code Online (Sandbox Code Playgroud)
然后,发生了一些有趣的事情,我创建的第一个广告系列效果很好,添加的标签出现在我的电子邮件中。但是,然后子序列活动不再起作用,添加的标签没有出现。
我在我的 mailchimp 活动网站上观察到一些奇怪的东西,即使我设置了活动 html 内容,只有纯文本电子邮件(HTML 源仍然是旧版本)对于有效和无效的活动都发生了变化。
以前有人遇到过这个问题吗?
c++ ×2
python ×2
algorithm ×1
bash ×1
html5 ×1
http-headers ×1
httprequest ×1
httpresponse ×1
javascript ×1
mailchimp ×1
oh-my-zsh ×1
opencv ×1
python-2.7 ×1
python-3.x ×1
set ×1
split ×1
zsh ×1