所以我正在使用GIT,试图将代码推送到我的远程服务器.
为了让事情有效,我不得不使用以下克隆命令:
git clone -u/home/bin/git-upload-pack user@server.com:mygitfolder
本地机器/远程服务器上相同版本的git(1.7.0.4)
所以从我可以收集的内容来看,我基本上需要:
我知道我可以创建一个在我推动时生效的钩子,但是没有设法找到它的实现位置和方式.
(我宁愿不在我的本地机器上创建别名)
只是尝试使用Tornado的异步函数 - 我想从我的处理程序调用一个方法,但它一直告诉我它"有一个意外的关键字参数'回调'".
class MyHandler(tornado.web.RequestHandler):
@asynchronous
@gen.engine
def get(self):
response = yield gen.Task(self.dosomething, 'argument')
self.write(response)
self.finish()
def dosomething(self, myargument):
pass
Run Code Online (Sandbox Code Playgroud) 我想向ES发送n个upsert部分请求,这样的事情可能吗?因此,如果文档不存在,请插入我的部分文档.如果它已存在,请使用部分doc更新它.
使用批量助手,我尝试了很多变化,但它们都消除了现有的价值,转而支持新的价值.
data = [{
"_index": 'my_index',
"_type": 'my_type',
"_id": 12345,
"doc": {"newkey": 'newvalue'}
}]
helpers.bulk(es, data, index='my_index', doc_type='my_type')
Run Code Online (Sandbox Code Playgroud)
要么
data = [{
"_index": 'my_index',
"_type": 'my_type',
"_id": 12345,
"_source": {"newkey": 'newvalue'}
}]
helpers.bulk(es, data, index='my_index', doc_type='my_type')
Run Code Online (Sandbox Code Playgroud)
也不起作用.
我有类似的东西
[
{
"key": { "subkey1":1, "subkey2":"a" }
},
{
"key": { "subkey1":10, "subkey2":"b" }
},
{
"key": { "subkey1":5, "subkey2":"c" }
}
]
Run Code Online (Sandbox Code Playgroud)
并且需要:
[
{
"key": { "subkey1":10, "subkey2":"b" }
},
{
"key": { "subkey1":5, "subkey2":"c" }
},
{
"key": { "subkey1":1, "subkey2":"a" }
}
]
Run Code Online (Sandbox Code Playgroud)
非常感谢!
编辑:我想按subkey1排序,这在以前不清楚.
我有一个 KNeighborsClassifier,它根据 4 个属性对数据进行分类。我想手动对这 4 个属性进行加权,但总是遇到“操作数无法与形状 (1,5) (4) 一起广播”的问题。
weights : [callable] : a user-defined function which accepts an array of distances, and returns an array of the same shape containing the weights.关于(来自这里)的文档很少
这就是我现在所拥有的:
for v in result:
params = [v['a_one'], v['a_two'], v['a_three'], v['a_four']]
self.training_data['data'].append(params)
self.training_data['target'].append(v['answer'])
def get_weights(array_weights):
return [1,1,2,1]
classifier = neighbors.KNeighborsClassifier(weights=get_weights)
Run Code Online (Sandbox Code Playgroud) 我有一个简单的拖动事件 - 如果满足某个条件,我想强制取消当前正在进行的拖动(基本上就像你在做鼠标一样)。
像这样:
var drag_behavior = d3.behavior.drag()
.on("drag", function() {
if(mycondition){
// cancel the drag event
}
});
Run Code Online (Sandbox Code Playgroud)
编辑:
目标只是防止人们将世界地图拖到特定边界之外,以在海洋中渲染地图(详情如下)。
当前地图代码:
var width = window.innerWidth
var height = window.innerHeight
var projection = d3.geo.mercator()
.scale((width + 1) / 2 / Math.PI)
.translate([width / 2, height/1.5])
.precision(.1);
var path = d3.geo.path()
.projection(projection);
var drag_behavior_map = d3.behavior.drag()
.on("drag", function() {
drag_click = true //used later to prevent dragend to fire off a click event
d3.event.sourceEvent.stopPropagation();
// original idea
// if(worldmap_left_boundary > 0 …Run Code Online (Sandbox Code Playgroud) 我想在课堂上每隔X小时安排一份工作.但是我不确定如何将当前上下文传递给方法,因为它需要"自我".我知道如果做cron风格,我可以使用args参数列表,但这也没有用.救命?
class MyClass(object):
@settings.scheduler.interval_schedule(hours=2)
def post(self, first_argument=None):
# do stuff
self.cleanup()
Run Code Online (Sandbox Code Playgroud)
结果是
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/apscheduler/scheduler.py", line 510, in _run_job
retval = job.func(*job.args, **job.kwargs)
TypeError: post() takes at least 1 argument (0 given)
Run Code Online (Sandbox Code Playgroud)
谢谢.
我正在使用带有boto的dynamoDB,并且在我的表的设计/查询中遇到了一些问题.
我希望我的数据看起来像
+---------------------------------------+
hash_key account_id mykey
-----------------------------------------
1 12345 myvalue1
2 12345 myvalue2
3 12345 myvalue3
4 123456 myvalue4
+---------------------------------------+
Run Code Online (Sandbox Code Playgroud)
然后检索帐户12345的所有数据.查看boto文档,我总是需要hash_key可用.我知道如何查询这个标准的SQL/MongoDB,但我找不到boto的解决方案.我认为这是可能的吗?谢谢!
编辑:这似乎工作
+---------------------------------------+
hash_key range_key mykey
-----------------------------------------
12345 12568 myvalue1
12345 53890 myvalue2
12345 12322 myvalue3
123456 23432 myvalue4
+---------------------------------------+
Run Code Online (Sandbox Code Playgroud)
其次是
> res = table.query(hash_key='12345')
> for item in res:
> print i
Run Code Online (Sandbox Code Playgroud)
由于我想要使用帐户#12345获取所有条目,无论range_key如何,我都需要查询而不是get_item
我有以下装饰器和类。
def auth(fn):
def check_headers(self):
print 'checking headers...'
#self.headers work done here
def inner(self, *args, **kwargs):
check_headers(self)
fn(self, args, kwargs)
return inner
class Worker(object):
@auth
def work(self, *args, **kwargs):
print 'auth passed'
print args
print kwargs
worker_obj = Worker()
worker_obj.work('arg', kw='kwarg')
Run Code Online (Sandbox Code Playgroud)
哪个输出:
> checking headers...
> auth passed
> (('arg',), {'kw': 'kwarg'})
> {}
Run Code Online (Sandbox Code Playgroud)
但我期待这个吗:
> checking headers...
> auth passed
> ('arg',)
> {'kw': 'kwarg'}
Run Code Online (Sandbox Code Playgroud)
当原始方法 (work()) 运行时,装饰后,为什么 args/kwargs 被放入一个元组中?
我知道把它简化为
def auth(fn):
return fn
Run Code Online (Sandbox Code Playgroud)
正确返回参数,但在返回之前我需要对工作实例(自身)做一些工作。我肯定错过了一些关于装饰器的事情。
谢谢!
我的目标是从端口80重定向到443(强制https),但无法首先获得有效的https配置.我收到503服务器错误,日志中没有任何内容.我查看了SO和SF上的所有帖子,它们都没有用(X_FORWARDED_PROTO,X-Forwarded-For标题没有区别.).我在负载均衡器后面的EC2上,因此我不需要使用与SSL相关的指令,因为我已经在ELB上配置了我的证书.我正在使用Tornado作为Web服务器.
这是配置,如果有人有想法,谢谢!
http {
# Tornado server
upstream frontends {
server 127.0.0.1:8002;
}
server {
listen 443;
client_max_body_size 50M;
root <redacted>/static;
location ^~/static/ {
root <redacted>/current;
if ($query_string) {
expires max;
}
}
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://frontends;
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有这样的第一个清单
[{"name":"jon", "age":10}, {"name":"mary", "age":12}]
Run Code Online (Sandbox Code Playgroud)
第二个清单就像这样
[{"city":"nyc"}, {"city":"la"}]
Run Code Online (Sandbox Code Playgroud)
并希望将它们组合成一个单词列表.假设它们的长度也相同.
[{"name":"jon", "age":10, "city":"nyc"}, {"name":"mary", "age":12, "city":"la"}]
Run Code Online (Sandbox Code Playgroud)
谢谢!
想要对一个简单的查询进行排序,但不确定它如何与"gen.task"一起使用,因为它将arg1和param的方法作为arg2.
这不仅仅是很好的:
response, error = yield gen.Task(db.client().collection.find, {"user_id":user_id})
if response:
#blablabla
Run Code Online (Sandbox Code Playgroud)
但那我怎么给它sort()?
更新:现在抛出'回调必须可调用'错误.这似乎是Tornado现在的另一个问题.
def findsort(self, find, callback):
return callback(db.client().collection.find(find).sort({"myfield":1}))
@gen.engine
def anotherfunction(self):
response, error = yield gen.Task(self.findsort, {"user_id":user_id})
Run Code Online (Sandbox Code Playgroud)