小编Dan*_*iel的帖子

openssl创建证书和密钥

[OpenSSL v1.1.0f]

我正在使用以下命令创建自签名证书,仅用于测试目的:

$ openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 10000 -nodes
Run Code Online (Sandbox Code Playgroud)

但是我得到这样的消息:

Can't open /usr/local/ssl/openssl.cnf for reading, No such file or directory
140480609138432:error:02001002:system library:fopen:No such file or directory:crypto/bio/bss_file.c:74:fopen('/usr/local/ssl/openssl.cnf','r')
140480609138432:error:2006D080:BIO routines:BIO_new_file:no such file:crypto/bio/bss_file.c:81:
Generating a 4096 bit RSA private key
..................................++
.................................................................................................................................................................................................................++
writing new private key to 'key.pem'
-----
unable to find 'distinguished_name' in config
problems making Certificate Request
140480609138432:error:0E06D06A:configuration file routines:NCONF_get_string:no conf or environment variable:crypto/conf/conf_lib.c:272:
Run Code Online (Sandbox Code Playgroud)

我该怎么解决?

openssl

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

在测试中模拟 Laravel 环境

我正在实现一些需要代码在生产环境中表现不同的逻辑。

我想编写一个测试来断言这确实发生了,但是我很难模拟环境。

我已经看到建议使用putenv('APP_ENV=production');它,但它似乎不起作用。

我怎样才能通过测试?

use Illuminate\Support\Facades\App;
use Tests\TestCase;

class EnvTest extends TestCase
{
    public function testEnv()
    {
        // This assertion is fine
        $env = App::environment();
        $this->assertEquals('testing', $env);

        putenv('APP_ENV=production');

        // This assertion fails
        $env = App::environment();
        $this->assertEquals('production', $env);
    }
}
Run Code Online (Sandbox Code Playgroud)

结果

时间:160 毫秒,内存:18.00MB

有 1 次失败:

1) 环境测试::testEnv

断言两个字符串相等失败。

- - 预期的

+++ 实际

@@@@

-'生产'

+'测试'

php phpunit mocking environment-variables laravel

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

Laravel 5.8:用户单击验证链接后如何发送电子邮件

我实现了身份验证系统,php artisan make:auth并且已经通过来自 laravel 功能的 MustVerify 设置了用户电子邮件验证

我想在用户单击验证链接后发送另一封电子邮件(问候邮件)。我怎样才能做到这一点?

php laravel laravel-events laravel-5.8

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

GetType在Nullable布尔值上

当我在Microsoft MSDN上发现这篇文章时,我正在研究可空的bool

如何:识别可空类型(C#编程指南)

您可以使用C#typeof运算符创建表示Nullable类型的Type对象.

所以我尝试用可空的布尔检查:

Console.Write(typeof(bool?)); //System.Nullable`1[System.Boolean]
Run Code Online (Sandbox Code Playgroud)

MSDN上的文章说

您还可以使用System.Reflection命名空间的类和方法来生成表示Nullable类型的Type对象.但是,如果尝试通过使用GetType方法或is运算符在运行时从Nullable变量获取类型信息,则结果是一个Type对象,它表示基础类型,而不是Nullable类型本身.

在Nullable类型上调用GetType会导致在将类型隐式转换为Object时执行装箱操作.因此,GetType始终返回表示基础类型的Type对象,而不是Nullable类型.

如果这是真的,我希望得到相同的结果,.GetType()无论我使用可空的bool还是常规的bool.但这不是发生的事情:

    bool a = new bool();
    Console.Write(a.GetType()); //Prints System.Boolean

    bool? b = new bool?();
    Console.Write(b.GetType()); //Exception!
Run Code Online (Sandbox Code Playgroud)

发生的例外情况:

BoolTest.exe中出现未处理的"System.NullReferenceException"类型异常

附加信息:未将对象引用设置为对象的实例.

但是对象引用设置为对象的实例.可能是导致此错误的原因是什么?

c# null boolean

4
推荐指数
2
解决办法
2948
查看次数

如果算术运算的结果未存储在存储器中会发生什么

当我5年前学习C++时,我们的任务之一就是

创建一个程序,使用公式C°x 9/5 + 32 = F°,根据摄氏度输入计算华氏温度

我们的第一个版本是这样的

int main()
{
    float celsius;
    cout << "Enter Celsius temperature: ";
    cin >> celsius;
    cout << "Fahrenheit: " << celsius * (9.0 / 5) + 32 << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

一位同学指出,我们没有明确告知输出结果,结果导致了

int main()
{
    float celsius;
    cout << "Enter Celsius temperature: ";
    cin >> celsius;
    celsius * (9.0 / 5) + 32;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我用它作为一个轶事:在指定要求时总是要彻底

最近我一直在想这个代码是否确实满足了要求.

celsius * (9.0 / 5) + 32;在死代码消除期间,编译器不会排除该部分吗?代码是在Visual Studio 2010中编译的,没有任何特定的编译器选项.

查看Visual …

c++ compiler-optimization

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

在Login - Laravel期间在config中设置动态数据库

我正在尝试根据用户的公司更改登录时的数据库连接.在这里,我的用户有一家公司,其DB是companyA.

下面是我更改连接的LoginController:

public function authenticated(Request $request,User $user)
{
    \Config::set('database.connections.dynamicdb', array(
        'driver'    => 'mysql', 
        'host'      => '127.0.0.1',
        'database'  =>  $user->company,
        'username'  =>  'root',
        'password'  =>  '',
        'charset'   => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'strict'    => false,
        'options'   => [                                
            \PDO::ATTR_EMULATE_PREPARES => true
        ]
    ));

    return redirect()->intended($this->redirectPath());
}
Run Code Online (Sandbox Code Playgroud)

因此,基于已在users表中定义的user-> company,更改了数据库名称.但不知怎的,它不起作用.

未选择数据库中显示的错误.

我尝试下面的代码来检查登录期间是否设置了值.

return \Config::get('database.connections.dynamicdb');
Run Code Online (Sandbox Code Playgroud)

它显示所有值都符合我的要求.但是当我在登录后检查并到达/ home时,config中的数据库值为null.

那么我应该做些什么改变呢.我的技术对吗?或者还有其他任何解决方案.

在我的股票模型中,我添加了以下行:

protected $table = 'stocks';  
protected $connection = 'dynamicdb';
Run Code Online (Sandbox Code Playgroud)

我正在运行的查询只是一个获取所有查询:

 Stock::orderBy('tag_no','asc')->get()
Run Code Online (Sandbox Code Playgroud)

谁能告诉我为什么会这样?我该怎么办?

php mysql database dynamic laravel

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

为什么动态添加 Angular matTooltip 时不起作用?

我有一个 SVG 元素,我想在 Angular 中的某个时刻添加一个 matTooltip。我观察到,如果我尝试像这样添加 matTooltip:

generate() {
  var svgEle = document.getElementById("testSVG");
  var rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect');
  rect.setAttribute('id', "rect");
  rect.setAttribute('x', "73");
  rect.setAttribute('y', "95");
  rect.setAttribute('class', "st01");
  rect.setAttribute('width', "407");
  rect.setAttribute('height', "328");
  rect.setAttribute('matTooltip', "Info about the action");
  svgEle.append(rect)
}
Run Code Online (Sandbox Code Playgroud)

使用html测试代码:

<div style="width:400px">
    <svg version="1.1" id="testSVG" xmlns="http://www.w3.org/2000/svg" 
    xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
    viewBox="0 0 1000 1000" style="enable-background:new 0 0 1000 1000;" 
    xml:space="preserve">
    <style type="text/css">
          .st01{fill:#F99191;}
          .st11{fill:#92B1F7;}
    </style>
    <rect x="638.5" y="146" class="st11" width="236" height="219" 
    matTooltip="Info about the action"/>
    </svg> 
</div>
<button mat-stroked-button (click)="generate()">Generate</button>
Run Code Online (Sandbox Code Playgroud)

它不起作用。

这种情况下到底是什么问题呢?

svg tooltip angular-material angular

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

从 NiFi 中的纪元中提取日期

我有一个 CSV 文件,其属性具有纪元值,例如“1517334599.906”。

我想通过 NiFi 将 Epoch 值转换/更新为 ISO 时间戳 'yyyy-MM-dd HH:mm:ss.SSS'。

该转换是为了让 Kibana 将该字段识别为时间戳。有没有办法做到这一点?如果有谁可以帮我配置一下吗?

regex apache elasticsearch kibana apache-nifi

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

使用 Laravel 在 SQL Server 中添加 varchar 列类型

我正在使用 Laravel 5.7 和 SQL Server 2017,我想生成一个varchar(50)名为name.

执行此代码给了我一个nvarchar(50)

Schema::create('test', function(Blueprint $table) {
    $table->string('name', 50);
});
Run Code Online (Sandbox Code Playgroud)

如何区分创建varcharnvarchar字段?

nvarchar laravel laravel-migrations laravel-schema-builder laravel-5.7

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

同步运行 Laravel 作业链

我有一个像这样的 Laravel 工作链

Job1::withChain([
  new Job2(),
  new Job3(),
  new Job4()
])->dispatch();
Run Code Online (Sandbox Code Playgroud)

有时我希望它同步运行作业。

但是当我更改->dispatch()为时->dispatchNow(),我得到

调用未定义的方法 Illuminate\Foundation\Bus\PendingChain::dispatchNow()

还有其他方法可以同步运行作业链吗?

laravel laravel-queue laravel-5.8

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