问题列表 - 第39256页

Detect printable keys

我需要检测刚按下的键是否是可打印的键,如字符,可能带有重音,数字,空格,标点符号等,或者是不可打印的键,如ENTER,TAB或DELETE.

有没有一种可靠的方法在Javascript中执行此操作,除了列出所有不可打印的键并希望不要忘记一些?

javascript keyboard

15
推荐指数
2
解决办法
7514
查看次数

在 ASP Classic 中为 COM 可见性注册 .NET DLL

我们正在尝试编写几个应用程序。一个 ASP.NET 站点使用 .NET Assembly xxx.Elements.dll,它提供实用程序功能。

另一个是 Classic ASP 站点,也应该使用相同的 DLL 以使用相同的实用程序函数。(它将用于加密两个站点之间的数据)。

尽管进行了多次尝试和谷歌搜索,但我们无法使其正常工作。

我们有:

将 ComVisibility 应用到 Assembly.info 并确保有一个 Guid:

[assembly: ComVisible(true)]
[assembly: Guid("ab96fbc3-aa39-4fb6-8628-13778445e503")]
Run Code Online (Sandbox Code Playgroud)

我们通过确保我们的类型具有默认构造函数、ComVisible 和 Guid 来确保我们的类型在类型可见性上打勾。我们还创建了一个简单的测试方法:

namespace xxx.Elements
{
    [GuidAttribute("D3BE2C7D-7550-4da1-8F61-6871E193242F")]
    [ComVisible(true)]
    public  class UrlUtility : IUrlUtility
    {

        public UrlUtility()
        {
        }

        public string Test()
        {
            return "HellO";
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

使用界面:

[GuidAttribute("D3BE2C7D-7550-4da1-8F61-6871E193242A")]
[ComVisible(true)]
public interface IUrlUtility
{
    string Test();
}
Run Code Online (Sandbox Code Playgroud)

我们发现这真的很有用(虽然没有解析)在这里发布:警告 MSB3391:不包含任何可以为 COM 互操作取消注册的类型。

我们还在项目属性页中检查了 COM-Interop 的注册器。

这继续输出警告:

c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3341,9): warning MSB3214: "D:\dev\yyy\xxx.Elements\bin\Release\xxx.Elements.dll" does not contain any types …
Run Code Online (Sandbox Code Playgroud)

asp.net com asp-classic

5
推荐指数
1
解决办法
4826
查看次数

如何使用Fiddler查看ViewState的总大小?

在Fiddler 2中,哪里可以看到ViewState的总大小超出了响应的总大小(Body列中的字节数)?

谢谢!

.net asp.net viewstate http fiddler

1
推荐指数
1
解决办法
3449
查看次数

寻找"大导航"的正确命名以及jQuery的一些演示示例

我在http://starbucks.com/上看到了一个很好的导航示例- 这个导航类型(我现在称之为大导航)如何调用?

你能给我一些其他的例子,也许还有一些教程来构建一个 - 如果教程包含jQuery,那会很酷.

谢谢.

javascript jquery user-interface

2
推荐指数
1
解决办法
50
查看次数

C++:type_info来区分类型

我知道编译器在实现std::type_info函数行为方面有很大的自由度.

我正在考虑使用它来比较对象类型,所以我想确定:

  1. std::type_info::name 必须为两种不同类型返回两个不同的字符串.

  2. std::type_info::before必须说,Type1 Type2 异或 Type2之前 Type1.

    // like this:
    typeid(T1).before( typeid(T2) ) != typeid(T2).before( typeid(T1) )
    
    Run Code Online (Sandbox Code Playgroud)
  3. 相同模板类的两种不同的特化被认为是不同的类型.

  4. typedef相同类型的两个不同定义是相同类型.

最后:

  • 由于std::type_info不可复制,我怎么能type_info在某处存储(例如:在a中std::map)?唯一的方法是std::type_info总是分配一个地方(例如:在堆栈上或静态/全局变量上)并使用指向它的指针?

  • 的速度有多快operator==,operator!=以及before对最常见的编译器?我猜他们应该只比较一个值.速度有多快typeid

  • 我有一个类Avirtual bool operator==( const A& ) const.由于A有许多子类(其中一些在编译时是未知的),我会以B这种方式在任何子类中重载该虚拟运算符:

    virtual bool operator==( const A &other ) const {
      if( typeid(*this) != typeid(other) ) return …
    Run Code Online (Sandbox Code Playgroud)

c++ typeid typeinfo

19
推荐指数
1
解决办法
2万
查看次数

注销后阻止用户查看以前访问过的安全页面

我要求最终用户在注销/注销后不能返回受限页面.但目前最终用户可以通过浏览器后退按钮,访问浏览器历史记录或甚至通过在浏览器的地址栏中重新输入URL来实现.

基本上,我希望最终用户在注销后不能以任何方式访问受限制的页面.我怎样才能做到最好?我可以用JavaScript禁用后退按钮吗?

jsp servlets back-button logout browser-history

99
推荐指数
2
解决办法
6万
查看次数

我可以验证algo php session hashing正在使用什么吗?

我正在努力确保我使用sha512进行会话散列.当我打印出我的算法时,我得到了

Array
(
[0] => md2
[1] => md4
[2] => md5
[3] => sha1
[4] => sha224
[5] => sha256
[6] => sha384
[7] => sha512 
[8] => ripemd128
etc....
)
Run Code Online (Sandbox Code Playgroud)

所以在php.ini中我设置它,

session.hash_function = 7
Run Code Online (Sandbox Code Playgroud)

我感到困惑的唯一原因是在.ini文件中它列出的散列方案与php打印的方式不同,例如0作为md5而不是md2.

; Select a hash function
; 0: MD5   (128 bits)
; 1: SHA-1 (160 bits)
Run Code Online (Sandbox Code Playgroud)

这只是旧版php版本的默认哈希方案吗?

php hash session

7
推荐指数
1
解决办法
2678
查看次数

红宝石简单的竞争条件问题

我遇到了一个竞争条件的例子:

def inc(n)
  n + 1
end

sum = 0

threads = (1..10).map do
  Thread.new do
    10_000.times do
      sum = inc(sum)
    end
  end
end

threads.each(&:join)
p sum
Run Code Online (Sandbox Code Playgroud)

线程以pararell运行,并且有可能当一个线程读取sum的值时,另一个线程完成递增它,但前者即将用旧值完成自己的递增,因此sum将不会改变.

但我想知道,为什么当我将'sum = inc(sum)'行替换为'sum + = 1'时,输出似乎总是正确的.

这是为什么?

是因为调用方法的开销与仅执行变量赋值相比是如此巨大,因此一些线程"失去同步"导致输出不正确?

我假设,即使有一个直的+ + 1,我仍然可以观察到一个竞争条件,但只有当我做了更长的求和循环等时?

ruby multithreading race-condition

5
推荐指数
1
解决办法
595
查看次数

Django WGSI路径

我在使用django设置wgsi时遇​​到了问题.我正在关注这个http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/.然而,我仍然真的很困惑在哪里放置.wsgi文件,如果我需要设置sys.path.我已经在web root的外部和内部直接尝试了它,我无法按预期工作.

# /home/ben/public_html/django_test/testproject/apache/django.wsgi:

import os
import sys

os.environ['DJANGO_SETTINGS_MODULE'] = 'testproject.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Run Code Online (Sandbox Code Playgroud)

Reliveant apache conf:

DocumentRoot "/home/ben/public_html/django_test/testproject/"
WSGIScriptAlias / "/home/ben/public_html/django_test/testproject/apache/django.wsgi"
Run Code Online (Sandbox Code Playgroud)

Apache Logs Error(标准apache 500页):

ImportError: Could not import settings 'testproject.settings' (Is it on sys.path? ...
Run Code Online (Sandbox Code Playgroud)

我可以通过使用这个来让django至少抛出它自己的错误:

import os
import sys

path = '/home/ben/public_html/django_test/testproject'
if path not in sys.path:
    sys.path.append(path)

os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Run Code Online (Sandbox Code Playgroud)

这导致了这个django错误页面:

ImportError at /admin/
No module named testproject.urls
Run Code Online (Sandbox Code Playgroud)

python apache django wsgi apache2

5
推荐指数
1
解决办法
3747
查看次数

希望将标签引入基于文档的应用程序,想法?

我有一个基于文档的应用程序,到目前为止只是为每个文档编辑一个新窗口的文档.

我现在正在添加创建项目的能力,这本身就是一个文档.该项目将包含一个文件列表,可以使用(希望)与我现有的NSDocument子类相同的代码进行编辑,但文档编辑器将嵌入到项目窗口中,而不是在新窗口中打开.

例如,Xcode如何在编辑器窗格中打开每个文件,而不使用每个文档的新窗口?我假设它使用基于文档的体系结构,因为它的行为与任何其他基于文档的应用程序非常相似,但单窗口事物除外.

因为NSDocument 必须(根据文档)拥有它自己的窗口控制器,是否可以将该窗口"嵌入"另一个窗口(即在我的项目窗口内),使得chrome不可见以产生单个窗口的效果?

编辑:这个关于CocoaDev的讨论看起来非常有用:基于文档的应用程序,所有文档都有一个窗口

macos cocoa tabs objective-c nsdocument

5
推荐指数
1
解决办法
732
查看次数