小编jos*_*son的帖子

任何异常的全局错误处理程序

有没有办法添加一个全局的catch-all错误处理程序,我可以在其中更改对通用JSON响应的响应?

我无法使用该got_request_exception信号,因为不允许修改响应(http://flask.pocoo.org/docs/0.10/signals/).

相反,所有信号处理程序都以未定义的顺序执行,不会修改任何数据.

我宁愿不包装app.handle_exception函数,因为感觉像内部API.我想我的事情是这样的:

 @app.errorhandler()
 def handle_global_error(e):
     return "Global error"
Run Code Online (Sandbox Code Playgroud)

请注意,errorhandler它不带任何参数,这意味着它将捕获所有没有附加特定错误处理程序的异常/状态代码.我知道我可以使用errorhandler(500)errorhandler(Exception)捕获异常,但如果我这样做abort(409),它仍将返回HTML响应.

python error-handling http-error flask

41
推荐指数
3
解决办法
2万
查看次数

Jenkins和多配置(矩阵)工作

为什么Jenkins有两种工作,包括多配置项目和自由式项目项目?我读到某个地方,一旦你选择其中一个,你就无法转换到另一个(很容易).为什么我不总是选择多配置项目以便为将来的更改安全?

我想在Windows和Unix(以及其他平台)上为项目构建设置构建.我发现了这个问题),问同样的问题,但我没有得到答案.为什么我需要三个矩阵项目(而不是三个自由式项目),每个平台一个?为什么我不能将它们全部保存在一个矩阵中,平台AND(例如)一轴上的gcc版本和另一个上的(我的)软件版本?

我也阅读了这篇博客文章,但它在同一台机器上构建了所​​有内容,只有不同的Python版本.

简而言之:大多数人如何配置针对许多不同平台的多配置项目?

continuous-integration jenkins multi-configuration

38
推荐指数
2
解决办法
4万
查看次数

浏览器意图并返回正确的活动(关闭打开的选项卡)

AccountManager在Android中实施自定义帐户类型时,我对登录流程有以下问题:

登录应通过OAuth提供商进行.因此,我创建了一个SignInActivity启动WebView并启动OAuth流程的程序.这工作得很好,当回调接收到my-custom-scheme://callbackWebView检测它,接受code查询字符串参数并完成流程.使用a的缺点WebView是,即使用户可能已经在浏览器中有活动会话,也不会使用此会话,WebView因此用户必须再次登录WebView.

为了解决这个问题,我尝试切换到使用intent-filterin AndroidManifest.xml,如下所示:

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="my-custom-scheme" android:path="callback"/>
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

我没有打开a WebView,而是SignInActivity启动浏览器意图并等待浏览器点击my-custom-scheme://callback.

Intent browserIntent = new Intent(Intent.ACTION_VIEW, "http://oauth2provider/authorize");
startActivity(browserIntent);
finish();
Run Code Online (Sandbox Code Playgroud)

在我的SignInActivity我有以下代码来处理回调:

if (intent != null && intent.getData() != null && getString("my-custom-scheme").equals(intent.getData().getScheme())) {
    String code = getIntent().getData().getQueryParameter("code");
    // complete oauth flow
}
Run Code Online (Sandbox Code Playgroud)

这有效.但是,对于这个问题(最后!):

  1. 如果用户未登录,则浏览器意图将显示oauth提供程序的登录页面.用户登录后,Chrome会重定向到my-custom-scheme://回调并 …

android google-chrome android-intent oauth-2.0

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

ARMv7上的Java(JVM)(更具体地说是Cubox或BeagleBoard)?

我想知道是否有人在BeagleBoard或Cubox上运行Java并运行?我正在考虑为我正在闲暇的项目购买一个项目,但由于该项目的一部分是用Java编写的,我首先想知道这些小型计算机是否可以运行JVM?

从我在http://www.oracle.com/technetwork/java/embedded/downloads/javase/index.html上看到的有ARM的版本,Solid-Run(Cubox背后的制造商)也写了一些信息他们的维基:http://www.solid-run.com/mw/index.php/Oracle_Java_on_CuBox.

但是,我需要知道的是:

  1. 我是否可以在功能方面考虑ARM JVM == x86/x64 JVM(又名"我的代码将在没有更改的情况下运行")(我的代码非常非图形化,主要是HTTP API)?
  2. ARM上的JVM是否存在任何许可"问题"(与x86/x64上的JVM相比)?也就是说,如果我突然想要大规模生产我的小闲暇爱好项目并卖掉Cuboxes,甲骨文会起诉我吗?
  3. 有人在ARM上有Hibernate/HSQLDB的经验吗?

也许在一个问题中有太多问题,但我认为它们都足够相关,可以放在同一个线程中.总的来说,我想更多地了解ARM上的JVM以及它是如何发展和成熟的.

谢谢!

java jvm arm hibernate hsqldb

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

在GWT中设计GUI的最佳实践

我最近开始研究Google Web Toolkit.我已经完成了一些演练,我想我理解了基础知识和想法.但是,我对应用程序的整体架构和设计有一些疑问.

让我们从GUI开始.我想构建一个"通用"Web应用程序,用户首先看到一个登录页面.成功登录后,用户将被重定向到某种索引页面并添加一个菜单.我为登录页面创建了一个新的LoginComposite,并尝试使用GWT Designer设计一个漂亮的HTML表.但是,我发现真的很难做到,因为你不能在单个单元格(TD)上设置任何单独的属性?没有办法指定colspan或rowspan,我不能在单元格本身上设置任何填充或边距.简而言之,我确切地知道如何编写HTML代码,但我无法将其转换为设计器.那只是我吗?

此外,我想知道代码布局和设计的最佳实践.我浏览了StockWatcher教程,但这真的不是一个非常现实的Web应用程序.例如,我想知道我应该如何设计不同的形式(每个应该在继承Composite-class的自己的类中)?我应该如何在表单之间切换(例如,首先是列表视图,然后是从列表中编辑所选项目的表单,然后是完全不同的页面)?如果我为每个页面都有一个Composite,并在我的EntryPoint需要时实例化它们,这是否意味着客户端将在页面加载时下载所有这些复合材料的所有JavaScript?我应该只使用一个HTML页面,还是应该有很多?

这些是任何GWT教程都没有涵盖的问题.如果有人知道使用GWT构建的"真实"Web应用程序的一个很好的例子,我很乐意看到它.

感谢您的输入!

gwt gwt-designer

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

Subversion合并信息,有多重要?

我对如何使用Subversion中的合并信息有点好奇,如果合并信息不正确,会遇到什么样的问题?

例如,我有分支branch1branch2来自trunk.我也有一个subbranch1和一个subbranch2起源branch1.考虑我已经完成了一些开发branch2,然后使用重新集成到trunk svn merge --reintegrate ^/branch2.那么我想这些变化增加subbranch1以及(从把他们trunk),并错误地使用命令,svn merge --reintegrate ^/trunk(因此增加的--reintegrate标志,也是合并的命令在这里,即使subbranch1不是直接祖先trunk).

这会在未来导致什么问题?

svn svn-merge

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

$ httpBackend(angularJS)中的URL参数

是否可以在angularJS的$ httpBackend中接收URL参数?我想做的事情如下:

$httpBackend.whenGET('/api/v1/users/{userId}').respond(function (method, url, data) {
    // somehow read {userId} and act differently depending on what the value is

    return [200];
});
Run Code Online (Sandbox Code Playgroud)

拥有这个功能真的可以很容易地创建一个功能相当的模拟API(更容易开发前端应用程序而无需运行整个后端).

angularjs

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

推送 gitolite-admin 时 Gitolite 给出错误消息:无法符号链接

完整的错误消息是:

could not symlink /var/lib/gitolite/.gitolite/hooks/common/gitolite-hooked to subdir/myrepo.git/hooks
Run Code Online (Sandbox Code Playgroud)

当我对 gitolite-admin 进行任何更改并推送这些更改时,就会发生这种情况。这些钩子是做什么用的?我需要它们吗?符号链接有什么问题?

我已在 中为我的存储库指定了另一个位置$REPO_BASE,但我使 gitolite 用户成为该路径和使用该chown命令的所有存储库的所有者,因此它不应该是权限问题。

git gitolite

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

使用GWT和AppEngine Blobstore进行多文件上传?

我如何在GWT和AppEngine Blobstore中创建类似Gmail的现代多文件上传?

最常提出的解决方案是gwtupload,这是由Manolo Carrasco编写的优秀GWT组件.但是,最新版本0.6.6不适用于blobstore(至少我无法使其工作),并且它不支持多文件选择.在最新的0.6.7快照中有一个用于多文件选择的补丁,但是虽然它允许选择多个文件(使用HTML5中的"multiple"属性),但仍然会在一个巨大的POST请求中发送它们(并显示进度整堆文件).

关于SO还有其他问题(例如此处此处),但答案通常使用HTML5"multiple"属性并将它们作为一个大的POST请求发送.它有效,但它不是我追求的.

gwt html5 google-app-engine file-upload blobstore

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

DotNetOpenAuth和FormsAuthentication

我正在实施DotNetOpenAuth(OpenID)和Forms Authentication作为我正在构建的网站的身份验证机制.但是,我对我提出的解决方案的部分内容并不满意,尽管我应该和你们一起检查它是如何完成的.

我已将表单身份验证设置loginUrllogin.aspx.这是登录页面背后的代码:


public partial class Login : DataAccessPage {
    protected void Page_Load(object sender, EventArgs e) {
        if (Request.QueryString["dnoa.receiver"] != "openId") {
            openId.ReturnToUrl = Request.Url.ToString();
            openId.LogOn();
        }
    }

    protected void openId_LoggedIn(object sender, DotNetOpenAuth.OpenId.RelyingParty.OpenIdEventArgs e) {
        var fetch = e.Response.GetExtension();

        if (fetch != null) {
            string eMail = fetch.GetAttributeValue(WellKnownAttributes.Contact.Email);
            string name = fetch.GetAttributeValue(WellKnownAttributes.Name.FullName);

            var usr = db.Users.SingleOrDefault(u => u.EMailAddress == eMail);

            if (usr != null) {
                // update the name in db if it has been changed …
Run Code Online (Sandbox Code Playgroud)

asp.net forms-authentication dotnetopenauth

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