小编AJP*_*AJP的帖子

使用coffeescript进行数组拼接,_ref是什么用于?

在用于数组拼接的CoffeeScript文档中,尾随的目的是, _ref什么?

CoffeeScript的:

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers[3..6] = [-3, -4, -5, -6]
Run Code Online (Sandbox Code Playgroud)

编译为:

var numbers, _ref;
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
[].splice.apply(numbers, [3, 4].concat(_ref = [-3, -4, -5, -6])), _ref;
Run Code Online (Sandbox Code Playgroud)

javascript apply array-splice coffeescript

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

查找 ansible ssh 用户

我正在使用Userin~/.ssh/config文件来指定 ansible 用于访问远程服务器的用户名,例如:

Host 123.234.098.076
  User my_local_user_name
Run Code Online (Sandbox Code Playgroud)

有没有办法在 Ansible 中找到该用户名?在以下剧本ansible_user中定义:

---
- hosts: "all"
  tasks:
    - name: "perform whoami"
      shell: whoami
      register: whoami
    - set_fact:
        ansible_user: "{{ whoami.stdout }}"
    - debug:
        msg: "I am user: {{ ansible_user }}"  # will display: "I am user: my_local_user_name"
Run Code Online (Sandbox Code Playgroud)

但是,我不确定ansible_user直接设置而不是remote_user在剧本、清单或 ansible 配置中使用设置的任何意外后果,例如:

---
- hosts: "all"
  remote_user: my_local_user_name
  tasks:
    #- name: "perform whoami"
    #  shell: whoami
    #  register: whoami
    #- set_fact:
    #    ansible_user: "{{ …
Run Code Online (Sandbox Code Playgroud)

ssh ansible

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

Heroku production.log文件位置

我想看看我的应用程序的内容登录heroku.com,所以我遵循了这个很好的建议,并拥有我的所有日​​志内容.但是我现在很想知道我的日志文件实际上在哪里,因为"log/production.log"似乎是空的:

C:\>heroku console
Ruby console for ajpbrevx.heroku.com
>> files = Dir.glob("*")
=> ["public", "tmp", "spec", "Rakefile", "doc", "config.ru", "app", "config", "lib", "README", "Gemfile.lock", "vendor", "script", "Gemfile", "log"]
>> files = Dir.glob("log/*")
=> ["log/production.log"]
>> log_file = File.open("log/production.log", "r")
=> #<File:log/production.log>
>> log_file.each_line { |line| puts line }
=> #<File:log/production.log>
>> log_file.lstat.size
=> 0
Run Code Online (Sandbox Code Playgroud)

我知道我有一个完整的日志文件,就像我一样:

heroku logs
Run Code Online (Sandbox Code Playgroud)

列出了所有内容,为什么log/production.log不包含任何内容?我应该用Heroku提交票吗?

谢谢.你的混乱,詹姆斯

ruby logging file heroku

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

"rake assets:precompile"的糟糕时间表现

运行:

bundle exec rake assets:precompile RAILS_ENV=production
Run Code Online (Sandbox Code Playgroud)

大约250kb的15个.js文件需要大约6分钟.它不应该花这么长时间吗?我看到"Microsoft基于控制台的脚本主机"在大部分时间里都处于平稳状态.

人们推荐/知道什么是可能的?有没有办法用Ruby-Racer或其他javascript V8引擎实现替换它?或者找出我的代码中导致时间长的问题?或者是其他东西?

javascript performance ruby-on-rails pre-compilation

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

正确的方法从反应状态中删除键

我正在使用react(v0.14)视图的状态来保存未保存的用户ID和用户对象的键值对.例如:

onChange = (user, field) => {
  return (event) => {
    let newUser = _.clone(this.state[user.uuid] || user);
    _.assign(newUser, {[field]: event.target.value});
    this.setState({
      [user.uuid]: newUser
    });
  }
}

render() {
   let usersJsx = users.map((user, i) => {
     return <div key={i}>
       <input type="text" value={user.name}
         onChange={this.onChange(user, 'name')}/>
     </div>;
   });

   let numberUnsavedUsers = _.keys(this.state).length;

   // ... etc
}
Run Code Online (Sandbox Code Playgroud)

这一切都完美无缺,直到我来到save方法:

persistUsers = (event) => {

  let unsavedUsers = _.toArray(this.state);
  updateUsers(unsavedUsers, {
    onSuccessCb: (savedUsers) => {

      // Would prefer to remove these two lines and replace
      // …
Run Code Online (Sandbox Code Playgroud)

state reactjs

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

Python random.seed表现得很奇怪

我调用random.seed(234),然后调用random.randint(0,99)并收到92.当我再次重复此过程几次时,我收到86.当我第二次调用random.randint然后它返回92.我期待第一个值是86而不是92.为什么它是92?

完整的日志输出如下.我已经包含了所有内容,因为之前有一些行动可以解释看似错误的行为:

In [1]: import random

In [2]: import string

In [3]: string.letters
Out[3]: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'

In [4]: string.ascii_letters
Out[4]: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

In [5]: string.printable
Out[5]: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'

In [6]: len(string.printable)
Out[6]: 100

In [7]: [string.printable[random.randint(0,99)] for i in range(20)]
Out[7]: 
['{',
'+',
'[',
'\r',
'R',
'Z',
'v',
'|',
'v',
'e',
'T',
'x',
'\\',
'}',
'0',
'>',
'V',
'\n',
'`',
'`']

In [8]: ''.join([string.printable[random.randint(0,99)] for i in range(20)])
Out[8]: '%Z\\%mx4Z53uUZIa5KHe*'

In [9]: ''.join([string.printable[random.randint(0,99)] for i in range(20)])
Out[9]: 'Fg\nDHW+oV?-9``}\x0by%xD'

In [10]: import …
Run Code Online (Sandbox Code Playgroud)

python random random-seed

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

Mercurial:注释/指责当前行号

hg annotate -unl aFile
Run Code Online (Sandbox Code Playgroud)

显示:

jim 1519:477:     a = 4
bob 1518:468:     b = 5
joe 1496:402:     return a
Run Code Online (Sandbox Code Playgroud)

我该如何展示它

jim 401:     a = 4
bob 402:     b = 5
joe 403:     return a
Run Code Online (Sandbox Code Playgroud)

哪里401, 402, 403当前行号.更好的是,就像git一样git blame -L 401,403 aFile.

mercurial

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

ALLOWED_HOSTS正在防范的漏洞是什么?

该示例来自Python Django框架,但适用于所有Web应用程序.该ALLOWED_HOSTS设置如何保护您的站点和用户,即如果ALLOWED_HOSTS设置为"*"恶意用户如何"中毒缓存和密码重置电子邮件与恶意主机的链接"?

ALLOWED_HOSTS默认值:[](空列表)

表示此Django站点可以提供的主机/域名的字符串列表.这是一种安全措施,可以通过使用伪造的HTTP主机标头提交请求来防止攻击者通过链接到恶意主机来中毒缓存和密码重置电子邮件,即使在许多看似安全的Web服务器配置下也是如此.

此列表中的值可以是完全限定名称(例如"www.example.com"),在这种情况下,它们将与请求的主机标头完全匹配(不区分大小写,不包括端口).以句点开头的值可用作子域通配符:'.example.com'将匹配example.com,www.example.com和example.com的任何其他子域.值'*'将匹配任何内容; 在这种情况下,您有责任提供自己的Host头验证(可能在中间件中;如果是这样,则必须首先在MIDDLEWARE_CLASSES中列出此中间件).

security

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

npm run &lt;command&gt; 不起作用

使用 package.json 文件,如:

{
    "scripts": {
        "hello": "touch hello && echo hello"
    }
}
Run Code Online (Sandbox Code Playgroud)

运行不npm run hello创建文件,也不向标准输出输出任何内容。我期待这两种情况都会发生。

npm -v # 4.4.0

npm

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

通过“主机”来限制 ansible playbook

我有一个清单文件,如:

[my_domain]
255.255.255.255

[production:children]
my_domain


[load_balancer:children]
my_domain

[webservers:children]
my_domain
Run Code Online (Sandbox Code Playgroud)

我有一个playbook.yml喜欢:

---

- hosts: webservers
  gather_facts: no
  tasks:
    - debug:
        msg: Hello webservers

- hosts: load_balancer
  gather_facts: no
  tasks:
    - debug:
        msg: Hello load_balancer
Run Code Online (Sandbox Code Playgroud)

运行以下命令时,它会运行剧本中的两个剧本,即打印“Hello webservers”和“Hello load_balancer”:

ansible-playbook ./playbook.yml --limit "webservers:&production"
Run Code Online (Sandbox Code Playgroud)

我可以通过向它添加标签并tags在命令行上使用来让它只运行网络服务器播放,例如:

...
- hosts: webservers
  tags: ['webservers']
  # or if using roles then:
  # roles:
  #   - { role: provision_webserver, tags: [ 'provision_webservers' ] }
  ...
Run Code Online (Sandbox Code Playgroud)

并使用:

ansible-playbook ./playbook.yml --limit "webservers:&production" --tags "webservers"
Run Code Online (Sandbox Code Playgroud)

我希望limitarg …

ansible ansible-inventory

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