小编Raf*_*ael的帖子

忽略打字稿上的"找不到模块"错误

Typescript编译器可以忽略cannot find module 'x'导入表达式上的错误,例如:

//How to tell the compiler that this module does exists
import sql = require('sql');
Run Code Online (Sandbox Code Playgroud)

有多个npm库,例如没有现有类型的节点sql

除了使用declare module x ...?创建新的定义文件之外,有没有办法告诉编译器忽略此错误?

import module typescript

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

为什么 Postgres 不在简单的 ORDER BY LIMIT 1 上使用我的索引?

我有一个大表(大约 11,000,000 行),我需要找到给定排序条件的第一项。

请注意,列Date没有接受空

为什么 Postgres 不使用索引:

CREATE INDEX track_ix_date
  ON "Track"
  USING btree
  ("Date" DESC NULLS LAST);
Run Code Online (Sandbox Code Playgroud)

在这个简单的查询中:

select * from "Track" order by "Date" desc limit 1
Run Code Online (Sandbox Code Playgroud)

但它确实在另一个查询中使用了它:

select * from "Track" order by "Date" desc nulls last limit 1
Run Code Online (Sandbox Code Playgroud)

第二个查询实际上比第一个查询快得多。

我已经阅读了索引和 ORDER BY文档,并说在ORDER BYwith aLIMIT子句的特殊情况下使用索引而不是扫描表更有效,因为排序需要扫描整个表才能获得一个物品

Postgresnulls last / first不应该检测到这无关紧要,因为该列不接受空值而只使用最快的方法吗?

postgresql indexing sql-order-by

9
推荐指数
1
解决办法
2124
查看次数

存储库和查询对象模式.如何实现复杂的查询

我已经阅读了很多关于存储库模式的帖子,但是有一些实际问题似乎没有解决或解释.这就是我对这两种模式的理解:

存储库和查询模式是互补的:查询对象表示业务逻辑(WHERE clausules),存储库模式具有Get(IPredicate)方法,该方法接受查询对象并返回SELECT WHERE结果

存储库不应该有业务逻辑:所有业务逻辑必须继续查询对象

目前我有一个包装每个逻辑对象的类(几乎总是单个实体对象),它实现了多个"Get"方法,实现了大多数复杂的查询(连接,groupBy等等),这不是一个好的模式因为类似查询的样板代码往往会增长很多,并且它的公共方法依赖于将使用此类的上下文,因此,使这些类不能用于依赖于同一数据库的多个项目,这是我的主要目标对于这个项目重构.

如何使用这两种模式实现比单个SELECT WHERE更复杂的查询,而不会将业务逻辑泄漏到存储库中?

或者,如果此业务逻辑不适合存储库,也不适用于此逻辑适合的查询对象

谢谢

c# sql design-patterns entity-framework

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

AI有公共聊天数据库吗?

我正在写一个"聊天机器人",它通过阅读真实人类聊天的集合来工作,并根据人类输入分析中最可能的答案来响应输入,但我需要大量的现实生活聊天分析.

我的个人聊天记录还不够,因为我需要更多的数据来进行概率分析

是否存在以任何形式向公众开放的现实生活聊天的公共来源?

或者,如果你不介意,你可以捐出自己的个人聊天记录吗?做科学吧!

谢谢

注意:我在开放式聊天室中发现了大量数据,人们只使用公共聊天室来编写随机内容

social chat artificial-intelligence instant-messaging

7
推荐指数
0
解决办法
2319
查看次数

ILGenerator:如何使用非托管指针?(我得到VerificationException)

我正在制作一个声音合成程序,用户可以创建自己的声音进行基于节点的合成,创建振荡器,滤波器等...

程序将节点编译成中间语言,然后通过ILGenerator和DynamicMethod转换为MSIL.

它适用于存储所有操作和数据的数组,但如果我能够使用指针允许我稍后执行一些位级操作,它会更快

PD:速度非常重要!!

我注意到一个DynamicMethod构造函数覆盖有一个方法属性,一个是UnsafeExport,但我不能使用它,因为唯一有效的组合是Public + Static

这就是我想要做的事情,它会抛出一个VerificationException :(只是为指针赋值)

//Testing delegate
unsafe delegate float TestDelegate(float* data);

//Inside the test method (wich is marked as unsafe) 

        Type ReturnType = typeof(float);
        Type[] Args = new Type[] { typeof(float*) };

        //Can't use UnamangedExport as method atribute:
        DynamicMethod M = new DynamicMethod(
            "HiThere",
            ReturnType, Args);

        ILGenerator Gen = M.GetILGenerator();

        //Set the pointer value to 7.0:
        Gen.Emit(OpCodes.Ldarg_0);
        Gen.Emit(OpCodes.Ldc_R4, 7F);
        Gen.Emit(OpCodes.Stind_R4);

        //Just return a dummy value:
        Gen.Emit(OpCodes.Ldc_R4, 20F);
        Gen.Emit(OpCodes.Ret);



        var del = (TestDelegate)M.CreateDelegate(typeof(TestDelegate));

        float* data = …
Run Code Online (Sandbox Code Playgroud)

c# pointers unsafe ilgenerator dynamicmethod

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