小编caz*_*zgp的帖子

在vim中更改HTML标记,但保留属性(环绕声)

假设我有一个标签(并且光标位于*):

<h1 class="blah" id="moo">H*ello!</h1>
Run Code Online (Sandbox Code Playgroud)

我想将其更改为:

*<h2 class="blah" id="moo">Hello</h2>
Run Code Online (Sandbox Code Playgroud)

即更改标记的类型,但保留所有元素.

使用surround.vim,我可以这样做:

cst<h2>
Run Code Online (Sandbox Code Playgroud)

但是这会将HTML更改为:

*<h2>Hello</h2>
Run Code Online (Sandbox Code Playgroud)

只是更改标签,但保留所有属性?环绕声文档似乎没有包含这样的内容......

html vim surround

37
推荐指数
3
解决办法
9506
查看次数

如何跟踪Meteor中匿名用户服务器端的数量?

我正在Meteor中编写一个数据敏感的应用程序,并试图限制客户端访问尽可能多的信息.因此,我想实现服务器端计算登录和匿名用户数量的方法.

我尝试了各种方法.第一个问题是在客户端断开连接后这个问题中的服务器清理,这表明挂钩:

this.session.socket.on("close")
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做,并试图更改集合时,它抛出了"Meteor代码必须始终在光纤内运行"错误.我认为这个问题是因为一旦套接字关闭,光纤就会被杀死,因此无法访问数据库.当在服务器上调用Collection.insert作为可能的解决方案时,OP指出这个"Meteor代码必须始终在光纤内运行",但我不确定这是否是最好的方法,基于对答案的评论.

然后我尝试自动运行变量:

Meteor.default_server.stream_server.all_sockets().length
Run Code Online (Sandbox Code Playgroud)

但是自动运行似乎永远不会被调用,所以我假设变量不是一个反应上下文,我不知道如何使它成为一个.

最后一个想法是做一个keepalive风格的东西,但这似乎完全违背了流星哲学,我想我只会用作绝对的最后手段.

我执行console.log了一些函数this.session.socket,并且唯一可能的其他函数是.on("data"),但是当套接字关闭时不会调用它.

我在这里有点亏,所以任何帮助都会很棒,谢谢.

javascript meteor

10
推荐指数
1
解决办法
2698
查看次数

为什么部署的Meteor站点需要这么长时间才能加载?

对于一个非常简单的应用程序,我的Meteor站点需要4.1秒才能开始下载第一个数据字节.这是一个非常基本的设置.相关时间等(摘自http://www.webpagetest.org)是:

IP: 107.22.210.133
Location: Ashburn, VA
Error/Status Code: 200
Start Offset: 0.121 s
DNS Lookup: 64 ms
Initial Connection: 56 ms
Time to First Byte: 4164 ms
Content Download: 247 ms
Bytes In (downloaded): 0.9 KB
Bytes Out (uploaded): 0.4 KB
Run Code Online (Sandbox Code Playgroud)

这是因为Meteor速度慢,还是我的代码中可能存在瓶颈?有没有办法确定这个?

谢谢.

optimization performance meteor

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

Django 模板中的自定义模型字段渲染

我已经扩展django-markdown了一个自定义模型字段,它允许定义类:

from django.db import models
from django_markdown.fields import MarkdownField

class MyModel(models.Model):
    text = MarkdownField()

class MySecondModel(models.Model):
    description = MarkdownField()
Run Code Online (Sandbox Code Playgroud)

现在,当涉及到在模板中渲染这些字段时,可以执行以下操作:

{% load markdown_tags %}
{{ model.text|markdown }} {{ model2.description|markdown }}
Run Code Online (Sandbox Code Playgroud)

然而,这似乎首先就违背了创建自定义模型字段的目的(以增强 DRYness),并且最好不惜一切代价避免。

那么,有没有一种方法可以{{ model.text }} {{ model2.description }}不加载模板标签,也不通过render在自定义字段上定义方法来进行过滤?

已经提出了类似的问题:是否有一种方法可以自定义自定义模型字段的值在模板中的显示方式?,但答案需要向模型添加一个方法。这意味着向MyModelMySecondModel以及任何后续方法添加方法。这再次破坏了 DRY 的整个目标!

注意:两个模型类都是其他东西的子类,因此定义一个 mixin 是可行的,但肯定有更好的方法!

django model custom-fields

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