小编Gas*_*sim的帖子

引导模式内的画布(版本 3)

当我将 html5 画布放在引导模式中时,我得到了一个未定义的行为。模态内的对象不响应时间并不断离开 2D 屏幕。这是演示:

http://projects.gasimzada.net/pacman/dev

此行为仅在画布位于模态窗口内时发生;如果画布就在眼前,那不会发生......有没有人有这方面的经验?你能提示我什么吗?我真的被困住了。

更新:我发现,它不仅发生在模态对话框中,而且发生在任何点击会用游戏元素填充画布对象的地方。什么会导致这种奇怪的行为?

html canvas twitter-bootstrap

5
推荐指数
0
解决办法
2669
查看次数

如何在NoSQL中查询关系?

我决定将我的数据库从MySQL移到Mongo,因为大多数时候,我的数据不是结构化的.它让我在传统的SQL中过于复杂.

我目前面临的一个问题是如何在NoSQL中使用传统的SQL关系模型.我已多次读过NoSQL不是为处理关系而设计的.我是否需要将它们作为数组添加到具有关系的文档中?

这种情况让我陷入困境.在SQL中,我有一个单独的oauth访问令牌表,其中包含user_id,client_id,access_token,expires作为其属性.用户和access_token之间是1-N关系.我如何在NoSQL中做到这一点?通过添加数组字段oauth_tokens?如果我这样做,我如何在数组中搜索令牌?我该如何查询

search for a document where the _id is $user_id and there is an element
with $token in the access_tokens array?
Run Code Online (Sandbox Code Playgroud)

mongodb nosql

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

JSS 中的 MUI 全局类名称有多可靠?

我有这样的代码:

const formControlStyles = {
  root: {
    '&:hover .MuiFormLabel-root': {

     }
  }
}
Run Code Online (Sandbox Code Playgroud)

在主题覆盖中使用类名来访问其他组件是否安全?另外,是否有一种 JSS 方式可以从其他组件中嵌套样式?

javascript reactjs material-ui jss

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

如何将 TS 文件转换为 ESM,同时确保所有导入都有扩展名?

我有一个设置,使用 Babel 将 Typescript 文件转换为 ESM 格式。这是我的配置:

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "esmodules": true
        },
        "modules": false
      }
    ],
    "@babel/preset-react",
    "@babel/preset-typescript"
  ]
}
Run Code Online (Sandbox Code Playgroud)

当我检查 Babel 生成的输出时,我发现所有导入都没有.js文件扩展名:

// should be './SomeComponent.js' according to ESM spec
import SomeComponent from './SomeComponent';
Run Code Online (Sandbox Code Playgroud)

有没有办法在 Babel 中启用它,使其符合 ESM 要求?

typescript babeljs es6-modules

5
推荐指数
0
解决办法
343
查看次数

如何从 uint32_t 创建静态不同的不同类型?

我想创建不同的类型,它们是 uint32_t 但从编译器的角度来看不同——它们只能进行比较并分配给完全相同类型的值。这是我想要实现的示例代码:

TextureResourceId t1 = 1000, t2 = 2000;
PipelineResourceId p1 = 1000, p2 = 2000;
BufferResourceId b1 = 1000, b2 = 1000;

if (t1 == t2) // OK!
if (t1 == p1) // Compiler error!
if (t1 == b1) // Compiler error!
Run Code Online (Sandbox Code Playgroud)

我知道我可以做一些预处理器魔法来实现这一点:

#define CREATE_RESOURCE_ID(NAME) \
    class NAME { \
    public: \
        NAME(uint32_t value_): value(value_) {} \
        bool operator==(const NAME &rhs) { return value == rhs.value; } \
    private: \
        uint32_t value; \
    };

CREATE_RESOURCE_ID(TextureResourceId);
CREATE_RESOURCE_ID(BufferResourceId);
CREATE_RESOURCE_ID(PipelineResourceId);

int …
Run Code Online (Sandbox Code Playgroud)

c++

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

如何从内部别名推断模板参数?

我有一个带有两个参数的模板类:

template<class TEvent, class TData>
class EventPool {
public:
  using EventObserver = std::function<void(const TData &)>;
  using EventData = TData;
  using EventType = TEvent;

public:
  EventObserverId observe(TEvent event, EventObserver &&observer) { ... }
  void deleteObserver(EventObserverId observerId) { ... }
  void dispatch(TEvent event, const TData &data) { ... }
};
Run Code Online (Sandbox Code Playgroud)

我还有另一个存储许多池的容器类:

class EventSystem {
  using CollisionPool = EventPool<CollisionEvent, CollisionData>;
  using MouseButtonPool = EventPool<MouseButtonEvent, MouseButtonData>;
  using KeyboardPool = EventPool<KeyboardButtonEvent, KeyboardButtonData>;
public:


private:
  std::tuple<CollisionPool, MouseButtonPool, KeyboardPool> mPools;
};
Run Code Online (Sandbox Code Playgroud)

现在,我想创建一个基于模板的函数,它自动推断正确的池并调用池内的函数。例如:

template<class TEvent>
EventObserverId observe(TEvent event, …
Run Code Online (Sandbox Code Playgroud)

c++ templates

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

如何在jQuery中处理403 ajax响应

在jquery的$ .ajax请求中,我需要帮助处理来自我的服务器的403错误.它将其作为JS错误发送,因为请求被禁止但我只是希望错误是Ajax响应的一部分,而不仅仅是整个应用程序失败的JS错误.403来自OAuth2.如果需要提供任何代码以更好地澄清我的问题,请告诉我.

我怎样才能做到这一点?

ajax error-handling jquery

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

如何将成员函数指针传递给std :: function

如何通过函数传递成员函数指针std::function.我将通过比较(实时测试)来解释它:

template<class R, class... FArgs, class... Args>
    void easy_bind(std::function<R(FArgs...)> f, Args&&... args){ 
}

int main() {
    fx::easy_bind(&Class::test_function, new Class);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息:

no matching function for call to ‘easy_bind(void (Class::*)(int, float, std::string), Class*)’
Run Code Online (Sandbox Code Playgroud)

我只是不明白为什么函数指针std::function在通过函数参数传递时无法传递给它.我该如何通过该功能?我愿意将easy_bind函数参数更改std::function为函数指针,但我真的不知道如何.

编辑:问题简化.

编辑:感谢@remyabel,我得到了我需要的东西:http://ideone.com/FtkVBg

template <typename R, typename T, typename... FArgs, typename... Args>
auto easy_bind(R (T::*mf)(FArgs...), Args&&... args)
-> decltype(fx::easy_bind(std::function<R(T*,FArgs...)>(mf), args...)) {
    return fx::easy_bind(std::function<R(T*,FArgs...)>(mf), args...);
}
Run Code Online (Sandbox Code Playgroud)

c++ function-pointers parameter-passing c++11

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

Django日期时间格式与DRF序列化器日期时间格式不同

我试图了解为什么会这样。我有一个Django DateTime字段和使用该字段的Django Rest Framework序列化程序。

我正在尝试比较两个日期,并从JSON端点和模型结果中获取以下结果:

DRF: 2018-12-21T19:17:59.353368Z
Model field: 2018-12-21T19:17:59.353368+00:00
Run Code Online (Sandbox Code Playgroud)

有没有办法使它们相似?因此,使它们都为“ Z”或“ +00:00”。

python django django-rest-framework

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

在 Vulkan(或任何其他现代图形 API)中,是否应该在每次队列提交或每帧等待栅栏?

我正在尝试以渲染始终渲染为纹理的方式设置渲染器,然后我只呈现我喜欢的任何纹理,只要其格式与交换链兼容即可。这意味着,我需要处理一个渲染场景、用户界面等的图形队列(我还没有计算);一个传输队列,将渲染的图像复制到交换链中;以及一个用于呈现交换链的呈现队列。这是我目前正在尝试解决的一个用例,但随着我的渲染器的成熟,我将拥有更多这样的用例(例如计算队列)。

这是我想要实现的目标的伪代码。我在这里也添加了一些我自己的假设:

// wait for fences per frame
waitForFences(fences[currentFrame]);
resetFences(fences[currentFrame]);

// 1. Rendering (queue = Graphics)
commandBuffer.begin();
renderEverything();
commandBuffer.end();

QueueSubmitInfo renderSubmit{};
renderSubmit.commandBuffer = commandBuffer;

// Nothing to wait for
renderSubmit.waitSemaphores = nullptr;

// Signal that rendering is complete
renderSubmit.signalSemaphores = { renderSemaphores[currentFrame] };

// Do not signal the fence yet
queueSubmit(renderSubmit, nullptr);

// 2. Transferring to swapchain (queue = Transfer)

// acquire the image that we want to copy into
// and signal that it is available
swapchain.acquireNextImage(imageAvailableSemaphore[currentFrame]);

commandBuffer.begin();
copyTexture(textureToPresent, …
Run Code Online (Sandbox Code Playgroud)

graphics vulkan

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