小编won*_*ton的帖子

使用PHP exec()加速后端的可行性

我从PHP的exec()性能中了解到,运行exec()会产生开销,但是在大型程序或网站中,使用另一种语言编写后端的部分并让PHP使用exec调用程序是不是有益处?

例如,我用大量的字符串操作编写/运行了一个测试 - PHP占用了2.3秒而Java占用了.52而C++占用了.33.速度差异已经很明显了.如果我多线程操作,时间可能会加快.我还发现可以通过类似的方式实现并行性

exec("./largeoperation > mydir/$dirname.data &"); 
//or
exec('java Backend > /dev/null 2>&1 &');
Run Code Online (Sandbox Code Playgroud)

除了需要用另一种语言编写代码之外,除了需要用另一种语言编写代码之外,我还没有明白为什么我不应该将后端的更多部分转移到用不同语言编写的更快的程序中.此外,我知道像使用Php-Java Bridge这样的桥梁的存在,但我不确定使用它会比简单的exec()快得多.有没有人有关于exec()的更多细节?

php shell exec php-java-bridge

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

是否可以从二进制可执行文件中提取常量和其他预定义值?

假设我们在这里有这个程序

class Message{

public static SUPER_SECRET_STRING = "bar";

    public static void Main(){
        string SECRET = "foo";
        Console.Write(sha(SUPER_SECRET_STRING) + "" + sha(SECRET));
    }

}
Run Code Online (Sandbox Code Playgroud)

现在,在构建此程序之后,有没有办法使用十六进制编辑器或其他实用程序从编译的二进制文件中提取值"foo"和"bar"?

另外,我们假设不允许使用内存编辑器.

这适用于所有编译语言,如C++吗?那些在Java或C#等其他环境中运行的是什么?

security binaryfiles hex-editors

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

Laravel Redirect似乎不起作用

当我从www.mysite.com/login的控制器运行时

return Redirect::to_action('profile');
Run Code Online (Sandbox Code Playgroud)

它将用户带到www.mysite.com/index.php/profile

我用Redirect :: to('profile')尝试过它; 但这也不起作用.重定向::家(); 带我到www.mysite.com/index.php,让我相信我的mod_rewrite不知何故不起作用,但我有RewriteEngine on

 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d

 RewriteRule ^(.*)$ index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)

在公共场合的.htaccess.

php redirect laravel

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

将lambda函数类型化为函数参数

我有一个接受lambda的函数:

def my_function(some_lambda):
  # do stuff
  some_other_variable = some_lambda(some_variable)

my_function(lambda x: x + 2)
Run Code Online (Sandbox Code Playgroud)

我想输入传递的lambda函数.

我试过了

def my_function(some_lambda: lambda) -> None:
# SyntaxError: invalid syntax
from typing import Lambda
# ImportError: cannot import name 'Lambda'
Run Code Online (Sandbox Code Playgroud)

我的IDE在2.7跨式类型提示上抱怨类似的东西,例如

def my_function(some_lambda: lambda) -> None:
  # type: (lambda) -> None
# formal parameter name expected
Run Code Online (Sandbox Code Playgroud)

python type-hinting python-2.7 python-3.x

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

检查是否需要合并迁移,没有数据库

要检查是否需要合并迁移,我可以运行manage.py makemigrations --checkmanage.py makemigrations --dry-run

但是,这两者都需要数据库启动。如果它没有启动,它会出现类似的错误

django.db.utils.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)")

从理论上讲,由于具有相同父级的两次迁移会导致合并迁移问题,因此您不需要数据库实例来检查这种情况。

我需要这个,因为我希望我的 CI 检查这个案例。我可以启动一个 docker 数据库,但对于那些甚至不依赖于逻辑的东西来说,这是一项额外的工作。我也确信有些人有兴趣在他们的 CI 中检查这个,他们不想处理容器化。

有没有人找到一种无需数据库即可检查迁移合并冲突的简单方法?

python django django-migrations

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

如何使用 docker-py 运行 docker tag

在命令行上,您可以运行docker tag [from] [to]为图像指定另一个名称。该文档没有提供有关如何以编程方式执行此操作的任何信息。

如何使用 docker-py 进行 docker tag 操作?

dockerpy

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

如何在ECR上下载或标记未标记的图像?

ECR上的UI不允许您将标签应用于图像。当您将具有存在标签的图像推送到ECR时,现有图像将按预期取消标记。但是,似乎没有下载未标记图像的方法。例如,我不能简单地下载图像哈希

docker pull myarn.amazonaws.com/sandbox:e226e9aaa12beb32bfe65c571cb60605b2de13338866bc832bba0e39f6819365
Error response from daemon: manifest for myarn.amazonaws.com/sandbox:e226e9aaa12beb32bfe65c571cb60605b2de13338866bc832bba0e39f6819365 not found
Run Code Online (Sandbox Code Playgroud)

docker docker-registry elastic-container-registry

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

如何从以 awsvpc 网络模式运行的 ECS 容器内获取我的 IP 地址?

从以桥接模式运行的常规 ECS 容器,或从标准 EC2 实例,我通常运行

curl http://169.254.169.254/latest/meta-data/local-ipv4
Run Code Online (Sandbox Code Playgroud)

检索我的IP。

在以 awsvpc 网络模式运行的 ECS 容器中,我获得了底层 EC2 实例的 IP,这不是我想要的。我想要 ENI 的地址附加到我的容器。我怎么做?

amazon-ecs docker aws-vpc

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

如何使用 REST API 管理 Presto 查询会话变量?

我正在使用 Presto REST api 来查询数据库,但我所有的会话似乎都是短暂的。例如,如果我做类似的事情

query_presto('set session columnar_processing = true') query_presto('show session')

尽管在第一个查询中设置了 column_processing 变量,第二个查询将显示 column_processing 仍然是默认值 false。

我在某处读到

Presto 为每个经过身份验证的用户维护会话。如果在为 Presto 配置的超时期限内未收到新请求,则此会话将过期。

但是,我在代码或文档中的任何地方都找不到此配置。

我的问题是如何使用 RESTful API 维护数据库会话?

rest session presto

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

在 awsvpc 网络模式下,从 aws ELB 主机检查获取 400 以在 aws ECS 中使用 django ALLOWED_HOSTS?

当使用 awsvpc 网络模式转移到 ECS 时,我的 ALB 说我的所有主机都不健康,因为检查/status/产生 400 秒。我已将其缩小到 ALLOWED_HOSTS 出现问题的问题。

如何让我的网络应用程序向 ELB Healthchecker 提供 200 个?

django amazon-ecs amazon-elb aws-load-balancer aws-application-load-balancer

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