小编Mat*_*ins的帖子

是否可以在不更改上下文的情况下调用function.apply?

在一些Javascript代码(具体是node.js)中,我需要使用一组未知的参数调用函数而不更改上下文.例如:

function fn() {
    var args = Array.prototype.slice.call(arguments);
    otherFn.apply(this, args);
}
Run Code Online (Sandbox Code Playgroud)

上面的问题是,当我调用时apply,我通过传递this第一个参数来改变上下文.我想传递args给被调用的函数而不改变被调用函数的上下文.我基本上想要这样做:

function fn() {
    var args = Array.prototype.slice.call(arguments);
    otherFn.apply(<otherFn's original context>, args);
}
Run Code Online (Sandbox Code Playgroud)

编辑:添加有关我特定问题的更多详细信息.我正在创建一个Client类,其中包含一个socket(socket.io)对象以及与连接有关的其他信息.我通过客户端对象本身公开套接字的事件监听器.

class Client
  constructor: (socket) ->
    @socket    = socket
    @avatar    = socket.handshake.avatar
    @listeners = {}

  addListener: (name, handler) ->
    @listeners[name] ||= {}
    @listeners[name][handler.clientListenerId] = wrapper = =>
      # append client object as the first argument before passing to handler
      args = Array.prototype.slice.call(arguments)
      args.unshift(this)
      handler.apply(this, args)  # <---- …
Run Code Online (Sandbox Code Playgroud)

javascript function node.js

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

Android OpenGL .OBJ文件加载器

似乎有很多OBJ网格文件加载器已经开发出来供Android平台上使用.我想知道是否有人有这方面的经验,并可以提供一个似乎最适合他们的建议.

这是我的标准:

  • 轻量级(小文件大小),
  • 优化速度,
  • 易于实施,
  • 提供某种纹理映射支持(不确定我是否需要这个 - 在我的编码中没有足够的知识来知道我是否需要一个库来执行此操作,或者OpenGL ES是否能够完成我需要的所有工作在这里)和
  • 可用于商业销售的Android应用.

以下是我发现的一些库.

我也很乐意听到不在此列表中的其他人.

3d android opengl-es mesh

31
推荐指数
2
解决办法
6万
查看次数

使用Google Apps设置无回复电子邮件地址

我使用Google Apps设置了我的域名电子邮件,我有兴趣发送自动电子邮件(例如,当用户注册时),其中"发件人"和/或"回复"字段为"no-reply@example.com".我有几个问题涉及如何做到这一点:

  1. 我是否应该在Google Apps中设置一个名为"无回复"的用户?

  2. 如果不设立一个"无应答"的用户,我应该有一个真实的地址登录(如:"support@example.com"),并发送电子邮件从"no-reply@example.com"而不是?或者我应该只使用回复电子邮件标题?

  3. 如果有必要使用Reply-To标头,有没有办法阻止真正的From地址(即:我用来登录Google的SMTP服务器的用户名)?

email gmail smtp google-apps

29
推荐指数
4
解决办法
7万
查看次数

我应该在Java中按位移2除以?

可能重复:
比Java中的乘法和除法更快地移位位?.净?
快速Java优化问题

很多年前,在大学里,我学会了正确地按位移动实现与除以2相同的操作,但通常要快得多.自从9-10年前我了解到这一点以来,我不确定Java在这方面是如何出现的.Java编译器是否自动将二分频转换为位移操作,还是应该自己在代码中手动执行位移操作?

java performance bit-manipulation bit-shift division

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

I18n用于特定于模型的Rails提交按钮

我发现Rails通过以下方式允许通用的i18n提交按钮config/locales/en.yml:

en:
  helpers:
    submit:
      create: "Create %{model}"
      submit: "Save %{model}"
      update: "Update %{model}"
Run Code Online (Sandbox Code Playgroud)

但是,我希望create仅为一个特定型号更新该值.我希望文本显示为"上传%{model}"或只是"上传".如何仅针对一个模型(例如:Photo模型)进行此更改?

ruby-on-rails internationalization

28
推荐指数
2
解决办法
8649
查看次数

添加包含另一个子模块的git子模块?

我正在一个git存储库(A)中创建一个项目,其中包括另一个git存储库(B),后者又包含第三个git存储库(C).在A中,我通过以下方式添加了B:

git submodule add https://github.com/blt04/sfDoctrine2Plugin.git plugins/sfDoctrine2Plugin
Run Code Online (Sandbox Code Playgroud)

单击此处,您可以看到B引用C的位置:https://github.com/doctrine/doctrine2

在我的git子模块添加后,我的plugins/sfDoctrine2Plugin/lib/vendor/doctrine文件夹(应该包含C)是空的.我尝试git submodule update --recursive按照这个StackOverflow答案做一个,但它仍然没有将文件导入到该路径.我不知道该怎么做.

git github git-submodules

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

我应该如何为Ruby关键字参数提供YARD/RDoc文档?

对于基本的Ruby方法,我将以下列格式为参数提供YARD样式doc.

# @param query [String] The search string to query.
# @param options [Hash] Optional search preferences.
def search(query, options = {})
  # ...
end
Run Code Online (Sandbox Code Playgroud)

使用Ruby 2.0,现在可以使用关键字参数.但是,我不确定如何在YARD文档方面采用这种方法.

def search(query, exact_match: false, results_per_page: 10)
  # ...
end
Run Code Online (Sandbox Code Playgroud)

如何将我的文件exact_match,并results_per_page在第二个方案?我应该继续使用@param关键字,还是有更好的东西?

ruby documentation rdoc yard keyword-argument

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

从Resources对象检索所有Drawable资源

在我的Android项目中,我想循环遍历整个Drawable资源集合.通常,您只能使用以下内容通过其ID检索特定资源:

InputStream is = Resources.getSystem().openRawResource(resourceId)
Run Code Online (Sandbox Code Playgroud)

但是,我希望得到所有Drawable资源,我不会事先知道他们的ID.是否有一个我可以循环的集合,或者可能是一种获取资源ID列表的方法,它给出了我项目中的资源?

或者,Java中有没有办法从R.drawable静态类中提取所有属性值?

collections resources android drawable

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

我怎么知道我的PostgreSQL服务器是否使用"C"语言环境?

我正在尝试尽我所能地优化我的PostgreSQL 8.3数据库表,我不确定是否需要使用varchar_pattern_ops某些列,我正在执行LIKE一个字符串的前N个字符.根据此文档,xxx_pattern_ops只有在"...服务器不使用标准'C'语言环境时"才需要使用.

有人可以解释这意味着什么吗?如何查看我的数据库使用的语言环境?

postgresql indexing varchar text locale

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

Custom Devise 401未经授权的响应

我正在为我的Rails 3.1应用程序开发基于JSON的API.我想提供自定义失败响应而不是默认响应,即:

{"error":"You need to sign in or sign up before continuing."}
Run Code Online (Sandbox Code Playgroud)

我的API控制器包含一个before_filter调用authenticate_user!,它正在呈现此JSON响应.

在搜索时,我遇到了这个StackOverflow问题,该问题引用了这个Devise wiki条目.不幸的是,wiki条目并不足以让我理解它告诉我的内容.具体来说,我不知道我应该把那些代码放在哪里,以便Devise/Warden知道要渲染我想要的东西.

从其他SA问题的评论来看,听起来我不需要打电话,custom_failure!因为我使用的是高于1.2的Devise版本(具体为1.4.2).但是,wiki条目没有解释render调用应该去哪里,以便authenticate_user!知道使用它而不是自己的render调用.

这个render电话在哪里?

编辑:我不只是试图改变消息本身(一个设计en.yml配置); 我正在尝试更改响应的实际格式.具体来说,我想返回这个:

render :text => "You must be logged in to do that.", :status => :unauthorized
Run Code Online (Sandbox Code Playgroud)

authorization ruby-on-rails unauthorized devise ruby-on-rails-3

19
推荐指数
1
解决办法
9469
查看次数