小编rob*_*ing的帖子

如何在chrome中设置DOM断点

我正在尝试按照这里的教程.

我被困在DOM断点(靠近底部).

我去了他们正在谈论的示例网站.我按了ctrl+ shift+ i并导航到"元素"选项卡.在元素选项卡中,我找到了以下html部分:

<div id="profileCard" style="position: absolute; left: 403px; top: 135px; visibility: hidden; display: none; " class="goog-hovercard">
</div>
Run Code Online (Sandbox Code Playgroud)

现在我一直试图找到上下文菜单:

在#profileCard元素上打开一个上下文菜单,并选择要中断的事件:子树修改,属性修改和节点删除

这是一个截图,显示我在哪里:

SS

javascript debugging google-chrome google-chrome-devtools

42
推荐指数
3
解决办法
4万
查看次数

更快的sqlite 3查询?我需要尽可能快地处理100万行

在golang中读取sqlite3表的最快方法是什么?

package main

import (
    "fmt"
    "database/sql"
    _ "github.com/mattn/go-sqlite3"
    "log"
    "time"
)

func main() {
    start := time.Now()

    db, err := sql.Open("sqlite3", "/Users/robertking/go/src/bitbucket.org/thematicanalysis/optimization_test/robs.db")
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()
    rows, err := db.Query("select * from data")
    if err != nil {
        log.Fatal(err)
    }
    defer rows.Close()

    for rows.Next() {
    }
    err = rows.Err()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(time.Since(start))
}
Run Code Online (Sandbox Code Playgroud)

这在Go中需要8秒,因为速度.Next.在python fetchall中只需4秒!我在GO中重写以获得性能而不是失去性能.

这是python代码,我找不到相应的fetchallgo:

import time

start = time.time() …
Run Code Online (Sandbox Code Playgroud)

sql sqlite performance go

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

在python中链接的方法

(不要与itertools.chain混淆)

我正在阅读以下内容:http: //en.wikipedia.org/wiki/Method_chaining

我的问题是:在python中实现方法链的最佳方法什么?

这是我的尝试:

class chain():
    def __init__(self, my_object):
        self.o = my_object

    def __getattr__(self, attr):
        x = getattr(self.o, attr)
        if hasattr(x, '__call__'):
            method = x
            return lambda *args: self if method(*args) is None else method(*args)
        else:
            prop = x
            return prop

list_ = chain([1, 2, 3, 0])
print list_.extend([9, 5]).sort().reverse()

"""
C:\Python27\python.exe C:/Users/Robert/PycharmProjects/contests/sof.py
[9, 5, 3, 2, 1, 0]
"""
Run Code Online (Sandbox Code Playgroud)

一个问题是如果调用method(*args)修改self.o但不返回None.(然后我应该返回self或返回什么method(*args)返回).

有没有人有更好的方法来实现链接?可能有很多方法可以做到这一点.

我应该假设一个方法总是返回None …

python method-chaining

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

Backbone.Models this.get()复制整个数组或指向内存中的同一个数组

 Person = Backbone.Model.extend({
        defaults: {
            name: 'Fetus',
            age: 0,
            children: []
        },
        initialize: function(){
            alert("Welcome to this world");
        },
        adopt: function( newChildsName ){
            var children_array = this.get("children");
            children_array.push( newChildsName );
            this.set({ children: children_array });
        }
    });

    var person = new Person({ name: "Thomas", age: 67, children: ['Ryan']});
    person.adopt('John Resig');
    var children = person.get("children"); // ['Ryan', 'John Resig']
Run Code Online (Sandbox Code Playgroud)

在此示例代码中,我们有:

children_array = this.get("children")

我以为这只会指向内存中的相同数组(因此也是O(1)).然而,我认为这将是一个设计层,因为可以在不使用this.set()的情况下操纵数组,然后事件监听器就不会触发.

所以我猜它(不知何故神奇地)复制数组?

http://backbonejs.org/#Model-set

怎么了?

编辑:我刚刚在https://github.com/documentcloud/backbone/blob/master/backbone.js的骨干源代码中找到了实现(我在底部粘贴了相关代码)

获得回报:

return this.attributes[attr]
Run Code Online (Sandbox Code Playgroud)

所以这只会指向内存中的相同数组吗?所以可以在不使用set()的情况下更改数组,这样会很糟糕......?我对么?

get: function(attr) {
      return this.attributes[attr];
    },

    // Get …
Run Code Online (Sandbox Code Playgroud)

javascript arrays model backbone.js

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

ndb有一个列表属性

而不是单个StringProperty(),我想存储一个字符串列表

class BlogPost(ndb.Model):
    s1 = ndb.StringProperty(required=True)
    s2 = ndb.StringProperty(required=True)
    s3 = ndb.StringProperty(required=True)
Run Code Online (Sandbox Code Playgroud)

我宁愿去

class BlogPost(ndb.Model):
    my_strings = ndb.StringListProperty() # does this exist?
Run Code Online (Sandbox Code Playgroud)

python google-app-engine list google-cloud-datastore

17
推荐指数
2
解决办法
7154
查看次数

使用javascript上传到谷歌云存储签名网址

使用以下代码,我可以上传到谷歌云存储中的公共可写桶.(allUsers有写权限).但是,如果存储桶不可公开写入,那么我会收到401未经授权的错误.(我不希望桶是公开可写的).

var file = $scope.myFile;
      var fileData = file;
      var boundary = '-------314159265358979323846';
      var delimiter = "\r\n--" + boundary + "\r\n";
      var close_delim = "\r\n--" + boundary + "--";

      var reader = new FileReader();
      reader.readAsBinaryString(fileData);
      reader.onload = function(e) {
        var contentType = fileData.type || 'application/octet-stream';
        var metadata = {
          'name': 'objectName', //'lol' + fileData.name,
          'mimeType': contentType
        };

        var base64Data = btoa(reader.result);
        var multipartRequestBody =
          delimiter +
          'Content-Type: application/json\r\n\r\n' +
          JSON.stringify(metadata) +
          delimiter +
          'Content-Type: ' + contentType + '\r\n' + …
Run Code Online (Sandbox Code Playgroud)

javascript cors google-api-client google-cloud-storage

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

webapp2重定向解释

我有时候不确定如何使用webapp2.redirect.

有没有时间我应该使用 self.redirect("/blah")而不是return self.redirect("/blah")

这是我对时间线的理解/猜测:(有时候我很困惑,如果响应对象做了什么或者webapp2是否这样做)

  1. 我访问我的多线程网站www.mysite.com/name/robert,chrome发送GET请求(假设此请求是文本文件)
  2. webapp2抓取这个"文本文件"并将其转换为webapp2.Request.webapp2也创建了一个新的webapp2.Response.
  3. 不知何故,请求URL被提供给路由器以进行匹配(通过webapp2或响应).适当的RequestHandler被实例化.使用适当的参数调用RequestHandler的get()方法.
  4. 在这段时间内,只有一个请求和一个响应.
  5. get()方法调用response.out.write("hello world")向响应体添加"hello world"?
  6. get()方法调用self.redirect('/ foo')
  7. 东西发生了
  8. get()方法调用self.out.write("bye world")
  9. 响应被发送到包含hello world的客户端,添加了什么食物,再见世界

初始get函数的示例:

def get():
    self.write('hello world')
    self.redirect('/foo')
    self.write('bye world')
Run Code Online (Sandbox Code Playgroud)

什么" 发生的事情 "?我想路由器找到/ foo /的RequestHandler.在调用foo的requestHandlers get()方法之前,对Request和Response进行了哪些修改.请求是否被删除并替换为新的GET请求?是否删除了响应并替换为新响应?初始请求处理程序中存在哪些上下文?代码执行是否返回到初始请求处理程序get方法,如果是,那么可能存在的上下文是否已恢复?

对不起,如果这有点拗口,我试着解释一下我想知道的:)

也许更容易要求使用重定向的一些用例(做和不做).

google-app-engine redirect wsgi webapp2

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

x:= [...] string {"Sat","Sun"} vs x:= [] string {"Sat","Sun"}

在go lang 规范中,他们在其中一个示例中使用了三个点:

days := [...]string{"Sat", "Sun"}  // len(days) == 2
Run Code Online (Sandbox Code Playgroud)

如果省略三个点会有什么不同吗?

go variadic-templates

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

在python中计算快速日志库2天花板

对于给定的x < 10^15,迅速准确地确定的最大整数p,使得2^p <= x

以下是我尝试过的一些事情:

首先我尝试了这个,但对大数字来说并不准确:

>>> from math import log
>>> x = 2**3
>>> x
8
>>> p = int(log(x, 2))
>>> 2**p == x
True
>>> x = 2**50
>>> p = int(log(x, 2))
>>> 2**p == x #not accurate for large numbers?
False
Run Code Online (Sandbox Code Playgroud)

我可以尝试类似的东西:

p = 1
i = 1
while True:
    if i * 2 > n:
        break
    i *= 2
    p += 1
    not_p = n - p …
Run Code Online (Sandbox Code Playgroud)

python math binary logging

11
推荐指数
3
解决办法
7214
查看次数

如何从webapp2请求处理程序单元测试传递给jinja2模板的模板变量

我以前从未做过单元测试.我想掌握它.

我正在尝试测试我的webapp2处理程序.为此,我认为向处理程序发送请求是个好主意,例如:

request = webapp2.Request.blank('/')
# Get a response for that request.
response = request.get_response(main.app)
Run Code Online (Sandbox Code Playgroud)

问题是,响应主要只是一堆HTML等.

我想看看在处理程序转换为HTML之前从处理程序传递给我的jinja2模板的内容.

我希望我的测试能够处理处理程序类代码中的状态.我不想在响应处理程序中看到某些变量看起来像什么,然后我想看看dict模板在传递给render_to_response()之前的样子

我想测试这些变量是否具有正确的值.

这是我到目前为止的测试代码,但是因为response = request.get_response()只给了我一堆html而不是原始变量,所以我卡住了.

import unittest
#from google.appengine.ext import db
#from google.appengine.ext import testbed
#from google.appengine.datastore import datastore_stub_util
import main
import webapp2

class DemoTestCase(unittest.TestCase):
    def setUp(self):
        pass

    def tearDown(self):
        pass

    def testNothing(self):
        self.assertEqual(42, 21 + 21)

    def testHomeHandler(self):
        # Build a request object passing the URI path to be tested.
        # You can also pass headers, query arguments etc.
        request = webapp2.Request.blank('/') …
Run Code Online (Sandbox Code Playgroud)

google-app-engine unit-testing wsgi jinja2 webapp2

10
推荐指数
2
解决办法
2438
查看次数