小编kam*_*ens的帖子

解析命令行参数的最佳方法是什么?

解析Python命令行参数的最简单,简洁,最灵活的方法或库是什么?

python command-line command-line-arguments

228
推荐指数
10
解决办法
19万
查看次数

XHTML中的所有有效自闭元素(由主流浏览器实现)是什么?

XHTML中的所有有效自闭元素(例如<br/>)是什么(由主要浏览器实现)?

我知道XHTML在技术上允许任何元素自我关闭,但我正在寻找所有主要浏览器支持的那些元素的列表.有关由自关闭元素(如<div />)引起的某些问题的示例,请参见http://dusan.fora.si/blog/self-closing-tags.

html browser xhtml cross-browser

183
推荐指数
10
解决办法
9万
查看次数

如何在WebKit中控制Google App Engine缓存行为(etags疯狂)?

情况:运行Google App Engine站点,我的静态内容的default_expiration设置为"14d"

问题:在Chrome和Safari中,访问URL(重新加载,只是将光标放在地址栏中并按Enter)会导致大量请求被If-None-Match标头触发.正如预期的那样,响应总是304 Not Modified.我可以看到这些请求在Charles或Fiddler等调试代理中被触发.

想要:完全避免这些请求和完全针对静态内容的304响应 - 只需信任浏览器缓存的内容即可.

我们使用标准的"缓存静态内容很长一段时间,当我们需要破坏缓存"系统时,我们将负责对我们的查询字符串进行附加?version = {version}修改,所以我们真的很想避免304的.

信念:我认为这是由app引擎随每个静态内容响应发送的etag标头引起的.在App Engine SDK并没有下来发送这个头,并与SDK乱搞的时候我没有看到这个304的行为.

有什么建议?你可以关闭app引擎静态内容的etags吗?

更新了静态内容的示例: http ://www.khanacademy.org/stylesheets/shared-package/compressed.css

google-app-engine caching webkit google-chrome http-status-code-304

23
推荐指数
2
解决办法
6262
查看次数

是否可以从*Python*Google App Engine实例执行服务器端javascript?

一个很大问题已被要求,并回答了关于谷歌App Engine上运行服务器端的JavaScript,但所有的答案,以充分利用基于Java的JS解释像犀牛的处理Java实例犀牛的web应用,等等.

有没有办法在Python GAE实例上执行服务器端javascript代码?我正在考虑与pyv8完全相同的东西,但支持App Engine(我想这意味着解释器的纯python实现).

我目前唯一可以提出的解决方案是使用某种严重的黑客来并行(通过不同的版本)运行Java和Python GAE实例,这样他们就可以与同一个数据存储区通信,让Java实例托管JS代码,并使用API​​来回复.不太吸引人.

没有必要进入所有"这是不必要的,你不应该这样做"讨论 - 我知道这不是理想的,我只是好奇是否可以做到.

javascript python google-app-engine interpreter serverside-javascript

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

App Engine的UnindexedProperty包含奇怪的代码

请帮我理解这个:

在v1.6.6上,它位于第2744行google/appengine/ext/db/__init__.py:

class UnindexedProperty(Property):
  """A property that isn't indexed by either built-in or composite indices.

  TextProperty and BlobProperty derive from this class.
  """
  def __init__(self, *args, **kwds):
    """Construct property. See the Property class for details.

    Raises:
      ConfigurationError if indexed=True.
    """
    self._require_parameter(kwds, 'indexed', False)



    kwds['indexed'] = True
    super(UnindexedProperty, self).__init__(*args, **kwds)
 .
 .
 .
Run Code Online (Sandbox Code Playgroud)

在他们将索引参数约束为False之后 - 将它们设置为True!

python google-app-engine

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

<machineKey decryptionKey ="AutoGenerate"...被IIS忽略.不会使以前会话的cookie无效

(有关更多背景,请参阅下面的问题):

是否有任何情况

<machineKey
      validationKey="AutoGenerate,IsolateApps"
      decryptionKey="AutoGenerate,IsolateApps"/>
Run Code Online (Sandbox Code Playgroud)

在web.config中,无法在App Pool上自动生成新的machineKey回收?这是我看到的行为......


我在MVC应用程序中使用标准的ASP.NET FormsAuthentication.如果我在使用中登录用户FormsAuthentication.GetAuthCookie并且不使用持久性cookie(依赖于浏​​览器的会话来记住我的授权状态),我希望回收IIS应用程序池以使会话对此cookie的了解无效......然后注销所有没有持久性cookie的用户.

这可能发生在我的一个IIS安装(XP)上,但在不同的IIS配置(服务器2K3)上,FormsAuthentication cookie(在标准名称".ASPXAUTH"下)仍然有效并继续授权用户.

有谁知道为什么会发生这种情况或什么配置控制这种行为?

显然,回收应用程序池无法控制浏览器是否仍然发送.ASPXAUTH cookie(只要我没有关闭浏览器并且cookie没有过期).

如果IIS安装在回收后正确拒绝身份验证,我可以Request.CookiesApplication_BeginRequest事件期间看到传入的cookie ...但是一旦控件移动到Global.asax.cs中可用的下一个事件(Application_AuthenticateRequest,cookie就被删除了来自Request.Cookies收藏.

为什么IIS/ASP.NET配置都不会发生这种情况?


如果不清楚,形成问题的更简单方法是:

为什么HttpContext.Current.Request.Cookies[".ASPXAUTH"]从改变{System.Web.HttpCookie}到零的时候我一步,在一个单一的要求,从Application_BeginRequestApplication_AuthenticateRequest


更多调试信息:

如果我将以下代码附加到Global.asax.cs的FormsAuthentication_OnAuthenticate事件...

var cookie = Request.Cookies[FormsAuthentication.FormsCookieName];
if (cookie != null)
{
    var val = cookie.Value;
    try
    {
        FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(val);
    }
    catch (Exception)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

...然后在我回收IIS应用程序池之前的请求期间,不会捕获任何异常.回收IIS应用程序池后,当从浏览器发送完全相同的.ASPXAUTH cookie时,将捕获加密异常("填充无效且无法删除.")

为什么是这样?

asp.net iis forms-authentication web-config global-asax

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

如何设置全局DeadlineExceededError处理程序?

我想捕获并处理DeadlineExceededError,因此用户看不到App Engine默认抛出的标准"服务器错误"页面.

我知道在请求处理程序中重写handle_exception时,不会捕获 DeadlineExceededErrors (我们已经这样做了).

到目前为止,我已尝试使用自定义error_handlers app.yaml配置,但未成功:

error_handlers:
  - error_code: timeout
    file: timeout.html
Run Code Online (Sandbox Code Playgroud)

...但是,除非我做错了,否则它似乎也没有捕获DeadlineExceededErrors.

我知道我可以使用以下模式来捕获特定请求处理程序中的DeadlineExceededErrors:

class MainPage(webapp.RequestHandler):
    def get(self):
        try:
            # Do stuff...
        except DeadlineExceededError:
            # Many Whelps! Handle it!
Run Code Online (Sandbox Code Playgroud)

...但我想避免将其添加到我的应用程序中的每个请求处理程序.

我怎样才能在全球范围内捕获这些难以捉摸的吸盘?

error-handling google-app-engine requesthandler

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

"默认"提供的App Engine版本似乎不一致,并且在更改默认版本后会持续一段时间

我们的应用程序服务于一个只报告os.environ ['CURRENT_VERSION_ID']的端点.我们将此用于一种监视,它跟踪当前将哪个版本设置为"默认版本".

从3月5日下午开始,我们在向此端点发出请求时发现奇怪的行为.在我们更改默认版本后不久(通过"appcfg.py set_default_version"),对此端点的重复请求将在先前的默认值和新默认值之间翻转.这会持续大约10分钟,之后所有后续请求将始终报告新的正确默认版本.因此,在这10分钟的窗口期间,对我们的正常默认URL的请求似乎不一致地报告旧版本或新版本.

这似乎是行为的改变.我们的应用程序的默认版本的先前更改发生在3月1日,并且在该日期之前的每个其他版本更改都没有表现出这种翻转行为.

(问题来自我队友错误报告)

google-app-engine

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

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

是否可以在SQL中将多个常量选择为多个结果集行?

我知道我可以"SELECT 5 AS foo"并获得结果集:

FOO

(1排)

...有没有办法"SELECT 5,6,7 AS foo"并得到结果集:

FOO

6

7

(3排)

...我很清楚这不是典型的数据库使用情况,任何可以想象的使用方法都可能更适合采用更普通的技术.更多的技术问题.

注意:我知道我可以使用大量的UNION列表 - 我正在尝试寻找其他东西.

sql sql-server

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