我有两个网站(一个是asp经典,另一个是asp.net),我们希望根据客户端的硬件实现某种安全性.我们想要一些可以共享的密码以外的东西.目的是确保不共享对网站信息的访问.
我们一直在劝阻在我们的数据库中存储硬件信息并验证该upun网站条目.
我一直在研究ActiveX(将用户限制在IE上是可以接受的),尽管我们确实有想要使用I-Phones的用户.我自己没有做过ActiveX开发,但在网上发现了一些关于ActiveX的文章,但整个方法看起来很复杂.而且似乎还有64位问题使其更加困难.
所以,我想知道是否有人对于以防止共享的方式确保网站访问的最佳选择有什么建议?
我想知道客户端证书授权是否有帮助?我还没有研究过这些,所以会研究这些.
谢谢你的任何意见.
吉姆
我正在寻找有关存储地图的理想数据库或数据结构的建议.从本质上讲,地图由道路,路径等"道路"组成.道路包含节点(具有纬度和经度坐标,有时还有高度).
任何此类数据库或结构:
应该能够快速定位边界框中的所有节点(毫秒)
可选地,当大量节点在边界框中而不是少量节点时,或者如果边界框很大时,不应该显着减慢速度
应该能够找到直接连接的节点:例如,连接两种方式的节点
可以只读
应该是紧凑的(避免浪费空间) - 我希望将英国的地图放入不到1 GB的范围内.我有一个卫星导航,在SD卡上有大约800 MB的空间.
我最初想的是四叉树存储方式.但是快速实现很棘手,并且它们不适用于单个节点; 所有节点都可以放在最小的bbox中.
(我故意使用相同的Open Street Map术语,因为我打算使用那些数据.)
鉴于代码:
#include <iostream>
using namespace std;
template <typename T>
T my_max (const T &t1, const T &t2)
{
static int counter = 0;
counter++;
cout << counter << " ";
return ((t1 > t2) ? t1 : t2);
}
int main()
{
my_max (2,3);
my_max (3.5, 4.3);
my_max (3,2);
my_max ('a','c');
}
Run Code Online (Sandbox Code Playgroud)
输出是:
1 1 2 1
Run Code Online (Sandbox Code Playgroud)
我知道静态成员只初始化一次.我的问题是编译器如何记住调用该泛型函数的类型?幕后实际发生了什么?
我从C中断了一下,我又回到了原点.
如果我想创建一个二维的二维数组,我可以用两种方式做到:
double** m_array = (double**) malloc(2*sizeof(double*));
double* m_array = (double*) malloc(2*sizeof(double));
Run Code Online (Sandbox Code Playgroud)
要么
double array[2][2];
Run Code Online (Sandbox Code Playgroud)
但是,当我希望传递malloc'd数组而不是传递另一个时,似乎有两个约定:
//allowed for passing in malloc'd array, but not for other array
func_m(m_array) //allowed
func_m(array) //disallowed
func_m(double** m_array)
//allowed for passing in either array; required for passing in non-malloc'd array
func(m_array) //allowed
func(array) //allowed
func(double array[][2])
Run Code Online (Sandbox Code Playgroud)
在第一个中,我不需要任何信息,除了它是一个指针数组的指针.但它只能是一个malloc阵列.
在第二个中,我需要传递double*指向的数组的每个数组的长度.这看起来很傻.
我错过了什么吗?提前致谢.
假设我有一个四个对象的未排序列表:[B, C, A, D].
所有四个对象都属于同一类型,并且:
(A > B),
(C > D),
(A != C or D)
(B != C or D)
(C != A or B)
(D != A or B).
Run Code Online (Sandbox Code Playgroud)
通过!=我的意思是,他们既不是小于,等于到或大于其他对象.
我需要"排序"名单,从而A会经常来之前B,并且C会经常来之前D.除了这两个要求之外,我对列表的排序没有要求; 因此,给定前面描述的列表,sort函数应返回[A, B, C, D]或[C, D, A, B].
至于这个问题的原因,我试图java.lang.Class根据它们之间的关系对一组对象进行排序.例如,如果A是超类/超级接口B,则A小于B.如果是Aextends/implements B,则A大于B.如果A是B,那么显然是A …
让我们假设我有一些A类并从中派生出来B:我想operator=为B 编写(让我们假设我有operator=我的A类)正确的方法来做到这一点:
B& B::operator=(const B& rhs)
{
if(this == &rhs) return *this;
((A&) *this) = rhs; //<-question
//some other options
return *this
}
Run Code Online (Sandbox Code Playgroud)
如果我写的话有什么不同
((A) *this) = rhs;
Run Code Online (Sandbox Code Playgroud)
提前致谢
我试图通过使用变量方法名称来调用超类的方法.通常,我会看到以下两行代码是等效的:
someObj.method()
someObj.__getattribute__( 'method' )()
Run Code Online (Sandbox Code Playgroud)
事实上,我相信,这也是我使用第一行时实际发生的事情.但是,在下面的示例中,第二行产生了一个奇怪的问题.
我super用来构造一个超级对象并调用超类的方法.直接执行它可以按预期工作,但是使用__getattribute__首先获取方法会导致无限循环,它会一次又一次地调用子类的方法.
请参阅以下代码:
class A:
def example ( self ):
print( 'example in A' )
class B ( A ):
def example ( self ):
print( super( B, self ).example )
print( super( B, self ).__getattribute__( 'example' ) )
super( B, self ).example()
#super( B, self ).__getattribute__( 'example' )()
print( 'example in B' )
x = B()
x.example()
Run Code Online (Sandbox Code Playgroud)
如果你运行该代码,一切都按预期工作,你应该得到类似于这样的输出:
<bound method B.example of <__main__.B object at 0x01CF6C90>>
<bound method B.example of …Run Code Online (Sandbox Code Playgroud) 下面的if语句在某处有问题,我无法弄明白.任何可能导致其无法正常运行的约定或方法滥用?checkList是用户输入的句子,lis是一个很大的单词列表.
def realCheck(checkList):
string = "".join(checkList)
print string
wordList = string.split()
if match(wordList, lis).sort(key=str.lower) == wordList.sort(key=str.lower):
return True
else:
return False
Run Code Online (Sandbox Code Playgroud) 什么是Chrome调试器的功能栏中的"(程序)"?
我有一个大约100 x 100的背景图片,我想在Android应用中居中.有没有办法做到这一点?
我认为这对简单应用程序的方向更改有很大帮助.
c++ ×2
python ×2
activex ×1
algorithm ×1
android ×1
asp-classic ×1
asp.net ×1
background ×1
c ×1
center ×1
database ×1
generics ×1
geolocation ×1
java ×1
javascript ×1
mapping ×1
mutators ×1
orientation ×1
pointers ×1
security ×1
sorting ×1
sql ×1
static ×1
super ×1
superclass ×1