我最近在.Net Rocks show 570(http://devjourney.com/community/dotnet-rocks-show-570-with-kevin-hazzard/)上听了Kevin Hazzard关于代码合同的讨论.他提到启用运行时合同检查作为一些人可能选择使用的选项,而其他人可能不会.
为什么不对代码合同使用运行时合同检查?是否会对绩效产生重大负面影响?其他原因?
如果禁用此功能,如何在运行时处理方法中的前提条件?
我改变了代码风格,我希望它能帮助 http://www.cs.bell-labs.com/cm/cs/pearls/spacemod.cpp
#include <iostream>
using namespace std;
#define MEASURE(T, text)
{ \
int i;
cout<<text<<"\t"; \
cout<<sizeof(T)<<"\t"; \
int lastp=0;\
for ( i=0;i<11;i++){ \
T *p=new T; \
int thisp=(int)p; \
if (lastp!=0) cout<<" "<<thisp-lastp; \
lastp=thisp; \
} \
cout<<"n";\
} \
using namespace std;
template <class T>
void measure(char *text)
{
cout<<"measure"<<text<<"\t";
cout<<sizeof(T)<<"\n";
}
int main(){
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它只有一个错误
1>c:\users\david\documents\visual studio 2010\projects\measure\measure.cpp(5): error C2447: '{' : missing function header (old-style formal list?)
Run Code Online (Sandbox Code Playgroud) Facebook和其他人提供了我可以放在我的网站上的小iframe snipplet.例:
<iframe src="http://www.facebook.com/widgets/like.php?href=http://example.com"
scrolling="no" frameborder="0"
style="border:none; width:450px; height:80px"></iframe>
Run Code Online (Sandbox Code Playgroud)
我想知道的是,如果我将这些代码放在我的身边,他们加载到我的页面中的代码是否可以访问我页面的DOM?如果是这样,我会看到一些安全问题.
同样facebook允许我将iframe放入他们的网站,这就是facebook应用程序的工作方式.我可以从任何包含我的iframe的页面中挖掘出任何数据吗?
注意我在这里使用facebook作为一个例子,但是很多公司做同样的事情所以这个问题不是以任何方式特定于facebook,所以我不是这样标记它.
父页面也可以访问iframe的DOM吗?
我使用以下内容来设置css元素的文本内容
var cell = document.createElement('li');
cell.textContent = this.labelForIndex(index);
Run Code Online (Sandbox Code Playgroud)
现在我想设置背景图像和颜色.....怎么做?
我正在为我的学校开发网站.在那所学校,我们通过LDAP对用户进行身份验证,因此有一个想法是通过学校网站进行相同的操作.在那个网站上,一切都很完美,但在开发过程中,我经常需要测试这种解决方案是否有效.为了不经常提交我的更改,我想在我的本地计算机上测试此站点,但是为了与LDAP连接,我想使用ssh隧道.在学校网络中,我们有一个服务器通过巫婆,我们正在学校网络内部连接.它的地址是phoenix.lo5.bielsko.pl.在这个网络中,我们有LDAP服务器,打开389和636端口.它的地址是auth.lo5.我无法auth.lo5通过SSH 访问,我只能连接它以获取一些LDAP条目.所以,我试图通过运行来运行SSH隧道:
ssh -L 636:auth.lo5:636 hfaua@phoenix.lo5.bielsko.pl
Run Code Online (Sandbox Code Playgroud)
然后,我在已经设置/etc/hosts的是auth.lo5指向127.0.0.1.我以这种方式在PHP中连接到LDAP:
ldap_connect('ldaps://auth.lo5', 636);
Run Code Online (Sandbox Code Playgroud)
但是我收到了错误Can't contact LDAP server.我认为,该问题可能出现phoenix.lo5.bielsko.pl在其SSH守护进程配置或传递给ldap_connect()函数的参数中.你能告诉我,我应该在sshd_config中设置什么,或者在传递给ldap_connect它的参数中设置它以使其正常工作?
我在类似的帖子中发布了同样的问题,但没有人回答我的问题.
PS在我的/etc/ssh/sshd_config行中AllowTcpForwarding yes
我有一个相当大的字符串集(比如100),它有许多以其相似性为特征的子组.我试图找到/设计一个算法,可以合理有效地找到这些组.
举个例子,假设输入列表位于左下方,输出组位于右侧.
Input Output
----------------- -----------------
Jane Doe Mr Philip Roberts
Mr Philip Roberts Phil Roberts
Foo McBar Philip Roberts
David Jones
Phil Roberts Foo McBar
Davey Jones =>
John Smith David Jones
Philip Roberts Dave Jones
Dave Jones Davey Jones
Jonny Smith
Jane Doe
John Smith
Jonny Smith
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何合理有效地解决这个问题?
寻找类似字符串的标准方法似乎是Levenshtein距离,但我无法看到如何在这里充分利用它,而不必将每个字符串与列表中的每个其他字符串进行比较,然后以某种方式决定差异判断两个字符串是否在同一组中的阈值.
另一种方法是将字符串分解为整数的算法,其中类似的字符串散列为在数字行上靠近的整数.我不知道会是什么算法,如果有的话甚至存在
有没有人有任何想法/指示?
更新:@Will A:也许名字并不像我最初想的那么好.作为一个起点,我认为我可以假设在我将使用的数据中,字符串中的一个小变化不会使它从一个组跳到另一个组.
我正在用Java编写我自己的软件光栅化器,我遇到了一些问题...请看一下示例图片,请:
此示例仅在平面上绘制简单的方形网格.一切正常,直到我移动相机足够接近某些点移动它.之后,正如您所看到的那样,它们不再正确投影(垂直线 - 应该在摄像机后面的点投影在屏幕顶部).
我的转换矩阵和向量与DirectX使用的相同(PerspectiveFovLH用于投影,LookAtLH用于相机).
我正在使用以下转换方法来投射3D点:
之后,使用以下方法将点转换为屏幕:
// 'vector' is input vector in projection space
// projection to screen
double vX = vector.x / vector.z;
double vY = vector.y / vector.z;
//translate
//surfaceW is width and surfaceH is height of the rendering window.
vX = (( vX + 1.0f) / 2.0f) * surfaceW;
vY = ((-vY + 1.0f) / 2.0f) * surfaceH;
return new Vector3(vX, vY, vector.z);
Run Code Online (Sandbox Code Playgroud)正如我之前所说,它可以正常工作,直到点移动到相机后面.事实上,我可以弄清楚当点位于相机后面时(通过在最终变换后测试它的Z值),但由于我正在绘制线条和其他基于线的对象,我不能只是跳过这一点.
然后我尝试根据MSDN上的Direct3D Transformation Pipeline文章设置我的转换管道.
不幸的是,我也没有任何运气(相同的结果),所以任何帮助都会受到高度赞赏,因为我有点卡在这一点上.
谢谢.
最诚挚的问候,Alex
如何减小旋转器的字体大小?我已经将微调器尺寸缩小到35像素,因为我的文本减少了一半.
我怎么做?我也不想事先选择任何东西.
默认文本应该是"select some value".
我有一个仅在纵向模式下工作的应用程序,我已经在清单文件中对每个活动进行了更改,其方向为纵向.但是当我旋转设备时,活动会再次重新创建.如何不破坏活动?
类似于SO上的问题发布表格,Drupal在通过表单api创建的textareas底部添加了一个可拖动的扩展器.如何以一种很好的方式禁用它?