小编Mat*_*tty的帖子

Ruby:实例变量与局部变量

我现在正在学习Ruby,我很困惑为什么我可以在不使用@sigil的情况下引用实例变量,这也会使它成为局部变量.当然,以下代码不应该像以下一样工作:

class Test
  attr_accessor :variable
  def something
    variable
  end
  def something2
    @variable
  end
  def something3
    self.variable
  end
end

y = Test.new
y.variable = 10
puts y.something  # => 10
puts y.something2 # => 10
puts y.something3 # => 10
Run Code Online (Sandbox Code Playgroud)

我原本预计y.something会返回零.为什么局部变量和实例变量指向同一位置?我会预期@variablevariable已经过两次离散变量.

ruby

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

连接池耗尽时会发生什么?

我正在阅读SQLAlchemy的连接池,其默认值为5个连接,默认情况下溢出为10.

如果超出缓存连接数,会发生什么?后续请求是否排队,直到有空闲连接可用,或者是否会创建未进入池的新连接?

此外,当池已"溢出"到其默认最大值10时,未使用的连接会发生什么?这些连接是否在默认时间后断开(与标准池一样),或者它们是否比标准池更积极地释放?

python sqlalchemy

10
推荐指数
2
解决办法
9540
查看次数

从git中删除但保留在工作目录中

我添加了一堆要由git跟踪的文件,但它们被错误地添加(并提交)了.它们应该出现在工作目录中(它们是我的IDE使用的短暂文件),但不是由git跟踪的.我现在已经创建了一个.gitignore文件并添加了相应的条目,但是将这些文件从git中删除,同时将它们安全地保存在我的工作目录中的正确方法是什么?

git

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

在NodeJS中分叉

关于如何在NodeJS中创建守护进程,我有点困惑

我在调用之前在C中创建了守护进程,fork()它继续执行在子进程中进行调用的地方,允许父进程终止.我不能轻易地使用process.fork()和实现相同的效果process.kill().

以下代码不符合我的预期和中断:

var current_pid, cp = require('child_process');
current_pid = process.pid;
cp.fork('');
process.kill(current_pid);
Run Code Online (Sandbox Code Playgroud)

发出以下错误,我无法弄清楚为什么或发生了什么:

node.js:202
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: read EBADF
    at errnoException (net.js:589:11)
    at Pipe.onread (net.js:335:20)
Run Code Online (Sandbox Code Playgroud)

问题调用似乎是process.kill().删除它,两个进程继续愉快地运行.

我知道daemon.node,但这是在child_process.fork()不存在时创建的(v0.1.33是编写daemon.node时可用的版本).现在有一种本地方式来分叉,所以这不再是必要的.(另外,它似乎也被抛弃了.)

javascript fork daemon node.js

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

为什么Ruby倾向于按降序分配对象ID?

我注意到对象的ID是以违反直觉的方式分配的.创建对象越早,其对象ID就越大.我原以为他们会按升序分配,而不是相反.

例如:

obj1 = Object.new
obj2 = Object.new
obj3 = Object.new

p obj1.object_id # => 4806560
p obj2.object_id # => 4806540
p obj3.object_id # => 4806520
Run Code Online (Sandbox Code Playgroud)

为什么以这种方式分配它们以及为什么在Ruby解释器运行的代码中有20步而不是1步,但Ruby的irb运行的代码的对象ID之间的区别大得多?

ruby irb object-identity

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

PHP - GMP和浮点数?

以下代码输出0,这是不正确的:

$r = gmp_pow(gmp_init('-1.7976931348623157'), 308);
echo gmp_strval($r);
Run Code Online (Sandbox Code Playgroud)

我的印象是GMP库能够处理浮点数,或者我在代码中犯了错误?

php gmp

7
推荐指数
1
解决办法
2531
查看次数

类定义/范围中的局部变量

我的印象是Ruby中的类定义可以重新打开:

class C
  def x
    puts 'x'
  end
end

class C
  def y
    puts 'y'
  end
end
Run Code Online (Sandbox Code Playgroud)

这按预期工作,并y添加到原始类定义中.

我很困惑为什么以下代码不能按预期工作:

class D
  x = 12
end

class D
  puts x
end
Run Code Online (Sandbox Code Playgroud)

这将导致NameError异常.为什么在重新打开课程时会启动新的本地范围?这似乎有点违反直觉.在扩展课程时,有没有办法继续以前的本地范围?

ruby scope

7
推荐指数
2
解决办法
1890
查看次数

Ruby:评论标记是什么?

我刚刚在这里阅读(http://ruby.runpaint.org/programs#lexical)评论是令牌.我从来没有把评论视为令牌,因为它们既可以是注释,也可以是后处理器.

评论真的是令牌还是这个来源错了?

ruby

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

安全地哈希密码 - 这么多冲突的建议!

我正在阅读有关如何安全地存储密码的相互矛盾的建议.我所知道的不是使用MD5!我见过人们主张使用PHP的bcrypt功能,这看起来好像它会占用服务器的处理器.我见过盐的倡导者,并主张不使用盐.

这一切都是如此不清楚.关于如何安全地存储密码,是否有真实可信的建议?

编辑:经过大量研究后,我发现了一篇文章;登录:深入讨论该主题:http://www.usenix.org/publications/login/2004-06/pdfs/alexander.pdf

php passwords hash md5 salt

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

Netbeans:我该如何禁用它?

Netbeans恼人的弹出窗口

如何禁用Netbeans中弹出的这个恼人的黑匣子?我想保持代码提示等启用,但这不断惹恼我,我无法找到它的设置.

netbeans

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

标签 统计

ruby ×4

php ×2

daemon ×1

fork ×1

git ×1

gmp ×1

hash ×1

irb ×1

javascript ×1

md5 ×1

netbeans ×1

node.js ×1

object-identity ×1

passwords ×1

python ×1

salt ×1

scope ×1

sqlalchemy ×1