小编Max*_* L.的帖子

把手帮手模板组成

我有一个Handlebar助手来调用模板中的模板,

用法是这样的:

applyTemplate subTemplateId arg1 = 123 arg2 ="abc"...

也可以传递html内容

   {{# applyTemplate "tli" a=1 b="y"}}
   ... any content here will get passed to the sub template with {{content}}
   {{/ applyTemplate }}
Run Code Online (Sandbox Code Playgroud)

这个jsFiddle说明了它是如何工作的:http://jsfiddle.net/maxl/ywUjj/

我的问题:我希望调用范围中的变量可以在子模板中访问,在jsFiddle中,注意{{topLevelVar}}如何不可用.

谢谢

handlebars.js

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

节点模块的shell命令不在Mac OSX上的路径中

在Ubuntu上,如果我安装了一个模块,如:

npm install nodemon -g
Run Code Online (Sandbox Code Playgroud)

我有命令nodemon$path

在Mac OSX上,nodemon不在$path......

有线索吗?

更新:什么都没有/usr/local/bin,我也试过同样的结果npm install nodemon -g

macos node.js

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

为什么ST_Union抛出"TopologyException:side location conflict"?

我想了解这个错误的含义:

Error: ERROR: GEOSUnaryUnion: TopologyException: side location conflict at 509222.06405540626 166742.77073020922
SQLState:  XX000
ErrorCode: 0
Run Code Online (Sandbox Code Playgroud)

从以下查询给出:

select ST_union(z.geom) from zaz z
Run Code Online (Sandbox Code Playgroud)

Postgis版本:

POSTGIS="2.1.0 r11822" 
GEOS="3.3.6-CAPI-1.7.6" 
PROJ="Rel. 4.8.0, 6 March 2012" 
GDAL="GDAL 1.9.2, released 2012/10/08" 
LIBXML="2.9.0" RASTER
Run Code Online (Sandbox Code Playgroud)

使用此查询可以重现此问题:

select ST_AsText(ST_Union(z.geom)) from (
select ST_MPolyFromText('MULTIPOLYGON(((513571.981531803 166341.349774259,513116.037800698 166090.997380913,513119.013934713 166083.021341753,513122.34720481 166072.188213938,513124.013839858 166065.997855187,513126.037610988 166046.950597491,513126.037610988 166023.974842894,513117.942526467 165913.024566813,513116.990163582 165897.905806017,513104.966582162 165803.502835059,513104.60944608 165716.718767181,513124.013839858 164966.018723224,513054.967530709 164991.018248951,513040.682087437 164995.065791211,512771.639572476 165072.207184881,512658.070298462 165089.230671447,512620.332919151 165094.825803396,512222.007142577 165144.705809488,512088.319202621 165158.396025957,511825.467046411 165185.300277453,511437.260125488 165216.25207121,511039.767666438 165238.394508282,510637.275302243 165245.299139197,510278.115449307 165247.084819606,509844.671291355 165243.275368066,509480.630578634 165236.01360107,509195.516939992 165227.918516549,508870.642150909 167051.217259529,509104.804375213 166841.340288788,509222.064055406 166742.770730209,509415.631811745 166631.106181965,509727.887792604 166450.871506013,509849.6711965 166401.824817445,509922.407911828 166380.753788619,509986.811451913 166352.659083516,510105.975857876 166299.445807327,510225.259309199 166266.232151719,510464.302393288 …
Run Code Online (Sandbox Code Playgroud)

postgis

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

了解vala编译警告

下面的编译警告对我来说并不是那么清楚,可以从弃用修改中获得,但是valadoc中方法的签名:

http://valadoc.org/#!api=gstreamer-1.0/Gst

没有显示其他方法签名.

另一个警告更加模糊.


max@max-ubuntu:~/mdev/cr valac --pkg gstreamer-0.10 gstpipe.vala 
/home/max/dev/main-sandbox/cr/gstpipe.vala.c: In function ‘application_message’:
/home/max/dev/main-sandbox/cr/gstpipe.vala.c:64:2: warning: passing argument 1 of ‘_gst_structure_copy0’ discards ‘const’ qualifier from pointer target type [enabled by default]
/home/max/dev/main-sandbox/cr/gstpipe.vala.c:26:17: note: expected ‘gpointer’ but argument is of type ‘const struct GstStructure *’
/home/max/dev/main-sandbox/cr/gstpipe.vala.c:82:9: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
/home/max/dev/main-sandbox/cr/gstpipe.vala.c: In function ‘main’:
/home/max/dev/main-sandbox/cr/gstpipe.vala.c:173:2: warning: ‘g_type_init’ is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]


using Gst;


void application_message(Gst.Bus bus, Gst.Message msg) {

        var s = …

vala

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

Python日志记录:如何向LogRecord添加自定义字段,并注册全局回调以设置其值

在Flask应用程序中,我想添加一个user_id字段,添加到每个生成的错误日志记录中,只要user_id存在flask.session.

我想出了下面的解决方案,但它的hackish,因为它不允许格式字符串来驱动的格式user_id,而且由于记录API似乎提供了一些方法来定制日志(LoggerAdapter,logging.makeRecord,等...)我的身影必须有一个更清洁的方式.

这样做的"蟒蛇方式"是什么?

class CustomFormatter(Formatter):
    def format(self, record):
        from myapp.core import authenticationManager
        user_id = authenticationManager.current_user_id_if_authenticated()
        user_id = "unknown" if user_id is None else str(user_id)
        return super(F,self).format(record) + ", user_id" + user_id
Run Code Online (Sandbox Code Playgroud)

python flask

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

vala:这是以毫秒为单位获取当前时间的正确方法吗?

在Vala中使用此库:

http://valadoc.org/#!api=glib-2.0/GLib.DateTime

    GLib.DateTime now = new GLib.DateTime.now_local();

    var sec = now.to_unix()
    var msec = (sec * 1000) + now.get_microsecond();
Run Code Online (Sandbox Code Playgroud)

这是以毫秒为单位获取当前时间的正确方法吗?

有没有更好的办法 ?

vala

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

ansible sudo_user挂起几分钟然后失败(在centos6.5.1 vagrant vm中)

我有这两个简单的任务:

- name: I am 
  shell: "echo `id`"

- name: say hello
  shell: echo "postgres saying hello"
  sudo_user: postgres
Run Code Online (Sandbox Code Playgroud)

第二个任务在经过一段长时间的停顿后失败,输出低于(它正在使用详细级别的vvv运行)(是的,我已经验证用户postgres存在,我可以从VM内部执行sudo su postgres)

TASK: [postgresql | I am] ***************************************************** 
changed: [192.168.78.6] => {"changed": true, "cmd": "echo `id` ", "delta": "0:00:00.002511", "end": "2014-01-23 22:49:14.161249", "item": "", "rc": 0, "start": "2014-01-23 22:49:14.158738", "stderr": "", "stdout": "uid=0(root) gid=0(root) groups=0(root)"}

TASK: [postgresql | say hello] ************************************************ 
fatal: [192.168.78.6] => failed to parse: [sudo via ansible, key=fnfgfnxabemrzbfixwgoksvgjrfzplxf] password: 


FATAL: all hosts have already failed -- aborting …
Run Code Online (Sandbox Code Playgroud)

vagrant ansible

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

postgres:如何选择一个json列作为文本

我有一个json列,我想选择它作为文本,例如:

select json_to_string(my_json_col) from my_table
Run Code Online (Sandbox Code Playgroud)

那是怎么做的?

postgresql

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

如何将echo命令的结果放入ansible变量

我将$ MY_VAR设置为远程主机上的某个值,并且我想从剧本中查询它(把它的值放在ansible变量中),这就是我所看到的:

   -名称:将shell变量放入ansible变量中
     命令:echo $ MY_VAR
     注册:my_var

   -调试:var = my_var
好的:[192.168.78.10] => {
    “ my_var”:{
        “已更改”:是, 
        “ cmd”:[
            “回声”, 
            “ $ my_var”
        ], 
        “ delta”:“ 0:00:00.002284”, 
        “ end”:“ 2014-12-17 18:10:01.097217”, 
        “调用”:{
            “ module_args”:“ echo $ my_var”, 
            “ module_name”:“命令”
        }, 
        “ rc”:0, 
        “ start”:“ 2014-12-17 18:10:01.094933”, 
        “ stderr”:“”, 
        “ stdout”:“ $ my_var”, 
        “ stdout_lines”:[
            “ $ my_var”
        ]
    }
}

注意:

如果我将命令更改为:

 command: pwd
Run Code Online (Sandbox Code Playgroud)

然后我得到了预期的结果:

"my_var": {
  "stdout": "/home/vagrant", 
  "stdout_lines": [
      "/home/vagrant"  
  ]
}
Run Code Online (Sandbox Code Playgroud)

当从ansible调用时好像回声没有扩展

ansible ansible-playbook

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

如何将Flask收到的二进制文件存储到postgres中

我目前有一个Flask路由,通过POST显示文件内容,并将其存储在文件系统上,例如:

@app.route('/upload', methods=['POST'])
def upload_file():

    def allowed_file(f):
        return True


    file = request.files['file']
    if file and allowed_file(file.filename):
        filename = secure_filename(file.filename)
        file.save(os.path.join(upload_dir(), filename))
        return "", 200
Run Code Online (Sandbox Code Playgroud)

我想将它存储在postgres的BYTEA列中,我不知道如何将"data"参数绑定到insert语句

db.session.execute("""
     INSERT INTO uploaded_file(id, name, type, data) 
     VALUES (:id, :name, :type, %(:data)s)""",
     {"id": str(id),"name": file.filename,"type": "...","data": ???}
Run Code Online (Sandbox Code Playgroud)

python psycopg2 werkzeug flask flask-sqlalchemy

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