小编ami*_*rpc的帖子

缓存图像的CORS策略

在chrome 22&safari 6中.

使用支持CORS的S3存储桶从s3加载图像以在画布中使用(以提取为主要目的),具有以下代码:

<!-- In the html -->
<img src="http://s3....../bob.jpg" /> 

// In the javascript, executed after the dom is rendered
this.img = new Image();
this.img.crossOrigin = 'anonymous';
this.img.src = "http://s3....../bob.jpg";
Run Code Online (Sandbox Code Playgroud)

我观察到以下情况:

  1. 禁用缓存
  2. 一切正常,两个图像加载

然后在启用缓存的情况下尝试:

  1. 启用缓存
  2. DOM图像加载,画布图像创建一个dom安全例外

如果我修改代码的javascript部分以附加查询字符串,如下所示:

this.img = new Image();
this.img.crossOrigin = 'anonymous';
this.img.src = "http://s3....../bob.jpg?_";
Run Code Online (Sandbox Code Playgroud)

一切正常,即使完全启用了缓存.我通过使用http代理继续进行缓存是一个问题,并观察到在失败的情况下,实际上没有从服务器请求图像.

我不得不得出的结论是,图像缓存正在保存原始请求头,然后将其用于后续启用CORS的请求 - 并且由于违反相同的源策略而生成安全性异常.

这是预期的行为吗?

编辑:在Firefox中工作.

Edit2:关于s3存储桶的Cors策略

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
    </CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)

我正在使用大开放,因为我现在只是从我当地的盒子进行测试.这还没有投入生产.

Edit3:更新了cors策略以指定原点

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>http://localhost:5000</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
    </CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)

已验证的传出标题

Origin …
Run Code Online (Sandbox Code Playgroud)

javascript html5 canvas amazon-s3 cross-domain

46
推荐指数
3
解决办法
4747
查看次数

是否有可能获得svn客户端调试输出?

我希望在svn客户端中启用极其详细的日志记录输出,专门用于解决拙劣的合并任务.

我目前面临的问题是从主干到我的功能分支合并没有带来任何新的变化,但两个HEAD的差异揭示了杰出的未合并工作.

一般来说,我认为这意味着mergeinfo已经搞砸了,或者项目目录结构中存在一些导致问题的更深层次的mergeinfo.但是在这种情况下,我已经清理了所有mergeinfo属性并手动确保功能分支的mergeinfo的根目录不包含我尝试合并的主干头上的修订.

对于这个任务和其他人,我希望能够启用SVN调试日志,从字面上向我显示如下内容:

  • 尝试将修订版XXX中的https:....合并到工作副本
    • 跳过,已经合并了
  • 尝试...

我正在寻找使用某种编译时标志重新编译svn客户端以指示记录详细程度,但没有得到任何地方.有没有人有关于如何从SVN客户端获取更多信息的任何指示?(命令行,linux).

svn

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

Android的自定义类加载器?

我正在编写一个仪器库,我想在桌面和移动设备(Android)上工作.

它的功能是:

  1. 公开一个main,它接受一个参数,即目标类的主要参数
  2. 安装一个类加载器,它在加载时拦截所有类并对它们进行检测

像这样:

    // Expects args[0] to contain the name of the INNER main
    public static void main(String[] args) throws Throwable {
            String className = args[0];
            String [] newArgs = new String[0];

            if(args.length > 1) {
                    newArgs = Arrays.copyOfRange(args, 1, args.length-1);
            }

            System.out.println("Bootstrapping " + className);

            Loader s = new Loader(ClassLoader.getSystemClassLoader().getParent());
            Class<?> c = s.loadClass(className);
            c.getDeclaredMethod("main", new Class[] { String[].class }).invoke(
                            null, new Object[] { newArgs });
    }
Run Code Online (Sandbox Code Playgroud)

问题是:

如何为Android应用程序做大致相同的事情?

一个想法是修改android清单以用"包装"活动替换现有活动,然后安装类加载器并调用原始底层活动.有没有更好的办法?

java reflection mobile android javassist

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

android phonegap插件ActionBar包装器

我正在尝试使用Android原生控件添加iOS"TabBar"样式导航 - 所以ActionBar - 到我的PhoneGap应用程序.我希望我的JavaScript在更改选项卡时接收回调,理想情况下我也希望ActionBar完全由JavaScript动态填充(如PhoneGap中的iOS Native TabBar).我知道我可以在JS/CSS/HTML层中做到这一点,但我想在我这样做之前认真使用本机控件.

我已成功将ActionBar添加到我的android phonegap应用程序中,方法是修改onCreate以包含:

public void onCreate(Bundle savedInstanceState) {
    this.setBooleanProperty("showTitle", true);

    super.onCreate(savedInstanceState);

    getWindow().requestFeature(Window.FEATURE_ACTION_BAR);

    ActionBar bar = getActionBar();

    bar.setDisplayShowTitleEnabled(false); 
    bar.setDisplayShowHomeEnabled(false);
    bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    Tab tab = bar.newTab()
        .setText("Test")
        .setTabListener(new TestListener());

    bar.addTab(tab);
    bar.show();

    super.loadUrl("file:///android_asset/www/index.html");
}
Run Code Online (Sandbox Code Playgroud)

我一直试图通过创建一个插件来使这个更漂亮,使用非常类似于iOS NativeControls机制:

public PluginResult execute(String action, JSONArray data, String callbackId) {
    PluginResult.Status status = PluginResult.Status.OK;
    String result = "";

    if(INIT.equals(action)) {
        ActionBar bar = cordova.getActivity().getActionBar();
        Tab tab = bar.newTab()
            .setText("Test")
            .setTabListener(new TestListener());

        // CRASHES HERE
        bar.addTab(tab);
        bar.show();
    }

    return new PluginResult(status, result);
}
Run Code Online (Sandbox Code Playgroud)

我知道这是一个非首发因素,因为必须在onCreate期间设置ActionBar.所以我把创建留在onCreate中,并且只是试图让javascript设置一个回调来点击选项卡时被击中,但我无法弄清楚的是如何实际调用从java到JavaScript的任意回调 …

java mobile android phonegap-plugins cordova

5
推荐指数
0
解决办法
2216
查看次数

webkit对图像大小调整的性能分析

使用铬跟踪面板进行性能分析我发现许多图像调整大小,特别是在滚动时.

我已经从前端删除了所有(我认为)图像调整大小,并且为了测试目的简化了dom,此时大部分只是静态图像元素.

我有一些理论:

  1. 所有图像都在内部调整大小/重新采样
    • 看着铬源,我发现一切都在调用"NativeImageSkia :: resizedBitmap"的证据
  2. 使用视网膜显示器mac可以对图像进行采样
    • 通过在跟踪器中看到"dst_pixels"大小为src_pixels的4倍来进行备份

有人可以确认或否认上述任何一项吗?

也:

是否可以追踪正在调整大小的图像?

在此输入图像描述

javascript css performance webkit google-chrome

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

sqlalchemy 嵌套继承/多态关系

我有一个看起来像这样的树,通过多态继承反映:

      A
  /   |   \
  B   C   D
Run Code Online (Sandbox Code Playgroud)

这很好用,例如:

class BaseModel(db.Model):     # Table A in diagram
    __tablename__ = "entities"

    id = db.Column(db.BigInteger, primary_key=True, nullable=False, server_default=func.nextval('guid_seq'))
    type_id = db.Column(db.SmallInteger, db.ForeignKey(EntityTypesModel.id))

    __mapper_args__ = {
        'polymorphic_identity':'entity',
        'polymorphic_on':type_id,
        'with_polymorphic':'*'
    }

class BrandModel(BaseModel):   # Table B, C, D in diagram
    __tablename__ = 'brands'

    id = db.Column(db.BigInteger, db.ForeignKey(StufffModel.id), primary_key=True, nullable=False)
    name = db.Column(db.String, nullable=False)

    __mapper_args__ = {
        'polymorphic_identity':ET_BRAND,
    }
Run Code Online (Sandbox Code Playgroud)

问题是我需要反映更像这样的东西:

              A
          /   |   \
          B   C   D
                /   \
                E    F
Run Code Online (Sandbox Code Playgroud)

其中 D 不仅是 A 的多态孩子,也是 …

python sqlalchemy

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

theano定义了重复调用另一个函数的函数?

我的训练功能:

def fit(self, X, y):
    batch_size = 20

    index = T.lscalar()  # index to a [mini]batch
    updates = {}

    return theano.function(
        inputs=[index], outputs=self.cost, updates=updates,
        givens={
            self.sym_X: X[index * batch_size:(index + 1) * batch_size],
            self.sym_y: y[index * batch_size:(index + 1) * batch_size]})
Run Code Online (Sandbox Code Playgroud)

然后从其他地方:

fn = obj.fit(X, y)
for i in range(10):
    fn(i)
Run Code Online (Sandbox Code Playgroud)

所以我想要的是这样的

fn = obj.fit(X, y)
fn()
Run Code Online (Sandbox Code Playgroud)

我真的不确定如何开始这个,因为theano对我来说仍然非常令人折服.我能够做到这一点,但循环是非常具有挑战性的.

我有一个模糊的概念,如果我可以将theano.function转换为theano.scan,然后在它周围放置一个外部theano.function - 这可能会有效.然而,theano.scan对我来说仍然是神奇的(尽管我付出了最大的努力).

我怎样才能使循环的微型计算机合并到一个函数调用中?

更新:

我以为我拥有它!我懂了:

def fit(self, X, y):
    batch_size = 20
    n_batches = 5

    index = theano.shared(0)

    ## index to …
Run Code Online (Sandbox Code Playgroud)

python machine-learning theano

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

sqlalchemy多个外键到同一个表

我有一个postgres数据库,看起来像这样:

      Table "public.entities"
    Column     |            Type             |                   Modifiers                    
---------------+-----------------------------+------------------------------------------------
 id            | bigint                      | not null default nextval('guid_seq'::regclass)
 type_id       | smallint                    | not null
 name          | character varying           | 
Indexes:
    "entities_pkey" PRIMARY KEY, btree (id)
Foreign-key constraints:
    "entities_parent_id_fkey" FOREIGN KEY (parent_id) REFERENCES entities(id)
    "entities_type_id_fkey" FOREIGN KEY (type_id) REFERENCES entity_types(id)
Referenced by:
    TABLE "posts" CONSTRAINT "posts_id_fkey" FOREIGN KEY (id) REFERENCES entities(id)
    TABLE "posts" CONSTRAINT "posts_subject_1_fkey" FOREIGN KEY (subject_1) REFERENCES entities(id)
    TABLE "posts" CONSTRAINT "posts_subject_2_fkey" FOREIGN KEY (subject_2) REFERENCES entities(id)

    Table "public.posts"
  Column …
Run Code Online (Sandbox Code Playgroud)

python postgresql sqlalchemy flask-sqlalchemy

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

twitter引导下拉列表弹出元素

您可以在此屏幕截图中看到,每行上包含"hi"的菜单会弹出正文元素下方,也会弹出屏幕上的按钮.

弹出下

dom结构如下所示:

dom结构

打开时下拉元素的计算样式是:

background-color: transparent;
color: #999;
display: block;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 14px;
height: 20px;
line-height: 20px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
margin-top: 0px;
overflow-x: visible;
overflow-y: visible;
position: relative;
width: 1425px;
Run Code Online (Sandbox Code Playgroud)

这是弹出"下拉菜单"计算样式的项目之一:

box-sizing: border-box;
color: white;
cursor: pointer;
display: inline-block;
height: 22px;
line-height: 17px;
list-style-image: none;
list-style-position: outside;
list-style-type: none;
overflow-x: visible;
overflow-y: visible;
vertical-align: middle;
width: 74px;
word-spacing: 0px;
Run Code Online (Sandbox Code Playgroud)

我似乎无法攻击正确的dom&css魔法来使这项工作正确.我一直在dom heirarchy中的位置,而在dropdown div的导航栏中.我也一直在下拉菜单,下拉菜单和弹出的元素上玩z-index.

我觉得有点像我在这里看不到的东西.有什么想法吗?

css layout html5 css3 twitter-bootstrap

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