小编Max*_*ace的帖子

git可以用stash做一个工作副本的差异

如何将我当前的工作副本与存储区分开来?

我的用例:我的工作副本已包含我的更改的子集stash@{0},但我不想应用所有更改stash@{0}.我想做一个差异来帮助确定stash@{0}我的工作副本中仍然缺少哪些可取的变化.

git git-diff git-stash working-copy

47
推荐指数
5
解决办法
2万
查看次数

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

我应该在Heroku上使用prema_app和Puma吗?

我正在Heroku上运行一个小型Rails应用程序,其中有一个dyno和几个Puma工作者.

彪马文档说:

一般规则是当工人经常死亡并需要快速启动时使用preload_app.如果你没有很多工人,你可能不应该使用preload_app.

这表明我不应该使用preload_app!我的config/puma.rb.但是,我有一些未解答的问题:

  • 我的工人何时死亡?在一定数量的请求之后,它们会被收获并重新分叉吗?我该如何监控?
  • 我怎么知道我的工人是否需要快速启动?

很明显,preload_app!在使用许多工作人员时应该节省资源,但即使只有少量工人,我也看不到使用它的缺点.

Heroku 推荐的"简单Rails应用程序"配置包括preload_app!但不提供何时不使用它的指导.

什么时候preload_app!不应该使用,为什么?(忽略分阶段重启问题.)

ruby-on-rails heroku preload puma

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

在Jinja中动态获取变量(来自字符串)

我的神社顶级上下文中的序列,例如定义的变量foo_0,foo_1等等.

我希望通过生成代码类似的字符串来动态访问这些变量"foo_" + str(0).

如果有效,我想{{ eval("foo_0") }}在我的Jinja模板中做一些事情,并按顺序访问这些变量.

这可能吗?

注意:我正在使用我无法控制的云服务(提供Jinja模板),因此:

  • 我不能在Jinja上下文中使用数据结构(所有变量值必须是字符串).
  • 我无法自定义Jinja运行时环境或添加过滤器.但是,知道是否可以通过添加自定义过滤器来解决这个问题会很有帮助.

templates get dynamic jinja2

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

如何用 Ruby 编写 IIFE?

在 Javascript 中,IIFE(立即调用函数表达式,尽管可能还有该缩写词的其他扩展)可以写为:

(function () {
  var foo = 'bar'
  console.log('hi!');
})();
Run Code Online (Sandbox Code Playgroud)

其中变量声明foo不会污染当前作用域。我如何在 Ruby 文件中执行相同的操作?

我想在受限范围内(带有闭包)创建一些临时变量,并使文件中的其他代码无法访问它们。

javascript ruby idioms iife

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

忽略python diff中的空格

有没有一种优雅的方法来忽略python中的diff中的空格(使用difflib或任何其他模块)?也许我错过了一些东西,但我已经搜索了文档,并且无法在difflib中找到任何明确的支持.

我目前的解决方案是将我的文本分成单词列表,然后区分它们:

d.compare(("".join(text1_lines)).split(), ("".join(text2_lines)).split())
Run Code Online (Sandbox Code Playgroud)

这样做的缺点是,如果想要逐行差异而不是逐字逐句地报告,则必须将diff的输出与原始文件文本合并.这很容易实现,但有点不方便.

python diff whitespace difflib

5
推荐指数
0
解决办法
2008
查看次数

Ember数据:model.get('modelName')未定义,但model._internalModel有效

我正在使用Ember Data 2.2.0和Ember 2.2.1.从数据存储中检索模型后,我想将模型的类型名称作为字符串.

根据API Docs,DS.Model定义了一个modelName 属性,它看起来像我想要的.但是,在从商店中检索后,我发现model.modelName并且model.get('modelName')未定义.modelfindRecord

另一方面model._internalModel.modelName,按预期返回模型的小写,虚线化名称.

这里发生了什么?

model ember.js ember-data

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

为什么storeConfigInMeta:false不是Ember CLI中的默认值?

来自http://ember-cli.com/user-guide/:

您的ember-cli-build.js文件中的应用程序配置将存储在dist/index.html中的特殊元标记内.

示例元标记:

<meta name="user/config/environment" content="%7B%22modulePre.your.config">
Run Code Online (Sandbox Code Playgroud)

这个元标记是您的ember应用程序正常运行所必需的.如果您希望将此标记作为已编译的javascript文件的一部分,则可以使用ember-cli-build.js中的storeConfigInMeta标志.

// ember-cli-build.js
var app = new EmberApp({
  storeConfigInMeta: false
});
Run Code Online (Sandbox Code Playgroud)

在生产中,这个元标记看起来像

<meta name="app/config/environment" content="%7B%22modulePrefix%22%3A%app%22%2C%22environment%22%3A%22production%22%2C%22baseURL%22%3A%22/%22%2C%22locationType%22...
Run Code Online (Sandbox Code Playgroud)

而且很长.将配置对象作为Javascript资产的一部分,而不是要求应用程序在启动后解析所有文本,这不是更高效吗?

performance configuration ember.js ember-cli

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

Ruby - 最简洁的方法,如果truthy返回一个值,或执行任意代码

我在Ruby中编写了一些东西,给定foo方法调用的值输出,我想:

  • 返回foo如果foo是truthy
  • 如果foo是假的,请记录错误并返回默认值.

最简单的实现方法可能是:

foo = procedure(input)

if foo
  foo
else
  log_error
  default
end
Run Code Online (Sandbox Code Playgroud)

但这种感觉过于冗长,因为foo重复了三次,这种风格非常迫切.

写这个最干净,最惯用的方式是什么?

(表现很重要 - 我们假设foo在绝大多数情况下都是真实的.)

ruby performance idioms idiomatic

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

数组上下文分配到Perl中的空列表引用 - 请解释"my @arr = [];"行

我是Perl的新手.我明白这my @a = ();相当于my @a;- 都初始化一个空数组.同样,my $a = [];初始化一个引用的空数组$a.

但是,我很困惑,my @arr = [];这也是合法的Perl.根据ref()print,@arr是一个数组,而不是一个引用.它可以被推入,这似乎返回了数组中元素的数量.但它似乎包含对另一个数组的引用,也可以推送到:

#!/usr/bin/perl
use v5.16;

my @arr = [];
push(@arr, 1);

print join(", ", @arr) . "\n";

push(@arr[0], 11);
push(@arr[0], 12);

print "a[0]: " . join(", ", @{@arr[0]}) . "\n";
Run Code Online (Sandbox Code Playgroud)

输出

ARRAY(0xd6ede8), 1
a[0]: 11, 12
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?细节非常感谢.

arrays perl reference list perl-data-structures

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