小编Ste*_*ins的帖子

列数太多了多少列?

我注意到这里有很多人在一个表中列出了20多个(我已经看到多达55个)列的表.现在我不假装成为数据库设计专家,但我总是听说这是一个可怕的做法.当我看到这一点时,我通常建议分成两个具有一对一关系的表:一个包含最常用的数据,另一个包含最少使用的数据.虽然同时存在性能问题(更少的JOIN等).所以我的问题是:

当谈到真正的大规模数据库时,拥有大量列实际上是否有优势,尽管这通常导致许多NULL值?

这更像是一个性能损失:很多列有很多NULL,或者有很多JOIN的列?

database database-design database-performance

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

Node.js说它无法加载sqlite3模块,但无论如何都是如此

我正在使用Visual Studio的新Node.js工具,并包含sqlite3 npm模块.当我调用require('sqlite3')它时会抛出错误:

Error: Cannot find module './binding\Debug\node-v11-win32-ia32\node_sqlite3.node'

奇怪的是,当我忽略错误并继续运行代码时,一切正常......直到我所处的函数返回; 然后服务器崩溃了.

其他人遇到过这个问题吗?我怀疑它与./binding部件有关,但不知道从哪里开始找出原因.

javascript sqlite node.js npm

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

解析从jQuery AJAX请求返回的HTML

我正在尝试做的事情似乎很简单:获取一个HTML页面$.ajax()并从中提取一个值.

$(function () {
    $.ajax({
        url: "/echo/html",
        dataType: "html",
        success: function (data) {
            $('#data').text(data);
            $('#wtf').html($(data).find('#link').text());
        },
        data: {
            html: '<!DOCTYPE html><head><title><\/title><link href="../css/popup.css" rel="stylesheet" /><\/head><body><ul><li><a id="link">content<\/a><\/li><\/ul><\/body><\/html>'
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

问题是jQuery拒绝解析返回的HTML.

拨弄我这个在打不中的平均时间工作,所以有一点我可以做,以提供一个工作的例子.

更新:我的新小提琴工作正常,但似乎问题是,在我的实际项目中,我正在尝试解析大量复杂的HTML.这是一个已知的问题吗?

html javascript ajax jquery

21
推荐指数
2
解决办法
9万
查看次数

自定义ASP.NET Identity 2.0 UserStore - 是否实现了所需的所有接口?

IUserStore<TUser,int>为我的应用程序创建了一个自定义.我已经实现了我需要的接口,

   IUserStore<TUser, int>,
   IUserRoleStore<TUser, int>,
   IUserLockoutStore<TUser, int>,
   IUserPasswordStore<TUser, int>
Run Code Online (Sandbox Code Playgroud)

但是当我打电话的时候

var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout: false);
Run Code Online (Sandbox Code Playgroud)

我得到一个例外说法

Store does not implement IUserTwoFactorStore<TUser>.
Run Code Online (Sandbox Code Playgroud)

我在我的应用程序中没有使用双因素身份验证.为什么它希望我实现该接口?是否需要实现所有这些接口,即使我实际上没有使用它们?

c# asp.net asp.net-identity-2

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

无论VSTA发生了什么?

我曾经非常感兴趣使用VSTA(Visual Studio Tools for Applications)作为我一直在研究的应用程序,但是停止了一段时间.现在,无论我看起来多么努力,我似乎​​都找不到任何新的东西.VSTA博客自2009年以来一直没有更新,并且大多数通过MSDN指南的链接都被破坏了(它们重定向到通用VS页面.)我从MSDN文章中找到了它的下载,但它将我发送到此页面,禁用下载按钮的位置.

有谁知道这个产品发生了什么?该项目是否被悄然放弃了?

vsta

11
推荐指数
1
解决办法
7729
查看次数

初始化对象数组

我目前正在开发纸牌游戏,我遇到了一些初始化代码问题:

// in my class...
Card cards[20];
// in method...
for(int i = 0; i <= 20;i++)
    cards++ = new Card(i, /*i as char +*/ "_Card.bmp");
Run Code Online (Sandbox Code Playgroud)

问题是我的编译器告诉我这cards++不是一个l值.我已经阅读了整个指针 - 数组等价的东西,我以为我理解它,但唉,我无法让它工作.我的理解是,由于cards降级为指针,并且new操作员给我一个指向我的新Card实例的位置的指针,所以上面的代码应该编译.对?

我已经使用标尝试为好,但不cards+i,cards++cards[i]刚3说同样的事情的方法呢?我认为每个都是l值,并被视为指针.

c++ arrays

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

递归AJAX调用是个坏主意吗?

我有一个简单的函数来提取模板数组:

function getTemplates(names, done, templates, index) {
    if (!index) index = 0;
    if (!templates) templates = {};
    if (index === names.length) return done(templates);
    $.ajax({
        url: '/templates/' + names[index] + '.min.html',
        success: function (data, status, xhr) {
            templates[names[index++]] = data;
                return getTemplates(names, done, templates, index);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

从一个到另一个,直到它们全部被检索,然后回调到调用函数,我似乎合乎逻辑.但我很好奇,如果这样做有任何不良副作用.到目前为止我还没有看到任何东西,但我不想在没有首先了解任何潜在问题的情况下进行生产.


更新: 在Google和BenjaminGruenbaum的帮助下,我设计了一个解决方案:

function getTemplatesAsync(names, done) {
    var calls = [];
    var templates = {};
    names.forEach(function (name, index) {
        calls.push(
            $.ajax({
                url: '/templates/' + names[index] + '.min.html',
                success: function (data, status, xhr) { …
Run Code Online (Sandbox Code Playgroud)

ajax recursion jquery promise

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

EF6 DbSet <T>在Moq中返回null

我在我的应用程序中使用DbContext(EF6)设置了典型的存储库模式:

public class MyDbContext : EFContext<MyDbContext> {

    public MyDbContext () { }

    public virtual DbSet<CartItem> Cart { get; set; }
Run Code Online (Sandbox Code Playgroud)

和一个存储库:

public class GenericEFRepository<TEntity, TContext>
    where TEntity : class, new()
    where TContext : EFContext<TContext> {

    private readonly TContext _context;

    public GenericEFRepository(TContext context) {
        _context = context;
    }
    //...
    public virtual TEntity Insert(TEntity item) {
        return _context.Set<TEntity>().Add(item);
    }
Run Code Online (Sandbox Code Playgroud)

我正在使用Moq 4.2(遵循本教程)通过创建模拟上下文来测试它:

        // Arrange
        var mockSet = new Mock<DbSet<CartItem>>();

        var mockContext = new Mock<MyDbContext>();
        mockContext.Setup(c => c.Cart).Returns(mockSet.Object);

        // Act …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing entity-framework moq entity-framework-6

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

区分手机和平板电脑浏览器

我知道这个问题被打死了,但我不想要任何超级复杂的东西.

我们的网站配有一个配套应用程序,仅与7英寸和10英寸平板电脑兼容.我们只需要提醒用户注意我们的应用.问题是,我不能通过解决方案.我的Galaxy S3有一个1280 x 720的屏幕,但显然不是平板电脑.我也不能为我的生活找到一种方法来获得屏幕的物理尺寸.我提出的唯一解决方案是检测设备是否可以拨打电话MobileCapabilities.CanInitiateVoiceCall.不幸的是,老板对这个解决方案并不满意.

那么......如何在我的网络应用程序(服务器或客户端)中区分手机和平板电脑?

更新:到目前为止,似乎Android的最佳方法来自Android团队的博客文章: 所有 Android手机都在UserAgent字符串中使用"Mobile",因此检查"Mobile"* "Android"会告诉您是否这是一部手机,而"Android"应该是平板电脑.iOS设备应该同样简单 - 检查"iPhone"与"iPad"似乎到目前为止一直有效.

javascript c# asp.net mobile webforms

7
推荐指数
1
解决办法
1974
查看次数

Web API 2 DELETE方法始终返回500

我的EmailWeb API 2控制器上有一个操作:

[Authorize]
[RoutePrefix("api/Email")]
public class EmailController : ApiController {

    //...

    [HttpDelete]
    [Route("Remove/{id}")]
    private void Remove(int id) {
        _repo.Remove(id);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我使用DELETE http://localhost:35191/api/Email/Remove/35571(或通过任何其他方法)从Fiddler调用该操作时,我得到了一个500通用的IIS错误页面,它没有提供有关错误的信息.

似乎错误发生在我的操作被调用之前,因为在操作中设置断点会导致断点永远不会被命中.

是否需要某种配置来允许DELETEIIS(Express)中的方法?

我试过DELETE在我的web.config中明确允许:

  <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
Run Code Online (Sandbox Code Playgroud)

但无济于事.

c# iis-express http-delete asp.net-web-api2

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