小编khe*_*ang的帖子

主键还是唯一索引?

在工作中,我们有一个大型数据库,具有唯一索引而不是主键,一切正常.

我正在为一个新项目设计新的数据库,我有一个两难的境地:

在DB理论中,主键是基本元素,没关系,但在REAL项目中,两者的优点和缺点是什么?

你在项目中使用了什么?

编辑: ...那么MS SQL服务器上的主键和复制呢?

sql database database-design

120
推荐指数
4
解决办法
14万
查看次数

您是以多个还是单个命名阵列?

当我命名数组类型的变量时,我常常遇到一个两难的问题:我是将数组命名为多数还是单数?

例如,假设我有一个名字数组:在PHP中我会说:$names=array("Alice","Bobby","Charles"); 但是,然后我想说我想在这个数组中引用一个名字.对于鲍比,我会说:$names[1].但是,这种接缝反直觉.我宁愿打电话给Bobby $name[1],因为Bobby只有一个名字.

所以,你可以看到一个轻微的差异.是否有命名数组的约定?

naming-conventions

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

如何异步Files.ReadAllLines并等待结果?

我有以下代码,

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        button1.IsEnabled = false;

        var s = File.ReadAllLines("Words.txt").ToList(); // my WPF app hangs here
        // do something with s

        button1.IsEnabled = true;
    }
Run Code Online (Sandbox Code Playgroud)

Words.txt有很多单词,我读入s变量,我试图利用C#5中的asyncawait关键字,Async CTP Library所以WPF应用程序不会挂起.到目前为止,我有以下代码,

    private async void button1_Click(object sender, RoutedEventArgs e)
    {
        button1.IsEnabled = false;

        Task<string[]> ws = Task.Factory.FromAsync<string[]>(
            // What do i have here? there are so many overloads
            ); // is this the right way to do?

        var s = await File.ReadAllLines("Words.txt").ToList(); …
Run Code Online (Sandbox Code Playgroud)

.net c# asynchronous async-await c#-5.0

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

向一个元素添加多个事件侦听器

所以我的困境是我不想两次编写相同的代码.一次为click事件,另一次为touchstart事件.

这是原始代码:

document.getElementById('first').addEventListener('touchstart', function(event) {
    do_something();
    });

document.getElementById('first').addEventListener('click', function(event) {
    do_something(); 
    });
Run Code Online (Sandbox Code Playgroud)

我该怎么压缩这个?有一个更简单的方法!

html javascript dom-events

39
推荐指数
5
解决办法
8万
查看次数

Magento部署的最佳实践

我正在寻找一个高度定制的Magento网站的部署过程,并想知道其他人如何做到这一点.

我将设置dev,UAT和prod环境.所有Magento文件都将在源代码管理(SVN)中.在这个阶段,我看不到更改数据库的任何要求,因此将手动维护3个数据库.

特别,

  • 你如何申请Magento升级?(单独在每个环境中,或者在dev上然后推出,或者只是放弃升级?)
  • 在每个环境中单独保留哪些文件/文件夹(例如magento/app/etc/local.xml)
  • 您是否限制开发人员编辑特定文件/文件夹?
  • 您是否限制主题设计者编辑特定文件/文件夹?
  • 您如何管理数据库更改?

主题设计器文件/文件夹

设计师可以限制编辑以下文件夹 -

app/design/frontend/your_interface/your_theme/layout/
app/design/frontend/your_interface/your_theme/template/
app/design/frontend/your_interface/your_theme/locale/
skin/frontend/your_interface/your_theme/
Run Code Online (Sandbox Code Playgroud)

扩展开发者文件/文件夹

扩展开发人员可以编辑以下文件夹/文件 -

/app/code/local
/app/etc/modules/<Namespace>_<Module>.xml
Run Code Online (Sandbox Code Playgroud)

数据库环境管理

由于商店的基本URL存储在数据库中,因此您不能只在环境之间复制数据库.选项包括 -

deployment magento

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

PyLint最佳实践?

pyLint看起来像是运行python代码分析的好工具.但是,我们的主要目标是捕获任何潜在的错误而不是编码约定.启用所有pyLint检查似乎会产生很多噪音.关于你使用的一组pyLint功能的任何建议是否有效?

python static-analysis pylint

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

scriptcs hosting - 优于Roslyn的优势

如果我想支持脚本在我的应用程序,确实scriptcs只是用普通的香草在提供任何特别的优势罗斯林脚本引擎?

roslyn scriptcs

24
推荐指数
1
解决办法
3157
查看次数

ASP.Net MVC样式包不包括大多数文件

最近,我的一个项目的本地副本完全失去了它的大部分样式.我花了一些时间才弄明白,因为大多数样式都是在一个文件中完成的,其余的都是像Kendo和jQuery UI这样的小东西.

其他的小东西没有添加到页面中.我认为这些样式已经被其他开发人员修改过了(暂时还没有触及过这个项目),他们只测试了Web API的东西而不是UI,所以他可能会破坏它并且从来不知道,但我追查了这个问题:只有site.css文件被包含在包中而没有包含在其他文件中.我甚至尝试重新排列捆绑包中包含的CSS文件的顺序,它只包括site.css.

我重建了项目,清理了缓存等,所以肯定看到了变化.我记得最近更新了一些NuGet包或VS包或者其他东西 - 甚至可能是MVC包?

我的问题是:有什么改变导致这种情况发生吗?是什么导致了这个?

编辑:代码来自BundleConfig.cs:

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new StyleBundle("~/Content/css").Include(
            "~/Content/site.css",
            "~/Content/themes/kendo/kendo.common.min.css",
            "~/Content/themes/kendo/kendo.default.min.css",
            "~/Content/themes/base/minified/jquery.ui.core.min.css",
            "~/Content/themes/base/minified/jquery.ui.resizable.min.css",
            "~/Content/themes/base/minified/jquery.ui.selectable.min.css",
            "~/Content/themes/base/minified/jquery.ui.accordion.min.css",
            "~/Content/themes/base/minified/jquery.ui.autocomplete.min.css",
            "~/Content/themes/base/minified/jquery.ui.button.min.css",
            "~/Content/themes/base/minified/jquery.ui.dialog.min.css",
            "~/Content/themes/base/minified/jquery.ui.slider.min.css",
            "~/Content/themes/base/minified/jquery.ui.tabs.min.css",
            "~/Content/themes/base/minified/jquery.ui.datepicker.min.css",
            "~/Content/themes/base/minified/jquery.ui.progressbar.min.css",
            "~/Content/themes/base/minified/jquery.ui.theme.min.css"));
}
Run Code Online (Sandbox Code Playgroud)

代码来自_Layout.cshtml:

@Styles.Render("~/Content/themes/base/css", "~/Content/css")
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc bundling-and-minification

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

ASP.NET中的无缝部署(IIS在新工作进程准备好之前杀死工作进程)

我正在尝试将.NET Web应用程序部署到IIS(7.5),而不会给用户带来任何麻烦.我确保禁用重叠回收是错误的,但我每次都遇到同样的问题.

每次我为站点上传新的二进制文件时,IIS都会在启动新进程之前终止该进程.所以每次上传新的二进制文件时,用户都会收到以下错误消息:

'/'应用程序中的服务器错误.无法加载文件或程序集"MyApplicationWeb"或其依赖项之一.该进程无法访问该文件,因为该文件正由另一个进程使用.(HRESULT异常:0x80070020)

我不知道如何无缝地做到这一点.现在我只是上传二进制文件; 但是当上传发生时(或本地副本),它将给出上述引用的行为.我也尝试使用Web园,但结果相同.

我不想要的:

  • 如何使用外部负载平衡器来解决这个问题(这是一个功能性的解决方案,但对于少数服务器而言,这是一个糟糕的解决方案,如果只有一台服务器,它将无法工作)
  • 如何在自定义错误页面中创建一个带有刷新的hack-around(因为它有一些明显的问题,但更重要的是它根本不适用于web服务/ ajax).

我认为这应该是可行的,因为http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/24e3c22e-79a9-4f07-a407-dbd0e7f35432.mspx?mfr=true

更新:在上面的文章中他们说:

但是,由于关闭或启动的关闭超时值是可配置的,因此如果工作进程在时间限制内未完成为现有请求提供服务,则它仍可在服务请求时终止.

我不知道在哪里可以找到这个值,也不知道它是什么默认值.如果它少于几秒钟就可以解释我的结果.

PS.我发布它是在SO而不是SF /网站管理员等,因为我认为这种知识可能在那些不积极参与开发的人中很少,我希望这是可以的.

asp.net deployment iis worker-process

13
推荐指数
1
解决办法
4743
查看次数

OWIN为多个路由发送静态文件

我正在制作一个位于ASP.Net WebAPI之上的SPA.我正在等待使用HTML5历史记录而不是#/历史路由,但是这会给深度链接带来问题,我需要确保/并且/foo/bar都返回相同的HTML文件(我的JS将呈现SPA的正确部分).

如何让OWIN/Katana为多个不同的网址返回相同的HTML文件?

c# single-page-application owin katana

12
推荐指数
1
解决办法
4051
查看次数