小编Hap*_*per的帖子

我可以信任$ _FILES的文件类型吗?

$_FILES上传图片时可以信任文件类型吗?或者我必须再次检查exif_imagetype()

php security upload

8
推荐指数
2
解决办法
542
查看次数

为什么Ruby人说他们不需要接口?

ruby与其他OOP语言有什么不同(例如:PHP)会使接口变得无用吗?它有什么替代品吗?

编辑:

一些澄清:

  • 在其他语言(例如:PHP)中,您不需要"接口"(在代码级别它们不是必需的).您可以使用它们签订合同,以改进软件的架构.因此,肯定'在红宝石中你不需要接口/在其他语言中你需要接口因为XXX'是假的.

  • 不,mixins不是接口,它们是完全不同的东西(PHP 5.4实现了mixins).你有没有使用过接口?

  • 是的,PHP是OOP.语言不断发展,欢迎来到现在.

ruby oop interface

8
推荐指数
3
解决办法
2731
查看次数

如何在Symfony 2中进入维护模式以安全地更新生产应用程序?

我需要在生产服务器中更新源文件(从存储库中提取和更新),运行迁移并重新生成缓存资产.

Symfony 2中是否有任何机制可以安全地执行此操作?比如将网站置于"维护模式"(应该抛出503)或其他什么?

php http-status-code-503 symfony

8
推荐指数
2
解决办法
4662
查看次数

如何计算处理图像所需的内存?

我想对用户上传的图像设置一些限制,因此处理它们的脚本永远不会耗尽内存.

占用更多内存的图像是具有更高分辨率的图像.它们不需要具有大字节的大小.例如,分辨率为4000x2500的46kb图像和一些透明胶片(PNG)大约需要90mb来调整大小.

有没有办法准确地预先计算所需的内存?

有任何想法吗?

php memory image-processing

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

如何在Symfony 2中进行需要验证的功能测试?

我找不到任何关于此的文档.

我正在使用客户端对象向/ login发送请求,填写表单并提交.这工作正常,但我得到302响应/登录,好像凭据不正确.

在任何情况下,我认为在第一个请求之后会话表中至少应该有一行,但是没有.怎么可能?

有什么想法吗?

编辑:这是代码:

    // Go to login page
    $client = $this->createClient();
    $crawler = $client->request('GET', '/login');
    $this->assertTrue($crawler->filter('html:contains("Username")')->count() > 0);

    // Fill in the form and submit it
    $form = $crawler->selectButton('login')->form();
    $form['_username'] = 'admin';
    $form['_password'] = 'admin';
    $client->submit($form);
    $this->assertEquals(302,$client->getResponse()->getStatusCode());
    $this->assertFalse($client->getResponse()->isRedirect('http://localhost/login'));
Run Code Online (Sandbox Code Playgroud)

最后一个断言失败了

php testing symfony

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

如何在文件准备好和图像加载后调用函数?

我使用的是这样的东西:

$(document).ready(function() {
  $('#my-img').load(function() {
    // do something
  });
});
Run Code Online (Sandbox Code Playgroud)

但有时它无法执行第二次回调(没有抛出任何错误,所以没有什么可做的),我想也许图像是在文档准备好之前加载的.

如果我不使用$(document).ready()部分,它工作正常,所以我想我现在就要离开它了.但是有人告诉我,总是做这样的事情作为文件准备回调是一个好习惯,因为文档可能还没准备好.是对的吗?

有什么想法吗?

javascript jquery image onload

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

如何在MySQL中存储"可查询"的加密数据?

我需要一种方法来存储加密数据,我仍然可以运行查询.这甚至可能吗?

至少我需要一个加密算法,它总是为同一个输入返回相同的字符串,所以我可以通过加密该字符串并在数据库中查找加密结果来找到所有名为"John"的用户.在PHP中,mcrypt总是返回不同的字符串(我知道这是故意的,以提高安全性).

有任何想法吗?

php mysql security encryption

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

Rails一个班轮邮件发送?

如何在不创建邮件程序类的情况下在一行中发送电子邮件?

我需要设置所有参数包括:from(与smtp用户不同)

到目前为止我得到了这个:

# ok not exactly a one liner, but it doesn't matter
ActionMailer::Base.mail(:from => 'admin@mysite.me', :to => 'someone@gmail.com', :subject => 'subject bla') do
  'content bla'
end.deliver
Run Code Online (Sandbox Code Playgroud)

内容不起作用,我收到一封空白电子邮件

actionmailer ruby-on-rails-3

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

为什么Devise/Omniauth会在URL中添加垃圾?

登录Facebook后,我被重定向到/#_=_,显示主页.

这种垃圾也出现在其他网址中,例如注册失败并被重定向到 /users/sign_in#_=_

为什么会发生这种情况,我该如何解决?

ruby facebook ruby-on-rails devise omniauth

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

如果它们不是真正并行的话,我可以为Ruby线程提供什么用途?

当我第一次发现线程时,我尝试通过在许多线程中调用sleep来检查它们是否按预期工作,而不是正常调用sleep.它奏效了,我很开心.

但后来我的一个朋友告诉我,这些线程并不是真正平行的,睡眠必须是伪造的.

所以现在我写了这个测试来做一些真正的处理:

class Test
  ITERATIONS = 1000

  def run_threads
    start = Time.now

    t1 = Thread.new do
      do_iterations
    end

    t2 = Thread.new do
      do_iterations
    end

    t3 = Thread.new do
      do_iterations
    end

    t4 = Thread.new do
      do_iterations
    end

    t1.join
    t2.join
    t3.join
    t4.join

    puts Time.now - start
  end

  def run_normal
    start = Time.now

    do_iterations
    do_iterations
    do_iterations
    do_iterations

    puts Time.now - start
  end

  def do_iterations
    1.upto ITERATIONS do |i|
      999.downto(1).inject(:*) # 999!
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

现在我很难过,因为run_threads()不仅没有run_normal更好,它甚至更慢!

那么,为什么我应该使用线程使我的应用程序复杂化,如果它们不是真的并行?

**更新**

@ fl00r说我可以利用线程,如果我将它们用于IO任务,所以我写了两个do_iterations的变种:

def do_iterations
  # …
Run Code Online (Sandbox Code Playgroud)

ruby parallel-processing multithreading

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