小编Ite*_*tor的帖子

哈希冲突示例(可打印字符串)

我已经搜索了很多md5哈希冲突,但我只找到了二进制示例.我想找到两个UTF8字符串,它们具有相同的md5哈希值.有没有,或者碰撞只适用于二进制数据?

c hash md5 cryptography

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

如何创建一个查询,产生这个解释计划?(甲骨文sql)

该数据库是示例 Oracle HR 数据库:http : //elsasoft.com/samples/oracle/Oracle.XE.HR/default.htm

解释计划:

----------------------------------------------------------
| Id | Operation                     | Name              |
----------------------------------------------------------
|  0 | SELECT STATEMENT              |                   |
|  1 |  HASH UNIQUE                  |                   |
|* 2 |   TABLE ACCESS BY INDEX ROWID | EMPLOYEES         |
|* 3 |    INDEX RANGE SCAN           | EMP_DEPARTMENT_IX |
----------------------------------------------------------

Predictate Information (identified by operation id):
----------------------------------------------------

 2 - filter("MANAGER_ID" < 150)
 3 - access("DEPARTMENT_ID" < 50)
Run Code Online (Sandbox Code Playgroud)

我试过这个查询,但它产生了非常不同的结果:

select /*+ use_hash(emp) */* 
  from HR.employees emp 
 where MANAGER_ID <150 …
Run Code Online (Sandbox Code Playgroud)

oracle oracle-sqldeveloper sql-execution-plan

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

如何在 Doctrine2 中的连接表中添加额外的列?

我想创建一个通知系统。有一个Notification班级。一条通知可以分配给多个用户,而不仅仅是一个。

有一个联合表user_notifications,有两列:user_idnotification_id

$notifications用户类中的定义是这样的:

/**
 * @ManyToMany(targetEntity="Notification")
 * @JoinTable(name="user_notifications",
 *      joinColumns={@JoinColumn(name="user_id", referencedColumnName="id")},
 *      inverseJoinColumns={@JoinColumn(name="notification_id", referencedColumnName="id", unique=true)}
 *      )
 **/
private $notifications;
Run Code Online (Sandbox Code Playgroud)

一切正常。但我想在表中添加一个新列user_notifications,无论给定用户是否读取通知,我都想在该表中存储该新列。我应该如何在 Doctrine2 中管理它?

php doctrine symfony doctrine-orm

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

编译器如何从头文件中知道源文件存在于某处?

我刚开始学习C/C++,但我有点困惑.我经常看到#include预处理器指令,带有头文件参数:

#include <stdio.h>
#include <iostream.h> 
#include "windows.h"
#include <math.h>
Run Code Online (Sandbox Code Playgroud)

但有时.h缺少:

#include <iostream>
Run Code Online (Sandbox Code Playgroud)

我已经知道,头文件只包含函数的签名和一些预处理器命令.但是编译器何时以及如何包含数学函数,如果我包括math.h

如果我创建一个库,那么放置.c/.cpp/.h文件的位置,以及如何包含它们?

c c++ include preprocessor-directive

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

使用 glm 将 vec3 与 mat4 相乘

目前,我将 转换vec3vec4,将其与矩阵相乘,然后将其转换回vec3

代码:

glm::vec3 transformed = glm::vec3(matrix * glm::vec4(point, 0.0))
Run Code Online (Sandbox Code Playgroud)

它有效,但我认为这不是计算它的好方法。是否可以将 a 应用于mat4a vec3,而不将其来回vec4转换?

c++ glm-math

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

如何使用OpenGL ARB_gl_spirv扩展?

我想将 GLSL 着色器编译为 SPIR-V 二进制文件,并在我的 OpenGL 项目中使用它。

我发现glslang,使用我可以将 glsl 着色器编译为 spir-v。但我还没有找到任何关于如何在我的 C++ 项目中使用它的教程。如何加载这些二进制文件并从中创建着色器程序?

opengl glsl spir-v

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

为什么VarPtr(ByVal str)的结果与StrPtr(str)相同?(VB6)

在VB6中VarPtr应返回变量的地址,在这种情况下str是在堆栈上分配的变量的地址,并保存指向内存中字符串的指针.StrPtr(或StrPtr)应该返回内存中已分配字符串的地址.ByVal应该只创建一个副本,但在这种情况下,它的工作原理很奇怪:

Dim str As String
str = "asd"
Debug.Print VarPtr(str)
Debug.Print VarPtr(ByVal str)
Debug.Print StrPtr(str)
Run Code Online (Sandbox Code Playgroud)

结果是:

1636452 
110882980 
110882980 
Run Code Online (Sandbox Code Playgroud)

为什么结果VarPtr(ByVal str)一样StrPtr(str)

vb6

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

从Angular5迁移到Angular6,angular.json不会更新

我想按照这个答案从Angular5迁移到Angular6

我试图执行这三个命令,将.angular-cli.json更新为angular.json:

npm install -g @angular/cli
npm install @angular/cli
ng update @angular/cli
Run Code Online (Sandbox Code Playgroud)

不幸的是,仍然没有angular.json.如果我尝试运行ng serve,我会收到此错误:

Local workspace file ('angular.json') could not be found.
Run Code Online (Sandbox Code Playgroud)

所以我将.angular-cli.json重命名为angular.json.但它没有帮助:

架构验证失败,出现以下错误:数据路径""不应具有其他属性(项目).错误:架构验证失败,并出现以下错误:数据路径""不应具有其他属性(项目).在MergeMapSubscriber._registry.compile.pipe.operators_1.concatMap.validatorResult [as project](C:\ projects\my-app \node_modules\@ angular-devkit\core\src\workspace\workspace.js:173:42)at at MergeMapSubscriber._next(C:\ projects\my-app \node_modules\rxjs\internal\operators)中的MergeMapSubscriber._tryNext(C:\ projects\my-app \node_modules\rxjs\internal\operators\mergeMap.js:122:27)\mergeMap.js:112:18)在MergeMapSubscriber.notifyNext(C:\ projects\my)的MergeMapSubscriber.Subscriber.next(C:\ projects\my-app \node_modules\rxjs\internal\Subscriber.js:103:18) -app \node_modules\rxjs\internal\operators\mergeMap.js:141:26)在InnerSubscriber的InnerSubscriber._next(C:\ projects\my-app \node_modules\rxjs\internal\InnerSubscriber.js:30:21).在MapSubscriber._next订阅Subscriber.next(C:\ projects\my-app \node_modules\rxjs\internal\Subscriber.js:103:18)(C:\ projects\my-app \node_modules\rxjs\internal\operators\map .js:92:26)在MapSubscriber.Subscriber.next(C:\ projects\my-app \node_modules\rxjs\internal\Subscribe r.js:103:18)在SwitchMapSubscriber.notifyNext(C:\ projects\my-app \node_modules\rxjs\internal\operators\switchMap.js:122:26)

因此我试图运行ng update @angular/core,但我收到此错误:

工作区需要在使用前加载.

我错了什么?

json node.js angular-cli angular

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

为什么在将引用添加到测试项目后仍然出现“无法解析的外部符号”错误?

我在 Visual Studio 2019 中创建了一个 C++ 项目。我向其中添加了两个文件:MyClass.hppMyClass.cpp. 然后我创建了一个测试项目并添加了原始项目作为参考。

如果我双击测试项目中的引用,我可以看到MyClass. 但如果我尝试运行测试,我会收到此错误:

MyTest.obj : error LNK2019: unresolved external symbol "public: struct MyRef __thiscall MyClass::SetData(struct Data)" (?SetData@MyClass@@QAE?AUMyRef@@UData@@@Z) referenced in function "private: virtual void __thiscall MyTest_SetData_Test::TestBody(void)" (?TestBody@MyTest_SetData_Test@@EAEXXZ)
Run Code Online (Sandbox Code Playgroud)

我有什么错吗?为什么MyClass.cpp即使在引用的项目中也没有编译?我可以毫无错误地构建原始项目。当我尝试构建测试项目时,我只收到链接错误。


我遇到了有关未解决的外部符号错误的问题,但它没有解决我的问题。这是 Visual Studio 特定的问题。

如果我MyClass.cpp手动添加到测试项目中,那么它就可以工作。但我不想对每个文件都这样做,因为我的项目可能有更多的cpp源文件,而不仅仅是这个。我想使用“参考”功能使其工作。

当我创建测试项目时,我选择了原始项目作为参考。

c++ visual-studio visual-c++ visual-studio-2019

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

如何在 Rust 宏中断言类型?

我创建了一个宏函数my_macro

macro_rules! my_macro {
    ($param1:expr, $param2:expr) => {
        // ...
    };
}
Run Code Online (Sandbox Code Playgroud)

如何断言这$param1是类型MyType?是否可以检查更复杂的内容,例如Box<T>?或者甚至返回类型?

我找到了assert_type_eq,但有关它的文档很混乱,而且我不知道如何使用它。或者这是否是完成任务的最佳方法。

我想将这些类型断言添加到我的宏中,以便更容易地找出它是否使用不正确。

rust

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