小编Bob*_*ian的帖子

您将如何从node.js命令行脚本启动浏览器

可能重复:
如何使用nodejs打开默认浏览器并导航到特定URL

我不知道这是否重要,但我在OSX上.

我知道您可以通过键入以下内容从命令行启动浏览器:

open http://www.stackoverflow.com
Run Code Online (Sandbox Code Playgroud)

但有没有办法从nodejs命令行脚本中打开浏览器?

shell command-line node.js

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

在JavaScript中扩充类型

我正在阅读Douglas Crockford的JavaScript:The Good Parts,我对某些事情感到有些困惑.在第4章的"扩充类型"下,他创建了一个添加方法的快捷方式.

Function.prototype.method = function (name, func) {
    this.prototype[name] = func;
    return this;
};
Run Code Online (Sandbox Code Playgroud)

他说:

通过使用'method'方法扩充Function.prototype,我们不再需要键入prototype属性的名称.现在可以隐藏一点丑陋.

然后他继续使用它来为数字原型添加一个"整数"方法.

Number.method('integer', function () {
    return Math[this < 0 ? 'ceil' : 'floor'](this);
});

document.writeln((-10 / 3).integer()); // -3
Run Code Online (Sandbox Code Playgroud)

我在这里有点困惑...因为我们在Function原型中添加了'method'方法,而不是Number原型.据我所知,Number对象不会从Function原型继承(虽然我可能在那里错了).我看到这有效,但我不明白为什么Number对象能够使用这个'方法'方法来添加...方法.

javascript

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

在JavaScript中使用toString

我正在阅读Douglas Crockford的JavaScript:The Good Parts,我正处于定义淡入淡出功能的地步.部分代码归结为:

var level = 1;
var hex = level.toString(16);
Run Code Online (Sandbox Code Playgroud)

所以我在浏览器的控制台中运行它以查看我得到的内容....

var level = 1;
level.toString(16);
Run Code Online (Sandbox Code Playgroud)

嘿,它返回" 1"...... Fabuloso!Wunderbar酒吧!

然后,为了厚颜无耻,我试着看看我得到了什么......

1.toString(16);
Run Code Online (Sandbox Code Playgroud)

我明白了

SyntaxError:意外的标记ILLEGAL

什么是什么?如果level变量等于1,并且在该级别上运行此方法工作正常,那么为什么不在实际的数字1上运行此方法呢?我尝试了一种与该toPrecision()方法类似的实验,并且在两种情况下均可正常工作.这是什么问题?这是JavaScript实现中的另一个固有缺陷,还是我错过了什么?我正在Google Chrome中测试.

相关:Stack Overflow问题为什么数字文字不能访问Number方法?.

javascript

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

如何将我的git工作目录放在dropbox中,这样我可以在没有提交的情况下从任何支持Dropbox的计算机上无缝工作?

当我在工作时,我使用我的macbook,但在家里我更喜欢使用我的imac.当我们使用subversion时,我所要做的就是将我的工作目录放在我的dropbox文件夹中,它会同步我的两台计算机而没有问题.我可以在工作中停止工作(无需提交或推送),然后拿起我在家里想象的地方,完成我正在处理的工作,并从家里完成我的更改.从任何一台计算机上,它都被视为我在同一台计算机上完成所有工作.

所以我希望dropbox能够容纳我的本地工作目录并在我的计算机上同步.我不想使用我的Dropbox文件夹作为我的原始主人(这是我在谷歌搜索时发现的大部分内容).我很高兴使用github.我只是希望能够在没有打嗝的情况下从计算机切换到计算机.

我们切换到git,由于某种原因它不会以同样的方式工作.我到处都是冲突的疯狂错误.这就像git信息实际上没有放在dropbox文件夹中......或者dropbox没有看到并同步更改,因为git如何操作文件上的时间戳(猜测这里).

任何人都知道为什么这与git的工作方式不同以及我能做些什么才能再次获得相同的行为?

svn git dropbox

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

Google Apps域上的Google App Engine

我无法将我的域名指向我使用谷歌应用引擎托管的网站.这是背景...注意分离"谷歌应用程序"(域名托管,电子邮件等)和"谷歌应用程序引擎"(网站框架)的概念.

我有一个使用Google Apps for Your Domain的域名,我们称之为company.com.所以我的谷歌应用程序帐户登录名是bob@company.com.我有一个不同的域名别名,我的谷歌应用程序帐户,我们称之为mycompany.com.它已使用cname方法成功别名并在我的主要Google Apps帐户中注册,并更新了mx记录.我们有很多域名,我只想使用一个"谷歌应用"帐户来维护它们.

现在我有一个我使用谷歌应用引擎建立的网站,网址实际上是mycompany.appspot.com.我想让mycompany.com指向我目前位于mycompany.appspot.com的网站.

在应用程序设置下的谷歌应用程序引擎仪表板中有一个位置,您可以在其中添加域.所以我点击那里进入mycompany.com,我收到一条错误消息,说该域名没有使用谷歌应用程序.

如果我回到我提交的页面,会有一条说明我需要使用谷歌应用注册域名.所以我点击链接进行操作并进入mycompany.com,我收到一条错误消息,说明该域名已经注册并且正在进行所有权验证.但是这个过程已经完成了.

那么......我该怎么办?谷歌应用引擎不支持只有主要谷歌应用帐户别名的域吗?mycompany.com是否需要拥有自己的主要谷歌应用帐户?

dns verification google-app-engine alias google-apps

9
推荐指数
1
解决办法
1436
查看次数

parent-> appengine python中的子关系(bigtable)

我还在学习bigtable/nosql中关于数据建模的课程,并希望得到一些反馈.如果我经常需要与父母一起处理这些孩子,那么我的数据建模中是否应该避免父母与子女的关系,这是否公平?

举个例子,假设我正在建立一个博客,该博客将由许多作者提供,彼此有帖子,每个帖子都有标签.所以我可能会设置这样的东西:

class Author(db.Model): 
  owner = db.UserProperty()

class Post(db.Model): 
  owner = db.ReferenceProperty(Author, 
    collection_name='posts') 
  tags = db.StringListProperty() 
Run Code Online (Sandbox Code Playgroud)

据我了解,这将创建一个基于作者父级的实体组.如果我主要需要通过标签查询Posts,这会导致效率低下吗?

我理解对列表属性进行查询可能效率低下.假设每个帖子平均有大约3个标签,但可以一直到7个.我希望我的可能标签集合可以达到数百个.将模型改为这样的东西有什么好处吗?

class Author(db.Model): 
  owner = db.UserProperty()

class Post(db.Model): 
  owner = db.ReferenceProperty(Author, 
    collection_name='posts') 
  tags = db.ListProperty(db.Key)

class Tag(db.Model): 
  name = db.StringProperty() 
Run Code Online (Sandbox Code Playgroud)

或者我会做这样的事情会更好吗?

class Author(db.Model): 
  owner = db.UserProperty()

class Post(db.Model): 
  owner = db.ReferenceProperty(Author, 
    collection_name='posts')

class Tag(db.Model): 
  name = db.StringProperty() 

class PostTag(db.Model): 
  post = db.ReferenceProperty(Post, 
    collection_name='posts') 
  tag = db.ReferenceProperty(Tag, 
    collection_name='tags') 
Run Code Online (Sandbox Code Playgroud)

最后一个问题......如果我最常见的用例是通过多个标签查询帖子怎么办?例如,"在{'apples','oranges','cucumbers','bicycles'}中查找带有标签的所有帖子" 这些方法中的一种更适合查找具有任何标签集合的帖子的查询吗?

谢谢,我知道那是满口的.:-)

python google-app-engine database-design bigtable nosql

9
推荐指数
1
解决办法
2743
查看次数

是否可以从jinja2模板中访问对象的key_name?

我正在使用带有webapp框架的python google app引擎,用jinja2模板替换django模板.

我知道你可以通过调用它来获取一个对象的key_name,如下所示:

goody = object.key().name()
Run Code Online (Sandbox Code Playgroud)

但是可以从模板逻辑中访问key_name吗?像这样的东西?

{% for object in objectList %}
{{object|key_name}}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

显然这不起作用,但是我可以使用一些过滤器或隐藏属性来获取应用程序引擎key_name,从模板内部存储一个对象,而不需要在处理程序方法中进行额外的操作吗?

python google-app-engine jinja2

8
推荐指数
1
解决办法
4404
查看次数

谷歌应用程序引擎webapp中jinja2 autoescape的问题

我决定安装jinja2以与我的webapp应用程序一起使用,以支持autoescape功能.所以我将jinja2安装到python 2.5中并在我的项目中创建了一个指向该目录的符号链接.它大部分工作正常.

除了,当我实际尝试使用{%autoescape true%}标记时,我收到消息:

File "/Users/me/project/templates/_base.html", line 1, in template
    {% autoescape true %}
TemplateSyntaxError: Encountered unknown tag 'autoescape'.
Run Code Online (Sandbox Code Playgroud)

我在文档中使用了标签:

{% autoescape true %} stuff {{var1}} stuff {{var2}}{% endautoescape %}
Run Code Online (Sandbox Code Playgroud)

在我的处理程序文件中,我正在导入相关的东西:

from jinja2 import Environment, FileSystemLoader, TemplateNotFound
from jinja2.ext import autoescape
Run Code Online (Sandbox Code Playgroud)

导入工作正常,因为它没有抛出错误.我做错了什么,或者jinja2本身有问题,比如可能在ext.py中?


更新:我在下面尝试了sharth的建议并获得了相同的结果.这是我使用他的建议更新的处理程序.

class MainHandler(BaseHandler):
    def get(self):

        self.context['testEscape']='<script type="javascript">alert("hi");</script>'
        env = Environment(loader=FileSystemLoader([os.path.join(os.path.dirname(__file__), 'templates')]), autoescape=False)
        template = env.get_template('index.html')
        content = template.render(self.context)
        self.response.out.write(content)
Run Code Online (Sandbox Code Playgroud)

同样,只要我不使用autoescape标签,它就可以正常工作.

python google-app-engine jinja2

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

如何在google app engine python中记录urlfetch的传出请求?

我无法让oauth在GAE Python中使用linkedin,我怀疑它是传出请求的格式.如何记录或以某种方式查看我的服务器向oauth提供者发出的传出请求?

python google-app-engine oauth linkedin

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

哪些操作和事件会导致浏览器重绘其整个视口?

我正在尝试从谷歌代码库(就像在这里的stackoverflow上使用的那个)实现wmd-editor ,我遇到了一个问题.

当您输入textarea时,它会在浏览器中启动两个绘制操作.一个用于重绘textarea本身,另一个用于重新绘制预览面板.您可以通过打开chrome检查器并在问题字段中键入一些文本时使用时间轴选项卡来监视stackoverflow上发生的情况.

但是在我的页面上,浏览器在必须执行这些绘制操作时重新绘制整个视口.这需要更长的时间......在我的页面上每次绘制操作大约需要100ms,而在stackoverflow上大约需要1ms.

在我的测试中,这似乎与css相关......我可以通过剥离所有样式在wmd-new示例页面中重新创建此行为.

我的页面还没有公开,但希望我可以用通用的方式询问...是什么会导致浏览器在dom更改中重新绘制整个视口而不是重新绘制dom的那一部分?

我在这里谈论的是什么. 在此输入图像描述

javascript css dom wmd wmd-editor

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